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); } }
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); }
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; }
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); }
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); } }
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 }); }
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); } }
public override void MakeEffects(ActionEffects dest, Effect effect) { dest.SegmentFinishEffects.AddEffectToList(Segment, effect); }
public override void MakeEffects(ActionEffects dest, Effect effect) { dest.InitEffects.Add(effect); }
public abstract void MakeEffects(ActionEffects dest, Effect effect);
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);