Пример #1
0
 /// <summary>
 /// 敵のAIにそって自動で行動する
 /// </summary>
 /// <param name="actionEnemy">行動する敵キャラ</param>
 private void EnemyAction(BattleCharacter actionEnemy)
 {
     if (!actionEnemy.EC.HaveSpecialAI)
     {
         List <BattleActiveSkill> useableSkill = new List <BattleActiveSkill>();
         foreach (E_BattleActiveSkill skillID in actionEnemy.EC.HaveBattleActtiveSkillID)
         {
             BattleActiveSkill skill = this.activeEffectFuncs.GetBattleActiveSkill(skillID);
             if (actionEnemy.Bsp >= skill.NeedBattleSkillPoint)
             {
                 if (skill.EffectType != E_BattleActiveEffectType.HP回復 || BattleMethod.GetLowerHpChara(this.enemyList, 0.5) != null)
                 {
                     useableSkill.Add(this.activeEffectFuncs.GetBattleActiveSkill(skillID));
                 }
             }
         }
         int action = UnityEngine.Random.Range(0, useableSkill.Count + 1);
         if (action == useableSkill.Count)
         {   //通常攻撃
             if (actionEnemy.NormalAttackToAllTurn > 0)
             {
                 NormalAttack(actionEnemy, GetAliveList(this.allyList));
             }
             else if (GetAttractingCharacter(actionEnemy.Element, this.allyList) != null)
             {
                 NormalAttack(actionEnemy, GetAttractingCharacter(actionEnemy.Element, this.allyList));
             }
             else
             {
                 NormalAttack(actionEnemy, ListManager.GetRandomIndex <BattleCharacter>(GetAliveList(this.allyList)));
             }
         }
         else
         {
             InvokeEffect(actionEnemy, useableSkill[action]); //スキル発動
         }
     }
     else
     {
         //特殊な処理
         actionEnemy.EC.EnemyAI.EnemyActionFunc(this.enemyList, this.allyList, actionEnemy, this.activeEffectFuncs);
         AdvanceTurn();
     }
 }
Пример #2
0
 public virtual void SkillFunc(BattleCharacter invoker, List <BattleCharacter> target, BattleActiveSkill skill)
 {
 }
Пример #3
0
 public override void SkillFunc(BattleCharacter invoker, List <BattleCharacter> target, BattleActiveSkill skill)
 {
     Debug.Log(invoker.CharaClass.CharaName + "のその他のスキル発動");
     Debug.Log("スキルの説明:" + skill.Description);
 }