void doDamage(ref Magic magic) { List <Point> point = magicCore.getPoint(); List <Move> route = magicCore.getRoute(); //统计伤害值 int pStart = magic.magicRoute[0]; int pEnd = magic.magicRoute[1]; int atk = 0; for (int i = pStart; i <= pEnd; ++i) { atk += point[route[i].pEnd].MaxMagic; } atk = (int)Mathf.Ceil(atk * (magic.skill.power + magic.skill.addpower)) + (int)magic.skill.basic + (int)magic.skill.addbasic; magic.Damage = atk; int allcount = magic.skill.count + magic.skill.addcount; if (magic.skill.skillType == SkillType.singleE) { magicCore.doAttackToMonster(magic.target, allcount, (int)atk); } else if (magic.skill.skillType == SkillType.allE) { magicCore.doAOEToMonster(allcount, (int)atk); } else if (magic.skill.skillType == SkillType.randomE) { magicCore.doRandomToMonster(allcount, (int)atk); } }
/// <summary> /// 边格挡发生时,给与怪物防御值的伤害,如果怪物死亡,回复全部魔力 /// </summary> /// <param name="sorce"></param> void doFireRoad(Defen defen) { //防御怪物攻击时,给与节点魔力5倍的伤害,如果怪物死亡,回复全部魔力 if (defen.plID > 0 && defen.plID < magic.getPoint().Count) { magic.doAttackToMonster(defen.sorce, 1, 5 * magic.getPoint(defen.plID).MaxMagic); if (!magic.isMonsterLive(defen.sorce)) { magic.getPoint(defen.plID).magic = magic.getPoint(defen.plID).MaxMagic; } } }
void doDamage(ref Magic magic) { //统计伤害值 int allcount = magic.skill.count + magic.skill.addcount; if (magic.skill.skillType == SkillType.singleE) { magicCore.doAttackToMonster(magic.target, allcount, (int)magic.Damage); } else if (magic.skill.skillType == SkillType.allE) { magicCore.doAOEToMonster(allcount, (int)magic.Damage); } else if (magic.skill.skillType == SkillType.randomE) { magicCore.doRandomToMonster(allcount, (int)magic.Damage); } }