Esempio n. 1
0
 public override void MakeEffects(ActionEffects effects)
 {
     effects.InitEffects.Add(new BulletInitEffect());
     effects.InitEffects.Add(new SetMotionEffect());
     effects.InitEffects.Add(new InitCountEffect());
     effects.UpdateEffects.Add(new IncreaseCountEffect());
     effects.SegmentFinishEffects.AddEffectToList(effects.SegmentCount, new ReleaseActorEffect());
     foreach (var e in Entries)
     {
         e.MakeEffects(effects);
     }
 }
Esempio n. 2
0
 public override void MakeEffects(ActionEffects effects)
 {
     effects.UpdateEffects.Add(new FilteredEffect
     {
         Filter = new AnimationCountAfterFilter {
             Count = new ConstValue {
                 Value = Tick
             }
         },
         Effect = new ReleaseActorEffect(),
     });
 }
        public override void MakeEffects(ActionEffects effects)
        {
            var effect = new SetActorMemberEffect
            {
                Type  = ActorMemberType.vy,
                Value = new ConstValue {
                    Value = -Speed
                },
            };

            Time.MakeEffects(effects, effect);
        }
Esempio n. 4
0
    public Pat()
    {
        ActionName       = "Cafuné";
        ActionDesc       = "Um gentil cafuné, pode causar sono";
        ActionID         = 3;
        ActionPower      = 1;
        StunPower        = 1;
        ActionCost       = 0;
        ActionCritChance = 5;

        ActionEffects.Add(new SleepStatus());

        StatAffinity = StatCalc.StatType.SORTE;
    }
Esempio n. 5
0
 public override void MakeEffects(ActionEffects effects)
 {
     foreach (var i in Segments.IndexList)
     {
         if (Priority == EffectBehaviorPriority.First)
         {
             effects.SegmentStartEffects.InsertEffectToList(i, Effect);
         }
         else if (Priority == EffectBehaviorPriority.Last)
         {
             effects.SegmentStartEffects.AddEffectToList(i, Effect);
         }
     }
 }
 public override void MakeEffects(ActionEffects effects)
 {
     effects.InitEffects.Add(new Effects.PlayerSkillInitEffect
     {
         AutoCancel = AutoCancel,
         IsInAir    = false,
     });
     effects.UpdateEffects.Effects.Add(new Effects.IncreaseCountEffect());
     effects.SegmentFinishEffects.AddEffectToList(effects.SegmentCount - 1,
                                                  new Effects.PlayerEndToFreeMoveEffect());
     if (ResetHit)
     {
         effects.InitEffects.Add(Effects.ResetHitEffect.Instance);
     }
 }
 public override void MakeEffects(ActionEffects effects)
 {
     if (ReduceInitialSpeedX.HasValue)
     {
         effects.InitEffects.Add(new SetActorMemberEffect
         {
             Type  = ActorMemberType.vx,
             Value = new BinaryExpressionValue
             {
                 Operator = BinaryOperator.Multiply,
                 Left     = new ActorMemberValue {
                     Type = ActorMemberType.vx
                 },
                 Right = new ConstValue {
                     Value = ReduceInitialSpeedX.Value
                 },
             },
         });
     }
     if (ReduceInitialSpeedY.HasValue)
     {
         effects.InitEffects.Add(new SetActorMemberEffect
         {
             Type  = ActorMemberType.vy,
             Value = new BinaryExpressionValue
             {
                 Operator = BinaryOperator.Multiply,
                 Left     = new ActorMemberValue {
                     Type = ActorMemberType.vy
                 },
                 Right = new ConstValue {
                     Value = ReduceInitialSpeedY.Value
                 },
             },
         });
     }
     if (InitialGravity.HasValue)
     {
         effects.InitEffects.Add(new GravityEffect
         {
             Value = InitialGravity.Value,
         });
     }
     foreach (var e in Entries)
     {
         e.MakeEffects(effects);
     }
 }
        public override void MakeEffects(ActionEffects effects)
        {
            if (Value == 0)
            {
                return;
            }
            var e = MakeValue();

            if (CheckAfter.HasValue)
            {
                var sle = new SimpleListEffect();
                sle.EffectList.Add(e);
                sle.EffectList.Add(MakeCheckAfter());
                e = sle;
            }
            if (CheckBefore.HasValue)
            {
                e = MakeCheckBefore(e);
            }
            Time.MakeEffects(effects, e);
        }
Esempio n. 9
0
        public override void MakeEffects(ActionEffects effects)
        {
            var effectFiltered = new SimpleListEffect();

            effectFiltered.EffectList.Effects.AddRange(Segments.IndexList.Select(x =>
                                                                                 (Effect) new FilteredEffect
            {
                Filter = new Effects.AnimationSegmentFilter {
                    Segment = x
                },
                Effect = Effect,
            }));
            if (Priority == EffectBehaviorPriority.First)
            {
                effects.UpdateEffects.Insert(0, effectFiltered);
            }
            else if (Priority == EffectBehaviorPriority.Last)
            {
                effects.InitEffects.Add(effectFiltered);
            }
        }
Esempio n. 10
0
        public override void MakeEffects(ActionEffects dest, Effect effect)
        {
            var interval = new ConstValue {
                Value = Interval
            };

            dest.UpdateEffects.Add(new FilteredEffect()
            {
                Filter = new SimpleListFilter(
                    new Effects.AnimationSegmentFilter {
                    Segment = Segment
                },
                    new Effects.AnimationCountModFilter {
                    Divisor = interval, Mod = new ConstValue {
                        Value = 0
                    }
                }
                    ),
                Effect = effect,
            });
        }
        public override void MakeEffects(ActionEffects effects)
        {
            var breakEffect = new SimpleListEffect();

            breakEffect.EffectList.Add(new Effects.AnimationContinueEffect());
            var filter = new SimpleListFilter();

            filter.FilterList.Add(new Effects.AnimationSegmentFilter {
                Segment = Segment
            });
            filter.FilterList.Add(new Effects.AnimationCountAfterFilter {
                Count = new ConstValue {
                    Value = Tick
                }
            });
            if (KeyReleased)
            {
                filter.FilterList.Add(new Effects.PlayerKeyReleasedFilter());
            }
            effects.UpdateEffects.Add(new FilteredEffect {
                Filter = filter, Effect = breakEffect
            });
        }
Esempio n. 12
0
        public override void MakeEffects(ActionEffects effects)
        {
            var rx = new ConstValue {
                Value = RatioX
            };
            var ry = RatioY.HasValue ? new ConstValue {
                Value = RatioY.Value
            } : rx;
            var e = new SimpleListEffect();

            e.EffectList.Add(new SetActorMemberEffect
            {
                Type  = ActorMemberType.sx,
                Value = new BinaryExpressionValue
                {
                    Operator = BinaryOperator.Multiply,
                    Left     = new ActorMemberValue {
                        Type = ActorMemberType.sx
                    },
                    Right = rx,
                },
            });
            e.EffectList.Add(new SetActorMemberEffect
            {
                Type  = ActorMemberType.sy,
                Value = new BinaryExpressionValue
                {
                    Operator = BinaryOperator.Multiply,
                    Left     = new ActorMemberValue {
                        Type = ActorMemberType.sy
                    },
                    Right = ry,
                },
            });
            effects.UpdateEffects.Add(e);
        }
 public override void MakeEffects(ActionEffects effects)
 {
     effects.InitEffects.Add(new Effects.PlayerSkillInitEffect
     {
         AutoCancel = AutoCancel,
         IsInAir    = true,
     });
     effects.UpdateEffects.Effects.Add(new IncreaseCountEffect());
     effects.SegmentFinishEffects.AddEffectToList(effects.SegmentCount - 1,
                                                  new PlayerEndToFreeMoveEffect());
     if (SitCancelSegment.HasValue)
     {
         effects.SegmentStartEffects.AddEffectToList(SitCancelSegment.Value,
                                                     new SetLabelEffect
         {
             Label  = Simulation.ActorLabelType.Sit,
             Effect = PlayerBeginSitEffect.Instance,
         });
     }
     if (ResetHit)
     {
         effects.InitEffects.Add(ResetHitEffect.Instance);
     }
 }
Esempio n. 14
0
 public override void MakeEffects(ActionEffects dest, Effect effect)
 {
     dest.SegmentFinishEffects.AddEffectToList(Segment, effect);
 }
Esempio n. 15
0
 public override void MakeEffects(ActionEffects dest, Effect effect)
 {
     dest.InitEffects.Add(effect);
 }
Esempio n. 16
0
 public abstract void MakeEffects(ActionEffects dest, Effect effect);
Esempio n. 17
0
 public override void MakeEffects(ActionEffects effects)
 {
     Time.MakeEffects(effects, Effect);
 }
 public override void MakeEffects(ActionEffects effects)
 {
     SegmentSelectorHelper.MakeEffectsAsUpdate(effects, Segments, GetEffect());
 }
 public abstract void MakeEffects(ActionEffects effects);