mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 05:21:29 +00:00
[Traps] Convert Load of LDoN Traps/Trap Entries to Repositories (#3953)
- Convert `LoadLDoNTraps()` and `LoadLDoNTrapEntries()` to repositories.
This commit is contained in:
parent
4afc1efb38
commit
1238a6ca68
@ -59,6 +59,8 @@
|
|||||||
#include "../common/repositories/object_repository.h"
|
#include "../common/repositories/object_repository.h"
|
||||||
#include "../common/repositories/rule_sets_repository.h"
|
#include "../common/repositories/rule_sets_repository.h"
|
||||||
#include "../common/repositories/level_exp_mods_repository.h"
|
#include "../common/repositories/level_exp_mods_repository.h"
|
||||||
|
#include "../common/repositories/ldon_trap_entries_repository.h"
|
||||||
|
#include "../common/repositories/ldon_trap_templates_repository.h"
|
||||||
#include "../common/serverinfo.h"
|
#include "../common/serverinfo.h"
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
@ -2344,55 +2346,46 @@ void Zone::SetInstanceTimer(uint32 new_duration)
|
|||||||
|
|
||||||
void Zone::LoadLDoNTraps()
|
void Zone::LoadLDoNTraps()
|
||||||
{
|
{
|
||||||
const std::string query = "SELECT id, type, spell_id, skill, locked FROM ldon_trap_templates";
|
const auto& l = LdonTrapTemplatesRepository::All(content_db);
|
||||||
auto results = content_db.QueryDatabase(query);
|
|
||||||
if (!results.Success()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
for (const auto& e : l) {
|
||||||
auto lt = new LDoNTrapTemplate;
|
auto t = new LDoNTrapTemplate;
|
||||||
lt->id = Strings::ToInt(row[0]);
|
|
||||||
lt->type = (LDoNChestTypes) Strings::ToInt(row[1]);
|
|
||||||
lt->spell_id = Strings::ToInt(row[2]);
|
|
||||||
lt->skill = Strings::ToInt(row[3]);
|
|
||||||
lt->locked = Strings::ToInt(row[4]);
|
|
||||||
ldon_trap_list[lt->id] = lt;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
t->id = e.id;
|
||||||
|
t->type = static_cast<LDoNChestTypes>(e.type);
|
||||||
|
t->spell_id = static_cast<uint32>(e.spell_id);
|
||||||
|
t->skill = e.skill;
|
||||||
|
t->locked = e.locked;
|
||||||
|
|
||||||
|
ldon_trap_list[e.id] = t;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Zone::LoadLDoNTrapEntries()
|
void Zone::LoadLDoNTrapEntries()
|
||||||
{
|
{
|
||||||
const std::string query = "SELECT id, trap_id FROM ldon_trap_entries";
|
const auto& l = LdonTrapEntriesRepository::All(content_db);
|
||||||
auto results = content_db.QueryDatabase(query);
|
|
||||||
if (!results.Success()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (auto row = results.begin(); row != results.end(); ++row)
|
for (const auto& e : l) {
|
||||||
{
|
auto t = new LDoNTrapTemplate;
|
||||||
uint32 id = Strings::ToInt(row[0]);
|
|
||||||
uint32 trap_id = Strings::ToInt(row[1]);
|
|
||||||
|
|
||||||
LDoNTrapTemplate *trapTemplate = nullptr;
|
auto i = ldon_trap_list.find(e.trap_id);
|
||||||
auto it = ldon_trap_list.find(trap_id);
|
if (i == ldon_trap_list.end()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if(it == ldon_trap_list.end())
|
t = ldon_trap_list[e.trap_id];
|
||||||
continue;
|
|
||||||
|
|
||||||
trapTemplate = ldon_trap_list[trap_id];
|
std::list<LDoNTrapTemplate*> tl;
|
||||||
|
|
||||||
std::list<LDoNTrapTemplate*> temp;
|
auto ei = ldon_trap_entry_list.find(e.id);
|
||||||
auto iter = ldon_trap_entry_list.find(id);
|
if (ei != ldon_trap_entry_list.end()) {
|
||||||
|
tl = ldon_trap_entry_list[e.id];
|
||||||
|
}
|
||||||
|
|
||||||
if(iter != ldon_trap_entry_list.end())
|
tl.emplace_back(t);
|
||||||
temp = ldon_trap_entry_list[id];
|
|
||||||
|
|
||||||
temp.push_back(trapTemplate);
|
|
||||||
ldon_trap_entry_list[id] = temp;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
ldon_trap_entry_list[e.id] = tl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Zone::LoadVeteranRewards()
|
void Zone::LoadVeteranRewards()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user