public BankBox(Mobile owner) : base(0xE41) { Layer = Layer.Bank; Movable = false; m_Owner = owner; m_Freeze = new FreezeTimer(this); m_Freeze.Start(); }
public RunStatus PetLogic() { Log("Freezing the Target"); Lua.DoString("CastPetAction(4)"); Thread.Sleep(600); LegacySpellManager.ClickRemoteLocation(Me.CurrentTarget.Location); FreezeTimer.Reset(); FreezeTimer.Start(); return(RunStatus.Success); }
public Composite Freeze() { return(new Decorator(ret => Me.CurrentTarget != null && Me.GotAlivePet && AmplifySettings.Instance.Freeze && Me.CurrentTarget.Distance > 10 && Me.CurrentTarget.HealthPercent >= 20 && PetActionReady && !Me.CurrentTarget.HasAura("Frost Nova") && !WillChain(0, Me.CurrentTarget.Location), new Sequence( new Action(ret => Log("Casting Freeze")), new Action(ret => Lua.DoString("CastPetAction(4)")), new Action(ret => FreezeTimer.Reset()), new Action(ret => FreezeTimer.Start()), new Action(ret => Thread.Sleep(300)), new Action(ret => LegacySpellManager.ClickRemoteLocation(Me.CurrentTarget.Location))) )); }
public override void OnRehydrate() { if (CanFreezeDry) { if (m_Freeze != null && m_Freeze.Running) return; m_Freeze = new FreezeTimer(this); m_Freeze.Start(); } }
public override void CancelFreezeTimer() { if (m_Freeze != null) { m_Freeze.Stop(); m_Freeze = null; } }
// Adam: called from heartbeat only // nobody should be scheduling freezes before the heartbeat timer (called after startup.) public override bool ScheduleFreeze() { // Adam: create a FreezeDry timer if this container is not already freeze dried if (this.IsFreezeDried == false && this.CanFreezeDry == true) { m_Freeze = new FreezeTimer(this); m_Freeze.Start(); return true; } else { try { // nobody should be scheduling freezes before the heartbeat timer (called after startup.) if (m_Freeze != null) throw (new ApplicationException("m_Freeze != null")); } catch (Exception ex) { EventSink.InvokeLogException(new LogExceptionEventArgs(ex)); } return false; } }