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; } }
protected BaseWeaponScript(BattleCalculator v, CalcAttackBonus bonus) { _v = v; _bonus = bonus; }