public void Tick(Pawn pawn) { if (effecter == null) { effecter = def.Spawn(); } effecter.EffectTick(pawn, null); }
public override void StanceTick() { if (sustainer != null && !sustainer.Ended) { sustainer.Maintain(); } effecter?.EffectTick(verb.Caster, focusTarg.ToTargetInfo(verb.Caster.Map)); if (!targetStartedDowned && focusTarg.HasThing && focusTarg.Thing is Pawn && ((Pawn)focusTarg.Thing).Downed) { stanceTracker.SetStance(new Stance_Mobile()); return; } if (focusTarg.HasThing && (!focusTarg.Thing.Spawned || verb == null || !verb.CanHitTargetFrom(base.Pawn.Position, focusTarg))) { stanceTracker.SetStance(new Stance_Mobile()); return; } if (focusTarg == base.Pawn.mindState.enemyTarget) { base.Pawn.mindState.Notify_EngagedTarget(); } base.StanceTick(); }