1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-08-28 16:32:18 +00:00

refactored barrier_land

removed laNone in barrier_land, it did break normal

revert wall

add
This commit is contained in:
Zeno Rogue 2025-08-18 16:32:20 +02:00
parent 73f2d81a37
commit 2af847cbe1

View File

@ -430,6 +430,11 @@ EX void extendBarrierBack(cell *c) {
extendBarrier(bb.at);
}
EX bool barrier_land(eLand l) {
return among(l, laBarrier, laElementalWall, laHauntedWall, laOceanWall, laMirrorWall, laMirrorWall2, laMercuryRiver);
}
EX void general_barrier_extend(cell *c) {
eLand ws = c->barleft;
@ -438,7 +443,6 @@ EX void general_barrier_extend(cell *c) {
c->barleft = NOWALLSEP_USED;
eLand l1 = c->land;
eLand l2 = c->barright;
if(!on_wall(ws)) {
if(c->bardir == NODIR) {
println(hlog, "error: NODIR barrier at ", c);
@ -574,12 +578,8 @@ EX void extendBarrier(cell *c) {
extendcheck(c);
// printf("build barrier at %p", hr::voidp(c));
if(c->land == laBarrier || c->land == laElementalWall || c->land == laHauntedWall || c->land == laOceanWall ||
c->land == laMirrorWall || c->land == laMirrorWall2 || c->land == laMercuryRiver) {
// printf("-> ready\n");
return;
}
if(barrier_land(c->land)) return;
// if(c->wall == waWaxWall) return;
if(c->mpdist > BARLEV) {
// printf("-> too far\n");