WTS/game/scripts/variables.rpy
LoafyLemon 8aba361ea9 Refactoring + Environment
* Partially sunset `game` var store and move relevant special variables inside `states` store.
* Replace `game.daytime` -> `states.env.daytime`
2024-04-25 19:49:09 +01:00

82 lines
2.0 KiB
Plaintext

#TODO Move variable defaults to appropriate files, leave common ones here (and rename this file to _Variables_.rpy or something)
init offset = -1
default current_payout = 0
# House points
default slytherin = 35
default gryffindor = 122
default hufflepuff = 25
default ravenclaw = 31
# Used to pause events/summons for a number of days
default ss_event_pause = 0
default ss_summon_pause = 0
default nt_event_pause = 0
default nt_summon_pause = 0
default hg_event_pause = 0
default hg_summon_pause = 0
default cc_event_pause = 0
default cc_summon_pause = 0
default ll_event_pause = 0
default ll_summon_pause = 0
default ag_event_pause = 0
default ag_summon_pause = 0
default sb_event_pause = 0
default sb_summon_pause = 0
# Sprite positioning
default nxpos = 0
default nypos = 0
init python:
class Environment(object):
"""Encapsulation for special variables and flags."""
def __init__(self):
# Protected values
self._gold = 0
self._day = 0
self._gryf = 0
self._slyt = 0
self._rave = 0
self._huff = 0
self._weather = "clear"
# Normal values
self.daytime = True
self.difficulty = 2
self.cheats = False
self.moon = True
@property
def gold(self):
return self._gold
@gold.setter
def gold(self, value):
old = self._gold
self._gold = max(0, min(value, 99999))
if not renpy.in_rollback() and not _in_replay:
renpy.hide_screen("gold")
renpy.show_screen("gold", old, self._gold)
@property
def day(self):
return self._day
@day.setter
def day(self, value):
self._day = max(0, value)
@property
def weather(self):
return Weather.get_weather()
@weather.setter
def weather(self, value):
Weather.set_weather(value)
default states.env = Environment()