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 */
|
/** the number of big statues -- they increase monster generation */
|
||||||
EX int statuecount;
|
EX int statuecount;
|
||||||
|
|
||||||
|
/** the number of slimes in Wetland -- they create ghosts */
|
||||||
|
EX int wetslime;
|
||||||
|
|
||||||
/** list of monsters to move (pathq restriced to monsters) */
|
/** list of monsters to move (pathq restriced to monsters) */
|
||||||
EX vector<cell*> pathqm;
|
EX vector<cell*> pathqm;
|
||||||
|
|
||||||
@ -206,6 +209,7 @@ EX void bfs() {
|
|||||||
worms.clear(); ivies.clear(); ghosts.clear(); golems.clear();
|
worms.clear(); ivies.clear(); ghosts.clear(); golems.clear();
|
||||||
tempmonsters.clear(); targets.clear();
|
tempmonsters.clear(); targets.clear();
|
||||||
statuecount = 0;
|
statuecount = 0;
|
||||||
|
wetslime = 0;
|
||||||
hexsnakes.clear();
|
hexsnakes.clear();
|
||||||
|
|
||||||
hadwhat = havewhat;
|
hadwhat = havewhat;
|
||||||
@ -337,6 +341,9 @@ EX void bfs() {
|
|||||||
if(c2->wall == waBigStatue && c2->land != laTemple)
|
if(c2->wall == waBigStatue && c2->land != laTemple)
|
||||||
statuecount++;
|
statuecount++;
|
||||||
|
|
||||||
|
if(isAlch(c2->wall) && c2->land == laWet)
|
||||||
|
wetslime++;
|
||||||
|
|
||||||
if(cellHalfvine(c2) && isWarped(c2)) {
|
if(cellHalfvine(c2) && isWarped(c2)) {
|
||||||
addMessage(XLAT("%The1 is destroyed!", c2->wall));
|
addMessage(XLAT("%The1 is destroyed!", c2->wall));
|
||||||
destroyHalfvine(c2);
|
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)) {
|
wchance(items[treasureType(c->land)], 10) && canReachPlayer(c, moSlime)) {
|
||||||
c->monst = moSeep;
|
c->monst = moSeep;
|
||||||
playSeenSound(c);
|
playSeenSound(c);
|
||||||
|
@ -911,7 +911,7 @@ bool pcmove::attack() {
|
|||||||
if(m == moRusalka) {
|
if(m == moRusalka) {
|
||||||
changes.ccell(cwt.at);
|
changes.ccell(cwt.at);
|
||||||
if(cwt.at->wall == waNone) cwt.at->wall = waShallow;
|
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);
|
changes.ccell(c2);
|
||||||
// salamanders are stunned for longer time when pushed into a wall
|
// salamanders are stunned for longer time when pushed into a wall
|
||||||
|
Loading…
Reference in New Issue
Block a user