diff --git a/game/scripts/characters/genie/vars.rpy b/game/scripts/characters/genie/vars.rpy index 615c39b7..b4fca57b 100644 --- a/game/scripts/characters/genie/vars.rpy +++ b/game/scripts/characters/genie/vars.rpy @@ -23,6 +23,7 @@ default states.gen.ev.intro.desk_examined = False default states.gen.ev.intro.cupboard_examined = False default states.gen.ev.intro.door_examined = False default states.gen.ev.intro.fireplace_examined = False +default states.gen.ev.intro.safe_examined = False default states.gen.ev.tonks.metamorphmagi_aware = False # Genie knows about Tonks being a Metamorphmagus # Statistics diff --git a/game/scripts/events/Start.rpy b/game/scripts/events/Start.rpy index f0cf2a8b..e95c7b81 100644 --- a/game/scripts/events/Start.rpy +++ b/game/scripts/events/Start.rpy @@ -134,6 +134,8 @@ label genie_intro_E1: door_OBJ.action = {"Examine": (Text("🔍", align=(0.5, 0.5)), Jump("examine_door"), "True")} desk_OBJ.idle = At("ch_gen sit_behind_desk", pulse_hover) desk_OBJ.action = {"Examine": (Text("🔍", align=(0.5, 0.5)), Jump("examine_desk"), "True")} + safe_OBJ.idle = At(Text("Safe", color="#bbbbbb"), pulse_hover) + safe_OBJ.action = {"Examine": (Text("🔍", align=(0.5, 0.5)), Jump("examine_safe"), "True")} achievements.unlock("start") states.gen.ev.intro.e1_complete = True @@ -151,6 +153,7 @@ label genie_intro_E2: $ phoenix_OBJ.reset_action() $ door_OBJ.reset_action() $ desk_OBJ.reset_action() + $ safe_OBJ.reset_action() $ states.gen.ev.intro.e2_complete = True diff --git a/game/scripts/events/quests.rpy b/game/scripts/events/quests.rpy index 4736a2f5..3cb09e9c 100644 --- a/game/scripts/events/quests.rpy +++ b/game/scripts/events/quests.rpy @@ -16,7 +16,7 @@ label quests: if states.env.day >= 1: if states.env.daytime: - if not states.gen.ev.intro.e2_complete and states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined: + if not states.gen.ev.intro.e2_complete and states.gen.ev.intro.bird_examined and states.gen.ev.intro.desk_examined and states.gen.ev.intro.cupboard_examined and states.gen.ev.intro.door_examined and states.gen.ev.intro.fireplace_examined and states.gen.ev.intro.safe_examined: jump genie_intro_E2 else: if not states.sna.ev.intro.e1_complete: diff --git a/game/scripts/rooms/main_room/init.rpy b/game/scripts/rooms/main_room/init.rpy index 7746cdb8..9c06a406 100644 --- a/game/scripts/rooms/main_room/init.rpy +++ b/game/scripts/rooms/main_room/init.rpy @@ -80,7 +80,7 @@ default parcel_OBJ = RoomObject(main_room, "parcel", pos=(402, 290), idle="parce default rug_OBJ = RoomObject(main_room, "rug", pos=(482, 392), idle=Null(), action=None, zorder=0) default chandelier_OBJ = RoomObject(main_room, "chandelier", pos=(536, 24), idle=Null(), action=None, zorder=5) default window_OBJ = RoomObject(main_room, "window", pos=(459, 192), idle=Null(), action=None, zorder=0) -default safe_OBJ = RoomObject(main_room, "safe", pos=(73, 324), idle=Text("Safe\n[states.env.gold!i]", color="#fff"), action=Jump("inventory"), zorder=0) +default safe_OBJ = RoomObject(main_room, "safe", pos=(73, 324), idle=Text("Safe", color="#fff"), action=Jump("inventory"), zorder=0) screen main_room(): tag room diff --git a/game/scripts/rooms/main_room/objects/safe.rpy b/game/scripts/rooms/main_room/objects/safe.rpy new file mode 100644 index 00000000..14999524 --- /dev/null +++ b/game/scripts/rooms/main_room/objects/safe.rpy @@ -0,0 +1,20 @@ +label examine_safe: + if not states.gen.ev.intro.safe_examined: + $ states.gen.ev.intro.safe_examined = True + $ safe_OBJ.idle = Text("Safe", color="#fff") + $ safe_OBJ.action = Jump("examine_safe") + + call gen_chibi("stand", 130, 460, flip=False) + + gen "Ah, it seems we have a magical safe. It's currently locked, but we can try to open it..." ("base", xpos="far_left", ypos="head") + gen "Open sesame!" ("base", xpos="far_left", ypos="head") + nar "The safe opens..." + gen "Holy shit, it worked!" ("grin", xpos="far_left", ypos="head") + gen "Empty... How unexpected..." ("base", xpos="far_left", ypos="head") + gen "Wait. There's a single gold coin inside, though. Yoink!" ("grin", xpos="far_left", ypos="head") + + call gen_chibi("sit_behind_desk") + else: + gen "I've already got whatever was inside that safe." ("base", xpos="far_left", ypos="head") + + jump main_room_menu