diff --git a/Source/Framework/Constants/GossipConst.cs b/Source/Framework/Constants/GossipConst.cs index b35c36ef5..1d1bddc74 100644 --- a/Source/Framework/Constants/GossipConst.cs +++ b/Source/Framework/Constants/GossipConst.cs @@ -39,6 +39,7 @@ namespace Framework.Constants Unlearnpettalents_Old = 17, // deprecated Learndualspec = 18, //Unit_Npc_Flag_Trainer (16) (Bonus Option For Trainer) Outdoorpvp = 19, //Added By Code (Option For Outdoor Pvp Creatures) + Transmogrifier = 20, //UNIT_NPC_FLAG_TRANSMOGRIFIER Max } diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index ef47f800f..f09269eac 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -2366,6 +2366,7 @@ namespace Game.Entities case GossipOption.Petitioner: case GossipOption.Tabarddesigner: case GossipOption.Auctioneer: + case GossipOption.Transmogrifier: break; // no checks case GossipOption.Outdoorpvp: if (!Global.OutdoorPvPMgr.CanTalkTo(this, creature, menuItems)) @@ -2573,6 +2574,9 @@ namespace Game.Entities Global.BattlegroundMgr.SendBattlegroundList(this, guid, bgTypeId); break; } + case GossipOption.Transmogrifier: + GetSession().SendOpenTransmogrifier(guid); + break; } ModifyMoney(-cost); diff --git a/Source/Game/Handlers/TransmogrificationHandler.cs b/Source/Game/Handlers/TransmogrificationHandler.cs index f51f95ea2..652cbcd76 100644 --- a/Source/Game/Handlers/TransmogrificationHandler.cs +++ b/Source/Game/Handlers/TransmogrificationHandler.cs @@ -291,5 +291,10 @@ namespace Game } } } + + public void SendOpenTransmogrifier(ObjectGuid guid) + { + SendPacket(new OpenTransmogrifier(guid)); + } } } diff --git a/Source/Game/Network/Packets/TransmogrificationPackets.cs b/Source/Game/Network/Packets/TransmogrificationPackets.cs index a04859429..d4bc5bdb1 100644 --- a/Source/Game/Network/Packets/TransmogrificationPackets.cs +++ b/Source/Game/Network/Packets/TransmogrificationPackets.cs @@ -64,6 +64,21 @@ namespace Game.Network.Packets public List FavoriteAppearances = new List(); } + class OpenTransmogrifier : ServerPacket + { + public OpenTransmogrifier(ObjectGuid guid) : base(ServerOpcodes.OpenTransmogrifier, ConnectionType.Instance) + { + Guid = guid; + } + + public override void Write() + { + _worldPacket.WritePackedGuid(Guid); + } + + ObjectGuid Guid; + } + struct TransmogrifyItem { public void Read(WorldPacket data)