protected IPropertyIndexer GetBonusCategory(GameLiving target, int categoryid) { IPropertyIndexer bonuscat = null; switch (categoryid) { case (int)eBuffBonusCategory.BaseBuff: bonuscat = target.BaseBuffBonusCategory; break; case (int)eBuffBonusCategory.SpecBuff: bonuscat = target.SpecBuffBonusCategory; break; case (int)eBuffBonusCategory.Debuff: bonuscat = target.DebuffCategory; break; case (int)eBuffBonusCategory.Other: bonuscat = target.BuffBonusCategory4; break; default: if (log.IsErrorEnabled) { log.Error("BonusCategory not found " + categoryid + "!"); } break; } return(bonuscat); }
private void DisableEffect(GameSpellEffect effect) { if (m_concEffects[effect] == null) { return; // already disabled } m_concEffects[effect] = null; IPropertyIndexer bonuscat = GetBonusCategory(effect.Owner, BonusCategory1); bonuscat[(int)Property1] -= (int)(Spell.Value * effect.Effectiveness); }