Browse Source

Fixes Status Database All CalcFlag (#6826)

* Fixes #6812.
* Resolves an issue with the All CalcFlag not properly being parsed for the Status Database resulting in these statuses not starting and ending the bonuses.
Thanks to @eppc0330!
Aleos 3 năm trước cách đây
mục cha
commit
f083caf28d
1 tập tin đã thay đổi với 8 bổ sung10 xóa
  1. 8 10
      src/map/status.cpp

+ 8 - 10
src/map/status.cpp

@@ -14759,18 +14759,16 @@ uint64 StatusDatabase::parseBodyNode(const ryml::NodeRef& node) {
 	if (this->nodeExists(node, "CalcFlags")) {
 		const ryml::NodeRef& flagNode = node["CalcFlags"];
 
-		for (const auto &it : flagNode) {
-			if (this->nodeExists(it, "All")) {
-				bool active;
+		if (this->nodeExists(flagNode, "All")) {
+			bool active;
 
-				if (!this->asBool(it, "All", active))
-					return 0;
+			if (!this->asBool(flagNode, "All", active))
+				return 0;
 
-				if (active)
-					status->calc_flag = this->getSCB_ALL();
-				else
-					status->calc_flag.reset();
-			}
+			if (active)
+				status->calc_flag = this->getSCB_ALL();
+			else
+				status->calc_flag.reset();
 		}
 
 		for (const auto &it : flagNode) {