mirror of
https://github.com/vcmi/vcmi.git
synced 2026-06-19 22:57:37 +02:00
Removed remaining integer bonus subtypes from configs
This commit is contained in:
+104
-115
@@ -42,7 +42,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -107,13 +107,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 12,
|
"val" : 12,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -191,13 +191,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 12,
|
"val" : 12,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -210,7 +210,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -223,7 +223,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -249,7 +249,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -275,13 +275,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 10,
|
"val" : 10,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : -2,
|
"val" : -2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -307,7 +307,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -333,7 +333,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -346,7 +346,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -359,13 +359,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 10,
|
"val" : 10,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : -2,
|
"val" : -2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -378,25 +378,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -409,25 +409,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -440,25 +440,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -471,25 +471,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -502,25 +502,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -533,25 +533,25 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -564,13 +564,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -583,13 +583,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -602,13 +602,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -621,13 +621,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -640,13 +640,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -659,13 +659,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -678,13 +678,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -697,13 +697,13 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -870,7 +870,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "MAGIC_RESISTANCE",
|
"type" : "MAGIC_RESISTANCE",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -883,7 +882,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "MAGIC_RESISTANCE",
|
"type" : "MAGIC_RESISTANCE",
|
||||||
"val" : 10,
|
"val" : 10,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -896,7 +894,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "MAGIC_RESISTANCE",
|
"type" : "MAGIC_RESISTANCE",
|
||||||
"val" : 15,
|
"val" : 15,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -910,7 +907,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "ADDITIVE_VALUE",
|
"valueType" : "ADDITIVE_VALUE",
|
||||||
"limiters" : [
|
"limiters" : [
|
||||||
@@ -918,10 +915,10 @@
|
|||||||
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
"PERCENTAGE_DAMAGE_BOOST",
|
"PERCENTAGE_DAMAGE_BOOST",
|
||||||
1,
|
"damageTypeRanged",
|
||||||
{
|
{
|
||||||
"type" : "SECONDARY_SKILL",
|
"type" : "SECONDARY_SKILL",
|
||||||
"id" : "skill.archery"
|
"id" : "secondarySkill.archery"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -936,7 +933,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"val" : 10,
|
"val" : 10,
|
||||||
"valueType" : "ADDITIVE_VALUE",
|
"valueType" : "ADDITIVE_VALUE",
|
||||||
"limiters" : [
|
"limiters" : [
|
||||||
@@ -944,10 +941,10 @@
|
|||||||
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
"PERCENTAGE_DAMAGE_BOOST",
|
"PERCENTAGE_DAMAGE_BOOST",
|
||||||
1,
|
"damageTypeRanged",
|
||||||
{
|
{
|
||||||
"type" : "SECONDARY_SKILL",
|
"type" : "SECONDARY_SKILL",
|
||||||
"id" : "skill.archery"
|
"id" : "secondarySkill.archery"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -962,7 +959,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"val" : 15,
|
"val" : 15,
|
||||||
"valueType" : "ADDITIVE_VALUE",
|
"valueType" : "ADDITIVE_VALUE",
|
||||||
"limiters" : [
|
"limiters" : [
|
||||||
@@ -970,10 +967,10 @@
|
|||||||
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
"PERCENTAGE_DAMAGE_BOOST",
|
"PERCENTAGE_DAMAGE_BOOST",
|
||||||
1,
|
"damageTypeRanged",
|
||||||
{
|
{
|
||||||
"type" : "SECONDARY_SKILL",
|
"type" : "SECONDARY_SKILL",
|
||||||
"id" : "skill.archery"
|
"id" : "secondarySkill.archery"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -987,7 +984,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
@@ -1000,7 +996,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"val" : 10,
|
"val" : 10,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
@@ -1013,7 +1008,6 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"val" : 15,
|
"val" : 15,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
@@ -1075,7 +1069,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"val" : 300,
|
"val" : 300,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
@@ -1089,7 +1083,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"val" : 1000,
|
"val" : 1000,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
@@ -1277,7 +1271,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "SPELLS_OF_SCHOOL",
|
"type" : "SPELLS_OF_SCHOOL",
|
||||||
"subtype" : 1,
|
"subtype" : "fire",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -1290,7 +1284,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "SPELLS_OF_SCHOOL",
|
"type" : "SPELLS_OF_SCHOOL",
|
||||||
"subtype" : 0,
|
"subtype" : "air",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -1303,7 +1297,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "SPELLS_OF_SCHOOL",
|
"type" : "SPELLS_OF_SCHOOL",
|
||||||
"subtype" : 2,
|
"subtype" : "water",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -1316,7 +1310,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "SPELLS_OF_SCHOOL",
|
"type" : "SPELLS_OF_SCHOOL",
|
||||||
"subtype" : 3,
|
"subtype" : "earth",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -1342,14 +1336,12 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"limiters" : ["SHOOTER_ONLY"],
|
"limiters" : ["SHOOTER_ONLY"],
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "NO_DISTANCE_PENALTY",
|
"type" : "NO_DISTANCE_PENALTY",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"limiters" : ["SHOOTER_ONLY"],
|
"limiters" : ["SHOOTER_ONLY"],
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "NO_WALL_PENALTY",
|
"type" : "NO_WALL_PENALTY",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
@@ -1362,7 +1354,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 35,
|
"subtype" : "dispel",
|
||||||
"type" : "SPELL_IMMUNITY",
|
"type" : "SPELL_IMMUNITY",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER",
|
"valueType" : "BASE_NUMBER",
|
||||||
@@ -1377,14 +1369,14 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "NEGATE_ALL_NATURAL_IMMUNITIES",
|
"type" : "NEGATE_ALL_NATURAL_IMMUNITIES",
|
||||||
"subtype" : 0,
|
"subtype" : "immunityBattleWide",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER",
|
"valueType" : "BASE_NUMBER",
|
||||||
"propagator": "BATTLE_WIDE"
|
"propagator": "BATTLE_WIDE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type" : "NEGATE_ALL_NATURAL_IMMUNITIES",
|
"type" : "NEGATE_ALL_NATURAL_IMMUNITIES",
|
||||||
"subtype" : 1,
|
"subtype" : "immunityEnemyHero",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
@@ -1457,7 +1449,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"val" : 600,
|
"val" : 600,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
@@ -1738,7 +1730,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : 1,
|
"subtype" : "creatureLevel1",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@@ -1751,7 +1743,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : 2,
|
"subtype" : "creatureLevel2",
|
||||||
"val" : 4,
|
"val" : 4,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@@ -1764,7 +1756,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : 3,
|
"subtype" : "creatureLevel3",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@@ -1777,7 +1769,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : 4,
|
"subtype" : "creatureLevel4",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@@ -1790,7 +1782,7 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"type" : "CREATURE_GROWTH",
|
"type" : "CREATURE_GROWTH",
|
||||||
"subtype" : 5,
|
"subtype" : "creatureLevel5",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"propagator": "VISITED_TOWN_AND_VISITOR"
|
"propagator": "VISITED_TOWN_AND_VISITOR"
|
||||||
}
|
}
|
||||||
@@ -1807,7 +1799,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"val" : 500,
|
"val" : 500,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
},
|
},
|
||||||
@@ -1831,7 +1823,7 @@
|
|||||||
{
|
{
|
||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"subtype" : 5,
|
"subtype" : "spellLevel5",
|
||||||
"type" : "SPELLS_OF_LEVEL",
|
"type" : "SPELLS_OF_LEVEL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -1867,14 +1859,14 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"limiters" : ["DRAGON_NATURE"],
|
"limiters" : ["DRAGON_NATURE"],
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"limiters" : ["DRAGON_NATURE"],
|
"limiters" : ["DRAGON_NATURE"],
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -1900,25 +1892,25 @@
|
|||||||
"addInfo" : 1
|
"addInfo" : 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -2103,25 +2095,25 @@
|
|||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.spellpower",
|
"subtype" : "primarySkill.spellpower",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"subtype" : "primSkill.knowledge",
|
"subtype" : "primarySkill.knowledge",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 6,
|
"val" : 6,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
@@ -2183,21 +2175,18 @@
|
|||||||
"bonuses" : [
|
"bonuses" : [
|
||||||
{
|
{
|
||||||
"limiters" : ["SHOOTER_ONLY"],
|
"limiters" : ["SHOOTER_ONLY"],
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "NO_DISTANCE_PENALTY",
|
"type" : "NO_DISTANCE_PENALTY",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"limiters" : ["SHOOTER_ONLY"],
|
"limiters" : ["SHOOTER_ONLY"],
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "NO_WALL_PENALTY",
|
"type" : "NO_WALL_PENALTY",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"limiters" : ["SHOOTER_ONLY"],
|
"limiters" : ["SHOOTER_ONLY"],
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "FREE_SHOOTING",
|
"type" : "FREE_SHOOTING",
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
|
|||||||
@@ -130,21 +130,18 @@
|
|||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"type" : "NO_MORALE",
|
"type" : "NO_MORALE",
|
||||||
"subtype" : 0,
|
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "INDEPENDENT_MIN",
|
"valueType" : "INDEPENDENT_MIN",
|
||||||
"description" : "Creatures on Cursed Ground"
|
"description" : "Creatures on Cursed Ground"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type" : "NO_LUCK",
|
"type" : "NO_LUCK",
|
||||||
"subtype" : 0,
|
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"valueType" : "INDEPENDENT_MIN",
|
"valueType" : "INDEPENDENT_MIN",
|
||||||
"description" : "Creatures on Cursed Ground"
|
"description" : "Creatures on Cursed Ground"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type" : "BLOCK_MAGIC_ABOVE",
|
"type" : "BLOCK_MAGIC_ABOVE",
|
||||||
"subtype" : 0,
|
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "INDEPENDENT_MIN"
|
"valueType" : "INDEPENDENT_MIN"
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-17
@@ -3,9 +3,9 @@
|
|||||||
//Commander receives these bonuses on level-up
|
//Commander receives these bonuses on level-up
|
||||||
"bonusPerLevel":
|
"bonusPerLevel":
|
||||||
[
|
[
|
||||||
["CREATURE_DAMAGE", 1, 1, 0 ], //+1 minimum damage
|
["CREATURE_DAMAGE", 1, "creatureDamageMin", 0 ], //+1 minimum damage
|
||||||
["CREATURE_DAMAGE", 2, 2, 0 ], //+2 maximum damage
|
["CREATURE_DAMAGE", 2, "creatureDamageMax", 0 ], //+2 maximum damage
|
||||||
["STACK_HEALTH", 5, 0, 0 ] //+5 hp
|
["STACK_HEALTH", 5, null, 0 ] //+5 hp
|
||||||
],
|
],
|
||||||
//Value of bonuses given by each skill level
|
//Value of bonuses given by each skill level
|
||||||
"skillLevels":
|
"skillLevels":
|
||||||
@@ -22,20 +22,20 @@
|
|||||||
"abilityRequirements":
|
"abilityRequirements":
|
||||||
//Two secondary skills needed for each special ability
|
//Two secondary skills needed for each special ability
|
||||||
[
|
[
|
||||||
{"ability": ["ENEMY_DEFENCE_REDUCTION", 50, 0, 0 ], "skills": [0, 1]},
|
{"ability": ["ENEMY_DEFENCE_REDUCTION", 50, null, 0 ], "skills": [0, 1]},
|
||||||
{"ability": ["FEAR", 0, 0, 0 ], "skills": [0, 2]},
|
{"ability": ["FEAR", 0, null, 0 ], "skills": [0, 2]},
|
||||||
{"ability": ["ALWAYS_MAXIMUM_DAMAGE", 0, -1, 0 ], "skills": [0, 3]},
|
{"ability": ["ALWAYS_MAXIMUM_DAMAGE", 0, null, 0 ], "skills": [0, 3]},
|
||||||
{"ability": ["SHOOTER", 0, 0, 0 ], "skills": [0, 4]},
|
{"ability": ["SHOOTER", 0, null, 0 ], "skills": [0, 4]},
|
||||||
{"ability": ["BLOCKS_RETALIATION", 0, 1, 0 ], "skills": [0,5]},
|
{"ability": ["BLOCKS_RETALIATION", 0, null, 0 ], "skills": [0,5]},
|
||||||
{"ability": ["UNLIMITED_RETALIATIONS", 0, 0, 0 ], "skills": [1, 2]},
|
{"ability": ["UNLIMITED_RETALIATIONS", 0, null, 0 ], "skills": [1, 2]},
|
||||||
{"ability": ["ATTACKS_ALL_ADJACENT", 0, 0, 0 ], "skills": [1, 3]},
|
{"ability": ["ATTACKS_ALL_ADJACENT", 0, null, 0 ], "skills": [1, 3]},
|
||||||
{"ability": ["NONE", 30, 0, 0 ], "skills": [1, 4]}, // TODO: Implement bonus that gives chance to completely block one enemy attack per turn
|
{"ability": ["NONE", 30, null, 0 ], "skills": [1, 4]}, // TODO: Implement bonus that gives chance to completely block one enemy attack per turn
|
||||||
{"ability": ["FIRE_SHIELD", 1, 1, 0 ], "skills": [1, 5]},
|
{"ability": ["FIRE_SHIELD", 1, null, 0 ], "skills": [1, 5]},
|
||||||
{"ability": ["ADDITIONAL_ATTACK", 1, 0, 0 ], "skills": [2, 3]},
|
{"ability": ["ADDITIONAL_ATTACK", 1, null, 0 ], "skills": [2, 3]},
|
||||||
{"ability": ["HP_REGENERATION", 50, 0, 0 ], "skills": [2, 4]},
|
{"ability": ["HP_REGENERATION", 50, null, 0 ], "skills": [2, 4]},
|
||||||
{"ability": ["SPELL_AFTER_ATTACK", 30, "spell.paralyze", 0 ], "skills": [2, 5]},
|
{"ability": ["SPELL_AFTER_ATTACK", 30, "spell.paralyze", 0 ], "skills": [2, 5]},
|
||||||
{"ability": ["JOUSTING", 5, 0, 0 ], "skills": [3, 4]},
|
{"ability": ["JOUSTING", 5, null, 0 ], "skills": [3, 4]},
|
||||||
{"ability": ["DEATH_STARE", 1, 1, 0 ], "skills": [3,5]},
|
{"ability": ["DEATH_STARE", 1, "deathStareCommander", 0 ], "skills": [3,5]},
|
||||||
{"ability": ["FLYING", 0, 0, 0 ], "skills": [4,5]}
|
{"ability": ["FLYING", 0, "movementFlying", 0 ], "skills": [4,5]}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -114,7 +114,7 @@
|
|||||||
"deathStare" :
|
"deathStare" :
|
||||||
{
|
{
|
||||||
"type" : "DEATH_STARE",
|
"type" : "DEATH_STARE",
|
||||||
"subtype" : 0,
|
"subtype" : "deathStareGorgon",
|
||||||
"val" : 10
|
"val" : 10
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -361,7 +361,7 @@
|
|||||||
"FLYING_ARMY" :
|
"FLYING_ARMY" :
|
||||||
{
|
{
|
||||||
// type loaded from crtraits
|
// type loaded from crtraits
|
||||||
"subtype" : 1 // teleports
|
"subtype" : "movementTeleporting"
|
||||||
},
|
},
|
||||||
"descreaseLuck" :
|
"descreaseLuck" :
|
||||||
{
|
{
|
||||||
@@ -415,7 +415,7 @@
|
|||||||
"FLYING_ARMY" :
|
"FLYING_ARMY" :
|
||||||
{
|
{
|
||||||
// type loaded from crtraits
|
// type loaded from crtraits
|
||||||
"subtype" : 1 // teleports
|
"subtype" : "movementTeleporting"
|
||||||
},
|
},
|
||||||
"descreaseLuck" :
|
"descreaseLuck" :
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -151,8 +151,7 @@
|
|||||||
{
|
{
|
||||||
"noRetalitation" :
|
"noRetalitation" :
|
||||||
{
|
{
|
||||||
"type" : "BLOCKS_RETALIATION",
|
"type" : "BLOCKS_RETALIATION"
|
||||||
"subtype" : 1
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"upgrades": ["vampireLord"],
|
"upgrades": ["vampireLord"],
|
||||||
@@ -180,8 +179,7 @@
|
|||||||
{
|
{
|
||||||
"noRetalitation" :
|
"noRetalitation" :
|
||||||
{
|
{
|
||||||
"type" : "BLOCKS_RETALIATION",
|
"type" : "BLOCKS_RETALIATION"
|
||||||
"subtype" : 1
|
|
||||||
},
|
},
|
||||||
"drainsLife" :
|
"drainsLife" :
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -529,7 +529,7 @@
|
|||||||
"visionsMonsters" :
|
"visionsMonsters" :
|
||||||
{
|
{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 0,
|
"subtype" : "visionsMonsters",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "INDEPENDENT_MAX",
|
"valueType" : "INDEPENDENT_MAX",
|
||||||
"propagator" : "HERO"
|
"propagator" : "HERO"
|
||||||
@@ -537,7 +537,7 @@
|
|||||||
"visionsHeroes" :
|
"visionsHeroes" :
|
||||||
{
|
{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 1,
|
"subtype" : "visionsHeroes",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "INDEPENDENT_MAX",
|
"valueType" : "INDEPENDENT_MAX",
|
||||||
"propagator" : "HERO"
|
"propagator" : "HERO"
|
||||||
@@ -545,7 +545,7 @@
|
|||||||
"visionsTowns" :
|
"visionsTowns" :
|
||||||
{
|
{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 2,
|
"subtype" : "visionsTowns",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "INDEPENDENT_MAX",
|
"valueType" : "INDEPENDENT_MAX",
|
||||||
"propagator" : "HERO"
|
"propagator" : "HERO"
|
||||||
|
|||||||
@@ -178,7 +178,7 @@
|
|||||||
"special3": { "type" : "portalOfSummoning" },
|
"special3": { "type" : "portalOfSummoning" },
|
||||||
"special4": { "type" : "experienceVisitingBonus" },
|
"special4": { "type" : "experienceVisitingBonus" },
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
||||||
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primSkill.spellpower", "val": 12 } ] },
|
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.spellpower", "val": 12 } ] },
|
||||||
|
|
||||||
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
||||||
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
||||||
|
|||||||
@@ -177,8 +177,8 @@
|
|||||||
"special3": { "type" : "attackGarrisonBonus", "requires" : [ "special2" ] },
|
"special3": { "type" : "attackGarrisonBonus", "requires" : [ "special2" ] },
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{ "type": "PRIMARY_SKILL", "subtype": "primSkill.attack", "val": 10 },
|
{ "type": "PRIMARY_SKILL", "subtype": "primarySkill.attack", "val": 10 },
|
||||||
{ "type": "PRIMARY_SKILL", "subtype": "primSkill.defence", "val": 10 }
|
{ "type": "PRIMARY_SKILL", "subtype": "primarySkill.defence", "val": 10 }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,7 @@
|
|||||||
"special3": { "type" : "ballistaYard", "requires" : [ "blacksmith" ] },
|
"special3": { "type" : "ballistaYard", "requires" : [ "blacksmith" ] },
|
||||||
"special4": { "type" : "attackVisitingBonus", "requires" : [ "fort" ] },
|
"special4": { "type" : "attackVisitingBonus", "requires" : [ "fort" ] },
|
||||||
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
"grail": { "id" : 26, "mode" : "grail", "produce": { "gold": 5000 },
|
||||||
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primSkill.attack", "val": 20 } ] },
|
"bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.attack", "val": 20 } ] },
|
||||||
|
|
||||||
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
||||||
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
||||||
|
|||||||
@@ -175,7 +175,7 @@
|
|||||||
"special2": { "type" : "lookoutTower", "height" : "high", "requires" : [ "fort" ] },
|
"special2": { "type" : "lookoutTower", "height" : "high", "requires" : [ "fort" ] },
|
||||||
"special3": { "type" : "library", "requires" : [ "mageGuild1" ] },
|
"special3": { "type" : "library", "requires" : [ "mageGuild1" ] },
|
||||||
"special4": { "type" : "knowledgeVisitingBonus", "requires" : [ "mageGuild1" ] },
|
"special4": { "type" : "knowledgeVisitingBonus", "requires" : [ "mageGuild1" ] },
|
||||||
"grail": { "height" : "skyship", "produce" : { "gold": 5000 }, "bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primSkill.knowledge", "val": 15 } ] },
|
"grail": { "height" : "skyship", "produce" : { "gold": 5000 }, "bonuses": [ { "type": "PRIMARY_SKILL", "subtype": "primarySkill.knowledge", "val": 15 } ] },
|
||||||
|
|
||||||
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
"dwellingLvl1": { "id" : 30, "requires" : [ "fort" ] },
|
||||||
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
"dwellingLvl2": { "id" : 31, "requires" : [ "dwellingLvl1" ] },
|
||||||
|
|||||||
@@ -430,7 +430,7 @@
|
|||||||
"landMovement" :
|
"landMovement" :
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT", //Basic land movement
|
"type" : "MOVEMENT", //Basic land movement
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"val" : 1300,
|
"val" : 1300,
|
||||||
"valueType" : "BASE_NUMBER",
|
"valueType" : "BASE_NUMBER",
|
||||||
"updater" : {
|
"updater" : {
|
||||||
@@ -446,7 +446,7 @@
|
|||||||
"seaMovement" :
|
"seaMovement" :
|
||||||
{
|
{
|
||||||
"type" : "MOVEMENT", //Basic sea movement
|
"type" : "MOVEMENT", //Basic sea movement
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"val" : 1500,
|
"val" : 1500,
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"archery" : {
|
"archery" : {
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
"valueType" : "PERCENT_TO_TARGET_TYPE",
|
"valueType" : "PERCENT_TO_TARGET_TYPE",
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"navigation" : {
|
"navigation" : {
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
"type" : "HAS_ANOTHER_BONUS_LIMITER",
|
||||||
"parameters" : [
|
"parameters" : [
|
||||||
"GENERAL_DAMAGE_PREMY",
|
"GENERAL_DAMAGE_PREMY",
|
||||||
1,
|
null,
|
||||||
{
|
{
|
||||||
"type" : "SPELL_EFFECT",
|
"type" : "SPELL_EFFECT",
|
||||||
"id" : "spell.bless"
|
"id" : "spell.bless"
|
||||||
@@ -268,7 +268,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
+18
-18
@@ -21,8 +21,8 @@
|
|||||||
"val" : 3
|
"val" : 3
|
||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"attack" : { "subtype" : "primSkill.attack" },
|
"attack" : { "subtype" : "primarySkill.attack" },
|
||||||
"defence" : { "subtype" : "primSkill.defence" }
|
"defence" : { "subtype" : "primarySkill.defence" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -48,16 +48,16 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageBoth",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1
|
"val" : 1
|
||||||
}
|
}
|
||||||
@@ -85,17 +85,17 @@
|
|||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageBoth",
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1
|
"val" : 1
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
}
|
}
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
"type" : "CREATURE_TYPE_LIMITER"
|
"type" : "CREATURE_TYPE_LIMITER"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
}
|
}
|
||||||
@@ -149,8 +149,8 @@
|
|||||||
"val" : 3
|
"val" : 3
|
||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"attack" : { "subtype" : "primSkill.attack" },
|
"attack" : { "subtype" : "primarySkill.attack" },
|
||||||
"defence" : { "subtype" : "primSkill.defence" }
|
"defence" : { "subtype" : "primarySkill.defence" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -176,16 +176,16 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageMin",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1
|
"val" : 1
|
||||||
}
|
}
|
||||||
@@ -212,17 +212,17 @@
|
|||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageBoth",
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 1
|
"val" : 1
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
}
|
}
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
"type" : "CREATURE_TYPE_LIMITER"
|
"type" : "CREATURE_TYPE_LIMITER"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"logistics" : {
|
"logistics" : {
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -229,7 +229,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"armorer" : {
|
"armorer" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : -1,
|
"subtype" : "damageTypeAll",
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"navigation" : {
|
"navigation" : {
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -307,7 +307,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
@@ -214,7 +214,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"armorer" : {
|
"armorer" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : -1,
|
"subtype" : "damageTypeAll",
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"logistics" : {
|
"logistics" : {
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -245,7 +245,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
+12
-12
@@ -117,17 +117,17 @@
|
|||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageBoth",
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"val" : 10
|
"val" : 10
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
}
|
}
|
||||||
@@ -156,17 +156,17 @@
|
|||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"damage" : {
|
"damage" : {
|
||||||
"subtype" : 0,
|
"subtype" : "creatureDamageBoth",
|
||||||
"type" : "CREATURE_DAMAGE",
|
"type" : "CREATURE_DAMAGE",
|
||||||
"val" : 10
|
"val" : 10
|
||||||
},
|
},
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 5
|
"val" : 5
|
||||||
}
|
}
|
||||||
@@ -197,8 +197,8 @@
|
|||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"attack" : { "subtype" : "primSkill.attack" },
|
"attack" : { "subtype" : "primarySkill.attack" },
|
||||||
"defence" : { "subtype" : "primSkill.defence" }
|
"defence" : { "subtype" : "primarySkill.defence" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -241,8 +241,8 @@
|
|||||||
"val" : 5
|
"val" : 5
|
||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"attack" : { "subtype" : "primSkill.attack" },
|
"attack" : { "subtype" : "primarySkill.attack" },
|
||||||
"defence" : { "subtype" : "primSkill.defence" }
|
"defence" : { "subtype" : "primarySkill.defence" }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"army" :
|
"army" :
|
||||||
@@ -313,12 +313,12 @@
|
|||||||
},
|
},
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 4
|
"val" : 4
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"val" : 2
|
"val" : 2
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"offence" : {
|
"offence" : {
|
||||||
"subtype" : 0,
|
"subtype" : "damageTypeMelee",
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"logistics" : {
|
"logistics" : {
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -262,7 +262,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"armorer" : {
|
"armorer" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : -1,
|
"subtype" : "damageTypeAll",
|
||||||
"targetSourceType" : "SECONDARY_SKILL",
|
"targetSourceType" : "SECONDARY_SKILL",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
@@ -191,7 +191,6 @@
|
|||||||
"specialty" : {
|
"specialty" : {
|
||||||
"bonuses" : {
|
"bonuses" : {
|
||||||
"eagleEye" : {
|
"eagleEye" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"updater" : "TIMES_HERO_LEVEL",
|
"updater" : "TIMES_HERO_LEVEL",
|
||||||
"val" : 5,
|
"val" : 5,
|
||||||
|
|||||||
@@ -356,7 +356,7 @@
|
|||||||
},
|
},
|
||||||
"message" : 138,
|
"message" : 138,
|
||||||
"movePoints" : 400,
|
"movePoints" : 400,
|
||||||
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : 1, "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ],
|
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : "heroMovementLand", "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ],
|
||||||
"changeCreatures" : {
|
"changeCreatures" : {
|
||||||
"cavalier" : "champion"
|
"cavalier" : "champion"
|
||||||
}
|
}
|
||||||
@@ -364,7 +364,7 @@
|
|||||||
{
|
{
|
||||||
"message" : 137,
|
"message" : 137,
|
||||||
"movePoints" : 400,
|
"movePoints" : 400,
|
||||||
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : 1, "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ]
|
"bonuses" : [ { "type" : "MOVEMENT", "subtype" : "heroMovementLand", "val" : 400, "valueType" : "ADDITIVE_VALUE", "duration" : "ONE_WEEK"} ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-8
@@ -31,7 +31,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
"base" : {
|
"base" : {
|
||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"subtype" : 1,
|
"subtype" : "heroMovementLand",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"valueType" : "PERCENT_TO_BASE"
|
"valueType" : "PERCENT_TO_BASE"
|
||||||
}
|
}
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
"base" : {
|
"base" : {
|
||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"subtype" : 0,
|
"subtype" : "heroMovementSea",
|
||||||
"type" : "MOVEMENT",
|
"type" : "MOVEMENT",
|
||||||
"valueType" : "PERCENT_TO_BASE"
|
"valueType" : "PERCENT_TO_BASE"
|
||||||
}
|
}
|
||||||
@@ -310,12 +310,10 @@
|
|||||||
"base" : {
|
"base" : {
|
||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"subtype" : 0,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
"type" : "LEARN_BATTLE_SPELL_CHANCE",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
},
|
},
|
||||||
"val2" : {
|
"val2" : {
|
||||||
"subtype" : -1,
|
|
||||||
"type" : "LEARN_BATTLE_SPELL_LEVEL_LIMIT",
|
"type" : "LEARN_BATTLE_SPELL_LEVEL_LIMIT",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -518,7 +516,6 @@
|
|||||||
"base" : {
|
"base" : {
|
||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"subtype" : -1,
|
|
||||||
"type" : "LEARN_MEETING_SPELL_LIMIT",
|
"type" : "LEARN_MEETING_SPELL_LIMIT",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -657,7 +654,7 @@
|
|||||||
"base" : {
|
"base" : {
|
||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"subtype" : 0,
|
"subtype" : "damageTypeMelee",
|
||||||
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
"type" : "PERCENTAGE_DAMAGE_BOOST",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
@@ -685,7 +682,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"main" : {
|
"main" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : -1,
|
"subtype" : "damageTypeAll",
|
||||||
"valueType" : "BASE_NUMBER"
|
"valueType" : "BASE_NUMBER"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,13 +141,13 @@
|
|||||||
"attack" : {
|
"attack" : {
|
||||||
"val" : -2,
|
"val" : -2,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"val" : -2,
|
"val" : -2,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -384,7 +384,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"duration" : "PERMANENT",
|
"duration" : "PERMANENT",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"visionsMonsters" : {
|
"visionsMonsters" : {
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 0,
|
"subtype" : "visionsMonsters",
|
||||||
"duration" : "ONE_DAY",
|
"duration" : "ONE_DAY",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
@@ -60,10 +60,10 @@
|
|||||||
},
|
},
|
||||||
"visionsHeroes" :{
|
"visionsHeroes" :{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 1,
|
"subtype" : "visionsHeroes",
|
||||||
"duration" : "ONE_DAY",
|
"duration" : "ONE_DAY",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -75,17 +75,17 @@
|
|||||||
},
|
},
|
||||||
"visionsHeroes" :{
|
"visionsHeroes" :{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 1,
|
"subtype" : "visionsHeroes",
|
||||||
"duration" : "ONE_DAY",
|
"duration" : "ONE_DAY",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
},
|
},
|
||||||
"visionsTowns" :{
|
"visionsTowns" :{
|
||||||
"type" : "VISIONS",
|
"type" : "VISIONS",
|
||||||
"subtype" : 2,
|
"subtype" : "visionsTowns",
|
||||||
"duration" : "ONE_DAY",
|
"duration" : "ONE_DAY",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -123,7 +123,6 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"stealth" : {
|
"stealth" : {
|
||||||
"type" : "DISGUISED",
|
"type" : "DISGUISED",
|
||||||
"subtype" : 0, //required
|
|
||||||
"duration" : "ONE_DAY",
|
"duration" : "ONE_DAY",
|
||||||
"val" : 1,
|
"val" : 1,
|
||||||
"valueType" : "INDEPENDENT_MAX"
|
"valueType" : "INDEPENDENT_MAX"
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -317,7 +317,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -414,7 +414,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -511,7 +511,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -608,7 +608,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -705,7 +705,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"valueType" : "ADDITIVE_VALUE"
|
"valueType" : "ADDITIVE_VALUE"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-12
@@ -17,7 +17,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"generalDamageReduction" : {
|
"generalDamageReduction" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : 0,
|
"subtype" : "damageTypeMelee",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"generalDamageReduction" : {
|
"generalDamageReduction" : {
|
||||||
"type" : "GENERAL_DAMAGE_REDUCTION",
|
"type" : "GENERAL_DAMAGE_REDUCTION",
|
||||||
"subtype" : 1,
|
"subtype" : "damageTypeRanged",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -367,7 +367,6 @@
|
|||||||
"alwaysMaximumDamage" : {
|
"alwaysMaximumDamage" : {
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"type" : "ALWAYS_MAXIMUM_DAMAGE",
|
"type" : "ALWAYS_MAXIMUM_DAMAGE",
|
||||||
"subtype" : -1,
|
|
||||||
"valueType" : "INDEPENDENT_MAX",
|
"valueType" : "INDEPENDENT_MAX",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
@@ -421,7 +420,6 @@
|
|||||||
"addInfo" : 0,
|
"addInfo" : 0,
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"type" : "ALWAYS_MINIMUM_DAMAGE",
|
"type" : "ALWAYS_MINIMUM_DAMAGE",
|
||||||
"subtype" : -1,
|
|
||||||
"valueType" : "INDEPENDENT_MAX",
|
"valueType" : "INDEPENDENT_MAX",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
@@ -476,7 +474,7 @@
|
|||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"effectRange" : "ONLY_MELEE_FIGHT",
|
"effectRange" : "ONLY_MELEE_FIGHT",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
@@ -527,7 +525,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"effectRange" : "ONLY_DISTANCE_FIGHT",
|
"effectRange" : "ONLY_DISTANCE_FIGHT",
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
@@ -576,7 +574,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
@@ -623,7 +621,7 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"val" : 3,
|
"val" : 3,
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
}
|
}
|
||||||
@@ -667,7 +665,7 @@
|
|||||||
"cumulativeEffects" : {
|
"cumulativeEffects" : {
|
||||||
"primarySkill" : {
|
"primarySkill" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"val" : -3,
|
"val" : -3,
|
||||||
"valueType" : "ADDITIVE_VALUE",
|
"valueType" : "ADDITIVE_VALUE",
|
||||||
"duration" : "PERMANENT"
|
"duration" : "PERMANENT"
|
||||||
@@ -710,13 +708,13 @@
|
|||||||
"effects" : {
|
"effects" : {
|
||||||
"attack" : {
|
"attack" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.attack",
|
"subtype" : "primarySkill.attack",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
},
|
},
|
||||||
"defence" : {
|
"defence" : {
|
||||||
"type" : "PRIMARY_SKILL",
|
"type" : "PRIMARY_SKILL",
|
||||||
"subtype" : "primSkill.defence",
|
"subtype" : "primarySkill.defence",
|
||||||
"val" : 2,
|
"val" : 2,
|
||||||
"duration" : "N_TURNS"
|
"duration" : "N_TURNS"
|
||||||
},
|
},
|
||||||
@@ -1401,7 +1399,7 @@
|
|||||||
"notActive" : {
|
"notActive" : {
|
||||||
"val" : 0,
|
"val" : 0,
|
||||||
"type" : "NOT_ACTIVE",
|
"type" : "NOT_ACTIVE",
|
||||||
"subtype" : 62,
|
"subtype" : "blind",
|
||||||
"duration" : [
|
"duration" : [
|
||||||
"UNTIL_BEING_ATTACKED",
|
"UNTIL_BEING_ATTACKED",
|
||||||
"N_TURNS"
|
"N_TURNS"
|
||||||
|
|||||||
@@ -222,16 +222,20 @@ Gives additional bonus to effect of specific spell
|
|||||||
|
|
||||||
TODO: blesses and curses with id = val dependent on unit's level
|
TODO: blesses and curses with id = val dependent on unit's level
|
||||||
|
|
||||||
- subtype: 0 or 1 for Coronius
|
- subtype: affected spell identifier
|
||||||
|
|
||||||
### SPECIAL_ADD_VALUE_ENCHANT
|
### SPECIAL_ADD_VALUE_ENCHANT
|
||||||
|
|
||||||
TODO: specialty spell like Aenin has, increased effect of spell, additionalInfo = value to add
|
TODO: specialty spell like Aenin has, increased effect of spell, additionalInfo = value to add
|
||||||
|
|
||||||
|
- subtype: affected spell identifier
|
||||||
|
|
||||||
### SPECIAL_FIXED_VALUE_ENCHANT
|
### SPECIAL_FIXED_VALUE_ENCHANT
|
||||||
|
|
||||||
TODO: specialty spell like Melody has, constant spell effect (i.e. 3 luck), additionalInfo = value to fix.
|
TODO: specialty spell like Melody has, constant spell effect (i.e. 3 luck), additionalInfo = value to fix.
|
||||||
|
|
||||||
|
- subtype: affected spell identifier
|
||||||
|
|
||||||
### SPECIAL_UPGRADE
|
### SPECIAL_UPGRADE
|
||||||
|
|
||||||
Allows creature upgrade for affected armies
|
Allows creature upgrade for affected armies
|
||||||
@@ -575,7 +579,7 @@ Defines spell mastery level for spell used by CATAPULT bonus
|
|||||||
|
|
||||||
Hero can control war machine affected by this bonus
|
Hero can control war machine affected by this bonus
|
||||||
|
|
||||||
- id: creature identifier of affected war machine
|
- subtype: creature identifier of affected war machine
|
||||||
- val: chance to control unit, percentage
|
- val: chance to control unit, percentage
|
||||||
|
|
||||||
### CHANGES_SPELL_COST_FOR_ALLY
|
### CHANGES_SPELL_COST_FOR_ALLY
|
||||||
@@ -795,7 +799,13 @@ Affected creature is immune to all mind spells and receives reduced damage from
|
|||||||
|
|
||||||
Affected unit is completely immune to effects of specific spell
|
Affected unit is completely immune to effects of specific spell
|
||||||
|
|
||||||
- subid: identifier of spell to which unit is immune
|
- subtype: identifier of spell to which unit is immune
|
||||||
|
|
||||||
|
### SPELL_SCHOOL_IMMUNITY
|
||||||
|
|
||||||
|
Affected unit is immune to all spells of a specified spell school
|
||||||
|
|
||||||
|
- subtype: spell school to which this unit is immune to
|
||||||
|
|
||||||
### RECEPTIVE
|
### RECEPTIVE
|
||||||
|
|
||||||
@@ -825,6 +835,8 @@ Affected unit has its ranged attack power reduced (Forgetfulness)
|
|||||||
|
|
||||||
Affected unit can not act and is excluded from turn order (Blind, Stone Gaze, Paralyze)
|
Affected unit can not act and is excluded from turn order (Blind, Stone Gaze, Paralyze)
|
||||||
|
|
||||||
|
- subtype: spell that caused this effect, optional
|
||||||
|
|
||||||
### ALWAYS_MINIMUM_DAMAGE
|
### ALWAYS_MINIMUM_DAMAGE
|
||||||
|
|
||||||
Affected creature always deals its minimum damage
|
Affected creature always deals its minimum damage
|
||||||
|
|||||||
+11
-5
@@ -445,6 +445,7 @@ static void loadBonusSubtype(TBonusSubtype & subtype, BonusType type, const Json
|
|||||||
case BonusType::SPELL_DAMAGE:
|
case BonusType::SPELL_DAMAGE:
|
||||||
case BonusType::SPELLS_OF_SCHOOL:
|
case BonusType::SPELLS_OF_SCHOOL:
|
||||||
case BonusType::SPELL_DAMAGE_REDUCTION:
|
case BonusType::SPELL_DAMAGE_REDUCTION:
|
||||||
|
case BonusType::SPELL_SCHOOL_IMMUNITY:
|
||||||
{
|
{
|
||||||
VLC->identifiers()->requestIdentifier( "spellSchool", node, [&subtype](int32_t identifier)
|
VLC->identifiers()->requestIdentifier( "spellSchool", node, [&subtype](int32_t identifier)
|
||||||
{
|
{
|
||||||
@@ -475,6 +476,7 @@ static void loadBonusSubtype(TBonusSubtype & subtype, BonusType type, const Json
|
|||||||
case BonusType::SPECIAL_UPGRADE:
|
case BonusType::SPECIAL_UPGRADE:
|
||||||
case BonusType::HATE:
|
case BonusType::HATE:
|
||||||
case BonusType::SUMMON_GUARDIANS:
|
case BonusType::SUMMON_GUARDIANS:
|
||||||
|
case BonusType::MANUAL_CONTROL:
|
||||||
{
|
{
|
||||||
VLC->identifiers()->requestIdentifier( "creature", node, [&subtype](int32_t identifier)
|
VLC->identifiers()->requestIdentifier( "creature", node, [&subtype](int32_t identifier)
|
||||||
{
|
{
|
||||||
@@ -482,6 +484,10 @@ static void loadBonusSubtype(TBonusSubtype & subtype, BonusType type, const Json
|
|||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case BonusType::SPELL_IMMUNITY:
|
||||||
|
case BonusType::SPECIAL_ADD_VALUE_ENCHANT:
|
||||||
|
case BonusType::SPECIAL_FIXED_VALUE_ENCHANT:
|
||||||
|
case BonusType::SPECIAL_PECULIAR_ENCHANT:
|
||||||
case BonusType::SPECIAL_SPELL_LEV:
|
case BonusType::SPECIAL_SPELL_LEV:
|
||||||
case BonusType::SPECIFIC_SPELL_DAMAGE:
|
case BonusType::SPECIFIC_SPELL_DAMAGE:
|
||||||
case BonusType::SPELL:
|
case BonusType::SPELL:
|
||||||
@@ -497,6 +503,7 @@ static void loadBonusSubtype(TBonusSubtype & subtype, BonusType type, const Json
|
|||||||
case BonusType::SPECIFIC_SPELL_POWER:
|
case BonusType::SPECIFIC_SPELL_POWER:
|
||||||
case BonusType::ENCHANTED:
|
case BonusType::ENCHANTED:
|
||||||
case BonusType::MORE_DAMAGE_FROM_SPELL:
|
case BonusType::MORE_DAMAGE_FROM_SPELL:
|
||||||
|
case BonusType::NOT_ACTIVE:
|
||||||
{
|
{
|
||||||
VLC->identifiers()->requestIdentifier( "spell", node, [&subtype](int32_t identifier)
|
VLC->identifiers()->requestIdentifier( "spell", node, [&subtype](int32_t identifier)
|
||||||
{
|
{
|
||||||
@@ -515,7 +522,6 @@ static void loadBonusSubtype(TBonusSubtype & subtype, BonusType type, const Json
|
|||||||
case BonusType::MOVEMENT:
|
case BonusType::MOVEMENT:
|
||||||
case BonusType::WATER_WALKING:
|
case BonusType::WATER_WALKING:
|
||||||
case BonusType::FLYING_MOVEMENT:
|
case BonusType::FLYING_MOVEMENT:
|
||||||
case BonusType::SPECIAL_PECULIAR_ENCHANT:
|
|
||||||
case BonusType::NEGATE_ALL_NATURAL_IMMUNITIES:
|
case BonusType::NEGATE_ALL_NATURAL_IMMUNITIES:
|
||||||
case BonusType::CREATURE_DAMAGE:
|
case BonusType::CREATURE_DAMAGE:
|
||||||
case BonusType::FLYING:
|
case BonusType::FLYING:
|
||||||
@@ -548,21 +554,21 @@ static void loadBonusSourceInstance(TBonusSourceID & sourceInstance, BonusSource
|
|||||||
{
|
{
|
||||||
if (node.isNull())
|
if (node.isNull())
|
||||||
{
|
{
|
||||||
sourceInstance = TBonusSourceID();
|
sourceInstance = BonusSourceID();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (node.isNumber()) // Compatibility code for 1.3 or older
|
if (node.isNumber()) // Compatibility code for 1.3 or older
|
||||||
{
|
{
|
||||||
logMod->warn("Bonus source must be string!");
|
logMod->warn("Bonus source must be string!");
|
||||||
sourceInstance = TBonusSourceID(node.Integer());
|
sourceInstance = BonusSourceID(node.Integer());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!node.isString())
|
if (!node.isString())
|
||||||
{
|
{
|
||||||
logMod->warn("Bonus source must be string!");
|
logMod->warn("Bonus source must be string!");
|
||||||
sourceInstance = TBonusSourceID();
|
sourceInstance = BonusSourceID();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1039,7 +1045,7 @@ bool JsonUtils::parseBonus(const JsonNode &ability, Bonus *b)
|
|||||||
else
|
else
|
||||||
b->type = it->second;
|
b->type = it->second;
|
||||||
|
|
||||||
loadBonusSubtype(b->subtype, b->type, params->isConverted ? params->toJson() : ability);
|
loadBonusSubtype(b->subtype, b->type, params->isConverted ? params->toJson()["subtype"] : ability["subtype"]);
|
||||||
|
|
||||||
if(!params->isConverted)
|
if(!params->isConverted)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -353,6 +353,7 @@ const JsonNode & BonusParams::toJson()
|
|||||||
ret["targetSourceType"].String() = vstd::findKey(bonusSourceMap, *targetType);
|
ret["targetSourceType"].String() = vstd::findKey(bonusSourceMap, *targetType);
|
||||||
jsonCreated = true;
|
jsonCreated = true;
|
||||||
}
|
}
|
||||||
|
ret.setMeta(ModScope::scopeGame());
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,46 @@ CIdentifierStorage::CIdentifierStorage()
|
|||||||
registerObject(ModScope::scopeBuiltin(), "primSkill", NPrimarySkill::names[i], i);
|
registerObject(ModScope::scopeBuiltin(), "primSkill", NPrimarySkill::names[i], i);
|
||||||
registerObject(ModScope::scopeBuiltin(), "primarySkill", NPrimarySkill::names[i], i);
|
registerObject(ModScope::scopeBuiltin(), "primarySkill", NPrimarySkill::names[i], i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureDamageBoth", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureDamageMin", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureDamageMax", 2);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "damageTypeAll", -1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "damageTypeMelee", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "damageTypeRanged", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "heroMovementLand", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "heroMovementSea", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "heroMovementPenalty", 2);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "heroMovementFull", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "deathStareGorgon", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "deathStareCommander", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "rebirthRegular", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "rebirthSpecial", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "visionsMonsters", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "visionsHeroes", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "visionsTowns", 2);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "immunityBattleWide", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "immunityEnemyHero", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "transmutationPerHealth", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "transmutationPerUnit", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "destructionKillPercentage", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "destructionKillAmount", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "soulStealPermanent", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "soulStealBattle", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "movementFlying", 0);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "movementTeleporting", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "spellLevel1", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "spellLevel2", 2);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "spellLevel3", 3);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "spellLevel4", 4);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "spellLevel5", 5);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel1", 1);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel2", 2);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel3", 3);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel4", 4);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel5", 5);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel6", 6);
|
||||||
|
registerObject(ModScope::scopeBuiltin(), "bonusSubtype", "creatureLevel7", 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CIdentifierStorage::checkIdentifier(std::string & ID)
|
void CIdentifierStorage::checkIdentifier(std::string & ID)
|
||||||
@@ -107,7 +147,7 @@ CIdentifierStorage::ObjectCallback CIdentifierStorage::ObjectCallback::fromNameA
|
|||||||
if(!typeAndName.first.empty())
|
if(!typeAndName.first.empty())
|
||||||
{
|
{
|
||||||
if (typeAndName.first != type)
|
if (typeAndName.first != type)
|
||||||
logMod->error("Identifier '%s' from mod '%s' requested with different type! Type '%s' expected!", fullName, scope, type);
|
logMod->warn("Identifier '%s' from mod '%s' requested with different type! Type '%s' expected!", fullName, scope, type);
|
||||||
else
|
else
|
||||||
logMod->debug("Target type for identifier '%s' defined in mod '%s' is redundant!", fullName, scope);
|
logMod->debug("Target type for identifier '%s' defined in mod '%s' is redundant!", fullName, scope);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user