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());
        }