Issix-mod/Scenes/SlaveryInfoScreenScene.gd

114 lines
4.4 KiB
GDScript3
Raw Normal View History

2024-11-17 20:48:47 +00:00
extends SceneBase
2024-12-03 23:31:33 +00:00
var pet_time_start = null
2024-11-17 20:48:47 +00:00
func _init():
2024-12-01 23:21:47 +00:00
sceneID = "SlaveryInfoScreen"
2024-11-17 20:48:47 +00:00
func _run():
if(state == ""):
playAnimation(StageScene.Duo, "kneel", {npc="issix", npcAction="stand"})
2024-12-03 23:31:33 +00:00
if pet_time_start == null:
pet_time_start = GM.main.getTime()
2024-11-17 20:48:47 +00:00
saynn("Your slave role: "+IssixModule.getPlayerRole())
saynn("Your training: "+trainingCheck())
saynn("Master's mood: "+getMood())
saynn("Issix's slave for "+str(getDays())+" days")
2024-12-01 23:21:47 +00:00
match GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 1):
1:
saynn("Amount of time spent in Master's harem today: "+str(getTimeSpent()) + " minutes")
2:
saynn("To pay Master for sluttying around yesterday: " + str(GM.main.getModuleFlag("IssixModule", "Prostituation_fee_yesterday", 0) + GM.main.getModuleFlag("IssixModule", "Prostituation_flat_fee", 0)))
_:
pass
2024-12-03 23:31:33 +00:00
setModuleFlag("IssixModule", "Last_Day_Visited_Master", GM.main.getDays())
2024-12-01 23:21:47 +00:00
addButton("Master", "Talk with your master about something", "issixpetmenu")
addButton("Azazel", "Actions in relation to Azazel", "azazelpetmenu")
addButton("Hiisi", "Actions in relation to Hiisi", "hiisipetmenu")
addButton("Lamia", "Actions in relation to Lamia", "lamiapetmenu")
2024-12-03 23:31:33 +00:00
if not (GM.main.getModuleFlag("IssixModule", "Is_Player_Forced_Today", 0) > (getModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 0)+(GM.main.getTime()-pet_time_start))) or GM.main.isVeryLate():
addButton("Leave", "Leave", "endthescene")
2024-12-01 23:21:47 +00:00
if state == "issixpetmenu":
2024-12-03 23:31:33 +00:00
saynn("[say=issix]"+getMoodMessage()+"[/say]")
saynn("Is there anything you want to do with Master?")
addButton("Sex", "Ask for sex with Master", "issixsexrequest")
2024-11-17 20:48:47 +00:00
func getTimeSpent():
2024-12-03 23:31:33 +00:00
return Util.getTimeStringHumanReadable(getModuleFlag("IssixModule", "Pet_Time_Interaction_Today", 0)+(GM.main.getTime()-pet_time_start))
func getMoodMessage():
var issix_mood = getModuleFlag("IssixModule", "Issix_Mood", 50)
if issix_mood < 10:
return RNG.pick(["What are you looking at, slut?", "You won't find help in here, worm.", "Just fucking get off me!"])
elif issix_mood < 25:
return RNG.pick(["Go away, not in the mood,", "Look for happiness somewhere else, you won't find it talking to me.", "I don't have time for you."])
elif issix_mood < 40:
return RNG.pick(["Eh, shitty day today, eh?", "Everyone seems so uptight and angry lately, jeez.", "Glass is half empty today."])
elif issix_mood < 60:
return RNG.pick(["Believe me, being bored in this prison sometimes is a blessing.", "How long did it take for you to get used to all this commotion in here?", "Being a guard in this prison ought to be the most boring thing to do ever."])
elif issix_mood < 75:
return RNG.pick(["*whistles* What's up?", "Should have seen the look of the new guard when I swiped their baton haha.", "Dum dee dum...", "Nice day today, huh?"])
elif issix_mood < 90:
return RNG.pick(["Eat, fuck, sleep repeat haha.", "Don't you just love life? So full of wonders.", "Glass is half full today."])
else:
return RNG.pick(["How are you today, pet? Maybe I should walk y'all hungry beasts huh?", "Maaan, do you ever just stop and take it aaallllll in for a second? It's soo good."])
2024-11-17 20:48:47 +00:00
func getMood():
var issix_mood = getModuleFlag("IssixModule", "Issix_Mood", 50)
if issix_mood < 10:
2024-12-03 23:31:33 +00:00
return "[color=red]really bad[/color]"
2024-11-17 20:48:47 +00:00
elif issix_mood < 25:
return "bad"
elif issix_mood < 40:
return "meh"
elif issix_mood < 60:
return "mediocre"
elif issix_mood < 75:
return "good"
elif issix_mood < 90:
return "really good"
else:
2024-12-03 23:31:33 +00:00
return "[color=green]excellent[/color]"
2024-11-17 20:48:47 +00:00
func getDays():
var days_enslaved = getModuleFlag("IssixModule", "PC_Training_Level", {})["day_enslaved"]
return GM.main.getDays() - days_enslaved
func trainingCheck():
var training_level = getModuleFlag("IssixModule", "PC_Training_Level", 0)
if training_level < 3:
return "poor"
elif training_level < 6:
return "adequate"
elif training_level < 10:
return "fine"
elif training_level < 14:
return "good"
else:
return "very good"
func _react(_action: String, _args):
if(_action == "endthescene"):
2024-12-01 23:21:47 +00:00
# increaseModuleFlag("IssixModule", "PC_Training_Level")
2024-12-03 23:31:33 +00:00
increaseModuleFlag("IssixModule", "Pet_Time_Interaction_Today", GM.main.getTime()-pet_time_start)
pet_time_start = null
2024-11-17 20:48:47 +00:00
endScene()
return
setState(_action)
2024-12-03 23:31:33 +00:00
func saveData():
var data = .saveData()
data["petTimeStart"] = pet_time_start
return data
func loadData(data):
.loadData(data)
pet_time_start = SAVE.loadVar(data, "petTimeStart", null)