This is some insane programming within the limits of pulp. I don't even think the panic devs did this type of stuff for their gamejam games. I'm trying to program a similar game (totally different play experience, but also involves collecting unique objects and then referencing their stats for battles), so I'd love if you could answer some questions about the code:
The way you used npc_trainer_all was really cool. Did you actually have to place the tile somewhere in order to call it? I didn't see the tile in any of the rooms.
Where did you learn to use the "mimic" function? The documentation on it is really limited (just says that one tile will "mimic" another when you use it, lol).