1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-02-03 20:59:17 +00:00

Merge pull request #173 from jruderman/safety_mons

Orb of Safety excludes more monsters
This commit is contained in:
Zeno Rogue 2021-07-04 09:44:33 +02:00 committed by GitHub
commit f3808de42c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2192,11 +2192,11 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
case laMountain:
if(d == 7) {
if(hrand_monster(50000) < 100)
if(hrand_monster(50000) < 100 && !safety)
buildIvy(c, 0, 3);
else if(hrand_monster(125000) < 100 - celldistAlt(c))
else if(hrand_monster(125000) < 100 - celldistAlt(c) && !safety)
c->monst = moMonkey;
else if(hrand_monster(200000) < min(100, -10*celldistAlt(c)) - celldistAlt(c))
else if(hrand_monster(200000) < min(100, -10*celldistAlt(c)) - celldistAlt(c) && !safety)
c->monst = moEagle;
else if(hrand(100) < 5)
c->wall = waPlatform;
@ -2333,7 +2333,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
c->wall = waRuinWall, c->landparam = 1;
}
}
if(hrand_monster(40000) < kf && !c->monst && !c->wall && !shmup::on) {
if(hrand_monster(40000) < kf && !c->monst && !c->wall && !shmup::on && !safety) {
cell *c1 = c;
cell *c2 = createMov(c1, hrand(c1->type));
if(c2->monst || c2->wall) return;
@ -2758,7 +2758,7 @@ EX void giantLandSwitch(cell *c, int d, cell *from) {
}
}
if(d == 7) {
if(d == 7 && !safety) {
if(c->wall == waNone) {
if(hrand_monster(2000) < ((cwt.at->land == laFrog || items[itFrog]) ? 20 : 0) + (items[itFrog] + yendor::hardness()))
c->monst = pick(moFrog, moPhaser, moVaulter);