示例#1
0
        public BankBox(Mobile owner)
            : base(0xE41)
        {
            Layer   = Layer.Bank;
            Movable = false;
            m_Owner = owner;

            m_Freeze = new FreezeTimer(this);
            m_Freeze.Start();
        }
示例#2
0
        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)))
                          ));
 }
示例#4
0
		public BankBox(Mobile owner)
			: base(0xE41)
		{
			Layer = Layer.Bank;
			Movable = false;
			m_Owner = owner;

			m_Freeze = new FreezeTimer(this);
			m_Freeze.Start();
		}
示例#5
0
		public override void OnRehydrate()
		{
			if (CanFreezeDry)
			{
				if (m_Freeze != null && m_Freeze.Running)
					return;

				m_Freeze = new FreezeTimer(this);
				m_Freeze.Start();
			}
		}
示例#6
0
		public override void CancelFreezeTimer()
		{
			if (m_Freeze != null)
			{
				m_Freeze.Stop();
				m_Freeze = null;
			}
		}
示例#7
0
		// 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;
			}
		}