Made drone task work with pawn holding an item

Updates to closet computer
Added some variation to Lamia's artwork minigame
Fixed one of the options in Hiisi's wander scene
This commit is contained in:
Frisk 2025-02-20 00:01:17 +01:00
parent 443cb48d87
commit b41e06de8e
8 changed files with 119 additions and 46 deletions

View file

@ -115,6 +115,7 @@ static func verifyRequirements(pawn: CharacterPawn, requirements: Array) -> bool
return true
# Find pawns that succeed requirements in list of lists
# It returns list of lists of pawnIDs like dynamicnpc32
static func findPawns(requirements) -> Array:
var all_pawns = GM.main.IS.getPawns()
var results = []

View file

@ -1,37 +1,40 @@
extends ComputerBase
const Globals = preload("res://Modules/IssixModule/Globals.gd")
var connectedTo = ""
var loggedAsAdmin = false
var records = {"533": "ID: 533\nfirstname: Issix\nlastname: [corrupt]Solomon[/corrupt]\nitype: 1\n\nnotes: Issix, or rather [b]Gaap[/b] as his real real name goes, is a special case in BDCC, staff is NOT to take any punitive action in regards to this individual without first consulting with the director. He has not been convicted of any illegal activities, but rather has been introduced to prison based on order o[corrupt]f general Sonno[/corrupt]fer. \nOfficially - he is an inmate, unofficially he is is untouchable. Let him do whatever the fuck he wants, unless you don't value your own life. Incarcerated in [corrupt]4292 32 11[/corrupt].",\
"655": "ID: 655\nfirstname: Frisk\nlastname: Dreemurr\nitype: 3\nPast inhabitant of planet [b]Pueri Meritorii[/b], sentenced for sex work with untreated STD. Original sentence was 10 years, it has been extended to indefinite due to circumstances in the prison. He doesn't hold any prospects of becoming an agent, behavioral data shows all he is good for is being a weak, obedient sex toy.\n\nNOTE: THIS INMATE IS OWNED BY INMATE 533, PLEASE REFER TO MENTIONED INMATE ABOUT ALL MATTERS PERTAINING TO THIS INMATE",\
"964": "ID: 964\nfirstname: "}
"655": "ID: 655\nfirstname: Frisk\nlastname: Dreemurr\nitype: 3\nnotes: Past inhabitant of planet [b]Pu[corrupt]e[/corrupt]ri Meritorii[/b], sentenced for sex work with untreated STD. Serving until [corrupt]20291 328 119[/corrupt].\nServing time has been extended to indefinite due to circumstances in the prison. \nHe doesn't hold any prospects of becoming an agent, behavioral data shows all he is good for is being a weak, obedient sex toy.\nNote by user ID 10: „lol, can confirm the last thing, they are grade S slut, recommending a good gag though, they have proclivity to spew some bullshit when getting fucked, I barely fucking survived them giving a lesson on philosophy and morality in prison environment, for the love of Intergalactic Squid make them shut up before use.”\n\nNOTE: THIS INMATE IS OWNED BY INMATE 533, PLEASE REFER TO MENTIONED INMATE ABOUT ALL MATTERS PERTAINING TO THIS INMATE",\
"790": "ID: 790\nfirstname: Lamia\nlastname: null\nitype: 1\n\nnotes: Past inhabitant of planet [b]Vulpor Pespetcho[/b], sentenced for trespassing, refusal to ID to AlphaCorp officer, threatening behavior. We could not properly ID the person, officer at [corrupt]serving[/corrupt] outpost indicated that inmate might be connected to planet's local tribes. Serving until [corrupt]20291 328 119[/corrupt]. \nServing time has been extended to indefinite due to circumstances in the prison.\nNo prospects of becoming an agent.\nNote added by user ID 222: „this documentation sucks fucking ass, why nobody indicated at intro that the inmate is fucking mute? They've been penalized for not answering a guard until a doctor pointed out that they can't even fucking speak!”\n\nNOTE: THIS INMATE IS OWNED BY INMATE 533, PLEASE REFER TO MENTIONED INMATE ABOUT ALL MATTERS PERTAINING TO THIS INMATE",\
"964": "ID: 964\nfirstname: Hiisi\nlastname: Rzeszczyk\nitype: 2\n\nnotes: Past inhabitant of planet [b]Ciecieszyn[/b], sentenced for assault and kidnapping. Serving until [corrupt]20291 328 119[/corrupt].\nServing time has been extended to indefinite due to circumstances in the prison.\nNo prospects of becoming an agent - too unpredictable.\nNote added by user ID 400: „Avoid if you can, strong and fuck around often causing trouble with other inmates. Multiple incidents with guards.”\nNote added by user ID 392: „we need to do something about this fucker, ha has hurt XXXXX and XXXXXXXX (redacted) and solitary cell doen't help a bit. We need a long term solution.”\nNote added by user ID 1: „Shouldn't cause any more issues.”\n\nNOTE: THIS INMATE IS OWNED BY INMATE 533, PLEASE REFER TO MENTIONED INMATE ABOUT ALL MATTERS PERTAINING TO THIS INMATE"}
# 12429 tavi
func _init():
id = "ClosetComputer"
func reactToCommand(_command:String, _args:Array, _commandStringRaw:String):
if (connectedTo == "inmates.db"):
if _command == "help":
if _command == "SELECT":
if _args.size() == 3:
if _args[0].to_upper() == "SELECT":
if _args[1].to_lower() == "inmates":
var record = records.get(_args[2]) if _args[2] != GM.pc.getInmateNumber() else preparePCRecord()
if record == null:
return "No record with primary key of `"+_args[1]+"` has been found!"
return printRecord(record)
else:
return "Table `"+_args[1]+"` couldn't be found!"
if _args[1].to_lower() == "inmates":
var record = records.get(_args[2]) if _args[2] != GM.pc.getInmateNumber() else preparePCRecord()
if record == null:
return "No record with primary key of `"+_args[1]+"` has been found!"
return printRecord(record)
else:
return "`sqleasy` supports only read operations using SELECT."
return "Table `"+_args[1]+"` couldn't be found!"
else:
return "sqleasy makes SQL easy for you! Instead of knowing all this useless syntax, you only need to know the table name, ID from the primary key and SELECT!\n\nSyntax: SELECT <table name> <ID> show record\nquit close the database\n\nIt will show you all columns corresponding to a record with given ID!\n©Lain (YOU ARE USING UNLICENSED COPY, PLEASE ACTIVATE YOUR VERSION WITH LICENSE!)"
return "`sqleasy` supports only read operations using SELECT."
if _command == "help":
return "sqleasy makes SQL easy for you! Instead of knowing all this useless syntax, you only need to know the table name, ID from the primary key and SELECT!\n\nSyntax: SELECT <table name> <ID> show record\nquit close the database\n\nIt will show you all columns corresponding to a record with given ID!\n©Lain (YOU ARE USING UNLICENSED COPY, PLEASE ACTIVATE YOUR VERSION WITH A LICENSE!)"
if _command in ["quit", "disconnect", "q", "exit"]:
connectedTo = "127.0.223"
return "Closing database... Success"
if(connectedTo == "127.0.223"): # TODO Finish computer UwU
if(connectedTo == "127.0.223"):
if(_command == "help"):
if(_args.size() == 1):
var tolearn = _args[0]
@ -41,7 +44,7 @@ func reactToCommand(_command:String, _args:Array, _commandStringRaw:String):
elif(tolearn == "login"):
return "Allows you to login as an admin. Syntax: login <password>"
elif(tolearn == "ls"):
return "This command outputs the contents of your harddrive"
return "This command outputs the contents of your hard drive"
elif(tolearn == "cat"):
return "This command outputs file's contents into the console.\nSyntax 'cat <FILE INDEX>' where file index is a [b]number[/b] that can be obtained by using the ls command"
elif(tolearn == "sqleasy"):
@ -108,38 +111,73 @@ func reactToCommand(_command:String, _args:Array, _commandStringRaw:String):
return "Error, server doesn't support this command"
if connectedTo == "127.0.222":
if(_command == "ls"):
if(_args.size() == 0):
return "Found 1 file:\n1 - info.txt"
else:
return "This command expects 0 to 1 arguments"
if(_command == "cat"):
if(_args.size() == 1):
var fileIndex = _args[0]
if(fileIndex in ["1", "info.txt"]):
return "Hia! Currently it's just a testing branch of the story. Feel free to leave using disconnect. there is nothing here."
if(_command == "disconnect"):
if(_args.size() == 0):
connectedTo = ""
return "Disconnecting... Success"
else:
return "'disconnect' command expects 0 arguments"
if(connectedTo == ""):
if(_command == "connect"):
if(_args.size() == 1):
var server = _args[0]
if(server in ["127.0.223"]):
if(server in ["127.0.223", "127.0.222"]):
connectedTo = server
if(server == "127.0.223"):
var last_login = GM.main.getModuleFlag("IssixModule", "Last_Login_Server", GM.main.getDays()-2)
GM.main.setModuleFlag("IssixModule", "Last_Login_Server", GM.main.getDays())
return "Connecting to "+server+"... Connected!\nLast login: "+str(GM.main.getDays()-last_login)+" days ago."
if server == "127.0.222":
return "Connecting to "+server+"... Connected!\n\n@@------ OPENCLUE CLIENT SERVER ------@@\nCI: "+str(RNG.randi_range(400, 900))+" IN: "+str(RNG.randi_range(0, 4000))
else:
return "Connecting to "+server+"... Connection failed!"
else:
return "'connect' expects 1 argument"
if _command == "sudo":
return "sudo has been disabled by system administrator for security reasons"
if(_command == "ls"):
if(_args.size() == 0):
return "Found 2 files:\n1 - inmates.txt\n2 - forum.html"
return "Found 3 files:\n1 - inmates.txt\n2 - forum.html\n4 - #support_log_BDCCHAT.log"
elif(_args.size() == 1):
if (_args[0] in ["-a", "--all"]):
return "Found 2 files:\n1 - inmates.txt\n2 - forum.html\n3 - .dash_history"
return "Found 2 files:\n1 - inmates.txt\n2 - forum.html\n3 - .dash_history\n4 - #support_log_BDCCHAT.log"
else:
return "Unknown flag "+_args[0]
else:
return "This command expects 0 to 1 arguments"
if _command == "rm":
return "/bin/rm: Segmentation fault" # sorry, too lazy to implement this
if(_command == "cat"):
if(_args.size() == 1):
var fileIndex = _args[0]
if(fileIndex in ["1", "inmates.txt"]):
return "Please for the love of intergalactic squid - when you log into the database server (the one at 127.0.223) with goddamn inmate data, log out of it when you are done!!! AlphaOS has limited amount of sessions per server because apparently they invented the computers just now and are figuring trivial issues like that only now. Fuck."
return "Please for the love of Intergalactic Squid - when you log into the database server (the one at 127.0.223) with goddamn inmate data, log out of it when you are done!!! AlphaOS has limited amount of sessions per server because apparently they invented the computers just now and are figuring trivial issues like that only now. Fuck."
elif(fileIndex in ["2", "forum.html"]):
return "...**[corrupt]corrupted data[/corrupt]**...\n\n<message>Anyone knows what's the status of black goo we've ordered?</message>\n<message>Black goo? What black goo?</message>\n<message>can it be used as lube?</message>\n<message>fuck, I hope so, the one from vendomat is way too watery</message>\n<message>No, it cannot be used as a lube you horny bitches, it's for engineering purposes, we need it to minimize friction in metallic joints of mechanic arms</message>\n<message>so what you are saying is that it's lube</message>\n<message>I hate you guys</message>\n<message>The vessel that supposed to have black goo didn't have it, we re-ordered it</message>\n<message>Finally an answer! Thank you!</message>\n<message>Sure thing, by the way, we ordered double the amount due to request from the guards</message>\n<message>Why do guards need black go- Oh for fuck's sake</message>\n\n...**[corrupt]more corrupted data[/corrupt]**..."
elif fileIndex in ["3", ".dash_history"]:
learnCommand("sudo")
learnCommand("rm")
return "sudo journal -n 1000\nsudo install robor vulcan\nsudo system start openclue-server\nsudo system status openclue-server\ncat passwords.txt\ncinnect 127.0.222\nsudo system start openclue\nopposite_THUMB222-\nfuck\nrm passwords.txt\nconnect 127.0.222\nquit"
elif fileIndex in ["3", "#support_log_BDCCHAT.log"]:
return "bazinga has joined the channel\n<bazinga> hey guys, i could swear I've made a file on medical computer but it isn't there, did any of you delete it?\n<alex> was it important?\n<thunder022> have you tried ls?\n<alex> i can look at the logs assuming it's not porn\n<bazinga> unless you want the entire station to get infested with little works - it was important\n<thunder022> wtff?\n<alex> fine, i'll take a look\n<bazinga> nvm, i named it with a dot at beginning so I needed a flag for all files, sorry guys!\nbazinga has left the chat\n<alex> you've made a file at 04:55 and it's still there, but you made it hidden\n<alex> eh, always late\n<thunder022> better for us, he will take care of that worm issue\n<alex> with that file name? doubt it\n<thunder022> what was it?\n<alex> .juicydonutsOwO\n<thunder022> hahahahah, classic bazinga"
else:
return "Error. File with such index wasn't found"
else:
@ -154,7 +192,7 @@ func reactToCommand(_command:String, _args:Array, _commandStringRaw:String):
if(tolearn == "help"):
return "This command outputs all other commands and can also provide help for certain command by typing 'help <COMMAND>'"
elif(tolearn == "ls"):
return "This command outputs the contents of your harddrive"
return "This command outputs the contents of your hard drive"
elif(tolearn == "cat"):
return "This command outputs file's contents into the console.\nSyntax 'cat <FILE INDEX>' where file index is a [b]number[/b] that can be obtained by using the ls command"
elif(tolearn == "connect"):
@ -180,15 +218,14 @@ func reactToCommand(_command:String, _args:Array, _commandStringRaw:String):
func preparePCRecord() -> String:
var is_slave = GM.main.getModuleFlag("IssixModule", "PC_Enslavement_Role", 0) > 0
var player_crimes = {Flag.Crime_Type.Innocent: "pleaded innocent, got sentenced with no evidence (typical for our courts)", Flag.Crime_Type.Theft: "sentenced for theft of property", Flag.Crime_Type.Murder: "sentenced for murder", Flag.Crime_Type.Prostitution: "sentenced for providing sexual services without a license"}
var player_crimes = {Flag.Crime_Type.Innocent: "pleaded innocent, got sentenced with no evidence (typical)", Flag.Crime_Type.Theft: "sentenced for theft of property", Flag.Crime_Type.Murder: "sentenced for murder", Flag.Crime_Type.Prostitution: "sentenced for providing sexual services without a license"}
var output = "ID: "+GM.pc.getInmateNumber()+"\nfirstname: "+GM.pc.getName()+"\nlastname: [corrupt]noidea[/corrupt]\nitype: "+str(InmateType.getAll().find(GM.pc.inmateType)+1)
output += "\n\nnotes: [corrupt]Past inhabitant of planet -------------- [/corrupt], sentenced for "+player_crimes.get(GM.main.getFlag("Player_Crime_Type"))+". Indefinite sentence" + (", requires permission of inmate 533 for release." if is_slave else ".")
output += "\n\nnotes: [corrupt]Past inhabitant of planet -------------- [/corrupt], sentenced for "+player_crimes.get(GM.main.getFlag("Player_Crime_Type"))+". Indefinite sentence" + (", requires permission of inmate 533 for release." if Globals.checkIfPCEnslaved() else ".")
if GM.main.getModuleFlag("TaviModule", "Ch5BigSceneStarted", false):
output += "\nAttempted to escape the facility [color=red]TWICE(!!!!)[/color] using violence, recommended close watch and maximum caution. Any suspicious activity, especially when {pc.he} {pc.is} in close proximity to inmate Tavi has to be reported to captain." # note escapades with tavi
output += "\nNote added by user ID 1: „Attempted to escape the facility [color=red]TWICE(!!!!)[/color] using violence, recommended close watch and maximum caution. Any suspicious activity, especially when {pc.he} {pc.is} in close proximity to inmate Tavi has to be reported to captain." # note escapades with tavi
elif GM.main.getModuleFlag("TaviModule", "Ch3TurnedOffPower", false) or GM.main.getModuleFlag("TaviModule", "Ch3SpikedPower", false):
output += "\nAttempted to escape the facility using violence, recommended close watch and maximum caution. Any suspicious activity, especially when {pc.he} {pc.is} in close proximity to inmate Tavi has to be reported to captain."
if is_slave:
output += "\nNote added by user ID 1: „Attempted to escape the facility using violence, recommended close watch and maximum caution. Any suspicious activity, especially when {pc.he} {pc.is} in close proximity to inmate Tavi has to be reported to captain."
if Globals.checkIfPCEnslaved():
output += "\n\nNOTE: THIS INMATE IS OWNED BY INMATE 533, PLEASE REFER TO MENTIONED INMATE ABOUT ALL MATTERS PERTAINING TO THIS INMATE"
return output

View file

@ -78,7 +78,7 @@ func _run():
if state=="lookaround":
saynn(GM.world.getRoomByID("eng_closet").getDescription())
addButton("Cabinets", "Try to search cabinets", "cabinets")
#addButton("Computer", "There is a computer in the corner, you could try and interact with it", "computer")
#addButton("Computer", "There is a computer in the corner, you could try and interact with it (feature purely for lore hunters, doesn't have functionality beyond providing additional context for characters)", "computer")
addButton("Leave", "Try to leave the room", "leave")
if state=="cabinets":

View file

@ -59,7 +59,7 @@ func _run():
addButton("Whatever", "Say that it doesn't matter whether he did or not", "doesntmatter")
addButton("I'm out", "You forgot that you've left your iron running... Or make up more believable excuse", "preendthescene")
if state in ["bent", "notbent"]:
if state in ["bent", "doesntmatter", "notbent"]:
if state == "bent":
saynn("[say=pc]Yes, Hiisi's leg was bent.[/say]")
saynn("[say=azazel]Nooooooooo.[/say]")

View file

@ -33,13 +33,17 @@ var animal_flora_lamia_art = [
"feral bear fishing",
"multiple cats chasing each other as their small ones rest on a pillow nearby",
"a horse galloping in the distance",
"a spread purple flower that has multiple petals of various sizes attached"
"a spread purple flower that has multiple petals of various sizes attached",
"a large orange fox overlooking a blue globe", # best browser
"a jar full of worms"
]
var humanoids_animals_lamia_art = [
"an anthro cat holding a little feral mouse on palm of their paw",
"a cat person leading their feral dog on a leash",
"coyote person releasing a bird - a white dove from their paws into the air, the dove flies away"
"coyote person releasing a bird - a white dove from their paws into the air, the dove flies away",
"a feminine lizard running along feral dog by their side",
"faces of a humanoid lion and a feral weasel illuminated only by a single candle in the center, everything else is dark, only faces and a candle are visible"
]
var background_lamia_art = [
@ -49,35 +53,45 @@ var background_lamia_art = [
"darkness extending everywhere, the little light that can be found on the picture gives you a hint that the drawing shows some kind of a mine, with glistering rock and a lake in the distance",
"stalactites and stalagmites extending from the top and bottom of the cave, a torch is visible somewhere deeper in the cave",
"what looks to be an empty dog park with various dog attractions in it, in the background you can see sun raising from the horizon - it must be early morning",
"a sunrise above a large body of water"
]
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 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"
]
"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 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",
"raccoon family walking towards sunset, passing many households on the way",
]
var humanoids_backgrounds_lamia_art = [
"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",
"above ground view of various anthropomorphic creatures holding each other's paws and forming a wall, behind them a gray, smoking ruined village destroyed by war",
"many anthropomorphic animals belonging to some kind of a tribe based on fresh fur markings holding a ceremony, in the the background a highly detailed stone altar and plenty of decorations all around",
"multiple people inside a cave, there is a high contrast between technologically advanced humanoids and simplicity of cave environment that surrounds them"
]
var other_lamia_art = [
"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"
]
"a collar, very similar to the one every inmate wears, on it a barbed wire",
"a very tasty looking cake",
"a large industrial sledgehammer",
"world's tiniest shovel",
"a paper map of some sorts"
]
var all_features_combined_lamia_art = [
"some sort of a spaceship, multiple people hanging out, laughing and eating in its living area, you can spot a feral bird in one of the cages placed on a table in this wide open space",
"a bunch of masculine tribe anthropomorphic canines hunting for what looks to be a wyvern of some sort in the air, they use primitive tools like spears thrown into air, the area they are located in seems very swampy with plenty of mud and flora that usually grows in highly watery places"
]
"some sort of a spaceship, multiple people hanging out, laughing and eating in its living area, you can spot a feral bird in one of the cages placed on a table in this wide open space",
"a bunch of masculine tribe anthropomorphic canines hunting for what looks to be a wyvern of some sort in the air, they use primitive tools like spears thrown into air, the area they are located in seems very swampy with plenty of mud and flora that usually grows in highly watery places",
"a humanoid of unknown species terrified, running away with other humanoids and many feral species while above the horizon an enormous purple tentable beast covers entire sky"
]
var odd_lamia_art = [
"a worm that seems to have a very slippery texture, on one of the ends there is a simple „tail” with spike like ending, while the other seems to be a hollowed circle with numerous tiny teeth around it",
"at first what seems like a tube of some sorts, though later you notice that this tube ends with a hole on one end, around the „hole” a bunch of yellowish protrusions extending from the fleshy tube"
]
]
var crossword_puzzles = [["Sex in 11 letters", "Intercourse"], ["Subfamily of goats and sheep", "Caprinae"], ["Lacking the authority or capacity to act", "Powerless"], ["Male heir to the throne", "Prince"], ["Fantasy art of bringing creatures from death to living", "Necromancy"]]
# OWNERSHIP
@ -647,7 +661,7 @@ func _run():
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=green]green box[/color] is for rather detailed 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")

View file

@ -93,8 +93,18 @@ func _run():
null:
pass
addDisabledButton("Options", "Ask your Master to change how he treats you (WIP)") #, "issixoptions" Pet etiquette, make player communicate via animalistic sounds, unlocks optional training
# If all training options have been finished, the option hasn't been rejected and Pet level 10+
# if GM.pc.getSkillLevel("Pet") >= 10 and getModuleFlag("IssixModule", "Issix_Mood", 50) > 85:
# addButton("Talk", "Talk with Master about being a pet", "mindbroken_intro")
addButton("Back", "Go back", "")
# if state == "mindbroken_intro":
# saynn("[say=pc]Master?[/say]")
# saynn("[say=issix]Yes, pet?[/say]")
# saynn("[say=pc]I were thinking, is there something else I could do to be an even better pet for you?[/say]")
# saynn("[say=issix]Hahahaha. Your ambition knows no bounds, does it? {pc.Name} for me you are already a perfect pet.[/say]")
# saynn("[say=pc]Please Master, there must be something I can do better! [/say]")
if state == "issixtaskquestionlist":
saynn("You can do certain tasks for Master to help in the harem and raise Issix's mood.")

View file

@ -18,7 +18,15 @@ var location_dir = {"hall_elevator": "med_elevator", "mining_elevator": "hall_el
func _initScene(_args = []):
item = RNG.pick(missing_items)
location = GM.pc.getLocation()
item_target = RNG.pick(["main_dressing2", "main_green_corridor10", "main_green_secret", "main_dressing1", "main_hallroom5", "med_mental_entrance", "medical_hospitalwards", "medical_storage", "med_corridor_split2", "med_nearshower", "med_researchlab", "med_milkingroom", "eng_corridor_blue3", "eng_airventskip", "eng_robotics", "eng_storage", "eng_corridor6", "eng_corridor3", "eng_assemblylab", "mining_shafts_entering", "eng_bay_nearbreakroom", "cellblock_red_playercell", "cellblock_lilac_nearcell", "cellblock_orange_playercell", "cellblock_corridor_nearstairs"])
item_target = ""
if RNG.chance(20):
var pawns = Globals.pick_unique_one(Globals.findPawns([[["isInmate"], []]]))
if pawns[0] != null:
item_target = pawns[0]
item_target_type = 2
if item_target == "":
item_target = RNG.pick(["main_dressing2", "main_green_corridor10", "main_green_secret", "main_dressing1", "main_hallroom5", "med_mental_entrance", "medical_hospitalwards", "medical_storage", "med_corridor_split2", "med_nearshower", "med_researchlab", "med_milkingroom", "eng_corridor_blue3", "eng_airventskip", "eng_robotics", "eng_storage", "eng_corridor6", "eng_corridor3", "eng_assemblylab", "mining_shafts_entering", "eng_bay_nearbreakroom", "cellblock_red_playercell", "cellblock_lilac_nearcell", "cellblock_orange_playercell", "cellblock_corridor_nearstairs"])
strike = 0
flying_back = false
@ -65,7 +73,7 @@ func _run():
saynn("[say=hiisi]They don't care. If your item is in the medical wing consider yourself lucky.[/say]")
saynn("[say=pc]And how will I know where the item is?[/say]")
saynn("[say=hiisi]The closer you get the more vibrations the controller gives you. [/say]")
saynn("[say=hiisi]The closer you get the more vibrations the controller gives you. Be aware that sometimes items can get picked up by others as well, if this happens - well, it might move.[/say]")
saynn("He pulls out the equipment from the bag and passes them to you.")
saynn("[say=hiisi]You wear the googles to see what the drone sees, and the controller is as you can imagine - to control the drone. We'd use some kind of neura-link to steer it better however it was way outside the budget and obviously it's not the kind of thing we can make on our own, so analog controller it is. Don't worry, you can do it.[/say]")
saynn("[say=hiisi]Oh, also, the drone is pretty quick, so watch out when you fly not to bump into walls.[/say]")
@ -130,7 +138,10 @@ func _run():
game.connect("minigameCompleted", self, "onMinigameCompleted")
if state == "retrival_success":
saynn("You were able to fish out "+item+" without an issue! Time to fly back to the harem.")
if item_target_type == 1:
saynn("You were able to fish out "+item+" without an issue! Time to fly back to the harem.")
else:
saynn("You were able to fish out "+item+" out of "+GM.main.IS.getPawn(item_target).getChar().getName()+"'s pocket, well done! Time to fly back to the harem.")
addButton("Fly back", "Fly back", "fly_back")
if state == "drone_lost":
@ -307,7 +318,7 @@ func _react(_action: String, _args):
var item_index = missing_items.find(item)
if item_index != -1:
reward = (item_index*8)+RNG.randi_range(0,7)
addMessage("You've received "+str(reward)+" from Issix for successful task")
addMessage("You've received "+str(reward)+" credits from Issix for successful task")
GM.pc.addCredits(reward)
if _action == "switch_place":

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB