コード例 #1
0
ファイル: Skill.cs プロジェクト: rabiribi/RouteOfTheMagic
    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);
        }
    }
コード例 #2
0
 /// <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;
         }
     }
 }
コード例 #3
0
ファイル: Skill.cs プロジェクト: OneFiveChen/RouteOfTheMagic
    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);
        }
    }