Exemple #1
0
        public void action(IBattleable actioner, BattleTask task)
        {
            if (ActiveSkillSupporter.canUseAffectSkill(actioner, task.getTargets(), this))
            {
                return;
            }

            observer.used();
            setBounsToCharacter(task.getTargets());
            actioner.minusMp(cost);
        }
Exemple #2
0
        public void action(IBattleable actioner, BattleTask task)
        {
            if (!ActiveSkillSupporter.canUseAffectSkill(actioner, task.getTargets(), this))
            {
                return;
            }

            attack(actioner, task.getTargets());

            actioner.minusMp(this.cost);

            observer.used();
        }
Exemple #3
0
        /// <summary>
        /// 最大射程を算出します
        /// </summary>
        /// <returns> 最大射程 </returns>
        /// <param name="user"> スキルを使用するIBattleableオブジェクト </param>
        private int calculateMaxRange(IBattleable user)
        {
            int maxRange = 0;
            var keys     = skillSet.Keys;

            foreach (ActiveSkillCategory category in keys)
            {
                if (ActiveSkillSupporter.isAffectSkill(skillSet [category]))
                {
                    int skillRange = ActiveSkillSupporter.searchRange(skillSet[category], user);
                    if (skillRange > maxRange)
                    {
                        maxRange = skillRange;
                    }
                }
            }
            return(maxRange);
        }