newlands:: OLR and summoning rules added

This commit is contained in:
Zeno Rogue 2018-12-23 17:55:01 +01:00
parent 30c4d798db
commit 4169fe4cb1
2 changed files with 7 additions and 4 deletions

View File

@ -190,15 +190,15 @@ eOrbLandRelation getOLR(eItem it, eLand l) {
if(it == itOrbSlaying && !among(l,
laMirror, laHell, laEmerald, laDryForest, laCamelot, laPalace, laStorms, laRose, laTortoise, laBurial, laDungeon, laReptile,
laPrairie, laBull, laVolcano, laTerracotta, laRuins))
laPrairie, laBull, laVolcano, laTerracotta, laRuins, laVariant))
return olrUseless;
// if(it == itOrbYendor && l == laWhirlpool) return olrUseless;
if(it == itOrbYendor && l == laWhirlwind) return olrUseless;
if(it == itOrbYendor && among(l, laWhirlwind, laWestWall)) return olrUseless;
if(it == itOrbLife && (l == laKraken)) return olrUseless;
if(l == laVolcano && it == itOrbSafety) return olrDangerous;
if(l == laVariant && it == itOrbSafety) return olrDangerous;
if(l == laVolcano && itemBurns(it)) return olrBurns;
if(it == itOrbAir && l == laAlchemist) return olrUseless;
@ -444,7 +444,7 @@ int treasureForLocal() {
void placeLocalOrbs(cell *c) {
eLand l = c->land;
if(l == laZebra && c->wall == waTrapdoor) return;
if(isGravityLand(l) && cellEdgeUnstable(c)) return;
if(isGravityLand(l) && l != laWestWall && cellEdgeUnstable(c)) return;
if(isElemental(l)) l = laElementalWall;
if(peace::on) return;
if(daily::on) return;

View File

@ -783,6 +783,9 @@ eMonster summonedAt(cell *dest) {
if(dest->land == laRuins) return moEarthElemental;
if(dest->land == laSwitch) return passive_switch;
if(dest->land == laSnakeNest) return moEarthElemental;
if(dest->land == laBrownian) return moAcidBird;
if(dest->land == laVariant) return moFireElemental;
if(dest->land == laWestWall) return moAirElemental;
if(isHaunted(dest->land)) return moGhost;
}
return moNone;