forked from SilverStudioGames/WTS
EventQueue and Event classes improvements and bug fixes
* Added _event, _event_queue globals * Added ignore_globals class tuple * Added extensive debugging tools * Added next and cancel methods * Added subevents support * Added ability to enqueue events abnormally * Moved menu_hints method outside of the EventQueue for better modularity * Fixed queue filtering * Fixed repeatable events * Fixed missing id for the mainloop EventQueue * Fixed groping T1 unreachable second event * Removed daytime parameter (superseded by req)
This commit is contained in:
parent
19895d1953
commit
ede1ee9a6c
@ -11,6 +11,7 @@ label start_hg_pf_strip:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 35
|
$ current_payout = 35
|
||||||
|
@ -11,6 +11,7 @@ label start_hg_pf_handjob:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 45
|
$ current_payout = 45
|
||||||
|
@ -11,6 +11,7 @@ label start_hg_pf_titjob:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 45
|
$ current_payout = 45
|
||||||
|
@ -11,6 +11,7 @@ label start_hg_pf_grope:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 15
|
$ current_payout = 15
|
||||||
@ -98,15 +99,16 @@ label end_hg_pf_grope:
|
|||||||
# Those events still prgress, but Hermione will run off and get mad.
|
# Those events still prgress, but Hermione will run off and get mad.
|
||||||
# The heart icons for these events are 'black'
|
# The heart icons for these events are 'black'
|
||||||
|
|
||||||
label hg_pf_grope_T1_fail_intro:
|
label hg_pf_grope_T1_fail:
|
||||||
gen "[name_hermione_genie], would you mind if I play with your tits a little?" ("base", xpos="far_left", ypos="head")
|
|
||||||
her "Play with...?" ("shock", "wide", "base", "stare")
|
|
||||||
her "My tits?!" ("angry", "wide", "base", "mid")
|
|
||||||
gen "Or your butt! I haven't fully decided yet!" ("grin", xpos="far_left", ypos="head")
|
|
||||||
|
|
||||||
jump too_much
|
if not _events_filtered_completed_any:
|
||||||
|
gen "[name_hermione_genie], would you mind if I play with your tits a little?" ("base", xpos="far_left", ypos="head")
|
||||||
|
her "Play with...?" ("shock", "wide", "base", "stare")
|
||||||
|
her "My tits?!" ("angry", "wide", "base", "mid")
|
||||||
|
gen "Or your butt! I haven't fully decided yet!" ("grin", xpos="far_left", ypos="head")
|
||||||
|
|
||||||
|
jump too_much
|
||||||
|
|
||||||
label hg_pf_grope_T1_fail_repeat:
|
|
||||||
gen "[name_hermione_genie], I'd like to grope you a little!" ("grin", xpos="far_left", ypos="head")
|
gen "[name_hermione_genie], I'd like to grope you a little!" ("grin", xpos="far_left", ypos="head")
|
||||||
her "This again...?" ("angry", "base", "angry", "mid")
|
her "This again...?" ("angry", "base", "angry", "mid")
|
||||||
her "I've told you before, [name_genie_hermione], absolutely not!!" ("scream", "closed", "angry", "mid")
|
her "I've told you before, [name_genie_hermione], absolutely not!!" ("scream", "closed", "angry", "mid")
|
||||||
|
@ -11,6 +11,7 @@ label start_hg_pf_sex:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
# Start Event
|
# Start Event
|
||||||
|
@ -13,6 +13,7 @@ label start_hg_pf_admire_panties:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 10
|
$ current_payout = 10
|
||||||
|
@ -10,6 +10,7 @@ label start_hg_pf_admire_breasts:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 10
|
$ current_payout = 10
|
||||||
|
@ -11,6 +11,7 @@ label start_hg_pf_blowjob:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
# Start Event
|
# Start Event
|
||||||
|
@ -9,6 +9,7 @@ label start_hg_pf_talk:
|
|||||||
"\"(Yes, let's do it!)\"":
|
"\"(Yes, let's do it!)\"":
|
||||||
pass
|
pass
|
||||||
"\"(Not right now.)\"":
|
"\"(Not right now.)\"":
|
||||||
|
$ _event.cancel()
|
||||||
jump hermione_favor_menu
|
jump hermione_favor_menu
|
||||||
|
|
||||||
$ current_payout = 5
|
$ current_payout = 5
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
default ev_her_small_plug = Event(id="her_small_plug", label="hg_butt_plugs_small_return", daytime=False)
|
default ev_her_small_plug = Event(id="her_small_plug", label="hg_butt_plugs_small_return", req="game.daytime==False")
|
||||||
default ev_her_medium_plug = Event(id="her_medium_plug", label="hg_butt_plugs_medium_return", daytime=False)
|
default ev_her_medium_plug = Event(id="her_medium_plug", label="hg_butt_plugs_medium_return", req="game.daytime==False")
|
||||||
default ev_her_large_plug = Event(id="her_large_plug", label="hg_butt_plugs_large_return", daytime=False)
|
default ev_her_large_plug = Event(id="her_large_plug", label="hg_butt_plugs_large_return", req="game.daytime==False")
|
||||||
|
|
||||||
label hg_butt_plugs:
|
label hg_butt_plugs:
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
default ev_her_vibrators_public_return = Event(id="her_vibrators_public_return", label="hg_vibrators_public_return", daytime=False)
|
default ev_her_vibrators_public_return = Event(id="her_vibrators_public_return", label="hg_vibrators_public_return", req="game.daytime==False")
|
||||||
|
|
||||||
label hg_vibrators:
|
label hg_vibrators:
|
||||||
|
|
||||||
|
@ -32,8 +32,7 @@ default her_ev_admire_breasts_t4_e1 = Event(id="admire_breasts_t4_e1", label="hg
|
|||||||
default her_ev_admire_breasts_t4_e2 = Event(id="admire_breasts_t4_e2", label="hg_pf_admire_breasts_T4_E1", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hermione_favor_menu", "hg_pf_admire_breasts_T4"])
|
default her_ev_admire_breasts_t4_e2 = Event(id="admire_breasts_t4_e2", label="hg_pf_admire_breasts_T4_E1", priority=6, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hermione_favor_menu", "hg_pf_admire_breasts_T4"])
|
||||||
default her_ev_admire_breasts_t4_e3 = Event(id="admire_breasts_t4_e3", label="hg_pf_admire_breasts_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hermione_favor_menu", "hg_pf_admire_breasts_T4"])
|
default her_ev_admire_breasts_t4_e3 = Event(id="admire_breasts_t4_e3", label="hg_pf_admire_breasts_T4_E2", priority=7, req="states.her.tier >= 4", queue="her_eventqueue_admire_breasts", autoenqueue=True, autodequeue=False, ignore_labels=["end_hg_pf_admire_breasts", "hermione_favor_menu", "hg_pf_admire_breasts_T4"])
|
||||||
|
|
||||||
default her_ev_grope_t1_e1 = Event(id="grope_t1_e1", label="hg_pf_grope_T1_fail_intro", priority=5, req="states.her.tier == 1", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu"])
|
default her_ev_grope_t1_e1 = Event(id="grope_t1_e1", label="hg_pf_grope_T1_fail", priority=5, req="states.her.tier == 1", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu"])
|
||||||
default her_ev_grope_t1_e2 = Event(id="grope_t1_e2", label="hg_pf_grope_T1_fail_repeat", priority=6, req="states.her.tier == 1", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hermione_favor_menu"])
|
|
||||||
default her_ev_grope_t2_e1 = Event(id="grope_t2_e1", label="hg_pf_grope_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"])
|
default her_ev_grope_t2_e1 = Event(id="grope_t2_e1", label="hg_pf_grope_T2_intro_E1", priority=5, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"])
|
||||||
default her_ev_grope_t2_e2 = Event(id="grope_t2_e2", label="hg_pf_grope_T2_E1", priority=6, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"])
|
default her_ev_grope_t2_e2 = Event(id="grope_t2_e2", label="hg_pf_grope_T2_E1", priority=6, req="states.her.tier == 2", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T2", "hg_pf_grope_ass_T2", "hg_pf_grope_ass_T2_back", "hg_pf_grope_ass_T2_front", "hg_pf_grope_ass_T2_continue", "hg_pf_grope_breasts_T2_continue"])
|
||||||
default her_ev_grope_t3_e1 = Event(id="grope_t3_e1", label="hg_pf_grope_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T3", "hg_pf_grope_ass_T3", "hg_pf_grope_ass_T3_back", "hg_pf_grope_ass_T3_front", "hg_pf_grope_ass_T3_continue", "hg_pf_grope_breasts_T3_continue"])
|
default her_ev_grope_t3_e1 = Event(id="grope_t3_e1", label="hg_pf_grope_T3_intro_E1", priority=5, req="states.her.tier == 3", queue="her_eventqueue_grope", autoenqueue=True, autodequeue=False, repeat=False, ignore_labels=["hermione_favor_menu", "hg_pf_grope_breasts_T3", "hg_pf_grope_ass_T3", "hg_pf_grope_ass_T3_back", "hg_pf_grope_ass_T3_front", "hg_pf_grope_ass_T3_continue", "hg_pf_grope_breasts_T3_continue"])
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -34,6 +34,31 @@ init -999 python early:
|
|||||||
|
|
||||||
detect_orphaned_rpyc_files()
|
detect_orphaned_rpyc_files()
|
||||||
|
|
||||||
|
|
||||||
|
# class InstanceDebugger(object):
|
||||||
|
|
||||||
|
# def __init__(self, obj):
|
||||||
|
# object.__setattr__(self, 'instance', obj)
|
||||||
|
|
||||||
|
# def __get__(self, obj, type=None):
|
||||||
|
# return functools.partial(self, obj)
|
||||||
|
|
||||||
|
# def __call__(self, *args, **kwargs):
|
||||||
|
# return self.instance(*args,**kwargs)
|
||||||
|
|
||||||
|
# def __getattr__(self, attr):
|
||||||
|
# attr = getattr(self.instance, attr)
|
||||||
|
|
||||||
|
# return self.__class__(attr) if hasattr(attr, '__dict__') else attr
|
||||||
|
|
||||||
|
# def __setattr__(self, attr, value):
|
||||||
|
# instance = self.instance
|
||||||
|
|
||||||
|
# if getattr(instance, attr, None) != value:
|
||||||
|
# print(f"'{self.instance.id}' setting attribute '{attr}' to '{value}' ...")
|
||||||
|
|
||||||
|
# instance.attr = value
|
||||||
|
|
||||||
init python:
|
init python:
|
||||||
config.missing_image_callback = missing_image_func
|
config.missing_image_callback = missing_image_func
|
||||||
|
|
||||||
@ -43,7 +68,7 @@ init python:
|
|||||||
config.missing_label_callback = missing_label_func
|
config.missing_label_callback = missing_label_func
|
||||||
config.return_not_found_label = "missing_return"
|
config.return_not_found_label = "missing_return"
|
||||||
|
|
||||||
init -1 python:
|
init -2 python:
|
||||||
|
|
||||||
def missing_image_func(path):
|
def missing_image_func(path):
|
||||||
global systemerror
|
global systemerror
|
||||||
@ -100,6 +125,18 @@ init -1 python:
|
|||||||
print("\rCalculating whitespace... Done!")
|
print("\rCalculating whitespace... Done!")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
class stdcol:
|
||||||
|
PURPLE = '\033[1;35;48m'
|
||||||
|
CYAN = '\033[1;36;48m'
|
||||||
|
BOLD = '\033[1;37;48m'
|
||||||
|
BLUE = '\033[1;34;48m'
|
||||||
|
GREEN = '\033[1;32;48m'
|
||||||
|
YELLOW = '\033[1;33;48m'
|
||||||
|
RED = '\033[1;31;48m'
|
||||||
|
BLACK = '\033[1;30;48m'
|
||||||
|
UNDERLINE = '\033[4;37;48m'
|
||||||
|
END = '\033[1;37;0m'
|
||||||
|
|
||||||
label missing_label():
|
label missing_label():
|
||||||
$ renpy.choice_for_skipping()
|
$ renpy.choice_for_skipping()
|
||||||
$ err_msg1 = systemerror[0]
|
$ err_msg1 = systemerror[0]
|
||||||
|
Loading…
Reference in New Issue
Block a user