public int GetTotal(EffectEnum effectType)
{
int total = 0;
if (m_effects.ContainsKey(effectType))
total += m_effects[effectType].Total;
switch (effectType)
{
case EffectEnum.AddAPDodge:
case EffectEnum.AddMPDodge:
total += GetTotal(EffectEnum.AddWisdom) / 4;
break;
case EffectEnum.AddAP:
total += GetTotal(EffectEnum.AddAPBis);
break;
case EffectEnum.AddMP:
total += GetTotal(EffectEnum.MPBonus);
break;
}
if (OppositeStats.ContainsKey(effectType))
foreach (EffectEnum OppositeEffect in OppositeStats[effectType])
if (m_effects.ContainsKey(OppositeEffect))
total -= m_effects[OppositeEffect].Total;
return total;
}