2024-10-29 01:07:34 +00:00
|
|
|
extends Module
|
2024-11-04 00:37:20 +00:00
|
|
|
class_name IssixModule
|
2024-10-29 01:07:34 +00:00
|
|
|
|
|
|
|
func getFlags():
|
|
|
|
return {
|
2024-11-04 00:37:20 +00:00
|
|
|
"Issix_Introduced": flag(FlagType.Bool),
|
2024-10-29 01:07:34 +00:00
|
|
|
"Pets_Introduced": flag(FlagType.Bool),
|
|
|
|
"Score_Explored": flag(FlagType.Number),
|
|
|
|
"Quest_Status": flag(FlagType.Number),
|
2024-11-04 00:37:20 +00:00
|
|
|
"Quest_Rejected_By_Issix": flag(FlagType.Number),
|
2024-10-29 01:07:34 +00:00
|
|
|
"Azazel_Catnip_talked": flag(FlagType.Bool),
|
|
|
|
"Azazel_Catnip_found": flag(FlagType.Bool),
|
2024-10-30 21:25:47 +00:00
|
|
|
"Azazel_Catnip_taken_today": flag(FlagType.Bool),
|
2024-11-05 23:23:15 +00:00
|
|
|
"Azazel_Affection_given": flag(FlagType.Number),
|
2024-10-31 00:36:55 +00:00
|
|
|
"Quest_Bonked": flag(FlagType.Bool),
|
2024-11-01 00:34:49 +00:00
|
|
|
"Quest_Wait_Another_Day": flag(FlagType.Bool),
|
|
|
|
"Activated_Cabinets": flag(FlagType.Dict),
|
2024-11-01 22:00:58 +00:00
|
|
|
"Medical_Peeked": flag(FlagType.Bool),
|
2024-11-10 01:10:02 +00:00
|
|
|
"QuestionnaireQ1": flag(FlagType.Bool), # Creatures possess a soul
|
2024-11-01 00:34:49 +00:00
|
|
|
"QuestionnaireQ2": flag(FlagType.Bool),
|
|
|
|
"QuestionnaireQ3": flag(FlagType.Text),
|
2024-11-01 22:00:58 +00:00
|
|
|
"QuestionnaireQ4": flag(FlagType.Bool),
|
|
|
|
"QuestionnaireQ5": flag(FlagType.Text),
|
|
|
|
"QuestionnaireQ6": flag(FlagType.Bool),
|
|
|
|
"QuestionnaireQ7": flag(FlagType.Bool),
|
|
|
|
"QuestionnaireQ8": flag(FlagType.Text),
|
|
|
|
"QuestionnaireQ9": flag(FlagType.Bool),
|
|
|
|
"QuestionnaireQ10": flag(FlagType.Number),
|
2024-11-05 23:23:15 +00:00
|
|
|
"QuestionnaireQ11": flag(FlagType.Bool),
|
|
|
|
"Lamia_Is_Hungry": flag(FlagType.Bool),
|
|
|
|
"Azazel_Sky_Response": flag(FlagType.Bool),
|
|
|
|
"Received_Portrait_From_Lamia": flag(FlagType.Bool),
|
|
|
|
"Placed_Portrait_In_Cell": flag(FlagType.Bool),
|
2024-11-07 16:03:20 +00:00
|
|
|
"Hissi_RPS_data": flag(FlagType.Dict),
|
2024-11-11 22:11:30 +00:00
|
|
|
"Shared_Marshmallows": flag(FlagType.Bool),
|
2024-11-14 22:23:10 +00:00
|
|
|
|
|
|
|
# Slavery related
|
|
|
|
"PC_Enslavement_Role": flag(FlagType.Number),
|
|
|
|
"PC_Enslavement_Noncon": flag(FlagType.Bool),
|
2024-11-17 20:48:47 +00:00
|
|
|
"PC_Training_Level": flag(FlagType.Number),
|
|
|
|
"Issix_Mood": flag(FlagType.Number),
|
2024-11-11 22:11:30 +00:00
|
|
|
"Todays_Bred_Slave": flag(FlagType.Text),
|
2024-11-14 22:23:10 +00:00
|
|
|
"Progression_Day_Next": flag(FlagType.Number),
|
|
|
|
"Last_Day_Visited_Master": flag(FlagType.Number),
|
|
|
|
"Misc_Slavery_Info": flag(FlagType.Dict),
|
2024-11-19 21:36:49 +00:00
|
|
|
"Progression_Points": flag(FlagType.Number),
|
|
|
|
"Taught_To_Use_Bowl": flag(FlagType.Bool)
|
2024-10-29 01:07:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
func _init():
|
2024-11-04 00:37:20 +00:00
|
|
|
id = "IssixModule"
|
2024-10-29 01:07:34 +00:00
|
|
|
author = "Frisk"
|
|
|
|
|
|
|
|
events = [
|
2024-11-10 01:10:02 +00:00
|
|
|
"res://Modules/IssixModule/Events/EngRoomClosetEvent.gd",
|
|
|
|
"res://Modules/IssixModule/Events/EventTileOnEnter.gd",
|
|
|
|
"res://Modules/IssixModule/Events/GreenhouseCatnipEvent.gd",
|
|
|
|
"res://Modules/IssixModule/Events/IssixQuestionnaireEvent.gd",
|
|
|
|
"res://Modules/IssixModule/Events/MedicalPeekEvent.gd",
|
|
|
|
"res://Modules/IssixModule/Events/PetWalkExamEvent.gd",
|
|
|
|
"res://Modules/IssixModule/Events/PlayerCellModifierEvent.gd"
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
scenes = [
|
2024-11-10 01:10:02 +00:00
|
|
|
"res://Modules/IssixModule/Scenes/EngRoomScene.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/GreenhouseCatnipStealScene.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/IssixQuestionnaireScene.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/IssixTalkMain.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/MedicalPeekScene.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/NoPetsTalkMain.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/PetsTalkMain.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/PetWalkExamScene.gd",
|
|
|
|
"res://Modules/IssixModule/Scenes/PlayerCellModifierScene.gd"
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
characters = [
|
2024-11-10 01:10:02 +00:00
|
|
|
"res://Modules/IssixModule/Characters/AzazelCharacter.gd",
|
|
|
|
"res://Modules/IssixModule/Characters/HiisiCharacter.gd",
|
|
|
|
"res://Modules/IssixModule/Characters/IssixCharacter.gd",
|
|
|
|
"res://Modules/IssixModule/Characters/LamiaCharacter.gd"
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
worldEdits = [
|
2024-11-04 00:37:20 +00:00
|
|
|
"res://Modules/IssixModule/IssixWorldEdit.gd"
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
items = [
|
2024-11-04 00:37:20 +00:00
|
|
|
"res://Modules/IssixModule/CatnipItem.gd",
|
|
|
|
"res://Modules/IssixModule/MapItem.gd",
|
|
|
|
"res://Modules/IssixModule/CookieItem.gd" # I just felt like this game needs more variety in items, even if by themselves they don't do much
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
quests = [
|
2024-11-04 00:37:20 +00:00
|
|
|
"res://Modules/IssixModule/IssixPetQuest.gd"
|
2024-10-29 01:07:34 +00:00
|
|
|
]
|
|
|
|
|
2024-11-05 23:23:15 +00:00
|
|
|
# External
|
|
|
|
# "res://Scenes/ParadedOnALeashScene.gd"
|
|
|
|
# "res://Game/World/Floors/Closet.gd"
|
|
|
|
# "res://Game/World/Floors/Closet.tscn"
|
2024-11-14 22:23:10 +00:00
|
|
|
|
2024-11-17 20:48:47 +00:00
|
|
|
static func addSceneToWatched(scene: String):
|
|
|
|
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {})
|
|
|
|
scenes["scenes_seen"].append(scene)
|
|
|
|
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info",scenes)
|
|
|
|
|
|
|
|
static func addIssixMood(mood: int):
|
|
|
|
setModuleFlag("IssixModule", "Issix_Mood", clamp(GM.main.getModuleFlag("IssixModule", "Issix_Mood", 50)+mood, 0, 100))
|
2024-11-14 22:23:10 +00:00
|
|
|
|
|
|
|
static func getPlayerRole():
|
|
|
|
return "pet" if GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 1) == 1 else "prostitute"
|
2024-11-05 23:23:15 +00:00
|
|
|
|
2024-10-29 01:07:34 +00:00
|
|
|
func resetFlagsOnNewDay():
|
2024-11-04 00:37:20 +00:00
|
|
|
GM.main.setModuleFlag("IssixModule", "Azazel_Catnip_taken_today", false)
|
|
|
|
GM.main.setModuleFlag("IssixModule", "Activated_Cabinets", {})
|
|
|
|
GM.main.setModuleFlag("IssixModule", "Quest_Wait_Another_Day", false)
|
2024-11-11 22:11:30 +00:00
|
|
|
GM.main.setModuleFlag("IssixModule", "Todays_Bred_Slave", RNG.pick(['azazel', 'pc', 'hiisi']))
|
2024-11-17 20:48:47 +00:00
|
|
|
if GM.main.getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today") != null:
|
|
|
|
GM.main.setModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today", false)
|
|
|
|
addIssixMood(RNG.randi_range(-7, 7))
|