mirror of
https://github.com/vcmi/vcmi.git
synced 2025-08-15 20:03:15 +02:00
Tweaks for creature bonuses.
This commit is contained in:
@@ -694,7 +694,9 @@ void CCreatureHandler::loadStackExp(Bonus & b, BonusList & bl, CLegacyConfigPars
|
|||||||
case 'd':
|
case 'd':
|
||||||
b.type = Bonus::DEFENSIVE_STANCE; break;
|
b.type = Bonus::DEFENSIVE_STANCE; break;
|
||||||
case 'e':
|
case 'e':
|
||||||
b.type = Bonus::DOUBLE_DAMAGE_CHANCE; break;
|
b.type = Bonus::DOUBLE_DAMAGE_CHANCE;
|
||||||
|
b.subtype = 0;
|
||||||
|
break;
|
||||||
case 'E':
|
case 'E':
|
||||||
b.type = Bonus::DEATH_STARE;
|
b.type = Bonus::DEATH_STARE;
|
||||||
b.subtype = 0; //Gorgon
|
b.subtype = 0; //Gorgon
|
||||||
|
@@ -160,12 +160,14 @@ CCreature * CModHandler::loadCreature (const JsonNode &node)
|
|||||||
BOOST_FOREACH (const JsonNode &bonus, node["abilities"].Vector())
|
BOOST_FOREACH (const JsonNode &bonus, node["abilities"].Vector())
|
||||||
{
|
{
|
||||||
auto b = ParseBonus(bonus);
|
auto b = ParseBonus(bonus);
|
||||||
|
b->source = Bonus::CREATURE_ABILITY;
|
||||||
b->duration = Bonus::PERMANENT;
|
b->duration = Bonus::PERMANENT;
|
||||||
cre->addNewBonus(b);
|
cre->addNewBonus(b);
|
||||||
}
|
}
|
||||||
BOOST_FOREACH (const JsonNode &exp, node["stackExperience"].Vector())
|
BOOST_FOREACH (const JsonNode &exp, node["stackExperience"].Vector())
|
||||||
{
|
{
|
||||||
auto bonus = ParseBonus (exp["bonus"]);
|
auto bonus = ParseBonus (exp["bonus"]);
|
||||||
|
bonus->source = Bonus::STACK_EXPERIENCE;
|
||||||
bonus->duration = Bonus::PERMANENT;
|
bonus->duration = Bonus::PERMANENT;
|
||||||
const JsonVector &values = exp["values"].Vector();
|
const JsonVector &values = exp["values"].Vector();
|
||||||
int lowerLimit = 1;//, upperLimit = 255;
|
int lowerLimit = 1;//, upperLimit = 255;
|
||||||
@@ -281,6 +283,10 @@ void CModHandler::recreateHandlers()
|
|||||||
BOOST_FOREACH (auto creature, creatures)
|
BOOST_FOREACH (auto creature, creatures)
|
||||||
{
|
{
|
||||||
creature->idNumber = VLC->creh->creatures.size(); //calculate next index for every used creature
|
creature->idNumber = VLC->creh->creatures.size(); //calculate next index for every used creature
|
||||||
|
BOOST_FOREACH (auto bonus, creature->getBonusList())
|
||||||
|
{
|
||||||
|
bonus->sid = creature->idNumber;
|
||||||
|
}
|
||||||
VLC->creh->creatures.push_back (creature);
|
VLC->creh->creatures.push_back (creature);
|
||||||
//TODO: use refName?
|
//TODO: use refName?
|
||||||
//if (creature->nameRef.size())
|
//if (creature->nameRef.size())
|
||||||
|
Reference in New Issue
Block a user