From 7d40585211438ef91fe88231cedb957d305a5efd Mon Sep 17 00:00:00 2001 From: Jett <55758076+Jettford@users.noreply.github.com> Date: Fri, 24 Dec 2021 01:14:15 +0000 Subject: [PATCH] Test frakjaw fix --- dScripts/MinigameTreasureChestServer.cpp | 16 +++++++++++++--- dScripts/MinigameTreasureChestServer.h | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/dScripts/MinigameTreasureChestServer.cpp b/dScripts/MinigameTreasureChestServer.cpp index 8f89de54..ff32b527 100644 --- a/dScripts/MinigameTreasureChestServer.cpp +++ b/dScripts/MinigameTreasureChestServer.cpp @@ -18,14 +18,24 @@ void MinigameTreasureChestServer::OnUse(Entity *self, Entity *user) { UpdatePlayer(self, user->GetObjectID()); auto* team = TeamManager::Instance()->GetTeam(user->GetObjectID()); + uint32_t activityRating = 0; if (team != nullptr) { for (const auto& teamMemberID : team->members) { auto* teamMember = EntityManager::Instance()->GetEntity(teamMemberID); - if (teamMember != nullptr) - LootGenerator::Instance().DropActivityLoot(teamMember, self, sac->GetActivityID(), CalculateActivityRating(self, teamMemberID)); + if (teamMember != nullptr) { + activityRating = CalculateActivityRating(self, teamMemberID); + + if (self->GetLOT() == frakjawChestId) activityRating = team->members.size(); + + LootGenerator::Instance().DropActivityLoot(teamMember, self, sac->GetActivityID(), activityRating); + } } } else { - LootGenerator::Instance().DropActivityLoot(user, self, sac->GetActivityID(), CalculateActivityRating(self, user->GetObjectID())); + activityRating = CalculateActivityRating(self, user->GetObjectID()); + + if (self->GetLOT() == frakjawChestId) activityRating = 1; + + LootGenerator::Instance().DropActivityLoot(user, self, sac->GetActivityID(), activityRating); } sac->PlayerRemove(user->GetObjectID()); diff --git a/dScripts/MinigameTreasureChestServer.h b/dScripts/MinigameTreasureChestServer.h index f2cd4328..c718f016 100644 --- a/dScripts/MinigameTreasureChestServer.h +++ b/dScripts/MinigameTreasureChestServer.h @@ -2,7 +2,10 @@ #include "ActivityManager.h" class MinigameTreasureChestServer : public ActivityManager { +public: void OnStartup(Entity* self) override; void OnUse(Entity* self, Entity* user) override; uint32_t CalculateActivityRating(Entity *self, LWOOBJID playerID) override; +private: + const uint32_t frakjawChestId = 16486; };