## Rooms ## ## The actual room complexes for each game segment, along with the code to trigger any ## events in that segment. ## ## This isn't a complete room system; a number of the originally planned rooms were elided by game events so ## I removed them as extraneous. ## ## Honestly, this entire thing is probably overkill now, but at least it works flawlessly and provides ## an example of how such a system could work in a larger game. ## Segment #1 ## The cafe. Three areas, main entrance outside, main entrance inside, and the table. label cafe_foyer: $ navigation_overlay_shown = True if leave_cafe == True: $ dir_dic = { 'exit_cafe': 'enter_park_intro', 'west': 'cafe_table'} else: $ dir_dic = { 'west': 'date_second_part_' + gen } scene cafe foyer "This is the entrance." jump cafe_foyer label cafe_table: $ navigation_overlay_shown = True if date_part_two_seen == False: $ dir_dic = { 'east': 'meet_ghost', 'wait': 'wait_at_table' } else: $ dir_dic = { 'east': 'cafe_foyer' } scene cafe table "This is our table." jump cafe_table ## Segment #2: ## The cafe. Three areas, probably the main entrance inside, the table, and the counter. Maybe a bathroom. ## The park. Six areas, maybe a waterfall grotto, a rest area, and an open area. ## The grotto (5 & 6) isn't open yet. ## 4--3--5--6 ## | ## 2 label park_riverbank: $ navigation_overlay_shown = True if park_waterfall_open == True and rescued_li == False and li_called_away == False: $ dir_dic = { 'west': 'followed_li', 'east': 'meet_ghost_again'} elif rescued_li == False and saw_ghost_again == True: $ dir_dic = { 'west': 'followed_li' } elif park_waterfall_open == False and rescued_li == False and heard_crying_again == False: if saw_ghost == True: $ dir_dic = { 'west': 'followed_li', 'wait': 'wait_at_riverbank'} else: $ dir_dic = { 'west': 'followed_li' } elif li_called_away == True: $ dir_dic = { 'west': 'followed_li' } else: $ dir_dic = { 'west': 'park_rest_area', 'south': 'park_lawn' } scene park riverbank "This is the riverbank." jump park_riverbank label park_behind_waterfall: $ navigation_overlay_shown = True $ dir_dic = { 'out': 'meet_ghost_last' } "I am behind the waterfall." jump park_behind_waterfall