mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 09:06:46 +00:00
[Refactor] Simplify NPC Loading (#2087)
* Refactor / simplify NPC loading * Update spacing [skip ci] * Update base_npc_types_repository.h
This commit is contained in:
@@ -26,15 +26,16 @@ public:
|
||||
int race;
|
||||
int class_;
|
||||
int bodytype;
|
||||
int hp;
|
||||
int mana;
|
||||
int64 hp;
|
||||
int64 mana;
|
||||
int gender;
|
||||
int texture;
|
||||
int helmtexture;
|
||||
int herosforgemodel;
|
||||
float size;
|
||||
int hp_regen_rate;
|
||||
int mana_regen_rate;
|
||||
int64 hp_regen_rate;
|
||||
int64 hp_regen_per_second;
|
||||
int64 mana_regen_rate;
|
||||
int loottable_id;
|
||||
int merchant_id;
|
||||
int alt_currency_id;
|
||||
@@ -167,6 +168,7 @@ public:
|
||||
"herosforgemodel",
|
||||
"size",
|
||||
"hp_regen_rate",
|
||||
"hp_regen_per_second",
|
||||
"mana_regen_rate",
|
||||
"loottable_id",
|
||||
"merchant_id",
|
||||
@@ -296,6 +298,7 @@ public:
|
||||
"herosforgemodel",
|
||||
"size",
|
||||
"hp_regen_rate",
|
||||
"hp_regen_per_second",
|
||||
"mana_regen_rate",
|
||||
"loottable_id",
|
||||
"merchant_id",
|
||||
@@ -459,6 +462,7 @@ public:
|
||||
entry.herosforgemodel = 0;
|
||||
entry.size = 0;
|
||||
entry.hp_regen_rate = 0;
|
||||
entry.hp_regen_per_second = 0;
|
||||
entry.mana_regen_rate = 0;
|
||||
entry.loottable_id = 0;
|
||||
entry.merchant_id = 0;
|
||||
@@ -609,122 +613,123 @@ public:
|
||||
entry.race = atoi(row[4]);
|
||||
entry.class_ = atoi(row[5]);
|
||||
entry.bodytype = atoi(row[6]);
|
||||
entry.hp = atoi(row[7]);
|
||||
entry.mana = atoi(row[8]);
|
||||
entry.hp = strtoll(row[7], nullptr, 10);
|
||||
entry.mana = strtoll(row[8], nullptr, 10);
|
||||
entry.gender = atoi(row[9]);
|
||||
entry.texture = atoi(row[10]);
|
||||
entry.helmtexture = atoi(row[11]);
|
||||
entry.herosforgemodel = atoi(row[12]);
|
||||
entry.size = static_cast<float>(atof(row[13]));
|
||||
entry.hp_regen_rate = atoi(row[14]);
|
||||
entry.mana_regen_rate = atoi(row[15]);
|
||||
entry.loottable_id = atoi(row[16]);
|
||||
entry.merchant_id = atoi(row[17]);
|
||||
entry.alt_currency_id = atoi(row[18]);
|
||||
entry.npc_spells_id = atoi(row[19]);
|
||||
entry.npc_spells_effects_id = atoi(row[20]);
|
||||
entry.npc_faction_id = atoi(row[21]);
|
||||
entry.adventure_template_id = atoi(row[22]);
|
||||
entry.trap_template = atoi(row[23]);
|
||||
entry.mindmg = atoi(row[24]);
|
||||
entry.maxdmg = atoi(row[25]);
|
||||
entry.attack_count = atoi(row[26]);
|
||||
entry.npcspecialattks = row[27] ? row[27] : "";
|
||||
entry.special_abilities = row[28] ? row[28] : "";
|
||||
entry.aggroradius = atoi(row[29]);
|
||||
entry.assistradius = atoi(row[30]);
|
||||
entry.face = atoi(row[31]);
|
||||
entry.luclin_hairstyle = atoi(row[32]);
|
||||
entry.luclin_haircolor = atoi(row[33]);
|
||||
entry.luclin_eyecolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor2 = atoi(row[35]);
|
||||
entry.luclin_beardcolor = atoi(row[36]);
|
||||
entry.luclin_beard = atoi(row[37]);
|
||||
entry.drakkin_heritage = atoi(row[38]);
|
||||
entry.drakkin_tattoo = atoi(row[39]);
|
||||
entry.drakkin_details = atoi(row[40]);
|
||||
entry.armortint_id = atoi(row[41]);
|
||||
entry.armortint_red = atoi(row[42]);
|
||||
entry.armortint_green = atoi(row[43]);
|
||||
entry.armortint_blue = atoi(row[44]);
|
||||
entry.d_melee_texture1 = atoi(row[45]);
|
||||
entry.d_melee_texture2 = atoi(row[46]);
|
||||
entry.ammo_idfile = row[47] ? row[47] : "";
|
||||
entry.prim_melee_type = atoi(row[48]);
|
||||
entry.sec_melee_type = atoi(row[49]);
|
||||
entry.ranged_type = atoi(row[50]);
|
||||
entry.runspeed = static_cast<float>(atof(row[51]));
|
||||
entry.MR = atoi(row[52]);
|
||||
entry.CR = atoi(row[53]);
|
||||
entry.DR = atoi(row[54]);
|
||||
entry.FR = atoi(row[55]);
|
||||
entry.PR = atoi(row[56]);
|
||||
entry.Corrup = atoi(row[57]);
|
||||
entry.PhR = atoi(row[58]);
|
||||
entry.see_invis = atoi(row[59]);
|
||||
entry.see_invis_undead = atoi(row[60]);
|
||||
entry.qglobal = atoi(row[61]);
|
||||
entry.AC = atoi(row[62]);
|
||||
entry.npc_aggro = atoi(row[63]);
|
||||
entry.spawn_limit = atoi(row[64]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[65]));
|
||||
entry.attack_delay = atoi(row[66]);
|
||||
entry.findable = atoi(row[67]);
|
||||
entry.STR = atoi(row[68]);
|
||||
entry.STA = atoi(row[69]);
|
||||
entry.DEX = atoi(row[70]);
|
||||
entry.AGI = atoi(row[71]);
|
||||
entry._INT = atoi(row[72]);
|
||||
entry.WIS = atoi(row[73]);
|
||||
entry.CHA = atoi(row[74]);
|
||||
entry.see_hide = atoi(row[75]);
|
||||
entry.see_improved_hide = atoi(row[76]);
|
||||
entry.trackable = atoi(row[77]);
|
||||
entry.isbot = atoi(row[78]);
|
||||
entry.exclude = atoi(row[79]);
|
||||
entry.ATK = atoi(row[80]);
|
||||
entry.Accuracy = atoi(row[81]);
|
||||
entry.Avoidance = atoi(row[82]);
|
||||
entry.slow_mitigation = atoi(row[83]);
|
||||
entry.version = atoi(row[84]);
|
||||
entry.maxlevel = atoi(row[85]);
|
||||
entry.scalerate = atoi(row[86]);
|
||||
entry.private_corpse = atoi(row[87]);
|
||||
entry.unique_spawn_by_name = atoi(row[88]);
|
||||
entry.underwater = atoi(row[89]);
|
||||
entry.isquest = atoi(row[90]);
|
||||
entry.emoteid = atoi(row[91]);
|
||||
entry.spellscale = static_cast<float>(atof(row[92]));
|
||||
entry.healscale = static_cast<float>(atof(row[93]));
|
||||
entry.no_target_hotkey = atoi(row[94]);
|
||||
entry.raid_target = atoi(row[95]);
|
||||
entry.armtexture = atoi(row[96]);
|
||||
entry.bracertexture = atoi(row[97]);
|
||||
entry.handtexture = atoi(row[98]);
|
||||
entry.legtexture = atoi(row[99]);
|
||||
entry.feettexture = atoi(row[100]);
|
||||
entry.light = atoi(row[101]);
|
||||
entry.walkspeed = atoi(row[102]);
|
||||
entry.peqid = atoi(row[103]);
|
||||
entry.unique_ = atoi(row[104]);
|
||||
entry.fixed = atoi(row[105]);
|
||||
entry.ignore_despawn = atoi(row[106]);
|
||||
entry.show_name = atoi(row[107]);
|
||||
entry.untargetable = atoi(row[108]);
|
||||
entry.charm_ac = atoi(row[109]);
|
||||
entry.charm_min_dmg = atoi(row[110]);
|
||||
entry.charm_max_dmg = atoi(row[111]);
|
||||
entry.charm_attack_delay = atoi(row[112]);
|
||||
entry.charm_accuracy_rating = atoi(row[113]);
|
||||
entry.charm_avoidance_rating = atoi(row[114]);
|
||||
entry.charm_atk = atoi(row[115]);
|
||||
entry.skip_global_loot = atoi(row[116]);
|
||||
entry.rare_spawn = atoi(row[117]);
|
||||
entry.stuck_behavior = atoi(row[118]);
|
||||
entry.model = atoi(row[119]);
|
||||
entry.flymode = atoi(row[120]);
|
||||
entry.always_aggro = atoi(row[121]);
|
||||
entry.exp_mod = atoi(row[122]);
|
||||
entry.hp_regen_rate = strtoll(row[14], nullptr, 10);
|
||||
entry.hp_regen_per_second = strtoll(row[15], nullptr, 10);
|
||||
entry.mana_regen_rate = strtoll(row[16], nullptr, 10);
|
||||
entry.loottable_id = atoi(row[17]);
|
||||
entry.merchant_id = atoi(row[18]);
|
||||
entry.alt_currency_id = atoi(row[19]);
|
||||
entry.npc_spells_id = atoi(row[20]);
|
||||
entry.npc_spells_effects_id = atoi(row[21]);
|
||||
entry.npc_faction_id = atoi(row[22]);
|
||||
entry.adventure_template_id = atoi(row[23]);
|
||||
entry.trap_template = atoi(row[24]);
|
||||
entry.mindmg = atoi(row[25]);
|
||||
entry.maxdmg = atoi(row[26]);
|
||||
entry.attack_count = atoi(row[27]);
|
||||
entry.npcspecialattks = row[28] ? row[28] : "";
|
||||
entry.special_abilities = row[29] ? row[29] : "";
|
||||
entry.aggroradius = atoi(row[30]);
|
||||
entry.assistradius = atoi(row[31]);
|
||||
entry.face = atoi(row[32]);
|
||||
entry.luclin_hairstyle = atoi(row[33]);
|
||||
entry.luclin_haircolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor = atoi(row[35]);
|
||||
entry.luclin_eyecolor2 = atoi(row[36]);
|
||||
entry.luclin_beardcolor = atoi(row[37]);
|
||||
entry.luclin_beard = atoi(row[38]);
|
||||
entry.drakkin_heritage = atoi(row[39]);
|
||||
entry.drakkin_tattoo = atoi(row[40]);
|
||||
entry.drakkin_details = atoi(row[41]);
|
||||
entry.armortint_id = atoi(row[42]);
|
||||
entry.armortint_red = atoi(row[43]);
|
||||
entry.armortint_green = atoi(row[44]);
|
||||
entry.armortint_blue = atoi(row[45]);
|
||||
entry.d_melee_texture1 = atoi(row[46]);
|
||||
entry.d_melee_texture2 = atoi(row[47]);
|
||||
entry.ammo_idfile = row[48] ? row[48] : "";
|
||||
entry.prim_melee_type = atoi(row[49]);
|
||||
entry.sec_melee_type = atoi(row[50]);
|
||||
entry.ranged_type = atoi(row[51]);
|
||||
entry.runspeed = static_cast<float>(atof(row[52]));
|
||||
entry.MR = atoi(row[53]);
|
||||
entry.CR = atoi(row[54]);
|
||||
entry.DR = atoi(row[55]);
|
||||
entry.FR = atoi(row[56]);
|
||||
entry.PR = atoi(row[57]);
|
||||
entry.Corrup = atoi(row[58]);
|
||||
entry.PhR = atoi(row[59]);
|
||||
entry.see_invis = atoi(row[60]);
|
||||
entry.see_invis_undead = atoi(row[61]);
|
||||
entry.qglobal = atoi(row[62]);
|
||||
entry.AC = atoi(row[63]);
|
||||
entry.npc_aggro = atoi(row[64]);
|
||||
entry.spawn_limit = atoi(row[65]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[66]));
|
||||
entry.attack_delay = atoi(row[67]);
|
||||
entry.findable = atoi(row[68]);
|
||||
entry.STR = atoi(row[69]);
|
||||
entry.STA = atoi(row[70]);
|
||||
entry.DEX = atoi(row[71]);
|
||||
entry.AGI = atoi(row[72]);
|
||||
entry._INT = atoi(row[73]);
|
||||
entry.WIS = atoi(row[74]);
|
||||
entry.CHA = atoi(row[75]);
|
||||
entry.see_hide = atoi(row[76]);
|
||||
entry.see_improved_hide = atoi(row[77]);
|
||||
entry.trackable = atoi(row[78]);
|
||||
entry.isbot = atoi(row[79]);
|
||||
entry.exclude = atoi(row[80]);
|
||||
entry.ATK = atoi(row[81]);
|
||||
entry.Accuracy = atoi(row[82]);
|
||||
entry.Avoidance = atoi(row[83]);
|
||||
entry.slow_mitigation = atoi(row[84]);
|
||||
entry.version = atoi(row[85]);
|
||||
entry.maxlevel = atoi(row[86]);
|
||||
entry.scalerate = atoi(row[87]);
|
||||
entry.private_corpse = atoi(row[88]);
|
||||
entry.unique_spawn_by_name = atoi(row[89]);
|
||||
entry.underwater = atoi(row[90]);
|
||||
entry.isquest = atoi(row[91]);
|
||||
entry.emoteid = atoi(row[92]);
|
||||
entry.spellscale = static_cast<float>(atof(row[93]));
|
||||
entry.healscale = static_cast<float>(atof(row[94]));
|
||||
entry.no_target_hotkey = atoi(row[95]);
|
||||
entry.raid_target = atoi(row[96]);
|
||||
entry.armtexture = atoi(row[97]);
|
||||
entry.bracertexture = atoi(row[98]);
|
||||
entry.handtexture = atoi(row[99]);
|
||||
entry.legtexture = atoi(row[100]);
|
||||
entry.feettexture = atoi(row[101]);
|
||||
entry.light = atoi(row[102]);
|
||||
entry.walkspeed = atoi(row[103]);
|
||||
entry.peqid = atoi(row[104]);
|
||||
entry.unique_ = atoi(row[105]);
|
||||
entry.fixed = atoi(row[106]);
|
||||
entry.ignore_despawn = atoi(row[107]);
|
||||
entry.show_name = atoi(row[108]);
|
||||
entry.untargetable = atoi(row[109]);
|
||||
entry.charm_ac = atoi(row[110]);
|
||||
entry.charm_min_dmg = atoi(row[111]);
|
||||
entry.charm_max_dmg = atoi(row[112]);
|
||||
entry.charm_attack_delay = atoi(row[113]);
|
||||
entry.charm_accuracy_rating = atoi(row[114]);
|
||||
entry.charm_avoidance_rating = atoi(row[115]);
|
||||
entry.charm_atk = atoi(row[116]);
|
||||
entry.skip_global_loot = atoi(row[117]);
|
||||
entry.rare_spawn = atoi(row[118]);
|
||||
entry.stuck_behavior = atoi(row[119]);
|
||||
entry.model = atoi(row[120]);
|
||||
entry.flymode = atoi(row[121]);
|
||||
entry.always_aggro = atoi(row[122]);
|
||||
entry.exp_mod = atoi(row[123]);
|
||||
|
||||
return entry;
|
||||
}
|
||||
@@ -772,114 +777,115 @@ public:
|
||||
update_values.push_back(columns[12] + " = " + std::to_string(npc_types_entry.herosforgemodel));
|
||||
update_values.push_back(columns[13] + " = " + std::to_string(npc_types_entry.size));
|
||||
update_values.push_back(columns[14] + " = " + std::to_string(npc_types_entry.hp_regen_rate));
|
||||
update_values.push_back(columns[15] + " = " + std::to_string(npc_types_entry.mana_regen_rate));
|
||||
update_values.push_back(columns[16] + " = " + std::to_string(npc_types_entry.loottable_id));
|
||||
update_values.push_back(columns[17] + " = " + std::to_string(npc_types_entry.merchant_id));
|
||||
update_values.push_back(columns[18] + " = " + std::to_string(npc_types_entry.alt_currency_id));
|
||||
update_values.push_back(columns[19] + " = " + std::to_string(npc_types_entry.npc_spells_id));
|
||||
update_values.push_back(columns[20] + " = " + std::to_string(npc_types_entry.npc_spells_effects_id));
|
||||
update_values.push_back(columns[21] + " = " + std::to_string(npc_types_entry.npc_faction_id));
|
||||
update_values.push_back(columns[22] + " = " + std::to_string(npc_types_entry.adventure_template_id));
|
||||
update_values.push_back(columns[23] + " = " + std::to_string(npc_types_entry.trap_template));
|
||||
update_values.push_back(columns[24] + " = " + std::to_string(npc_types_entry.mindmg));
|
||||
update_values.push_back(columns[25] + " = " + std::to_string(npc_types_entry.maxdmg));
|
||||
update_values.push_back(columns[26] + " = " + std::to_string(npc_types_entry.attack_count));
|
||||
update_values.push_back(columns[27] + " = '" + EscapeString(npc_types_entry.npcspecialattks) + "'");
|
||||
update_values.push_back(columns[28] + " = '" + EscapeString(npc_types_entry.special_abilities) + "'");
|
||||
update_values.push_back(columns[29] + " = " + std::to_string(npc_types_entry.aggroradius));
|
||||
update_values.push_back(columns[30] + " = " + std::to_string(npc_types_entry.assistradius));
|
||||
update_values.push_back(columns[31] + " = " + std::to_string(npc_types_entry.face));
|
||||
update_values.push_back(columns[32] + " = " + std::to_string(npc_types_entry.luclin_hairstyle));
|
||||
update_values.push_back(columns[33] + " = " + std::to_string(npc_types_entry.luclin_haircolor));
|
||||
update_values.push_back(columns[34] + " = " + std::to_string(npc_types_entry.luclin_eyecolor));
|
||||
update_values.push_back(columns[35] + " = " + std::to_string(npc_types_entry.luclin_eyecolor2));
|
||||
update_values.push_back(columns[36] + " = " + std::to_string(npc_types_entry.luclin_beardcolor));
|
||||
update_values.push_back(columns[37] + " = " + std::to_string(npc_types_entry.luclin_beard));
|
||||
update_values.push_back(columns[38] + " = " + std::to_string(npc_types_entry.drakkin_heritage));
|
||||
update_values.push_back(columns[39] + " = " + std::to_string(npc_types_entry.drakkin_tattoo));
|
||||
update_values.push_back(columns[40] + " = " + std::to_string(npc_types_entry.drakkin_details));
|
||||
update_values.push_back(columns[41] + " = " + std::to_string(npc_types_entry.armortint_id));
|
||||
update_values.push_back(columns[42] + " = " + std::to_string(npc_types_entry.armortint_red));
|
||||
update_values.push_back(columns[43] + " = " + std::to_string(npc_types_entry.armortint_green));
|
||||
update_values.push_back(columns[44] + " = " + std::to_string(npc_types_entry.armortint_blue));
|
||||
update_values.push_back(columns[45] + " = " + std::to_string(npc_types_entry.d_melee_texture1));
|
||||
update_values.push_back(columns[46] + " = " + std::to_string(npc_types_entry.d_melee_texture2));
|
||||
update_values.push_back(columns[47] + " = '" + EscapeString(npc_types_entry.ammo_idfile) + "'");
|
||||
update_values.push_back(columns[48] + " = " + std::to_string(npc_types_entry.prim_melee_type));
|
||||
update_values.push_back(columns[49] + " = " + std::to_string(npc_types_entry.sec_melee_type));
|
||||
update_values.push_back(columns[50] + " = " + std::to_string(npc_types_entry.ranged_type));
|
||||
update_values.push_back(columns[51] + " = " + std::to_string(npc_types_entry.runspeed));
|
||||
update_values.push_back(columns[52] + " = " + std::to_string(npc_types_entry.MR));
|
||||
update_values.push_back(columns[53] + " = " + std::to_string(npc_types_entry.CR));
|
||||
update_values.push_back(columns[54] + " = " + std::to_string(npc_types_entry.DR));
|
||||
update_values.push_back(columns[55] + " = " + std::to_string(npc_types_entry.FR));
|
||||
update_values.push_back(columns[56] + " = " + std::to_string(npc_types_entry.PR));
|
||||
update_values.push_back(columns[57] + " = " + std::to_string(npc_types_entry.Corrup));
|
||||
update_values.push_back(columns[58] + " = " + std::to_string(npc_types_entry.PhR));
|
||||
update_values.push_back(columns[59] + " = " + std::to_string(npc_types_entry.see_invis));
|
||||
update_values.push_back(columns[60] + " = " + std::to_string(npc_types_entry.see_invis_undead));
|
||||
update_values.push_back(columns[61] + " = " + std::to_string(npc_types_entry.qglobal));
|
||||
update_values.push_back(columns[62] + " = " + std::to_string(npc_types_entry.AC));
|
||||
update_values.push_back(columns[63] + " = " + std::to_string(npc_types_entry.npc_aggro));
|
||||
update_values.push_back(columns[64] + " = " + std::to_string(npc_types_entry.spawn_limit));
|
||||
update_values.push_back(columns[65] + " = " + std::to_string(npc_types_entry.attack_speed));
|
||||
update_values.push_back(columns[66] + " = " + std::to_string(npc_types_entry.attack_delay));
|
||||
update_values.push_back(columns[67] + " = " + std::to_string(npc_types_entry.findable));
|
||||
update_values.push_back(columns[68] + " = " + std::to_string(npc_types_entry.STR));
|
||||
update_values.push_back(columns[69] + " = " + std::to_string(npc_types_entry.STA));
|
||||
update_values.push_back(columns[70] + " = " + std::to_string(npc_types_entry.DEX));
|
||||
update_values.push_back(columns[71] + " = " + std::to_string(npc_types_entry.AGI));
|
||||
update_values.push_back(columns[72] + " = " + std::to_string(npc_types_entry._INT));
|
||||
update_values.push_back(columns[73] + " = " + std::to_string(npc_types_entry.WIS));
|
||||
update_values.push_back(columns[74] + " = " + std::to_string(npc_types_entry.CHA));
|
||||
update_values.push_back(columns[75] + " = " + std::to_string(npc_types_entry.see_hide));
|
||||
update_values.push_back(columns[76] + " = " + std::to_string(npc_types_entry.see_improved_hide));
|
||||
update_values.push_back(columns[77] + " = " + std::to_string(npc_types_entry.trackable));
|
||||
update_values.push_back(columns[78] + " = " + std::to_string(npc_types_entry.isbot));
|
||||
update_values.push_back(columns[79] + " = " + std::to_string(npc_types_entry.exclude));
|
||||
update_values.push_back(columns[80] + " = " + std::to_string(npc_types_entry.ATK));
|
||||
update_values.push_back(columns[81] + " = " + std::to_string(npc_types_entry.Accuracy));
|
||||
update_values.push_back(columns[82] + " = " + std::to_string(npc_types_entry.Avoidance));
|
||||
update_values.push_back(columns[83] + " = " + std::to_string(npc_types_entry.slow_mitigation));
|
||||
update_values.push_back(columns[84] + " = " + std::to_string(npc_types_entry.version));
|
||||
update_values.push_back(columns[85] + " = " + std::to_string(npc_types_entry.maxlevel));
|
||||
update_values.push_back(columns[86] + " = " + std::to_string(npc_types_entry.scalerate));
|
||||
update_values.push_back(columns[87] + " = " + std::to_string(npc_types_entry.private_corpse));
|
||||
update_values.push_back(columns[88] + " = " + std::to_string(npc_types_entry.unique_spawn_by_name));
|
||||
update_values.push_back(columns[89] + " = " + std::to_string(npc_types_entry.underwater));
|
||||
update_values.push_back(columns[90] + " = " + std::to_string(npc_types_entry.isquest));
|
||||
update_values.push_back(columns[91] + " = " + std::to_string(npc_types_entry.emoteid));
|
||||
update_values.push_back(columns[92] + " = " + std::to_string(npc_types_entry.spellscale));
|
||||
update_values.push_back(columns[93] + " = " + std::to_string(npc_types_entry.healscale));
|
||||
update_values.push_back(columns[94] + " = " + std::to_string(npc_types_entry.no_target_hotkey));
|
||||
update_values.push_back(columns[95] + " = " + std::to_string(npc_types_entry.raid_target));
|
||||
update_values.push_back(columns[96] + " = " + std::to_string(npc_types_entry.armtexture));
|
||||
update_values.push_back(columns[97] + " = " + std::to_string(npc_types_entry.bracertexture));
|
||||
update_values.push_back(columns[98] + " = " + std::to_string(npc_types_entry.handtexture));
|
||||
update_values.push_back(columns[99] + " = " + std::to_string(npc_types_entry.legtexture));
|
||||
update_values.push_back(columns[100] + " = " + std::to_string(npc_types_entry.feettexture));
|
||||
update_values.push_back(columns[101] + " = " + std::to_string(npc_types_entry.light));
|
||||
update_values.push_back(columns[102] + " = " + std::to_string(npc_types_entry.walkspeed));
|
||||
update_values.push_back(columns[103] + " = " + std::to_string(npc_types_entry.peqid));
|
||||
update_values.push_back(columns[104] + " = " + std::to_string(npc_types_entry.unique_));
|
||||
update_values.push_back(columns[105] + " = " + std::to_string(npc_types_entry.fixed));
|
||||
update_values.push_back(columns[106] + " = " + std::to_string(npc_types_entry.ignore_despawn));
|
||||
update_values.push_back(columns[107] + " = " + std::to_string(npc_types_entry.show_name));
|
||||
update_values.push_back(columns[108] + " = " + std::to_string(npc_types_entry.untargetable));
|
||||
update_values.push_back(columns[109] + " = " + std::to_string(npc_types_entry.charm_ac));
|
||||
update_values.push_back(columns[110] + " = " + std::to_string(npc_types_entry.charm_min_dmg));
|
||||
update_values.push_back(columns[111] + " = " + std::to_string(npc_types_entry.charm_max_dmg));
|
||||
update_values.push_back(columns[112] + " = " + std::to_string(npc_types_entry.charm_attack_delay));
|
||||
update_values.push_back(columns[113] + " = " + std::to_string(npc_types_entry.charm_accuracy_rating));
|
||||
update_values.push_back(columns[114] + " = " + std::to_string(npc_types_entry.charm_avoidance_rating));
|
||||
update_values.push_back(columns[115] + " = " + std::to_string(npc_types_entry.charm_atk));
|
||||
update_values.push_back(columns[116] + " = " + std::to_string(npc_types_entry.skip_global_loot));
|
||||
update_values.push_back(columns[117] + " = " + std::to_string(npc_types_entry.rare_spawn));
|
||||
update_values.push_back(columns[118] + " = " + std::to_string(npc_types_entry.stuck_behavior));
|
||||
update_values.push_back(columns[119] + " = " + std::to_string(npc_types_entry.model));
|
||||
update_values.push_back(columns[120] + " = " + std::to_string(npc_types_entry.flymode));
|
||||
update_values.push_back(columns[121] + " = " + std::to_string(npc_types_entry.always_aggro));
|
||||
update_values.push_back(columns[122] + " = " + std::to_string(npc_types_entry.exp_mod));
|
||||
update_values.push_back(columns[15] + " = " + std::to_string(npc_types_entry.hp_regen_per_second));
|
||||
update_values.push_back(columns[16] + " = " + std::to_string(npc_types_entry.mana_regen_rate));
|
||||
update_values.push_back(columns[17] + " = " + std::to_string(npc_types_entry.loottable_id));
|
||||
update_values.push_back(columns[18] + " = " + std::to_string(npc_types_entry.merchant_id));
|
||||
update_values.push_back(columns[19] + " = " + std::to_string(npc_types_entry.alt_currency_id));
|
||||
update_values.push_back(columns[20] + " = " + std::to_string(npc_types_entry.npc_spells_id));
|
||||
update_values.push_back(columns[21] + " = " + std::to_string(npc_types_entry.npc_spells_effects_id));
|
||||
update_values.push_back(columns[22] + " = " + std::to_string(npc_types_entry.npc_faction_id));
|
||||
update_values.push_back(columns[23] + " = " + std::to_string(npc_types_entry.adventure_template_id));
|
||||
update_values.push_back(columns[24] + " = " + std::to_string(npc_types_entry.trap_template));
|
||||
update_values.push_back(columns[25] + " = " + std::to_string(npc_types_entry.mindmg));
|
||||
update_values.push_back(columns[26] + " = " + std::to_string(npc_types_entry.maxdmg));
|
||||
update_values.push_back(columns[27] + " = " + std::to_string(npc_types_entry.attack_count));
|
||||
update_values.push_back(columns[28] + " = '" + EscapeString(npc_types_entry.npcspecialattks) + "'");
|
||||
update_values.push_back(columns[29] + " = '" + EscapeString(npc_types_entry.special_abilities) + "'");
|
||||
update_values.push_back(columns[30] + " = " + std::to_string(npc_types_entry.aggroradius));
|
||||
update_values.push_back(columns[31] + " = " + std::to_string(npc_types_entry.assistradius));
|
||||
update_values.push_back(columns[32] + " = " + std::to_string(npc_types_entry.face));
|
||||
update_values.push_back(columns[33] + " = " + std::to_string(npc_types_entry.luclin_hairstyle));
|
||||
update_values.push_back(columns[34] + " = " + std::to_string(npc_types_entry.luclin_haircolor));
|
||||
update_values.push_back(columns[35] + " = " + std::to_string(npc_types_entry.luclin_eyecolor));
|
||||
update_values.push_back(columns[36] + " = " + std::to_string(npc_types_entry.luclin_eyecolor2));
|
||||
update_values.push_back(columns[37] + " = " + std::to_string(npc_types_entry.luclin_beardcolor));
|
||||
update_values.push_back(columns[38] + " = " + std::to_string(npc_types_entry.luclin_beard));
|
||||
update_values.push_back(columns[39] + " = " + std::to_string(npc_types_entry.drakkin_heritage));
|
||||
update_values.push_back(columns[40] + " = " + std::to_string(npc_types_entry.drakkin_tattoo));
|
||||
update_values.push_back(columns[41] + " = " + std::to_string(npc_types_entry.drakkin_details));
|
||||
update_values.push_back(columns[42] + " = " + std::to_string(npc_types_entry.armortint_id));
|
||||
update_values.push_back(columns[43] + " = " + std::to_string(npc_types_entry.armortint_red));
|
||||
update_values.push_back(columns[44] + " = " + std::to_string(npc_types_entry.armortint_green));
|
||||
update_values.push_back(columns[45] + " = " + std::to_string(npc_types_entry.armortint_blue));
|
||||
update_values.push_back(columns[46] + " = " + std::to_string(npc_types_entry.d_melee_texture1));
|
||||
update_values.push_back(columns[47] + " = " + std::to_string(npc_types_entry.d_melee_texture2));
|
||||
update_values.push_back(columns[48] + " = '" + EscapeString(npc_types_entry.ammo_idfile) + "'");
|
||||
update_values.push_back(columns[49] + " = " + std::to_string(npc_types_entry.prim_melee_type));
|
||||
update_values.push_back(columns[50] + " = " + std::to_string(npc_types_entry.sec_melee_type));
|
||||
update_values.push_back(columns[51] + " = " + std::to_string(npc_types_entry.ranged_type));
|
||||
update_values.push_back(columns[52] + " = " + std::to_string(npc_types_entry.runspeed));
|
||||
update_values.push_back(columns[53] + " = " + std::to_string(npc_types_entry.MR));
|
||||
update_values.push_back(columns[54] + " = " + std::to_string(npc_types_entry.CR));
|
||||
update_values.push_back(columns[55] + " = " + std::to_string(npc_types_entry.DR));
|
||||
update_values.push_back(columns[56] + " = " + std::to_string(npc_types_entry.FR));
|
||||
update_values.push_back(columns[57] + " = " + std::to_string(npc_types_entry.PR));
|
||||
update_values.push_back(columns[58] + " = " + std::to_string(npc_types_entry.Corrup));
|
||||
update_values.push_back(columns[59] + " = " + std::to_string(npc_types_entry.PhR));
|
||||
update_values.push_back(columns[60] + " = " + std::to_string(npc_types_entry.see_invis));
|
||||
update_values.push_back(columns[61] + " = " + std::to_string(npc_types_entry.see_invis_undead));
|
||||
update_values.push_back(columns[62] + " = " + std::to_string(npc_types_entry.qglobal));
|
||||
update_values.push_back(columns[63] + " = " + std::to_string(npc_types_entry.AC));
|
||||
update_values.push_back(columns[64] + " = " + std::to_string(npc_types_entry.npc_aggro));
|
||||
update_values.push_back(columns[65] + " = " + std::to_string(npc_types_entry.spawn_limit));
|
||||
update_values.push_back(columns[66] + " = " + std::to_string(npc_types_entry.attack_speed));
|
||||
update_values.push_back(columns[67] + " = " + std::to_string(npc_types_entry.attack_delay));
|
||||
update_values.push_back(columns[68] + " = " + std::to_string(npc_types_entry.findable));
|
||||
update_values.push_back(columns[69] + " = " + std::to_string(npc_types_entry.STR));
|
||||
update_values.push_back(columns[70] + " = " + std::to_string(npc_types_entry.STA));
|
||||
update_values.push_back(columns[71] + " = " + std::to_string(npc_types_entry.DEX));
|
||||
update_values.push_back(columns[72] + " = " + std::to_string(npc_types_entry.AGI));
|
||||
update_values.push_back(columns[73] + " = " + std::to_string(npc_types_entry._INT));
|
||||
update_values.push_back(columns[74] + " = " + std::to_string(npc_types_entry.WIS));
|
||||
update_values.push_back(columns[75] + " = " + std::to_string(npc_types_entry.CHA));
|
||||
update_values.push_back(columns[76] + " = " + std::to_string(npc_types_entry.see_hide));
|
||||
update_values.push_back(columns[77] + " = " + std::to_string(npc_types_entry.see_improved_hide));
|
||||
update_values.push_back(columns[78] + " = " + std::to_string(npc_types_entry.trackable));
|
||||
update_values.push_back(columns[79] + " = " + std::to_string(npc_types_entry.isbot));
|
||||
update_values.push_back(columns[80] + " = " + std::to_string(npc_types_entry.exclude));
|
||||
update_values.push_back(columns[81] + " = " + std::to_string(npc_types_entry.ATK));
|
||||
update_values.push_back(columns[82] + " = " + std::to_string(npc_types_entry.Accuracy));
|
||||
update_values.push_back(columns[83] + " = " + std::to_string(npc_types_entry.Avoidance));
|
||||
update_values.push_back(columns[84] + " = " + std::to_string(npc_types_entry.slow_mitigation));
|
||||
update_values.push_back(columns[85] + " = " + std::to_string(npc_types_entry.version));
|
||||
update_values.push_back(columns[86] + " = " + std::to_string(npc_types_entry.maxlevel));
|
||||
update_values.push_back(columns[87] + " = " + std::to_string(npc_types_entry.scalerate));
|
||||
update_values.push_back(columns[88] + " = " + std::to_string(npc_types_entry.private_corpse));
|
||||
update_values.push_back(columns[89] + " = " + std::to_string(npc_types_entry.unique_spawn_by_name));
|
||||
update_values.push_back(columns[90] + " = " + std::to_string(npc_types_entry.underwater));
|
||||
update_values.push_back(columns[91] + " = " + std::to_string(npc_types_entry.isquest));
|
||||
update_values.push_back(columns[92] + " = " + std::to_string(npc_types_entry.emoteid));
|
||||
update_values.push_back(columns[93] + " = " + std::to_string(npc_types_entry.spellscale));
|
||||
update_values.push_back(columns[94] + " = " + std::to_string(npc_types_entry.healscale));
|
||||
update_values.push_back(columns[95] + " = " + std::to_string(npc_types_entry.no_target_hotkey));
|
||||
update_values.push_back(columns[96] + " = " + std::to_string(npc_types_entry.raid_target));
|
||||
update_values.push_back(columns[97] + " = " + std::to_string(npc_types_entry.armtexture));
|
||||
update_values.push_back(columns[98] + " = " + std::to_string(npc_types_entry.bracertexture));
|
||||
update_values.push_back(columns[99] + " = " + std::to_string(npc_types_entry.handtexture));
|
||||
update_values.push_back(columns[100] + " = " + std::to_string(npc_types_entry.legtexture));
|
||||
update_values.push_back(columns[101] + " = " + std::to_string(npc_types_entry.feettexture));
|
||||
update_values.push_back(columns[102] + " = " + std::to_string(npc_types_entry.light));
|
||||
update_values.push_back(columns[103] + " = " + std::to_string(npc_types_entry.walkspeed));
|
||||
update_values.push_back(columns[104] + " = " + std::to_string(npc_types_entry.peqid));
|
||||
update_values.push_back(columns[105] + " = " + std::to_string(npc_types_entry.unique_));
|
||||
update_values.push_back(columns[106] + " = " + std::to_string(npc_types_entry.fixed));
|
||||
update_values.push_back(columns[107] + " = " + std::to_string(npc_types_entry.ignore_despawn));
|
||||
update_values.push_back(columns[108] + " = " + std::to_string(npc_types_entry.show_name));
|
||||
update_values.push_back(columns[109] + " = " + std::to_string(npc_types_entry.untargetable));
|
||||
update_values.push_back(columns[110] + " = " + std::to_string(npc_types_entry.charm_ac));
|
||||
update_values.push_back(columns[111] + " = " + std::to_string(npc_types_entry.charm_min_dmg));
|
||||
update_values.push_back(columns[112] + " = " + std::to_string(npc_types_entry.charm_max_dmg));
|
||||
update_values.push_back(columns[113] + " = " + std::to_string(npc_types_entry.charm_attack_delay));
|
||||
update_values.push_back(columns[114] + " = " + std::to_string(npc_types_entry.charm_accuracy_rating));
|
||||
update_values.push_back(columns[115] + " = " + std::to_string(npc_types_entry.charm_avoidance_rating));
|
||||
update_values.push_back(columns[116] + " = " + std::to_string(npc_types_entry.charm_atk));
|
||||
update_values.push_back(columns[117] + " = " + std::to_string(npc_types_entry.skip_global_loot));
|
||||
update_values.push_back(columns[118] + " = " + std::to_string(npc_types_entry.rare_spawn));
|
||||
update_values.push_back(columns[119] + " = " + std::to_string(npc_types_entry.stuck_behavior));
|
||||
update_values.push_back(columns[120] + " = " + std::to_string(npc_types_entry.model));
|
||||
update_values.push_back(columns[121] + " = " + std::to_string(npc_types_entry.flymode));
|
||||
update_values.push_back(columns[122] + " = " + std::to_string(npc_types_entry.always_aggro));
|
||||
update_values.push_back(columns[123] + " = " + std::to_string(npc_types_entry.exp_mod));
|
||||
|
||||
auto results = db.QueryDatabase(
|
||||
fmt::format(
|
||||
@@ -916,6 +922,7 @@ public:
|
||||
insert_values.push_back(std::to_string(npc_types_entry.herosforgemodel));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.size));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.hp_regen_rate));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.hp_regen_per_second));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.mana_regen_rate));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.loottable_id));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.merchant_id));
|
||||
@@ -1068,6 +1075,7 @@ public:
|
||||
insert_values.push_back(std::to_string(npc_types_entry.herosforgemodel));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.size));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.hp_regen_rate));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.hp_regen_per_second));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.mana_regen_rate));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.loottable_id));
|
||||
insert_values.push_back(std::to_string(npc_types_entry.merchant_id));
|
||||
@@ -1216,122 +1224,123 @@ public:
|
||||
entry.race = atoi(row[4]);
|
||||
entry.class_ = atoi(row[5]);
|
||||
entry.bodytype = atoi(row[6]);
|
||||
entry.hp = atoi(row[7]);
|
||||
entry.mana = atoi(row[8]);
|
||||
entry.hp = strtoll(row[7], nullptr, 10);
|
||||
entry.mana = strtoll(row[8], nullptr, 10);
|
||||
entry.gender = atoi(row[9]);
|
||||
entry.texture = atoi(row[10]);
|
||||
entry.helmtexture = atoi(row[11]);
|
||||
entry.herosforgemodel = atoi(row[12]);
|
||||
entry.size = static_cast<float>(atof(row[13]));
|
||||
entry.hp_regen_rate = atoi(row[14]);
|
||||
entry.mana_regen_rate = atoi(row[15]);
|
||||
entry.loottable_id = atoi(row[16]);
|
||||
entry.merchant_id = atoi(row[17]);
|
||||
entry.alt_currency_id = atoi(row[18]);
|
||||
entry.npc_spells_id = atoi(row[19]);
|
||||
entry.npc_spells_effects_id = atoi(row[20]);
|
||||
entry.npc_faction_id = atoi(row[21]);
|
||||
entry.adventure_template_id = atoi(row[22]);
|
||||
entry.trap_template = atoi(row[23]);
|
||||
entry.mindmg = atoi(row[24]);
|
||||
entry.maxdmg = atoi(row[25]);
|
||||
entry.attack_count = atoi(row[26]);
|
||||
entry.npcspecialattks = row[27] ? row[27] : "";
|
||||
entry.special_abilities = row[28] ? row[28] : "";
|
||||
entry.aggroradius = atoi(row[29]);
|
||||
entry.assistradius = atoi(row[30]);
|
||||
entry.face = atoi(row[31]);
|
||||
entry.luclin_hairstyle = atoi(row[32]);
|
||||
entry.luclin_haircolor = atoi(row[33]);
|
||||
entry.luclin_eyecolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor2 = atoi(row[35]);
|
||||
entry.luclin_beardcolor = atoi(row[36]);
|
||||
entry.luclin_beard = atoi(row[37]);
|
||||
entry.drakkin_heritage = atoi(row[38]);
|
||||
entry.drakkin_tattoo = atoi(row[39]);
|
||||
entry.drakkin_details = atoi(row[40]);
|
||||
entry.armortint_id = atoi(row[41]);
|
||||
entry.armortint_red = atoi(row[42]);
|
||||
entry.armortint_green = atoi(row[43]);
|
||||
entry.armortint_blue = atoi(row[44]);
|
||||
entry.d_melee_texture1 = atoi(row[45]);
|
||||
entry.d_melee_texture2 = atoi(row[46]);
|
||||
entry.ammo_idfile = row[47] ? row[47] : "";
|
||||
entry.prim_melee_type = atoi(row[48]);
|
||||
entry.sec_melee_type = atoi(row[49]);
|
||||
entry.ranged_type = atoi(row[50]);
|
||||
entry.runspeed = static_cast<float>(atof(row[51]));
|
||||
entry.MR = atoi(row[52]);
|
||||
entry.CR = atoi(row[53]);
|
||||
entry.DR = atoi(row[54]);
|
||||
entry.FR = atoi(row[55]);
|
||||
entry.PR = atoi(row[56]);
|
||||
entry.Corrup = atoi(row[57]);
|
||||
entry.PhR = atoi(row[58]);
|
||||
entry.see_invis = atoi(row[59]);
|
||||
entry.see_invis_undead = atoi(row[60]);
|
||||
entry.qglobal = atoi(row[61]);
|
||||
entry.AC = atoi(row[62]);
|
||||
entry.npc_aggro = atoi(row[63]);
|
||||
entry.spawn_limit = atoi(row[64]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[65]));
|
||||
entry.attack_delay = atoi(row[66]);
|
||||
entry.findable = atoi(row[67]);
|
||||
entry.STR = atoi(row[68]);
|
||||
entry.STA = atoi(row[69]);
|
||||
entry.DEX = atoi(row[70]);
|
||||
entry.AGI = atoi(row[71]);
|
||||
entry._INT = atoi(row[72]);
|
||||
entry.WIS = atoi(row[73]);
|
||||
entry.CHA = atoi(row[74]);
|
||||
entry.see_hide = atoi(row[75]);
|
||||
entry.see_improved_hide = atoi(row[76]);
|
||||
entry.trackable = atoi(row[77]);
|
||||
entry.isbot = atoi(row[78]);
|
||||
entry.exclude = atoi(row[79]);
|
||||
entry.ATK = atoi(row[80]);
|
||||
entry.Accuracy = atoi(row[81]);
|
||||
entry.Avoidance = atoi(row[82]);
|
||||
entry.slow_mitigation = atoi(row[83]);
|
||||
entry.version = atoi(row[84]);
|
||||
entry.maxlevel = atoi(row[85]);
|
||||
entry.scalerate = atoi(row[86]);
|
||||
entry.private_corpse = atoi(row[87]);
|
||||
entry.unique_spawn_by_name = atoi(row[88]);
|
||||
entry.underwater = atoi(row[89]);
|
||||
entry.isquest = atoi(row[90]);
|
||||
entry.emoteid = atoi(row[91]);
|
||||
entry.spellscale = static_cast<float>(atof(row[92]));
|
||||
entry.healscale = static_cast<float>(atof(row[93]));
|
||||
entry.no_target_hotkey = atoi(row[94]);
|
||||
entry.raid_target = atoi(row[95]);
|
||||
entry.armtexture = atoi(row[96]);
|
||||
entry.bracertexture = atoi(row[97]);
|
||||
entry.handtexture = atoi(row[98]);
|
||||
entry.legtexture = atoi(row[99]);
|
||||
entry.feettexture = atoi(row[100]);
|
||||
entry.light = atoi(row[101]);
|
||||
entry.walkspeed = atoi(row[102]);
|
||||
entry.peqid = atoi(row[103]);
|
||||
entry.unique_ = atoi(row[104]);
|
||||
entry.fixed = atoi(row[105]);
|
||||
entry.ignore_despawn = atoi(row[106]);
|
||||
entry.show_name = atoi(row[107]);
|
||||
entry.untargetable = atoi(row[108]);
|
||||
entry.charm_ac = atoi(row[109]);
|
||||
entry.charm_min_dmg = atoi(row[110]);
|
||||
entry.charm_max_dmg = atoi(row[111]);
|
||||
entry.charm_attack_delay = atoi(row[112]);
|
||||
entry.charm_accuracy_rating = atoi(row[113]);
|
||||
entry.charm_avoidance_rating = atoi(row[114]);
|
||||
entry.charm_atk = atoi(row[115]);
|
||||
entry.skip_global_loot = atoi(row[116]);
|
||||
entry.rare_spawn = atoi(row[117]);
|
||||
entry.stuck_behavior = atoi(row[118]);
|
||||
entry.model = atoi(row[119]);
|
||||
entry.flymode = atoi(row[120]);
|
||||
entry.always_aggro = atoi(row[121]);
|
||||
entry.exp_mod = atoi(row[122]);
|
||||
entry.hp_regen_rate = strtoll(row[14], nullptr, 10);
|
||||
entry.hp_regen_per_second = strtoll(row[15], nullptr, 10);
|
||||
entry.mana_regen_rate = strtoll(row[16], nullptr, 10);
|
||||
entry.loottable_id = atoi(row[17]);
|
||||
entry.merchant_id = atoi(row[18]);
|
||||
entry.alt_currency_id = atoi(row[19]);
|
||||
entry.npc_spells_id = atoi(row[20]);
|
||||
entry.npc_spells_effects_id = atoi(row[21]);
|
||||
entry.npc_faction_id = atoi(row[22]);
|
||||
entry.adventure_template_id = atoi(row[23]);
|
||||
entry.trap_template = atoi(row[24]);
|
||||
entry.mindmg = atoi(row[25]);
|
||||
entry.maxdmg = atoi(row[26]);
|
||||
entry.attack_count = atoi(row[27]);
|
||||
entry.npcspecialattks = row[28] ? row[28] : "";
|
||||
entry.special_abilities = row[29] ? row[29] : "";
|
||||
entry.aggroradius = atoi(row[30]);
|
||||
entry.assistradius = atoi(row[31]);
|
||||
entry.face = atoi(row[32]);
|
||||
entry.luclin_hairstyle = atoi(row[33]);
|
||||
entry.luclin_haircolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor = atoi(row[35]);
|
||||
entry.luclin_eyecolor2 = atoi(row[36]);
|
||||
entry.luclin_beardcolor = atoi(row[37]);
|
||||
entry.luclin_beard = atoi(row[38]);
|
||||
entry.drakkin_heritage = atoi(row[39]);
|
||||
entry.drakkin_tattoo = atoi(row[40]);
|
||||
entry.drakkin_details = atoi(row[41]);
|
||||
entry.armortint_id = atoi(row[42]);
|
||||
entry.armortint_red = atoi(row[43]);
|
||||
entry.armortint_green = atoi(row[44]);
|
||||
entry.armortint_blue = atoi(row[45]);
|
||||
entry.d_melee_texture1 = atoi(row[46]);
|
||||
entry.d_melee_texture2 = atoi(row[47]);
|
||||
entry.ammo_idfile = row[48] ? row[48] : "";
|
||||
entry.prim_melee_type = atoi(row[49]);
|
||||
entry.sec_melee_type = atoi(row[50]);
|
||||
entry.ranged_type = atoi(row[51]);
|
||||
entry.runspeed = static_cast<float>(atof(row[52]));
|
||||
entry.MR = atoi(row[53]);
|
||||
entry.CR = atoi(row[54]);
|
||||
entry.DR = atoi(row[55]);
|
||||
entry.FR = atoi(row[56]);
|
||||
entry.PR = atoi(row[57]);
|
||||
entry.Corrup = atoi(row[58]);
|
||||
entry.PhR = atoi(row[59]);
|
||||
entry.see_invis = atoi(row[60]);
|
||||
entry.see_invis_undead = atoi(row[61]);
|
||||
entry.qglobal = atoi(row[62]);
|
||||
entry.AC = atoi(row[63]);
|
||||
entry.npc_aggro = atoi(row[64]);
|
||||
entry.spawn_limit = atoi(row[65]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[66]));
|
||||
entry.attack_delay = atoi(row[67]);
|
||||
entry.findable = atoi(row[68]);
|
||||
entry.STR = atoi(row[69]);
|
||||
entry.STA = atoi(row[70]);
|
||||
entry.DEX = atoi(row[71]);
|
||||
entry.AGI = atoi(row[72]);
|
||||
entry._INT = atoi(row[73]);
|
||||
entry.WIS = atoi(row[74]);
|
||||
entry.CHA = atoi(row[75]);
|
||||
entry.see_hide = atoi(row[76]);
|
||||
entry.see_improved_hide = atoi(row[77]);
|
||||
entry.trackable = atoi(row[78]);
|
||||
entry.isbot = atoi(row[79]);
|
||||
entry.exclude = atoi(row[80]);
|
||||
entry.ATK = atoi(row[81]);
|
||||
entry.Accuracy = atoi(row[82]);
|
||||
entry.Avoidance = atoi(row[83]);
|
||||
entry.slow_mitigation = atoi(row[84]);
|
||||
entry.version = atoi(row[85]);
|
||||
entry.maxlevel = atoi(row[86]);
|
||||
entry.scalerate = atoi(row[87]);
|
||||
entry.private_corpse = atoi(row[88]);
|
||||
entry.unique_spawn_by_name = atoi(row[89]);
|
||||
entry.underwater = atoi(row[90]);
|
||||
entry.isquest = atoi(row[91]);
|
||||
entry.emoteid = atoi(row[92]);
|
||||
entry.spellscale = static_cast<float>(atof(row[93]));
|
||||
entry.healscale = static_cast<float>(atof(row[94]));
|
||||
entry.no_target_hotkey = atoi(row[95]);
|
||||
entry.raid_target = atoi(row[96]);
|
||||
entry.armtexture = atoi(row[97]);
|
||||
entry.bracertexture = atoi(row[98]);
|
||||
entry.handtexture = atoi(row[99]);
|
||||
entry.legtexture = atoi(row[100]);
|
||||
entry.feettexture = atoi(row[101]);
|
||||
entry.light = atoi(row[102]);
|
||||
entry.walkspeed = atoi(row[103]);
|
||||
entry.peqid = atoi(row[104]);
|
||||
entry.unique_ = atoi(row[105]);
|
||||
entry.fixed = atoi(row[106]);
|
||||
entry.ignore_despawn = atoi(row[107]);
|
||||
entry.show_name = atoi(row[108]);
|
||||
entry.untargetable = atoi(row[109]);
|
||||
entry.charm_ac = atoi(row[110]);
|
||||
entry.charm_min_dmg = atoi(row[111]);
|
||||
entry.charm_max_dmg = atoi(row[112]);
|
||||
entry.charm_attack_delay = atoi(row[113]);
|
||||
entry.charm_accuracy_rating = atoi(row[114]);
|
||||
entry.charm_avoidance_rating = atoi(row[115]);
|
||||
entry.charm_atk = atoi(row[116]);
|
||||
entry.skip_global_loot = atoi(row[117]);
|
||||
entry.rare_spawn = atoi(row[118]);
|
||||
entry.stuck_behavior = atoi(row[119]);
|
||||
entry.model = atoi(row[120]);
|
||||
entry.flymode = atoi(row[121]);
|
||||
entry.always_aggro = atoi(row[122]);
|
||||
entry.exp_mod = atoi(row[123]);
|
||||
|
||||
all_entries.push_back(entry);
|
||||
}
|
||||
@@ -1363,122 +1372,123 @@ public:
|
||||
entry.race = atoi(row[4]);
|
||||
entry.class_ = atoi(row[5]);
|
||||
entry.bodytype = atoi(row[6]);
|
||||
entry.hp = atoi(row[7]);
|
||||
entry.mana = atoi(row[8]);
|
||||
entry.hp = strtoll(row[7], nullptr, 10);
|
||||
entry.mana = strtoll(row[8], nullptr, 10);
|
||||
entry.gender = atoi(row[9]);
|
||||
entry.texture = atoi(row[10]);
|
||||
entry.helmtexture = atoi(row[11]);
|
||||
entry.herosforgemodel = atoi(row[12]);
|
||||
entry.size = static_cast<float>(atof(row[13]));
|
||||
entry.hp_regen_rate = atoi(row[14]);
|
||||
entry.mana_regen_rate = atoi(row[15]);
|
||||
entry.loottable_id = atoi(row[16]);
|
||||
entry.merchant_id = atoi(row[17]);
|
||||
entry.alt_currency_id = atoi(row[18]);
|
||||
entry.npc_spells_id = atoi(row[19]);
|
||||
entry.npc_spells_effects_id = atoi(row[20]);
|
||||
entry.npc_faction_id = atoi(row[21]);
|
||||
entry.adventure_template_id = atoi(row[22]);
|
||||
entry.trap_template = atoi(row[23]);
|
||||
entry.mindmg = atoi(row[24]);
|
||||
entry.maxdmg = atoi(row[25]);
|
||||
entry.attack_count = atoi(row[26]);
|
||||
entry.npcspecialattks = row[27] ? row[27] : "";
|
||||
entry.special_abilities = row[28] ? row[28] : "";
|
||||
entry.aggroradius = atoi(row[29]);
|
||||
entry.assistradius = atoi(row[30]);
|
||||
entry.face = atoi(row[31]);
|
||||
entry.luclin_hairstyle = atoi(row[32]);
|
||||
entry.luclin_haircolor = atoi(row[33]);
|
||||
entry.luclin_eyecolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor2 = atoi(row[35]);
|
||||
entry.luclin_beardcolor = atoi(row[36]);
|
||||
entry.luclin_beard = atoi(row[37]);
|
||||
entry.drakkin_heritage = atoi(row[38]);
|
||||
entry.drakkin_tattoo = atoi(row[39]);
|
||||
entry.drakkin_details = atoi(row[40]);
|
||||
entry.armortint_id = atoi(row[41]);
|
||||
entry.armortint_red = atoi(row[42]);
|
||||
entry.armortint_green = atoi(row[43]);
|
||||
entry.armortint_blue = atoi(row[44]);
|
||||
entry.d_melee_texture1 = atoi(row[45]);
|
||||
entry.d_melee_texture2 = atoi(row[46]);
|
||||
entry.ammo_idfile = row[47] ? row[47] : "";
|
||||
entry.prim_melee_type = atoi(row[48]);
|
||||
entry.sec_melee_type = atoi(row[49]);
|
||||
entry.ranged_type = atoi(row[50]);
|
||||
entry.runspeed = static_cast<float>(atof(row[51]));
|
||||
entry.MR = atoi(row[52]);
|
||||
entry.CR = atoi(row[53]);
|
||||
entry.DR = atoi(row[54]);
|
||||
entry.FR = atoi(row[55]);
|
||||
entry.PR = atoi(row[56]);
|
||||
entry.Corrup = atoi(row[57]);
|
||||
entry.PhR = atoi(row[58]);
|
||||
entry.see_invis = atoi(row[59]);
|
||||
entry.see_invis_undead = atoi(row[60]);
|
||||
entry.qglobal = atoi(row[61]);
|
||||
entry.AC = atoi(row[62]);
|
||||
entry.npc_aggro = atoi(row[63]);
|
||||
entry.spawn_limit = atoi(row[64]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[65]));
|
||||
entry.attack_delay = atoi(row[66]);
|
||||
entry.findable = atoi(row[67]);
|
||||
entry.STR = atoi(row[68]);
|
||||
entry.STA = atoi(row[69]);
|
||||
entry.DEX = atoi(row[70]);
|
||||
entry.AGI = atoi(row[71]);
|
||||
entry._INT = atoi(row[72]);
|
||||
entry.WIS = atoi(row[73]);
|
||||
entry.CHA = atoi(row[74]);
|
||||
entry.see_hide = atoi(row[75]);
|
||||
entry.see_improved_hide = atoi(row[76]);
|
||||
entry.trackable = atoi(row[77]);
|
||||
entry.isbot = atoi(row[78]);
|
||||
entry.exclude = atoi(row[79]);
|
||||
entry.ATK = atoi(row[80]);
|
||||
entry.Accuracy = atoi(row[81]);
|
||||
entry.Avoidance = atoi(row[82]);
|
||||
entry.slow_mitigation = atoi(row[83]);
|
||||
entry.version = atoi(row[84]);
|
||||
entry.maxlevel = atoi(row[85]);
|
||||
entry.scalerate = atoi(row[86]);
|
||||
entry.private_corpse = atoi(row[87]);
|
||||
entry.unique_spawn_by_name = atoi(row[88]);
|
||||
entry.underwater = atoi(row[89]);
|
||||
entry.isquest = atoi(row[90]);
|
||||
entry.emoteid = atoi(row[91]);
|
||||
entry.spellscale = static_cast<float>(atof(row[92]));
|
||||
entry.healscale = static_cast<float>(atof(row[93]));
|
||||
entry.no_target_hotkey = atoi(row[94]);
|
||||
entry.raid_target = atoi(row[95]);
|
||||
entry.armtexture = atoi(row[96]);
|
||||
entry.bracertexture = atoi(row[97]);
|
||||
entry.handtexture = atoi(row[98]);
|
||||
entry.legtexture = atoi(row[99]);
|
||||
entry.feettexture = atoi(row[100]);
|
||||
entry.light = atoi(row[101]);
|
||||
entry.walkspeed = atoi(row[102]);
|
||||
entry.peqid = atoi(row[103]);
|
||||
entry.unique_ = atoi(row[104]);
|
||||
entry.fixed = atoi(row[105]);
|
||||
entry.ignore_despawn = atoi(row[106]);
|
||||
entry.show_name = atoi(row[107]);
|
||||
entry.untargetable = atoi(row[108]);
|
||||
entry.charm_ac = atoi(row[109]);
|
||||
entry.charm_min_dmg = atoi(row[110]);
|
||||
entry.charm_max_dmg = atoi(row[111]);
|
||||
entry.charm_attack_delay = atoi(row[112]);
|
||||
entry.charm_accuracy_rating = atoi(row[113]);
|
||||
entry.charm_avoidance_rating = atoi(row[114]);
|
||||
entry.charm_atk = atoi(row[115]);
|
||||
entry.skip_global_loot = atoi(row[116]);
|
||||
entry.rare_spawn = atoi(row[117]);
|
||||
entry.stuck_behavior = atoi(row[118]);
|
||||
entry.model = atoi(row[119]);
|
||||
entry.flymode = atoi(row[120]);
|
||||
entry.always_aggro = atoi(row[121]);
|
||||
entry.exp_mod = atoi(row[122]);
|
||||
entry.hp_regen_rate = strtoll(row[14], nullptr, 10);
|
||||
entry.hp_regen_per_second = strtoll(row[15], nullptr, 10);
|
||||
entry.mana_regen_rate = strtoll(row[16], nullptr, 10);
|
||||
entry.loottable_id = atoi(row[17]);
|
||||
entry.merchant_id = atoi(row[18]);
|
||||
entry.alt_currency_id = atoi(row[19]);
|
||||
entry.npc_spells_id = atoi(row[20]);
|
||||
entry.npc_spells_effects_id = atoi(row[21]);
|
||||
entry.npc_faction_id = atoi(row[22]);
|
||||
entry.adventure_template_id = atoi(row[23]);
|
||||
entry.trap_template = atoi(row[24]);
|
||||
entry.mindmg = atoi(row[25]);
|
||||
entry.maxdmg = atoi(row[26]);
|
||||
entry.attack_count = atoi(row[27]);
|
||||
entry.npcspecialattks = row[28] ? row[28] : "";
|
||||
entry.special_abilities = row[29] ? row[29] : "";
|
||||
entry.aggroradius = atoi(row[30]);
|
||||
entry.assistradius = atoi(row[31]);
|
||||
entry.face = atoi(row[32]);
|
||||
entry.luclin_hairstyle = atoi(row[33]);
|
||||
entry.luclin_haircolor = atoi(row[34]);
|
||||
entry.luclin_eyecolor = atoi(row[35]);
|
||||
entry.luclin_eyecolor2 = atoi(row[36]);
|
||||
entry.luclin_beardcolor = atoi(row[37]);
|
||||
entry.luclin_beard = atoi(row[38]);
|
||||
entry.drakkin_heritage = atoi(row[39]);
|
||||
entry.drakkin_tattoo = atoi(row[40]);
|
||||
entry.drakkin_details = atoi(row[41]);
|
||||
entry.armortint_id = atoi(row[42]);
|
||||
entry.armortint_red = atoi(row[43]);
|
||||
entry.armortint_green = atoi(row[44]);
|
||||
entry.armortint_blue = atoi(row[45]);
|
||||
entry.d_melee_texture1 = atoi(row[46]);
|
||||
entry.d_melee_texture2 = atoi(row[47]);
|
||||
entry.ammo_idfile = row[48] ? row[48] : "";
|
||||
entry.prim_melee_type = atoi(row[49]);
|
||||
entry.sec_melee_type = atoi(row[50]);
|
||||
entry.ranged_type = atoi(row[51]);
|
||||
entry.runspeed = static_cast<float>(atof(row[52]));
|
||||
entry.MR = atoi(row[53]);
|
||||
entry.CR = atoi(row[54]);
|
||||
entry.DR = atoi(row[55]);
|
||||
entry.FR = atoi(row[56]);
|
||||
entry.PR = atoi(row[57]);
|
||||
entry.Corrup = atoi(row[58]);
|
||||
entry.PhR = atoi(row[59]);
|
||||
entry.see_invis = atoi(row[60]);
|
||||
entry.see_invis_undead = atoi(row[61]);
|
||||
entry.qglobal = atoi(row[62]);
|
||||
entry.AC = atoi(row[63]);
|
||||
entry.npc_aggro = atoi(row[64]);
|
||||
entry.spawn_limit = atoi(row[65]);
|
||||
entry.attack_speed = static_cast<float>(atof(row[66]));
|
||||
entry.attack_delay = atoi(row[67]);
|
||||
entry.findable = atoi(row[68]);
|
||||
entry.STR = atoi(row[69]);
|
||||
entry.STA = atoi(row[70]);
|
||||
entry.DEX = atoi(row[71]);
|
||||
entry.AGI = atoi(row[72]);
|
||||
entry._INT = atoi(row[73]);
|
||||
entry.WIS = atoi(row[74]);
|
||||
entry.CHA = atoi(row[75]);
|
||||
entry.see_hide = atoi(row[76]);
|
||||
entry.see_improved_hide = atoi(row[77]);
|
||||
entry.trackable = atoi(row[78]);
|
||||
entry.isbot = atoi(row[79]);
|
||||
entry.exclude = atoi(row[80]);
|
||||
entry.ATK = atoi(row[81]);
|
||||
entry.Accuracy = atoi(row[82]);
|
||||
entry.Avoidance = atoi(row[83]);
|
||||
entry.slow_mitigation = atoi(row[84]);
|
||||
entry.version = atoi(row[85]);
|
||||
entry.maxlevel = atoi(row[86]);
|
||||
entry.scalerate = atoi(row[87]);
|
||||
entry.private_corpse = atoi(row[88]);
|
||||
entry.unique_spawn_by_name = atoi(row[89]);
|
||||
entry.underwater = atoi(row[90]);
|
||||
entry.isquest = atoi(row[91]);
|
||||
entry.emoteid = atoi(row[92]);
|
||||
entry.spellscale = static_cast<float>(atof(row[93]));
|
||||
entry.healscale = static_cast<float>(atof(row[94]));
|
||||
entry.no_target_hotkey = atoi(row[95]);
|
||||
entry.raid_target = atoi(row[96]);
|
||||
entry.armtexture = atoi(row[97]);
|
||||
entry.bracertexture = atoi(row[98]);
|
||||
entry.handtexture = atoi(row[99]);
|
||||
entry.legtexture = atoi(row[100]);
|
||||
entry.feettexture = atoi(row[101]);
|
||||
entry.light = atoi(row[102]);
|
||||
entry.walkspeed = atoi(row[103]);
|
||||
entry.peqid = atoi(row[104]);
|
||||
entry.unique_ = atoi(row[105]);
|
||||
entry.fixed = atoi(row[106]);
|
||||
entry.ignore_despawn = atoi(row[107]);
|
||||
entry.show_name = atoi(row[108]);
|
||||
entry.untargetable = atoi(row[109]);
|
||||
entry.charm_ac = atoi(row[110]);
|
||||
entry.charm_min_dmg = atoi(row[111]);
|
||||
entry.charm_max_dmg = atoi(row[112]);
|
||||
entry.charm_attack_delay = atoi(row[113]);
|
||||
entry.charm_accuracy_rating = atoi(row[114]);
|
||||
entry.charm_avoidance_rating = atoi(row[115]);
|
||||
entry.charm_atk = atoi(row[116]);
|
||||
entry.skip_global_loot = atoi(row[117]);
|
||||
entry.rare_spawn = atoi(row[118]);
|
||||
entry.stuck_behavior = atoi(row[119]);
|
||||
entry.model = atoi(row[120]);
|
||||
entry.flymode = atoi(row[121]);
|
||||
entry.always_aggro = atoi(row[122]);
|
||||
entry.exp_mod = atoi(row[123]);
|
||||
|
||||
all_entries.push_back(entry);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user