- How are we handling palette shifts?
- Let it break, it's a visual-only issue (no work needed, but ugly)
- Update per room (somewhat simple fix in asm i think? just make each room remember what it's supposed to be, shift every entrance, and default to old behavior for any oob roomshifts)
- Modes:
- Full (all rooms share the same pool: any room can connect to any)
- Half Separated (overworld pool, caves/inside/dungeon mixed pool)
- Full Separated (like rooms share the same pools: overworld pool, caves pool, inside pool, dungeons pool)
- Overworld (overworld pool only: do not randomize other pools)
- None
- Mode toggle:
- Match ends (connect all left sides to right sides, all up sides to down sides)
- We should have a logic file for rooms, like
logic/overworld.py
- maybe use grid references (
a1, b5, etc), and comment rooms (# graveyard connector left side, # 5 chest game cave top)
- we could use this in the actual logic files instead in order to combat redundancy, and make it more accurate: several entrances in logic do not account for roomrando
- logic for what they connect to/have (
D7_PILLAR SWITCH_TILES, SWITCH_HIT, None, NO_CONNECT, OR(FEATHER, SWITCH_HIT) # room properties, then requirements: left, up, right, down)
- we should actually have this disconnected, that looks very ugly to read. something like:
room.add("a1", "d1_moldorm_spawn_room") { # referrable by either
information: "HAS_CHEST";
room_type: "DUNGEON";
cas_item: "SWORD";
#cas_up: ; # when no change, comment out or dont include
#cas_down: ;
#cas_left: ;
#cas_right: ;
item: "OR(r.attack_moldorm)"
up: "None";
down: "SWORD";
left: "BOMB";
right: "None";
hard_item: "$[self.item], BOMBS";
#hard_up: ;
#hard_down: ;
#hard_left: ;
#hard_right: ;
#glitched_item: ;
#glitched_up: ;
#glitched_down: ;
#glitched_left: ;
#glitched_right: ;
#hell_item: ;
#hell_up: ;
#hell_down: ;
#hell_left: ;
#hell_right: ;
}
logic/overworld.pya1,b5, etc), and comment rooms (# graveyard connector left side,# 5 chest game cave top)D7_PILLAR SWITCH_TILES, SWITCH_HIT, None, NO_CONNECT, OR(FEATHER, SWITCH_HIT) # room properties, then requirements: left, up, right, down)