#include "TreasureChestDragonServer.h" #include "ScriptedActivityComponent.h" #include "TeamManager.h" #include "EntityManager.h" #include "Loot.h" void TreasureChestDragonServer::OnStartup(Entity* self) { } void TreasureChestDragonServer::OnUse(Entity* self, Entity* user) { if (self->GetVar(u"bUsed")) { return; } self->SetVar(u"bUsed", true); auto scriptedActivityComponent = self->GetComponent(); if (scriptedActivityComponent == nullptr) { return; } auto rating = 1; auto* team = TeamManager::Instance()->GetTeam(user->GetObjectID()); if (team != nullptr) { rating = team->members.size(); for (const auto member : team->members) { auto* memberObject = EntityManager::Instance()->GetEntity(member); if (memberObject == nullptr) continue; LootGenerator::Instance().DropActivityLoot(memberObject, self, scriptedActivityComponent->GetActivityID(), rating); } } else { LootGenerator::Instance().DropActivityLoot(user, self, scriptedActivityComponent->GetActivityID(), rating); } self->Smash(self->GetObjectID()); }