Astoria spell training and improvements

* Converted Astoria's spell training into the new system, and cleaned up the code.
* Improved Astoria's menu layout
* Replaced -hidden- menu feature names with actual the actual feature names
* Refactored Astoria's file structure and naming convention
* Temporarily disabled spell training stats
This commit is contained in:
LoafyLemon 2023-07-02 17:39:28 +01:00
parent 650563775e
commit b08e0d0071
17 changed files with 261 additions and 293 deletions

View File

@ -25,6 +25,7 @@ label end_astoria_event:
$ states.active_girl = None $ states.active_girl = None
$ states.ast.busy = True $ states.ast.busy = True
$ astoria.wear("all") $ astoria.wear("all")
$ astoria.set_cum(None)
call music_block call music_block
jump main_room_menu jump main_room_menu

View File

@ -922,12 +922,12 @@ label nt_he_astoria_E1:
ton "Have you not been paying attention? It's a family curse!" ("mad", "base", "angry", "mid") ton "Have you not been paying attention? It's a family curse!" ("mad", "base", "angry", "mid")
gen "..." ("base", xpos="far_left", ypos="head") gen "..." ("base", xpos="far_left", ypos="head")
ton @ hair horny "That being said, I'd rather have her do it with me..." ("base", "base", "raised", "R") ton @ hair horny "That being said, I'd rather have her do it with me..." ("base", "base", "raised", "R")
gen "Are we still talking about the \"Imperio\" thingy?" ("base", xpos="far_left", ypos="head") gen "Are we still talking about the im-pervio thingy?" ("base", xpos="far_left", ypos="head")
ton "Yes..." ("soft", "narrow", "raised", "downR") ton "Yes..." ("soft", "narrow", "raised", "downR")
gen "So your goal is to get rid of this curse she's inherited by somehow awakening her sexuality?" ("base", xpos="far_left", ypos="head") gen "So your goal is to get rid of this curse she's inherited by somehow awakening her sexuality?" ("base", xpos="far_left", ypos="head")
ton "It might not be that easy, but I think it would be a good start." ("open", "base", "base", "L") ton "It might not be that easy, but I think it would be a good start." ("open", "base", "base", "L")
ton "I must at least know if my theory is correct..." ("normal", "base", "base", "R") ton "I must at least know if my theory is correct..." ("normal", "base", "base", "R")
gen "I don't see how this \"Imperio\" thing plays into it, but if you say so..." ("base", xpos="far_left", ypos="head") gen "I don't see how this im-pervio thing plays into it, but if you say so..." ("base", xpos="far_left", ypos="head")
ton "I'll speak to Miss Greengrass." ("open", "base", "base", "mid") ton "I'll speak to Miss Greengrass." ("open", "base", "base", "mid")
ton "I doubt she'll have many objections..." ("base", "happyCl", "base", "mid") ton "I doubt she'll have many objections..." ("base", "happyCl", "base", "mid")

View File

@ -1,41 +0,0 @@
# Imperius Curse
default ag_st_imperio = event_class(
title = "Imperio Training", start_label = "ag_st_imperio", start_tier = 1,
events = [
[
["ag_st_imperio_E1"],
["ag_st_imperio_E2"],
["ag_st_imperio_E3"],
["ag_st_imperio_E4"],
["ag_st_imperio_E5"]
]
],
icons = [None], # If a tier doesn't need an icon replace with None
iconset = [["star_empty", "star_yellow"]],
complete = False
)
default ag_se_imperio_sb = event_class(
title = "Cast Imperio on Susan", start_label = "ag_se_imperio_sb", start_tier = 1,
events = [
[
["ag_se_imperio_sb_E1"],
["ag_se_imperio_sb_E2"],
["ag_se_imperio_sb_E3"]
]
],
icons = [None], # If a tier doesn't need an icon replace with None
iconset = [["heart_empty", "heart_red"]],
complete = True
)
default ag_spell_list = []
label update_astoria_spells:
python:
del ag_spell_list[:] # Clear list
if not ag_st_imperio.is_complete():
ag_spell_list.append(ag_st_imperio)
else:
ag_spell_list.append(ag_se_imperio_sb) # Susan
return

View File

@ -0,0 +1,22 @@
# Imperius Curse
default ast_ev_imperio_training_t1_e1 = Event(id="ast_ev_imperio_training_t1_e1", label="ag_st_imperio_E1", req="game.daytime==False")
default ast_ev_imperio_training_t1_e2 = Event(id="ast_ev_imperio_training_t1_e2", label="ag_st_imperio_E2", req="game.daytime==False")
default ast_ev_imperio_training_t1_e3 = Event(id="ast_ev_imperio_training_t1_e3", label="ag_st_imperio_E3", req="game.daytime==False")
default ast_ev_imperio_training_t1_e4 = Event(id="ast_ev_imperio_training_t1_e4", label="ag_st_imperio_E4", req="game.daytime==False")
default ast_ev_imperio_training_t1_e5 = Event(id="ast_ev_imperio_training_t1_e5", label="ag_st_imperio_E5", req="game.daytime==False")
default ast_ev_imperio_training_t1_e1_hub = Event(id="ast_ev_imperio_training_t1_e1_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e1"])
default ast_ev_imperio_training_t1_e2_hub = Event(id="ast_ev_imperio_training_t1_e2_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e2"])
default ast_ev_imperio_training_t1_e3_hub = Event(id="ast_ev_imperio_training_t1_e3_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e3"])
default ast_ev_imperio_training_t1_e4_hub = Event(id="ast_ev_imperio_training_t1_e4_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e4"])
default ast_ev_imperio_training_t1_e5_hub = Event(id="ast_ev_imperio_training_t1_e5_hub", label="ag_st_imperio", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_tonks", autoenqueue=True, autodequeue=False, subevents=["ast_ev_imperio_training_t1_e5"])
default ast_ev_imperio_training_susan_t1_e1 = Event(id="ast_ev_imperio_training_susan_t1_e1", label="ag_se_imperio_sb_E1", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False)
default ast_ev_imperio_training_susan_t1_e2 = Event(id="ast_ev_imperio_training_susan_t1_e2", label="ag_se_imperio_sb_E2", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False)
default ast_ev_imperio_training_susan_t1_e3 = Event(id="ast_ev_imperio_training_susan_t1_e3", label="ag_se_imperio_sb_E3", req="states.ast.tier >= 1", queue="ast_eventqueue_imperio_training_susan", autoenqueue=True, autodequeue=False)
define astoria_spells = [
("ast_eventqueue_imperio_training_tonks", "Im-perv-ious with Tonks!"),
("ast_eventqueue_imperio_training_susan", "Im-perv-ious with Susan!"),
]

File diff suppressed because it is too large Load Diff

View File

@ -32,6 +32,8 @@ default states.ast.ev.intro.e2_ask_snape = False # Tell Snape to look for her. H
default states.ast.ev.intro.e2_complete = False # Asked both. default states.ast.ev.intro.e2_complete = False # Asked both.
default states.ast.ev.intro.e3_complete = False # Hermione finds her. default states.ast.ev.intro.e3_complete = False # Hermione finds her.
default states.ast.ev.intro.e4_complete = False # Astoria unlocked. default states.ast.ev.intro.e4_complete = False # Astoria unlocked.
default states.ast.ev.imperio_with_tonks.completed_once = False
default states.ast.ev.imperio_with_susan.completed_once = False
# Names # Names

View File

@ -253,7 +253,7 @@ label cc_pr_spy_girls_T3_alicia:
gen "Hypnosis? Now that sounds completely absurd." ("base", xpos="far_left", ypos="head") gen "Hypnosis? Now that sounds completely absurd." ("base", xpos="far_left", ypos="head")
# Has player started imperius curse training? # Has player started imperius curse training?
if ag_st_imperio.points > 0: if states.ast.ev.imperio_with_tonks.completed_once:
gen "She's not using that im-perv-ius curse, is she?" ("base", xpos="far_left", ypos="head") gen "She's not using that im-perv-ius curse, is she?" ("base", xpos="far_left", ypos="head")
cho "The Imperius curse?" ("open", "narrow", "raised", "mid") cho "The Imperius curse?" ("open", "narrow", "raised", "mid")
gen "That's what I said..." ("base", xpos="far_left", ypos="head") gen "That's what I said..." ("base", xpos="far_left", ypos="head")

View File

@ -127,7 +127,7 @@ label summon_cho:
call wardrobe call wardrobe
jump cho_requests jump cho_requests
"-Hidden-" (style="disabled") if not states.cho.wardrobe_unlocked: "-Wardrobe-" (style="disabled") if not states.cho.wardrobe_unlocked:
nar "You haven't unlocked this feature yet." nar "You haven't unlocked this feature yet."
jump cho_requests jump cho_requests

View File

@ -1161,11 +1161,12 @@ label hg_hidden_blowjob_tonks:
her "{size=-4}(.......... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "stare") her "{size=-4}(.......... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "worried", "stare")
ton "Who is she?" ton "Who is she?"
if ag_st_imperio.tier >= 3: random:
block if states.ast.ev.imperio_with_tonks.completed_once:
ton "Is it the blonde girl? Or..." ton "Is it the blonde girl? Or..."
her "{size=-4}(Blonde!?! *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") her "{size=-4}(Blonde!?! *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up")
her "{size=-4}(*Slurp*... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") her "{size=-4}(*Slurp*... *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up")
elif ag_st_imperio.tier >= 5: block if states.ast.ev.imperio_with_susan.completed_once:
ton "You aren't shagging that busty red head, are you?" ton "You aren't shagging that busty red head, are you?"
her "{size=-4}(Busty who? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up") her "{size=-4}(Busty who? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "squint", "worried", "up")
her "{size=-4}(Is she talking about Susan? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up") her "{size=-4}(Is she talking about Susan? *Slurp*... *Slurp*... *Gulp*...){/size}" ("open_wide_tongue", "narrow", "annoyed", "up")

View File

@ -42,7 +42,7 @@ label summon_susan:
call wardrobe call wardrobe
jump susan_requests jump susan_requests
"-Hidden-" (style="disabled") if not states.sus.wardrobe_unlocked: "-Wardrobe-" (style="disabled") if not states.sus.wardrobe_unlocked:
nar "You haven't unlocked this feature yet." nar "You haven't unlocked this feature yet."
jump susan_requests jump susan_requests

View File

@ -36,7 +36,7 @@ label tonks_summon_setup:
ton @ cheeks heavy_blush hair horny "Oh, I would love for them to see me like this..." ("horny", "narrow", "shocked", "R") ton @ cheeks heavy_blush hair horny "Oh, I would love for them to see me like this..." ("horny", "narrow", "shocked", "R")
ton @ cheeks heavy_blush hair horny "Why don't you invite one to your office?" ("soft", "narrow", "shocked", "mid") ton @ cheeks heavy_blush hair horny "Why don't you invite one to your office?" ("soft", "narrow", "shocked", "mid")
if ag_st_imperio.counter > 0: if states.ast.ev.imperio_with_tonks.completed_once:
gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head") gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head")
ton @ cheeks heavy_blush hair horny "Very much!" ("base", "narrow", "base", "mid") ton @ cheeks heavy_blush hair horny "Very much!" ("base", "narrow", "base", "mid")
gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head") gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head")

View File

@ -56,7 +56,7 @@ label tonks_summon_setup:
ton "Oh, I would love for them to see me like this..." ("horny", "base", "raised", "mid") ton "Oh, I would love for them to see me like this..." ("horny", "base", "raised", "mid")
ton "Why don't you invite one to your office?" ("horny", "base", "base", "mid") ton "Why don't you invite one to your office?" ("horny", "base", "base", "mid")
if ag_st_imperio.counter > 0: if states.ast.ev.imperio_with_tonks.completed_once:
gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head") gen "You'd like that wouldn't you..." ("base", xpos="far_left", ypos="head")
ton "Very much!" ton "Very much!"
gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head") gen "Like that Astoria girl you're so infatuated with?" ("base", xpos="far_left", ypos="head")

View File

@ -59,7 +59,7 @@ label summon_tonks:
$ tonks_haircolor = [c for c in tonks.get_equipped("hair").color] $ tonks_haircolor = [c for c in tonks.get_equipped("hair").color]
jump tonks_requests jump tonks_requests
"-Hidden-" (style="disabled") if not states.ton.wardrobe_unlocked: "-Wardrobe-" (style="disabled") if not states.ton.wardrobe_unlocked:
nar "You haven't unlocked this feature yet." nar "You haven't unlocked this feature yet."
jump tonks_requests jump tonks_requests

View File

@ -234,12 +234,6 @@ label quests:
if states.sus.ev.intro.e1_complete and not states.ast.ev.intro.e1_complete: if states.sus.ev.intro.e1_complete and not states.ast.ev.intro.e1_complete:
jump astoria_intro_E1 jump astoria_intro_E1
python:
for i in ag_spell_list: # Spell Training
if i.inProgress:
i.inProgress = False
i.start()
$ play_potion_return("astoria") $ play_potion_return("astoria")
# #

View File

@ -433,9 +433,9 @@ screen stats_menuitem(xx, yy):
pass pass
elif current_category == "Astoria": elif current_category == "Astoria":
pass pass
elif current_category == "Susan": # elif current_category == "Susan":
use text_stat("Cursed with Imperio:") # use text_stat("Cursed with Imperio:")
use text_stat("- ", " times -", ag_se_imperio_sb.counter) # use text_stat("- ", " times -", ag_se_imperio_sb.counter)
screen stat_bar(steps, top_text, bottom_text, stat_number, top_padding=20): screen stat_bar(steps, top_text, bottom_text, stat_number, top_padding=20):
sensitive False sensitive False