fixed the Slime cheese in the Wetland

This commit is contained in:
Zeno Rogue 2020-03-21 10:37:00 +01:00
parent e21cbbd207
commit c131ed52ad
3 changed files with 17 additions and 2 deletions

View File

@ -71,6 +71,9 @@ EX vector<cell*> pathq;
/** the number of big statues -- they increase monster generation */
EX int statuecount;
/** the number of slimes in Wetland -- they create ghosts */
EX int wetslime;
/** list of monsters to move (pathq restriced to monsters) */
EX vector<cell*> pathqm;
@ -206,6 +209,7 @@ EX void bfs() {
worms.clear(); ivies.clear(); ghosts.clear(); golems.clear();
tempmonsters.clear(); targets.clear();
statuecount = 0;
wetslime = 0;
hexsnakes.clear();
hadwhat = havewhat;
@ -336,6 +340,9 @@ EX void bfs() {
if(c2->wall == waBigStatue && c2->land != laTemple)
statuecount++;
if(isAlch(c2->wall) && c2->land == laWet)
wetslime++;
if(cellHalfvine(c2) && isWarped(c2)) {
addMessage(XLAT("%The1 is destroyed!", c2->wall));

View File

@ -411,8 +411,16 @@ EX void wandering() {
continue;
}
}
if(c->land == laWet && !smallbounded && wetslime >= 25 && !c->monst && hrand(100) <= wetslime-25) {
static bool angry = false;
if(!angry) { angry = true; addMessage("You seem to have really pissed off the water spirits!"); }
c->monst = moGhost;
playSeenSound(c);
continue;
}
if((c->wall == waCavewall || c->wall == waDeadwall) && !c->monst &&
else if((c->wall == waCavewall || c->wall == waDeadwall) && !c->monst &&
wchance(items[treasureType(c->land)], 10) && canReachPlayer(c, moSlime)) {
c->monst = moSeep;
playSeenSound(c);

View File

@ -911,7 +911,7 @@ bool pcmove::attack() {
if(m == moRusalka) {
changes.ccell(cwt.at);
if(cwt.at->wall == waNone) cwt.at->wall = waShallow;
else if(cwt.at->wall == waShallow) cwt.at->wall = waDeepWater;
else if(cwt.at->wall == waShallow || isAlch(cwt.at->wall)) cwt.at->wall = waDeepWater;
}
changes.ccell(c2);
// salamanders are stunned for longer time when pushed into a wall