Pre-Re Monster Stats, CSV2YAML Converter, Damage Inaccuracy Fix (#8278)
- Fixed several pre-re monster stats being 1 instead of 0
* Issue was introduced in 05a17d8 as safety measure to prevent division by 0, but it results in wrong damage numbers
* Players can get 0 on stats as well, so it's better to put such safety measures at the point where the division takes place
- Minimum stat for monsters is now 0 instead of 1
- Monsters that have 0 Luk after this change can no longer be cursed
- Improved csv2yaml converter to no longer lose the information whether a stat is 0 or 1
- Fixed an issue with converting Race2 in the csv2yaml converter
- Removed arbitrary "+1 MATK" bonus that was probably added due to people not figuring out why the damage was off by 1
- Fixed small damage inaccuracy issue in PVP
- Fixes #8277
This commit is contained in:
@@ -4592,7 +4592,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Str", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.str = max(1, stat);
|
||||
mob->status.str = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "Agi")) {
|
||||
@@ -4601,7 +4601,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Agi", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.agi = max(1, stat);
|
||||
mob->status.agi = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "Vit")) {
|
||||
@@ -4610,7 +4610,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Vit", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.vit = max(1, stat);
|
||||
mob->status.vit = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "Int")) {
|
||||
@@ -4619,7 +4619,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Int", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.int_ = max(1, stat);
|
||||
mob->status.int_ = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "Dex")) {
|
||||
@@ -4628,7 +4628,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Dex", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.dex = max(1, stat);
|
||||
mob->status.dex = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "Luk")) {
|
||||
@@ -4637,7 +4637,7 @@ uint64 MobDatabase::parseBodyNode(const ryml::NodeRef& node) {
|
||||
if (!this->asUInt16(node, "Luk", stat))
|
||||
return 0;
|
||||
|
||||
mob->status.luk = max(1, stat);
|
||||
mob->status.luk = max(0, stat);
|
||||
}
|
||||
|
||||
if (this->nodeExists(node, "AttackRange")) {
|
||||
|
||||
Reference in New Issue
Block a user