2022-05-16 23:48:22 +00:00
|
|
|
default UI_xpos_offset = 230
|
|
|
|
default UI_ypos_offset = 150
|
|
|
|
|
|
|
|
default map_animated = "once"
|
|
|
|
|
|
|
|
define map_scale = 0.35
|
|
|
|
define map_ani_time = 1.5
|
|
|
|
|
2023-11-15 23:13:42 +00:00
|
|
|
default map_randomobj = renpy.random.Random()
|
|
|
|
init python:
|
|
|
|
def __choice(seq):
|
|
|
|
seed = map_randomobj.getstate()
|
|
|
|
rv = map_randomobj.choice(seq)
|
|
|
|
map_randomobj.setstate(seed)
|
|
|
|
return rv
|
|
|
|
|
2022-05-16 23:48:22 +00:00
|
|
|
transform map_fadein:
|
|
|
|
alpha 0
|
|
|
|
pause (map_ani_time)
|
|
|
|
linear 1 alpha 1
|
|
|
|
|
|
|
|
image map_unfold:
|
|
|
|
"interface/map/anim/map_03.webp"
|
|
|
|
pause map_ani_time/3
|
|
|
|
"interface/map/anim/map_02.webp" with Dissolve(map_ani_time/3)
|
|
|
|
pause map_ani_time/3
|
|
|
|
"interface/map/anim/map_01.webp" with Dissolve(map_ani_time/3)
|
|
|
|
pause map_ani_time/3
|
|
|
|
"interface/map/map.webp" with Dissolve(1)
|
|
|
|
pause 1
|
|
|
|
"interface/map/map.webp"
|
|
|
|
|
|
|
|
screen map_screen():
|
|
|
|
tag map
|
|
|
|
zorder 4
|
|
|
|
|
|
|
|
# Default avoids changing the screen if the animation is toggled quickly
|
|
|
|
default unfold = map_animated
|
|
|
|
|
|
|
|
# Disable animation after first time (can still be toggled)
|
|
|
|
if map_animated == "once":
|
|
|
|
timer map_ani_time+1 action SetVariable("map_animated", False)
|
|
|
|
|
|
|
|
if unfold:
|
|
|
|
add "map_unfold" xpos UI_xpos_offset ypos UI_ypos_offset zoom map_scale # 588x420
|
|
|
|
else:
|
|
|
|
add "interface/map/map.webp" xpos UI_xpos_offset ypos UI_ypos_offset zoom map_scale # 588x420
|
|
|
|
|
|
|
|
fixed:
|
|
|
|
if unfold:
|
|
|
|
at map_fadein
|
|
|
|
use map_buttons
|
|
|
|
use map_screen_characters
|
|
|
|
|
|
|
|
screen map_buttons():
|
|
|
|
tag map
|
|
|
|
zorder 4
|
|
|
|
#Office
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +112
|
|
|
|
ypos UI_ypos_offset +234
|
|
|
|
idle "interface/map/room_office_idle.webp"
|
|
|
|
hover "interface/map/room_office_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "office")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("main_room_menu")
|
|
|
|
|
|
|
|
#Gryffindor
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +148
|
|
|
|
ypos UI_ypos_offset +214
|
|
|
|
idle "interface/map/room_gryffindor_idle.webp"
|
|
|
|
# hover "interface/map/room_gryffindor_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
# hovered SetScreenVariable("ball_hint", "dorm_gryffindor")
|
|
|
|
# unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
# action Return("gryffindor_dormitories")
|
|
|
|
|
|
|
|
#Ravenclaw
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +286
|
|
|
|
ypos UI_ypos_offset +256
|
|
|
|
idle "interface/map/room_ravenclaw_idle.webp"
|
|
|
|
# hover "interface/map/room_ravenclaw_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
# hovered SetScreenVariable("ball_hint", "dorm_ravenclaw")
|
|
|
|
# unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
# action Return("ravenclaw_dormitories")
|
|
|
|
|
|
|
|
#Hufflepuff
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +76
|
|
|
|
ypos UI_ypos_offset +295
|
|
|
|
idle "interface/map/room_hufflepuff_idle.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
#hovered SetScreenVariable("ball_hint", "dorm_hufflepuff")
|
|
|
|
#unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
#hover "interface/map/room_hufflepuff_hover.webp"
|
|
|
|
#action Return("hufflepuff_dormitories")
|
|
|
|
|
|
|
|
#Slytherin
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +214
|
|
|
|
ypos UI_ypos_offset +136
|
|
|
|
idle "interface/map/room_slytherin_idle.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
#hovered SetScreenVariable("ball_hint", "dorm_slytherin")
|
|
|
|
#unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
#hover "interface/map/room_slytherin_hover.webp"
|
|
|
|
#action Return("slytherin_dormitories")
|
|
|
|
|
|
|
|
#Weasley Store 15 x 15
|
|
|
|
if not item_store_intro_done:
|
|
|
|
add "interface/achievements/glow.webp" pos (UI_xpos_offset+246, UI_ypos_offset+231) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +246
|
|
|
|
ypos UI_ypos_offset +231
|
|
|
|
idle "interface/map/room_weasley_store_idle.webp"
|
|
|
|
hover "interface/map/room_weasley_store_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "weasley_store")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("item_store")
|
|
|
|
|
|
|
|
#Clothing Store
|
|
|
|
if not clothing_store_intro_done:
|
|
|
|
add "interface/achievements/glow.webp" pos (UI_xpos_offset+462, UI_ypos_offset+231) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +462
|
|
|
|
ypos UI_ypos_offset +231
|
|
|
|
idle "interface/map/room_clothing_store_idle.webp"
|
|
|
|
hover "interface/map/room_clothing_store_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "clothing_store")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("clothing_store")
|
|
|
|
|
|
|
|
# Snape's Office
|
2023-04-02 23:48:38 +00:00
|
|
|
if not states.map.snape_office.visited:
|
2022-05-16 23:48:22 +00:00
|
|
|
add "interface/achievements/glow.webp" pos (UI_xpos_offset+314, UI_ypos_offset+331) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +314
|
|
|
|
ypos UI_ypos_offset +331
|
|
|
|
idle "interface/map/room_potions_idle.webp"
|
|
|
|
hover "interface/map/room_potions_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "potions")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("snape_office")
|
|
|
|
|
|
|
|
#Room of Requirement
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.map.seventh_floor.unlocked:
|
2023-04-02 23:48:38 +00:00
|
|
|
if not states.map.room_of_requirement.intro_e1:
|
2022-05-16 23:48:22 +00:00
|
|
|
add "interface/achievements/glow.webp" pos (UI_xpos_offset+116, UI_ypos_offset+160) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +116
|
|
|
|
ypos UI_ypos_offset +160
|
2023-11-14 23:17:26 +00:00
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
|
|
|
hovered SetScreenVariable("ball_hint", "room_of_req")
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("seventh_floor")
|
2023-03-31 22:41:48 +00:00
|
|
|
if not states.map.seventh_floor.visited:
|
2022-05-16 23:48:22 +00:00
|
|
|
idle "interface/map/room_ror_empty_idle.webp"
|
|
|
|
hover "interface/map/room_ror_empty_hover.webp"
|
|
|
|
else:
|
|
|
|
idle "interface/map/room_ror_idle.webp"
|
|
|
|
hover "interface/map/room_ror_hover.webp"
|
|
|
|
|
|
|
|
#Lake
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +131
|
|
|
|
ypos UI_ypos_offset +367
|
|
|
|
idle "interface/map/room_boat_house_idle.webp"
|
|
|
|
# hover "interface/map/room_boat_house_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
# hovered SetScreenVariable("ball_hint", "lake")
|
|
|
|
# unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
# action Return("map_lake")
|
|
|
|
|
|
|
|
#Forest
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +103
|
|
|
|
ypos UI_ypos_offset +12
|
|
|
|
idle "interface/map/room_north_courtyard_idle.webp"
|
|
|
|
# hover "interface/map/room_north_courtyard_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
# hovered SetScreenVariable("ball_hint", "forest")
|
|
|
|
# unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
# action Return("map_forest")
|
|
|
|
|
|
|
|
#Attic
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.her.ev.sealed_scroll.examined:
|
|
|
|
if not states.her.ev.sealed_scroll.sample:
|
2022-05-16 23:48:22 +00:00
|
|
|
add "interface/achievements/glow.webp" pos (UI_xpos_offset+340, UI_ypos_offset+226) align (0.5, 0.5) offset (15, 15) zoom 0.15 alpha 0.5 at rotate_circular
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +340
|
|
|
|
ypos UI_ypos_offset +226
|
|
|
|
idle "interface/map/room_attic_closed_idle.webp"
|
|
|
|
hover "interface/map/room_attic_closed_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "attic")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("map_attic")
|
|
|
|
else:
|
|
|
|
imagebutton:
|
|
|
|
xpos UI_xpos_offset +340
|
|
|
|
ypos UI_ypos_offset +226
|
|
|
|
idle "interface/map/room_attic_open_idle.webp"
|
|
|
|
hover "interface/map/room_attic_open_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "attic")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("map_attic")
|
|
|
|
|
|
|
|
# Map animation toggle
|
|
|
|
textbutton "Animation":
|
|
|
|
style gui.theme("check_button")
|
|
|
|
pos (700, 530)
|
|
|
|
selected map_animated
|
|
|
|
tooltip "Toggles map folding animation"
|
|
|
|
action ToggleVariable("map_animated", True, False)
|
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
label set_all_map_locations:
|
|
|
|
call set_her_map_location()
|
|
|
|
call set_lun_map_location()
|
|
|
|
call set_cho_map_location()
|
|
|
|
call set_ast_map_location()
|
|
|
|
call set_sus_map_location()
|
|
|
|
#TODO: Add Tonks map location
|
|
|
|
#TODO: Add Snape map location
|
|
|
|
|
|
|
|
call update_character_map_locations
|
|
|
|
return
|
|
|
|
|
2022-05-16 23:48:22 +00:00
|
|
|
label set_her_map_location(location=""):
|
|
|
|
|
|
|
|
if location != "":
|
|
|
|
if location == "library":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.her.map_location = "library"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["gryffindor_room","gryff_room","room_g"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.her.map_location = "room_g"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["slytherin_room","slyth_room","room_s"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.her.map_location = "room_s"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location == "great_hall":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.her.map_location = "great_hall"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location == "courtyard":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.her.map_location = "courtyard"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
else: #Random
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.her.level < 11:
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.her.map_location = __choice(("library", "library", "great_hall", "room_g", "room_g"))
|
2022-05-16 23:48:22 +00:00
|
|
|
else:
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.her.status.blowjob == True and game.weather in ("clear", "cloudy") and not game.daytime and not states.her.busy:
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.her.map_location = "forest"
|
|
|
|
|
|
|
|
elif states.her.public_level < 12:
|
|
|
|
$ states.her.map_location = __choice(("great_hall", "courtyard", "room_g", "room_g", "room_g"))
|
|
|
|
else:
|
|
|
|
$ states.her.map_location = __choice(("room_s", "courtyard", "room_g", "room_g", "room_g"))
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
if location:
|
|
|
|
call update_character_map_locations
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label set_lun_map_location(location = ""):
|
|
|
|
|
|
|
|
if location != "":
|
|
|
|
if location == "greenhouse":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.lun.map_location = "greenhouse"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location == "forest":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.lun.map_location = "forest"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["ravenclaw_room","raven_room","room_r"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.lun.map_location = "room_r"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
else: #Random
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.lun.map_location = __choice(("greenhouse", "forest", "forest", "room_r", "room_r"))
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
if location:
|
|
|
|
call update_character_map_locations
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label set_ast_map_location(location = ""):
|
|
|
|
if location != "":
|
|
|
|
if location == "courtyard":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.ast.map_location = "courtyard"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["slytherin_room","slyth_room","room_s"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.ast.map_location = "room_s"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["defense_classroom"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.ast.map_location = "defense"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
else: #Random
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.ast.map_location = __choice(("courtyard", "courtyard", "room_s", "room_s", "room_s"))
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
if location:
|
|
|
|
call update_character_map_locations
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label set_sus_map_location(location = ""):
|
|
|
|
if location != "":
|
|
|
|
if location == "great_hall":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.sus.map_location = "great_hall"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["hufflepuff_room","huffl_room","room_h"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.sus.map_location = "room_r"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
else: #Random
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.sus.map_location = __choice(("great_hall", "great_hall", "room_h", "room_h", "room_h"))
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
if location:
|
|
|
|
call update_character_map_locations
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label set_cho_map_location(location = ""):
|
|
|
|
if location != "":
|
|
|
|
if location == "training_grounds":
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.cho.map_location = "training_grounds"
|
2022-05-16 23:48:22 +00:00
|
|
|
elif location in ["ravenclaw_room","raven_room","room_r"]:
|
2023-04-02 23:48:38 +00:00
|
|
|
$ states.cho.map_location = "room_r"
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
else: #Random
|
2023-11-15 23:13:42 +00:00
|
|
|
$ states.cho.map_location = __choice(("training_grounds", "training_grounds", "room_r", "room_r", "room_r"))
|
2022-05-16 23:48:22 +00:00
|
|
|
|
2023-11-15 23:49:14 +00:00
|
|
|
if location:
|
|
|
|
call update_character_map_locations
|
2022-05-16 23:48:22 +00:00
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
label update_character_map_locations:
|
2023-11-15 23:13:42 +00:00
|
|
|
if states.her.map_location == "library":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 685
|
|
|
|
$ her_map_ypos = 94
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.her.map_location == "room_g":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 340
|
|
|
|
$ her_map_ypos = 212
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.her.map_location == "room_s":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 440
|
|
|
|
$ her_map_ypos = 184
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.her.map_location == "great_hall":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 300
|
|
|
|
$ her_map_ypos = 240
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.her.map_location == "courtyard":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 674
|
|
|
|
$ her_map_ypos = 216
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.her.map_location == "forest":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ her_map_xpos = 290
|
|
|
|
$ her_map_ypos = 40
|
|
|
|
|
|
|
|
#Luna
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.lun.map_location == "room_r":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ lun_map_xpos = 536
|
|
|
|
$ lun_map_ypos = 242
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.lun.map_location == "forest":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ lun_map_xpos = 430
|
|
|
|
$ lun_map_ypos = 50
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.lun.map_location == "greenhouse":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ lun_map_xpos = 680
|
|
|
|
$ lun_map_ypos = 320
|
|
|
|
|
|
|
|
#Astoria
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.ast.map_location == "room_s":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ ast_map_xpos = 476
|
|
|
|
$ ast_map_ypos = 118
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.ast.map_location == "courtyard":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ ast_map_xpos = 634
|
|
|
|
$ ast_map_ypos = 254
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.ast.map_location == "defense": #Event
|
2022-05-16 23:48:22 +00:00
|
|
|
$ ast_map_xpos = 530
|
|
|
|
$ ast_map_ypos = 190
|
|
|
|
|
|
|
|
#Susan
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.sus.map_location == "room_h":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ sus_map_xpos = 360
|
|
|
|
$ sus_map_ypos = 320
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.sus.map_location == "great_hall":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ sus_map_xpos = 300
|
|
|
|
$ sus_map_ypos = 280
|
|
|
|
|
|
|
|
#Cho
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.cho.map_location == "room_r":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ cho_map_xpos = 494
|
|
|
|
$ cho_map_ypos = 276
|
2023-11-15 23:13:42 +00:00
|
|
|
elif states.cho.map_location == "training_grounds":
|
2022-05-16 23:48:22 +00:00
|
|
|
$ cho_map_xpos = 750
|
|
|
|
$ cho_map_ypos = 50
|
|
|
|
|
|
|
|
#Tonks
|
|
|
|
$ ton_map_xpos = 548
|
|
|
|
$ ton_map_ypos = 156
|
|
|
|
|
|
|
|
#Snape
|
|
|
|
if game.daytime:
|
|
|
|
$ sna_map_xpos = 595
|
|
|
|
$ sna_map_ypos = 270
|
|
|
|
else:
|
|
|
|
$ sna_map_xpos = 598
|
|
|
|
$ sna_map_ypos = 348
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
screen map_screen_characters():
|
|
|
|
tag map
|
|
|
|
zorder 5
|
|
|
|
|
|
|
|
#Hermione
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.her.unlocked:
|
2023-11-15 23:13:42 +00:00
|
|
|
if states.her.map_location == "forest": # Mark forest event.
|
2023-11-16 00:11:38 +00:00
|
|
|
add "interface/achievements/glow.webp" pos (her_map_xpos, UI_ypos_offset+her_map_ypos) align (0.5, 0.5) zoom 0.15 alpha 0.5 at rotate_circular
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos her_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos +UI_ypos_offset +her_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_hermione.webp"
|
|
|
|
hover "interface/map/name_hermione_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_hermione")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("hermione")
|
|
|
|
|
|
|
|
#Luna
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.lun.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos lun_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset+ lun_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_luna.webp"
|
|
|
|
hover "interface/map/name_luna_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_luna")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("luna")
|
|
|
|
|
|
|
|
#Astoria
|
2023-03-31 23:28:37 +00:00
|
|
|
if states.ast.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos ast_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset +ast_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_astoria.webp"
|
|
|
|
hover "interface/map/name_astoria_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_astoria")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("astoria")
|
|
|
|
|
|
|
|
#Susan
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.sus.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos sus_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset +sus_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_susan.webp"
|
|
|
|
hover "interface/map/name_susan_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_susan")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("susan")
|
|
|
|
|
|
|
|
#Cho
|
2023-03-31 22:41:48 +00:00
|
|
|
if states.cho.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos cho_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset +cho_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_cho.webp"
|
|
|
|
hover "interface/map/name_cho_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_cho")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("cho")
|
|
|
|
|
|
|
|
#Snape
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.sna.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos sna_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset +sna_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_snape.webp"
|
|
|
|
hover "interface/map/name_snape_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_snape")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("snape")
|
|
|
|
|
|
|
|
#Tonks
|
2023-04-02 23:48:38 +00:00
|
|
|
if states.ton.unlocked:
|
2022-05-16 23:48:22 +00:00
|
|
|
imagebutton:
|
2023-11-16 00:11:38 +00:00
|
|
|
xpos ton_map_xpos
|
2022-05-16 23:48:22 +00:00
|
|
|
ypos UI_ypos_offset +ton_map_ypos
|
|
|
|
xalign 0.5
|
|
|
|
yalign 0.5
|
|
|
|
idle "interface/map/name_tonks.webp"
|
|
|
|
hover "interface/map/name_tonks_hover.webp"
|
2023-11-14 23:17:26 +00:00
|
|
|
hovered SetScreenVariable("ball_hint", "summon_tonks")
|
|
|
|
unhovered SetScreenVariable("ball_hint", None)
|
2022-05-16 23:48:22 +00:00
|
|
|
action Return("tonks")
|