public int CalcAllElementDamage(IObject attacker, IObject defender) { int result; if (!(attacker is GameClient) && !(attacker is Robot)) { result = 0; } else if (!(defender is GameClient) && !(defender is Robot) && !(defender is Monster)) { result = 0; } else { double dmgAddPercent = PassiveEffectManager.GetPassiveEffectAddPercent(attacker, 4, 1); double dmgSubPercent = PassiveEffectManager.GetPassiveEffectAddPercent(defender, 5, 2); double penetAddPercent = PassiveEffectManager.GetPassiveEffectAddPercent(attacker, 4, 3); int nElementInjure = 0; for (int i = 1; i <= 6; i++) { nElementInjure += this.CalcElementDamage(attacker, defender, (EElementDamageType)i, dmgAddPercent, dmgSubPercent, penetAddPercent); } result = nElementInjure; } return(result); }
public string CalcElementInjureLog(IObject attacker, IObject defender, double injurePercent) { StringBuilder sb = new StringBuilder(); double dmgAddPercent = PassiveEffectManager.GetPassiveEffectAddPercent(attacker, 4, 1); double dmgSubPercent = PassiveEffectManager.GetPassiveEffectAddPercent(defender, 5, 2); double penetAddPercent = PassiveEffectManager.GetPassiveEffectAddPercent(attacker, 4, 3); for (int i = 1; i <= 6; i++) { double nElementInjure = (double)this.CalcElementDamage(attacker, defender, (EElementDamageType)i, dmgAddPercent, dmgSubPercent, penetAddPercent) * injurePercent; sb.AppendFormat("{0}:{1} ", ElementsAttackManager.ElementAttrName[i], nElementInjure); } return(sb.ToString()); }