Panty Thief and refactoring

* Converted 'panty thief' event into the new system, and moved it into 'odd jobs' section
* Removed shaming menu from Hermione (superseded)
* Removed shaming_class, and relevant pieces of code (superseded)
* Split maid and promoter jobs, and simplified the file structure
This commit is contained in:
LoafyLemon 2023-07-01 22:26:07 +01:00
parent e1a6754564
commit 3d1a5e5c79
10 changed files with 312 additions and 390 deletions

View File

@ -0,0 +1,18 @@
init offset = 5
default her_ev_maid_job_return = Event(id="her_ev_maid_job_return", label="her_maid_job_return", priority=5, req="not game.daytime")
default her_ev_maid_job_hub = Event(id="her_ev_maid_job_hub", label="her_maid_job", priority=5, req="her_outfit_maid.unlocked", repeat=True, autoenqueue=True, autodequeue=False, queue="her_eventqueue_jobs_maid", subevents=["her_ev_maid_job_return"])
default her_ev_promoter_job_return = Event(id="her_ev_promoter_job_return", label="her_promoter_job_return", priority=5, req="not game.daytime")
default her_ev_promoter_job_hub = Event(id="her_ev_promoter_job_hub", label="her_promoter_job", priority=5, req="states.her.ev.promote_cardgame.offered and poker_outfit_ITEM.unlocked", repeat=True, autoenqueue=True, autodequeue=False, queue="her_eventqueue_jobs_promoter", subevents=["her_ev_promoter_job_return"])
default her_ev_panty_thief_t3_e1 = Event(id="panty_thief_t5_e1", label="hg_pr_panty_thief_e1_return", req="game.daytime==False")
default her_ev_panty_thief_t1_to_t3 = Event(id="panty_thief_t1_to_t3", label="hg_pr_panty_thief_fail", req="states.her.tier < 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_panty_thief")
default her_ev_panty_thief_t3_e1_hub = Event(id="panty_thief_t3_e1_hub", label="hg_pr_panty_thief_e1", req="states.her.tier >= 3", autoenqueue=True, autodequeue=False, queue="her_eventqueue_panty_thief", subevents=["her_ev_panty_thief_t3_e1"])
define hermione_jobs = [
("her_eventqueue_jobs_maid", "Work as a maid!"),
("her_eventqueue_jobs_promoter", "Work as a promoter!"),
("her_eventqueue_panty_thief", "Ditch the panties!"),
]

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +0,0 @@
default hg_ps_get_panties = shaming_class(
tier = 2,
title = "Panty Thief",
start_label = "hg_ps_get_panties",
complete_label = "hg_ps_get_panties_complete"
)
default hg_ps_cumslut = shaming_class(
tier = 4,
title = "Wear My Cum",
start_label = "hg_ps_cumslut",
complete_label = "hg_ps_cumslut_complete"
)
default hg_ps_list = [
hg_ps_get_panties,
hg_ps_cumslut,
]

View File

@ -224,30 +224,6 @@ label hermione_favor_menu:
nar "Public requests are available during the day only." nar "Public requests are available during the day only."
jump .skip_points_check jump .skip_points_check
"-Public Shaming-" (icon="interface/icons/small/star_pink.webp", style="disabled") if not game.daytime:
nar "Public Shaming events are available during the day only."
jump .skip_points_check
"-Public Shaming-" (icon="interface/icons/small/star_pink.webp")if game.daytime:
label not_now_ps:
python:
menu_choices = []
for i in hg_ps_list:
if i.tier > states.her.tier:
menu_choices.append(gui.menu_item("-Vague idea-", "vague", style="disabled"))
else:
menu_choices.append(i.get_menu_item())
menu_choices.append(("-Never mind-", "nvm"))
result = renpy.display_menu(menu_choices)
if result == "nvm":
jump .skip_points_check
elif result == "vague":
call favor_not_ready
jump not_now_ps
else:
$ renpy.jump(result)
"-Never mind-": "-Never mind-":
jump hermione_requests jump hermione_requests
else: else:

View File

@ -72,6 +72,7 @@ default states.her.ev.intro.convinced = False # Tonks convinces Hermione to sell
default states.her.ev.intro.e6_complete = False # 6th visit, asks to buy favours, favours unlocked. default states.her.ev.intro.e6_complete = False # 6th visit, asks to buy favours, favours unlocked.
default states.her.ev.admire_breasts_T2_intro_E1.failed = False default states.her.ev.admire_breasts_T2_intro_E1.failed = False
default states.her.ev.panty_thief.soaked = False # Temp var, genie procures Hermione's panties and cums on them, resets once returned. default states.her.ev.panty_thief.soaked = False # Temp var, genie procures Hermione's panties and cums on them, resets once returned.
default states.her.ev.panty_thief.acquired = False
default states.her.ev.forest_bj.stage = 1 default states.her.ev.forest_bj.stage = 1
default states.her.ev.sealed_scroll.sample = False default states.her.ev.sealed_scroll.sample = False
default states.her.ev.sealed_scroll.examined = False default states.her.ev.sealed_scroll.examined = False

View File

@ -1,36 +0,0 @@
init -1 python:
class shaming_class(object):
#TODO This class should be replaced by event_class after the events have been restructured into tiers
"""
Represents a shaming event.
`counter` (int): The number of times this event has been completed.
`points` (int): The number of times that count as progress.
"""
def __init__(self, **kwargs):
self.title = ""
self.tier = 0
self.start_label = ""
self.complete_label = ""
self.counter = 0
self.points = 0
self.hint = False
self.inProgress = False
self.__dict__.update(**kwargs)
def get_menu_item(self, disabled=False):
menu_text = ""
if self.hint:
menu_text += "{{image={}_check_True}}".format(gui.theme())
if self.title:
menu_text += "\"{}\"".format(self.title)
if disabled:
return gui.menu_item(menu_text, "block")
else:
return gui.menu_item(menu_text, self.start_label)

View File

@ -264,13 +264,6 @@ label quests:
# #
if hg_event_pause == 0: if hg_event_pause == 0:
if game.daytime:
pass
else:
python:
for i in hg_ps_list: #Call any public shaming event if it's in progress
if i.inProgress:
renpy.jump(i.complete_label)
$ play_potion_return("hermione") $ play_potion_return("hermione")

View File

@ -8,15 +8,15 @@ label jerk_off:
gen "(How should I finish this thing?)" ("base", xpos="far_left", ypos="head") gen "(How should I finish this thing?)" ("base", xpos="far_left", ypos="head")
label how_to_finish: label .choice:
menu: menu:
"-Hermione's panties!-" if hg_ps_get_panties.inProgress: "-Hermione's panties!-" if states.her.ev.panty_thief.acquired:
$ jerk_off_choice = "hermione" $ jerk_off_choice = "hermione"
$ states.her.ev.panty_thief.soaked = True $ states.her.ev.panty_thief.soaked = True
"-LOCKED-" (style="disabled") if not hg_ps_get_panties.inProgress: "-LOCKED-" (style="disabled") if not states.her.ev.panty_thief.acquired:
nar "You lack the item required for this option." nar "You lack the item required for this option."
jump how_to_finish jump .choice
"-Cho's panties!-" if states.cho.ev.panty_thief.acquired: "-Cho's panties!-" if states.cho.ev.panty_thief.acquired:
$ jerk_off_choice = "cho" $ jerk_off_choice = "cho"
@ -24,12 +24,11 @@ label jerk_off:
"-LOCKED-" (style="disabled") if not states.cho.ev.panty_thief.acquired: "-LOCKED-" (style="disabled") if not states.cho.ev.panty_thief.acquired:
nar "You lack the item required for this option." nar "You lack the item required for this option."
jump how_to_finish jump .choice
"-On the floor!-": "-On the floor!-":
$ jerk_off_choice = renpy.random.choice(["jasmine", "lara"]) $ jerk_off_choice = renpy.random.choice(["jasmine", "lara"])
nar "You decide to spend some time by jerking off..." nar "You decide to spend some time by jerking off..."
if jerk_off_choice == "hermione": if jerk_off_choice == "hermione":