mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 10:31:29 +00:00
[Code] EvolvingItemsManager Global to Singleton Cleanup (#4929)
Co-authored-by: Chris Miles <akkadius1@gmail.com>
This commit is contained in:
parent
1e6a4dac78
commit
128732e05d
@ -40,7 +40,6 @@
|
|||||||
|
|
||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
EvolvingItemsManager evolving_items_manager;
|
|
||||||
|
|
||||||
void ExportSpells(SharedDatabase *db);
|
void ExportSpells(SharedDatabase *db);
|
||||||
void ExportSkillCaps(SharedDatabase *db);
|
void ExportSkillCaps(SharedDatabase *db);
|
||||||
|
|||||||
@ -34,7 +34,6 @@
|
|||||||
|
|
||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
EvolvingItemsManager evolving_items_manager;
|
|
||||||
|
|
||||||
void ImportSpells(SharedDatabase *db);
|
void ImportSpells(SharedDatabase *db);
|
||||||
void ImportSkillCaps(SharedDatabase *db);
|
void ImportSkillCaps(SharedDatabase *db);
|
||||||
|
|||||||
@ -21,8 +21,8 @@ void EvolvingItemsManager::LoadEvolvingItems() const
|
|||||||
results.begin(),
|
results.begin(),
|
||||||
results.end(),
|
results.end(),
|
||||||
std::inserter(
|
std::inserter(
|
||||||
evolving_items_manager.GetEvolvingItemsCache(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache(),
|
||||||
evolving_items_manager.GetEvolvingItemsCache().end()
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().end()
|
||||||
),
|
),
|
||||||
[](const ItemsEvolvingDetailsRepository::ItemsEvolvingDetails &x) {
|
[](const ItemsEvolvingDetailsRepository::ItemsEvolvingDetails &x) {
|
||||||
return std::make_pair(x.item_id, x);
|
return std::make_pair(x.item_id, x);
|
||||||
@ -42,13 +42,13 @@ void EvolvingItemsManager::SetContentDatabase(Database *db)
|
|||||||
|
|
||||||
double EvolvingItemsManager::CalculateProgression(const uint64 current_amount, const uint32 item_id)
|
double EvolvingItemsManager::CalculateProgression(const uint64 current_amount, const uint32 item_id)
|
||||||
{
|
{
|
||||||
if (!evolving_items_manager.GetEvolvingItemsCache().contains(item_id)) {
|
if (!EvolvingItemsManager::Instance()->GetEvolvingItemsCache().contains(item_id)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return evolving_items_manager.GetEvolvingItemsCache().at(item_id).required_amount > 0
|
return EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(item_id).required_amount > 0
|
||||||
? static_cast<double>(current_amount)
|
? static_cast<double>(current_amount)
|
||||||
/ static_cast<double>(evolving_items_manager.GetEvolvingItemsCache().at(item_id).required_amount) * 100
|
/ static_cast<double>(EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(item_id).required_amount) * 100
|
||||||
: 0;
|
: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ void EvolvingItemsManager::DoLootChecks(const uint32 char_id, const uint16 slot_
|
|||||||
e.character_id = char_id;
|
e.character_id = char_id;
|
||||||
e.item_id = inst.GetID();
|
e.item_id = inst.GetID();
|
||||||
e.equipped = inst.GetEvolveEquipped();
|
e.equipped = inst.GetEvolveEquipped();
|
||||||
e.final_item_id = evolving_items_manager.GetFinalItemID(inst);
|
e.final_item_id = EvolvingItemsManager::Instance()->GetFinalItemID(inst);
|
||||||
|
|
||||||
auto r = CharacterEvolvingItemsRepository::InsertOne(*m_db, e);
|
auto r = CharacterEvolvingItemsRepository::InsertOne(*m_db, e);
|
||||||
e.id = r.id;
|
e.id = r.id;
|
||||||
@ -96,20 +96,20 @@ uint32 EvolvingItemsManager::GetFinalItemID(const EQ::ItemInstance &inst) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
const auto start_iterator = std::ranges::find_if(
|
const auto start_iterator = std::ranges::find_if(
|
||||||
evolving_items_manager.GetEvolvingItemsCache().cbegin(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().cbegin(),
|
||||||
evolving_items_manager.GetEvolvingItemsCache().cend(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().cend(),
|
||||||
[&](const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a) {
|
[&](const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a) {
|
||||||
return a.second.item_evo_id == inst.GetEvolveLoreID();
|
return a.second.item_evo_id == inst.GetEvolveLoreID();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
if (start_iterator == std::end(evolving_items_manager.GetEvolvingItemsCache())) {
|
if (start_iterator == std::end(EvolvingItemsManager::Instance()->GetEvolvingItemsCache())) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto final_id = std::ranges::max_element(
|
const auto final_id = std::ranges::max_element(
|
||||||
start_iterator,
|
start_iterator,
|
||||||
evolving_items_manager.GetEvolvingItemsCache().cend(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().cend(),
|
||||||
[&](
|
[&](
|
||||||
const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a,
|
const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a,
|
||||||
const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &b
|
const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &b
|
||||||
@ -131,15 +131,15 @@ uint32 EvolvingItemsManager::GetNextEvolveItemID(const EQ::ItemInstance &inst) c
|
|||||||
int8 const current_level = inst.GetEvolveLvl();
|
int8 const current_level = inst.GetEvolveLvl();
|
||||||
|
|
||||||
const auto iterator = std::ranges::find_if(
|
const auto iterator = std::ranges::find_if(
|
||||||
evolving_items_manager.GetEvolvingItemsCache().cbegin(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().cbegin(),
|
||||||
evolving_items_manager.GetEvolvingItemsCache().cend(),
|
EvolvingItemsManager::Instance()->GetEvolvingItemsCache().cend(),
|
||||||
[&](const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a) {
|
[&](const std::pair<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> &a) {
|
||||||
return a.second.item_evo_id == inst.GetEvolveLoreID() &&
|
return a.second.item_evo_id == inst.GetEvolveLoreID() &&
|
||||||
a.second.item_evolve_level == current_level + 1;
|
a.second.item_evolve_level == current_level + 1;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
if (iterator == std::end(evolving_items_manager.GetEvolvingItemsCache())) {
|
if (iterator == std::end(EvolvingItemsManager::Instance()->GetEvolvingItemsCache())) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -255,8 +255,8 @@ EvolveTransfer EvolvingItemsManager::DetermineTransferResults(
|
|||||||
return ets;
|
return ets;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto evolving_details_inst_from = evolving_items_manager.GetEvolveItemDetails(inst_from.GetID());
|
auto evolving_details_inst_from = EvolvingItemsManager::Instance()->GetEvolveItemDetails(inst_from.GetID());
|
||||||
auto evolving_details_inst_to = evolving_items_manager.GetEvolveItemDetails(inst_to.GetID());
|
auto evolving_details_inst_to = EvolvingItemsManager::Instance()->GetEvolveItemDetails(inst_to.GetID());
|
||||||
|
|
||||||
if (!evolving_details_inst_from.id || !evolving_details_inst_to.id) {
|
if (!evolving_details_inst_from.id || !evolving_details_inst_to.id) {
|
||||||
return ets;
|
return ets;
|
||||||
@ -272,10 +272,10 @@ EvolveTransfer EvolvingItemsManager::DetermineTransferResults(
|
|||||||
compatibility = 30;
|
compatibility = 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
xp = evolving_items_manager.GetTotalEarnedXP(inst_from) * compatibility / 100;
|
xp = EvolvingItemsManager::Instance()->GetTotalEarnedXP(inst_from) * compatibility / 100;
|
||||||
auto results = evolving_items_manager.GetNextItemByXP(inst_to, xp);
|
auto results = EvolvingItemsManager::Instance()->GetNextItemByXP(inst_to, xp);
|
||||||
|
|
||||||
ets.item_from_id = evolving_items_manager.GetFirstItemInLoreGroup(inst_from.GetEvolveLoreID());
|
ets.item_from_id = EvolvingItemsManager::Instance()->GetFirstItemInLoreGroup(inst_from.GetEvolveLoreID());
|
||||||
ets.item_from_current_amount = results.from_current_amount;
|
ets.item_from_current_amount = results.from_current_amount;
|
||||||
ets.item_to_id = results.new_item_id;
|
ets.item_to_id = results.new_item_id;
|
||||||
ets.item_to_current_amount = results.new_current_amount;
|
ets.item_to_current_amount = results.new_current_amount;
|
||||||
|
|||||||
@ -56,12 +56,15 @@ public:
|
|||||||
std::map<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails>& GetEvolvingItemsCache() { return m_evolving_items_cache; }
|
std::map<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails>& GetEvolvingItemsCache() { return m_evolving_items_cache; }
|
||||||
std::vector<ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> GetEvolveIDItems(uint32 evolve_id);
|
std::vector<ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> GetEvolveIDItems(uint32 evolve_id);
|
||||||
|
|
||||||
|
static EvolvingItemsManager* Instance()
|
||||||
|
{
|
||||||
|
static EvolvingItemsManager instance;
|
||||||
|
return &instance;
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
std::map<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> m_evolving_items_cache;
|
std::map<uint32, ItemsEvolvingDetailsRepository::ItemsEvolvingDetails> m_evolving_items_cache;
|
||||||
Database * m_db;
|
Database * m_db;
|
||||||
Database * m_content_db;
|
Database * m_content_db;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EvolvingItemsManager evolving_items_manager;
|
|
||||||
|
|
||||||
#endif //EVOLVING_H
|
#endif //EVOLVING_H
|
||||||
|
|||||||
@ -335,7 +335,7 @@ namespace EQ
|
|||||||
void SetEvolveAddToCurrentAmount(const uint64 in) const { m_evolving_details.current_amount += in; }
|
void SetEvolveAddToCurrentAmount(const uint64 in) const { m_evolving_details.current_amount += in; }
|
||||||
void SetEvolveFinalItemID(const uint32 in) const { m_evolving_details.final_item_id = in; }
|
void SetEvolveFinalItemID(const uint32 in) const { m_evolving_details.final_item_id = in; }
|
||||||
bool TransferOwnership(Database& db, const uint32 to_char_id) const;
|
bool TransferOwnership(Database& db, const uint32 to_char_id) const;
|
||||||
void CalculateEvolveProgression() const { m_evolving_details.progression = evolving_items_manager.CalculateProgression(GetEvolveCurrentAmount(), GetID()); }
|
void CalculateEvolveProgression() const { m_evolving_details.progression = EvolvingItemsManager::Instance()->CalculateProgression(GetEvolveCurrentAmount(), GetID()); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//////////////////////////
|
//////////////////////////
|
||||||
|
|||||||
@ -824,7 +824,7 @@ bool SharedDatabase::GetInventory(Client *c)
|
|||||||
e.character_id = char_id;
|
e.character_id = char_id;
|
||||||
e.item_id = item_id;
|
e.item_id = item_id;
|
||||||
e.equipped = inst->GetEvolveEquipped();
|
e.equipped = inst->GetEvolveEquipped();
|
||||||
e.final_item_id = evolving_items_manager.GetFinalItemID(*inst);
|
e.final_item_id = EvolvingItemsManager::Instance()->GetFinalItemID(*inst);
|
||||||
|
|
||||||
auto r = CharacterEvolvingItemsRepository::InsertOne(*this, e);
|
auto r = CharacterEvolvingItemsRepository::InsertOne(*this, e);
|
||||||
e.id = r.id;
|
e.id = r.id;
|
||||||
|
|||||||
@ -37,7 +37,6 @@
|
|||||||
|
|
||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
EvolvingItemsManager evolving_items_manager;
|
|
||||||
|
|
||||||
#ifdef _WINDOWS
|
#ifdef _WINDOWS
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
|
|||||||
@ -110,7 +110,6 @@ const WorldConfig *Config;
|
|||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
WebInterfaceList web_interface;
|
WebInterfaceList web_interface;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
EvolvingItemsManager evolving_items_manager;
|
|
||||||
|
|
||||||
void CatchSignal(int sig_num);
|
void CatchSignal(int sig_num);
|
||||||
|
|
||||||
|
|||||||
@ -92,7 +92,7 @@ void Client::ProcessEvolvingItem(const uint64 exp, const Mob *mob)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!evolving_items_manager.GetEvolvingItemsCache().contains(inst->GetID())) {
|
if (!EvolvingItemsManager::Instance()->GetEvolvingItemsCache().contains(inst->GetID())) {
|
||||||
LogEvolveItem(
|
LogEvolveItem(
|
||||||
"Character ID {} has an evolving item that is not found in the db. Please check your "
|
"Character ID {} has an evolving item that is not found in the db. Please check your "
|
||||||
"items_evolving_details table for item id {}",
|
"items_evolving_details table for item id {}",
|
||||||
@ -102,8 +102,8 @@ void Client::ProcessEvolvingItem(const uint64 exp, const Mob *mob)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto const type = evolving_items_manager.GetEvolvingItemsCache().at(inst->GetID()).type;
|
auto const type = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(inst->GetID()).type;
|
||||||
auto const sub_type = evolving_items_manager.GetEvolvingItemsCache().at(inst->GetID()).sub_type;
|
auto const sub_type = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(inst->GetID()).sub_type;
|
||||||
|
|
||||||
LogEvolveItemDetail(
|
LogEvolveItemDetail(
|
||||||
"CharacterID <green>[{}] item id <green>[{}] type {} sub_type {} is Evolving. Continue processing...",
|
"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>[{}]",
|
"Character ID <green>[{}] requested to view final evolve item id <yellow>[{}] for evolve item id <yellow>[{}]",
|
||||||
CharacterID(),
|
CharacterID(),
|
||||||
item_id,
|
item_id,
|
||||||
evolving_items_manager.GetFirstItemInLoreGroupByItemID(item_id)
|
EvolvingItemsManager::Instance()->GetFirstItemInLoreGroupByItemID(item_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
inst->SetEvolveProgression(100);
|
inst->SetEvolveProgression(100);
|
||||||
@ -322,7 +322,7 @@ bool Client::DoEvolveCheckProgression(EQ::ItemInstance &inst)
|
|||||||
return false;
|
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) {
|
if (!new_item_id) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -387,12 +387,12 @@ bool Client::DoEvolveCheckProgression(EQ::ItemInstance &inst)
|
|||||||
PlayerEvent::EvolveItem e{};
|
PlayerEvent::EvolveItem e{};
|
||||||
|
|
||||||
RemoveItemBySerialNumber(inst.GetSerialNumber());
|
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.";
|
e.status = "Evolved Item due to obtaining progression - Old Evolve Item removed from inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
PushItemOnCursor(*new_inst, true);
|
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.";
|
e.status = "Evolved Item due to obtaining progression - New Evolve Item placed in inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
@ -437,7 +437,7 @@ void Client::SendEvolveXPWindowDetails(const EQApplicationPacket *app)
|
|||||||
return;
|
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) {
|
if (!results.item_from_id || !results.item_to_id) {
|
||||||
SendEvolveTransferResults(*inst_from, *inst_to, *inst_from, *inst_to, 0, 0);
|
SendEvolveTransferResults(*inst_from, *inst_to, *inst_from, *inst_to, 0, 0);
|
||||||
@ -482,7 +482,7 @@ void Client::DoEvolveTransferXP(const EQApplicationPacket *app)
|
|||||||
return;
|
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) {
|
if (!results.item_from_id || !results.item_to_id) {
|
||||||
Message(Chat::Red, "Transfer Failed. Incompatible Items.");
|
Message(Chat::Red, "Transfer Failed. Incompatible Items.");
|
||||||
@ -507,22 +507,22 @@ void Client::DoEvolveTransferXP(const EQApplicationPacket *app)
|
|||||||
PlayerEvent::EvolveItem e{};
|
PlayerEvent::EvolveItem e{};
|
||||||
|
|
||||||
RemoveItemBySerialNumber(inst_from->GetSerialNumber());
|
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.";
|
e.status = "Transfer XP - Original FROM Evolve Item removed from inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
PushItemOnCursor(*inst_from_new, true);
|
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.";
|
e.status = "Transfer XP - Updated FROM item placed in inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
RemoveItemBySerialNumber(inst_to->GetSerialNumber());
|
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.";
|
e.status = "Transfer XP - Original TO Evolve Item removed from inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
PushItemOnCursor(*inst_to_new, true);
|
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.";
|
e.status = "Transfer XP - Updated TO Evolve item placed in inventory.";
|
||||||
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
RecordPlayerEventLog(PlayerEvent::EVOLVE_ITEM, e);
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ void command_evolvingitems(Client *c, const Seperator *sep)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto item = evolving_items_manager.GetEvolvingItemsCache().at(value->GetID());
|
auto item = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(value->GetID());
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::Yellow,
|
Chat::Yellow,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
@ -126,7 +126,7 @@ void command_evolvingitems(Client *c, const Seperator *sep)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto item = evolving_items_manager.GetEvolvingItemsCache().at(value->GetID());
|
auto item = EvolvingItemsManager::Instance()->GetEvolvingItemsCache().at(value->GetID());
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::Yellow,
|
Chat::Yellow,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
|
|||||||
@ -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);
|
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);
|
m_inv.PushCursor(inst);
|
||||||
|
|
||||||
if (client_update) {
|
if (client_update) {
|
||||||
@ -1059,7 +1059,7 @@ bool Client::PutItemInInventory(int16 slot_id, const EQ::ItemInstance& inst, boo
|
|||||||
return PushItemOnCursor(inst, client_update);
|
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);
|
m_inv.PutItem(slot_id, inst);
|
||||||
|
|
||||||
if (client_update)
|
if (client_update)
|
||||||
@ -1087,7 +1087,7 @@ void Client::PutLootInInventory(int16 slot_id, const EQ::ItemInstance &inst, Loo
|
|||||||
|
|
||||||
bool cursor_empty = m_inv.CursorEmpty();
|
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) {
|
if (slot_id == EQ::invslot::slotCursor) {
|
||||||
m_inv.PushCursor(inst);
|
m_inv.PushCursor(inst);
|
||||||
|
|||||||
@ -105,7 +105,12 @@ QuestParserCollection *parse = 0;
|
|||||||
ZoneEventScheduler event_scheduler;
|
ZoneEventScheduler event_scheduler;
|
||||||
WorldContentService content_service;
|
WorldContentService content_service;
|
||||||
PlayerEventLogs player_event_logs;
|
PlayerEventLogs player_event_logs;
|
||||||
|
<<<<<<< kinglykrab/evolvingitemsmanager-global-to-singleton
|
||||||
|
DatabaseUpdate database_update;
|
||||||
|
SkillCaps skill_caps;
|
||||||
|
=======
|
||||||
EvolvingItemsManager evolving_items_manager;
|
EvolvingItemsManager evolving_items_manager;
|
||||||
|
>>>>>>> master
|
||||||
|
|
||||||
const SPDat_Spell_Struct* spells;
|
const SPDat_Spell_Struct* spells;
|
||||||
int32 SPDAT_RECORDS = -1;
|
int32 SPDAT_RECORDS = -1;
|
||||||
@ -394,9 +399,9 @@ int main(int argc, char **argv)
|
|||||||
content_db.LoadTributes();
|
content_db.LoadTributes();
|
||||||
|
|
||||||
// Load evolving item data
|
// Load evolving item data
|
||||||
evolving_items_manager.SetDatabase(&database);
|
EvolvingItemsManager::Instance()->SetDatabase(&database);
|
||||||
evolving_items_manager.SetContentDatabase(&content_db);
|
EvolvingItemsManager::Instance()->SetContentDatabase(&content_db);
|
||||||
evolving_items_manager.LoadEvolvingItems();
|
EvolvingItemsManager::Instance()->LoadEvolvingItems();
|
||||||
|
|
||||||
database.GetDecayTimes(npcCorpseDecayTimes);
|
database.GetDecayTimes(npcCorpseDecayTimes);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user