public Mods(string _toon) { toon = _toon; std = new Buffables(); buffs = new Buffables(); adj = new Buffables(); stdDervs = new Derivatives(); adjDervs = new Derivatives(); delta = new Derivatives(); magicDict = null; manaDict = null; runemagicDict = null; oneuseDict = null; hitlocDict = null; miscMods = new Dictionary <string, string>(); }
public void UpdateDerivatives(Derivatives derv) { derv.Communication = ROUND(INT - 10 + MINOR(POW) + MINOR(APP)); derv.Agility = ROUND(DEX - SIZ + MINOR(STR)); derv.Manipulation = ROUND(DEX + INT + MINOR(STR) - 20); derv.Stealth = DEX + 10 - SIZ - POW; derv.Knowledge = INT - 10; derv.Alchemy = INT + POW + DEX - 40; derv.Perception = ROUND(INT - 10 + MINOR(POW) + MINOR(CON)); derv.Magic = ROUND(POW + INT + MINOR(DEX) - 20); derv.Attack = derv.Manipulation; derv.Parry = derv.Agility; derv.Life = (SIZ + CON + 1) / 2; derv.Mysticism = ROUND(POW / 6.0) + 20 - INT; derv.AnySchoolCasting = INT + ROUND((derv.Mysticism + derv.Magic) / 2); derv.Endurance = STR + CON; // note some people get SIZ/6 but that's an orlanthi thing, ignoring it for buff purposes derv.DexSRM = Math.Max(0, SRM + (DEX < 10 ? 4 : DEX < 16 ? 3 : DEX < 20 ? 2 : 1)); derv.Damage = DamageBonus(1); derv.DoubleDamage = DamageBonus(2); }