浏览代码

Fix none-Of operator for skills

nordsoft 2 年之前
父节点
当前提交
d2e0d6a754
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      lib/mapObjects/JsonRandom.cpp

+ 7 - 1
lib/mapObjects/JsonRandom.cpp

@@ -11,6 +11,8 @@
 #include "StdInc.h"
 #include "JsonRandom.h"
 
+#include <vstd/StringUtils.h>
+
 #include "../JsonNode.h"
 #include "../CRandomGenerator.h"
 #include "../StringConstants.h"
@@ -150,7 +152,11 @@ namespace JsonRandom
 			for(const auto & skill : VLC->skillh->objects)
 			{
 				IObjectInterface::cb->isAllowed(2, skill->getIndex());
-				defaultSkills.insert(skill->getNameTextID());
+				auto scopeAndName = vstd::splitStringToPair(skill->getJsonKey(), ':');
+				if(scopeAndName.first == CModHandler::scopeBuiltin() || scopeAndName.first == value.meta)
+					defaultSkills.insert(scopeAndName.second);
+				else
+					defaultSkills.insert(skill->getJsonKey());
 			}
 			
 			for(const auto & element : value.Vector())