1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-03-19 21:10:12 +02:00

* fixed 576

* new cheat code: vcmiforgeofnoldorking - hero gets all artifacts except spell book, spell scrolls and war machines
This commit is contained in:
mateuszb 2010-08-05 09:47:12 +00:00
parent f41c85212f
commit a95bb9d916
3 changed files with 29 additions and 0 deletions

View File

@ -2867,6 +2867,11 @@ void CBattleInterface::castThisSpell(int spellID)
spellSelMode = 5;
}
if(spell.range[ castingHero->getSpellSchoolLevel(&spell) ].size() > 1) //spell has many-hex range
{
spellSelMode = 0;
}
if(spellSelMode == -1) //user does not have to select location
{
spellToCast->destinationTile = -1;

View File

@ -3059,6 +3059,15 @@ std::set<CStack*> BattleInfo::getAttackedCreatures( const CSpell * s, int skillL
}
}
}
else if (s->range[skillLevel].size() > 1) //custom many-hex range
{
for(std::set<ui16>::iterator it = attackedHexes.begin(); it != attackedHexes.end(); ++it)
{
CStack * st = getStackT(*it, onlyAlive);
if(st)
attackedCres.insert(st);
}
}
else if(VLC->spellh->spells[s->id].attributes.find("CREATURE_TARGET_1") != std::string::npos
|| VLC->spellh->spells[s->id].attributes.find("CREATURE_TARGET_2") != std::string::npos) //spell to be cast on a specific creature but massive on expert
{

View File

@ -3928,6 +3928,21 @@ void CGameHandler::playerMessage( ui8 player, const std::string &message )
gs->getPlayer(player)->enteredLosingCheatCode = 1;
checkLossVictory(player);
}
else if (message == "vcmiforgeofnoldorking") //hero gets all artifacts except war machines, spell scrolls and spell book
{
CGHeroInstance *hero = gs->getHero(gs->getPlayer(player)->currentSelection);
if(!hero) return;
SetHeroArtifacts sha;
sha.hid = hero->id;
sha.artifacts = hero->artifacts;
sha.artifWorn = hero->artifWorn;
sha.artifacts.push_back(2); //grail
for (int g=7; g<=140; ++g)
{
sha.artifacts.push_back(g);
}
sendAndApply(&sha);
}
else
cheated = false;
if(cheated)