1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-10-31 19:36:16 +00:00

adjusted elec to Eclectic City

This commit is contained in:
Zeno Rogue 2020-02-26 01:34:30 +01:00
parent 0dc63ee0ba
commit 8cdb45ec01
2 changed files with 23 additions and 5 deletions

View File

@ -137,7 +137,7 @@ void celldrawer::setcolors() {
case laDesert: case laKraken: case laDocks: case laCA: case laDesert: case laKraken: case laDocks: case laCA:
case laMotion: case laGraveyard: case laWineyard: case laLivefjord: case laMotion: case laGraveyard: case laWineyard: case laLivefjord:
case laRlyeh: case laHell: case laCrossroads: case laJungle: case laRlyeh: case laHell: case laCrossroads: case laJungle:
case laAlchemist: case laAlchemist: case laFrog:
fcol = floorcolors[c->land]; break; fcol = floorcolors[c->land]; break;
case laWet: case laWet:
@ -385,7 +385,7 @@ void celldrawer::setcolors() {
break; break;
} }
case laIce: case laCocytus: case laBlizzard: case laIce: case laCocytus: case laBlizzard: case laEclectic:
if(useHeatColoring(c)) { if(useHeatColoring(c)) {
float h = HEAT(c); float h = HEAT(c);
eLand l = c->land; eLand l = c->land;
@ -987,6 +987,13 @@ void celldrawer::set_land_floor(const transmatrix& Vf) {
set_floor(cgi.shFeatherFloor); set_floor(cgi.shFeatherFloor);
break; break;
case laFrog:
if(c->wall == waDeepWater)
set_floor(cgi.shFloor);
else
set_floor(cgi.shFeatherFloor);
break;
case laZebra: case laZebra:
set_zebrafloor(); set_zebrafloor();
break; break;
@ -1009,6 +1016,7 @@ void celldrawer::set_land_floor(const transmatrix& Vf) {
case laVolcano: case laVolcano:
case laVariant: case laVariant:
case laEclectic:
set_floor(cgi.shLavaFloor); set_floor(cgi.shLavaFloor);
break; break;

View File

@ -209,6 +209,7 @@ EX namespace elec {
if(c->wall == waSea || c->wall == waGrounded) return ecGrounded; if(c->wall == waSea || c->wall == waGrounded) return ecGrounded;
if(c->wall == waSandstone || c->wall == waDeadTroll || if(c->wall == waSandstone || c->wall == waDeadTroll ||
c->wall == waDeadTroll2 || c->wall == waDeadTroll2 ||
among(c->wall, waBigTree, waSmallTree, waExplosiveBarrel, waRed1, waRed2, waRed3) ||
c->wall == waVinePlant || c->wall == waVinePlant ||
c->wall == waMetal || isAlchAny(c)) c->wall == waMetal || isAlchAny(c))
return isElectricLand(c) ? ecConductor : ecGrounded; return isElectricLand(c) ? ecConductor : ecGrounded;
@ -341,10 +342,19 @@ EX namespace elec {
if(isPlayerOn(c)) { if(isPlayerOn(c)) {
killThePlayerAt(moLightningBolt, c, 0); killThePlayerAt(moLightningBolt, c, 0);
} }
if(c->wall == waSandstone) if(c->wall == waSandstone) {
c->wall = waNone, c->item = itFulgurite, c->wall = waNone, drawParticles(c, winf[waSandstone].color, 16);
drawParticles(c, winf[waSandstone].color, 16); if(c->land == laStorms)
c->item = itFulgurite;
}
if(c->wall == waRed1) c->wall = waNone;
if(c->wall == waRed2) c->wall = waRed1;
if(c->wall == waRed3) c->wall = waRed2;
if(c->wall == waDeadTroll) c->wall = waCavefloor; if(c->wall == waDeadTroll) c->wall = waCavefloor;
if(c->wall == waBigTree || c->wall == waSmallTree)
makeflame(c, 10, false);
if(c->wall == waExplosiveBarrel)
explodeBarrel(c);
if(c->wall == waDeadTroll2 || isAlchAny(c) || c->wall == waVinePlant) if(c->wall == waDeadTroll2 || isAlchAny(c) || c->wall == waVinePlant)
drawParticles(c, winf[c->wall].color, 16), drawParticles(c, winf[c->wall].color, 16),
c->wall = waNone; c->wall = waNone;