mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-24 22:14:36 +02:00
Fixed missing spell effects, root cause of #1257.
This commit is contained in:
parent
e71bace8e3
commit
0dc5a13596
@ -453,7 +453,8 @@
|
||||
"type": "ALWAYS_MAXIMUM_DAMAGE",
|
||||
"subtype": -1, //any attack
|
||||
"valType":"INDEPENDENT_MAX",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[0, 0, 1, 1]
|
||||
}
|
||||
],
|
||||
"immunity":["UNDEAD"]
|
||||
@ -472,6 +473,7 @@
|
||||
"subtype": -1, //any attack
|
||||
"valType": "INDEPENDENT_MAX",
|
||||
"duration": "N_TURNS",
|
||||
"values":[0, 0, 1, 1],
|
||||
"ainfos":[0,0,20,20]
|
||||
}
|
||||
],
|
||||
@ -490,7 +492,8 @@
|
||||
"type": "PRIMARY_SKILL",
|
||||
"subtype": "primSkill.attack",
|
||||
"effectRange" : "ONLY_MELEE_FIGHT",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[3, 3, 6, 6]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -506,7 +509,8 @@
|
||||
"type": "PRIMARY_SKILL",
|
||||
"subtype": "primSkill.attack",
|
||||
"effectRange" : "ONLY_DISTANCE_FIGHT",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[3, 3, 6, 6]
|
||||
}
|
||||
],
|
||||
"limit":["SHOOTER"]
|
||||
@ -539,7 +543,8 @@
|
||||
{
|
||||
"type": "PRIMARY_SKILL",
|
||||
"subtype": "primSkill.defence",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[3, 3, 6, 6]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -571,16 +576,19 @@
|
||||
{
|
||||
"type": "PRIMARY_SKILL",
|
||||
"subtype": "primSkill.attack",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[2, 2, 4, 4]
|
||||
},
|
||||
{
|
||||
"type": "PRIMARY_SKILL",
|
||||
"subtype": "primSkill.defence",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[2, 2, 4, 4]
|
||||
},
|
||||
{
|
||||
"type": "STACKS_SPEED",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[2, 2, 4, 4]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -628,7 +636,8 @@
|
||||
[
|
||||
{
|
||||
"type": "LUCK",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[1, 1, 2, 2]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -659,7 +668,8 @@
|
||||
[
|
||||
{
|
||||
"type": "STACKS_SPEED",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[3, 3, 5, 5]
|
||||
}
|
||||
],
|
||||
"immunity":["SIEGE_WEAPON"]
|
||||
@ -710,7 +720,8 @@
|
||||
[
|
||||
{
|
||||
"type": "IN_FRENZY",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[100, 100, 150, 200]
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -732,7 +743,8 @@
|
||||
[
|
||||
{
|
||||
"type": "ADDITIONAL_RETALIATION",
|
||||
"duration": "N_TURNS"
|
||||
"duration": "N_TURNS",
|
||||
"values":[1, 1, 2, 2]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -253,6 +253,11 @@ void CSpell::getEffects(std::vector<Bonus>& lst, const int level) const
|
||||
logGlobal->errorStream() << __FUNCTION__ << " invalid school level " << level;
|
||||
return;
|
||||
}
|
||||
if (effects.empty())
|
||||
{
|
||||
logGlobal->errorStream() << __FUNCTION__ << " This spell has no bonus effects! " << name;
|
||||
return;
|
||||
}
|
||||
lst.reserve(lst.size() + effects[level].size());
|
||||
|
||||
BOOST_FOREACH (Bonus *b, effects[level])
|
||||
|
@ -150,7 +150,7 @@ bool CSpell::isOffensiveSpell() const
|
||||
|
||||
bool CSpell::hasEffects() const
|
||||
{
|
||||
return !effects[0].empty();
|
||||
return effects.size();
|
||||
}
|
||||
|
||||
const std::string& CSpell::getIconImmune() const
|
||||
|
@ -4517,7 +4517,8 @@ void CGameHandler::stackTurnTrigger(const CStack * st)
|
||||
pseudoBonus.val = ((val > 3) ? (val - 3) : val);
|
||||
pseudoBonus.turnsRemain = 50;
|
||||
st->stackEffectToFeature (sse.effect, pseudoBonus);
|
||||
sendAndApply (&sse);
|
||||
if (sse.effect.size())
|
||||
sendAndApply (&sse);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user