public override IEnumerable <EngineTick> Perform(IFighterStats actor, IFighterStats target, EngineCalculationValues calculationValues)
        {
            var movedBySkill = new FighterMovedByAttackTick()
            {
                Current = target.AsStruct(),
                Fighter = actor.AsStruct(),
                Target  = target.AsStruct(),
            };

            target.Set(actor.CalculatePullPosition(target, 14));

            movedBySkill.Next = target.AsStruct();

            return(movedBySkill.Yield());
        }
Ejemplo n.º 2
0
        public static FighterMovedByAttackTick ApplyMove(this IFighterStats target, IFighterStats actor, IPosition newPosition)
        {
            var movedBySkill = new FighterMovedByAttackTick()
            {
                Current = target.AsStruct(),
                Fighter = actor.AsStruct(),
                Target  = target.AsStruct(),
            };

            target.Set(newPosition);

            movedBySkill.Next = target.AsStruct();

            return(movedBySkill);
        }
Ejemplo n.º 3
0
 public static void Handle(this FighterMovedByAttackTick tick, Dictionary <Guid, IFighterStats> fighters)
 {
     fighters[tick.Target.Id].Set(tick.Next);
 }