浏览代码

turned pathfinding effect into a bonus

Henning Koehler 8 年之前
父节点
当前提交
e8c32e05d8
共有 3 个文件被更改,包括 44 次插入7 次删除
  1. 41 6
      config/skills.json
  2. 2 0
      lib/CSkillHandler.cpp
  3. 1 1
      lib/mapObjects/CGHeroInstance.cpp

+ 41 - 6
config/skills.json

@@ -1,34 +1,69 @@
 {
+    "pathfinding" : {
+        "basic" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.pathfinding",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 25,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "advanced" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.pathfinding",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 50,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "expert" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.pathfinding",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 75,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        }
+    },
     "estates" : {
         "basic" : {
-            "description" : "Hero generates 250 gold each day.",
+            "description" : "",
             "effects" : [
                 {
                     "subtype" : "skill.estates",
                     "type" : "SECONDARY_SKILL_PREMY",
-                    "val" : 250,
+                    "val" : 125,
                     "valueType" : "BASE_NUMBER"
                 }
             ]
         },
         "advanced" : {
-            "description" : "Hero generates 500 gold each day.",
+            "description" : "",
             "effects" : [
                 {
                     "subtype" : "skill.estates",
                     "type" : "SECONDARY_SKILL_PREMY",
-                    "val" : 500,
+                    "val" : 250,
                     "valueType" : "BASE_NUMBER"
                 }
             ]
         },
         "expert" : {
-            "description" : "Hero generates 1000 gold each day.",
+            "description" : "",
             "effects" : [
                 {
                     "subtype" : "skill.estates",
                     "type" : "SECONDARY_SKILL_PREMY",
-                    "val" : 1000,
+                    "val" : 500,
                     "valueType" : "BASE_NUMBER"
                 }
             ]

+ 2 - 0
lib/CSkillHandler.cpp

@@ -217,6 +217,8 @@ const std::shared_ptr<Bonus> CSkillHandler::defaultBonus(SecondarySkill skill, i
 
 	switch (skill)
 	{
+	case SecondarySkill::PATHFINDING:
+		bonusVal = 25 * level; break;
 	case SecondarySkill::ARCHERY:
 		bonusVal = 5 + 5 * level * level; break;
 	case SecondarySkill::LOGISTICS:

+ 1 - 1
lib/mapObjects/CGHeroInstance.cpp

@@ -87,7 +87,7 @@ ui32 CGHeroInstance::getTileCost(const TerrainTile &dest, const TerrainTile &fro
 	else if(ti->nativeTerrain != from.terType && !ti->hasBonusOfType(Bonus::NO_TERRAIN_PENALTY, from.terType))
 	{
 		ret = VLC->heroh->terrCosts[from.terType];
-		ret -= getSecSkillLevel(SecondarySkill::PATHFINDING) * 25;
+		ret -= valOfBonuses(Selector::typeSubtype(Bonus::SECONDARY_SKILL_PREMY, SecondarySkill::PATHFINDING));
 		if(ret < GameConstants::BASE_MOVEMENT_COST)
 			ret = GameConstants::BASE_MOVEMENT_COST;
 	}