internal static PermanentPetRecord CreatePermanentPetRecord(NPCEntry entry, uint ownerId) { PermanentPetRecord defaultPetRecord = CreateDefaultPetRecord <PermanentPetRecord>(entry, ownerId); defaultPetRecord.PetNumber = (uint)PetNumberGenerator.Next(); defaultPetRecord.IsDirty = true; return(defaultPetRecord); }
public static void DeStablePet(Character chr, NPC stableMaster, uint petNumber) { if (!CheckForStableMasterCheats(chr, stableMaster)) { return; } PermanentPetRecord stabledPet = chr.GetStabledPet(petNumber); chr.DeStablePet(stabledPet); PetHandler.SendStableResult(chr, StableResult.DeStableSuccess); }
public static void SwapStabledPet(Character chr, NPC stableMaster, uint petNumber) { if (!CheckForStableMasterCheats(chr, stableMaster)) { return; } NPC activePet = chr.ActivePet; PermanentPetRecord stabledPet = chr.GetStabledPet(petNumber); if (activePet.Health == 0) { PetHandler.SendStableResult(chr, StableResult.Fail); } else if (!chr.TrySwapStabledPet(stabledPet)) { PetHandler.SendStableResult(chr, StableResult.Fail); } else { PetHandler.SendStableResult(chr, StableResult.DeStableSuccess); } }