mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-10 22:42:25 +00:00
[Database] Add Extra Haste to Bots/Character Tables (#4286)
* [Database] Add Extra Haste to Bots/Character Tables * Remove Database::GetExtraHasteByCharacterID * Update database.h * Update mob.cpp * Update database_update_manifest.cpp --------- Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
parent
a71ad416b4
commit
7ad97ce168
@ -5557,6 +5557,17 @@ ALTER TABLE `npc_types`
|
|||||||
ADD COLUMN `is_parcel_merchant` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `keeps_sold_items`;
|
ADD COLUMN `is_parcel_merchant` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `keeps_sold_items`;
|
||||||
)",
|
)",
|
||||||
.content_schema_update = true
|
.content_schema_update = true
|
||||||
|
},
|
||||||
|
ManifestEntry{
|
||||||
|
.version = 9275,
|
||||||
|
.description = "2024_04_28_character_extra_haste.sql",
|
||||||
|
.check = "SHOW COLUMNS FROM `character_data` LIKE 'extra_haste'",
|
||||||
|
.condition = "empty",
|
||||||
|
.match = "",
|
||||||
|
.sql = R"(
|
||||||
|
ALTER TABLE `character_data`
|
||||||
|
ADD COLUMN `extra_haste` int(11) NOT NULL DEFAULT 0 AFTER `wis`;
|
||||||
|
)"
|
||||||
}
|
}
|
||||||
// -- template; copy/paste this when you need to create a new entry
|
// -- template; copy/paste this when you need to create a new entry
|
||||||
// ManifestEntry{
|
// ManifestEntry{
|
||||||
|
|||||||
@ -139,6 +139,17 @@ ADD COLUMN `augment_three` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_tw
|
|||||||
ADD COLUMN `augment_four` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_three`,
|
ADD COLUMN `augment_four` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_three`,
|
||||||
ADD COLUMN `augment_five` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_four`,
|
ADD COLUMN `augment_five` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_four`,
|
||||||
ADD COLUMN `augment_six` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_five`;
|
ADD COLUMN `augment_six` int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `augment_five`;
|
||||||
|
)"
|
||||||
|
},
|
||||||
|
ManifestEntry{
|
||||||
|
.version = 9044,
|
||||||
|
.description = "2024_04_23_bot_extra_haste.sql",
|
||||||
|
.check = "SHOW COLUMNS FROM `bot_data` LIKE 'extra_haste'",
|
||||||
|
.condition = "empty",
|
||||||
|
.match = "",
|
||||||
|
.sql = R"(
|
||||||
|
ALTER TABLE `bot_data`
|
||||||
|
ADD COLUMN `extra_haste` mediumint(8) NOT NULL DEFAULT 0 AFTER `wis`;
|
||||||
)"
|
)"
|
||||||
}
|
}
|
||||||
// -- template; copy/paste this when you need to create a new entry
|
// -- template; copy/paste this when you need to create a new entry
|
||||||
|
|||||||
@ -57,6 +57,7 @@ public:
|
|||||||
int32_t int_;
|
int32_t int_;
|
||||||
int32_t agi;
|
int32_t agi;
|
||||||
int32_t wis;
|
int32_t wis;
|
||||||
|
int32_t extra_haste;
|
||||||
int16_t fire;
|
int16_t fire;
|
||||||
int16_t cold;
|
int16_t cold;
|
||||||
int16_t magic;
|
int16_t magic;
|
||||||
@ -118,6 +119,7 @@ public:
|
|||||||
"`int`",
|
"`int`",
|
||||||
"agi",
|
"agi",
|
||||||
"wis",
|
"wis",
|
||||||
|
"extra_haste",
|
||||||
"fire",
|
"fire",
|
||||||
"cold",
|
"cold",
|
||||||
"magic",
|
"magic",
|
||||||
@ -175,6 +177,7 @@ public:
|
|||||||
"`int`",
|
"`int`",
|
||||||
"agi",
|
"agi",
|
||||||
"wis",
|
"wis",
|
||||||
|
"extra_haste",
|
||||||
"fire",
|
"fire",
|
||||||
"cold",
|
"cold",
|
||||||
"magic",
|
"magic",
|
||||||
@ -266,6 +269,7 @@ public:
|
|||||||
e.int_ = 75;
|
e.int_ = 75;
|
||||||
e.agi = 75;
|
e.agi = 75;
|
||||||
e.wis = 75;
|
e.wis = 75;
|
||||||
|
e.extra_haste = 0;
|
||||||
e.fire = 0;
|
e.fire = 0;
|
||||||
e.cold = 0;
|
e.cold = 0;
|
||||||
e.magic = 0;
|
e.magic = 0;
|
||||||
@ -353,19 +357,20 @@ public:
|
|||||||
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
||||||
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
||||||
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
||||||
e.fire = row[38] ? static_cast<int16_t>(atoi(row[38])) : 0;
|
e.extra_haste = row[38] ? static_cast<int32_t>(atoi(row[38])) : 0;
|
||||||
e.cold = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
e.fire = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
||||||
e.magic = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
e.cold = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
||||||
e.poison = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
e.magic = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
||||||
e.disease = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
e.poison = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
||||||
e.corruption = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
e.disease = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
||||||
e.show_helm = row[44] ? static_cast<uint32_t>(strtoul(row[44], nullptr, 10)) : 0;
|
e.corruption = row[44] ? static_cast<int16_t>(atoi(row[44])) : 0;
|
||||||
e.follow_distance = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 200;
|
e.show_helm = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 0;
|
||||||
e.stop_melee_level = row[46] ? static_cast<uint8_t>(strtoul(row[46], nullptr, 10)) : 255;
|
e.follow_distance = row[46] ? static_cast<uint32_t>(strtoul(row[46], nullptr, 10)) : 200;
|
||||||
e.expansion_bitmask = row[47] ? static_cast<int32_t>(atoi(row[47])) : -1;
|
e.stop_melee_level = row[47] ? static_cast<uint8_t>(strtoul(row[47], nullptr, 10)) : 255;
|
||||||
e.enforce_spell_settings = row[48] ? static_cast<uint8_t>(strtoul(row[48], nullptr, 10)) : 0;
|
e.expansion_bitmask = row[48] ? static_cast<int32_t>(atoi(row[48])) : -1;
|
||||||
e.archery_setting = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
e.enforce_spell_settings = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
||||||
e.caster_range = row[50] ? static_cast<uint32_t>(strtoul(row[50], nullptr, 10)) : 300;
|
e.archery_setting = row[50] ? static_cast<uint8_t>(strtoul(row[50], nullptr, 10)) : 0;
|
||||||
|
e.caster_range = row[51] ? static_cast<uint32_t>(strtoul(row[51], nullptr, 10)) : 300;
|
||||||
|
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
@ -436,19 +441,20 @@ public:
|
|||||||
v.push_back(columns[35] + " = " + std::to_string(e.int_));
|
v.push_back(columns[35] + " = " + std::to_string(e.int_));
|
||||||
v.push_back(columns[36] + " = " + std::to_string(e.agi));
|
v.push_back(columns[36] + " = " + std::to_string(e.agi));
|
||||||
v.push_back(columns[37] + " = " + std::to_string(e.wis));
|
v.push_back(columns[37] + " = " + std::to_string(e.wis));
|
||||||
v.push_back(columns[38] + " = " + std::to_string(e.fire));
|
v.push_back(columns[38] + " = " + std::to_string(e.extra_haste));
|
||||||
v.push_back(columns[39] + " = " + std::to_string(e.cold));
|
v.push_back(columns[39] + " = " + std::to_string(e.fire));
|
||||||
v.push_back(columns[40] + " = " + std::to_string(e.magic));
|
v.push_back(columns[40] + " = " + std::to_string(e.cold));
|
||||||
v.push_back(columns[41] + " = " + std::to_string(e.poison));
|
v.push_back(columns[41] + " = " + std::to_string(e.magic));
|
||||||
v.push_back(columns[42] + " = " + std::to_string(e.disease));
|
v.push_back(columns[42] + " = " + std::to_string(e.poison));
|
||||||
v.push_back(columns[43] + " = " + std::to_string(e.corruption));
|
v.push_back(columns[43] + " = " + std::to_string(e.disease));
|
||||||
v.push_back(columns[44] + " = " + std::to_string(e.show_helm));
|
v.push_back(columns[44] + " = " + std::to_string(e.corruption));
|
||||||
v.push_back(columns[45] + " = " + std::to_string(e.follow_distance));
|
v.push_back(columns[45] + " = " + std::to_string(e.show_helm));
|
||||||
v.push_back(columns[46] + " = " + std::to_string(e.stop_melee_level));
|
v.push_back(columns[46] + " = " + std::to_string(e.follow_distance));
|
||||||
v.push_back(columns[47] + " = " + std::to_string(e.expansion_bitmask));
|
v.push_back(columns[47] + " = " + std::to_string(e.stop_melee_level));
|
||||||
v.push_back(columns[48] + " = " + std::to_string(e.enforce_spell_settings));
|
v.push_back(columns[48] + " = " + std::to_string(e.expansion_bitmask));
|
||||||
v.push_back(columns[49] + " = " + std::to_string(e.archery_setting));
|
v.push_back(columns[49] + " = " + std::to_string(e.enforce_spell_settings));
|
||||||
v.push_back(columns[50] + " = " + std::to_string(e.caster_range));
|
v.push_back(columns[50] + " = " + std::to_string(e.archery_setting));
|
||||||
|
v.push_back(columns[51] + " = " + std::to_string(e.caster_range));
|
||||||
|
|
||||||
auto results = db.QueryDatabase(
|
auto results = db.QueryDatabase(
|
||||||
fmt::format(
|
fmt::format(
|
||||||
@ -508,6 +514,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.fire));
|
v.push_back(std::to_string(e.fire));
|
||||||
v.push_back(std::to_string(e.cold));
|
v.push_back(std::to_string(e.cold));
|
||||||
v.push_back(std::to_string(e.magic));
|
v.push_back(std::to_string(e.magic));
|
||||||
@ -588,6 +595,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.fire));
|
v.push_back(std::to_string(e.fire));
|
||||||
v.push_back(std::to_string(e.cold));
|
v.push_back(std::to_string(e.cold));
|
||||||
v.push_back(std::to_string(e.magic));
|
v.push_back(std::to_string(e.magic));
|
||||||
@ -672,19 +680,20 @@ public:
|
|||||||
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
||||||
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
||||||
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
||||||
e.fire = row[38] ? static_cast<int16_t>(atoi(row[38])) : 0;
|
e.extra_haste = row[38] ? static_cast<int32_t>(atoi(row[38])) : 0;
|
||||||
e.cold = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
e.fire = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
||||||
e.magic = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
e.cold = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
||||||
e.poison = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
e.magic = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
||||||
e.disease = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
e.poison = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
||||||
e.corruption = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
e.disease = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
||||||
e.show_helm = row[44] ? static_cast<uint32_t>(strtoul(row[44], nullptr, 10)) : 0;
|
e.corruption = row[44] ? static_cast<int16_t>(atoi(row[44])) : 0;
|
||||||
e.follow_distance = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 200;
|
e.show_helm = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 0;
|
||||||
e.stop_melee_level = row[46] ? static_cast<uint8_t>(strtoul(row[46], nullptr, 10)) : 255;
|
e.follow_distance = row[46] ? static_cast<uint32_t>(strtoul(row[46], nullptr, 10)) : 200;
|
||||||
e.expansion_bitmask = row[47] ? static_cast<int32_t>(atoi(row[47])) : -1;
|
e.stop_melee_level = row[47] ? static_cast<uint8_t>(strtoul(row[47], nullptr, 10)) : 255;
|
||||||
e.enforce_spell_settings = row[48] ? static_cast<uint8_t>(strtoul(row[48], nullptr, 10)) : 0;
|
e.expansion_bitmask = row[48] ? static_cast<int32_t>(atoi(row[48])) : -1;
|
||||||
e.archery_setting = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
e.enforce_spell_settings = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
||||||
e.caster_range = row[50] ? static_cast<uint32_t>(strtoul(row[50], nullptr, 10)) : 300;
|
e.archery_setting = row[50] ? static_cast<uint8_t>(strtoul(row[50], nullptr, 10)) : 0;
|
||||||
|
e.caster_range = row[51] ? static_cast<uint32_t>(strtoul(row[51], nullptr, 10)) : 300;
|
||||||
|
|
||||||
all_entries.push_back(e);
|
all_entries.push_back(e);
|
||||||
}
|
}
|
||||||
@ -747,19 +756,20 @@ public:
|
|||||||
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
e.int_ = row[35] ? static_cast<int32_t>(atoi(row[35])) : 75;
|
||||||
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
e.agi = row[36] ? static_cast<int32_t>(atoi(row[36])) : 75;
|
||||||
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
e.wis = row[37] ? static_cast<int32_t>(atoi(row[37])) : 75;
|
||||||
e.fire = row[38] ? static_cast<int16_t>(atoi(row[38])) : 0;
|
e.extra_haste = row[38] ? static_cast<int32_t>(atoi(row[38])) : 0;
|
||||||
e.cold = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
e.fire = row[39] ? static_cast<int16_t>(atoi(row[39])) : 0;
|
||||||
e.magic = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
e.cold = row[40] ? static_cast<int16_t>(atoi(row[40])) : 0;
|
||||||
e.poison = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
e.magic = row[41] ? static_cast<int16_t>(atoi(row[41])) : 0;
|
||||||
e.disease = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
e.poison = row[42] ? static_cast<int16_t>(atoi(row[42])) : 0;
|
||||||
e.corruption = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
e.disease = row[43] ? static_cast<int16_t>(atoi(row[43])) : 0;
|
||||||
e.show_helm = row[44] ? static_cast<uint32_t>(strtoul(row[44], nullptr, 10)) : 0;
|
e.corruption = row[44] ? static_cast<int16_t>(atoi(row[44])) : 0;
|
||||||
e.follow_distance = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 200;
|
e.show_helm = row[45] ? static_cast<uint32_t>(strtoul(row[45], nullptr, 10)) : 0;
|
||||||
e.stop_melee_level = row[46] ? static_cast<uint8_t>(strtoul(row[46], nullptr, 10)) : 255;
|
e.follow_distance = row[46] ? static_cast<uint32_t>(strtoul(row[46], nullptr, 10)) : 200;
|
||||||
e.expansion_bitmask = row[47] ? static_cast<int32_t>(atoi(row[47])) : -1;
|
e.stop_melee_level = row[47] ? static_cast<uint8_t>(strtoul(row[47], nullptr, 10)) : 255;
|
||||||
e.enforce_spell_settings = row[48] ? static_cast<uint8_t>(strtoul(row[48], nullptr, 10)) : 0;
|
e.expansion_bitmask = row[48] ? static_cast<int32_t>(atoi(row[48])) : -1;
|
||||||
e.archery_setting = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
e.enforce_spell_settings = row[49] ? static_cast<uint8_t>(strtoul(row[49], nullptr, 10)) : 0;
|
||||||
e.caster_range = row[50] ? static_cast<uint32_t>(strtoul(row[50], nullptr, 10)) : 300;
|
e.archery_setting = row[50] ? static_cast<uint8_t>(strtoul(row[50], nullptr, 10)) : 0;
|
||||||
|
e.caster_range = row[51] ? static_cast<uint32_t>(strtoul(row[51], nullptr, 10)) : 300;
|
||||||
|
|
||||||
all_entries.push_back(e);
|
all_entries.push_back(e);
|
||||||
}
|
}
|
||||||
@ -872,6 +882,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.fire));
|
v.push_back(std::to_string(e.fire));
|
||||||
v.push_back(std::to_string(e.cold));
|
v.push_back(std::to_string(e.cold));
|
||||||
v.push_back(std::to_string(e.magic));
|
v.push_back(std::to_string(e.magic));
|
||||||
@ -945,6 +956,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.fire));
|
v.push_back(std::to_string(e.fire));
|
||||||
v.push_back(std::to_string(e.cold));
|
v.push_back(std::to_string(e.cold));
|
||||||
v.push_back(std::to_string(e.magic));
|
v.push_back(std::to_string(e.magic));
|
||||||
|
|||||||
@ -77,6 +77,7 @@ public:
|
|||||||
uint32_t int_;
|
uint32_t int_;
|
||||||
uint32_t agi;
|
uint32_t agi;
|
||||||
uint32_t wis;
|
uint32_t wis;
|
||||||
|
int32_t extra_haste;
|
||||||
uint32_t zone_change_count;
|
uint32_t zone_change_count;
|
||||||
uint32_t toxicity;
|
uint32_t toxicity;
|
||||||
uint32_t hunger_level;
|
uint32_t hunger_level;
|
||||||
@ -190,6 +191,7 @@ public:
|
|||||||
"`int`",
|
"`int`",
|
||||||
"agi",
|
"agi",
|
||||||
"wis",
|
"wis",
|
||||||
|
"extra_haste",
|
||||||
"zone_change_count",
|
"zone_change_count",
|
||||||
"toxicity",
|
"toxicity",
|
||||||
"hunger_level",
|
"hunger_level",
|
||||||
@ -299,6 +301,7 @@ public:
|
|||||||
"`int`",
|
"`int`",
|
||||||
"agi",
|
"agi",
|
||||||
"wis",
|
"wis",
|
||||||
|
"extra_haste",
|
||||||
"zone_change_count",
|
"zone_change_count",
|
||||||
"toxicity",
|
"toxicity",
|
||||||
"hunger_level",
|
"hunger_level",
|
||||||
@ -442,6 +445,7 @@ public:
|
|||||||
e.int_ = 0;
|
e.int_ = 0;
|
||||||
e.agi = 0;
|
e.agi = 0;
|
||||||
e.wis = 0;
|
e.wis = 0;
|
||||||
|
e.extra_haste = 0;
|
||||||
e.zone_change_count = 0;
|
e.zone_change_count = 0;
|
||||||
e.toxicity = 0;
|
e.toxicity = 0;
|
||||||
e.hunger_level = 0;
|
e.hunger_level = 0;
|
||||||
@ -581,51 +585,52 @@ public:
|
|||||||
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
||||||
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
||||||
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
||||||
e.zone_change_count = row[58] ? static_cast<uint32_t>(strtoul(row[58], nullptr, 10)) : 0;
|
e.extra_haste = row[58] ? static_cast<int32_t>(atoi(row[58])) : 0;
|
||||||
e.toxicity = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
e.zone_change_count = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
||||||
e.hunger_level = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
e.toxicity = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
||||||
e.thirst_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
e.hunger_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
||||||
e.ability_up = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
e.thirst_level = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
||||||
e.ldon_points_guk = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
e.ability_up = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mir = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
e.ldon_points_guk = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mmc = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
e.ldon_points_mir = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
||||||
e.ldon_points_ruj = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
e.ldon_points_mmc = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
||||||
e.ldon_points_tak = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
e.ldon_points_ruj = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
||||||
e.ldon_points_available = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
e.ldon_points_tak = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
||||||
e.tribute_time_remaining = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
e.ldon_points_available = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
||||||
e.career_tribute_points = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
e.tribute_time_remaining = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
||||||
e.tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
e.career_tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
||||||
e.tribute_active = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
e.tribute_points = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
||||||
e.pvp_status = row[73] ? static_cast<uint8_t>(strtoul(row[73], nullptr, 10)) : 0;
|
e.tribute_active = row[73] ? static_cast<uint32_t>(strtoul(row[73], nullptr, 10)) : 0;
|
||||||
e.pvp_kills = row[74] ? static_cast<uint32_t>(strtoul(row[74], nullptr, 10)) : 0;
|
e.pvp_status = row[74] ? static_cast<uint8_t>(strtoul(row[74], nullptr, 10)) : 0;
|
||||||
e.pvp_deaths = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
e.pvp_kills = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
||||||
e.pvp_current_points = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
e.pvp_deaths = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
||||||
e.pvp_career_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
e.pvp_current_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
||||||
e.pvp_best_kill_streak = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
e.pvp_career_points = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
||||||
e.pvp_worst_death_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
e.pvp_best_kill_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
||||||
e.pvp_current_kill_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
e.pvp_worst_death_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
||||||
e.pvp2 = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
e.pvp_current_kill_streak = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
||||||
e.pvp_type = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
e.pvp2 = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
||||||
e.show_helm = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
e.pvp_type = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
||||||
e.group_auto_consent = row[84] ? static_cast<uint8_t>(strtoul(row[84], nullptr, 10)) : 0;
|
e.show_helm = row[84] ? static_cast<uint32_t>(strtoul(row[84], nullptr, 10)) : 0;
|
||||||
e.raid_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
e.group_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
||||||
e.guild_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
e.raid_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
||||||
e.leadership_exp_on = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
e.guild_auto_consent = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
||||||
e.RestTimer = row[88] ? static_cast<uint32_t>(strtoul(row[88], nullptr, 10)) : 0;
|
e.leadership_exp_on = row[88] ? static_cast<uint8_t>(strtoul(row[88], nullptr, 10)) : 0;
|
||||||
e.air_remaining = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
e.RestTimer = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
||||||
e.autosplit_enabled = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
e.air_remaining = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
||||||
e.lfp = row[91] ? static_cast<uint8_t>(strtoul(row[91], nullptr, 10)) : 0;
|
e.autosplit_enabled = row[91] ? static_cast<uint32_t>(strtoul(row[91], nullptr, 10)) : 0;
|
||||||
e.lfg = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
e.lfp = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
||||||
e.mailkey = row[93] ? row[93] : "";
|
e.lfg = row[93] ? static_cast<uint8_t>(strtoul(row[93], nullptr, 10)) : 0;
|
||||||
e.xtargets = row[94] ? static_cast<uint8_t>(strtoul(row[94], nullptr, 10)) : 5;
|
e.mailkey = row[94] ? row[94] : "";
|
||||||
e.firstlogon = row[95] ? static_cast<int8_t>(atoi(row[95])) : 0;
|
e.xtargets = row[95] ? static_cast<uint8_t>(strtoul(row[95], nullptr, 10)) : 5;
|
||||||
e.e_aa_effects = row[96] ? static_cast<uint32_t>(strtoul(row[96], nullptr, 10)) : 0;
|
e.firstlogon = row[96] ? static_cast<int8_t>(atoi(row[96])) : 0;
|
||||||
e.e_percent_to_aa = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
e.e_aa_effects = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
||||||
e.e_expended_aa_spent = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
e.e_percent_to_aa = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
||||||
e.aa_points_spent_old = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
e.e_expended_aa_spent = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
||||||
e.aa_points_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
e.aa_points_spent_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
||||||
e.e_last_invsnapshot = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
e.aa_points_old = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
||||||
e.deleted_at = strtoll(row[102] ? row[102] : "-1", nullptr, 10);
|
e.e_last_invsnapshot = row[102] ? static_cast<uint32_t>(strtoul(row[102], nullptr, 10)) : 0;
|
||||||
|
e.deleted_at = strtoll(row[103] ? row[103] : "-1", nullptr, 10);
|
||||||
|
|
||||||
return e;
|
return e;
|
||||||
}
|
}
|
||||||
@ -716,51 +721,52 @@ public:
|
|||||||
v.push_back(columns[55] + " = " + std::to_string(e.int_));
|
v.push_back(columns[55] + " = " + std::to_string(e.int_));
|
||||||
v.push_back(columns[56] + " = " + std::to_string(e.agi));
|
v.push_back(columns[56] + " = " + std::to_string(e.agi));
|
||||||
v.push_back(columns[57] + " = " + std::to_string(e.wis));
|
v.push_back(columns[57] + " = " + std::to_string(e.wis));
|
||||||
v.push_back(columns[58] + " = " + std::to_string(e.zone_change_count));
|
v.push_back(columns[58] + " = " + std::to_string(e.extra_haste));
|
||||||
v.push_back(columns[59] + " = " + std::to_string(e.toxicity));
|
v.push_back(columns[59] + " = " + std::to_string(e.zone_change_count));
|
||||||
v.push_back(columns[60] + " = " + std::to_string(e.hunger_level));
|
v.push_back(columns[60] + " = " + std::to_string(e.toxicity));
|
||||||
v.push_back(columns[61] + " = " + std::to_string(e.thirst_level));
|
v.push_back(columns[61] + " = " + std::to_string(e.hunger_level));
|
||||||
v.push_back(columns[62] + " = " + std::to_string(e.ability_up));
|
v.push_back(columns[62] + " = " + std::to_string(e.thirst_level));
|
||||||
v.push_back(columns[63] + " = " + std::to_string(e.ldon_points_guk));
|
v.push_back(columns[63] + " = " + std::to_string(e.ability_up));
|
||||||
v.push_back(columns[64] + " = " + std::to_string(e.ldon_points_mir));
|
v.push_back(columns[64] + " = " + std::to_string(e.ldon_points_guk));
|
||||||
v.push_back(columns[65] + " = " + std::to_string(e.ldon_points_mmc));
|
v.push_back(columns[65] + " = " + std::to_string(e.ldon_points_mir));
|
||||||
v.push_back(columns[66] + " = " + std::to_string(e.ldon_points_ruj));
|
v.push_back(columns[66] + " = " + std::to_string(e.ldon_points_mmc));
|
||||||
v.push_back(columns[67] + " = " + std::to_string(e.ldon_points_tak));
|
v.push_back(columns[67] + " = " + std::to_string(e.ldon_points_ruj));
|
||||||
v.push_back(columns[68] + " = " + std::to_string(e.ldon_points_available));
|
v.push_back(columns[68] + " = " + std::to_string(e.ldon_points_tak));
|
||||||
v.push_back(columns[69] + " = " + std::to_string(e.tribute_time_remaining));
|
v.push_back(columns[69] + " = " + std::to_string(e.ldon_points_available));
|
||||||
v.push_back(columns[70] + " = " + std::to_string(e.career_tribute_points));
|
v.push_back(columns[70] + " = " + std::to_string(e.tribute_time_remaining));
|
||||||
v.push_back(columns[71] + " = " + std::to_string(e.tribute_points));
|
v.push_back(columns[71] + " = " + std::to_string(e.career_tribute_points));
|
||||||
v.push_back(columns[72] + " = " + std::to_string(e.tribute_active));
|
v.push_back(columns[72] + " = " + std::to_string(e.tribute_points));
|
||||||
v.push_back(columns[73] + " = " + std::to_string(e.pvp_status));
|
v.push_back(columns[73] + " = " + std::to_string(e.tribute_active));
|
||||||
v.push_back(columns[74] + " = " + std::to_string(e.pvp_kills));
|
v.push_back(columns[74] + " = " + std::to_string(e.pvp_status));
|
||||||
v.push_back(columns[75] + " = " + std::to_string(e.pvp_deaths));
|
v.push_back(columns[75] + " = " + std::to_string(e.pvp_kills));
|
||||||
v.push_back(columns[76] + " = " + std::to_string(e.pvp_current_points));
|
v.push_back(columns[76] + " = " + std::to_string(e.pvp_deaths));
|
||||||
v.push_back(columns[77] + " = " + std::to_string(e.pvp_career_points));
|
v.push_back(columns[77] + " = " + std::to_string(e.pvp_current_points));
|
||||||
v.push_back(columns[78] + " = " + std::to_string(e.pvp_best_kill_streak));
|
v.push_back(columns[78] + " = " + std::to_string(e.pvp_career_points));
|
||||||
v.push_back(columns[79] + " = " + std::to_string(e.pvp_worst_death_streak));
|
v.push_back(columns[79] + " = " + std::to_string(e.pvp_best_kill_streak));
|
||||||
v.push_back(columns[80] + " = " + std::to_string(e.pvp_current_kill_streak));
|
v.push_back(columns[80] + " = " + std::to_string(e.pvp_worst_death_streak));
|
||||||
v.push_back(columns[81] + " = " + std::to_string(e.pvp2));
|
v.push_back(columns[81] + " = " + std::to_string(e.pvp_current_kill_streak));
|
||||||
v.push_back(columns[82] + " = " + std::to_string(e.pvp_type));
|
v.push_back(columns[82] + " = " + std::to_string(e.pvp2));
|
||||||
v.push_back(columns[83] + " = " + std::to_string(e.show_helm));
|
v.push_back(columns[83] + " = " + std::to_string(e.pvp_type));
|
||||||
v.push_back(columns[84] + " = " + std::to_string(e.group_auto_consent));
|
v.push_back(columns[84] + " = " + std::to_string(e.show_helm));
|
||||||
v.push_back(columns[85] + " = " + std::to_string(e.raid_auto_consent));
|
v.push_back(columns[85] + " = " + std::to_string(e.group_auto_consent));
|
||||||
v.push_back(columns[86] + " = " + std::to_string(e.guild_auto_consent));
|
v.push_back(columns[86] + " = " + std::to_string(e.raid_auto_consent));
|
||||||
v.push_back(columns[87] + " = " + std::to_string(e.leadership_exp_on));
|
v.push_back(columns[87] + " = " + std::to_string(e.guild_auto_consent));
|
||||||
v.push_back(columns[88] + " = " + std::to_string(e.RestTimer));
|
v.push_back(columns[88] + " = " + std::to_string(e.leadership_exp_on));
|
||||||
v.push_back(columns[89] + " = " + std::to_string(e.air_remaining));
|
v.push_back(columns[89] + " = " + std::to_string(e.RestTimer));
|
||||||
v.push_back(columns[90] + " = " + std::to_string(e.autosplit_enabled));
|
v.push_back(columns[90] + " = " + std::to_string(e.air_remaining));
|
||||||
v.push_back(columns[91] + " = " + std::to_string(e.lfp));
|
v.push_back(columns[91] + " = " + std::to_string(e.autosplit_enabled));
|
||||||
v.push_back(columns[92] + " = " + std::to_string(e.lfg));
|
v.push_back(columns[92] + " = " + std::to_string(e.lfp));
|
||||||
v.push_back(columns[93] + " = '" + Strings::Escape(e.mailkey) + "'");
|
v.push_back(columns[93] + " = " + std::to_string(e.lfg));
|
||||||
v.push_back(columns[94] + " = " + std::to_string(e.xtargets));
|
v.push_back(columns[94] + " = '" + Strings::Escape(e.mailkey) + "'");
|
||||||
v.push_back(columns[95] + " = " + std::to_string(e.firstlogon));
|
v.push_back(columns[95] + " = " + std::to_string(e.xtargets));
|
||||||
v.push_back(columns[96] + " = " + std::to_string(e.e_aa_effects));
|
v.push_back(columns[96] + " = " + std::to_string(e.firstlogon));
|
||||||
v.push_back(columns[97] + " = " + std::to_string(e.e_percent_to_aa));
|
v.push_back(columns[97] + " = " + std::to_string(e.e_aa_effects));
|
||||||
v.push_back(columns[98] + " = " + std::to_string(e.e_expended_aa_spent));
|
v.push_back(columns[98] + " = " + std::to_string(e.e_percent_to_aa));
|
||||||
v.push_back(columns[99] + " = " + std::to_string(e.aa_points_spent_old));
|
v.push_back(columns[99] + " = " + std::to_string(e.e_expended_aa_spent));
|
||||||
v.push_back(columns[100] + " = " + std::to_string(e.aa_points_old));
|
v.push_back(columns[100] + " = " + std::to_string(e.aa_points_spent_old));
|
||||||
v.push_back(columns[101] + " = " + std::to_string(e.e_last_invsnapshot));
|
v.push_back(columns[101] + " = " + std::to_string(e.aa_points_old));
|
||||||
v.push_back(columns[102] + " = FROM_UNIXTIME(" + (e.deleted_at > 0 ? std::to_string(e.deleted_at) : "null") + ")");
|
v.push_back(columns[102] + " = " + std::to_string(e.e_last_invsnapshot));
|
||||||
|
v.push_back(columns[103] + " = FROM_UNIXTIME(" + (e.deleted_at > 0 ? std::to_string(e.deleted_at) : "null") + ")");
|
||||||
|
|
||||||
auto results = db.QueryDatabase(
|
auto results = db.QueryDatabase(
|
||||||
fmt::format(
|
fmt::format(
|
||||||
@ -840,6 +846,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.zone_change_count));
|
v.push_back(std::to_string(e.zone_change_count));
|
||||||
v.push_back(std::to_string(e.toxicity));
|
v.push_back(std::to_string(e.toxicity));
|
||||||
v.push_back(std::to_string(e.hunger_level));
|
v.push_back(std::to_string(e.hunger_level));
|
||||||
@ -972,6 +979,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.zone_change_count));
|
v.push_back(std::to_string(e.zone_change_count));
|
||||||
v.push_back(std::to_string(e.toxicity));
|
v.push_back(std::to_string(e.toxicity));
|
||||||
v.push_back(std::to_string(e.hunger_level));
|
v.push_back(std::to_string(e.hunger_level));
|
||||||
@ -1108,51 +1116,52 @@ public:
|
|||||||
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
||||||
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
||||||
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
||||||
e.zone_change_count = row[58] ? static_cast<uint32_t>(strtoul(row[58], nullptr, 10)) : 0;
|
e.extra_haste = row[58] ? static_cast<int32_t>(atoi(row[58])) : 0;
|
||||||
e.toxicity = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
e.zone_change_count = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
||||||
e.hunger_level = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
e.toxicity = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
||||||
e.thirst_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
e.hunger_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
||||||
e.ability_up = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
e.thirst_level = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
||||||
e.ldon_points_guk = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
e.ability_up = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mir = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
e.ldon_points_guk = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mmc = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
e.ldon_points_mir = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
||||||
e.ldon_points_ruj = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
e.ldon_points_mmc = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
||||||
e.ldon_points_tak = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
e.ldon_points_ruj = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
||||||
e.ldon_points_available = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
e.ldon_points_tak = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
||||||
e.tribute_time_remaining = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
e.ldon_points_available = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
||||||
e.career_tribute_points = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
e.tribute_time_remaining = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
||||||
e.tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
e.career_tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
||||||
e.tribute_active = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
e.tribute_points = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
||||||
e.pvp_status = row[73] ? static_cast<uint8_t>(strtoul(row[73], nullptr, 10)) : 0;
|
e.tribute_active = row[73] ? static_cast<uint32_t>(strtoul(row[73], nullptr, 10)) : 0;
|
||||||
e.pvp_kills = row[74] ? static_cast<uint32_t>(strtoul(row[74], nullptr, 10)) : 0;
|
e.pvp_status = row[74] ? static_cast<uint8_t>(strtoul(row[74], nullptr, 10)) : 0;
|
||||||
e.pvp_deaths = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
e.pvp_kills = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
||||||
e.pvp_current_points = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
e.pvp_deaths = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
||||||
e.pvp_career_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
e.pvp_current_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
||||||
e.pvp_best_kill_streak = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
e.pvp_career_points = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
||||||
e.pvp_worst_death_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
e.pvp_best_kill_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
||||||
e.pvp_current_kill_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
e.pvp_worst_death_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
||||||
e.pvp2 = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
e.pvp_current_kill_streak = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
||||||
e.pvp_type = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
e.pvp2 = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
||||||
e.show_helm = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
e.pvp_type = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
||||||
e.group_auto_consent = row[84] ? static_cast<uint8_t>(strtoul(row[84], nullptr, 10)) : 0;
|
e.show_helm = row[84] ? static_cast<uint32_t>(strtoul(row[84], nullptr, 10)) : 0;
|
||||||
e.raid_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
e.group_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
||||||
e.guild_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
e.raid_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
||||||
e.leadership_exp_on = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
e.guild_auto_consent = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
||||||
e.RestTimer = row[88] ? static_cast<uint32_t>(strtoul(row[88], nullptr, 10)) : 0;
|
e.leadership_exp_on = row[88] ? static_cast<uint8_t>(strtoul(row[88], nullptr, 10)) : 0;
|
||||||
e.air_remaining = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
e.RestTimer = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
||||||
e.autosplit_enabled = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
e.air_remaining = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
||||||
e.lfp = row[91] ? static_cast<uint8_t>(strtoul(row[91], nullptr, 10)) : 0;
|
e.autosplit_enabled = row[91] ? static_cast<uint32_t>(strtoul(row[91], nullptr, 10)) : 0;
|
||||||
e.lfg = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
e.lfp = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
||||||
e.mailkey = row[93] ? row[93] : "";
|
e.lfg = row[93] ? static_cast<uint8_t>(strtoul(row[93], nullptr, 10)) : 0;
|
||||||
e.xtargets = row[94] ? static_cast<uint8_t>(strtoul(row[94], nullptr, 10)) : 5;
|
e.mailkey = row[94] ? row[94] : "";
|
||||||
e.firstlogon = row[95] ? static_cast<int8_t>(atoi(row[95])) : 0;
|
e.xtargets = row[95] ? static_cast<uint8_t>(strtoul(row[95], nullptr, 10)) : 5;
|
||||||
e.e_aa_effects = row[96] ? static_cast<uint32_t>(strtoul(row[96], nullptr, 10)) : 0;
|
e.firstlogon = row[96] ? static_cast<int8_t>(atoi(row[96])) : 0;
|
||||||
e.e_percent_to_aa = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
e.e_aa_effects = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
||||||
e.e_expended_aa_spent = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
e.e_percent_to_aa = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
||||||
e.aa_points_spent_old = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
e.e_expended_aa_spent = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
||||||
e.aa_points_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
e.aa_points_spent_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
||||||
e.e_last_invsnapshot = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
e.aa_points_old = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
||||||
e.deleted_at = strtoll(row[102] ? row[102] : "-1", nullptr, 10);
|
e.e_last_invsnapshot = row[102] ? static_cast<uint32_t>(strtoul(row[102], nullptr, 10)) : 0;
|
||||||
|
e.deleted_at = strtoll(row[103] ? row[103] : "-1", nullptr, 10);
|
||||||
|
|
||||||
all_entries.push_back(e);
|
all_entries.push_back(e);
|
||||||
}
|
}
|
||||||
@ -1235,51 +1244,52 @@ public:
|
|||||||
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
e.int_ = row[55] ? static_cast<uint32_t>(strtoul(row[55], nullptr, 10)) : 0;
|
||||||
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
e.agi = row[56] ? static_cast<uint32_t>(strtoul(row[56], nullptr, 10)) : 0;
|
||||||
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
e.wis = row[57] ? static_cast<uint32_t>(strtoul(row[57], nullptr, 10)) : 0;
|
||||||
e.zone_change_count = row[58] ? static_cast<uint32_t>(strtoul(row[58], nullptr, 10)) : 0;
|
e.extra_haste = row[58] ? static_cast<int32_t>(atoi(row[58])) : 0;
|
||||||
e.toxicity = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
e.zone_change_count = row[59] ? static_cast<uint32_t>(strtoul(row[59], nullptr, 10)) : 0;
|
||||||
e.hunger_level = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
e.toxicity = row[60] ? static_cast<uint32_t>(strtoul(row[60], nullptr, 10)) : 0;
|
||||||
e.thirst_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
e.hunger_level = row[61] ? static_cast<uint32_t>(strtoul(row[61], nullptr, 10)) : 0;
|
||||||
e.ability_up = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
e.thirst_level = row[62] ? static_cast<uint32_t>(strtoul(row[62], nullptr, 10)) : 0;
|
||||||
e.ldon_points_guk = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
e.ability_up = row[63] ? static_cast<uint32_t>(strtoul(row[63], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mir = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
e.ldon_points_guk = row[64] ? static_cast<uint32_t>(strtoul(row[64], nullptr, 10)) : 0;
|
||||||
e.ldon_points_mmc = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
e.ldon_points_mir = row[65] ? static_cast<uint32_t>(strtoul(row[65], nullptr, 10)) : 0;
|
||||||
e.ldon_points_ruj = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
e.ldon_points_mmc = row[66] ? static_cast<uint32_t>(strtoul(row[66], nullptr, 10)) : 0;
|
||||||
e.ldon_points_tak = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
e.ldon_points_ruj = row[67] ? static_cast<uint32_t>(strtoul(row[67], nullptr, 10)) : 0;
|
||||||
e.ldon_points_available = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
e.ldon_points_tak = row[68] ? static_cast<uint32_t>(strtoul(row[68], nullptr, 10)) : 0;
|
||||||
e.tribute_time_remaining = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
e.ldon_points_available = row[69] ? static_cast<uint32_t>(strtoul(row[69], nullptr, 10)) : 0;
|
||||||
e.career_tribute_points = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
e.tribute_time_remaining = row[70] ? static_cast<uint32_t>(strtoul(row[70], nullptr, 10)) : 0;
|
||||||
e.tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
e.career_tribute_points = row[71] ? static_cast<uint32_t>(strtoul(row[71], nullptr, 10)) : 0;
|
||||||
e.tribute_active = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
e.tribute_points = row[72] ? static_cast<uint32_t>(strtoul(row[72], nullptr, 10)) : 0;
|
||||||
e.pvp_status = row[73] ? static_cast<uint8_t>(strtoul(row[73], nullptr, 10)) : 0;
|
e.tribute_active = row[73] ? static_cast<uint32_t>(strtoul(row[73], nullptr, 10)) : 0;
|
||||||
e.pvp_kills = row[74] ? static_cast<uint32_t>(strtoul(row[74], nullptr, 10)) : 0;
|
e.pvp_status = row[74] ? static_cast<uint8_t>(strtoul(row[74], nullptr, 10)) : 0;
|
||||||
e.pvp_deaths = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
e.pvp_kills = row[75] ? static_cast<uint32_t>(strtoul(row[75], nullptr, 10)) : 0;
|
||||||
e.pvp_current_points = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
e.pvp_deaths = row[76] ? static_cast<uint32_t>(strtoul(row[76], nullptr, 10)) : 0;
|
||||||
e.pvp_career_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
e.pvp_current_points = row[77] ? static_cast<uint32_t>(strtoul(row[77], nullptr, 10)) : 0;
|
||||||
e.pvp_best_kill_streak = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
e.pvp_career_points = row[78] ? static_cast<uint32_t>(strtoul(row[78], nullptr, 10)) : 0;
|
||||||
e.pvp_worst_death_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
e.pvp_best_kill_streak = row[79] ? static_cast<uint32_t>(strtoul(row[79], nullptr, 10)) : 0;
|
||||||
e.pvp_current_kill_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
e.pvp_worst_death_streak = row[80] ? static_cast<uint32_t>(strtoul(row[80], nullptr, 10)) : 0;
|
||||||
e.pvp2 = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
e.pvp_current_kill_streak = row[81] ? static_cast<uint32_t>(strtoul(row[81], nullptr, 10)) : 0;
|
||||||
e.pvp_type = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
e.pvp2 = row[82] ? static_cast<uint32_t>(strtoul(row[82], nullptr, 10)) : 0;
|
||||||
e.show_helm = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
e.pvp_type = row[83] ? static_cast<uint32_t>(strtoul(row[83], nullptr, 10)) : 0;
|
||||||
e.group_auto_consent = row[84] ? static_cast<uint8_t>(strtoul(row[84], nullptr, 10)) : 0;
|
e.show_helm = row[84] ? static_cast<uint32_t>(strtoul(row[84], nullptr, 10)) : 0;
|
||||||
e.raid_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
e.group_auto_consent = row[85] ? static_cast<uint8_t>(strtoul(row[85], nullptr, 10)) : 0;
|
||||||
e.guild_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
e.raid_auto_consent = row[86] ? static_cast<uint8_t>(strtoul(row[86], nullptr, 10)) : 0;
|
||||||
e.leadership_exp_on = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
e.guild_auto_consent = row[87] ? static_cast<uint8_t>(strtoul(row[87], nullptr, 10)) : 0;
|
||||||
e.RestTimer = row[88] ? static_cast<uint32_t>(strtoul(row[88], nullptr, 10)) : 0;
|
e.leadership_exp_on = row[88] ? static_cast<uint8_t>(strtoul(row[88], nullptr, 10)) : 0;
|
||||||
e.air_remaining = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
e.RestTimer = row[89] ? static_cast<uint32_t>(strtoul(row[89], nullptr, 10)) : 0;
|
||||||
e.autosplit_enabled = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
e.air_remaining = row[90] ? static_cast<uint32_t>(strtoul(row[90], nullptr, 10)) : 0;
|
||||||
e.lfp = row[91] ? static_cast<uint8_t>(strtoul(row[91], nullptr, 10)) : 0;
|
e.autosplit_enabled = row[91] ? static_cast<uint32_t>(strtoul(row[91], nullptr, 10)) : 0;
|
||||||
e.lfg = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
e.lfp = row[92] ? static_cast<uint8_t>(strtoul(row[92], nullptr, 10)) : 0;
|
||||||
e.mailkey = row[93] ? row[93] : "";
|
e.lfg = row[93] ? static_cast<uint8_t>(strtoul(row[93], nullptr, 10)) : 0;
|
||||||
e.xtargets = row[94] ? static_cast<uint8_t>(strtoul(row[94], nullptr, 10)) : 5;
|
e.mailkey = row[94] ? row[94] : "";
|
||||||
e.firstlogon = row[95] ? static_cast<int8_t>(atoi(row[95])) : 0;
|
e.xtargets = row[95] ? static_cast<uint8_t>(strtoul(row[95], nullptr, 10)) : 5;
|
||||||
e.e_aa_effects = row[96] ? static_cast<uint32_t>(strtoul(row[96], nullptr, 10)) : 0;
|
e.firstlogon = row[96] ? static_cast<int8_t>(atoi(row[96])) : 0;
|
||||||
e.e_percent_to_aa = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
e.e_aa_effects = row[97] ? static_cast<uint32_t>(strtoul(row[97], nullptr, 10)) : 0;
|
||||||
e.e_expended_aa_spent = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
e.e_percent_to_aa = row[98] ? static_cast<uint32_t>(strtoul(row[98], nullptr, 10)) : 0;
|
||||||
e.aa_points_spent_old = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
e.e_expended_aa_spent = row[99] ? static_cast<uint32_t>(strtoul(row[99], nullptr, 10)) : 0;
|
||||||
e.aa_points_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
e.aa_points_spent_old = row[100] ? static_cast<uint32_t>(strtoul(row[100], nullptr, 10)) : 0;
|
||||||
e.e_last_invsnapshot = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
e.aa_points_old = row[101] ? static_cast<uint32_t>(strtoul(row[101], nullptr, 10)) : 0;
|
||||||
e.deleted_at = strtoll(row[102] ? row[102] : "-1", nullptr, 10);
|
e.e_last_invsnapshot = row[102] ? static_cast<uint32_t>(strtoul(row[102], nullptr, 10)) : 0;
|
||||||
|
e.deleted_at = strtoll(row[103] ? row[103] : "-1", nullptr, 10);
|
||||||
|
|
||||||
all_entries.push_back(e);
|
all_entries.push_back(e);
|
||||||
}
|
}
|
||||||
@ -1412,6 +1422,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.zone_change_count));
|
v.push_back(std::to_string(e.zone_change_count));
|
||||||
v.push_back(std::to_string(e.toxicity));
|
v.push_back(std::to_string(e.toxicity));
|
||||||
v.push_back(std::to_string(e.hunger_level));
|
v.push_back(std::to_string(e.hunger_level));
|
||||||
@ -1537,6 +1548,7 @@ public:
|
|||||||
v.push_back(std::to_string(e.int_));
|
v.push_back(std::to_string(e.int_));
|
||||||
v.push_back(std::to_string(e.agi));
|
v.push_back(std::to_string(e.agi));
|
||||||
v.push_back(std::to_string(e.wis));
|
v.push_back(std::to_string(e.wis));
|
||||||
|
v.push_back(std::to_string(e.extra_haste));
|
||||||
v.push_back(std::to_string(e.zone_change_count));
|
v.push_back(std::to_string(e.zone_change_count));
|
||||||
v.push_back(std::to_string(e.toxicity));
|
v.push_back(std::to_string(e.toxicity));
|
||||||
v.push_back(std::to_string(e.hunger_level));
|
v.push_back(std::to_string(e.hunger_level));
|
||||||
|
|||||||
@ -42,8 +42,8 @@
|
|||||||
* Manifest: https://github.com/EQEmu/Server/blob/master/utils/sql/db_update_manifest.txt
|
* Manifest: https://github.com/EQEmu/Server/blob/master/utils/sql/db_update_manifest.txt
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define CURRENT_BINARY_DATABASE_VERSION 9274
|
#define CURRENT_BINARY_DATABASE_VERSION 9275
|
||||||
#define CURRENT_BINARY_BOTS_DATABASE_VERSION 9043
|
#define CURRENT_BINARY_BOTS_DATABASE_VERSION 9044
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -118,6 +118,8 @@ Bot::Bot(NPCType *npcTypeData, Client* botOwner) : NPC(npcTypeData, nullptr, glm
|
|||||||
mana_regen = CalcManaRegen();
|
mana_regen = CalcManaRegen();
|
||||||
end_regen = CalcEnduranceRegen();
|
end_regen = CalcEnduranceRegen();
|
||||||
|
|
||||||
|
SetExtraHaste(database.botdb.GetBotExtraHasteByID(GetBotID()), false);
|
||||||
|
|
||||||
strcpy(name, GetCleanName());
|
strcpy(name, GetCleanName());
|
||||||
memset(&_botInspectMessage, 0, sizeof(InspectMessage_Struct));
|
memset(&_botInspectMessage, 0, sizeof(InspectMessage_Struct));
|
||||||
}
|
}
|
||||||
@ -445,6 +447,8 @@ Bot::Bot(
|
|||||||
}
|
}
|
||||||
|
|
||||||
cur_end = max_end;
|
cur_end = max_end;
|
||||||
|
|
||||||
|
SetExtraHaste(database.botdb.GetBotExtraHasteByID(GetBotID()), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
Bot::~Bot() {
|
Bot::~Bot() {
|
||||||
|
|||||||
@ -2353,3 +2353,10 @@ const uint16 BotDatabase::GetBotRaceByID(const uint32 bot_id)
|
|||||||
|
|
||||||
return e.bot_id ? e.race : Race::Doug;
|
return e.bot_id ? e.race : Race::Doug;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const int BotDatabase::GetBotExtraHasteByID(const uint32 bot_id)
|
||||||
|
{
|
||||||
|
const auto& e = BotDataRepository::FindOne(database, bot_id);
|
||||||
|
|
||||||
|
return e.bot_id ? e.extra_haste : 0;
|
||||||
|
}
|
||||||
|
|||||||
@ -166,6 +166,7 @@ public:
|
|||||||
const uint8 GetBotLevelByID(const uint32 bot_id);
|
const uint8 GetBotLevelByID(const uint32 bot_id);
|
||||||
const std::string GetBotNameByID(const uint32 bot_id);
|
const std::string GetBotNameByID(const uint32 bot_id);
|
||||||
const uint16 GetBotRaceByID(const uint32 bot_id);
|
const uint16 GetBotRaceByID(const uint32 bot_id);
|
||||||
|
const int GetBotExtraHasteByID(const uint32 bot_id);
|
||||||
|
|
||||||
class fail {
|
class fail {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@ -322,7 +322,7 @@ int64 Client::CalcMaxHP()
|
|||||||
//but the actual effect sent on live causes the client
|
//but the actual effect sent on live causes the client
|
||||||
//to apply it to (basehp + itemhp).. I will oblige to the client's whims over
|
//to apply it to (basehp + itemhp).. I will oblige to the client's whims over
|
||||||
//the aa description
|
//the aa description
|
||||||
|
|
||||||
nd += aabonuses.PercentMaxHPChange + spellbonuses.PercentMaxHPChange + itembonuses.PercentMaxHPChange; //Natural Durability, Physical Enhancement, Planar Durability
|
nd += aabonuses.PercentMaxHPChange + spellbonuses.PercentMaxHPChange + itembonuses.PercentMaxHPChange; //Natural Durability, Physical Enhancement, Planar Durability
|
||||||
max_hp = (float)max_hp * (float)nd / (float)10000; //this is to fix the HP-above-495k issue
|
max_hp = (float)max_hp * (float)nd / (float)10000; //this is to fix the HP-above-495k issue
|
||||||
max_hp += spellbonuses.FlatMaxHPChange + aabonuses.FlatMaxHPChange + itembonuses.FlatMaxHPChange;
|
max_hp += spellbonuses.FlatMaxHPChange + aabonuses.FlatMaxHPChange + itembonuses.FlatMaxHPChange;
|
||||||
@ -999,7 +999,7 @@ int Client::CalcHaste()
|
|||||||
else { // 1-50
|
else { // 1-50
|
||||||
h += spellbonuses.hastetype3 > 10 ? 10 : spellbonuses.hastetype3;
|
h += spellbonuses.hastetype3 > 10 ? 10 : spellbonuses.hastetype3;
|
||||||
}
|
}
|
||||||
h += ExtraHaste; //GM granted haste.
|
h += extra_haste; //GM granted haste.
|
||||||
Haste = 100 + h;
|
Haste = 100 + h;
|
||||||
return Haste;
|
return Haste;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1284,7 +1284,7 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
/* Load Character Data */
|
/* Load Character Data */
|
||||||
query = fmt::format(
|
query = fmt::format(
|
||||||
"SELECT `lfp`, `lfg`, `xtargets`, `firstlogon`, `guild_id`, `rank`, `exp_enabled`, `tribute_enable` FROM `character_data` LEFT JOIN `guild_members` ON `id` = `char_id` WHERE `id` = {}",
|
"SELECT `lfp`, `lfg`, `xtargets`, `firstlogon`, `guild_id`, `rank`, `exp_enabled`, `tribute_enable`, `extra_haste` FROM `character_data` LEFT JOIN `guild_members` ON `id` = `char_id` WHERE `id` = {}",
|
||||||
cid
|
cid
|
||||||
);
|
);
|
||||||
auto results = database.QueryDatabase(query);
|
auto results = database.QueryDatabase(query);
|
||||||
@ -1295,7 +1295,8 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
|
|||||||
guild_tribute_opt_in = row[7] ? Strings::ToBool(row[7]) : 0;
|
guild_tribute_opt_in = row[7] ? Strings::ToBool(row[7]) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetEXPEnabled(atobool(row[6]));
|
SetEXPEnabled(Strings::ToBool(row[6]));
|
||||||
|
SetExtraHaste(Strings::ToInt(row[8]), false);
|
||||||
|
|
||||||
if (LFP) { LFP = Strings::ToInt(row[0]); }
|
if (LFP) { LFP = Strings::ToInt(row[0]); }
|
||||||
if (LFG) { LFG = Strings::ToInt(row[1]); }
|
if (LFG) { LFG = Strings::ToInt(row[1]); }
|
||||||
|
|||||||
@ -2,28 +2,36 @@
|
|||||||
|
|
||||||
void SetHaste(Client *c, const Seperator *sep)
|
void SetHaste(Client *c, const Seperator *sep)
|
||||||
{
|
{
|
||||||
const auto arguments = sep->argnum;
|
const uint16 arguments = sep->argnum;
|
||||||
if (arguments < 2 || !sep->IsNumber(2)) {
|
if (arguments < 2 || !sep->IsNumber(2)) {
|
||||||
c->Message(Chat::White, "Usage: #set haste [Percentage] - Set GM Bonus Haste (100 is 100% more Attack Speed)");
|
c->Message(Chat::White, "Usage: #set haste [Percentage] [Save] - Set GM Bonus Haste (100 is 100% more Attack Speed) (Save is optional)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto t = c;
|
Mob* t = c;
|
||||||
if (c->GetGM() && c->GetTarget() && c->GetTarget()->IsClient()) {
|
if (c->GetGM() && c->GetTarget() && c->GetTarget()->IsOfClientBot()) {
|
||||||
t = c->GetTarget()->CastToClient();
|
t = c->GetTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
const int extra_haste = Strings::ToInt(sep->arg[2]);
|
const int extra_haste = Strings::ToInt(sep->arg[2]);
|
||||||
|
const bool need_to_save = sep->arg[3] ? Strings::ToBool(sep->arg[3]) : false;
|
||||||
|
|
||||||
|
t->SetExtraHaste(extra_haste, need_to_save);
|
||||||
|
|
||||||
|
if (t->IsBot()) {
|
||||||
|
t->CastToBot()->CalcBonuses();
|
||||||
|
} else if (t->IsClient()) {
|
||||||
|
t->CastToClient()->CalcBonuses();
|
||||||
|
}
|
||||||
|
|
||||||
t->SetExtraHaste(extra_haste);
|
|
||||||
t->CalcBonuses();
|
|
||||||
t->SetAttackTimer();
|
t->SetAttackTimer();
|
||||||
|
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::White,
|
Chat::White,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"GM Haste Bonus set to {}%% for {}.",
|
"GM Haste Bonus set to {}%%{} for {}.",
|
||||||
Strings::Commify(extra_haste),
|
Strings::Commify(extra_haste),
|
||||||
|
need_to_save ? " and saved" : "",
|
||||||
c->GetTargetDescription(t)
|
c->GetTargetDescription(t)
|
||||||
).c_str()
|
).c_str()
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1186,6 +1186,11 @@ void Lua_Mob::SetExtraHaste(int haste) {
|
|||||||
self->SetExtraHaste(haste);
|
self->SetExtraHaste(haste);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Lua_Mob::SetExtraHaste(int haste, bool need_to_save) {
|
||||||
|
Lua_Safe_Call_Void();
|
||||||
|
self->SetExtraHaste(haste, need_to_save);
|
||||||
|
}
|
||||||
|
|
||||||
int Lua_Mob::GetHaste() {
|
int Lua_Mob::GetHaste() {
|
||||||
Lua_Safe_Call_Int();
|
Lua_Safe_Call_Int();
|
||||||
return self->GetHaste();
|
return self->GetHaste();
|
||||||
@ -3369,6 +3374,12 @@ std::string Lua_Mob::GetConsiderColor(uint8 other_level)
|
|||||||
return EQ::constants::GetConsiderColorName(self->GetLevelCon(other_level));
|
return EQ::constants::GetConsiderColorName(self->GetLevelCon(other_level));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Lua_Mob::GetExtraHaste()
|
||||||
|
{
|
||||||
|
Lua_Safe_Call_Int();
|
||||||
|
return self->GetExtraHaste();
|
||||||
|
}
|
||||||
|
|
||||||
luabind::scope lua_register_mob() {
|
luabind::scope lua_register_mob() {
|
||||||
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
return luabind::class_<Lua_Mob, Lua_Entity>("Mob")
|
||||||
.def(luabind::constructor<>())
|
.def(luabind::constructor<>())
|
||||||
@ -3605,6 +3616,7 @@ luabind::scope lua_register_mob() {
|
|||||||
.def("GetDrakkinTattoo", &Lua_Mob::GetDrakkinTattoo)
|
.def("GetDrakkinTattoo", &Lua_Mob::GetDrakkinTattoo)
|
||||||
.def("GetEntityVariable", &Lua_Mob::GetEntityVariable)
|
.def("GetEntityVariable", &Lua_Mob::GetEntityVariable)
|
||||||
.def("GetEntityVariables",&Lua_Mob::GetEntityVariables)
|
.def("GetEntityVariables",&Lua_Mob::GetEntityVariables)
|
||||||
|
.def("GetExtraHaste",&Lua_Mob::GetExtraHaste)
|
||||||
.def("GetEyeColor1", &Lua_Mob::GetEyeColor1)
|
.def("GetEyeColor1", &Lua_Mob::GetEyeColor1)
|
||||||
.def("GetEyeColor2", &Lua_Mob::GetEyeColor2)
|
.def("GetEyeColor2", &Lua_Mob::GetEyeColor2)
|
||||||
.def("GetFR", &Lua_Mob::GetFR)
|
.def("GetFR", &Lua_Mob::GetFR)
|
||||||
@ -3868,6 +3880,7 @@ luabind::scope lua_register_mob() {
|
|||||||
.def("SetDisableMelee", (void(Lua_Mob::*)(bool))&Lua_Mob::SetDisableMelee)
|
.def("SetDisableMelee", (void(Lua_Mob::*)(bool))&Lua_Mob::SetDisableMelee)
|
||||||
.def("SetEntityVariable", &Lua_Mob::SetEntityVariable)
|
.def("SetEntityVariable", &Lua_Mob::SetEntityVariable)
|
||||||
.def("SetExtraHaste", (void(Lua_Mob::*)(int))&Lua_Mob::SetExtraHaste)
|
.def("SetExtraHaste", (void(Lua_Mob::*)(int))&Lua_Mob::SetExtraHaste)
|
||||||
|
.def("SetExtraHaste", (void(Lua_Mob::*)(int,bool))&Lua_Mob::SetExtraHaste)
|
||||||
.def("SetFlurryChance", (void(Lua_Mob::*)(int))&Lua_Mob::SetFlurryChance)
|
.def("SetFlurryChance", (void(Lua_Mob::*)(int))&Lua_Mob::SetFlurryChance)
|
||||||
.def("SetFlyMode", (void(Lua_Mob::*)(int))&Lua_Mob::SetFlyMode)
|
.def("SetFlyMode", (void(Lua_Mob::*)(int))&Lua_Mob::SetFlyMode)
|
||||||
.def("SetGender", (void(Lua_Mob::*)(uint8))&Lua_Mob::SetGender)
|
.def("SetGender", (void(Lua_Mob::*)(uint8))&Lua_Mob::SetGender)
|
||||||
|
|||||||
@ -269,7 +269,6 @@ public:
|
|||||||
bool CanThisClassBlock();
|
bool CanThisClassBlock();
|
||||||
void SetInvul(bool value);
|
void SetInvul(bool value);
|
||||||
bool GetInvul();
|
bool GetInvul();
|
||||||
void SetExtraHaste(int haste);
|
|
||||||
int GetHaste();
|
int GetHaste();
|
||||||
int GetHandToHandDamage();
|
int GetHandToHandDamage();
|
||||||
int GetHandToHandDelay();
|
int GetHandToHandDelay();
|
||||||
@ -592,6 +591,9 @@ public:
|
|||||||
bool IsWisdomCasterClass();
|
bool IsWisdomCasterClass();
|
||||||
std::string GetConsiderColor(Lua_Mob other);
|
std::string GetConsiderColor(Lua_Mob other);
|
||||||
std::string GetConsiderColor(uint8 other_level);
|
std::string GetConsiderColor(uint8 other_level);
|
||||||
|
int GetExtraHaste();
|
||||||
|
void SetExtraHaste(int haste);
|
||||||
|
void SetExtraHaste(int haste, bool need_to_save);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
38
zone/mob.cpp
38
zone/mob.cpp
@ -21,6 +21,9 @@
|
|||||||
#include "../common/strings.h"
|
#include "../common/strings.h"
|
||||||
#include "../common/misc_functions.h"
|
#include "../common/misc_functions.h"
|
||||||
|
|
||||||
|
#include "../common/repositories/bot_data_repository.h"
|
||||||
|
#include "../common/repositories/character_data_repository.h"
|
||||||
|
|
||||||
#include "data_bucket.h"
|
#include "data_bucket.h"
|
||||||
#include "quest_parser_collection.h"
|
#include "quest_parser_collection.h"
|
||||||
#include "string_ids.h"
|
#include "string_ids.h"
|
||||||
@ -260,7 +263,7 @@ Mob::Mob(
|
|||||||
WIS = in_wis;
|
WIS = in_wis;
|
||||||
CHA = in_cha;
|
CHA = in_cha;
|
||||||
MR = CR = FR = DR = PR = Corrup = PhR = 0;
|
MR = CR = FR = DR = PR = Corrup = PhR = 0;
|
||||||
ExtraHaste = 0;
|
extra_haste = 0;
|
||||||
bEnraged = false;
|
bEnraged = false;
|
||||||
current_mana = 0;
|
current_mana = 0;
|
||||||
max_mana = 0;
|
max_mana = 0;
|
||||||
@ -2408,7 +2411,7 @@ void Mob::SendStatsWindow(Client* c, bool use_window)
|
|||||||
DialogueWindow::TableRow(
|
DialogueWindow::TableRow(
|
||||||
DialogueWindow::TableCell(Strings::Commify(itembonuses.haste)) +
|
DialogueWindow::TableCell(Strings::Commify(itembonuses.haste)) +
|
||||||
DialogueWindow::TableCell(Strings::Commify(spellbonuses.haste + spellbonuses.hastetype2)) +
|
DialogueWindow::TableCell(Strings::Commify(spellbonuses.haste + spellbonuses.hastetype2)) +
|
||||||
DialogueWindow::TableCell(Strings::Commify(spellbonuses.hastetype3 + ExtraHaste)) +
|
DialogueWindow::TableCell(Strings::Commify(spellbonuses.hastetype3 + extra_haste)) +
|
||||||
DialogueWindow::TableCell(
|
DialogueWindow::TableCell(
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"{} ({})",
|
"{} ({})",
|
||||||
@ -2688,7 +2691,7 @@ void Mob::SendStatsWindow(Client* c, bool use_window)
|
|||||||
Strings::Commify(RuleI(Character, HasteCap)),
|
Strings::Commify(RuleI(Character, HasteCap)),
|
||||||
Strings::Commify(itembonuses.haste),
|
Strings::Commify(itembonuses.haste),
|
||||||
Strings::Commify(spellbonuses.haste + spellbonuses.hastetype2),
|
Strings::Commify(spellbonuses.haste + spellbonuses.hastetype2),
|
||||||
Strings::Commify(spellbonuses.hastetype3 + ExtraHaste)
|
Strings::Commify(spellbonuses.hastetype3 + extra_haste)
|
||||||
).c_str()
|
).c_str()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -5460,7 +5463,7 @@ int Mob::GetHaste()
|
|||||||
} else { // 1-50
|
} else { // 1-50
|
||||||
h += spellbonuses.hastetype3 > 10 ? 10 : spellbonuses.hastetype3;
|
h += spellbonuses.hastetype3 > 10 ? 10 : spellbonuses.hastetype3;
|
||||||
}
|
}
|
||||||
h += ExtraHaste; //GM granted haste.
|
h += extra_haste; //GM granted haste.
|
||||||
|
|
||||||
return 100 + h;
|
return 100 + h;
|
||||||
}
|
}
|
||||||
@ -8550,3 +8553,30 @@ void Mob::HandleDoorOpen()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Mob::SetExtraHaste(int haste, bool need_to_save)
|
||||||
|
{
|
||||||
|
extra_haste = haste;
|
||||||
|
|
||||||
|
if (need_to_save) {
|
||||||
|
if (IsBot()) {
|
||||||
|
auto e = BotDataRepository::FindOne(database, CastToBot()->GetBotID());
|
||||||
|
if (!e.bot_id) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
e.extra_haste = haste;
|
||||||
|
|
||||||
|
BotDataRepository::UpdateOne(database, e);
|
||||||
|
} else if (IsClient()) {
|
||||||
|
auto e = CharacterDataRepository::FindOne(database, CastToClient()->CharacterID());
|
||||||
|
if (!e.id) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
e.extra_haste = haste;
|
||||||
|
|
||||||
|
CharacterDataRepository::UpdateOne(database, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -1104,7 +1104,8 @@ public:
|
|||||||
virtual void SetAttackTimer();
|
virtual void SetAttackTimer();
|
||||||
inline void SetInvul(bool invul) { invulnerable=invul; }
|
inline void SetInvul(bool invul) { invulnerable=invul; }
|
||||||
inline bool GetInvul(void) { return invulnerable; }
|
inline bool GetInvul(void) { return invulnerable; }
|
||||||
inline void SetExtraHaste(int Haste) { ExtraHaste = Haste; }
|
void SetExtraHaste(int haste, bool need_to_save = true);
|
||||||
|
inline int GetExtraHaste() { return extra_haste; }
|
||||||
virtual int GetHaste();
|
virtual int GetHaste();
|
||||||
int32 GetMeleeMitigation();
|
int32 GetMeleeMitigation();
|
||||||
|
|
||||||
@ -1722,7 +1723,7 @@ protected:
|
|||||||
|
|
||||||
uint8 aa_title;
|
uint8 aa_title;
|
||||||
|
|
||||||
int ExtraHaste; // for the #haste command
|
int extra_haste; // for the #haste command
|
||||||
bool mezzed;
|
bool mezzed;
|
||||||
bool stunned;
|
bool stunned;
|
||||||
bool charmed; //this isnt fully implemented yet
|
bool charmed; //this isnt fully implemented yet
|
||||||
|
|||||||
@ -1154,6 +1154,16 @@ void Perl_Mob_SetExtraHaste(Mob* self, int haste) // @categories Script Utility,
|
|||||||
self->SetExtraHaste(haste);
|
self->SetExtraHaste(haste);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Perl_Mob_SetExtraHaste(Mob* self, int haste, bool need_to_save) // @categories Script Utility, Stats and Attributes
|
||||||
|
{
|
||||||
|
self->SetExtraHaste(haste, need_to_save);
|
||||||
|
}
|
||||||
|
|
||||||
|
int Perl_Mob_GetExtraHaste(Mob* self) // @categories Script Utility, Stats and Attributes
|
||||||
|
{
|
||||||
|
return self->GetExtraHaste();
|
||||||
|
}
|
||||||
|
|
||||||
int Perl_Mob_GetHaste(Mob* self) // @categories Stats and Attributes
|
int Perl_Mob_GetHaste(Mob* self) // @categories Stats and Attributes
|
||||||
{
|
{
|
||||||
return self->GetHaste();
|
return self->GetHaste();
|
||||||
@ -3700,6 +3710,7 @@ void perl_register_mob()
|
|||||||
package.add("GetEquipment", &Perl_Mob_GetEquipment);
|
package.add("GetEquipment", &Perl_Mob_GetEquipment);
|
||||||
package.add("GetEquipmentColor", &Perl_Mob_GetEquipmentColor);
|
package.add("GetEquipmentColor", &Perl_Mob_GetEquipmentColor);
|
||||||
package.add("GetEquipmentMaterial", &Perl_Mob_GetEquipmentMaterial);
|
package.add("GetEquipmentMaterial", &Perl_Mob_GetEquipmentMaterial);
|
||||||
|
package.add("GetExtraHaste", &Perl_Mob_GetExtraHaste);
|
||||||
package.add("GetEyeColor1", &Perl_Mob_GetEyeColor1);
|
package.add("GetEyeColor1", &Perl_Mob_GetEyeColor1);
|
||||||
package.add("GetEyeColor2", &Perl_Mob_GetEyeColor2);
|
package.add("GetEyeColor2", &Perl_Mob_GetEyeColor2);
|
||||||
package.add("GetFR", &Perl_Mob_GetFR);
|
package.add("GetFR", &Perl_Mob_GetFR);
|
||||||
@ -4023,7 +4034,8 @@ void perl_register_mob()
|
|||||||
package.add("SetDeltas", &Perl_Mob_SetDeltas);
|
package.add("SetDeltas", &Perl_Mob_SetDeltas);
|
||||||
package.add("SetDisableMelee", &Perl_Mob_SetDisableMelee);
|
package.add("SetDisableMelee", &Perl_Mob_SetDisableMelee);
|
||||||
package.add("SetEntityVariable", &Perl_Mob_SetEntityVariable);
|
package.add("SetEntityVariable", &Perl_Mob_SetEntityVariable);
|
||||||
package.add("SetExtraHaste", &Perl_Mob_SetExtraHaste);
|
package.add("SetExtraHaste", (void(*)(Mob*, int))&Perl_Mob_SetExtraHaste);
|
||||||
|
package.add("SetExtraHaste", (void(*)(Mob*, int, bool))&Perl_Mob_SetExtraHaste);
|
||||||
package.add("SetFlurryChance", &Perl_Mob_SetFlurryChance);
|
package.add("SetFlurryChance", &Perl_Mob_SetFlurryChance);
|
||||||
package.add("SetFlyMode", &Perl_Mob_SetFlyMode);
|
package.add("SetFlyMode", &Perl_Mob_SetFlyMode);
|
||||||
package.add("SetFollowID", &Perl_Mob_SetFollowID);
|
package.add("SetFollowID", &Perl_Mob_SetFollowID);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user