27.11 updates
This commit is contained in:
parent
158f052fee
commit
794cd8705a
|
@ -123,4 +123,4 @@ func getBirthWaitTime():
|
||||||
return 60*60*24*2
|
return 60*60*24*2
|
||||||
|
|
||||||
func getDefaultEquipment():
|
func getDefaultEquipment():
|
||||||
return ["inmatecollar", "inmateuniformHighSec"]
|
return ["inmatecollar", "inmateuniformHighsec"]
|
||||||
|
|
|
@ -94,7 +94,7 @@ func getGender():
|
||||||
return Gender.Male
|
return Gender.Male
|
||||||
|
|
||||||
func getSmallDescription() -> String:
|
func getSmallDescription() -> String:
|
||||||
return "Wears a red block uniform with number P-9533. He is an intimidating tall demon-dragon, has red fur."
|
return "Wears a red block uniform with number P-533. He is an intimidating tall demon-dragon, has red fur."
|
||||||
|
|
||||||
func getSpecies():
|
func getSpecies():
|
||||||
return [Species.Dragon, Species.Demon]
|
return [Species.Dragon, Species.Demon]
|
||||||
|
|
|
@ -93,7 +93,7 @@ func getGender():
|
||||||
return Gender.Male
|
return Gender.Male
|
||||||
|
|
||||||
func getSmallDescription() -> String:
|
func getSmallDescription() -> String:
|
||||||
return "Wears an orange uniform with number P-1211."
|
return "Wears an orange uniform with number P-790."
|
||||||
|
|
||||||
func getSpecies():
|
func getSpecies():
|
||||||
return [Species.Canine] # if in the future foxes are introduced, the character is canonically a fox
|
return [Species.Canine] # if in the future foxes are introduced, the character is canonically a fox
|
||||||
|
@ -105,7 +105,7 @@ func getBirthWaitTime():
|
||||||
return 60*60*24*2
|
return 60*60*24*2
|
||||||
|
|
||||||
func getDefaultEquipment():
|
func getDefaultEquipment():
|
||||||
return ["inmatecollar", "inmateuniformGeneral"]
|
return ["inmatecollar", "inmateuniform"]
|
||||||
|
|
||||||
func getThickness() -> int:
|
func getThickness() -> int:
|
||||||
return 70
|
return 70
|
||||||
|
|
|
@ -4,7 +4,7 @@ func _init():
|
||||||
id = "IssixSpecialEvent"
|
id = "IssixSpecialEvent"
|
||||||
|
|
||||||
|
|
||||||
var registered_special_scenes = [['IssixSlaveryIntroCont', 1], ['IssixSlaveryBowlTraing', 2]]
|
var registered_special_scenes = [['IssixSlaveryIntroCont', 1], ['IssixSlaveryBowlTraing', 2], ['IssixSlaveryBranding', 3]]
|
||||||
|
|
||||||
func sort_by_progressionpoints(a, b):
|
func sort_by_progressionpoints(a, b):
|
||||||
if a[1] < b[1]:
|
if a[1] < b[1]:
|
||||||
|
|
|
@ -13,6 +13,7 @@ func getFlags():
|
||||||
"Azazel_Catnip_taken_today": flag(FlagType.Bool),
|
"Azazel_Catnip_taken_today": flag(FlagType.Bool),
|
||||||
"Azazel_Affection_given": flag(FlagType.Number),
|
"Azazel_Affection_given": flag(FlagType.Number),
|
||||||
"Lamia_Times_Helped": flag(FlagType.Number),
|
"Lamia_Times_Helped": flag(FlagType.Number),
|
||||||
|
"Hiisi_Affection": flag(FlagType.Number),
|
||||||
"Helped_Lamia_With_Drawings_Today": flag(FlagType.Bool),
|
"Helped_Lamia_With_Drawings_Today": flag(FlagType.Bool),
|
||||||
"Quest_Bonked": flag(FlagType.Bool),
|
"Quest_Bonked": flag(FlagType.Bool),
|
||||||
"Quest_Wait_Another_Day": flag(FlagType.Bool),
|
"Quest_Wait_Another_Day": flag(FlagType.Bool),
|
||||||
|
@ -34,6 +35,7 @@ func getFlags():
|
||||||
"Received_Portrait_From_Lamia": flag(FlagType.Bool),
|
"Received_Portrait_From_Lamia": flag(FlagType.Bool),
|
||||||
"Placed_Portrait_In_Cell": flag(FlagType.Bool),
|
"Placed_Portrait_In_Cell": flag(FlagType.Bool),
|
||||||
"Hissi_RPS_data": flag(FlagType.Dict),
|
"Hissi_RPS_data": flag(FlagType.Dict),
|
||||||
|
"Hiisi_Name_Helped": flag(FlagType.Bool),
|
||||||
"Shared_Marshmallows": flag(FlagType.Bool),
|
"Shared_Marshmallows": flag(FlagType.Bool),
|
||||||
|
|
||||||
# Slavery related
|
# Slavery related
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
# Issix
|
# Issix
|
||||||
A mod for Broken Dreams Correctional Center. Introduces Issix and his harem of s[l](https://kenashcorp.bandcamp.com/track/im-your-slave)- pets.
|
A mod for Broken Dreams Correctional Center. Introduces Issix and his harem of s[l](https://kenashcorp.bandcamp.com/track/im-your-slave)- pets.
|
||||||
|
|
||||||
|
## Disclaimer
|
||||||
|
The mod and contents in it is - surprise surprise - a work of fiction. Author does not support, condone, advocate for, endorse, stand up for non-consensual activities, relationships or violence.
|
||||||
|
|
||||||
# Existing content (assuming I don't get lazy before 1.0)
|
# Existing content (assuming I don't get lazy before 1.0)
|
||||||
- Issix - a dragon-demon hybrid, he owns 3 pets, all of them have some story that you can uncover (and which may be expanded in the future)
|
- Issix - a dragon-demon hybrid, he owns 3 pets, all of them have some story that you can uncover (and which may be expanded in the future)
|
||||||
- Azazel - a feline breeding bitch
|
- Azazel - a feline breeding bitch
|
||||||
|
@ -30,6 +33,8 @@ Here is a list of planned content:
|
||||||
- More Issix/pet related scenes around the prison
|
- More Issix/pet related scenes around the prison
|
||||||
- Issix's mechanic of dealing in BDSM restraints
|
- Issix's mechanic of dealing in BDSM restraints
|
||||||
- A "last choice" reward, making the game harder and more annoying by stripping player's choices completely in relation to some slave related mechanics
|
- A "last choice" reward, making the game harder and more annoying by stripping player's choices completely in relation to some slave related mechanics
|
||||||
|
- Making use of existing system to improve affection with pets
|
||||||
|
- Including ability to make love with Hiisi and Azazel
|
||||||
|
|
||||||
## Technical stuff
|
## Technical stuff
|
||||||
The goal is to create a mod with as little of overwriting the core modules to preserve compatibility and not have a dance every time base game gets an update. This means that we'll try to use as many of mechanics that already exist in the game as possible. Granted, while I'm a coder, I'm unsure I can properly implement complex system in Godot, so I might need some help with that.
|
The goal is to create a mod with as little of overwriting the core modules to preserve compatibility and not have a dance every time base game gets an update. This means that we'll try to use as many of mechanics that already exist in the game as possible. Granted, while I'm a coder, I'm unsure I can properly implement complex system in Godot, so I might need some help with that.
|
||||||
|
@ -60,3 +65,6 @@ One does not simply make a kinky lewd game of this caliber in a single month.
|
||||||
Thus, Rahi deserves a big chunk of the credit. While working on scenes, and other things I've used their existing work to make my own. It goes without saying that without BDCC, this mod wouldn't exist. So I'm grateful for their commitment and time. While I wish they were a bit more engaged at least on GitHub repo itself, I claim no expectations in that regard, they are free to have any amount of commitment they want.
|
Thus, Rahi deserves a big chunk of the credit. While working on scenes, and other things I've used their existing work to make my own. It goes without saying that without BDCC, this mod wouldn't exist. So I'm grateful for their commitment and time. While I wish they were a bit more engaged at least on GitHub repo itself, I claim no expectations in that regard, they are free to have any amount of commitment they want.
|
||||||
|
|
||||||
So at the end, if you like what I did, consider [supporting Rahi on Subscribestar](https://subscribestar.adult/rahi).
|
So at the end, if you like what I did, consider [supporting Rahi on Subscribestar](https://subscribestar.adult/rahi).
|
||||||
|
|
||||||
|
# Alternatives
|
||||||
|
During development of this modification Katz released their own „Dragon Slave” datapack which has similar goal of adding another Master with ability to enslave the player character. You may want to check that one out as well :)
|
||||||
|
|
|
@ -22,7 +22,7 @@ func _run():
|
||||||
|
|
||||||
if(state == ""):
|
if(state == ""):
|
||||||
if(!GM.main.getModuleFlag("IssixModule", "Issix_Introduced")):
|
if(!GM.main.getModuleFlag("IssixModule", "Issix_Introduced")):
|
||||||
sayn("While exploring the cellblock you stumble upon an uncommon sight - three leashed creatures resting on blankets around a sitting man. One of the creatures appears to be sleeping, the other one is laying on their front turned towards the man sitting on the chair and the third one is licking their paws with their eyes closed.\nThe sitting figure appears to be talking with the creature laying on their belly.")
|
saynn("While exploring the cellblock you stumble upon an uncommon sight - three leashed creatures resting on red blankets around a sitting man. One of the creatures appears to be sleeping, the other one is laying on their front turned towards the man sitting on the chair and the third one is licking their paws with their eyes closed, below them sheets of paper with drawings.\n\nThe sitting figure appears to be talking with the creature laying on their belly.")
|
||||||
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
|
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
|
||||||
sayn("All of the three leashed creatures give off a pretty strong smell - they are all marked. While their fur seems dry, it's undeniable it had contact with piss, of a single male. Not difficult to figure out which.")
|
sayn("All of the three leashed creatures give off a pretty strong smell - they are all marked. While their fur seems dry, it's undeniable it had contact with piss, of a single male. Not difficult to figure out which.")
|
||||||
addButton("Talk", "Talk to the intimidating demon", "talk")
|
addButton("Talk", "Talk to the intimidating demon", "talk")
|
||||||
|
@ -61,7 +61,7 @@ func _run():
|
||||||
|
|
||||||
if state == "guards":
|
if state == "guards":
|
||||||
saynn("[say=pc]What about guards? Are they not a problem for your operations?[/say]")
|
saynn("[say=pc]What about guards? Are they not a problem for your operations?[/say]")
|
||||||
saynn("[say=issix]Guards? No. They are just a gear in the system. As to my attitude towards them - I guess it's pretty symbiotic. I'm a very nice inmate not making them any trouble and they leave me alone to my devious plans. My past earned me some privileges in here that no other can claim, by no means I'm untouchable but I'm close to being that. There are a few deals I have with the guards that allow me to live in here on my own terms, and its to their own benefit as well.[/say]")
|
saynn("[say=issix]Guards? No. They are just a gear in the system. As to my attitude towards them - I guess it's pretty symbiotic. I'm a very nice inmate, not making them any trouble and they leave me alone to my devious plans. My past earned me some privileges in here that no other can claim, by no means I'm untouchable but I'm close to being that. There are a few deals I have with the guards that allow me to live in here on my own terms, and its to their own benefit as well.[/say]")
|
||||||
saynn("[say=pc]Really? So you are a big deal?[/say]")
|
saynn("[say=pc]Really? So you are a big deal?[/say]")
|
||||||
saynn("He takes a long breath")
|
saynn("He takes a long breath")
|
||||||
saynn("[say=issix]Nothing you have to worry about, morsel. All you need to know is to not cross me or any of my precious pets. That's all I want you to keep in mind.[/say]")
|
saynn("[say=issix]Nothing you have to worry about, morsel. All you need to know is to not cross me or any of my precious pets. That's all I want you to keep in mind.[/say]")
|
||||||
|
@ -85,19 +85,20 @@ func _run():
|
||||||
addButton("Back", "Turn to other matters", "talk")
|
addButton("Back", "Turn to other matters", "talk")
|
||||||
|
|
||||||
if(state == "name"):
|
if(state == "name"):
|
||||||
|
|
||||||
saynn("[say=issix]I see. Nice to meet you {pc.name} and welcome to my humble corner in this piece of heaven.[/say]")
|
saynn("[say=issix]I see. Nice to meet you {pc.name} and welcome to my humble corner in this piece of heaven.[/say]")
|
||||||
saynn("He holds his paw up to you, not fazed by the fact that you are still separated by an awkwardly long distance from the demon-dragon.\nNot wanting to be rude, you lean forwards while making extra sure you will not trample upon laying inmate or fall forwards by yourself. Eventually your " + ("hand" if len(GM.pc.getSpecies()) == 1 and GM.pc.getSpecies()[0] == "human" else "paw") + " meets his and you are able to do shake them.") # ok, I have no idea what's the difference between buff arms and anthro arms, they seem the same, and technically neither have paws, too bad I'm the one writing dialogue though
|
saynn("He holds his paw up to you, not fazed by the fact that you are still separated by an awkwardly long distance from the demon-dragon.\nNot wanting to be rude, you lean forwards while making extra sure you will not trample upon laying inmate or fall forwards by yourself. Eventually your " + ("hand" if len(GM.pc.getSpecies()) == 1 and GM.pc.getSpecies()[0] == "human" else "paw") + " meets his and you are able to do shake them.") # ok, I have no idea what's the difference between buff arms and anthro arms, they seem the same, and technically neither have paws, too bad I'm the one writing dialogue though
|
||||||
saynn("[say=issix]I own this little corner including those three wonderful leashed pets beside me. You do NOT touch my pets without permission. Normally I wouldn't think this has to be mentioned, but for some reasons inmates think otherwise, those who do - don't keep this thought for long.[/say]")
|
saynn("[say=issix]What leads you to me? I don't suppose you are here to admire me like the three here.[/say]")
|
||||||
|
saynn("He lets out a laugh")
|
||||||
|
saynn("[say=issix]Anyways, I own this little corner including those three wonderful leashed pets beside me. You do NOT touch my pets without permission. Normally I wouldn't think this has to be mentioned, but for some reasons inmates think otherwise, those who do - don't keep this thought for long.[/say]")
|
||||||
sayn("[say=issix]That's probably everything you need to know about me. \nAlso, considering we didn't start on the wrong foot, you have my permission to speak with my pets. \nNow, please find some other business to attend to, unless you need something else of me?[/say]")
|
sayn("[say=issix]That's probably everything you need to know about me. \nAlso, considering we didn't start on the wrong foot, you have my permission to speak with my pets. \nNow, please find some other business to attend to, unless you need something else of me?[/say]")
|
||||||
addButton("Heaven?", "Did you hear that correctly?", "heaven")
|
addButton("Heaven?", "Did you hear that correctly?", "heaven")
|
||||||
addButton("Issix", "Learn more about Issix", "issixdetails")
|
addButton("You", "Learn more about Issix", "issixdetails")
|
||||||
addButton("Pets", "Who are the pets?", "pets")
|
addButton("Pets", "Who are the pets?", "pets")
|
||||||
|
|
||||||
if(state == "heaven"):
|
if(state == "heaven"):
|
||||||
saynn("[say=pc]Did you just call this prison a piece of heaven? Why?[/say]")
|
saynn("[say=pc]Did you just call this prison a piece of heaven? Why?[/say]")
|
||||||
saynn("[say=issix]Because it is. I don't understand why everyone says it's not.[/say]")
|
saynn("[say=issix]Because it is. I don't understand why everyone says it's not.[/say]")
|
||||||
saynn("[say=pc]Because it's... A prison? It's a middle-of-nothing rock that belongs to some mega rich empire. Because we have collars on our necks and they expect us to mine rock for their benefit, we are just slaves.[/say]")
|
saynn("[say=pc]Because it's... A prison?" + (" It's a middle-of-nothing rock that belongs to some mega rich empire. Because we have collars on our necks and they expect us to mine rock for their benefit, we are just slaves." if GM.main.getFlag("Mining_IntroducedToMinning", false) else "") + "[/say]")
|
||||||
saynn("[say=issix]You are looking at it all wrong. While the rest of the galaxy is participating in a rat-race for who is the most awful of them all, when they are murdering each other daily in show of dominance, when food shortages, speciesism, chaos is happening out there, here? Sure we still have a lot of show of power, but nobody is murdering each other because of it, we have shitty, but food, and speciesism isn't as bad as out there because what's the point, everyone has been reduced to just an inmate. Slavery here isn't only restricted to AlphaCorp's and Syndicate's of the galaxy, which what allows me to have those wonderful pets in here.[/say]")
|
saynn("[say=issix]You are looking at it all wrong. While the rest of the galaxy is participating in a rat-race for who is the most awful of them all, when they are murdering each other daily in show of dominance, when food shortages, speciesism, chaos is happening out there, here? Sure we still have a lot of show of power, but nobody is murdering each other because of it, we have shitty, but food, and speciesism isn't as bad as out there because what's the point, everyone has been reduced to just an inmate. Slavery here isn't only restricted to AlphaCorp's and Syndicate's of the galaxy, which what allows me to have those wonderful pets in here.[/say]")
|
||||||
saynn("[say=pc]So you like it here because you can have your own slaves?[/say]")
|
saynn("[say=pc]So you like it here because you can have your own slaves?[/say]")
|
||||||
saynn("[say=issix]I like it here because I can enjoy what the fuck I enjoy and whatever restrictions this place has don't bother me.[/say]")
|
saynn("[say=issix]I like it here because I can enjoy what the fuck I enjoy and whatever restrictions this place has don't bother me.[/say]")
|
||||||
|
@ -107,9 +108,9 @@ func _run():
|
||||||
addCharacter("azazel")
|
addCharacter("azazel")
|
||||||
GM.main.setModuleFlag("IssixModule", "Pets_Introduced", true)
|
GM.main.setModuleFlag("IssixModule", "Pets_Introduced", true)
|
||||||
saynn("[say=pc]So... Who are your pets exactly?[/say]")
|
saynn("[say=pc]So... Who are your pets exactly?[/say]")
|
||||||
saynn("[say=issix]Curious about my treasured pearls, aren't you? Oh, I'm happy to introduce you, people usually talk only with me, but I feel like they could use some social interactions with someone else than myself and themselves.[/say]")
|
saynn("[say=issix]Curious about my treasured pearls, aren't you? Oh, I'm happy to introduce you, people usually talk only with me, but I feel like pets could use some social interactions with someone else than myself and themselves.[/say]")
|
||||||
sayn("[say=issix]This kitty here is my very first pet, they've recognized me as their master shortly after I came here. They were very spooked and lost in here, still unsure what exactly they did to end up in this place. I gave them meaning, they repay me by being an excellent pet. Azazel, say hi.[/say]")
|
saynn("[say=issix]This kitty here is my very first pet, they've recognized me as their master shortly after I came here. They were very spooked and lost in here, still unsure what exactly they did to end up in this place. I gave them meaning, they repay me by being an excellent pet. Azazel, say hi.[/say]")
|
||||||
saynn("Issix looks expectantly at Azazel - a fairly regular looking feline, he is wearing an lilac uniform. Until now he was curled and seemingly asleep, even though his ears were perking up whenever his master spoke. After hearing his master's voice speak his name however his head immediately went up, and along with it the rest of his body. He stood on his fours and turned towards you.")
|
saynn("Issix looks expectantly at Azazel - a fairly regular looking feline, he is wearing an lilac uniform. Until now he was curled and seemingly asleep, even though his ears were perking up whenever his master spoke. After hearing his master's voice speak his name however, his head immediately went up, and along with it the rest of his body. He stood on his fours and turned towards you.")
|
||||||
saynn("[say=azazel]Hello... Stranger.[/say]")
|
saynn("[say=azazel]Hello... Stranger.[/say]")
|
||||||
saynn("Azazel said with reservation. He looked away from you for a second to look at face of his master, whos face didn't lose his expectant look. Turning back to you he hesitently rubbed his cheek on your leg and collapsed onto his blanket again, making sure to take a last look at his master before closing his eyelids and presumably continuing his slumber.")
|
saynn("Azazel said with reservation. He looked away from you for a second to look at face of his master, whos face didn't lose his expectant look. Turning back to you he hesitently rubbed his cheek on your leg and collapsed onto his blanket again, making sure to take a last look at his master before closing his eyelids and presumably continuing his slumber.")
|
||||||
saynn("[say=issix]Good kitty. He is the best breeding bitch in this entire institution, that's what nature made him to be. He doesn't mind petting his head, if that's something you'd like, otherwise we can move on.[/say]")
|
saynn("[say=issix]Good kitty. He is the best breeding bitch in this entire institution, that's what nature made him to be. He doesn't mind petting his head, if that's something you'd like, otherwise we can move on.[/say]")
|
||||||
|
@ -125,17 +126,15 @@ func _run():
|
||||||
saynn("You crouch and gently pet Azazel's head. You can feel very delicate vibrations produced by the kitten. He doesn't open his eyes, but it's clear cat enjoys this treatment.")
|
saynn("You crouch and gently pet Azazel's head. You can feel very delicate vibrations produced by the kitten. He doesn't open his eyes, but it's clear cat enjoys this treatment.")
|
||||||
sayn("Master looks at this interaction with interest and sincere smile on his face.")
|
sayn("Master looks at this interaction with interest and sincere smile on his face.")
|
||||||
saynn("After a short moment you stand back up and look at pet on your right.")
|
saynn("After a short moment you stand back up and look at pet on your right.")
|
||||||
saynn("[say=issix]This one here is Hiisi. He is my latest, which doesn't mean I love him any different. This puppy was actually one of the more recognized troublemakers around this prison.\nHe's been getting into pants of everyone against their own will, it got to a point where even guards started getting concerned and wanted to take action. At one point he even attempted to breed my precious kitty Azazel, do you remember that Hiisi?[/say]") # TODO
|
saynn("[say=issix]This one here is Hiisi. He is my latest, which doesn't mean I love him any different. This puppy rather keeps to himself, you may have difficulties getting him to open to you, if you'd ever want to do that. He's.. A troubled one, to say the least, but look at him, isn't he the pristine puppy boy? He loves his belly rubs and stays out of the trouble! ... Well, mostly. Anyways, despite his troubled past, he agreed to join me and became my pup! Hiisi cmon, welcome our guest, give {pc.him} a sniff![/say]")
|
||||||
saynn("Hissi looks at his master and shakes his head.")
|
|
||||||
saynn("[say=issix]Right, of course you don't, hah. But look at him now, pristine puppy boy! He love his belly rubs and stays out of the trouble! ... Well, mostly. Anyways, despite his troubled past, he agreed to join me and became my pup! Hiisi cmon, welcome our guest, give {pc.him} a sniff![/say]")
|
|
||||||
saynn("[say=hiisi]{pc.name} isn't it? Umm... Hi.[/say]")
|
saynn("[say=hiisi]{pc.name} isn't it? Umm... Hi.[/say]")
|
||||||
saynn("{hiisi.name} licks your leg, leaving a bit of saliva on your fur.") # TODO Fur/skin
|
saynn("{hiisi.name} licks your leg, leaving a bit of saliva on your fur.") # TODO Fur/skin
|
||||||
saynn("[say=issix]I apologize for my pets, they aren't used to longer conversations with strangers. They've been through a lot and... *sigh* Anyways, Lamia! Lamia is a fox breed, he doesn't speak. He communicates with drawings. He is getting pretty good at them. He also doesn't seem to mind being mute, quite to the opposite, he seems excited that his... Speech is in form of images.[/say]")
|
saynn("[say=issix]I apologize for my pets, they aren't used to longer conversations with strangers. They've been through a lot and... *sigh* Anyways, Lamia! Lamia is a fox breed, he doesn't speak. He communicates with drawings. He is getting pretty good at them. He also doesn't seem to mind being mute, quite to the opposite, he seems excited that his... Speech is in form of images.[/say]")
|
||||||
saynn("You can see Lamia drawing something, Issix gives you a signal to just wait a second. After a minute, Lamia presents you with a drawing, smiling.")
|
saynn("You can see Lamia drawing something, Issix gives you a signal to just wait a second. After a minute, Lamia presents you with a drawing, smiling.")
|
||||||
saynn("The drawing shows a pretty good representation of yourself, on fours, while leashed by a figure that you can only infer to be Issix. There is Lamia, Azazel and Hiisi hanging around there as well besides you. Issix laughs when he sees the drawing.")
|
saynn("The drawing shows a pretty good representation of yourself, on fours, while leashed by a figure that you can only infer to be Issix. There is Lamia, Azazel and Hiisi hanging around there as well besides you. Issix laughs when he sees the drawing.")
|
||||||
saynn("[say=issix]Lamia, please, don't scare our guest, not every friendly face you see must become my pet. You selfish little rascal.[/say]")
|
saynn("[say=issix]Lamia, please, don't scare our guest, not every friendly face you see must become my pet. You selfish little rascal.[/say]")
|
||||||
saynn("While Issix's words seem playful, Lamia still is saddened by his Master's words.")
|
saynn("While Issix's words seem playful, Lamia still is saddened by his master's words.")
|
||||||
saynn("[say=issix]Anyways, those are the three of my beloved pets. [/say]")
|
saynn("[say=issix]That would be it for introductions. If you have any problems with my pets you come to me, understood? Good.[/say]")
|
||||||
addButton("Back", "Turn to other matters", "talk")
|
addButton("Back", "Turn to other matters", "talk")
|
||||||
|
|
||||||
if(state == "issixdetails"):
|
if(state == "issixdetails"):
|
||||||
|
|
|
@ -245,7 +245,7 @@ func _run():
|
||||||
1:
|
1:
|
||||||
saynn("[say=hiisi]We can do that in here... If you want. But, would you like to be in charge or should I?[/say]")
|
saynn("[say=hiisi]We can do that in here... If you want. But, would you like to be in charge or should I?[/say]")
|
||||||
addButton("Dom Hiisi", "Say you'd like to dominate Hiisi", "hiisisubsex")
|
addButton("Dom Hiisi", "Say you'd like to dominate Hiisi", "hiisisubsex")
|
||||||
addButton("Sub Hiisi", "Say you'd like Hiisi to take charge", "hiisidomsex") # TODO
|
addDisabledButton("Sub Hiisi", "Say you'd like Hiisi to take charge") # TODO, "hiisidomsex"
|
||||||
2:
|
2:
|
||||||
saynn("[say=hiisi]Let's do it![/say]")
|
saynn("[say=hiisi]Let's do it![/say]")
|
||||||
saynn("He exlaims, excited")
|
saynn("He exlaims, excited")
|
||||||
|
@ -269,7 +269,7 @@ func _run():
|
||||||
saynn("[say=pc]Good. Let's start.[/say]")
|
saynn("[say=pc]Good. Let's start.[/say]")
|
||||||
if GM.pc.hasReachablePenis():
|
if GM.pc.hasReachablePenis():
|
||||||
addButton("Anal", "Use your tool in doggy ass", "hiisisubanal")
|
addButton("Anal", "Use your tool in doggy ass", "hiisisubanal")
|
||||||
addButton("Oral", "Make the doggo suck your tool", "hiisisuboral") # TODO
|
addDisabledButton("Oral", "Make the doggo suck your tool") # TODO, "hiisisuboral"
|
||||||
elif (GM.pc.isWearingStrapon() or GM.pc.hasStrapons() and GM.pc.canWearStrapon()):
|
elif (GM.pc.isWearingStrapon() or GM.pc.hasStrapons() and GM.pc.canWearStrapon()):
|
||||||
var strapons: ItemBase = GM.pc.getStrapons()
|
var strapons: ItemBase = GM.pc.getStrapons()
|
||||||
for strapon in strapons:
|
for strapon in strapons:
|
||||||
|
|
|
@ -13,8 +13,6 @@ var pick_up_lamia_art = [
|
||||||
|
|
||||||
var humanoids_lamia_art = [
|
var humanoids_lamia_art = [
|
||||||
"a group of inmates celebrating someone's birthday",
|
"a group of inmates celebrating someone's birthday",
|
||||||
"an inmate staring at the cosmos behind the reinforced glass display",
|
|
||||||
"various species of humanoids having a party on what looks to be flying... Egg",
|
|
||||||
"a wolf person firing fireworks",
|
"a wolf person firing fireworks",
|
||||||
"a dragon person sitting inside the elevator, reading newspapers in her paws",
|
"a dragon person sitting inside the elevator, reading newspapers in her paws",
|
||||||
"portrait of a snake person with particularly long fangs sticking out from their maw",
|
"portrait of a snake person with particularly long fangs sticking out from their maw",
|
||||||
|
@ -23,8 +21,7 @@ var humanoids_lamia_art = [
|
||||||
]
|
]
|
||||||
|
|
||||||
var animal_flora_lamia_art = [
|
var animal_flora_lamia_art = [
|
||||||
"a goat standing on top of a mountain",
|
"a goat with impressive curly horns",
|
||||||
"a rabbit jumping above a huge ravine, even though they there is no way their paws could put them so high, considering their position they will likely land on the other side",
|
|
||||||
"a crow with a yellow circular object held in their beak",
|
"a crow with a yellow circular object held in their beak",
|
||||||
"feral bear fishing",
|
"feral bear fishing",
|
||||||
"multiple cats chasing each other as their small ones rest on a pillow nearby",
|
"multiple cats chasing each other as their small ones rest on a pillow nearby",
|
||||||
|
@ -49,16 +46,20 @@ var background_lamia_art = [
|
||||||
|
|
||||||
var animals_backgrounds_lamia_art = [
|
var animals_backgrounds_lamia_art = [
|
||||||
"a jungle full of flora, you see giant trees as well as a large amount of green plants, some purple flowers growing here and there",
|
"a jungle full of flora, you see giant trees as well as a large amount of green plants, some purple flowers growing here and there",
|
||||||
"a bird's-eye view of abandoned city, reclaimed by nature, full of thorny vines and trees growing from the houses"
|
"a bird's-eye view of abandoned city, reclaimed by nature, full of thorny vines and trees growing from the houses",
|
||||||
|
"a rabbit jumping above a huge ravine, even though they there is no way their paws could put them so high, considering their position they will likely land on the other side",
|
||||||
|
"a feral dragon sitting atop a pile of gold, crusty fries, nearby there is a small well filled to the brim with red liquid (ketchup, you presume), with a single giant fry sticking out of it"
|
||||||
]
|
]
|
||||||
|
|
||||||
var humanoids_backgrounds_lamia_art = [
|
var humanoids_backgrounds_lamia_art = [
|
||||||
"an anthro bull stands at the top of the mountain looking at clear view of green terrains below them"
|
"an anthro bull standing at the top of the mountain looking at clear view of green terrains below them",
|
||||||
|
"an inmate staring at the cosmos behind the reinforced glass display",
|
||||||
|
"various species of humanoids having a party on what looks to be a flying... Egg",
|
||||||
]
|
]
|
||||||
|
|
||||||
var other_lamia_art = [
|
var other_lamia_art = [
|
||||||
"a wide assortment of geometrical figures - squares, triangles and hexadecagons",
|
"a wide assortment of geometrical figures - squares, triangles and hexadecagons",
|
||||||
""
|
"a collar, very similar to the one every inmate wears, on it a barbed wire"
|
||||||
]
|
]
|
||||||
|
|
||||||
var all_features_combined_lamia_art = [
|
var all_features_combined_lamia_art = [
|
||||||
|
@ -106,19 +107,29 @@ func _run():
|
||||||
addButton("Back", "Take a step back", "")
|
addButton("Back", "Take a step back", "")
|
||||||
|
|
||||||
if state == "hiisimain":
|
if state == "hiisimain":
|
||||||
|
clearCharacter()
|
||||||
|
addCharacter("hiisi")
|
||||||
|
playAnimation(StageScene.Duo, "kneel", {pc="hiisi", npc="pc", bodyState={naked=false, hard=false}, npcBodyState={naked=false, hard=false}})
|
||||||
if getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) == 0:
|
if getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) == 0:
|
||||||
saynn("You approach Lamia")
|
saynn("You approach Hiisi, he acknowledges your presence but other than that doesn't give you much attention, continuing to lay on his front looking at his master with his muzzle being supported by own arms.")
|
||||||
|
addButton("Talk", "Talk to Hiisi", "hiisitalk")
|
||||||
|
addButton("Appearance", "Look at Hiisi", "hiisiappearance")
|
||||||
else:
|
else:
|
||||||
addButton("Talk", "Talk to Lamia", "hiisitalk")
|
saynn("You approach Hiisi, he rolls to the side facing you.")
|
||||||
addButton("Appearance", "Look at Lamia", "hiisiappearance")
|
addButton("Talk", "Talk to Hiisi", "hiisitalk")
|
||||||
|
addButton("Appearance", "Look at Hiisi", "hiisiappearance")
|
||||||
|
addButton("Back", "Take a step back", "")
|
||||||
|
|
||||||
if state == "hiisitalk":
|
if state == "hiisitalk":
|
||||||
var HiisiRPS = getModuleFlag("IssixModule", "Hissi_RPS_data")
|
var HiisiRPS = getModuleFlag("IssixModule", "Hissi_RPS_data")
|
||||||
if HiisiRPS != null:
|
if HiisiRPS != null:
|
||||||
if HiisiRPS["chosen_reward"] == 3 and HiisiRPS["reward_acquired"] == false:
|
if HiisiRPS["chosen_reward"] == 3 and HiisiRPS["reward_acquired"] == false:
|
||||||
addButton("Drink", "Ask Hiisi about energy drink that you've won through the game of Rock Paper Scissors", "hiisienergy")
|
addButton("Drink", "Ask Hiisi about energy drink that you've won through the game of Rock Paper Scissors", "hiisienergy")
|
||||||
|
if not getModuleFlag("IssixModule", "Hiisi_Name_Helped", false):
|
||||||
|
addDisabledButton("Name", "You already asked Hiisi about his name")
|
||||||
|
else:
|
||||||
addButton("Name", "Ask Hiisi about his name", "hiisiname")
|
addButton("Name", "Ask Hiisi about his name", "hiisiname")
|
||||||
|
addButton("Back", "Do something else", "hiisimain")
|
||||||
|
|
||||||
if state == "hiisiname":
|
if state == "hiisiname":
|
||||||
saynn("[say=pc]Hey Hiisi, can you tell me something more about your name? It feels kind of odd.[/say]")
|
saynn("[say=pc]Hey Hiisi, can you tell me something more about your name? It feels kind of odd.[/say]")
|
||||||
|
@ -144,9 +155,20 @@ func _run():
|
||||||
addButton("Back", "You've helped the doggo", "hiisitalk")
|
addButton("Back", "You've helped the doggo", "hiisitalk")
|
||||||
|
|
||||||
if state == "hiisisilence":
|
if state == "hiisisilence":
|
||||||
saynn("Instead of proactive approach you let Hiisi sort his stuff on his own, he weeps for a minute, not saying anything")
|
saynn("Instead of proactive approach you let Hiisi sort his stuff on his own, he weeps for a minute, not saying anything, after his paws remove countless tears he looks at you again.")
|
||||||
|
saynn("[say=hiisi]Sorry... Didn't expect thinking about this to make me feel so miserable *sniff* [/say]")
|
||||||
|
saynn("[say=pc]It's alright, sorry it happens to you.[/say]")
|
||||||
|
saynn("[say=hiisi]Thank you...[/say]")
|
||||||
|
addButton("Back", "You've helped the doggo", "hiisitalk")
|
||||||
|
|
||||||
|
if state == "hiisiadvice": # it was hurting me to even write this dialogue, toxic masculinity fucking sucks, if you pick this dialogue you are either an idiot or made a mistake, yes, I'm judging you for how you play this game that gives you a choice lol
|
||||||
|
saynn("Hiisi starts weeping, tears dropping from their face, despite his attempts to remove them with his arm")
|
||||||
|
saynn("[say=pc]Grow up Hiisi, are you really crying because someone makes fun of your name? Are you a child?[/say]")
|
||||||
|
saynn("[say=hiisi]I... I... Sor-[/say]")
|
||||||
|
saynn("He breaks down completely, he starts crying loudly, getting attention of everyone around")
|
||||||
|
saynn("[say=issix]What the fuck did you say to Hiisi? Get away. Hells...[/say]")
|
||||||
|
saynn("Issix descends from his chair and kneels next to Hiisi, taking his paws in his and speaks to him. THey exchange looks, Issix gives Hiisi a handkerchief to deal with the tears. You want to explain yourself but one look from Issix towards you efficiently dissuades you from trying.")
|
||||||
|
addButton("Leave", "You aren't welcome here for now", "endthescene")
|
||||||
|
|
||||||
if state == "hiisienergy":
|
if state == "hiisienergy":
|
||||||
var HiisiRPS = getModuleFlag("IssixModule", "Hissi_RPS_data")
|
var HiisiRPS = getModuleFlag("IssixModule", "Hissi_RPS_data")
|
||||||
|
@ -158,9 +180,12 @@ func _run():
|
||||||
addButton("Back", "Take a step back", "hiisitalk")
|
addButton("Back", "Take a step back", "hiisitalk")
|
||||||
|
|
||||||
if(state == "lamiamain"):
|
if(state == "lamiamain"):
|
||||||
|
clearCharacter()
|
||||||
|
addCharacter("lamia")
|
||||||
|
playAnimation(StageScene.Duo, "kneel", {pc="lamia", npc="pc", bodyState={naked=false, hard=false}})
|
||||||
if getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) == 0:
|
if getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) == 0:
|
||||||
saynn("You approach Lamia")
|
saynn("You approach Lamia")
|
||||||
var lamia_mood = getModuleFlag("IssixModule", "Lamia_Times_Helped")
|
var lamia_mood = getModuleFlag("IssixModule", "Lamia_Times_Helped", 0)
|
||||||
if lamia_mood < -5:
|
if lamia_mood < -5:
|
||||||
saynn("He notices you and gives you a neural look of face, awaiting your further interactions.")
|
saynn("He notices you and gives you a neural look of face, awaiting your further interactions.")
|
||||||
elif lamia_mood < 5:
|
elif lamia_mood < 5:
|
||||||
|
@ -173,6 +198,7 @@ func _run():
|
||||||
pass # TODO
|
pass # TODO
|
||||||
addButton("Talk", "Talk to Lamia", "lamiatalk")
|
addButton("Talk", "Talk to Lamia", "lamiatalk")
|
||||||
addButton("Appearance", "Look at Lamia", "lamiaappearance")
|
addButton("Appearance", "Look at Lamia", "lamiaappearance")
|
||||||
|
if false: # TODO Get this behind some flag after talking to them
|
||||||
match getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today"):
|
match getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today"):
|
||||||
null:
|
null:
|
||||||
addButton("Help", "You see a big stack of drawings and some drawers, it seems Lamia categorizes their drawings, ask if you could help?", "lamiahelp")
|
addButton("Help", "You see a big stack of drawings and some drawers, it seems Lamia categorizes their drawings, ask if you could help?", "lamiahelp")
|
||||||
|
@ -180,7 +206,7 @@ func _run():
|
||||||
addDisabledButton("Help", "You've helped the fox boyy today already")
|
addDisabledButton("Help", "You've helped the fox boyy today already")
|
||||||
false:
|
false:
|
||||||
addButton("Help", "You see a big stack of drawings filled again, ask if you could help sorting it?", "artminigame")
|
addButton("Help", "You see a big stack of drawings filled again, ask if you could help sorting it?", "artminigame")
|
||||||
saynn("")
|
addButton("Back", "Take a step back", "")
|
||||||
|
|
||||||
if(state == "catnip"):
|
if(state == "catnip"):
|
||||||
saynn("You take the catnip and slowly reach your paw with the plant to the feline. Halfway there feline snatches the catnip from you paw and throws it in the air. His paws go above and he plays airborne valley...catnip with it? Eventually he misses with his paw and catnip falls on his muzzle, he freezes for a moment as if paralyzed, the pupils in his eyes become large.")
|
saynn("You take the catnip and slowly reach your paw with the plant to the feline. Halfway there feline snatches the catnip from you paw and throws it in the air. His paws go above and he plays airborne valley...catnip with it? Eventually he misses with his paw and catnip falls on his muzzle, he freezes for a moment as if paralyzed, the pupils in his eyes become large.")
|
||||||
|
@ -196,7 +222,7 @@ func _run():
|
||||||
|
|
||||||
if(state == "azazeltalk"):
|
if(state == "azazeltalk"):
|
||||||
GM.main.setModuleFlag("IssixModule", "Azazel_Catnip_talked", true)
|
GM.main.setModuleFlag("IssixModule", "Azazel_Catnip_talked", true)
|
||||||
var affection = getModuleFlag("IssixModule", "Azazel_Affection_given")
|
var affection = getModuleFlag("IssixModule", "Azazel_Affection_given", 0)
|
||||||
addButton("Prison", "Ask how did he end up in prison?", "azazelprison")
|
addButton("Prison", "Ask how did he end up in prison?", "azazelprison")
|
||||||
addButton("Hobby", "Ask what hobbies does he have", "azazelhobby")
|
addButton("Hobby", "Ask what hobbies does he have", "azazelhobby")
|
||||||
if affection > 2:
|
if affection > 2:
|
||||||
|
@ -227,7 +253,7 @@ func _run():
|
||||||
saynn("When approaching there are two distinct smells coming from Azazel - his own pheromones advertising his fertility to everyone around, as well another strong smell of his master. Azazel has been marked, in more ways than one.")
|
saynn("When approaching there are two distinct smells coming from Azazel - his own pheromones advertising his fertility to everyone around, as well another strong smell of his master. Azazel has been marked, in more ways than one.")
|
||||||
else:
|
else:
|
||||||
saynn("When approaching there is one distinct smell coming from Azazel - his own pheromones advertising his fertility to everyone around.")
|
saynn("When approaching there is one distinct smell coming from Azazel - his own pheromones advertising his fertility to everyone around.")
|
||||||
saynn("You take a closer look at {azazel.name}. He is a very thin and fairly short feline, judging from him sitting he is around " + Util.cmToString(150) + " tall, with no visible muscles, likely not very strong. Overall his body is still mostly masculine, though here and there there are feminine features like his face or shoulders.\nHis fur is in majority dark grey, though his belly and face are of ligher shade of gray. A small set of horns protrudes from his head. On his backside there is a medium sized feline tail.\n\nOne significant detail is that he does not possess a penis, in its place there is a {azazel.pussyStretch} vagina, above which you can see a womb tattoo seemingly glowing a bit in shade of red.")
|
saynn("You take a closer look at {azazel.name}. He is a very thin and fairly short feline, judging from him sitting he is around " + Util.cmToString(150) + " tall, with no visible muscles, likely not very strong. Overall his body is still mostly masculine, though here and there there are feminine features like his face or shoulders.\nHis fur is in majority dark grey, though his belly and face are of ligher shade of gray. A small set of horns protrudes from his head. On his backside there is a medium sized feline tail.\n\nOne significant detail is that he does not possess a penis, in its place there is a {azazel.pussyStretch} vagina, above which you can see a womb tattoo seemingly glowing a bit in shade of red.") # TODO Makes no sense player can see that at this point, Azazel is clothed
|
||||||
saynn("On his lower back words ”PROPERTY OF ISSIX” branded onto the skin - a mark of his master.")
|
saynn("On his lower back words ”PROPERTY OF ISSIX” branded onto the skin - a mark of his master.")
|
||||||
addButton("Back", "Do something else", "azazelmain")
|
addButton("Back", "Do something else", "azazelmain")
|
||||||
|
|
||||||
|
@ -241,7 +267,7 @@ func _run():
|
||||||
saynn("You both sit in awkward silence while Azazel recovers.")
|
saynn("You both sit in awkward silence while Azazel recovers.")
|
||||||
saynn("[say=azazel]I will never understand groups as that one. There are more of those all over the galaxy, I know that. They ruin the lives of so many of us.. Workers. What have we done to wrong them? Nothing, we just sell our time and bodies to give others and ourselves some temporary pleasures in this grim world we live in.[/say]")
|
saynn("[say=azazel]I will never understand groups as that one. There are more of those all over the galaxy, I know that. They ruin the lives of so many of us.. Workers. What have we done to wrong them? Nothing, we just sell our time and bodies to give others and ourselves some temporary pleasures in this grim world we live in.[/say]")
|
||||||
saynn("He sighs, it seems to have calmed him down")
|
saynn("He sighs, it seems to have calmed him down")
|
||||||
saynn("[say=azazel]When I first arrived here I were so lost. Still very confused by this series of events, felt betrayed, hurt. Eventually I've met Master, they saw something in me and theey guided me through my trauma. I were really happy to become his pet. And honestly? It's not so bad, I have food, shelter and Master who takes care of me. And my heats.[/say]")
|
saynn("[say=azazel]When I first arrived here I were so lost. Still very confused by this series of events, felt betrayed, hurt. Eventually I've met Master, they saw something in me and they guided me through my trauma. I were really happy to become his pet. And honestly? It's not so bad, I have food, shelter and Master who takes care of me. And my heats.[/say]")
|
||||||
saynn("He says the last one, showing you his tongue at you in a grin")
|
saynn("He says the last one, showing you his tongue at you in a grin")
|
||||||
saynn("[say=azazel]So... Yeah... That's how I ended up here. Not a happy story, but I doubt anyone's is. Ironically, I think I'm better here, and I can still engage in sex without any stupid license.[/say]")
|
saynn("[say=azazel]So... Yeah... That's how I ended up here. Not a happy story, but I doubt anyone's is. Ironically, I think I'm better here, and I can still engage in sex without any stupid license.[/say]")
|
||||||
addButton("Back", "Do something else", "azazelmain")
|
addButton("Back", "Do something else", "azazelmain")
|
||||||
|
@ -283,6 +309,7 @@ func _run():
|
||||||
addButton("Back", "End this conversation", "azazelmain")
|
addButton("Back", "End this conversation", "azazelmain")
|
||||||
|
|
||||||
if state == "lamiahelp":
|
if state == "lamiahelp":
|
||||||
|
playAnimation(StageScene.Duo, "kneel", {pc="lamia", npc="pc", npcAction="kneel", bodyState={naked=false, hard=false}})
|
||||||
arts_reviewed = 0
|
arts_reviewed = 0
|
||||||
arts_correct = 0
|
arts_correct = 0
|
||||||
if getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today") == null:
|
if getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today") == null:
|
||||||
|
@ -309,6 +336,11 @@ func _run():
|
||||||
saynn("Lamia vigorously nods their head, that's it.")
|
saynn("Lamia vigorously nods their head, that's it.")
|
||||||
saynn("[say=pc]Ahhhhhhh. I seeeee...[/say]")
|
saynn("[say=pc]Ahhhhhhh. I seeeee...[/say]")
|
||||||
addButton("Continue", "This doesn't seem to be all of it", "lamiaexplanationcont")
|
addButton("Continue", "This doesn't seem to be all of it", "lamiaexplanationcont")
|
||||||
|
else:
|
||||||
|
saynn("[say=pc]Would you like my help with sorting artwork today?[/say]")
|
||||||
|
saynn("Lamia gives you a nod and invites you to sit with him.")
|
||||||
|
addButton("Work", "Get to sorting!", "artminigame")
|
||||||
|
|
||||||
|
|
||||||
if state == "lamiaexplanationcont":
|
if state == "lamiaexplanationcont":
|
||||||
saynn("Lamia draws more things, he draws a stick figure with a goat, circles them and points arrow to the blue box, then they draw a goat, stick figure and a background, connect them in one circle and points arrow to the green box. You enter deep thought what this could mean until an idea dawns on you.")
|
saynn("Lamia draws more things, he draws a stick figure with a goat, circles them and points arrow to the blue box, then they draw a goat, stick figure and a background, connect them in one circle and points arrow to the green box. You enter deep thought what this could mean until an idea dawns on you.")
|
||||||
|
@ -332,13 +364,24 @@ func _run():
|
||||||
if arts_reviewed:
|
if arts_reviewed:
|
||||||
saynn("You've rated "+str(arts_reviewed)+"/10 artworks.")
|
saynn("You've rated "+str(arts_reviewed)+"/10 artworks.")
|
||||||
if artwork[2] == true:
|
if artwork[2] == true:
|
||||||
saynn(RNG.choice(pick_up_lamia_art)+". The new artwork features "+RNG.choice(odd_lamia_art)+". Although after short moment the artowrk is swiftly taken from you by Lamia who feels unusually flustered about you seeing it. He flips it upside down so the drawings are not visible to anyone anymore and puts it into the last box like this. Embarrassed he picks up another artwork from the pile and hands it to you. The new artwork features "+artwork[1]+".")
|
saynn(RNG.pick(pick_up_lamia_art)+". The new artwork features "+RNG.pick(odd_lamia_art)+". Although after short moment the artwork is swiftly taken from you by Lamia who feels unusually flustered about you seeing it. He flips it upside down so the drawings are not visible to anyone anymore and puts it into the last box like this. Embarrassed he picks up another artwork from the pile and hands it to you. The new artwork features "+artwork[1]+".")
|
||||||
else:
|
else:
|
||||||
saynn(RNG.choice(pick_up_lamia_art)+". The new artwork features "+artwork[1]+".")
|
saynn(RNG.pick(pick_up_lamia_art)+". The new artwork features "+artwork[1]+".")
|
||||||
|
#saynn("DEBUG: "+str(artwork[0])+". VER 1: "+str(verify_response(1))+" VER 2: "+str(verify_response(2))+" VER 3: "+str(verify_response(3))+" VER 4: "+str(verify_response(4)))
|
||||||
addButton("Blue box", "Put the artwork on top of others in the blue box", "blueboxlamia1")
|
addButton("Blue box", "Put the artwork on top of others in the blue box", "blueboxlamia1")
|
||||||
addButton("Red box", "Put the artwork on top of others in the red box", "redboxlamia2")
|
addButton("Red box", "Put the artwork on top of others in the red box", "redboxlamia2")
|
||||||
addButton("Green box", "Put the artwork on top of others in the green box", "greenboxlamia3")
|
addButton("Green box", "Put the artwork on top of others in the green box", "greenboxlamia3")
|
||||||
addButton("Purple box", "Put the artwork on top of others in the purple box", "purpleboxlamia4")
|
addButton("Purple box", "Put the artwork on top of others in the purple box", "purpleboxlamia4")
|
||||||
|
addButton("Explanation", "Try to remember the rules of categorizing Lamia's artwork", "lamiaartexplanation")
|
||||||
|
|
||||||
|
if state == "lamiaartexplanation":
|
||||||
|
saynn("You recall the following about Lamia's explanations:")
|
||||||
|
saynn("The [color=blue]blue box[/color] is associatied with PEOPLE, humanoids, anthropomorphic animals. If artwork features only a humanoid, or it has a feral animal along with humanoid, or the humanoid is drawn with a background - the artwork goes to this box.")
|
||||||
|
saynn("The [color=red]red box[/color] is associated with feral animals and plants. If the artwork features only animal/plant or animal/plant and a background then it belongs in this box.")
|
||||||
|
saynn("The [color=green]green box[/color] is for backgrounds, though optionally artwork goes there if it has all of the elements - so animals/plants, humanoids as well as the background.")
|
||||||
|
saynn("The [color=purple]purple box[/color] is for everything that doesn't fit in other boxes. Abstract art, simple text, figures or items.")
|
||||||
|
addButton("Back", "Go back to categorizing art!", "artminigameae")
|
||||||
|
|
||||||
|
|
||||||
if state == "artminigamegoodend":
|
if state == "artminigamegoodend":
|
||||||
saynn("Putting the last artwork into the box together both you and Lumia have reached the end of artwork to sort. Lumia very happy the job has been done gives you a pat on your head and a large smile.")
|
saynn("Putting the last artwork into the box together both you and Lumia have reached the end of artwork to sort. Lumia very happy the job has been done gives you a pat on your head and a large smile.")
|
||||||
|
@ -356,18 +399,23 @@ func _run():
|
||||||
|
|
||||||
if state == "lamiatalk":
|
if state == "lamiatalk":
|
||||||
addButton("Try drawing", "You can try and draw something with lamia", "lamiadraw") # TODO
|
addButton("Try drawing", "You can try and draw something with lamia", "lamiadraw") # TODO
|
||||||
|
addButton("Back", "Do something else", "lamiamain")
|
||||||
|
|
||||||
|
if state == "lamiaappearance":
|
||||||
|
saynn("Lamia is very visibly a fox breed, their fur has very vivid and unusual orange/red pallette. Red mostly visible on their arms and a little bit on their legs. To contrast that, their hair is painted in shades of blue. They are wearing a general block inmate uniform.")
|
||||||
|
addButton("Back", "Stop looking at fox-breed", "lamiamain")
|
||||||
|
|
||||||
func generate_artwork_desc(descriptors: Array):
|
func generate_artwork_desc(descriptors: Array):
|
||||||
if descriptors.size() > 1 and RNG.randi_range(1, 6) < 3:
|
if descriptors.size() > 1 and RNG.randi_range(1, 6) < 3:
|
||||||
match descriptors:
|
match descriptors:
|
||||||
[1, 2]:
|
[1, 2]:
|
||||||
return RNG.choice(humanoids_animals_lamia_art)
|
return RNG.pick(humanoids_animals_lamia_art)
|
||||||
[1, 3]:
|
[1, 3]:
|
||||||
return RNG.choice(humanoids_backgrounds_lamia_art)
|
return RNG.pick(humanoids_backgrounds_lamia_art)
|
||||||
[2, 3]:
|
[2, 3]:
|
||||||
return RNG.choice(animals_backgrounds_lamia_art)
|
return RNG.pick(animals_backgrounds_lamia_art)
|
||||||
_:
|
_:
|
||||||
return RNG.choice(all_features_combined_lamia_art)
|
return RNG.pick(all_features_combined_lamia_art)
|
||||||
else:
|
else:
|
||||||
var result = ""
|
var result = ""
|
||||||
descriptors.shuffle()
|
descriptors.shuffle()
|
||||||
|
@ -377,13 +425,13 @@ func generate_artwork_desc(descriptors: Array):
|
||||||
var feature = descriptors.pop_front()
|
var feature = descriptors.pop_front()
|
||||||
match feature:
|
match feature:
|
||||||
1:
|
1:
|
||||||
result = result + RNG.choice(humanoids_lamia_art)
|
result = result + RNG.pick(humanoids_lamia_art)
|
||||||
2:
|
2:
|
||||||
result = result + RNG.choice(animal_flora_lamia_art)
|
result = result + RNG.pick(animal_flora_lamia_art)
|
||||||
3:
|
3:
|
||||||
result = result + RNG.choice(background_lamia_art)
|
result = result + RNG.pick(background_lamia_art)
|
||||||
4:
|
4:
|
||||||
result = result + RNG.choice(other_lamia_art)
|
result = result + RNG.pick(other_lamia_art)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
@ -415,6 +463,17 @@ func _react(_action: String, _args):
|
||||||
else:
|
else:
|
||||||
_action = "artminigame"
|
_action = "artminigame"
|
||||||
|
|
||||||
|
if _action == "hiisireassure":
|
||||||
|
increaseModuleFlag("IssixModule", "Hiisi_Affection", 5)
|
||||||
|
setModuleFlag("IssixModule", "Hiisi_Name_Helped", true)
|
||||||
|
|
||||||
|
if _action == "hiisiadvice":
|
||||||
|
increaseModuleFlag("IssixModule", "Hiisi_Affection", -5)
|
||||||
|
setModuleFlag("IssixModule", "Hiisi_Name_Helped", true)
|
||||||
|
|
||||||
|
if _action == "hiisisilence":
|
||||||
|
setModuleFlag("IssixModule", "Hiisi_Name_Helped", true)
|
||||||
|
|
||||||
if _action == "artminigamegoodend":
|
if _action == "artminigamegoodend":
|
||||||
increaseModuleFlag("IssixModule", "Lamia_Times_Helped")
|
increaseModuleFlag("IssixModule", "Lamia_Times_Helped")
|
||||||
|
|
||||||
|
@ -424,7 +483,10 @@ func _react(_action: String, _args):
|
||||||
if _action == "artminigame":
|
if _action == "artminigame":
|
||||||
# 1 - humanoids and items, 2 - feral animals and flora, 3 - backgrounds, 4 - others/electronic devices
|
# 1 - humanoids and items, 2 - feral animals and flora, 3 - backgrounds, 4 - others/electronic devices
|
||||||
var art_rand = RNG.pickWeighted([[1], [2], [3], [4], [1, 2], [1, 3], [2, 3], [1, 2, 3]], [15, 15, 15, 5, 15, 15, 5, 4])
|
var art_rand = RNG.pickWeighted([[1], [2], [3], [4], [1, 2], [1, 3], [2, 3], [1, 2, 3]], [15, 15, 15, 5, 15, 15, 5, 4])
|
||||||
artwork = [art_rand, generate_artwork_desc(art_rand), RNG.randi_range(1,151) == 50]
|
artwork = [art_rand.duplicate(), generate_artwork_desc(art_rand), RNG.randi_range(1,151) == 50] # Here Frisk learned about how Godot variables lifespan ends with the end of _react leaving a very empty array after this function ends. Gave me quite a lot of confusion, but was fun to debug I suppose, Python would track the reference to a variable, Godot doesn't, sad.
|
||||||
|
|
||||||
|
if _action == "artminigameae": # Don't reroll new artwork
|
||||||
|
_action = "artminigame"
|
||||||
|
|
||||||
if(_action == "catnip"):
|
if(_action == "catnip"):
|
||||||
GM.pc.getInventory().removeXOfOrDestroy("CatnipPlant", 1)
|
GM.pc.getInventory().removeXOfOrDestroy("CatnipPlant", 1)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
extends SceneBase
|
extends SceneBase
|
||||||
|
|
||||||
var attitude = null
|
var attitude = null
|
||||||
|
var timedifference = 0
|
||||||
|
|
||||||
func _init():
|
func _init():
|
||||||
sceneID = "IssixSlaveryBranding"
|
sceneID = "IssixSlaveryBranding"
|
||||||
|
@ -161,8 +162,34 @@ func _run():
|
||||||
saynn("Finally the doors open once again, Master Issix goes through first, after him Eliza. Without saying anything Master kneels again next to you and one by one unlocks the restraints holding your body. Even after the last one finally is removed you continue laying on your front, you worry that if you move the pain will be even worse.")
|
saynn("Finally the doors open once again, Master Issix goes through first, after him Eliza. Without saying anything Master kneels again next to you and one by one unlocks the restraints holding your body. Even after the last one finally is removed you continue laying on your front, you worry that if you move the pain will be even worse.")
|
||||||
saynn("[say=issix]Do you need a bit more cold water on there?[/say]")
|
saynn("[say=issix]Do you need a bit more cold water on there?[/say]")
|
||||||
saynn("You nod, while not great, this relief gave you some amount of comfort previously and you are certain it can do that again. Master brings a hose and stream of cold water once again hits the burned place. Even though the cold water hitting other parts of your body doesn't feel pleasant, you still feel relieved by temporary escape from the most persistent and unpleasant feeling of being burned under your skin. Your Master's paw ruffles your fur on the back above the branding, which gives you yet another pleasant feeling. After few minutes like that you felt your body getting really cold and asked Master to stop, which he did, not before jokingly turning the stream towards his other pets who got a small cold shower and wet fur, a joke appreciated only by your Master, even though you would lie if you said they didn't look funny.\nEventually you felt confident to sit on the device, which only led you to get dizzy and stumping on the cushioned top of the breeding stocks.")
|
saynn("You nod, while not great, this relief gave you some amount of comfort previously and you are certain it can do that again. Master brings a hose and stream of cold water once again hits the burned place. Even though the cold water hitting other parts of your body doesn't feel pleasant, you still feel relieved by temporary escape from the most persistent and unpleasant feeling of being burned under your skin. Your Master's paw ruffles your fur on the back above the branding, which gives you yet another pleasant feeling. After few minutes like that you felt your body getting really cold and asked Master to stop, which he did, not before jokingly turning the stream towards his other pets who got a small cold shower and wet fur, a joke appreciated only by your Master, even though you would lie if you said they didn't look funny.\nEventually you felt confident to sit on the device, which only led you to get dizzy and stumping on the cushioned top of the breeding stocks.")
|
||||||
saynn("[say=issix]Aww. that took a lot from you did it? It's okey, don't worry.[/say]")
|
saynn("[say=issix]Aww. that took a lot from you did it? It's okey, don't worry about it, you can rest.[/say]")
|
||||||
saynn("Master grabs you by your hips ")
|
saynn("Master grabs you by your hips and picks up your mostly limp and pained body on his shoulder, at this point you drift off, not remembering much.")
|
||||||
|
addButton("Wake up", "Wake up", "afterbrandingwakeup")
|
||||||
|
|
||||||
|
if state == "afterbrandingwakeup":
|
||||||
|
aimCamera("hall_ne_corner")
|
||||||
|
saynn("Your eyes open, first thing that you feel is disorientation, you can see the blurry legs of red dragon in front of you, things slowly getting sharper, you are on your left side? You grumble moving your head a little to look around, you see your Master nearby who also starts looking at you seeing your woke up.")
|
||||||
|
saynn("[say=issix]Hello there, what a timing, how are you feeling?[/say]")
|
||||||
|
saynn("[say=pc]Ummm.. I don't know. Confused? Where are the others?[/say]")
|
||||||
|
saynn("[say=issix]They went to their cells just moments ago, I were wondering if I should get you to yours as well, can you walk?[/say]")
|
||||||
|
saynn("The pain on the back creeps in. You memory of recent events flood your brain.")
|
||||||
|
saynn("[say=pc]How long have I been out?[/say]")
|
||||||
|
if timedifference > 2*60*60:
|
||||||
|
saynn("[say=issix]For few hours, at least, you had a nice sleepy time, other pets were worried about you.[/say]")
|
||||||
|
else:
|
||||||
|
saynn("[say=issix]Surprisingly, not that long, just a while, didn't stop other pets from worrying about you.[/say]")
|
||||||
|
saynn("[say=pc]Thank you, Master, should I go to my cell too?[/say]")
|
||||||
|
saynn("[say=issix]That depends. We do have to go to our cells already, but whether you get there by yourself or not depends if you can walk or not.[/say]")
|
||||||
|
saynn("You get on your butt while avoiding any contact with newly branded part above your butt, so far so goo. You stand up on your paws and just stand there, trying to see if you'll have a similar blackout like the last time.")
|
||||||
|
saynn("[say=pc]Hmm, I think I'm fine now. That nap gave me some energy, I guess.[/say]")
|
||||||
|
saynn("[say=issix]Are you sure? Hmm. I see. If that's the case then you are free to go back to your cell on your own. I'll be right behind, a good night of sleep will do good for both of us.[/say]")
|
||||||
|
saynn("[say=pc]Yeah...[/say]")
|
||||||
|
saynn("You take few steps forward, feeling pretty normal, shouldn't have a difficult time going back to the cell on your own.")
|
||||||
|
if GM.pc.getPersonality().getStat("Mean") < 0:
|
||||||
|
saynn("[say=pc]... Thank you, Master, for... Everything.[/say]")
|
||||||
|
saynn("Your Master smiles at you")
|
||||||
|
saynn("[say=issix]But of course, pet.[/say]")
|
||||||
|
addButton("Leave", "Leave the corner", "endthescene")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -183,6 +210,11 @@ func loadData(data):
|
||||||
func _react(_action: String, _args):
|
func _react(_action: String, _args):
|
||||||
processTime(2*60)
|
processTime(2*60)
|
||||||
|
|
||||||
|
if _action == "afterbrandingwakeup":
|
||||||
|
timedifference = GM.main.getTimeCap() - GM.main.timeOfDay
|
||||||
|
processTime(timedifference)
|
||||||
|
increaseModuleFlag("IssixModule", "Progression_Points")
|
||||||
|
|
||||||
if _action == "brandtalk":
|
if _action == "brandtalk":
|
||||||
attitude = _args[0]
|
attitude = _args[0]
|
||||||
|
|
||||||
|
@ -191,6 +223,9 @@ func _react(_action: String, _args):
|
||||||
GM.pc.addStamina(-300)
|
GM.pc.addStamina(-300)
|
||||||
GM.pc.addPain(300)
|
GM.pc.addPain(300)
|
||||||
|
|
||||||
|
if _action == "afterbrandingwakeup":
|
||||||
|
pass
|
||||||
|
|
||||||
if _action == "firstwalk":
|
if _action == "firstwalk":
|
||||||
processTime(10*60)
|
processTime(10*60)
|
||||||
runScene("ParadedOnALeashScene", ["issix", GM.pc.getLocation(), "cellblock_red_nearcell", [
|
runScene("ParadedOnALeashScene", ["issix", GM.pc.getLocation(), "cellblock_red_nearcell", [
|
||||||
|
@ -215,9 +250,8 @@ func _react(_action: String, _args):
|
||||||
"I got this branding iron as a gift, actually. not a very standard one, would you agree?",
|
"I got this branding iron as a gift, actually. not a very standard one, would you agree?",
|
||||||
], "medical_confessionary", "crawl"])
|
], "medical_confessionary", "crawl"])
|
||||||
|
|
||||||
|
|
||||||
if(_action == "endthescene"):
|
if(_action == "endthescene"):
|
||||||
increaseModuleFlag("IssixModule", "PC_Training_Level")
|
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+4)
|
||||||
endScene()
|
endScene()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
|
@ -13,14 +13,13 @@ func _run():
|
||||||
saynn("As you approach the corner your Master stands, grinning. You assume your position on your blanket.")
|
saynn("As you approach the corner your Master stands, grinning. You assume your position on your blanket.")
|
||||||
saynn("[say=issix]Good day, pet.[/say]")
|
saynn("[say=issix]Good day, pet.[/say]")
|
||||||
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
|
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
|
||||||
if GM.pc.getFluids().hasFluidTypeWithCharID("Piss", "issix"):
|
|
||||||
increaseModuleFlag("IssixModule", "Progression_Points")
|
increaseModuleFlag("IssixModule", "Progression_Points")
|
||||||
|
if GM.pc.getFluids().hasFluidTypeWithCharID("Piss", "issix"):
|
||||||
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+1)
|
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+1)
|
||||||
saynn("[say=issix]My my. My piss slut came back and {pc.he} is still smelling like myself. Good job.[/say]")
|
saynn("[say=issix]My my. My piss slut came back and {pc.he} is still smelling like myself. Good job.[/say]")
|
||||||
saynn("He leans down and pets your head. You yip in appreciation.") # TODO Yip/meow/bark
|
saynn("He leans down and pets your head. You yip in appreciation.") # TODO Yip/meow/bark
|
||||||
saynn("[say=issix]Since you are such a good pet, today I'd like to train you a little. Are you ready?[/say]")
|
saynn("[say=issix]Since you are such a good pet, today I'd like to train you a little. Are you ready?[/say]")
|
||||||
else:
|
else:
|
||||||
increaseModuleFlag("IssixModule", "Progression_Points")
|
|
||||||
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+4)
|
setModuleFlag("IssixModule", "Progression_Day_Next", GM.main.getDays()+4)
|
||||||
saynn("[say=issix]You don't smell like me, what happened? Someone woke you up with a water bucket on your head? That's not great. It was your first order as my pet and you blew it. I'm incredibly disappointed.[/say]")
|
saynn("[say=issix]You don't smell like me, what happened? Someone woke you up with a water bucket on your head? That's not great. It was your first order as my pet and you blew it. I'm incredibly disappointed.[/say]")
|
||||||
saynn("A look of disappointment is on Masters's face. He expected you to still have his mark from yesterday.")
|
saynn("A look of disappointment is on Masters's face. He expected you to still have his mark from yesterday.")
|
||||||
|
|
|
@ -78,6 +78,7 @@ func _react(_action: String, _args):
|
||||||
|
|
||||||
if(_action == "endthescene"):
|
if(_action == "endthescene"):
|
||||||
increaseModuleFlag("IssixModule", "PC_Training_Level")
|
increaseModuleFlag("IssixModule", "PC_Training_Level")
|
||||||
|
increaseModuleFlag("IssixModule", "Progression_Points")
|
||||||
endScene()
|
endScene()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue