Beispiel #1
0
        private static void ActionSequence(Character activePlayer, Character reactivePlayer, BaseAction activePlayerAction, List <ActionStep> steps)
        {
            steps.Add(new ActionStep {
                Author = activePlayer, StepMessage = activePlayer.Name.ToString() + ":look-at"
            });


            var damage = activePlayerAction.Power;

            var step = new ActionStep
            {
                Author      = activePlayer,
                StepMessage = activePlayer.Name.ToString() + ":hit",
                ActionRef   = activePlayerAction,
                StepType    = ActionStepType.Attack
            };

            step.Run = delegate()
            {
                if (BattleHelper.CheckAttackRange(activePlayer.Position, reactivePlayer.Position, activePlayerAction.MinRange, activePlayerAction.MaxRange))
                {
                    reactivePlayer.HP -= damage;
                }

                activePlayer.Position = activePlayerAction.MoveTo;
            };

            steps.Add(step);
        }
Beispiel #2
0
 public bool OnRange(int oponentPosition)
 {
     return(BattleHelper.CheckAttackRange(this.Author.Position, oponentPosition, this.ActionRef.MinRange, this.ActionRef.MaxRange));
 }