mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-01-11 18:00:34 +00:00
fixed the Slime cheese in the Wetland
This commit is contained in:
parent
e21cbbd207
commit
c131ed52ad
@ -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;
|
||||
@ -337,6 +341,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));
|
||||
destroyHalfvine(c2);
|
||||
|
@ -412,7 +412,15 @@ EX void wandering() {
|
||||
}
|
||||
}
|
||||
|
||||
if((c->wall == waCavewall || c->wall == waDeadwall) && !c->monst &&
|
||||
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;
|
||||
}
|
||||
|
||||
else if((c->wall == waCavewall || c->wall == waDeadwall) && !c->monst &&
|
||||
wchance(items[treasureType(c->land)], 10) && canReachPlayer(c, moSlime)) {
|
||||
c->monst = moSeep;
|
||||
playSeenSound(c);
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user