[Code] EvolvingItemsManager Global to Singleton Cleanup

This commit is contained in:
Kinglykrab
2025-06-20 21:49:11 -04:00
parent 1be7e56b86
commit 038c260707
12 changed files with 46 additions and 48 deletions
+13 -13
View File
@@ -92,7 +92,7 @@ void Client::ProcessEvolvingItem(const uint64 exp, const Mob *mob)
continue;
}
if (!evolving_items_manager.GetEvolvingItemsCache().contains(inst->GetID())) {
if (!EvolvingItemsManager::Instance()->GetEvolvingItemsCache().contains(inst->GetID())) {
LogEvolveItem(
"Character ID {} has an evolving item that is not found in the db. Please check your "
"items_evolving_details table for item id {}",
@@ -102,8 +102,8 @@ void Client::ProcessEvolvingItem(const uint64 exp, const Mob *mob)
continue;
}
auto const type = evolving_items_manager.GetEvolvingItemsCache().at(inst->GetID()).type;
auto const sub_type = evolving_items_manager.GetEvolvingItemsCache().at(inst->GetID()).sub_type;
auto const type = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(inst->GetID()).type;
auto const sub_type = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(inst->GetID()).sub_type;
LogEvolveItemDetail(
"CharacterID <green>[{}] item id <green>[{}] type {} sub_type {} is Evolving. Continue processing...",
@@ -301,7 +301,7 @@ void Client::DoEvolveItemDisplayFinalResult(const EQApplicationPacket *app)
"Character ID <green>[{}] requested to view final evolve item id <yellow>[{}] for evolve item id <yellow>[{}]",
CharacterID(),
item_id,
evolving_items_manager.GetFirstItemInLoreGroupByItemID(item_id)
EvolvingItemsManager::Instance()->GetFirstItemInLoreGroupByItemID(item_id)
);
inst->SetEvolveProgression(100);
@@ -322,7 +322,7 @@ bool Client::DoEvolveCheckProgression(EQ::ItemInstance &inst)
return false;
}
const auto new_item_id = evolving_items_manager.GetNextEvolveItemID(inst);
const auto new_item_id = EvolvingItemsManager::Instance()->GetNextEvolveItemID(inst);
if (!new_item_id) {
return false;
}
@@ -380,12 +380,12 @@ bool Client::DoEvolveCheckProgression(EQ::ItemInstance &inst)
PlayerEvent::EvolveItem e{};
RemoveItemBySerialNumber(inst.GetSerialNumber());
evolving_items_manager.LoadPlayerEvent(inst, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(inst, e);
e.status = "Evolved Item due to obtaining progression - Old Evolve Item removed from inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
PushItemOnCursor(*new_inst, true);
evolving_items_manager.LoadPlayerEvent(*new_inst, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(*new_inst, e);
e.status = "Evolved Item due to obtaining progression - New Evolve Item placed in inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
@@ -430,7 +430,7 @@ void Client::SendEvolveXPWindowDetails(const EQApplicationPacket *app)
return;
}
const auto results = evolving_items_manager.DetermineTransferResults(*inst_from, *inst_to);
const auto results = EvolvingItemsManager::Instance()->DetermineTransferResults(*inst_from, *inst_to);
if (!results.item_from_id || !results.item_to_id) {
SendEvolveTransferResults(*inst_from, *inst_to, *inst_from, *inst_to, 0, 0);
@@ -475,7 +475,7 @@ void Client::DoEvolveTransferXP(const EQApplicationPacket *app)
return;
}
const auto results = evolving_items_manager.DetermineTransferResults(*inst_from, *inst_to);
const auto results = EvolvingItemsManager::Instance()->DetermineTransferResults(*inst_from, *inst_to);
if (!results.item_from_id || !results.item_to_id) {
Message(Chat::Red, "Transfer Failed. Incompatible Items.");
@@ -500,22 +500,22 @@ void Client::DoEvolveTransferXP(const EQApplicationPacket *app)
PlayerEvent::EvolveItem e{};
RemoveItemBySerialNumber(inst_from->GetSerialNumber());
evolving_items_manager.LoadPlayerEvent(*inst_from, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(*inst_from, e);
e.status = "Transfer XP - Original FROM Evolve Item removed from inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
PushItemOnCursor(*inst_from_new, true);
evolving_items_manager.LoadPlayerEvent(*inst_from_new, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(*inst_from_new, e);
e.status = "Transfer XP - Updated FROM item placed in inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
RemoveItemBySerialNumber(inst_to->GetSerialNumber());
evolving_items_manager.LoadPlayerEvent(*inst_to, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(*inst_to, e);
e.status = "Transfer XP - Original TO Evolve Item removed from inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
PushItemOnCursor(*inst_to_new, true);
evolving_items_manager.LoadPlayerEvent(*inst_to_new, e);
EvolvingItemsManager::Instance()->LoadPlayerEvent(*inst_to_new, e);
e.status = "Transfer XP - Updated TO Evolve item placed in inventory.";
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
+2 -2
View File
@@ -33,7 +33,7 @@ void command_evolvingitems(Client *c, const Seperator *sep)
continue;
}
auto item = evolving_items_manager.GetEvolvingItemsCache().at(value->GetID());
auto item = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(value->GetID());
c->Message(
Chat::Yellow,
fmt::format(
@@ -126,7 +126,7 @@ void command_evolvingitems(Client *c, const Seperator *sep)
continue;
}
auto item = evolving_items_manager.GetEvolvingItemsCache().at(value->GetID());
auto item = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(value->GetID());
c->Message(
Chat::Yellow,
fmt::format(
+3 -3
View File
@@ -1037,7 +1037,7 @@ bool Client::PushItemOnCursor(const EQ::ItemInstance& inst, bool client_update)
{
LogInventory("Putting item [{}] ([{}]) on the cursor", inst.GetItem()->Name, inst.GetItem()->ID);
evolving_items_manager.DoLootChecks(CharacterID(), EQ::invslot::slotCursor, inst);
EvolvingItemsManager::Instance()->DoLootChecks(CharacterID(), EQ::invslot::slotCursor, inst);
m_inv.PushCursor(inst);
if (client_update) {
@@ -1059,7 +1059,7 @@ bool Client::PutItemInInventory(int16 slot_id, const EQ::ItemInstance& inst, boo
return PushItemOnCursor(inst, client_update);
}
evolving_items_manager.DoLootChecks(CharacterID(), slot_id, inst);
EvolvingItemsManager::Instance()->DoLootChecks(CharacterID(), slot_id, inst);
m_inv.PutItem(slot_id, inst);
if (client_update)
@@ -1087,7 +1087,7 @@ void Client::PutLootInInventory(int16 slot_id, const EQ::ItemInstance &inst, Loo
bool cursor_empty = m_inv.CursorEmpty();
evolving_items_manager.DoLootChecks(CharacterID(), slot_id, inst);
EvolvingItemsManager::Instance()->DoLootChecks(CharacterID(), slot_id, inst);
if (slot_id == EQ::invslot::slotCursor) {
m_inv.PushCursor(inst);
+3 -4
View File
@@ -111,7 +111,6 @@ PathManager path;
PlayerEventLogs player_event_logs;
DatabaseUpdate database_update;
SkillCaps skill_caps;
EvolvingItemsManager evolving_items_manager;
const SPDat_Spell_Struct* spells;
int32 SPDAT_RECORDS = -1;
@@ -400,9 +399,9 @@ int main(int argc, char **argv)
content_db.LoadTributes();
// Load evolving item data
evolving_items_manager.SetDatabase(&database);
evolving_items_manager.SetContentDatabase(&content_db);
evolving_items_manager.LoadEvolvingItems();
EvolvingItemsManager::Instance()->SetDatabase(&database);
EvolvingItemsManager::Instance()->SetContentDatabase(&content_db);
EvolvingItemsManager::Instance()->LoadEvolvingItems();
database.GetDecayTimes(npcCorpseDecayTimes);