コード例 #1
0
ファイル: Action.cs プロジェクト: BantamJoe/UnityTactics
    public static int Mod5(Element element, int spellPower, CombatUnit caster, CombatUnit target)
    {
        int   damage = 0;
        float frac   = 1;
        int   xa     = caster.MA;

        // Caster Elemental Strengthen

        // Caster Magic Up

        // Target Magic Defend Up

        // Target Shell

        // Caster+Target Zodiac
        xa = ZodiacCompatibility.Modify(xa, caster, target);

        // Caster/Target Faith status

        // Weather Elemental effect

        // Target Elemental Weakness

        // Target Elemental Half

        // Target Elemental Absorb

        damage = (int)(caster.Faith * target.Faith * spellPower * xa * frac / 10000f);

        return(damage);
    }
コード例 #2
0
ファイル: Action.cs プロジェクト: BantamJoe/UnityTactics
    public static int Mod2(int xa, bool critical, Element element, CombatUnit caster, CombatUnit target, string action)
    {
        // Critical
        if (critical)
        {
            xa += UnityEngine.Random.Range(1, (xa - 1));
        }

        // Caster Elemental Strengthen

        // Caster Attack Up support

        // Caster Martial Arts

        // Caster Berserk

        // Target Defense Up

        // Target Protect

        // Target Charging

        // Target Sleeping

        // Target Chicken/Frog

        // Caster+Target Zodiac
        xa = ZodiacCompatibility.Modify(xa, caster, target);

        int damage = (int)Type.GetType("Formulas").GetMethod(action).Invoke(null, new object[] { xa, caster });

        // Target Elemental Weak

        // Target Elemental Halved

        // Target Elemental Absorb

        return(damage);
    }
コード例 #3
0
ファイル: Zodiac.cs プロジェクト: BantamJoe/UnityTactics
    public static int Modify(int xa, CombatUnit a, CombatUnit b)
    {
        Compatibility compat = ZodiacCompatibility.Compare(a, b);

        if (compat == Compatibility.Best)
        {
            xa += xa / 2;
        }
        else if (compat == Compatibility.Good)
        {
            xa += xa / 4;
        }
        else if (compat == Compatibility.Bad)
        {
            xa -= xa / 4;
        }
        else if (compat == Compatibility.Worst)
        {
            xa -= xa / 2;
        }
        return(xa);
    }