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"); } } }
private void CheckShieldPointsRepair() { if (LastCombatTime.AddSeconds(10) >= DateTime.Now || lastShieldRepairTime.AddSeconds(1) >= DateTime.Now || CurrentShieldPoints == MaxShieldPoints) { return; } int repairShield = MaxShieldPoints / 25; CurrentShieldPoints += repairShield; UpdateStatus(); lastShieldRepairTime = DateTime.Now; }
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"); } } }
public bool IsNigga(Character n***a) => n***a.Controller.Active && n***a.Controller.Attack.Attacking && n***a.Selected == this && LastCombatTime.AddSeconds(2) > DateTime.Now;