2024-09-24 20:16:55 +00:00
|
|
|
label gift_menu(inter_pause=True):
|
2024-08-07 17:37:07 +00:00
|
|
|
$ disable_game_menu()
|
2022-05-16 23:48:22 +00:00
|
|
|
$ inventory_mode = 1
|
2024-09-24 20:16:55 +00:00
|
|
|
if inter_pause:
|
|
|
|
# Ensures all irrelevant screens are hidden before capturing the surface tree
|
|
|
|
with Pause(0.2)
|
2024-08-07 17:37:07 +00:00
|
|
|
call screen inventory
|
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
if not _return == True:
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
if _return.type == "gift":
|
|
|
|
if get_character_gifted(states.active_girl):
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "I already gave her a gift today. Don't want to spoil her too much..." ("base", xpos="far_left", ypos="head")
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
else:
|
2024-10-13 08:38:11 +00:00
|
|
|
$ renpy.call(f"give_{states.active_girl[:3]}_gift", _return)
|
2024-08-07 17:43:16 +00:00
|
|
|
elif _return.type == "potion":
|
|
|
|
if not states.active_girl in _return.usable_on:
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "(Something tells me this potion won't work on [states.active_girl].)" ("base", xpos="far_left", ypos="head")
|
|
|
|
nar "Perhaps in the future..."
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
elif not states.env.daytime:
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head")
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
elif get_character_mood(states.active_girl) > 0:
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head")
|
|
|
|
gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head")
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(states.env.gryffindor):
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
gen "[name_hermione_genie], what would you say--" ("base", xpos="far_left", ypos="head")
|
|
|
|
her "I'm sorry professor but I don't need your help at the moment."
|
|
|
|
her "My house is already in the lead points wise."
|
|
|
|
gen "Figures..." ("base", xpos="far_left", ypos="head")
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
call tutorial("points")
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
else:
|
|
|
|
python:
|
|
|
|
enable_game_menu()
|
|
|
|
inventory_mode = 0
|
2024-11-20 13:38:28 +00:00
|
|
|
_return.give(states.active_girl)
|
2024-08-07 17:43:16 +00:00
|
|
|
elif _return.type == "quest":
|
|
|
|
if not states.active_girl in _return.usable_on:
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "(Something tells me I cannot give this item to [states.active_girl].)" ("base", xpos="far_left", ypos="head")
|
|
|
|
nar "Perhaps in the future..."
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
#TODO Add daytime check for buttplug give item event
|
|
|
|
#show screen blktone
|
|
|
|
#with d3
|
|
|
|
#gen "(Some grander force tells me I should give it to her during daytime only.)" ("base", xpos="far_left", ypos="head")
|
|
|
|
#hide screen blktone
|
|
|
|
#with d3
|
|
|
|
elif get_character_mood(states.active_girl) > 0:
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
|
|
|
gen "(I don't think it's a good idea to give it to her when she's still upset with me...)" ("base", xpos="far_left", ypos="head")
|
|
|
|
gen "(I should wait for her to calm down first.)" ("base", xpos="far_left", ypos="head")
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
elif states.active_girl == "hermione" and not states.her.favors_convinced_stage == 2 and is_in_lead(states.env.gryffindor):
|
|
|
|
show screen blktone
|
|
|
|
with d3
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
gen "[name_hermione_genie], I have something for you--" ("base", xpos="far_left", ypos="head")
|
|
|
|
her "I'm sorry professor but I don't need your help at the moment."
|
|
|
|
her "My house is already in the lead points wise."
|
|
|
|
gen "Figures..." ("base", xpos="far_left", ypos="head")
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2024-08-07 17:43:16 +00:00
|
|
|
call tutorial("points")
|
|
|
|
|
|
|
|
hide screen blktone
|
|
|
|
with d3
|
|
|
|
else:
|
|
|
|
python:
|
|
|
|
enable_game_menu()
|
|
|
|
inventory_mode = 0
|
|
|
|
_return.give(states.active_girl)
|
2024-08-07 17:37:07 +00:00
|
|
|
|
2022-05-16 23:48:22 +00:00
|
|
|
$ inventory_mode = 0
|
2024-08-07 17:37:07 +00:00
|
|
|
$ enable_game_menu()
|
2022-05-16 23:48:22 +00:00
|
|
|
return
|
|
|
|
|
|
|
|
label give_gift(text, gift):
|
|
|
|
show screen gift(gift)
|
|
|
|
with d3
|
|
|
|
"[text]"
|
|
|
|
hide screen gift
|
|
|
|
with d3
|
|
|
|
$ gift.owned -= 1
|
2023-11-17 01:49:44 +00:00
|
|
|
return
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
screen gift(gift):
|
2024-08-07 17:37:07 +00:00
|
|
|
layer "interface"
|
2022-05-16 23:48:22 +00:00
|
|
|
zorder 30
|
|
|
|
|
|
|
|
if isinstance(gift, Item):
|
2023-11-16 16:22:23 +00:00
|
|
|
add gift.get_image() align (0.5, 0.4) xysize (320, 320) fit "contain"
|
2022-05-16 23:48:22 +00:00
|
|
|
else:
|
2023-11-16 16:22:23 +00:00
|
|
|
add gift align (0.5, 0.4) xysize (320, 320) fit "contain"
|