Commit Graph

7 Commits

Author SHA1 Message Date
e868d0e14f Add display abstraction
In case we want to run this on something that isn't an ANSI terminal, we
have the option to implement it however we want.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-20 19:38:06 -08:00
2f86df2930 Add room entry auto-triggers, player input, and more
* When you teleport to a room, the teleport auto-triggers fire.
* Rooms have auto-triggers. None by default. They are run every time you
  teleport to a room, and when the game starts. Gate behavior behind a
  variable.
* PlayerInputAction waits for player input (and potentially write it
  into a variable)

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 20:32:02 -08:00
ff5d4484fe Move variables and triggers to be defined in the database
* Variables are now defined in the database, rather than the game
  itself.
* Triggers are now defined in the database, rather than hidden away in a
  method in the game. Custom triggers can now be added as well, in case
  a game needs more complex behavior that isn't necessarily available in
  the base library.

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 17:32:45 -08:00
0f6433eabd More updates to the example game. Won't be specific here - too much changing, sorry.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 17:24:46 -08:00
7f86aafc05 Update example game some, update engine some
* Add RevealAction/UnrevealAction for revealing/hiding items in a room
* Add a lot of checks for items being revealed when it's attempted to be
  triggered
* Implement TeleportAction (mostly)
* For all Check* family of actions, the `yes` and `no` values may be
  just be a single action instead of an array of actions
* Change up how room descriptions and stuff work, mostly so that you can
  specify multiple lines in an array so you can preserve paragraph
  breaks when displayed.
* Example game has some more content

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 16:26:16 -08:00
1304b27944 Split out examplegame defs by items, rooms, and vars
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 13:02:16 -08:00
8a39db2b29 Add package loading so not everything is defined in __main__ anymore
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
2021-11-18 12:15:35 -08:00