mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
Fixes merge conflict, updates mech_bay.dm
This commit is contained in:
@@ -1956,7 +1956,7 @@
|
||||
P.name = "Central Command - paper"
|
||||
var/stypes = list("Handle it yourselves!","Illegible fax","Fax not signed","Not Right Now","You are wasting our time", "Keep up the good work", "ERT Instructions")
|
||||
var/stype = input(src.owner, "Which type of standard reply do you wish to send to [H]?","Choose your paperwork", "") as null|anything in stypes
|
||||
var/tmsg = "<font face='Verdana' color='black'><center><img src = 'ntlogo.png'><BR><BR><BR><font size='4'><B>NanoTrasen Science Station Cyberiad</B></font><BR><BR><BR><font size='4'>NAS Trurl Communications Department Report</font></center><BR><BR>"
|
||||
var/tmsg = "<font face='Verdana' color='black'><center><img src = 'ntlogo.png'><BR><BR><BR><font size='4'><B>Nanotrasen Science Station Cyberiad</B></font><BR><BR><BR><font size='4'>NAS Trurl Communications Department Report</font></center><BR><BR>"
|
||||
if(stype == "Handle it yourselves!")
|
||||
tmsg += "Greetings, esteemed crewmember. Your fax has been <B><I>DECLINED</I></B> automatically by NAS Trurl Fax Registration.<BR><BR>Please proceed in accordance with Standard Operating Procedure and/or Space Law. You are fully trained to handle this situation without Central Command intervention.<BR><BR><i><small>This is an automatic message.</small>"
|
||||
else if(stype == "Illegible fax")
|
||||
|
||||
@@ -228,29 +228,29 @@ obj/item/clothing/head/blob
|
||||
//Commander
|
||||
/obj/item/clothing/head/helmet/ert/command
|
||||
name = "emergency response team commander helmet"
|
||||
desc = "An in-atmosphere helmet worn by the commander of a NanoTrasen Emergency Response Team. Has blue highlights."
|
||||
desc = "An in-atmosphere helmet worn by the commander of a Nanotrasen Emergency Response Team. Has blue highlights."
|
||||
icon_state = "erthelmet_cmd"
|
||||
|
||||
//Security
|
||||
/obj/item/clothing/head/helmet/ert/security
|
||||
name = "emergency response team security helmet"
|
||||
desc = "An in-atmosphere helmet worn by security members of the NanoTrasen Emergency Response Team. Has red highlights."
|
||||
desc = "An in-atmosphere helmet worn by security members of the Nanotrasen Emergency Response Team. Has red highlights."
|
||||
icon_state = "erthelmet_sec"
|
||||
|
||||
//Engineer
|
||||
/obj/item/clothing/head/helmet/ert/engineer
|
||||
name = "emergency response team engineer helmet"
|
||||
desc = "An in-atmosphere helmet worn by engineering members of the NanoTrasen Emergency Response Team. Has orange highlights."
|
||||
desc = "An in-atmosphere helmet worn by engineering members of the Nanotrasen Emergency Response Team. Has orange highlights."
|
||||
icon_state = "erthelmet_eng"
|
||||
|
||||
//Medical
|
||||
/obj/item/clothing/head/helmet/ert/medical
|
||||
name = "emergency response team medical helmet"
|
||||
desc = "A set of armor worn by medical members of the NanoTrasen Emergency Response Team. Has red and white highlights."
|
||||
desc = "A set of armor worn by medical members of the Nanotrasen Emergency Response Team. Has red and white highlights."
|
||||
icon_state = "erthelmet_med"
|
||||
|
||||
//Janitorial
|
||||
/obj/item/clothing/head/helmet/ert/janitor
|
||||
name = "emergency response team janitor helmet"
|
||||
desc = "A set of armor worn by janitorial members of the NanoTrasen Emergency Response Team. Has red and white highlights."
|
||||
desc = "A set of armor worn by janitorial members of the Nanotrasen Emergency Response Team. Has red and white highlights."
|
||||
icon_state = "erthelmet_jan"
|
||||
|
||||
@@ -54,6 +54,21 @@
|
||||
flags = BLOCKHAIR
|
||||
flags_cover = HEADCOVERSEYES
|
||||
|
||||
//Chaplain
|
||||
/obj/item/clothing/head/monk_hood
|
||||
name = "monk hood"
|
||||
desc = "Wooden board not included."
|
||||
icon_state = "monk_hood"
|
||||
flags = BLOCKHAIR
|
||||
flags_cover = HEADCOVERSEYES
|
||||
|
||||
/obj/item/clothing/head/witchhunter_hat
|
||||
name = "witchhunter hat"
|
||||
desc = "This hat saw much use back in the day."
|
||||
icon_state = "witchhunterhat"
|
||||
item_state = "witchhunterhat"
|
||||
flags_cover = HEADCOVERSEYES
|
||||
|
||||
/obj/item/clothing/head/det_hat
|
||||
name = "hat"
|
||||
desc = "Someone who wears this will look very smart."
|
||||
|
||||
@@ -101,6 +101,31 @@
|
||||
"Vox" = 'icons/mob/species/vox/suit.dmi'
|
||||
)
|
||||
|
||||
//Chaplain
|
||||
/obj/item/clothing/suit/hooded/monk
|
||||
name = "monk robe"
|
||||
desc = "Wooden board not included."
|
||||
icon_state = "monkrobe"
|
||||
item_state = "monkrobe"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
|
||||
flags_inv = HIDESHOES|HIDEJUMPSUIT
|
||||
hoodtype = /obj/item/clothing/head/monk_hood
|
||||
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
|
||||
|
||||
/obj/item/clothing/suit/witchhunter
|
||||
name = "witchhunter garb"
|
||||
desc = "Dosen't weigh the same a a duck."
|
||||
icon_state = "witchhunter"
|
||||
item_state = "witchhunter"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
allowed = list(/obj/item/weapon/storage/bible, /obj/item/weapon/nullrod, /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater, /obj/item/weapon/storage/fancy/candle_box, /obj/item/candle, /obj/item/weapon/tank/emergency_oxygen)
|
||||
|
||||
|
||||
//Chef
|
||||
/obj/item/clothing/suit/toggle/chef
|
||||
name = "chef's apron"
|
||||
|
||||
|
||||
//Chef
|
||||
/obj/item/clothing/suit/chef
|
||||
name = "chef's apron"
|
||||
@@ -252,8 +277,8 @@
|
||||
)
|
||||
|
||||
/obj/item/clothing/suit/storage/ntrep
|
||||
name = "\improper NanoTrasen Representative jacket"
|
||||
desc = "A fancy black jacket, standard issue to NanoTrasen Represenatives."
|
||||
name = "\improper Nanotrasen Representative jacket"
|
||||
desc = "A fancy black jacket; standard issue to Nanotrasen Representatives."
|
||||
icon_state = "ntrep"
|
||||
item_state = "ntrep"
|
||||
blood_overlay_type = "coat"
|
||||
|
||||
@@ -548,7 +548,7 @@
|
||||
"Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.",
|
||||
"You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".",
|
||||
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.",
|
||||
"NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
|
||||
"Nanotrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
|
||||
"All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.",
|
||||
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.",
|
||||
"Jokes about a dead person and the manner of his death help grieving crewmembers tremendously. Especially if they were close with the deceased.",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
/datum/event/money_lotto/announce()
|
||||
var/datum/feed_message/newMsg = new /datum/feed_message
|
||||
newMsg.author = "NanoTrasen Editor"
|
||||
newMsg.author = "Nanotrasen Editor"
|
||||
newMsg.is_admin_message = 1
|
||||
|
||||
newMsg.body = "Nyx Daily wishes to congratulate <b>[winner_name]</b> for recieving the Nyx Stellar Slam Lottery, and receiving the out of this world sum of [winner_sum] credits!"
|
||||
|
||||
@@ -80,11 +80,11 @@
|
||||
"Due to my lack of agents I require an off-world financial account to immediately deposit the sum of 1 POINT FIVE MILLION credits.",\
|
||||
"Greetings sir, I regretfully to inform you that as I lay dying here due to my lack ofheirs I have chosen you to recieve the full sum of my lifetime savings of 1.5 billion credits")
|
||||
if(6)
|
||||
sender = pick("NanoTrasen Morale Divison","Feeling Lonely?","Bored?","www.wetskrell.nt")
|
||||
message = pick("The NanoTrasen Morale Division wishes to provide you with quality entertainment sites.",\
|
||||
sender = pick("Nanotrasen Morale Divison","Feeling Lonely?","Bored?","www.wetskrell.nt")
|
||||
message = pick("The Nanotrasen Morale Division wishes to provide you with quality entertainment sites.",\
|
||||
"WetSkrell.nt is a xenophillic website endorsed by NT for the use of male crewmembers among it's many stations and outposts.",\
|
||||
"Wetskrell.nt only provides the higest quality of male entertaiment to NanoTrasen Employees.",\
|
||||
"Simply enter your NanoTrasen Bank account system number and pin. With three easy steps this service could be yours!")
|
||||
"Wetskrell.nt only provides the higest quality of male entertaiment to Nanotrasen Employees.",\
|
||||
"Simply enter your Nanotrasen Bank account system number and pin. With three easy steps this service could be yours!")
|
||||
if(7)
|
||||
sender = pick("You have won free tickets!","Click here to claim your prize!","You are the 1000th vistor!","You are our lucky grand prize winner!")
|
||||
message = pick("You have won tickets to the newest ACTION JAXSON MOVIE!",\
|
||||
@@ -103,4 +103,4 @@
|
||||
if(ai.aiPDA != P && ai.aiPDA != src)
|
||||
ai.show_message("<i>Intercepted message from <b>[sender]</b></i> (Unknown / spam?) <i>to <b>[P:owner]</b>: [message]</i>")
|
||||
|
||||
PM.notify("<b>Message from [sender] (Unknown / spam?), </b>\"[message]\" (Unable to Reply)", 0)
|
||||
PM.notify("<b>Message from [sender] (Unknown / spam?), </b>\"[message]\" (Unable to Reply)", 0)
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/condiment/pack
|
||||
name = "condiment pack"
|
||||
desc = "A small plastic pack with condiments to put on your food"
|
||||
desc = "A small plastic pack with condiments to put on your food."
|
||||
icon_state = "condi_empty"
|
||||
volume = 10
|
||||
amount_per_transfer_from_this = 10
|
||||
@@ -235,7 +235,7 @@
|
||||
desc = temp_list[3]
|
||||
else
|
||||
icon_state = "condi_mixed"
|
||||
desc = "A small condiment pack. The label says it contains [originalname]"
|
||||
desc = "A small condiment pack. The label says it contains [originalname]."
|
||||
else
|
||||
icon_state = "condi_empty"
|
||||
desc = "A small condiment pack. It is empty."
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti/attackby(obj/item/W, mob/user, params)
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP))
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta/S = new(get_turf(user))
|
||||
S.attackby(W,user, params)
|
||||
@@ -90,11 +90,11 @@
|
||||
top = 0
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta
|
||||
name = "spagetti"
|
||||
name = "spaghetti"
|
||||
desc = "Noodles. With stuff. Delicious."
|
||||
icon_state = "pasta_bot"
|
||||
baseicon = "pasta_bot"
|
||||
basename = "spagetti"
|
||||
basename = "spaghetti"
|
||||
add_overlays = 0
|
||||
top = 0
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carpmeat
|
||||
name = "carp fillet"
|
||||
desc = "A fillet of spess carp meat"
|
||||
desc = "A fillet of spess carp meat."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat
|
||||
name = "raw salmon"
|
||||
desc = "A fillet of raw salmon"
|
||||
desc = "A fillet of raw salmon."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/catfishmeat
|
||||
name = "raw catfish"
|
||||
desc = "A fillet of raw catfish"
|
||||
desc = "A fillet of raw catfish."
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
@@ -183,4 +183,4 @@
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sushi_Hokki"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 2)
|
||||
list_reagents = list("nutriment" = 2)
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chips
|
||||
name = "chips"
|
||||
desc = "Commander Riker's What-The-Crisps"
|
||||
desc = "Commander Riker's What-The-Crisps."
|
||||
icon_state = "chips"
|
||||
bitesize = 1
|
||||
trash = /obj/item/trash/chips
|
||||
@@ -528,7 +528,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tomatomeat
|
||||
name = "tomato slice"
|
||||
desc = "A slice from a huge tomato"
|
||||
desc = "A slice from a huge tomato."
|
||||
icon_state = "tomatomeat"
|
||||
filling_color = "#DB0000"
|
||||
bitesize = 6
|
||||
@@ -544,7 +544,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeat
|
||||
name = "meat"
|
||||
desc = "A slab of meat"
|
||||
desc = "A slab of meat."
|
||||
icon_state = "xenomeat"
|
||||
filling_color = "#43DE18"
|
||||
bitesize = 6
|
||||
@@ -736,7 +736,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/muffin
|
||||
name = "Muffin"
|
||||
desc = "A delicious and spongy little cake"
|
||||
desc = "A delicious and spongy little cake."
|
||||
icon_state = "muffin"
|
||||
filling_color = "#E0CF9B"
|
||||
list_reagents = list("nutriment" = 6)
|
||||
@@ -766,7 +766,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/waffles
|
||||
name = "waffles"
|
||||
desc = "Mmm, waffles"
|
||||
desc = "Mmm, waffles."
|
||||
icon_state = "waffles"
|
||||
trash = /obj/item/trash/waffles
|
||||
filling_color = "#E6DEB5"
|
||||
@@ -788,8 +788,8 @@
|
||||
filling_color = "#B8E6B5"
|
||||
list_reagents = list("nutriment" = 10, "vitamin" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylenviridians
|
||||
name = "Soylen Virdians"
|
||||
/obj/item/weapon/reagent_containers/food/snacks/soylentviridians
|
||||
name = "Soylent Virdians"
|
||||
desc = "Not made of people. Honest." //Actually honest for once.
|
||||
icon_state = "soylent_yellow"
|
||||
trash = /obj/item/trash/waffles
|
||||
@@ -947,7 +947,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesiehonkers
|
||||
name = "Cheesie Honkers"
|
||||
icon_state = "cheesie_honkers"
|
||||
desc = "Bite sized cheesie snacks that will honk all over your mouth"
|
||||
desc = "Bite sized cheesie snacks that will honk all over your mouth."
|
||||
trash = /obj/item/trash/cheesie
|
||||
filling_color = "#FFA305"
|
||||
junkiness = 25
|
||||
@@ -1013,10 +1013,10 @@
|
||||
filling_color = "#C4BF76"
|
||||
list_reagents = list("nutriment" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti
|
||||
name = "Spagetti"
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spaghetti
|
||||
name = "Spaghetti"
|
||||
desc = "A bundle of raw spaghetti."
|
||||
icon_state = "spagetti"
|
||||
icon_state = "spaghetti"
|
||||
filling_color = "#EDDD00"
|
||||
list_reagents = list("nutriment" = 1, "vitamin" = 1)
|
||||
|
||||
@@ -1059,7 +1059,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spacylibertyduff
|
||||
name = "Spacy Liberty Duff"
|
||||
desc = "Jello gelatin, from Alfred Hubbard's cookbook"
|
||||
desc = "Jello gelatin, from Alfred Hubbard's cookbook."
|
||||
icon_state = "spacylibertyduff"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#42B873"
|
||||
@@ -1068,7 +1068,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/amanitajelly
|
||||
name = "Amanita Jelly"
|
||||
desc = "Looks curiously toxic"
|
||||
desc = "Looks curiously toxic."
|
||||
icon_state = "amanitajelly"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#ED0758"
|
||||
@@ -1101,7 +1101,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bloodsoup
|
||||
name = "Tomato soup"
|
||||
desc = "Smells like copper"
|
||||
desc = "Smells like copper."
|
||||
icon_state = "tomatosoup"
|
||||
filling_color = "#FF0000"
|
||||
bitesize = 5
|
||||
@@ -1117,7 +1117,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablesoup
|
||||
name = "Vegetable soup"
|
||||
desc = "A true vegan meal" //TODO
|
||||
desc = "A true vegan meal." //TODO
|
||||
icon_state = "vegetablesoup"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
filling_color = "#AFC4B5"
|
||||
@@ -1387,7 +1387,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/milosoup
|
||||
name = "Milosoup"
|
||||
desc = "The universes best soup! Yum!!!"
|
||||
desc = "The universe's best soup! Yum!!!"
|
||||
icon_state = "milosoup"
|
||||
trash = /obj/item/trash/snack_bowl
|
||||
bitesize = 5
|
||||
@@ -1400,10 +1400,10 @@
|
||||
trash = /obj/item/trash/plate
|
||||
list_reagents = list("nutriment" = 8)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti
|
||||
name = "Boiled Spagetti"
|
||||
/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti
|
||||
name = "Boiled Spaghetti"
|
||||
desc = "A plain dish of noodles, this sucks."
|
||||
icon_state = "spagettiboiled"
|
||||
icon_state = "spaghettiboiled"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#FCEE81"
|
||||
list_reagents = list("nutriment" = 2, "vitamin" = 1)
|
||||
@@ -1425,7 +1425,7 @@
|
||||
list_reagents = list("nutriment" = 7, "vitamin" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pastatomato
|
||||
name = "Spagetti"
|
||||
name = "spaghetti"
|
||||
desc = "Spaghetti and crushed tomatoes. Just like your abusive father used to make!"
|
||||
icon_state = "pastatomato"
|
||||
trash = /obj/item/trash/plate
|
||||
@@ -1433,17 +1433,17 @@
|
||||
bitesize = 4
|
||||
list_reagents = list("nutriment" = 6, "tomatojuice" = 10, "vitamin" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatballspagetti
|
||||
name = "Spagetti & Meatballs"
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti
|
||||
name = "spaghetti & Meatballs"
|
||||
desc = "Now thats a nic'e meatball!"
|
||||
icon_state = "meatballspagetti"
|
||||
icon_state = "meatballspaghetti"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#DE4545"
|
||||
list_reagents = list("nutriment" = 8, "synaptizine" = 5, "vitamin" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spesslaw
|
||||
name = "Spesslaw"
|
||||
desc = "A lawyers favourite"
|
||||
desc = "A lawyer's favourite."
|
||||
icon_state = "spesslaw"
|
||||
filling_color = "#DE4545"
|
||||
list_reagents = list("nutriment" = 8, "synaptizine" = 10, "vitamin" = 6)
|
||||
@@ -1457,7 +1457,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carrotfries
|
||||
name = "Carrot Fries"
|
||||
desc = "Tasty fries from fresh Carrots."
|
||||
desc = "Tasty fries from fresh carrots."
|
||||
icon_state = "carrotfries"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#FAA005"
|
||||
@@ -1733,7 +1733,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice
|
||||
name = "Cheese Cake slice"
|
||||
desc = "Slice of pure cheestisfaction"
|
||||
desc = "Slice of pure cheestisfaction."
|
||||
icon_state = "cheesecake_slice"
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#FAF7AF"
|
||||
@@ -1808,7 +1808,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
|
||||
name = "Chocolate Cake"
|
||||
desc = "A cake with added chocolate"
|
||||
desc = "A cake with added chocolate."
|
||||
icon_state = "chocolatecake"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice
|
||||
slices_num = 5
|
||||
@@ -1904,7 +1904,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
|
||||
name = "Apple Cake"
|
||||
desc = "A cake centred with Apple"
|
||||
desc = "A cake centered with Apple."
|
||||
icon_state = "applecake"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/applecakeslice
|
||||
slices_num = 5
|
||||
@@ -1999,7 +1999,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza
|
||||
name = "Mushroompizza"
|
||||
desc = "Very special pizza"
|
||||
desc = "Very special pizza."
|
||||
icon_state = "mushroompizza"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice
|
||||
slices_num = 6
|
||||
@@ -2013,7 +2013,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza
|
||||
name = "Vegetable pizza"
|
||||
desc = "No one of Tomato Sapiens were harmed during making this pizza"
|
||||
desc = "No one of Tomato Sapiens were harmed during making this pizza."
|
||||
icon_state = "vegetablepizza"
|
||||
slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
|
||||
slices_num = 6
|
||||
@@ -2021,7 +2021,7 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
|
||||
name = "Vegetable pizza slice"
|
||||
desc = "A slice of the most green pizza of all pizzas not containing green ingredients "
|
||||
desc = "A slice of the most green pizza of all pizzas not containing green ingredients."
|
||||
icon_state = "vegetablepizzaslice"
|
||||
filling_color = "#BAA14C"
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
/datum/food_processor_process/spaghetti
|
||||
input = /obj/item/weapon/reagent_containers/food/snacks/doughslice
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/spagetti
|
||||
output = /obj/item/weapon/reagent_containers/food/snacks/spaghetti
|
||||
|
||||
/datum/food_processor_process/parsnip
|
||||
input = /obj/item/weapon/reagent_containers/food/snacks/grown/parsnip
|
||||
|
||||
@@ -161,10 +161,10 @@
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm
|
||||
|
||||
/datum/recipe/microwave/soylenviridians
|
||||
/datum/recipe/microwave/soylentviridians
|
||||
reagents = list("flour" = 10)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/grown/soybeans)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/soylentviridians
|
||||
|
||||
/datum/recipe/microwave/soylentgreen
|
||||
reagents = list("flour" = 10)
|
||||
@@ -351,12 +351,12 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/carrot, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat
|
||||
|
||||
/datum/recipe/microwave/boiledspagetti
|
||||
/datum/recipe/microwave/boiledspaghetti
|
||||
reagents = list("water" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spaghetti,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/boiledspagetti
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti
|
||||
|
||||
/datum/recipe/microwave/boiledrice
|
||||
reagents = list("water" = 5, "rice" = 10)
|
||||
@@ -368,7 +368,7 @@
|
||||
|
||||
/datum/recipe/microwave/pastatomato
|
||||
reagents = list("water" = 5)
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/spagetti, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
items = list(/obj/item/weapon/reagent_containers/food/snacks/spaghetti, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/tomato)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato
|
||||
|
||||
@@ -376,19 +376,19 @@
|
||||
items = list(/obj/item/seeds/poppy, /obj/item/weapon/reagent_containers/food/snacks/dough)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel
|
||||
|
||||
/datum/recipe/microwave/meatballspagetti
|
||||
/datum/recipe/microwave/meatballspaggetti
|
||||
reagents = list("water" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spaghetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatballspagetti
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatballspaghetti
|
||||
|
||||
/datum/recipe/microwave/spesslaw
|
||||
reagents = list("water" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spagetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/spaghetti,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatball,
|
||||
|
||||
@@ -639,7 +639,7 @@
|
||||
if(L == default_language)
|
||||
. += "<b>[L.name] (:[L.key])</b> - default - <a href='byond://?src=[UID()];default_lang=reset'>reset</a><br>[L.desc]<br><br>"
|
||||
else
|
||||
. += "<b>[L.name] (:[L.key])</b> - <a href='byond://?src=[UID()];default_lang=[L]'>set default</a><br>[L.desc]<br><br>"
|
||||
. += "<b>[L.name] (:[L.key])</b> - <a href=\"byond://?src=[UID()];default_lang=[L]\">set default</a><br>[L.desc]<br><br>"
|
||||
|
||||
/mob/verb/check_languages()
|
||||
set name = "Check Known Languages"
|
||||
|
||||
@@ -949,7 +949,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
for(var/t = 0, t<=tilesSlipped, t++)
|
||||
spawn (t) step(src, src.dir)
|
||||
stop_pulling()
|
||||
to_chat(src, "<span class='notice'>You slipped on the [description]!</span>")
|
||||
to_chat(src, "<span class='notice'>You slipped on [description]!</span>")
|
||||
playsound(src.loc, 'sound/misc/slip.ogg', 50, 1, -3)
|
||||
if(stun)
|
||||
Stun(stun)
|
||||
|
||||
@@ -103,10 +103,11 @@ var/global/list/body_accessory_by_species = list("None" = null)
|
||||
|
||||
|
||||
/datum/body_accessory/tail/wingler_tail // Jay wingler fluff tail
|
||||
name = "Jay Wingler Tail"
|
||||
name = "Striped Tail"
|
||||
|
||||
icon_state = "winglertail"
|
||||
animated_icon_state = "winglertail_a"
|
||||
allowed_species = list("Tajaran")
|
||||
|
||||
|
||||
//Vulpkanin
|
||||
|
||||
@@ -785,12 +785,26 @@
|
||||
+ " handshake-mob, hug(s)-(none)/mob, johnny, jump, laugh(s), look(s)-(none)/mob, moan(s), mumble(s), nod(s), pale(s), point(s)-atom, quiver(s), raise(s), salute(s)-(none)/mob, scream(s), shake(s)," \
|
||||
+ " shiver(s), shrug(s), sigh(s), signal(s)-#1-10,slap(s)-(none)/mob, smile(s),snap(s), sneeze(s), sniff(s), snore(s), stare(s)-(none)/mob, swag(s), tremble(s), twitch(es), twitch(es)_s," \
|
||||
+ " wag(s), wave(s), whimper(s), wink(s), yawn(s)"
|
||||
if(species.name == "Machine")
|
||||
emotelist += "\nMachine specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob"
|
||||
else if(species.name == "Slime People")
|
||||
emotelist += "\nSlime people specific emotes :- squish(es)-(none)/mob"
|
||||
to_chat(src, emotelist)
|
||||
|
||||
switch(species.name)
|
||||
if("Machine")
|
||||
emotelist += "\nMachine specific emotes :- beep(s)-(none)/mob, buzz(es)-none/mob, no-(none)/mob, ping(s)-(none)/mob, yes-(none)/mob, buzz2-(none)/mob"
|
||||
if("Drask")
|
||||
emotelist += "\nDrask specific emotes :- drone(s)-(none)/mob, hum(s)-(none)/mob, rumble(s)-(none)/mob"
|
||||
if("Kidan")
|
||||
emotelist += "\nKidan specific emotes :- click(s), clack(s)"
|
||||
if("Unathi")
|
||||
emotelist += "\nUnathi specific emotes :- hiss(es)"
|
||||
|
||||
if (species.name == "Slime People")
|
||||
emotelist += "\nSlime people specific emotes :- squish(es)-(none)/mob"
|
||||
else
|
||||
for(var/obj/item/organ/external/L in bodyparts) // if your limbs are squishy you can squish too!
|
||||
if(L.dna.species in list("Slime People"))
|
||||
emotelist += "\nSlime people body part specific emotes :- squish(es)-(none)/mob"
|
||||
break
|
||||
|
||||
to_chat(src, emotelist)
|
||||
else
|
||||
to_chat(src, "<span class='notice'>Unusable emote '[act]'. Say *help for a list.</span>")
|
||||
|
||||
|
||||
@@ -420,9 +420,9 @@
|
||||
return
|
||||
doing |= SNPC_SPECIAL
|
||||
|
||||
var/static/list/customableTypes = list(/obj/item/weapon/reagent_containers/food/snacks/customizable,/obj/item/weapon/reagent_containers/food/snacks/breadslice,/obj/item/weapon/reagent_containers/food/snacks/bun,/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,/obj/item/weapon/reagent_containers/food/snacks/boiledspagetti,/obj/item/trash/plate,/obj/item/trash/bowl)
|
||||
var/static/list/customableTypes = list(/obj/item/weapon/reagent_containers/food/snacks/customizable,/obj/item/weapon/reagent_containers/food/snacks/breadslice,/obj/item/weapon/reagent_containers/food/snacks/bun,/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough,/obj/item/weapon/reagent_containers/food/snacks/boiledspaghetti,/obj/item/trash/plate,/obj/item/trash/bowl)
|
||||
|
||||
var/static/list/rawtypes = list(/obj/item/weapon/reagent_containers/food/snacks/grown, /obj/item/weapon/reagent_containers/food/snacks/rawcutlet, /obj/item/weapon/reagent_containers/food/snacks/rawsticks, /obj/item/weapon/reagent_containers/food/snacks/salmonmeat, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, /obj/item/weapon/reagent_containers/food/snacks/catfishmeat, /obj/item/weapon/reagent_containers/food/snacks/spagetti, /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/doughslice, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/boiledrice, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/raw_bacon)
|
||||
var/static/list/rawtypes = list(/obj/item/weapon/reagent_containers/food/snacks/grown, /obj/item/weapon/reagent_containers/food/snacks/rawcutlet, /obj/item/weapon/reagent_containers/food/snacks/rawsticks, /obj/item/weapon/reagent_containers/food/snacks/salmonmeat, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, /obj/item/weapon/reagent_containers/food/snacks/catfishmeat, /obj/item/weapon/reagent_containers/food/snacks/spaghetti, /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/doughslice, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/boiledrice, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/raw_bacon)
|
||||
|
||||
try
|
||||
var/list/allContents = getAllContents()
|
||||
|
||||
@@ -302,7 +302,6 @@
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 5
|
||||
attacktext = "prods"
|
||||
speed = 0
|
||||
environment_smash = 3
|
||||
see_in_dark = 8
|
||||
attack_sound = 'sound/weapons/tap.ogg'
|
||||
|
||||
@@ -1,53 +1,53 @@
|
||||
/mob/living/simple_animal/spiderbot
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 500
|
||||
|
||||
var/obj/item/device/radio/borg/radio = null
|
||||
var/mob/living/silicon/ai/connected_ai = null
|
||||
var/obj/item/weapon/stock_parts/cell/cell = null
|
||||
var/obj/machinery/camera/camera = null
|
||||
var/obj/item/device/mmi/mmi = null
|
||||
var/list/req_access = list(access_robotics) //Access needed to pop out the brain.
|
||||
|
||||
name = "Spider-bot"
|
||||
desc = "A skittering robotic friend!"
|
||||
desc = "A skittering robotic friend!" //More like ultimate shitter
|
||||
icon = 'icons/mob/robots.dmi'
|
||||
icon_state = "spiderbot-chassis"
|
||||
icon_living = "spiderbot-chassis"
|
||||
icon_dead = "spiderbot-smashed"
|
||||
wander = 0
|
||||
universal_speak = 1
|
||||
health = 10
|
||||
maxHealth = 10
|
||||
health = 40
|
||||
maxHealth = 40
|
||||
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 2
|
||||
melee_damage_type = BURN
|
||||
attacktext = "shocks"
|
||||
attacktext = "shocks"
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 3
|
||||
attack_sound = "sparks"
|
||||
|
||||
response_help = "pets"
|
||||
response_disarm = "shoos"
|
||||
response_harm = "stomps on"
|
||||
|
||||
var/obj/item/held_item = null //Storage for single item they can hold.
|
||||
var/emagged = 0 //IS WE EXPLODEN?
|
||||
var/syndie = 0 //IS WE SYNDICAT? (currently unused)
|
||||
speed = -1 //Spiderbots gotta go fast.
|
||||
//pass_flags = PASSTABLE //Maybe griefy?
|
||||
speed = 0
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
speak_emote = list("beeps","clicks","chirps")
|
||||
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
maxbodytemp = 500
|
||||
|
||||
can_hide = 1
|
||||
ventcrawler = 2
|
||||
loot = list(/obj/effect/decal/cleanable/blood/gibs/robot)
|
||||
del_on_death = 1
|
||||
|
||||
/mob/living/simple_animal/spiderbot/attackby(var/obj/item/O as obj, var/mob/user as mob, params)
|
||||
var/emagged = 0 //is it getting ready to explode?
|
||||
var/obj/item/device/mmi/mmi = null
|
||||
var/emagged_master = null //for administrative purposes, to see who emagged the spiderbot; also for a holder for if someone emags an empty frame first then inserts an MMI.
|
||||
|
||||
if(istype(O, /obj/item/device/mmi) || istype(O, /obj/item/device/mmi/posibrain))
|
||||
/mob/living/simple_animal/spiderbot/Destroy()
|
||||
if(emagged)
|
||||
QDEL_NULL(mmi)
|
||||
explosion(get_turf(src), -1, -1, 3, 5)
|
||||
else
|
||||
eject_brain()
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/spiderbot/attackby(obj/item/O, mob/living/user, params)
|
||||
if(istype(O, /obj/item/device/mmi))
|
||||
var/obj/item/device/mmi/B = O
|
||||
if(src.mmi) //There's already a brain in it.
|
||||
if(mmi) //There's already a brain in it.
|
||||
to_chat(user, "<span class='warning'>There's already a brain in [src]!</span>")
|
||||
return
|
||||
if(!B.brainmob)
|
||||
@@ -65,47 +65,49 @@
|
||||
ghost_can_reenter = 1
|
||||
break
|
||||
if(!ghost_can_reenter)
|
||||
to_chat(user, "<span class='notice'>[O] is completely unresponsive; there's no point.</span>")
|
||||
to_chat(user, "<span class='notice'>[B] is completely unresponsive; there's no point.</span>")
|
||||
return
|
||||
|
||||
if(B.brainmob.stat == DEAD)
|
||||
to_chat(user, "<span class='warning'>[O] is dead. Sticking it into the frame would sort of defeat the purpose.</span>")
|
||||
to_chat(user, "<span class='warning'>[B] is dead. Sticking it into the frame would sort of defeat the purpose.</span>")
|
||||
return
|
||||
|
||||
if(jobban_isbanned(B.brainmob, "Cyborg") || jobban_isbanned(B.brainmob,"nonhumandept"))
|
||||
to_chat(user, "<span class='warning'>[O] does not seem to fit.</span>")
|
||||
if(jobban_isbanned(B.brainmob, "Cyborg") || jobban_isbanned(B.brainmob, "nonhumandept"))
|
||||
to_chat(user, "<span class='warning'>[B] does not seem to fit.</span>")
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You install [O] in [src]!</span>")
|
||||
to_chat(user, "<span class='notice'>You install [B] in [src]!</span>")
|
||||
|
||||
user.drop_item()
|
||||
src.mmi = O
|
||||
src.transfer_personality(O)
|
||||
B.forceMove(src)
|
||||
mmi = B
|
||||
transfer_personality(B)
|
||||
|
||||
O.loc = src
|
||||
src.update_icon()
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
if(istype(O, /obj/item/weapon/weldingtool))
|
||||
else if(iswelder(O) && user.a_intent == INTENT_HELP)
|
||||
var/obj/item/weapon/weldingtool/WT = O
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(WT.remove_fuel(0))
|
||||
if(health < maxHealth)
|
||||
health += pick(1,1,1,2,2,3)
|
||||
if(health > maxHealth)
|
||||
health = maxHealth
|
||||
adjustHealth(-5)
|
||||
playsound(loc, WT.usesound, 50, 1)
|
||||
add_fingerprint(user)
|
||||
for(var/mob/W in viewers(user, null))
|
||||
W.show_message(text("<span class='warning'>[user] has spot-welded some of the damage to [src]!</span>"), 1)
|
||||
visible_message("<span class='warning'>[user] has spot-welded some of the damage to [src]!</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is undamaged!</span>")
|
||||
else
|
||||
to_chat(user, "Need more welding fuel!")
|
||||
return
|
||||
else if(istype(O, /obj/item/weapon/card/id)||istype(O, /obj/item/device/pda))
|
||||
else if(istype(O, /obj/item/weapon/card/id) || istype(O, /obj/item/device/pda))
|
||||
if(!mmi)
|
||||
to_chat(user, "<span class='warning'>There's no reason to swipe your ID - the spiderbot has no brain to remove.</span>")
|
||||
return 0
|
||||
|
||||
if(emagged)
|
||||
to_chat(user, "<span class='warning'>[src] doesn't seem to respond.</span>")
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/card/id/id_card
|
||||
|
||||
if(istype(O, /obj/item/weapon/card/id))
|
||||
@@ -117,63 +119,41 @@
|
||||
if(access_robotics in id_card.access)
|
||||
to_chat(user, "<span class='notice'>You swipe your access card and pop the brain out of [src].</span>")
|
||||
eject_brain()
|
||||
|
||||
if(held_item)
|
||||
held_item.loc = src.loc
|
||||
held_item = null
|
||||
|
||||
return 1
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You swipe your card, with no effect.</span>")
|
||||
return 0
|
||||
|
||||
else
|
||||
if(O.force)
|
||||
var/damage = O.force
|
||||
if(O.damtype == STAMINA)
|
||||
damage = 0
|
||||
adjustBruteLoss(damage)
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='boldwarning'>[src] has been attacked with the [O] by [user]. </span>")
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This weapon is ineffective, it does no damage.</span>")
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='warning'>[user] gently taps [src] with the [O]. </span>")
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/spiderbot/emag_act(user as mob)
|
||||
/mob/living/simple_animal/spiderbot/emag_act(mob/living/user)
|
||||
if(emagged)
|
||||
to_chat(user, "<span class='warning'>[src] is already overloaded - better run.</span>")
|
||||
to_chat(user, "<span class='warning'>[src] doesn't seem to respond.</span>")
|
||||
return 0
|
||||
else
|
||||
emagged = 1
|
||||
to_chat(user, "<span class='notice'>You short out the security protocols and overload [src]'s cell, priming it to explode in a short time.</span>")
|
||||
spawn(100)
|
||||
to_chat(src, "<span class='warning'>Your cell seems to be outputting a lot of power...</span>")
|
||||
spawn(200)
|
||||
to_chat(src, "<span class='warning'>Internal heat sensors are spiking! Something is badly wrong with your cell!</span>")
|
||||
spawn(300)
|
||||
src.explode()
|
||||
to_chat(user, "<span class='notice'>You short out the security protocols and rewrite [src]'s internal memory.</span>")
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [user] and their every order!</span>")
|
||||
emagged_master = user.name
|
||||
add_logs(user, src, "emagged")
|
||||
maxHealth = 60
|
||||
health = 60
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 15
|
||||
attack_sound = 'sound/machines/defib_zap.ogg'
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/transfer_personality(var/obj/item/device/mmi/M as obj)
|
||||
|
||||
src.mind = M.brainmob.mind
|
||||
src.mind.key = M.brainmob.key
|
||||
src.ckey = M.brainmob.ckey
|
||||
src.name = "Spider-bot ([M.brainmob.name])"
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/explode() //When emagged.
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='warning'>[src] makes an odd warbling noise, fizzles, and explodes.</span>")
|
||||
explosion(get_turf(loc), -1, -1, 3, 5)
|
||||
eject_brain()
|
||||
death()
|
||||
/mob/living/simple_animal/spiderbot/proc/transfer_personality(obj/item/device/mmi/M)
|
||||
mind = M.brainmob.mind
|
||||
mind.key = M.brainmob.key
|
||||
ckey = M.brainmob.ckey
|
||||
name = "Spider-bot ([M.brainmob.name])"
|
||||
if(emagged)
|
||||
to_chat(src, "<span class='userdanger'>You have been emagged; you are now completely loyal to [emagged_master] and their every order!</span>")
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/update_icon()
|
||||
if(mmi)
|
||||
if(istype(mmi,/obj/item/device/mmi))
|
||||
if(istype(mmi, /obj/item/device/mmi))
|
||||
icon_state = "spiderbot-chassis-mmi"
|
||||
icon_living = "spiderbot-chassis-mmi"
|
||||
if(istype(mmi, /obj/item/device/mmi/posibrain))
|
||||
@@ -186,99 +166,10 @@
|
||||
|
||||
/mob/living/simple_animal/spiderbot/proc/eject_brain()
|
||||
if(mmi)
|
||||
var/turf/T = get_turf(loc)
|
||||
if(T)
|
||||
mmi.loc = T
|
||||
if(mind) mind.transfer_to(mmi.brainmob)
|
||||
var/turf/T = get_turf(src)
|
||||
mmi.forceMove(T)
|
||||
if(mind)
|
||||
mind.transfer_to(mmi.brainmob)
|
||||
mmi = null
|
||||
src.name = "Spider-bot"
|
||||
update_icon()
|
||||
|
||||
/mob/living/simple_animal/spiderbot/Destroy()
|
||||
eject_brain()
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/spiderbot/New()
|
||||
|
||||
radio = new /obj/item/device/radio/borg(src)
|
||||
camera = new /obj/machinery/camera(src)
|
||||
camera.c_tag = "Spiderbot-[real_name]"
|
||||
camera.network = list("SS13")
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/spiderbot/death(gibbed)
|
||||
if(camera)
|
||||
camera.status = 0
|
||||
|
||||
if(held_item)
|
||||
held_item.forceMove(src.loc)
|
||||
held_item = null
|
||||
..()
|
||||
|
||||
//Cannibalized from the parrot mob. ~Zuhayr
|
||||
|
||||
/mob/living/simple_animal/spiderbot/verb/drop_held_item()
|
||||
set name = "Drop held item"
|
||||
set category = "Spiderbot"
|
||||
set desc = "Drop the item you're holding."
|
||||
|
||||
if(stat)
|
||||
return
|
||||
|
||||
if(!held_item)
|
||||
to_chat(usr, "<span class='warning'>You have nothing to drop!</span>")
|
||||
return 0
|
||||
|
||||
if(istype(held_item, /obj/item/weapon/grenade))
|
||||
visible_message("<span class='warning'>[src] launches \the [held_item]!</span>", "<span class='warning'>You launch \the [held_item]!</span>", "You hear a skittering noise and a thump!")
|
||||
var/obj/item/weapon/grenade/G = held_item
|
||||
G.loc = src.loc
|
||||
G.prime()
|
||||
held_item = null
|
||||
return 1
|
||||
|
||||
visible_message("<span class='notice'>[src] drops \the [held_item]!</span>", "<span class='notice'>You drop \the [held_item]!</span>", "You hear a skittering noise and a soft thump.")
|
||||
|
||||
held_item.loc = src.loc
|
||||
held_item = null
|
||||
return 1
|
||||
|
||||
return
|
||||
|
||||
/mob/living/simple_animal/spiderbot/verb/get_item()
|
||||
set name = "Pick up item"
|
||||
set category = "Spiderbot"
|
||||
set desc = "Allows you to take a nearby small item."
|
||||
|
||||
if(stat)
|
||||
return -1
|
||||
|
||||
if(held_item)
|
||||
to_chat(src, "<span class='warning'>You are already holding \the [held_item]</span>")
|
||||
return 1
|
||||
|
||||
var/list/items = list()
|
||||
for(var/obj/item/I in view(1,src))
|
||||
if(I.loc != src && I.w_class <= WEIGHT_CLASS_SMALL)
|
||||
items.Add(I)
|
||||
|
||||
var/obj/selection = input("Select an item.", "Pickup") in items
|
||||
|
||||
if(selection)
|
||||
for(var/obj/item/I in view(1, src))
|
||||
if(selection == I)
|
||||
held_item = selection
|
||||
selection.loc = src
|
||||
visible_message("<span class='notice'>[src] scoops up \the [held_item]!</span>", "<span class='notice'>You grab \the [held_item]!</span>", "You hear a skittering noise and a clink.")
|
||||
return held_item
|
||||
to_chat(src, "<span class='warning'>\The [selection] is too far away.</span>")
|
||||
return 0
|
||||
|
||||
to_chat(src, "<span class='warning'>There is nothing of interest to take.</span>")
|
||||
return 0
|
||||
|
||||
/mob/living/simple_animal/spiderbot/examine(mob/user)
|
||||
..(user)
|
||||
if(src.held_item)
|
||||
to_chat(user, "It is carrying \a [src.held_item] [bicon(src.held_item)].")
|
||||
name = "Spider-bot"
|
||||
update_icon()
|
||||
@@ -242,7 +242,6 @@ var/global/totaltribbles = 0 //global variable so it updates for all tribbles,
|
||||
item_state = "furgloves"
|
||||
transfer_prints = TRUE
|
||||
transfer_blood = TRUE
|
||||
siemens_coefficient = 0
|
||||
|
||||
// Equivalent to a winter coat's hood
|
||||
/obj/item/clothing/head/furcap
|
||||
|
||||
@@ -362,6 +362,18 @@
|
||||
else if(shuttle_master.emergency.mode >= SHUTTLE_CALL)
|
||||
dat += "<font color='red'>The station is currently undergoing evacuation procedures.</font><br>"
|
||||
|
||||
if(length(job_master.prioritized_jobs))
|
||||
dat += "<font color='lime'>The station has flagged these jobs as high priority: "
|
||||
var/amt = length(job_master.prioritized_jobs)
|
||||
var/amt_count
|
||||
for(var/datum/job/a in job_master.prioritized_jobs)
|
||||
amt_count++
|
||||
if(amt_count != amt)
|
||||
dat += " [a.title], "
|
||||
else
|
||||
dat += " [a.title]. </font><br>"
|
||||
|
||||
|
||||
dat += "Choose from the following open positions:<br><br>"
|
||||
|
||||
var/list/activePlayers = list()
|
||||
@@ -410,7 +422,10 @@
|
||||
dat += "<fieldset style='border: 2px solid [color]; display: inline'>"
|
||||
dat += "<legend align='center' style='color: [color]'>[jobcat]</legend>"
|
||||
for(var/datum/job/job in categorizedJobs[jobcat]["jobs"])
|
||||
dat += "<a href='byond://?src=[UID()];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [activePlayers[job]])</a><br>"
|
||||
if(job in job_master.prioritized_jobs)
|
||||
dat += "<a href='byond://?src=[UID()];SelectedJob=[job.title]'><font color='lime'><B>[job.title] ([job.current_positions]) (Active: [activePlayers[job]])</B></font></a><br>"
|
||||
else
|
||||
dat += "<a href='byond://?src=[UID()];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [activePlayers[job]])</a><br>"
|
||||
dat += "</fieldset><br>"
|
||||
|
||||
dat += "</td></tr></table></center>"
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
/datum/martial_art/ninja_martial_art/teach(var/mob/living/carbon/human/H,var/make_temporary=0)
|
||||
..()
|
||||
H.middleClickOverride = new /datum/middleClickOverride/ninja_martial_art()
|
||||
to_chat(H, "You have been taugh the ways of the <i>Creeping Widow</i>.<br>\)
|
||||
Your stikes on harm intent will deal more damage.<br>Using middle mouse button on a nearby person while on harm intent will send them flying backwards.<br>\
|
||||
to_chat(H, "You have been taught the ways of the <i>Creeping Widow</i>.<br>\)
|
||||
Your strikes on harm intent will deal more damage.<br>Using middle mouse button on a nearby person while on harm intent will send them flying backwards.<br>\
|
||||
Your grabs will instantly be aggressive while you are using this style.<br>Using middle mouse button while on harm intent and behind a person will put them in a silencing choke hold.<br>\
|
||||
Using middle mouse button on a nearby person while on disarm intent will wrench their wrist, causing them to drop what they are holding.</span>"
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
return 0
|
||||
|
||||
if(has_choke_hold) // Are we already choking someone?
|
||||
to_chat(A, "<span class='warning'>You are have a target in your grip!</span>")
|
||||
to_chat(A, "<span class='warning'>You already have a target in your grip!</span>")
|
||||
return 0
|
||||
|
||||
has_choke_hold = 1
|
||||
@@ -98,8 +98,8 @@
|
||||
D.silent += 1
|
||||
D.adjustOxyLoss(1)
|
||||
else
|
||||
D.visible_message("<span class='warning'>[A] loses his grip on [D]'s neck!</span>", \
|
||||
"<span class='userdanger'>[A] loses his grip on your neck!</span>")
|
||||
D.visible_message("<span class='warning'>[A] loses \his grip on [D]'s neck!</span>", \
|
||||
"<span class='userdanger'>[A] loses \his grip on your neck!</span>")
|
||||
has_choke_hold = 0
|
||||
return 0
|
||||
I++
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
|
||||
/obj/item/device/spacepod_equipment/weaponry/laser
|
||||
name = "laser system"
|
||||
desc = "A weak laser system for space pods, fires concentrated bursts of energy"
|
||||
desc = "A weak laser system for space pods, fires concentrated bursts of energy."
|
||||
icon_state = "weapon_laser"
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
shot_cost = 600
|
||||
@@ -113,7 +113,7 @@
|
||||
// MINING LASERS
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser_basic
|
||||
name = "weak mining laser system"
|
||||
desc = "A weak mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
desc = "A weak mining laser system for space pods, fires bursts of energy that cut through rock."
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_taser"
|
||||
projectile_type = /obj/item/projectile/kinetic/pod
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser
|
||||
name = "mining laser system"
|
||||
desc = "A mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
desc = "A mining laser system for space pods, fires bursts of energy that cut through rock."
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_m_laser"
|
||||
projectile_type = /obj/item/projectile/kinetic/pod/regular
|
||||
@@ -133,7 +133,7 @@
|
||||
|
||||
/obj/item/device/spacepod_equipment/weaponry/mining_laser_hyper
|
||||
name = "enhanced mining laser system"
|
||||
desc = "An enhanced mining laser system for space pods, fires bursts of energy that cut through rock"
|
||||
desc = "An enhanced mining laser system for space pods, fires bursts of energy that cut through rock."
|
||||
icon = 'icons/goonstation/pods/ship.dmi'
|
||||
icon_state = "pod_w_laser"
|
||||
projectile_type = /obj/item/projectile/kinetic/pod/enhanced
|
||||
@@ -226,15 +226,15 @@
|
||||
|
||||
// Passenger Seat
|
||||
/obj/item/device/spacepod_equipment/sec_cargo/chair
|
||||
name = "passanger seat"
|
||||
desc = "A passenger seat for a spacepod"
|
||||
name = "passenger seat"
|
||||
desc = "A passenger seat for a spacepod."
|
||||
icon_state = "sec_cargo_chair"
|
||||
occupant_mod = 1
|
||||
|
||||
// Loot Box
|
||||
/obj/item/device/spacepod_equipment/sec_cargo/loot_box
|
||||
name = "loot box"
|
||||
desc = "A small compartment to store valuables"
|
||||
desc = "A small compartment to store valuables."
|
||||
icon_state = "sec_cargo_loot"
|
||||
storage_mod = list("slots" = 7, "w_class" = 14)
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
/datum/storeitem/minigibber
|
||||
name = "miniature gibber"
|
||||
desc = "A miniature recreation of NanoTrasen's famous meat grinder."
|
||||
desc = "A miniature recreation of Nanotrasen's famous meat grinder."
|
||||
typepath = /obj/item/toy/minigibber
|
||||
cost = 400
|
||||
|
||||
|
||||
Reference in New Issue
Block a user