bool InitTamedPet(Pet pet, uint level, uint spell_id) { pet.SetCreatorGUID(GetGUID()); pet.SetFaction(GetFaction()); pet.SetCreatedBySpell(spell_id); if (IsTypeId(TypeId.Player)) { pet.AddUnitFlag(UnitFlags.PvpAttackable); } if (!pet.InitStatsForLevel(level)) { Log.outError(LogFilter.Unit, "Pet:InitStatsForLevel() failed for creature (Entry: {0})!", pet.GetEntry()); return(false); } PhasingHandler.InheritPhaseShift(pet, this); pet.GetCharmInfo().SetPetNumber(Global.ObjectMgr.GeneratePetNumber(), true); // this enables pet details window (Shift+P) pet.InitPetCreateSpells(); pet.SetFullHealth(); return(true); }