public void Deactivate(bool direct = false, bool destroyed = false) { if (Activated) { if (LastCombatTime.AddSeconds(10) < DateTime.Now || direct) { if (destroyed) { Owner.SendPacket("0|A|STM|msg_pet_is_dead"); CurrentHitPoints = 1000; CurrentShieldPoints = 0; UpdateStatus(); } else { Owner.SendPacket("0|A|STM|msg_pet_deactivated"); } Owner.SendPacket("0|PET|D"); Activated = false; InRangeCharacters.Clear(); Spacemap.RemoveCharacter(this); Program.TickManager.RemoveTick(this); } else { Owner.SendPacket("0|A|STM|msg_pet_in_combat"); } } }
public void Deactivate(bool direct = false, bool destroyed = false) { if (Activated) { if (LastCombatTime.AddSeconds(10) < DateTime.Now || direct) { Owner.SendPacket("0|PET|D"); if (destroyed) { Owner.Settings.InGameSettings.petDestroyed = true; QueryManager.SavePlayer.Settings(Owner, "inGameSettings", Owner.Settings.InGameSettings); Owner.SendPacket("0|PET|Z"); CurrentShieldPoints = 0; UpdateStatus(); Owner.SendCommand(PetInitializationCommand.write(true, true, false)); Owner.SendCommand(PetUIRepairButtonCommand.write(true, 250)); } else { Owner.SendPacket("0|A|STM|msg_pet_deactivated"); } Activated = false; Deselection(); Spacemap.RemoveCharacter(this); InRangeCharacters.Clear(); Program.TickManager.RemoveTick(this); } else { Owner.SendPacket("0|A|STM|msg_pet_in_combat"); } } }