ソースを参照

scouting uses SIGHT_RADIUS bonus

Henning Koehler 8 年 前
コミット
1fa6cbe514
3 ファイル変更105 行追加1 行削除
  1. 102 0
      config/skills.json
  2. 2 0
      lib/CSkillHandler.cpp
  3. 1 1
      lib/mapObjects/CGHeroInstance.cpp

+ 102 - 0
config/skills.json

@@ -34,6 +34,108 @@
             ]
         }
     },
+    "archery" : {
+        "basic" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.archery",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 10,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "advanced" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.archery",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 25,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "expert" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.archery",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 50,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        }
+    },
+    "logistics" : {
+        "basic" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.logistics",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 10,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "advanced" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.logistics",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 20,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "expert" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "subtype" : "skill.logistics",
+                    "type" : "SECONDARY_SKILL_PREMY",
+                    "val" : 30,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        }
+    },
+    "scouting" : {
+        "basic" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "type" : "SIGHT_RADIOUS",
+                    "val" : 1,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "advanced" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "type" : "SIGHT_RADIOUS",
+                    "val" : 2,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        },
+        "expert" : {
+            "description" : "",
+            "effects" : [
+                {
+                    "type" : "SIGHT_RADIOUS",
+                    "val" : 3,
+                    "valueType" : "BASE_NUMBER"
+                }
+            ]
+        }
+    },
     "estates" : {
         "basic" : {
             "description" : "",

+ 2 - 0
lib/CSkillHandler.cpp

@@ -223,6 +223,8 @@ const std::shared_ptr<Bonus> CSkillHandler::defaultBonus(SecondarySkill skill, i
 		bonusVal = 5 + 5 * level * level; break;
 	case SecondarySkill::LOGISTICS:
 		bonusVal = 10 * level; break;
+	case SecondarySkill::SCOUTING:
+		bonusType = Bonus::SIGHT_RADIOUS; break;
 	case SecondarySkill::DIPLOMACY:
 		bonusType = Bonus::SURRENDER_DISCOUNT;
 		bonusVal = 20 * level; break;

+ 1 - 1
lib/mapObjects/CGHeroInstance.cpp

@@ -1071,7 +1071,7 @@ int3 CGHeroInstance::getSightCenter() const
 
 int CGHeroInstance::getSightRadius() const
 {
-	return 5 + getSecSkillLevel(SecondarySkill::SCOUTING) + valOfBonuses(Bonus::SIGHT_RADIOUS); //default + scouting
+	return 5 + valOfBonuses(Bonus::SIGHT_RADIOUS); // scouting gives SIGHT_RADIUS bonus
 }
 
 si32 CGHeroInstance::manaRegain() const