Esempio n. 1
0
        public void WeaponPhisicalParams(CalcAttackBonus bonus)
        {
            Int32 baseDamage = Comn.random16() % (1 + (Caster.Level + Caster.Strength >> 3));

            Context.AttackPower = Caster.WeaponPower;
            Target.SetPhisicalDefense();
            switch (bonus)
            {
            case CalcAttackBonus.Simple:
                Context.Attack = (Int16)(Caster.Strength + baseDamage);
                break;

            case CalcAttackBonus.WillPower:
                Context.Attack = (Int16)((Caster.Strength + Caster.Will >> 1) + baseDamage);
                break;

            case CalcAttackBonus.Dexterity:
                Context.Attack = (Int16)((Caster.Strength + Caster.Data.elem.dex >> 1) + baseDamage);
                break;

            case CalcAttackBonus.Magic:
                Context.Attack = (Int16)((Caster.Strength + Caster.Data.elem.mgc >> 1) + baseDamage);
                break;

            case CalcAttackBonus.Random:
                Context.Attack = (Int16)(Comn.random16() % Caster.Strength + baseDamage);
                break;

            case CalcAttackBonus.Level:
                Context.AttackPower += Caster.Data.level;
                Context.Attack       = (Int16)(Caster.Strength + baseDamage);
                break;
            }
        }
Esempio n. 2
0
 protected BaseWeaponScript(BattleCalculator v, CalcAttackBonus bonus)
 {
     _v     = v;
     _bonus = bonus;
 }