From 9d4c568596fbfe911f0edb0a92d75b175ad900af Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 11 May 2015 18:23:43 +0200 Subject: Core/Garrisons: Added more building checks and implemented canceling building construction --- src/server/game/Handlers/GarrisonHandler.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/server/game/Handlers/GarrisonHandler.cpp') diff --git a/src/server/game/Handlers/GarrisonHandler.cpp b/src/server/game/Handlers/GarrisonHandler.cpp index 0b45fb0ab57..54c7f4242fd 100644 --- a/src/server/game/Handlers/GarrisonHandler.cpp +++ b/src/server/game/Handlers/GarrisonHandler.cpp @@ -34,6 +34,15 @@ void WorldSession::HandleGarrisonPurchaseBuilding(WorldPackets::Garrison::Garris garrison->PlaceBuilding(garrisonPurchaseBuilding.PlotInstanceID, garrisonPurchaseBuilding.BuildingID); } +void WorldSession::HandleGarrisonCancelConstruction(WorldPackets::Garrison::GarrisonCancelConstruction& garrisonCancelConstruction) +{ + if (!_player->GetNPCIfCanInteractWith(garrisonCancelConstruction.NpcGUID, UNIT_NPC_FLAG_GARRISON_ARCHITECT)) + return; + + if (Garrison* garrison = _player->GetGarrison()) + garrison->CancelBuildingConstruction(garrisonCancelConstruction.PlotInstanceID); +} + void WorldSession::HandleGarrisonRequestBlueprintAndSpecializationData(WorldPackets::Garrison::GarrisonRequestBlueprintAndSpecializationData& /*garrisonRequestBlueprintAndSpecializationData*/) { if (Garrison* garrison = _player->GetGarrison()) -- cgit v1.2.3