mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2026-09-24 12:01:40 +00:00
adapted most new lands for Shmup and some other modes
This commit is contained in:
@@ -631,7 +631,7 @@ bool againstWind(cell *cto, cell *cfrom) {
|
||||
if(!cfrom || !cto) return false;
|
||||
int dcto = airdist(cto), dcfrom = airdist(cfrom);
|
||||
if(dcto < dcfrom) return true;
|
||||
if(cfrom->land == laBlizzard && cto->land == laBlizzard && dcto == 3 && dcfrom == 3) {
|
||||
if(cfrom->land == laBlizzard && !shmup::on && cto->land == laBlizzard && dcto == 3 && dcfrom == 3) {
|
||||
char vfrom = windmap::at(cfrom);
|
||||
char vto = windmap::at(cto);
|
||||
int z = (vfrom-vto) & 255;
|
||||
@@ -2428,8 +2428,9 @@ bool recalcTide;
|
||||
#define LANDDIST LHU.bytes[1]
|
||||
#define CHAOSPARAM LHU.bytes[2]
|
||||
|
||||
int alchemyval(cell *c, int t) {
|
||||
return (windmap::at(c) + (turncount+t)*4) & 255;
|
||||
int lavatide(cell *c, int t) {
|
||||
int tc = (shmup::on ? shmup::curtime/400 : turncount);
|
||||
return (windmap::at(c) + (tc+t)*4) & 255;
|
||||
}
|
||||
|
||||
void checkTide(cell *c) {
|
||||
@@ -2464,7 +2465,7 @@ void checkTide(cell *c) {
|
||||
c->wall = waSea;
|
||||
}
|
||||
if(c->land == laVolcano) {
|
||||
int id = alchemyval(c, 0);
|
||||
int id = lavatide(c, 0);
|
||||
if(id < 96) {
|
||||
if(c->wall == waNone || isWateryOrBoat(c) || c->wall == waVinePlant) {
|
||||
if(isWateryOrBoat(c))
|
||||
@@ -5534,6 +5535,11 @@ bool checkNeedMove(bool checkonly, bool attacking) {
|
||||
if(checkonly) return true;
|
||||
addMessage(XLAT("This spot will be burning soon! RUN!"));
|
||||
}
|
||||
else if(cwt.c->wall == waMagma && !markOrb(itOrbWinter) && !markOrb2(itOrbShield)) {
|
||||
if(markOrb2(itOrbAether)) return false;
|
||||
if(checkonly) return true;
|
||||
addMessage(XLAT("Run away from the magma!"));
|
||||
}
|
||||
else if(cwt.c->wall == waChasm) {
|
||||
if(markOrb2(itOrbAether)) return false;
|
||||
if(checkonly) return true;
|
||||
|
||||
Reference in New Issue
Block a user