Removal of all references to static functions in IssixModule, which I've found will not be usable unless module is in project.godot which limits mod's capabilities

This commit is contained in:
Frisk 2024-12-18 02:27:38 +01:00
parent ab6f78e614
commit 574154d568
9 changed files with 60 additions and 197 deletions

View file

@ -33,7 +33,7 @@ func getProgress():
if quest_status > 6 and quest_rejection == 0:
result.append("You've succeeded Issix's last trial and have gotten permission to become Issix's pet. Issix said that your introduction is the next day,")
if quest_status > 8:
result.append("Issix has became your new Master as you've given into him as his "+IssixModule.getPlayerRole()+".")
result.append("Issix has became your new Master as you've given into him as his "+("pet" if GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 1) == 1 else "prostitute")+".")
if(quest_rejection > 1):
result.append("Issix rejected the idea of you being his pet after you failed his test.")
return result

View file

@ -1,180 +0,0 @@
# Originally from https://github.com/Alexofp/BDCC/blob/3c1dc5f933c54971a60687abf539f8e0a3d15f7f/Modules/GymModule/BullyGangScene.gd modified for sake of mod
extends "res://Scenes/SceneBase.gd"
var gotPayed = false
func _init():
sceneID = "BullyGangScene"
func _run():
if(state == ""):
addCharacter("gymbully")
addCharacter("gymbully2")
addCharacter("gymbully3")
playAnimation(StageScene.Duo, "stand", {npc="gymbully"})
if(state == ""):
# (if first time)
if(!getModuleFlag("GymModule", "Gym_BullyGangIntroduced")):
setModuleFlag("GymModule", "Gym_BullyGangIntroduced", true)
saynn("As you look around the gym area and think about what you wanna do, three inmates approach you from behind. Two guys and a girl. The main guy taps on your shoulder. You hear a very raspy male voice.")
saynn("[say=gymbully]Hey, you. Thats right, Im talking to you.[/say]")
saynn("You turn around and see that they are all wearing red inmate uniforms but also red bands on their heads, probably a sign of being in the same gang.")
saynn("[say=gymbully]Havent seen you here before. You aware of how things work here?[/say]")
saynn("They dont seem to be very kind to newcomers. You shake your head slightly.")
saynn("[say=gymbully]We control this area, kiddo. And if you wanna be here you better pay up. Official price is 5 credits a day.[/say]")
saynn("[say=pc]And what if I dont?[/say]")
saynn("[say=gymbully]Then you leave.[/say]")
saynn("The girl barks at you from over the shoulder of the main guy.")
# (if general inmate)
if(GM.pc.getInmateType() == InmateType.General):
saynn("[say=gymbully3]Thats right, general block bitch. Couldnt even pull a trigger to earn yourself red clothes?[/say]")
# (if red inmate)
elif(GM.pc.getInmateType() == InmateType.HighSec):
saynn("[say=gymbully3]Yeah, pay up or fuck off, bitch.[/say]")
# (if lilac)
elif(GM.pc.getInmateType() == InmateType.SexDeviant):
saynn("[say=gymbully3]You better pay before you get shared between all the inmates here, lilac slut.[/say]")
# (if not the first time)
else:
saynn("Three inmates approach you, the same ones that you remember. They make a circle around you.")
saynn("[say=gymbully]You know why were here. Pay up or leave.[/say]")
if(GM.pc.getCredits() >= 5):
addButton("Pay", "Well, what can you do", "pay")
else:
addDisabledButton("Pay", "Not enough credits")
addButton("Intimidate", "Tell them you wont leave or pay", "intimidate")
if getModuleFlag("IssixModule", "PC_Training_Level", 0) > 0 and getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) == 1:
if (GM.pc.getPersonality().getStat(PersonalityStat.Coward) > 0.3):
addDisabledButton("Issix", "You are too cowardly to bring up your Master")
else:
addButton("Issix", "Issix said you can say his name when dealing with bullies, maybe that'll work?", "issixthreat")
if state == "issixthreat":
saynn("[say=pc]I'm under Master Issix's care, please don't hurt me.[/say]")
if GM.pc.getFluids().hasFluidTypeWithCharID("Piss", "issix"):
saynn("[say=gymbully]Are you? That would explain why you are reeking of him. Are you a good little "+IssixModule.getPlayerPetName()+" for your Master Esshiks? Ohhh, how cute. Why aren't you on a leash then huh, fuck pet?[/say]")
else:
saynn("[say=gymbully]Are you? That would explain why you look like a breeding bitch. Are you a good little "+IssixModule.getPlayerPetName()+" for your Master Esshiks? Ohhh, how cute. Why aren't you on a leash then huh, fuck pet?[/say]")
saynn("Sounds of laughter fills the place, all three of inmates having fun at your expense.")
saynn("[say=gymbully]Do you think your Master would mind if we borrowed you for a few minutes and had fun with you?[/say]")
saynn("The main bully looks at the other two for a seond, all of them are rather satisfied with themselves.")
saynn("[say=gymbully]Whatever. You just look like one of his bitches, and I don't plan to mess around with the big man himself again, 5 credits ain't worth it. See ya later, slave.[/say]")
addButton("Continue", "That... Worked better than expected", "endthescene")
if(state == "pay"):
saynn("You hang them a chip with some credits. The main guy quickly checks it and puts it away before offering you a smile.")
saynn("[say=gymbully]Pleasure doing business with you.[/say]")
saynn("The trio steps away from you and goes to bully someone else.")
# (scene ends)
addButton("Continue", "Sigh", "endthescene")
if(state == "intimidate"):
saynn("[say=pc]Im not leaving. And Im not paying. How about you and your sidekicks go bug someone else.[/say]")
saynn("The main guy chuckles, others growl at you.")
saynn("[say=gymbully]Lets see how you will speak after we fuck your pretty face up.[/say]")
addButton("Fight", "Time to fight", "fight")
if(state == "if_won"):
saynn("The gang members quickly scatter away as you beat their leader.")
addButton("Continue", "Nice", "endthescene")
if(state == "if_lost"):
saynn("Defeated, you drop down to your knees. The gang members then shove you onto the ground and pin you while the main guy searches through your pockets.")
saynn("[say=gymbully]Easy there, sweetheart. Im not taking everything.[/say]")
# (if has 5 credits)
if(gotPayed):
saynn("His hand finds a chip with 5 credits on you and takes it.")
saynn("[say=gymbully]See. Enjoy yourself. For now.[/say]")
# (if not enough)
else:
saynn("His hand was unable to find enough credits on you. He sighs.")
saynn("[say=gymbully]I almost feel pitiful for taking your last credits away. But then again, the experience is worth more than money, aint that true.[/say]")
addButton("Continue", "Ow", "endthescene")
# (scene ends)
func _react(_action: String, _args):
if _action == "issixthreat":
setModuleFlag("IssixModule", "Gym_Bullies_Left_Alone", true)
if(_action == "pay"):
processTime(5 * 60)
GM.pc.addCredits(-5)
if(_action == "fight"):
runScene("FightScene", ["gymbully"], "gymbullyfight")
if(_action == "endthescene"):
endScene()
return
setState(_action)
func saveData():
var data = .saveData()
data["gotPayed"] = gotPayed
return data
func loadData(data):
.loadData(data)
gotPayed = SAVE.loadVar(data, "gotPayed", false)
func _react_scene_end(_tag, _result):
if(_tag == "gymbullyfight"):
processTime(20 * 60)
var battlestate = _result[0]
#var wonHow = _result[1]
if(battlestate == "win"):
setState("if_won")
addExperienceToPlayer(30)
else:
setState("if_lost")
if(GM.pc.getCredits() >= 5):
gotPayed = true
GM.pc.addCredits(-5)
else:
gotPayed = false
#addExperienceToPlayer(5)
func getDevCommentary():
return "I was.. pretty out of it while writing this scene. That's why its so short and doesn't have any sex scenes and is kinda bad.\n\nThis scene is why I shouldn't write anything while I'm sad/depressed, heh. Should I remove it/rewrite it? Maybe. But to get rid of these bullies completely I would probably try to make a quest. Something about you and Nova teaming up and trying to destroy their gang.. or getting gangbanged x3 why not both"
func hasDevCommentary():
return true

View file

@ -69,7 +69,9 @@ func _react(_action: String, _args):
setModuleFlag("IssixModule", "Comic_Book_Unlocked", true)
if(_action == "endthescene"):
IssixModule.addSceneToWatched(sceneID)
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
scenes["scenes_seen"].append(sceneID)
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info", scenes.duplicate(true))
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+3)
increaseModuleFlag("IssixModule", "Progression_Points", 1)
endScene()

View file

@ -42,7 +42,7 @@ func _run():
saynn("Your Master stands stunned by your proclamation.")
saynn("[say=issix]What did you just say?[/say]")
saynn("[say=pc]I no longer want to be your pet.[/say]")
saynn("[say=issix]I don't think you understand your position, pet. You are not in a position to decide on that anymore, you've made your decision a while ago, you don't just get to change it because your feel like it, such decision belongs to your Master. Now, be a good "+IssixModule.getPlayerPetName()+" and come with me.[/say]")
saynn("[say=issix]I don't think you understand your position, pet. You are not in a position to decide on that anymore, you've made your decision a while ago, you don't just get to change it because your feel like it, such decision belongs to your Master. Now, be a good "+getPlayerPetName()+" and come with me.[/say]")
addButton("Continue", "Follow Issix to the corner", "walkcorner")
if state == "leave":
@ -133,13 +133,21 @@ func _run():
saynn("Feeling in pain, you don't have anything else to answer other than.")
saynn("[say=pc]I'm sorry, Master, I won't do this again.[/say]")
saynn("[say=issix]Do you really mean it? Or is that another lie? Look at me, LOOK![/say]")
saynn("He grabs you by your neck, tilts your face to meet his gaze, his face angry, furious even, staring deep into you, just like when he was judging you when you wished to become his "+ IssixModule.getPlayerPetName() + ".")
saynn("He grabs you by your neck, tilts your face to meet his gaze, his face angry, furious even, staring deep into you, just like when he was judging you when you wished to become his "+ getPlayerPetName() + ".")
saynn("[say=issix]Don't make me assert control over you again.[/say]")
saynn("He releases your body from heavy grip.")
saynn("[say=issix]I think you suffered enough of humiliation for today. Do whatever you want, but I expect you tomorrow in the corner, as usual.[/say]")
addButton("Leave", "Leave", "endthescene")
static func getPlayerPetName():
if Species.Canine in GM.pc.getSpecies():
return "puppy"
elif Species.Feline in GM.pc.getSpecies():
return "kitty"
elif Species.Equine in GM.pc.getSpecies():
return "pony"
else:
return "pet"
func _react(_action: String, _args):
processTime(2*60)

View file

@ -9,7 +9,6 @@ func _init():
func _run():
if(state == ""):
playAnimation(StageScene.Duo, "kneel", {npc="issix", npcAction="stand"})
IssixModule.addSceneToWatched(sceneID)
saynn("[say=issix]It is the day pet. Today we are marking you with a mark that cannot be washed away. It will be burned into your body forever. You are getting my brand.[/say]")
saynn("He looks at you, judging for your reaction")
addButton("Eager", "You are eager to get your Master's brand on your body", "brandtalk", [1])
@ -248,6 +247,9 @@ func _react(_action: String, _args):
if(_action == "endthescene"):
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+4)
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
scenes["scenes_seen"].append(sceneID)
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info", scenes.duplicate(true))
endScene()
return

View file

@ -59,7 +59,9 @@ func _run():
func _react(_action: String, _args):
if _action == "training1":
IssixModule.addSceneToWatched(sceneID)
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
scenes["scenes_seen"].append(sceneID)
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info", scenes.duplicate(true))
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
if GM.pc.getFluids().hasFluidTypeWithCharID("Piss", "issix") == false:
GM.pc.cummedOnBy("issix", FluidSource.Pissing, 0.4)

View file

@ -74,7 +74,9 @@ func _react(_action: String, _args):
if(_action == "endthescene"):
increaseModuleFlag("IssixModule", "PC_Training_Level")
increaseModuleFlag("IssixModule", "Progression_Points")
IssixModule.addSceneToWatched(sceneID)
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
scenes["scenes_seen"].append(sceneID)
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info", scenes.duplicate(true))
setModuleFlag("IssixModule", "Taught_To_Use_Bowl", true)
endScene()
return

View file

@ -5,6 +5,8 @@ var pet_time_start = null
var reply_litter = null
var azazel_teased_motherhood = false
var azazel = null
var AVERAGE_WALK_DELAY = 9
func _init():
sceneID = "SlaveryInfoScreen"
@ -23,7 +25,7 @@ func _run():
if pet_time_start == null:
pet_time_start = GM.main.getTime()
addMessage("WARNING: A lot of the content in here is a placeholder. It will change, it will break, it will cause calamities. Treat it as a sneek peek into the (potential) future.")
saynn("Your slave role: "+IssixModule.getPlayerRole())
saynn("Your slave role: "+("pet" if GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 1) == 1 else "prostitute"))
saynn("Your training: "+trainingCheck())
saynn("Master's mood: "+getMood())
saynn("Issix's slave for "+str(getDays())+" days")
@ -34,7 +36,7 @@ func _run():
saynn("To pay Master for sluttying around yesterday: " + str(GM.main.getModuleFlag("IssixModule", "Prostituation_fee_yesterday", 0) + GM.main.getModuleFlag("IssixModule", "Prostituation_flat_fee", 0)))
_:
pass
if IssixModule.playerToFuck() and getModuleFlag("IssixModule", "Had_Sex_With_Issix", false) != true:
if playerToFuck() and getModuleFlag("IssixModule", "Had_Sex_With_Issix", false) != true:
saynn("[color=#B03838]Master expects you to be available for fucking today.[/color]")
setModuleFlag("IssixModule", "Last_Day_Visited_Master", GM.main.getDays())
addButton("Master", "Talk with your master about something", "issixpetmenu")
@ -50,7 +52,7 @@ func _run():
addButton("Play", "Play with other pets.", "haremplay")
else:
addDisabledButton("Play", "You are too tired to play with other pets (minimum 100 stamina)")
if GM.main.getDays()-last_walk == IssixModule.getWalkDelay(): # TODO Walks
if GM.main.getDays()-last_walk == AVERAGE_WALK_DELAY: # TODO Walks
if GM.main.getTime() < 54000:
addDisabledButton("Walk", "Walks are unimplemented at the moment, possibly in future releases!")
else:
@ -134,7 +136,7 @@ func _run():
saynn("His paw carreses your tummy full of your own litter.")
saynn("[say=azazel]Isn't it a great joy to be a mother? "+("Oh don't give me that look, a male can be a great mother for their children as well! Just look at me. " if GM.pc.getGender() == Gender.Male else "")+"Mmmm. You are a great mother as well, cutie.[/say]")
else:
saynn("[say=azazel]Aren't you curious yourself, what it means to bear litter? Wouldn't you want to leave a mark in this wretched galaxy? To have more of little {pc.name}'s running around? Becoming adventurers, slaves, masters... Hah. Don't get me wrong, personally I don't think I care about my own legacy, but our Master does, I think. I enjoy being his little breeding kitten, maybe you'd like being his breeding "+IssixModule.getPlayerPetName()+" too? Think about it.[/say]")
saynn("[say=azazel]Aren't you curious yourself, what it means to bear litter? Wouldn't you want to leave a mark in this wretched galaxy? To have more of little {pc.name}'s running around? Becoming adventurers, slaves, masters... Hah. Don't get me wrong, personally I don't think I care about my own legacy, but our Master does, I think. I enjoy being his little breeding kitten, maybe you'd like being his breeding "+getPlayerPetName()+" too? Think about it.[/say]")
saynn("He gives you a smile.")
saynn("After he says that you leave the trance you were in, that was odd...")
saynn("[say=azazel]So what do you say? Are you in?[/say]")
@ -261,7 +263,7 @@ func _run():
if last_walk + 5 > GM.main.getDays():
saynn("[say=issix]We've just been on a walk pretty recently, so you'll have to be a little bit more patient my pet.[/say]")
else:
saynn("[say=issix]Hmm, soonish, probably in around "+ str(IssixModule.getWalkDelay()-(GM.main.getDays()-last_walk)) + " days. Are you excited for the next walk?[/say]")
saynn("[say=issix]Hmm, soonish, probably in around "+ str(AVERAGE_WALK_DELAY-(GM.main.getDays()-last_walk)) + " days. Are you excited for the next walk?[/say]")
addButton("Back", "Go back", "issixpetmenu")
if state == "issixsexrequest":
@ -273,7 +275,7 @@ func _run():
saynn("[say=pc]Umm, Master? Could we have sex today?[/say]")
if float(GM.pc.getLust()) / GM.pc.lustThreshold() > 0.7:
saynn("[say=issix]Aww, my "+IssixModule.getPlayerPetName() +" is pent up? How cute.[/say]")
saynn("[say=issix]Aww, my "+getPlayerPetName() +" is pent up? How cute.[/say]")
else:
saynn("[say=issix]Sex? Hmmm...[/say]")
@ -292,7 +294,15 @@ func _run():
saynn("You read one of the comic books, 20 minutes pass.") # TODO Expand on this
addButton("Back", "Go back", "")
static func getPlayerPetName():
if Species.Canine in GM.pc.getSpecies():
return "puppy"
elif Species.Feline in GM.pc.getSpecies():
return "kitty"
elif Species.Equine in GM.pc.getSpecies():
return "pony"
else:
return "pet"
func getTimeSpent():
return getModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 0)+(GM.main.getTime()-pet_time_start)
@ -345,6 +355,10 @@ func getMood():
else:
return "[color=green]excellent[/color]"
static func playerToFuck():
return not (int(GM.main.getDays()) % 2 != 0) and GM.main.getModuleFlag("IssixModule", "Todays_Bred_Slave", "") == "pc"
func getDays():
var days_enslaved = getModuleFlag("IssixModule", "Misc_Slavery_Info", {})["day_enslaved"]
return GM.main.getDays() - days_enslaved
@ -362,6 +376,9 @@ func trainingCheck():
else:
return "very good"
static func addIssixMood(mood: int):
GM.main.setModuleFlag("IssixModule", "Issix_Mood", clamp(GM.main.getModuleFlag("IssixModule", "Issix_Mood", 50)+mood, 0, 100))
func registerOffspringGuess():
var past_guesses: Dictionary = getModuleFlag("IssixModule", "Litter_Guessing_Game", {"guesses_off": [], "last_guess": GM.CS.getChildrenAmountOf("azazel")})
past_guesses["guesses_off"].append(reply_litter-azazel.getPregnancyLitterSize())
@ -411,7 +428,7 @@ func _react(_action: String, _args):
if _action == "after_sex_issix":
setModuleFlag("IssixModule", "Had_Sex_With_Issix", true)
processTime(20*60)
IssixModule.addIssixMood(5)
addIssixMood(5)
if _action == "readabook":
processTime(20*60)

View file

@ -177,7 +177,7 @@ func _run():
saynn("[say=pc]Yes..,[/say]")
saynn("[say=issix]Yes?[/say]")
saynn("[say=pc]Yes Master Issix.[/say]")
saynn("[say=issix]Good "+IssixModule.getPlayerPetName()+".[/say]")
saynn("[say=issix]Good "+getPlayerPetName()+".[/say]")
saynn("He takes his foot out of your belly.")
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
saynn("[say=issix]For today there is one more thing for me to do. Azazel, can you tell my new pet what it is?[/say]")
@ -229,6 +229,16 @@ func _run():
saynn("His voice still raspy, but composed. His dominant persona doesn't handle well „no” as an answer, however you aren't his pet, at least today. And now, you never will. That was your decision, however.")
addButton("Continue", "End the conversation", "endthescene")
static func getPlayerPetName():
if Species.Canine in GM.pc.getSpecies():
return "puppy"
elif Species.Feline in GM.pc.getSpecies():
return "kitty"
elif Species.Equine in GM.pc.getSpecies():
return "pony"
else:
return "pet"
func _react(_action: String, _args):
# if _action == "walktocell":
# runScene("ParadedOnALeashScene", ["issix", GM.pc.getLocation(), "cellblock_red_nearcell", [