Random Object Refactoring and a bug fix (by

Gouvernathor)
This commit is contained in:
LoafyLemon 2024-03-24 18:18:34 +00:00
parent 9a088d22e1
commit 0597621c54
3 changed files with 73 additions and 62 deletions

View File

@ -86,7 +86,8 @@ label day_start:
# Randomisers
random_gold = renpy.random.randint(8, 40)
map_randomobj = renpy.random.Random()
map_randomobj.seed()
door_randomobj.seed()
# Send salary every 7th day
if game.day % 7 == 0:
@ -194,7 +195,8 @@ label night_start:
# Randomisers
random_gold = renpy.random.randint(8, 40)
map_randomobj = renpy.random.Random()
map_randomobj.seed()
door_randomobj.seed()
# Update map locations
call set_all_map_locations

View File

@ -3,28 +3,29 @@
####################################
default summon_show_busy = True
default door_randomobj = renpy.random.Random()
label summon:
$ gui.in_context("summon_menu")
jump main_room_menu
init python:
def __choice(seq):
seed = door_randomobj.getstate()
rv = door_randomobj.choice(seq)
door_randomobj.setstate(seed)
return rv
label summon_menu(xx=723, yy=90):
$ renpy.dynamic(
map_transcript_loc = {
"library": "Library",
"room_g": "Gryffindor Dormitory",
"room_s": "Slytherin Dormitory",
"room_r": "Ravenclaw Dormitory",
"room_h": "Hufflepuff Dormitory",
"great_hall": "Great Hall",
"courtyard": "Courtyard",
"forest": "Forest",
"greenhouse": "Greenhouse",
"defense": "D.A.D.A Classroom",
"training_grounds": "Training Grounds",
"Lake": "Lake",
"randomstudent": renpy.random.choice((
define map_transcript_loc = dict(
library = "Library",
room_g = "Gryffindor Dormitory",
room_s = "Slytherin Dormitory",
room_r = "Ravenclaw Dormitory",
room_h = "Hufflepuff Dormitory",
great_hall = "Great Hall",
courtyard = "Courtyard",
forest = "Forest",
greenhouse = "Greenhouse",
defense = "D.A.D.A Classroom",
training_grounds = "Training Grounds",
Lake = "Lake",
randomstudent = functools.partial(__choice, (
"Classroom",
"Bathroom",
"Hagrid's Hut",
@ -32,7 +33,7 @@ label summon_menu(xx=723, yy=90):
"Mafkin's Store",
"Broom Cupboard",
"Attic")),
"randomsnape": renpy.random.choice((
randomsnape = functools.partial(__choice, (
"Classroom",
"Boathouse",
"Bathroom",
@ -48,7 +49,7 @@ label summon_menu(xx=723, yy=90):
"Staircase",
"Behind your door",
"Room of Doom")),
"randomtonks": renpy.random.choice((
randomtonks = functools.partial(__choice, (
"Classroom",
"Bathroom",
"Hall",
@ -57,7 +58,7 @@ label summon_menu(xx=723, yy=90):
"Hufflepuff Dormitory",
"Ravenclaw Dormitory",
"Training Grounds",
"Tonks' Room",
"Tonks's Room",
"Quidditch Pitch",
"Infirmary",
"Sex Dungeon",
@ -66,8 +67,15 @@ label summon_menu(xx=723, yy=90):
"Lake",
"Greenhouse",
"Mafkin's Store")),
},
)
label summon:
$ gui.in_context("summon_menu")
jump main_room_menu
label summon_menu(xx=723, yy=90):
$ renpy.dynamic(
# Door dictionary
summon_dict = {
# the order will be the one in the menu
@ -179,7 +187,8 @@ screen summon_menu():
xysize (48, 48)
add crop_image_zoom("interface/icons/head/"+char_dict["ico"]+".webp", 42, 42, char_dict["busy"]) align (0.5, 0.5)
text map_transcript_loc[char_dict["loc"]] size 10 xalign 0.625 yalign 0.9 xanchor 0.5
$ loc = map_transcript_loc[char_dict["loc"]]
text (loc() if callable(loc) else loc) size 10 xcenter 0.6 yalign 0.9
if not states.sna.unlocked:
text "You don't know anyone" size 12 at truecenter

View File

@ -43,7 +43,7 @@ label shop_item_menu(xx=150, yy=90):
show screen shop_item(xx, yy)
label .after_init:
$ renpy.dynamix(__choice = ui.interact())
$ renpy.dynamic(__choice = ui.interact())
if __choice[0] == "select":
$ current_item = __choice[1]