lexys-labyrinth icon indicating copy to clipboard operation
lexys-labyrinth copied to clipboard

CC2 incompatibility: Ghosts can pass through a custom floor/no sign/hiking boots tile

Open Patashu opened this issue 3 years ago • 5 comments

image ^ like this apparently the exact way the rule works is like 'the ghost pretends to be a rover for collission purposes on trying to enter the tile'. so probably a CC2 bug that rarely comes up

Patashu avatar Nov 29 '21 23:11 Patashu

of course it pretends to be a rover. why wouldn't it. how does that make any goddamn sense

does it specifically have to be a hiking boot??

eevee avatar Dec 23 '21 04:12 eevee

https://discord.com/channels/343036755999457281/771512221560995850/914803792464207903 this is the source. it's gross and you might have to ask ʐ̈ MANNNNNNN for more info or do CC2 testing to get the exact details down

Patashu avatar Dec 23 '21 04:12 Patashu

i'm investigating this and regretting it

their test map is this:

i went through every single result in cc2 and collated the following

things that newly block a ghost when no-boot is introduced for obvious reasons (they would block a rover):

  • closed green toggle wall
  • closed purple toggle wall
  • side of a train track
  • swivel door closed to the ghost
  • wall
  • reveal wall (which is also revealed!)
  • invisible wall
  • ice corner closed to the ghost
  • green wall
  • blue wall (which is revealed!)
  • doors, without key
  • locked chip socket
  • thin wall on near side of cell

things that newly don't block a ghost when no-boot is introduced for obvious reasons (they do not block rovers):

  • decorative floors
  • turtles (which sink)
  • water

things not affected by no-boot for obvious reasons (the rover has the same behavior, or the behavior of interest happens at a different time):

  • slime
  • active flame jet
  • swivel door open to the ghost (not swiveled on depart)
  • curved train track (ghost doesn't turn)
  • thief
  • ice
  • steel
  • pop-wall (also not popped)
  • dirt
  • decorative walls
  • gravel
  • green popdown walls
  • blue floors
  • cloners
  • force floors
  • doors, with key
  • fire
  • traps
  • ice, with cleats
  • dirt, with hiking boots
  • fire, with fire boots
  • exit
  • male bathroom sign
  • railroad side, with RR sign
  • female bathroom sign
  • thin wall on far side of cell
  • hint

so, ok, i buy this explanation. there are two wrinkles: fire or a canopy, which would block a rover, do not block a ghost even with this construction. and the very weird thing is here, the layers are checked in the following order:

  • canopy
  • thin walls
  • item mod
  • terrain
  • swivel
  • actor
  • item

so the item mod is only seen after checking the thin walls layer, but thin walls are nonetheless affected. so it's not even quite as simple as merely "ghosts copy rover collision".

(the wiki needs updating with this info i suppose)

also, in the little ice contraptions in the bottom left, the ghosts simply stop forever in CC2. this is explained on the wiki. it's also super weird. i can buy that ghosts reversing on ice is deliberate behavior, i guess, but i cannot imagine what about ice cleats is causing them to simply stop. this is an important distinction because i'm not sure whether to emulate it in lexy mode or consider it an implementation bug.

eevee avatar Dec 23 '21 06:12 eevee

after some thought i have decided the cleat thing has to be deliberate; it's too weird not to be, and all the other boots have zany unique behaviors as well. he just never ended up using it in a level, i guess.

the rover collision thing smells distinctly like a bug, though, and is completely incomprehensible even if not (we didn't even understand the rules until one month ago!), so i am relegating it to a compat flag. but given that it primarily affects level design and not gameplay, i'll stick it in both steam and steam-strict

eevee avatar Dec 23 '21 06:12 eevee

whoops! fire blocks rovers, but fire under a no sign does not block ghosts. so it's not even just about layers either.

eevee avatar Dec 24 '21 23:12 eevee