12.12 updates (broken)
This commit is contained in:
parent
46a60968bf
commit
e1dbe39ccd
46
Attacks/IssixSlaveTease.gd
Normal file
46
Attacks/IssixSlaveTease.gd
Normal file
|
@ -0,0 +1,46 @@
|
|||
extends Attack
|
||||
|
||||
func _init():
|
||||
id = "IssixSlaveTease"
|
||||
category = Category.Lust
|
||||
aiCategory = AICategory.Lust
|
||||
|
||||
func getVisibleName(_context = {}):
|
||||
return "Collar Tease"
|
||||
|
||||
func getVisibleDesc(_context = {}):
|
||||
return "Shouldn't see this"
|
||||
|
||||
func _doAttack(_attacker, _receiver, _context = {}):
|
||||
var text = ""
|
||||
var lust = 0
|
||||
var pain = 0
|
||||
if _receiver.getPersonality().getStat(PersonalityStat.Subby) > 0.4:
|
||||
if(checkDodged(_attacker, _receiver, DamageType.Physical)):
|
||||
return genericDodgeMessage(_attacker, _receiver, "collar teasing")
|
||||
lust = RNG.randi_range(40, 60)
|
||||
text = "{attacker.name} spins around an old slave collar attached to a leash. {receiver.name} observes the collar with {receiver.his} will breaking down wanting to submit."
|
||||
if(!_receiver.isDefocusing() && _receiver.addEffect(StatusEffect.Weakness, [1])):
|
||||
text += " {receiver.Name} feels [b]weak[/b]."
|
||||
else:
|
||||
if(checkDodged(_attacker, _receiver, DamageType.Physical)):
|
||||
return genericDodgeMessage(_attacker, _receiver, "collar throw")
|
||||
text = "{attacker.name} spins around an old slave collar attached to a leash until he changes the direction of swinging to hit {receiver.name} managing to hit {receiver.him} with the bulky collar."
|
||||
pain = RNG.randi_range(15, 30)
|
||||
|
||||
return {
|
||||
text = text,
|
||||
lust = lust,
|
||||
pain = pain,
|
||||
}
|
||||
|
||||
func _canUse(_attacker, _receiver, _context = {}):
|
||||
return !_receiver.isBlindfolded()
|
||||
|
||||
func getAnticipationText(_attacker, _receiver):
|
||||
var text = "{attacker.name} grabs an old collar from behind and clasps a leash to it."
|
||||
|
||||
return text
|
||||
|
||||
func getRequirements():
|
||||
return [AttackRequirement.FreeArms, AttackRequirement.FreeHands, AttackRequirement.CanSee]
|
|
@ -25,8 +25,8 @@ func _init():
|
|||
PersonalityStat.Coward: -0.7,
|
||||
}
|
||||
npcLevel = 50
|
||||
npcBasePain = 500
|
||||
npcBaseLust = 500
|
||||
npcBasePain = 400
|
||||
npcBaseLust = 400
|
||||
npcBaseStamina = 500
|
||||
npcArmor = {
|
||||
DamageType.Physical: 15,
|
||||
|
@ -104,6 +104,9 @@ func _getName():
|
|||
|
||||
func getGender():
|
||||
return Gender.Male
|
||||
|
||||
func _getAttacks():
|
||||
return ["IssixSlaveTease", "trygetupattack", "simplepunchattack","CuffPCHands", "ForceGagPC", "ForceMuzzlePC", "simplekickattack", "biteattack", "shoveattack"]
|
||||
|
||||
func getSmallDescription() -> String:
|
||||
return "Wears a red block uniform with number P-533. He is an intimidating tall demon-dragon, has red fur."
|
||||
|
|
|
@ -23,16 +23,14 @@ func checkRequirements(requirements: Dictionary):
|
|||
return true
|
||||
|
||||
func shouldBeShownForcedEvent():
|
||||
var scenes_seen = getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})["scenes_seen"]
|
||||
var scenes_seen = getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
|
||||
var current_progression_points = GM.main.getModuleFlag("IssixModule", "Progression_Points", 1)
|
||||
if GM.main.getDays() == GM.main.getModuleFlag("IssixModule", "Progression_Day_Next", 0):
|
||||
if GM.main.getDays() >= GM.main.getModuleFlag("IssixModule", "Progression_Day_Next", 0) and !GM.main.getModuleFlag("IssixModule", "Unwelcome_At_Corner", false):
|
||||
registered_special_scenes.sort_custom(CustomSorter, "sort_by_progressionpoints")
|
||||
for scene in registered_special_scenes:
|
||||
Console.printLine("secene")
|
||||
if scene[1] > current_progression_points:
|
||||
return null
|
||||
if scenes_seen.find(scene[0]) == -1 and checkRequirements(scene[2]):
|
||||
Console.printLine("requirements met")
|
||||
if scenes_seen["scenes_seen"].find(scene[0]) == -1 and checkRequirements(scene[2]):
|
||||
return scene[0]
|
||||
return null
|
||||
|
||||
|
@ -43,9 +41,12 @@ func react(_triggerID, _args):
|
|||
#if(doEventCheck("IssixBusy") != null):
|
||||
# return false
|
||||
var scene_to_show = shouldBeShownForcedEvent()
|
||||
Console.printLine("test1")
|
||||
if scene_to_show != null:
|
||||
Console.printLine("test2")
|
||||
runScene(scene_to_show)
|
||||
return true
|
||||
Console.printLine("test3")
|
||||
return false
|
||||
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ func registerTriggers(es):
|
|||
func run(_triggerID, _args):
|
||||
#if(doEventCheck("IssixBusy") != null):
|
||||
# return false
|
||||
|
||||
Console.printLine("test5")
|
||||
if(GM.main.isVeryLate()): # Add something in the nightime it's very late?
|
||||
saynn("You see an empty chair in the corner with three blankets laying around.")
|
||||
return false
|
||||
|
@ -32,16 +32,20 @@ func run(_triggerID, _args):
|
|||
|
||||
var player_enslaved = getModuleFlag("IssixModule", "PC_Enslavement_Role", 0)
|
||||
if player_enslaved > 0:
|
||||
saynn("You see your Master sitting on his chair in the corner, around him there is Azazel, Hiisi and Lamia.")
|
||||
addButton("Master", "Talk to Master Issix", "talk")
|
||||
addButton("Pets", "Look at Master's pets", "pets")
|
||||
match player_enslaved:
|
||||
1.0: # WHY ARE NUMBER FLAGS FLOATS ASDJASODHASUDHASIDHBASHDASHDOASDJASD kill me
|
||||
addButton("Pet tasks", "Get a read on today's pet tasks", "slavery")
|
||||
2.0:
|
||||
addButton("Prostitution", "Open prostitution info", "slavery")
|
||||
_:
|
||||
saynn(player_enslaved)
|
||||
if getModuleFlag("IssixModule", "Unwelcome_At_Corner", false) != true:
|
||||
saynn("You see your Master sitting on his chair in the corner, around him there is Azazel, Hiisi and Lamia.")
|
||||
addButton("Master", "Talk to Master Issix", "talk")
|
||||
addButton("Pets", "Look at Master's pets", "pets")
|
||||
match player_enslaved:
|
||||
1.0: # WHY ARE NUMBER FLAGS FLOATS ASDJASODHASUDHASIDHBASHDASHDOASDJASD kill me
|
||||
addButton("Pet tasks", "Get a read on today's pet tasks", "slavery")
|
||||
2.0:
|
||||
addButton("Prostitution", "Open prostitution info", "slavery")
|
||||
_:
|
||||
saynn(player_enslaved)
|
||||
else:
|
||||
addDisabledButton("Master", "He doesn't want to speak to you today")
|
||||
addDisabledButton("Pets", "They don't want to speak to you today")
|
||||
else:
|
||||
saynn("You see Issix sitting on a chair in a corner, around him there are three leashed slaves.")
|
||||
addButton("Issix", "Talk to Issix", "talk")
|
||||
|
|
40
Module.gd
40
Module.gd
|
@ -56,7 +56,12 @@ func getFlags():
|
|||
"Pet_Time_Interaction_Today": flag(FlagType.Number),
|
||||
"Is_Player_Forced_Today": flag(FlagType.Number), # If player is forced to stay in harem this will have amount of seconds player needs to spend in the harem today
|
||||
"Last_Walk": flag(FlagType.Number),
|
||||
"Eaten_Today": flag(FlagType.Bool)
|
||||
"Eaten_Today": flag(FlagType.Bool),
|
||||
"Comic_Books": flag(FlagType.Number),
|
||||
"Comic_Book_Unlocked": flag(FlagType.Bool),
|
||||
"Strikes_For_Disobedience": flag(FlagType.Number),
|
||||
"Unwelcome_At_Corner": flag(FlagType.Bool)
|
||||
#"Gym_Bullies_Left_Alone": flag(FlagType.Bool) Currently cannot change the behavior of this :(
|
||||
}
|
||||
|
||||
|
||||
|
@ -73,7 +78,9 @@ func _init():
|
|||
"res://Modules/IssixModule/Events/PetWalkExamEvent.gd",
|
||||
"res://Modules/IssixModule/Events/PlayerCellModifierEvent.gd",
|
||||
"res://Modules/IssixModule/Events/CornerPriorityEvent.gd",
|
||||
"res://Modules/IssixModule/Events/SlaveryIntroEvent.gd"
|
||||
"res://Modules/IssixModule/Events/SlaveryIntroEvent.gd",
|
||||
"res://Modules/IssixModule/Events/IssixRegularSearch.gd"
|
||||
#"res://Modules/IssixModule/Events/Overwrites/BullyGangEvent.gd" Cannot overwrite module that loads after
|
||||
]
|
||||
|
||||
scenes = [
|
||||
|
@ -92,7 +99,10 @@ func _init():
|
|||
"res://Modules/IssixModule/Scenes/SlaveryFirst/SlaveryBrandingScene.gd",
|
||||
"res://Modules/IssixModule/Scenes/CaughtInTheCloset.gd",
|
||||
"res://Modules/IssixModule/Scenes/SlaveryIntroScene.gd",
|
||||
"res://Modules/IssixModule/Scenes/SlaveryInfoScreenScene.gd"
|
||||
"res://Modules/IssixModule/Scenes/SlaveryInfoScreenScene.gd",
|
||||
"res://Modules/IssixModule/Scenes/SlaveryFirst/IssixBringsComicbooks.gd",
|
||||
#"res://Modules/IssixModule/Scenes/Overwrites/BullyGangScene.gd"
|
||||
"res://Modules/IssixModule/Scenes/SlaveryFirst/IssixFindsAvoidingPlayer.gd"
|
||||
]
|
||||
|
||||
characters = [
|
||||
|
@ -120,6 +130,7 @@ func _init():
|
|||
GlobalRegistry.sortRegisteredStatusEffectsByPriority()
|
||||
GlobalRegistry.registerMapFloorFolder("res://Modules/IssixModule/Floors/")
|
||||
GlobalRegistry.registerSpeechModifiersFolder("res://Modules/IssixModule/SpeechModifiers/")
|
||||
GlobalRegistry.registerAttackFolder("res://Modules/IssixModule/Attacks/", true)
|
||||
|
||||
# External
|
||||
# "res://Scenes/ParadedOnALeashScene.gd"
|
||||
|
@ -129,7 +140,7 @@ func _init():
|
|||
static func addSceneToWatched(scene: String):
|
||||
var scenes = GM.main.getModuleFlag("IssixModule", "Misc_Slavery_Info", {"scenes_seen": []})
|
||||
scenes["scenes_seen"].append(scene)
|
||||
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info",scenes)
|
||||
GM.main.setModuleFlag("IssixModule", "Misc_Slavery_Info", scenes.duplicate(true))
|
||||
|
||||
static func addIssixMood(mood: int):
|
||||
GM.main.setModuleFlag("IssixModule", "Issix_Mood", clamp(GM.main.getModuleFlag("IssixModule", "Issix_Mood", 50)+mood, 0, 100))
|
||||
|
@ -140,6 +151,16 @@ static func getWalkDelay():
|
|||
static func getPlayerRole():
|
||||
return "pet" if GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 1) == 1 else "prostitute"
|
||||
|
||||
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 breedSlaveIfNpc():
|
||||
## Function to process breeding by Master on randomly selected TODO maybe do that during the day as an event?
|
||||
var current_slave = GM.main.getModuleFlag("IssixModule", "Todays_Bred_Slave")
|
||||
|
@ -156,20 +177,25 @@ func breedSlaveIfNpc():
|
|||
current_slave.cummedInAnusBy("issix")
|
||||
|
||||
func tickDay():
|
||||
breedSlaveIfNpc()
|
||||
addIssixMood(RNG.randi_range(-7, 7))
|
||||
if GM.main.getDays() - GM.getModuleFlag("IssixModule", "Last_Day_Visited_Master", GM.main.getDays()) > 1:
|
||||
if GM.main.getDays() - GM.getModuleFlag("IssixModule", "Last_Day_Visited_Master", GM.main.getDays()) > 1: # TODO detect player in soft-lock (medical/etc)
|
||||
addIssixMood(-10)
|
||||
if GM.main.getDays() % 7 == 0:
|
||||
GM.main.increaseModuleFlag("IssixModule", "Comic_Books", RNG.randi_range(5, 8))
|
||||
|
||||
func resetFlagsOnNewDay():
|
||||
func resetFlagsOnNewDay(): # I apologize for abusing this hook, but startNewDay does not have ANY other hooks I can use and SleepInCell as a trigger is not covering all cases of days passing by
|
||||
GM.main.setModuleFlag("IssixModule", "Azazel_Catnip_taken_today", false)
|
||||
GM.main.setModuleFlag("IssixModule", "Activated_Cabinets", {})
|
||||
GM.main.setModuleFlag("IssixModule", "Quest_Wait_Another_Day", false)
|
||||
GM.main.setModuleFlag("IssixModule", "Unwelcome_At_Corner", false)
|
||||
GM.main.setModuleFlag("IssixModule", "Is_Player_Forced_Today", 0)
|
||||
GM.main.setModuleFlag("IssixModule", "Todays_Bred_Slave", RNG.pick(['azazel', 'pc', 'hiisi']))
|
||||
breedSlaveIfNpc()
|
||||
if GM.main.getModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today") != null:
|
||||
GM.main.setModuleFlag("IssixModule", "Helped_Lamia_With_Drawings_Today", false)
|
||||
GM.main.setModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 0)
|
||||
if GM.main.getDays()-GM.main.getModuleFlag("IssixModule", "Last_Walk", GM.main.getDays()) == APPROX_WALK_DELAY:
|
||||
GM.main.setModuleFlag("IssixModule", "Last_Walk", GM.main.getDays())
|
||||
GM.main.setModuleFlag("IssixModule", "Eaten_Today", false)
|
||||
if GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) > 0: # Slavery module
|
||||
tickDay()
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
extends SceneBase
|
||||
|
||||
var reaction = false
|
||||
|
||||
func _init():
|
||||
sceneID = "IssixFoundPlayer"
|
||||
|
@ -16,7 +17,10 @@ func _run():
|
|||
addButton("Not a pet", "Tell your Master that you no longer wish to be his pet", "rejection")
|
||||
else:
|
||||
addDisabledButton("Not a pet", "You are too much of a coward to tell your Master this")
|
||||
addButton("Walk away", "Just keep walking", "leave")
|
||||
if (GM.pc.getPersonality().getStat(PersonalityStat.Coward) < -0.8):
|
||||
addButton("Walk away", "Just keep walking", "leave")
|
||||
else:
|
||||
addDisabledButton("Walk away", "Let's be honest, you don't have balls to do this")
|
||||
|
||||
if state == "excuse":
|
||||
saynn("[say=pc]I'm sorry, I were working on something really hard lately and...[/say]")
|
||||
|
@ -42,17 +46,162 @@ func _run():
|
|||
addButton("Continue", "Follow Issix to the corner", "walkcorner")
|
||||
|
||||
if state == "leave":
|
||||
saynn("You decide to ignore the dragon-demon completely and continue walking, to be stopped not even a step later by Your Master's hand grabbing you by the collar.")
|
||||
saynn("You decide to ignore the dragon-demon completely and continue walking, only to be stopped not even a step later by Your Master's hand grabbing you by the collar.")
|
||||
saynn("[say=issix]What the fuck do you think you are doing? I asked you a question.[/say]")
|
||||
saynn("[say=pc]I'm walking.[/say]")
|
||||
saynn("[say=issix]On twos, that's your first mistake, second is the direction you are going at.[/say]")
|
||||
saynn("As he says that he clasps a leash onto your collar and pulls you towards his corner in the main hall.")
|
||||
saynn("[say=issix]I'm not going to ask you. You are going with me.[/say]")
|
||||
addButton("Continue", "Unable to oppose such a strength, you follow Issix to the corner", "walkcorner")
|
||||
|
||||
if state == "walkcorner":
|
||||
playAnimation(StageScene.Duo, "kneel", {npc="issix", npcAction="stand", bodyState={leashedBy="issix"}})
|
||||
saynn("As you approach the corner, you feel three pets of Issix clearly thrown off by the situation. They avoid looking at you, intensifying the feeling of disgrace that was put on you. Your Master reaches his chair and forcefully pulls the leash down to make you sit on your blanket.")
|
||||
saynn("[say=issix]SIT[/say]")
|
||||
saynn("Seeing no other option, you sit, looking down.")
|
||||
match getModuleFlag("IssixModule", "Strikes_For_Disobedience", 0):
|
||||
0, 0.0:
|
||||
if reaction:
|
||||
saynn("[say=issix]Listen, pet. Perhaps I weren't clear enough. I expect to see you every day in here. I don't want to hear excuses, unless you are physically unable to appear in here, due to some fucked circumstances - you come here every day without fault.[/say]")
|
||||
else:
|
||||
saynn("[say=issix]Here is the deal, pet - I don't take no for an answer, and I don't buy bullshit. I'm very sure I made myself clear that I expect my property to come to my corner once a day, anything short of that is unacceptable. Unless you are abducted by aliens or nurses, you better come here every single day, fucking hell.[/say]")
|
||||
addButton("Understood", "Acknowledge your Master's commands", "understand")
|
||||
1, 1.0:
|
||||
saynn("[say=issix]So you did it again? You ignored my warning and stopped coming on your own? What the fuck are you thinking, pet? Do you think this is a joke? That I'm endlessly good and all? Perhaps it's the time I started to put some discipline in you huh? Yeah, I think you do need some discipline.[/say]")
|
||||
saynn("He strips down his clothes and puts on the boxers.")
|
||||
saynn("[say=issix]I tried to reason, but apparently my pet does not understand reason. When reason doesn't work, a more persuasive approach can help.[/say]")
|
||||
addButton("Fight", "Issix is ready to fight you", "startfight")
|
||||
addButton("Surrender", "Don't even attempt to fight", "surrenderfight")
|
||||
2, 2.0:
|
||||
addMessage("This is still under construction, sowwy :( ~ Frisk") # TODO Finish end of Issix's story on disobedience
|
||||
saynn("Master Issix sits in silence, just staring into you for a while.")
|
||||
saynn("[say=issix]I really don't know what to say. No, really. I have no idea what words can I use in here. The demons of this world ran out of juice. Like, what the fuck does this even mean? What am I doing here?[/say]")
|
||||
addButton("Back", "Maybe chaining mod's creator in the dungeon with a computer will make this go faster.", "endthescene")
|
||||
|
||||
if state == "understand":
|
||||
saynn("[say=pc]I understand, Master.[/say]")
|
||||
saynn("[say=issix]You are still on the timeout, I expect you to stay in here for an hour longer today. This is the last time it happens.[/say]")
|
||||
addButton("Continue", "Continue", "backtothething")
|
||||
|
||||
if state == "surrenderfight":
|
||||
# playAnimation(StageScene.PuppyPinned, "pinned", {pc="pc", npc="issix", bodyState={leashedBy="issix"}, npcBodyState={naked=false, hard=false}})
|
||||
playAnimation(StageScene.PuppyDuo, "kneel", {pc="issix", npc="pc", bodyState={naked=false, hard=false}, npcBodyState={naked=false, hard=false, leashedBy="issix"}})
|
||||
saynn("[say=issix]All that bravery leaving you the moment I lose my shirt? Or have you came to your senses? Can't complain, I do not like roughing up my pets like this. But since you are so nice on your knees already why not make use of it?[/say]")
|
||||
saynn("He pulls out bunch of black gear, takes your arms and instructs you to bend your arms which he secures in first part from the gear he pulled out. You quickly recognize the gear is a bitchsuit made to restrict your ability to move.")
|
||||
saynn("[say=issix]Arms are done, legs, will you?[/say]")
|
||||
|
||||
saynn("You can feel your arms being severely restricted, the idea of straightening them is out of question, without external help you would be unable to do anything about your current state of body you are in. As you test your arms, the same thing happens to your legs, as your Master Issix secures them in very similar device.")
|
||||
saynn("[say=issix]Here we go. Just a few more things and we'll be golden.[/say]")
|
||||
addButton("Continue", "Oh shit, what now", "contsurrender")
|
||||
|
||||
if state == "contsurrender":
|
||||
playAnimation(StageScene.PuppyPinned, "pinned", {pc="pc", npc="issix", bodyState={leashedBy="issix"}, npcBodyState={naked=false, hard=false}})
|
||||
saynn("With your lack of mobility and you can't do much at this point, other than accept everything that is happening to you. And so you do, trying to stand on your fours, struggling. Having to adapt to completely new balance and way of „standing”. Your Master continues to add further bondage gear onto you. A ball gag is first pushed into your mouth, then bondage mittens finishing your helpless look.")
|
||||
saynn("[say=issix]Think that's it, I think you look great now. In AlphaCorp that's how the leg footrest looks like in high-level corporate offices. Not a fan of footrest though, I prefer my feet on the ground, that said, the circumstances are pretty extraordinary here.[/say]")
|
||||
saynn("He puts his foot on your head and applies force making you collapse your front „legs” with your muzzle touching the ground.")
|
||||
saynn("[say=issix]This is a place for disobedient pets. Smelling the ground, under my foot. I want you to remember this feeling, to remember the helplessness you feel right now. My pets obey me, when I tell them to come here every day they do that. Do you understand now?[/say]")
|
||||
saynn("[say=pc]Yes, please, I understand.[/say]")
|
||||
saynn("[say=issix]Can barely hear your scowling. Good.[/say]")
|
||||
saynn("He lets go of his foot, kneels and unstraps your legs and arms.")
|
||||
saynn("[say=issix]Don't want to see you here today, I'm not unlocking the rest - this is your punishment, get the fuck away.[/say]")
|
||||
addButton("Leave", "Leave the place", "endthescene")
|
||||
|
||||
|
||||
if state == "if_won_issix_lust":
|
||||
saynn("[say=issix]Huff. Enough. I yield, fucking hell. Huff.[/say]")
|
||||
saynn("Clearly bothered by his inability to stay unaffected by your lusty advances Issix is on his knees in defeat, with a hardon in his paw.")
|
||||
saynn("[say=issix]I don't understand how you - a fucking slut could bring me to this state, but the fact is undeniable. To say I've been humiliated is an understatement. I can no longer call you my pet. You are a monster, a sex machine, huff..[/say]")
|
||||
saynn("His need evident, pent up sexual energy overwhelming the dragon")
|
||||
addButton("Finish him", "Give the dragon the relief he needs", "finishissix")
|
||||
addButton("Leave", "Let the dragon take care of his little problem by himself", "leaveissix")
|
||||
|
||||
if state == "finishissix":
|
||||
pass # TODO
|
||||
|
||||
if state == "leaveissix":
|
||||
pass # TODO
|
||||
|
||||
|
||||
if state == "if_won_issix_pain":
|
||||
saynn("[say=issix]Enough. I yield.[/say]")
|
||||
saynn("Issix is laying on his knees in submission.")
|
||||
saynn("[say=issix]It's pathetic, for the Master to lose against his pet in a fight. You've made good enough of display of power. I... Don't know what to say. Leave now, I need a day to think things over, we will talk tomorrow.[/say]") # TODO Missing scene
|
||||
addButton("Leave", "You've done enough", "endthescene")
|
||||
|
||||
if state == "if_lost_issix":
|
||||
saynn("[say=issix]Do you get it now? Who OWNS YOU? Who is your Master? Do you understand now? You better fucking do. Don't you dare do this again, pet.[/say]")
|
||||
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("[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")
|
||||
|
||||
|
||||
|
||||
func _react(_action: String, _args):
|
||||
processTime(2*60)
|
||||
if _action == "honest":
|
||||
reaction = true
|
||||
|
||||
if _action == "contsurrender":
|
||||
var bg: ItemBase = GlobalRegistry.createItem("ballgag")
|
||||
bg.addSmartLock(SmartLock.KeyholderLock, "issix")
|
||||
var bm: ItemBase = GlobalRegistry.createItem("bondagemittens")
|
||||
bm.addSmartLock(SmartLock.KeyholderLock, "issix")
|
||||
GM.pc.getInventory().forceEquipByStoreOther(bg, "issix")
|
||||
GM.pc.getInventory().forceEquipByStoreOther(bm, "issix")
|
||||
increaseModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 60*60)
|
||||
setModuleFlag("IssixModule", "Unwelcome_At_Corner", true)
|
||||
|
||||
if _action == "startfight":
|
||||
runScene("FightScene", ["issix"], "issixfight")
|
||||
|
||||
if _action == "understand":
|
||||
GM.main.setModuleFlag("IssixModule", "Is_Player_Forced_Today", 2*60*60)
|
||||
if not (getModuleFlag("IssixModule", "Issix_Mood", 50) >= 70 and reaction == true):
|
||||
increaseModuleFlag("IssixModule", "Strikes_For_Disobedience")
|
||||
|
||||
if _action == "if_lost_issix":
|
||||
setModuleFlag("IssixModule", "Is_Player_Forced_Today", 3*60*60)
|
||||
|
||||
if _action == "walkcorner":
|
||||
playAnimation(StageScene.Duo, "kneel", {npc="issix", npcAction="stand", bodyState={leashedBy="issix"}})
|
||||
runScene("ParadedOnALeashScene", ["issix", GM.pc.getLocation(), "hall_ne_corner", [
|
||||
"Can't fucking believe this shit",
|
||||
"Did you really think this would work?",
|
||||
"Master says, pets obey"
|
||||
], "hall_ne_corner", "crawl"])
|
||||
|
||||
if _action == "backtothething":
|
||||
runScene("SlaveryInfoScreen", [], "finishslaveryinfo")
|
||||
|
||||
if(_action == "endthescene"):
|
||||
endScene()
|
||||
return
|
||||
|
||||
setState(_action)
|
||||
|
||||
func _react_scene_end(_tag, _result):
|
||||
if _tag == "finishslaveryinfo":
|
||||
endScene()
|
||||
|
||||
if(_tag == "issixfight"):
|
||||
processTime(20 * 60)
|
||||
var battlestate = _result[0]
|
||||
var wonHow = _result[1]
|
||||
|
||||
if(battlestate == "win"):
|
||||
if(wonHow == "lust"):
|
||||
setState("if_won_issix_lust")
|
||||
else:
|
||||
setState("if_won_issix_pain")
|
||||
addExperienceToPlayer(150)
|
||||
increaseModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 60*60)
|
||||
setModuleFlag("IssixModule", "Unwelcome_At_Corner", true)
|
||||
else:
|
||||
setState("if_lost_issix")
|
||||
increaseModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 60*60)
|
||||
addExperienceToPlayer(20)
|
||||
|
|
|
@ -6,7 +6,6 @@ func _init():
|
|||
func _run():
|
||||
if(state == ""):
|
||||
playAnimation(StageScene.Duo, "kneel", {npc="issix", npcAction="stand"})
|
||||
IssixModule.addSceneToWatched(sceneID)
|
||||
saynn("As you approach the corner your Master stands, grinning. You assume your position on your blanket.")
|
||||
saynn("[say=issix]Good day, pet.[/say]")
|
||||
if(OPTIONS.isContentEnabled(ContentType.Watersports)):
|
||||
|
@ -63,6 +62,7 @@ func _run():
|
|||
func _react(_action: String, _args):
|
||||
|
||||
if _action == "training1":
|
||||
IssixModule.addSceneToWatched(sceneID)
|
||||
if(OPTIONS.isContentEnabled(ContentType.Watersports)) and GM.pc.getFluids().hasFluidTypeWithCharID("Piss", "issix") == false:
|
||||
GM.pc.cummedOnBy("issix", FluidSource.Pissing, 0.4)
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ func _run():
|
|||
# if state == "soulless":
|
||||
# playAnimation(StageScene.HangingDuo, "idle", {pc="pc", npc="issix", bodyState={naked=true}, npcBodyState={naked=true}})
|
||||
|
||||
|
||||
# Also, is it just me or the slave collar (aka old collar) makes currently no sense in game other than artificially adding price onto enslavement process? You can't even put it on the slave which makes sense considering they are already wearing an inmate collar which you shouldn't be able to take off. I'd love the bulky slave collar to be on player's neck but yeah
|
||||
if state == "normalroute":
|
||||
playAnimation(StageScene.SexMissionary, "tease", {pc="issix", npc="pc", bodyState={naked=true, hard=true}, npcBodyState={naked=true, hard=true}})
|
||||
setModuleFlag("IssixModule", "PC_Enslavement_Noncon", false)
|
||||
|
|
Loading…
Reference in a new issue