private static SpellValue GetVariable(ref SpellRecord spellRecord, string name) { switch (name) { case "a1": return spellRecord.Effect1Radius; case "a2": return spellRecord.Effect2Radius; case "a3": return spellRecord.Effect3Radius; case "b1": return spellRecord.Effect1ProcChance; case "b2": return spellRecord.Effect2ProcChance; case "b3": return spellRecord.Effect3ProcChance; case "e1": return spellRecord.Effect1ProcValue; case "e2": return spellRecord.Effect2ProcValue; case "e3": return spellRecord.Effect3ProcValue; case "f1": return spellRecord.Effect1DamageMultiplier; case "f2": return spellRecord.Effect2DamageMultiplier; case "f3": return spellRecord.Effect3DamageMultiplier; case "h": return spellRecord.ProcChance; case "i": return spellRecord.MaxTargets; case "m1": return 0; case "M1": return 0; case "m2": return 0; case "M2": return 0; case "m3": return 0; case "M3": return 0; case "n": return spellRecord.ProcCharges; case "o1": return 0; case "o2": return 0; case "o3": return 0; case "q1": return spellRecord.Effect1MiscValue1; case "q2": return spellRecord.Effect2MiscValue1; case "q3": return spellRecord.Effect3MiscValue1; case "r": return 0; case "R": return 0; case "s1": return 0; case "S1": return 0; case "s2": return 0; case "S2": return 0; case "s3": return 0; case "S3": return 0; case "t1": return spellRecord.Effect1Amplitude; case "t2": return spellRecord.Effect2Amplitude; case "t3": return spellRecord.Effect3Amplitude; case "u": return spellRecord.MaxStacks; case "v": return spellRecord.MaxTargetLevel; case "x1": return spellRecord.Effect1ChainTarget; case "x2": return spellRecord.Effect2ChainTarget; case "x3": return spellRecord.Effect3ChainTarget; default: throw new Exception("Unsupported variable: " + name); ; } }
private static SpellValue GetVariable(SpellRecord spellRecord, string name) { return GetVariable(ref spellRecord, name); }