mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-12 02:28:11 +02:00
Battle log messages for new abilities.
Lots of fixes.
This commit is contained in:
parent
a4d845688a
commit
a73a1c2724
@ -2845,6 +2845,8 @@ void CBattleInterface::spellCast( const BattleSpellCast * sc )
|
||||
|
||||
//displaying message in console
|
||||
bool customSpell = false;
|
||||
bool plural = false; //add singular / plural form of creature text if this is true
|
||||
int textID = 0;
|
||||
if(sc->affectedCres.size() == 1)
|
||||
{
|
||||
std::string text = CGI->generaltexth->allTexts[195];
|
||||
@ -2857,35 +2859,82 @@ void CBattleInterface::spellCast( const BattleSpellCast * sc )
|
||||
{
|
||||
switch(sc->id)
|
||||
{
|
||||
case 70: //Stone Gaze
|
||||
customSpell = true;
|
||||
plural = true;
|
||||
textID = 558;
|
||||
break;
|
||||
case 71: //Poison
|
||||
customSpell = true;
|
||||
plural = true;
|
||||
textID = 561;
|
||||
break;
|
||||
case 72: //Bind
|
||||
customSpell = true;
|
||||
text = CGI->generaltexth->allTexts[560];
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin(), false)->getCreature()->namePl );
|
||||
break; //Roots and vines bind the %s to the ground!
|
||||
case 73: //Disease
|
||||
customSpell = true;
|
||||
plural = true;
|
||||
textID = 553;
|
||||
break;
|
||||
case 74: //Paralyze
|
||||
customSpell = true;
|
||||
plural = true;
|
||||
textID = 563;
|
||||
break;
|
||||
case 75: // Aging //TODO: hitpoints
|
||||
customSpell = true;
|
||||
plural = true;
|
||||
textID = 551;
|
||||
break;
|
||||
case 78: //Dispell helpful spells
|
||||
text = CGI->generaltexth->allTexts[555];
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->type->namePl);
|
||||
customSpell = true;
|
||||
break;
|
||||
//case 75: // Aging
|
||||
// customSpell = true;
|
||||
// break;
|
||||
case 79: // Death Stare
|
||||
customSpell = true;
|
||||
if (sc->dmgToDisplay > 1)
|
||||
if (sc->dmgToDisplay)
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[119]; //%d %s die under the terrible gaze of the %s.
|
||||
boost::algorithm::replace_first(text, "%d", boost::lexical_cast<std::string>(sc->dmgToDisplay));
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin(), false)->getCreature()->namePl );
|
||||
if (sc->dmgToDisplay > 1)
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[119]; //%d %s die under the terrible gaze of the %s.
|
||||
boost::algorithm::replace_first(text, "%d", boost::lexical_cast<std::string>(sc->dmgToDisplay));
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin(), false)->getCreature()->namePl );
|
||||
}
|
||||
else
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[118]; //One %s dies under the terrible gaze of the %s.
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->type->nameSing);
|
||||
}
|
||||
boost::algorithm::replace_first(text, "%s", "Creatures"); //casting stack
|
||||
}
|
||||
else
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[118]; //One %s dies under the terrible gaze of the %s.
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->type->nameSing);
|
||||
}
|
||||
boost::algorithm::replace_first(text, "%s", "Creatures"); //casting stack
|
||||
text = "";
|
||||
break;
|
||||
default:
|
||||
boost::algorithm::replace_first(text, "%s", "Creature"); //TODO: better fix
|
||||
}
|
||||
if (plural)
|
||||
{
|
||||
if (curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->count > 1)
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[textID + 1];
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->type->namePl);
|
||||
}
|
||||
else
|
||||
{
|
||||
text = CGI->generaltexth->allTexts[textID];
|
||||
boost::algorithm::replace_first(text, "%s", curInt->cb->battleGetStackByID(*sc->affectedCres.begin())->type->nameSing);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!customSpell)
|
||||
boost::algorithm::replace_first(text, "%s", CGI->spellh->spells[sc->id]->name);
|
||||
|
||||
console->addText(text);
|
||||
if (text.size())
|
||||
console->addText(text);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -68,8 +68,8 @@
|
||||
66 0
|
||||
67 1 SP11_.DEF
|
||||
68 1 SP02_.DEF
|
||||
69 1 C05SPE0.DEF
|
||||
70 2 SP02_.DEF SP10_.DEF
|
||||
69 1 SP05_.DEF
|
||||
70 0
|
||||
71 1 SP01_.DEF
|
||||
72 1 SP04_.DEF
|
||||
73 1 SP03_.DEF
|
||||
|
@ -17,11 +17,11 @@
|
||||
+ 17 MAGIC_RESISTANCE 40 0 0 //battle dwarf's magic resistance 40%
|
||||
+ 20 CHANGES_SPELL_COST_FOR_ENEMY 2 0 0 //pegasus makes spell cost higher for enemy mage
|
||||
+ 21 CHANGES_SPELL_COST_FOR_ENEMY 2 0 0 //silver pegasus makes spell cost higher for enemy mage
|
||||
+ 22 SPELL_AFTER_ATTACK 72 0 100 //dendroids cast bind
|
||||
+ 23 SPELL_AFTER_ATTACK 72 0 100 //dendroid guards cast bind
|
||||
+ 24 SPELL_AFTER_ATTACK 62 0 20 //unicorns cast blind with 20% probability
|
||||
+ 22 SPELL_AFTER_ATTACK 100 72 0 //dendroids cast bind
|
||||
+ 23 SPELL_AFTER_ATTACK 100 72 0 //dendroid guards cast bind
|
||||
+ 24 SPELL_AFTER_ATTACK 20 62 0 //unicorns cast blind with 20% probability
|
||||
+ 24 SPELL_RESISTANCE_AURA 0 55 0 //unicorn
|
||||
+ 25 SPELL_AFTER_ATTACK 62 0 20 //war unicorns cast blind with 20% probability
|
||||
+ 25 SPELL_AFTER_ATTACK 20 62 0 //war unicorns cast blind with 20% probability
|
||||
+ 25 SPELL_RESISTANCE_AURA 20 55 0 //war unicorn
|
||||
+ 26 LEVEL_SPELL_IMMUNITY 3 0 0 //green dragon's spell immunity
|
||||
+ 26 TWO_HEX_ATTACK_BREATH 0 0 0 //green dragon's breath
|
||||
|
@ -36,22 +36,30 @@
|
||||
55 SLAYER.wav # slayer
|
||||
56 FRENZY.wav # frenzy
|
||||
61 FORGET.wav # forgetfulness
|
||||
70 PARALYZE.wav # stone gaze - not sure
|
||||
71 POISON.wav # poison
|
||||
72 BIND.wav # bind
|
||||
73 DISEASE.wav #
|
||||
74 PARALYZE.wav #
|
||||
75 AGE.wav # aging - already used (?)
|
||||
76 DEATHCLD.wav # death cloud
|
||||
77 LIGHTBLT.wav # thunder
|
||||
78 DISPELL.wav # dispell helpful spells
|
||||
79 DEATHSTR.wav # Death Stare
|
||||
80 ACID.wav # Acid breath / defence piercing
|
||||
|
||||
|
||||
|
||||
#BLIND.wav
|
||||
#POISON.wav
|
||||
#CURE.wav
|
||||
#HYPNOTIZ.wav
|
||||
#DEATHCLD.wav
|
||||
#DEATHBLO.wav
|
||||
#DRAINLIF.wav
|
||||
#DRGNSLAY.wav
|
||||
#DISGUISE.wav
|
||||
#DISEASE.wav
|
||||
#QUIKSAND.wav
|
||||
#FIRESHIE.wav fireshield when cast
|
||||
#FIRESHLD.wav fireshield effect
|
||||
#ANIMDEAD.wav
|
||||
#ANTIMAGK.wav
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user