mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into lavaland_megafauna
# Conflicts: # code/modules/mob/living/carbon/human/species/station.dm # icons/mob/screen_alert.dmi
This commit is contained in:
@@ -117,3 +117,13 @@
|
||||
display_name = "science beret"
|
||||
path = /obj/item/clothing/head/beret/sci
|
||||
allowed_roles = list("Research Director", "Scientist")
|
||||
|
||||
/datum/gear/hat/surgicalcap_purple
|
||||
display_name = "surgical cap, purple"
|
||||
path = /obj/item/clothing/head/surgery/purple
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/hat/surgicalcap_green
|
||||
display_name = "surgical cap, green"
|
||||
path = /obj/item/clothing/head/surgery/green
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
@@ -98,6 +98,19 @@
|
||||
path = /obj/item/clothing/under/rank/head_of_security/skirt
|
||||
allowed_roles = list("Head of Security")
|
||||
|
||||
/datum/gear/uniform/job/medical/scrubs
|
||||
subtype_path = /datum/gear/uniform/job/medical/scrubs
|
||||
|
||||
/datum/gear/uniform/job/medical/scrubs/purple
|
||||
display_name = "medical scrubs, purple"
|
||||
path = /obj/item/clothing/under/rank/medical/purple
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/uniform/job/medical/scrubs/green
|
||||
display_name = "medical scrubs, green"
|
||||
path = /obj/item/clothing/under/rank/medical/green
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/uniform/sec
|
||||
subtype_path = /datum/gear/uniform/sec
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
|
||||
// ROLE_GANG = 21,
|
||||
ROLE_BORER = 21,
|
||||
ROLE_NINJA = 21,
|
||||
ROLE_GSPIDER = 21,
|
||||
ROLE_ABDUCTOR = 30,
|
||||
)
|
||||
|
||||
|
||||
@@ -79,9 +79,17 @@
|
||||
name = "cueball helmet"
|
||||
desc = "A large, featureless white orb meant to be worn on your head. How do you even see out of this thing?"
|
||||
icon_state = "cueball"
|
||||
item_state = "cueball"
|
||||
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
|
||||
item_state="cueball"
|
||||
flags_inv = 0
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
|
||||
/obj/item/clothing/head/snowman
|
||||
name = "snowman head"
|
||||
desc = "A ball of white styrofoam. So festive."
|
||||
icon_state = "snowman_h"
|
||||
item_state = "snowman_h"
|
||||
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
|
||||
/obj/item/clothing/head/that
|
||||
name = "sturdy top-hat"
|
||||
@@ -348,6 +356,11 @@
|
||||
attack_verb = list("warned", "cautioned", "smashed")
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
/obj/item/clothing/head/jester
|
||||
name = "jester hat"
|
||||
desc = "A hat with bells, to add some merryness to the suit."
|
||||
icon_state = "jester_hat"
|
||||
|
||||
/obj/item/clothing/head/griffin
|
||||
name = "griffon head"
|
||||
desc = "Why not 'eagle head'? Who knows."
|
||||
|
||||
@@ -139,6 +139,13 @@
|
||||
w_class = 2
|
||||
gas_transfer_coefficient = 0.90
|
||||
|
||||
/obj/item/clothing/mask/joy
|
||||
name = "joy mask"
|
||||
desc = "Express your happiness or hide your sorrows with this face with tears of joy cutout."
|
||||
icon_state = "joy"
|
||||
flags = MASKCOVERSMOUTH
|
||||
flags_inv = HIDEFACE
|
||||
|
||||
/obj/item/clothing/mask/pig
|
||||
name = "pig mask"
|
||||
desc = "A rubber pig mask."
|
||||
@@ -188,6 +195,58 @@
|
||||
if(user.real_name == "[originalname][temporaryname]" || user.real_name == "A Horse With No Name") //if it's somehow changed while the mask is on it doesn't revert
|
||||
user.real_name = originalname
|
||||
|
||||
/obj/item/clothing/mask/face
|
||||
flags = MASKCOVERSMOUTH
|
||||
flags_inv = HIDEFACE
|
||||
|
||||
/obj/item/clothing/mask/face/rat
|
||||
name = "rat mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a rat."
|
||||
icon_state = "rat"
|
||||
item_state = "rat"
|
||||
|
||||
/obj/item/clothing/mask/face/fox
|
||||
name = "fox mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a fox."
|
||||
icon_state = "fox"
|
||||
item_state = "fox"
|
||||
|
||||
/obj/item/clothing/mask/face/bee
|
||||
name = "bee mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a bee."
|
||||
icon_state = "bee"
|
||||
item_state = "bee"
|
||||
|
||||
/obj/item/clothing/mask/face/bear
|
||||
name = "bear mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a bear."
|
||||
icon_state = "bear"
|
||||
item_state = "bear"
|
||||
|
||||
/obj/item/clothing/mask/face/bat
|
||||
name = "bat mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a bat."
|
||||
icon_state = "bat"
|
||||
item_state = "bat"
|
||||
|
||||
/obj/item/clothing/mask/face/raven
|
||||
name = "raven mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a raven."
|
||||
icon_state = "raven"
|
||||
item_state = "raven"
|
||||
|
||||
/obj/item/clothing/mask/face/jackal
|
||||
name = "jackal mask"
|
||||
desc = "A mask made of soft vinyl and latex, representing the head of a jackal."
|
||||
icon_state = "jackal"
|
||||
item_state = "jackal"
|
||||
|
||||
/obj/item/clothing/mask/face/tribal
|
||||
name = "tribal mask"
|
||||
desc = "A mask carved out of wood, detailed carefully by hand."
|
||||
icon_state = "bumba"
|
||||
item_state = "bumba"
|
||||
|
||||
/obj/item/clothing/mask/fawkes
|
||||
name = "Guy Fawkes mask"
|
||||
desc = "A mask designed to help you remember a specific date."
|
||||
|
||||
@@ -212,3 +212,15 @@
|
||||
righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi'
|
||||
flags = NODROP
|
||||
shoe_sound = "clownstep"
|
||||
|
||||
/obj/item/clothing/shoes/singery
|
||||
name = "yellow performer's boots"
|
||||
desc = "These boots were made for dancing."
|
||||
icon_state = "ysing"
|
||||
put_on_delay = 50
|
||||
|
||||
/obj/item/clothing/shoes/singerb
|
||||
name = "blue performer's boots"
|
||||
desc = "These boots were made for dancing."
|
||||
icon_state = "bsing"
|
||||
put_on_delay = 50
|
||||
|
||||
@@ -249,6 +249,13 @@
|
||||
I.overlays += image(icon = 'icons/mob/robots.dmi' , icon_state = "eyes-robot") //gotta look realistic
|
||||
H.add_alt_appearance("standard_borg_disguise", I, silicon_mob_list+H) //you look like a robot to robots! (including yourself because you're totally a robot)
|
||||
|
||||
/obj/item/clothing/suit/snowman
|
||||
name = "snowman outfit"
|
||||
desc = "Two white spheres covered in white glitter. 'Tis the season."
|
||||
icon_state = "snowman"
|
||||
item_state = "snowman"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
|
||||
/obj/item/clothing/suit/poncho
|
||||
name = "poncho"
|
||||
@@ -279,6 +286,44 @@
|
||||
item_state = "ponchoshame"
|
||||
flags = NODROP
|
||||
|
||||
/obj/item/clothing/suit/hooded/carp_costume
|
||||
name = "carp costume"
|
||||
desc = "A costume made from 'synthetic' carp scales, it smells."
|
||||
icon_state = "carp_casual"
|
||||
item_state = "labcoat"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT //Space carp like space, so you should too
|
||||
allowed = list(/obj/item/weapon/tank/emergency_oxygen)
|
||||
hoodtype = /obj/item/clothing/head/hooded/carp_hood
|
||||
|
||||
/obj/item/clothing/head/hooded/carp_hood
|
||||
name = "carp hood"
|
||||
desc = "A hood attached to a carp costume."
|
||||
icon_state = "carp_casual"
|
||||
body_parts_covered = HEAD
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
flags = NODROP|BLOCKHAIR
|
||||
flags_inv = HIDEEARS
|
||||
|
||||
/obj/item/clothing/suit/hooded/bee_costume // It's Hip!
|
||||
name = "bee costume"
|
||||
desc = "Bee the true Queen!"
|
||||
icon_state = "bee"
|
||||
item_state = "labcoat"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
|
||||
flags = THICKMATERIAL
|
||||
hoodtype = /obj/item/clothing/head/hooded/bee_hood
|
||||
|
||||
/obj/item/clothing/head/hooded/bee_hood
|
||||
name = "bee hood"
|
||||
desc = "A hood attached to a bee costume."
|
||||
icon_state = "bee"
|
||||
body_parts_covered = HEAD
|
||||
flags = THICKMATERIAL|NODROP|BLOCKHAIR
|
||||
flags_inv = HIDEEARS
|
||||
|
||||
/obj/item/clothing/suit/bloated_human //OH MY GOD WHAT HAVE YOU DONE!?!?!?
|
||||
name = "bloated human suit"
|
||||
desc = "A horribly bloated suit made from human skins."
|
||||
|
||||
@@ -495,6 +495,26 @@
|
||||
item_color = "janimaid"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
|
||||
/obj/item/clothing/under/singery
|
||||
name = "yellow performer's outfit"
|
||||
desc = "Just looking at this makes you want to sing."
|
||||
icon_state = "ysing"
|
||||
item_state = "ysing"
|
||||
item_color = "ysing"
|
||||
|
||||
/obj/item/clothing/under/singerb
|
||||
name = "blue performer's outfit"
|
||||
desc = "Just looking at this makes you want to sing."
|
||||
icon_state = "bsing"
|
||||
item_state = "bsing"
|
||||
item_color = "bsing"
|
||||
|
||||
/obj/item/clothing/under/jester
|
||||
name = "jester suit"
|
||||
desc = "A jolly dress, well suited to entertain your master, nuncle."
|
||||
icon_state = "jester"
|
||||
item_color = "jester"
|
||||
|
||||
/obj/item/clothing/under/flappers
|
||||
name = "flappers"
|
||||
desc = "Nothing like the roarin' '20s, flapping the night away on the dance floor."
|
||||
|
||||
@@ -154,6 +154,14 @@
|
||||
icon_on = "guessipon"
|
||||
icon_off = "guessip"
|
||||
|
||||
/obj/item/weapon/lighter/zippo/fluff/duckchan // Duckchan: Rybys Romney
|
||||
name = "Monogrammed Zippo"
|
||||
desc = " A shiny purple zippo lighter, engraved with Rybys Romney and BuzzPing's name, with a festive green flame."
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "rybysfluff"
|
||||
icon_on = "rybysfluffopen"
|
||||
icon_off = "rybysfluff"
|
||||
|
||||
/obj/item/weapon/fluff/dogwhistle //phantasmicdream: Zeke Varloss
|
||||
name = "Sax's whistle"
|
||||
desc = "This whistle seems to have a strange aura about it. Maybe you should blow on it?"
|
||||
@@ -376,6 +384,18 @@
|
||||
icon_state = "kakicharakiti"
|
||||
|
||||
//////////// Suits ////////////
|
||||
/obj/item/clothing/suit/fluff/dusty_jacket //ComputerlessCitizen: Screech
|
||||
name = "Dusty Jacket"
|
||||
desc = "A worn leather jacket. Some burn holes have been patched."
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
icon = 'icons/obj/custom_items.dmi'
|
||||
icon_state = "dusty_jacket"
|
||||
ignore_suitadjust = 1
|
||||
actions_types = list()
|
||||
adjust_flavour = null
|
||||
species_fit = null
|
||||
sprite_sheets = null
|
||||
|
||||
/obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Socialsystem: Lynn Fea
|
||||
name = "Robotics labcoat"
|
||||
desc = "A labcoat with a few markings denoting it as the labcoat of roboticist."
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
possible_transfer_amounts = null
|
||||
volume = 50 //Sets the default container amount for all food items.
|
||||
var/filling_color = "#FFFFFF" //Used by sandwiches.
|
||||
var/bitesize = 1
|
||||
var/junkiness = 0 //for junk food. used to lower human satiety.
|
||||
var/bitesize = 2
|
||||
var/consume_sound = 'sound/items/eatfood.ogg'
|
||||
var/apply_type = INGEST
|
||||
var/apply_method = "swallow"
|
||||
@@ -15,5 +16,5 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/New()
|
||||
..()
|
||||
pixel_x = rand(-10, 10) //Randomizes postion
|
||||
pixel_y = rand(-10, 10)
|
||||
pixel_x = rand(-5, 5) //Randomizes postion
|
||||
pixel_y = rand(-5, 5)
|
||||
@@ -22,7 +22,6 @@
|
||||
desc = "Such sweet, fattening food."
|
||||
icon_state = "chocolatebar"
|
||||
filling_color = "#7D5F46"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 2, "chocolate" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel
|
||||
@@ -30,7 +29,6 @@
|
||||
desc = "Chewy and dense, yet it practically melts in your mouth!"
|
||||
icon_state = "caramel"
|
||||
filling_color = "#DB944D"
|
||||
bitesize = 2
|
||||
list_reagents = list("cream" = 2, "sugar" = 2)
|
||||
|
||||
|
||||
@@ -39,7 +37,6 @@
|
||||
desc = "A hard, brittle candy with a distinctive taste."
|
||||
icon_state = "toffee"
|
||||
filling_color = "#7D5F46"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat
|
||||
@@ -47,7 +44,6 @@
|
||||
desc = "A soft, chewy candy commonly found in candybars."
|
||||
icon_state = "nougat"
|
||||
filling_color = "#7D5F46"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/taffy
|
||||
@@ -55,7 +51,6 @@
|
||||
desc = "Old fashioned saltwater taffy. Chewy!"
|
||||
icon_state = "candy1"
|
||||
filling_color = "#7D5F46"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 3, "sugar" = 3)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/taffy/New()
|
||||
@@ -111,7 +106,6 @@
|
||||
desc = "It's a handful of candy corn. Cannot be stored in a detective's hat, alas."
|
||||
icon_state = "candycorn"
|
||||
filling_color = "#FFFCB0"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 4, "sugar" = 2)
|
||||
|
||||
// ***********************************************************
|
||||
@@ -134,14 +128,15 @@
|
||||
trash = /obj/item/trash/candy
|
||||
filling_color = "#7D5F46"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 2, "chocolate" = 5)
|
||||
junkiness = 25
|
||||
list_reagents = list("nutriment" = 1, "chocolate" = 1)
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candycane
|
||||
name = "candy cane"
|
||||
desc = "A festive mint candy cane."
|
||||
icon_state = "candycane"
|
||||
filling_color = "#F2F2F2"
|
||||
bitesize = 2
|
||||
list_reagents = list("minttoxin" = 1, "sugar" = 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/gummybear
|
||||
@@ -181,7 +176,6 @@
|
||||
desc = "Not legal tender. Tasty though."
|
||||
icon_state = "candy_cash"
|
||||
filling_color = "#302000"
|
||||
bitesize = 2
|
||||
list_reagents = list("nutriment" = 2, "chocolate" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/coin
|
||||
@@ -511,32 +505,35 @@
|
||||
// Candybar Flavors
|
||||
// ***********************************************************
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery
|
||||
list_reagents = list("nutriment" = 1, "chocolate" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/rice
|
||||
name = "Asteroid Crunch Bar"
|
||||
desc = "Crunchy rice deposits in delicious chocolate! A favorite of miners galaxy-wide."
|
||||
icon_state = "asteroidcrunch"
|
||||
trash = /obj/item/trash/candy
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/toffee
|
||||
name = "Yum-baton Bar"
|
||||
desc = "Chocolate and toffee in the shape of a baton. Security sure knows how to pound these down!"
|
||||
icon_state = "yumbaton"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel
|
||||
name = "Malper Bar"
|
||||
desc = "A chocolate syringe filled with a caramel injection. Just what the doctor ordered!"
|
||||
icon_state = "malper"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel_nougat
|
||||
name = "Toxins Test Bar"
|
||||
desc = "An explosive combination of chocolate, caramel, and nougat. Research has never been so tasty!"
|
||||
icon_state = "toxinstest"
|
||||
filling_color = "#7D5F46"
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/nougat
|
||||
name = "Tool-erone Bar"
|
||||
desc = "Chocolate-covered nougat, shaped like a wrench. Great for an engineer on the go!"
|
||||
icon_state = "toolerone"
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
icon_state = "breadslice"
|
||||
var/baseicon = "sandwich"
|
||||
var/basename = "sandwich"
|
||||
bitesize = 4
|
||||
var/top = 1 //Do we have a top?
|
||||
var/obj/item/toptype
|
||||
var/add_overlays = 1 //Do we stack?
|
||||
@@ -76,7 +77,6 @@
|
||||
var/sandwich_limit = 40
|
||||
var/fullycustom = 0
|
||||
trash = /obj/item/trash/plate
|
||||
bitesize = 2
|
||||
var/list/ingredients = list()
|
||||
list_reagents = list("nutriment" = 8)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
bitesize = 6
|
||||
list_reagents = list("protein" = 3, "carpotoxin" = 3)
|
||||
list_reagents = list("protein" = 3, "carpotoxin" = 2, "vitamin" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonmeat
|
||||
name = "raw salmon"
|
||||
@@ -14,8 +14,8 @@
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
bitesize = 3
|
||||
list_reagents = list("protein" = 3)
|
||||
bitesize = 6
|
||||
list_reagents = list("protein" = 3, "vitamin" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/salmonsteak
|
||||
name = "Salmon steak"
|
||||
@@ -25,7 +25,7 @@
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#7A3D11"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 4, "sodiumchloride" = 1, "blackpepper" = 1)
|
||||
list_reagents = list("nutriment" = 4, "vitamin" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/catfishmeat
|
||||
name = "raw catfish"
|
||||
@@ -33,8 +33,8 @@
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfillet"
|
||||
filling_color = "#FFDEFE"
|
||||
bitesize = 3
|
||||
list_reagents = list("protein" = 3)
|
||||
bitesize = 6
|
||||
list_reagents = list("protein" = 3, "vitamin" = 2)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishfingers
|
||||
name = "Fish Fingers"
|
||||
@@ -42,8 +42,8 @@
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "fishfingers"
|
||||
filling_color = "#FFDEFE"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 4, "carpotoxin" = 3)
|
||||
bitesize = 1
|
||||
list_reagents = list("nutriment" = 4)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishburger
|
||||
name = "Fillet -o- Carp Sandwich"
|
||||
@@ -52,7 +52,7 @@
|
||||
icon_state = "fishburger"
|
||||
filling_color = "#FFDEFE"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 6, "carpotoxin" = 3)
|
||||
list_reagents = list("nutriment" = 6, "vitamin" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cubancarp
|
||||
name = "Cuban Carp"
|
||||
@@ -62,7 +62,7 @@
|
||||
trash = /obj/item/trash/plate
|
||||
filling_color = "#E9ADFF"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 6, "carpotoxin" = 3, "capsaicin" = 3)
|
||||
list_reagents = list("nutriment" = 6, "capsaicin" = 1)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fishandchips
|
||||
name = "Fish and Chips"
|
||||
@@ -71,7 +71,7 @@
|
||||
icon_state = "fishandchips"
|
||||
filling_color = "#E3D796"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 6, "carpotoxin" = 3)
|
||||
list_reagents = list("nutriment" = 6)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sashimi
|
||||
name = "carp sashimi"
|
||||
@@ -79,7 +79,7 @@
|
||||
icon = 'icons/obj/food/seafood.dmi'
|
||||
icon_state = "sashimi"
|
||||
bitesize = 3
|
||||
list_reagents = list("nutriment" = 6, "toxin" = 5)
|
||||
list_reagents = list("nutriment" = 6, "capsaicin" = 5)
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/fried_shrimp
|
||||
name = "fried shrimp"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -505,7 +505,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel
|
||||
|
||||
/datum/recipe/candy/toolerone
|
||||
reagents = list()
|
||||
@@ -513,7 +513,7 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/nougat
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/nougat
|
||||
|
||||
/datum/recipe/candy/yumbaton
|
||||
reagents = list()
|
||||
@@ -521,14 +521,14 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/toffee,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/toffee
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/toffee
|
||||
|
||||
/datum/recipe/candy/crunch
|
||||
reagents = list("rice" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/candybar,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/rice
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/rice
|
||||
|
||||
/datum/recipe/candy/toxinstest
|
||||
reagents = list()
|
||||
@@ -537,4 +537,4 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/caramel,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/candy/nougat,
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/candybar/caramel_nougat
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/candy/confectionery/caramel_nougat
|
||||
|
||||
@@ -29,24 +29,24 @@
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/slimejelly
|
||||
|
||||
/datum/recipe/microwave/jellydonut/cherry
|
||||
reagents = list("cherryjelly" = 5, "sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly/cherryjelly
|
||||
|
||||
/datum/recipe/microwave/donut
|
||||
reagents = list("sugar" = 5)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/donut
|
||||
|
||||
/datum/recipe/microwave/donut/sprinkles
|
||||
reagents = list("sugar" = 5, "sprinkles" = 3)
|
||||
reagents = list("sugar" = 5, "sprinkles" = 2)
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/dough
|
||||
)
|
||||
@@ -671,12 +671,6 @@ datum/recipe/microwave/slimesandwich
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/taco
|
||||
|
||||
/datum/recipe/microwave/meatball
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawmeatball
|
||||
)
|
||||
result = /obj/item/weapon/reagent_containers/food/snacks/meatball
|
||||
|
||||
/datum/recipe/microwave/fries
|
||||
items = list(
|
||||
/obj/item/weapon/reagent_containers/food/snacks/rawsticks
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "chili"
|
||||
seed_name = "chili"
|
||||
display_name = "chili plants"
|
||||
chems = list("capsaicin" = list(3,5), "plantmatter" = list(1,25))
|
||||
chems = list("capsaicin" = list(3,5), "plantmatter" = list(1,25), "vitamin" = list(1,25))
|
||||
mutants = list("icechili", "ghostchili")
|
||||
kitchen_tag = "chili"
|
||||
preset_icon = "chilipepper"
|
||||
@@ -24,7 +24,7 @@
|
||||
seed_name = "ice pepper"
|
||||
display_name = "ice-pepper plants"
|
||||
mutants = null
|
||||
chems = list("frostoil" = list(3,5), "plantmatter" = list(1,50))
|
||||
chems = list("frostoil" = list(3,5), "plantmatter" = list(1,50), "vitamin" = list(1,50))
|
||||
kitchen_tag = "icechili"
|
||||
preset_icon = "icepepper"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
seed_name = "berry"
|
||||
display_name = "berry bush"
|
||||
mutants = list("glowberries","poisonberries")
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "berries"
|
||||
preset_icon = "berrypile"
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
seed_name = "glowberry"
|
||||
display_name = "glowberry bush"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1,10), "uranium" = list(3,5))
|
||||
chems = list("plantmatter" = list(1,10), "uranium" = list(3,5), "vitamin" = list(1,25))
|
||||
preset_icon = "glowberrypile"
|
||||
|
||||
/datum/seed/berry/glow/New()
|
||||
@@ -99,7 +99,7 @@
|
||||
seed_name = "poison berry"
|
||||
display_name = "poison berry bush"
|
||||
mutants = list("deathberries")
|
||||
chems = list("plantmatter" = list(1), "toxin" = list(3,5))
|
||||
chems = list("plantmatter" = list(1), "toxin" = list(3,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "poisonberries"
|
||||
preset_icon = "poisonberrypile"
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
seed_name = "death berry"
|
||||
display_name = "death berry bush"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5))
|
||||
chems = list("plantmatter" = list(1), "toxin" = list(3,3), "lexorin" = list(1,5), "vitamin" = list(1,25))
|
||||
preset_icon = "deathberrypile"
|
||||
|
||||
/datum/seed/berry/poison/death/New()
|
||||
@@ -169,7 +169,7 @@
|
||||
seed_name = "tomato"
|
||||
display_name = "tomato plant"
|
||||
mutants = list("bluetomato","bloodtomato","killertomato")
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "tomato"
|
||||
preset_icon = "tomato"
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
seed_name = "blood tomato"
|
||||
display_name = "blood tomato plant"
|
||||
mutants = list("killertomato")
|
||||
chems = list("protein" = list(1,10), "blood" = list(1,5))
|
||||
chems = list("protein" = list(1,10), "blood" = list(1,5), "vitamin" = list(1,25))
|
||||
splat_type = /obj/effect/decal/cleanable/blood/splatter
|
||||
kitchen_tag = "bloodtomato"
|
||||
preset_icon = "bloodtomato"
|
||||
@@ -222,7 +222,7 @@
|
||||
seed_name = "blue tomato"
|
||||
display_name = "blue tomato plant"
|
||||
mutants = list("bluespacetomato")
|
||||
chems = list("plantmatter" = list(1,20), "lube" = list(1,5))
|
||||
chems = list("plantmatter" = list(1,20), "lube" = list(1,5), "vitamin" = list(1,25))
|
||||
preset_icon = "bluetomato"
|
||||
|
||||
/datum/seed/tomato/blue/New()
|
||||
@@ -237,7 +237,7 @@
|
||||
seed_name = "bluespace tomato"
|
||||
display_name = "bluespace tomato plant"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1,20), "singulo" = list(10,5))
|
||||
chems = list("plantmatter" = list(1,20), "singulo" = list(10,5), "vitamin" = list(1,25))
|
||||
preset_icon = "bluespacetomato"
|
||||
|
||||
/datum/seed/tomato/blue/teleport/New()
|
||||
@@ -254,7 +254,7 @@
|
||||
seed_name = "eggplant"
|
||||
display_name = "eggplants"
|
||||
mutants = list("egg-plant")
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "eggplant"
|
||||
preset_icon = "eggplant"
|
||||
|
||||
@@ -294,7 +294,7 @@
|
||||
seed_name = "apple"
|
||||
display_name = "apple tree"
|
||||
mutants = list("poisonapple","goldapple")
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "apple"
|
||||
preset_icon = "apple"
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
seed_name = "golden apple"
|
||||
display_name = "gold apple tree"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1,10), "gold" = list(1,5))
|
||||
chems = list("plantmatter" = list(1,10), "gold" = list(1,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "goldapple"
|
||||
preset_icon = "goldapple"
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
seed_name = "ambrosia vulgaris"
|
||||
display_name = "ambrosia vulgaris"
|
||||
mutants = list("ambrosiadeus")
|
||||
chems = list("plantmatter" = list(1), "thc" = list(1,8), "silver_sulfadiazine" = list(1,8,1), "styptic_powder" = list(1,10,1), "toxin" = list(1,10))
|
||||
chems = list("plantmatter" = list(1), "thc" = list(1,8), "silver_sulfadiazine" = list(1,8,1), "styptic_powder" = list(1,10,1), "vitamin" = list(1,25), "toxin" = list(1,10))
|
||||
kitchen_tag = "ambrosia"
|
||||
preset_icon = "ambrosiavulgaris"
|
||||
|
||||
@@ -359,7 +359,7 @@
|
||||
seed_name = "ambrosia deus"
|
||||
display_name = "ambrosia deus"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1), "styptic_powder" = list(1,8), "synaptizine" = list(1,8,1), "methamphetamine" = list(1,10,1), "thc" = list(1,10))
|
||||
chems = list("plantmatter" = list(1), "styptic_powder" = list(1,8), "synaptizine" = list(1,8,1), "methamphetamine" = list(1,10,1), "vitamin" = list(1,25), "thc" = list(1,10))
|
||||
kitchen_tag = "ambrosiadeus"
|
||||
preset_icon = "ambrosiadeus"
|
||||
|
||||
@@ -431,7 +431,7 @@
|
||||
seed_name = "tea aspera"
|
||||
display_name = "tea aspera"
|
||||
mutants = list("teaastra")
|
||||
chems = list("teapowder" = list(1,20), "charcoal" = list(1,30))
|
||||
chems = list("teapowder" = list(1,20), "charcoal" = list(1,30), "vitamin" = list(1,25))
|
||||
preset_icon = "tea_aspera_leaves"
|
||||
|
||||
/datum/seed/teaaspera/New()
|
||||
@@ -449,7 +449,7 @@
|
||||
name = "teaastra"
|
||||
seed_name = "tea astra"
|
||||
display_name = "tea astra"
|
||||
chems = list("teapowder" = list(1,20), "haloperidol" = list(1,30))
|
||||
chems = list("teapowder" = list(1,20), "haloperidol" = list(1,30), "vitamin" = list(1,25))
|
||||
preset_icon = "tea_astra_leaves"
|
||||
|
||||
/datum/seed/teaastra/New()
|
||||
@@ -471,7 +471,7 @@
|
||||
seed_name = "coffee arabica"
|
||||
display_name = "coffee arabica"
|
||||
mutants = list("coffeer")
|
||||
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,40))
|
||||
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,40), "vitamin" = list(1,25))
|
||||
kitchen_tag = "coffeea"
|
||||
preset_icon = "coffee_arabica"
|
||||
|
||||
@@ -490,7 +490,7 @@
|
||||
name = "coffeer"
|
||||
seed_name = "coffee robusta"
|
||||
display_name = "coffee robusta"
|
||||
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,20), "methamphetamine" = list(1,40))
|
||||
chems = list("coffeepowder" = list(1,20), "synaptizine" = list(1,20), "methamphetamine" = list(1,40), "vitamin" = list(1,25))
|
||||
kitchen_tag = "coffeer"
|
||||
preset_icon = "coffee_robusta"
|
||||
|
||||
@@ -551,7 +551,7 @@
|
||||
seed_name = "plump helmet"
|
||||
display_name = "plump helmet mushrooms"
|
||||
mutants = list("walkingmushroom","towercap")
|
||||
chems = list("plantmatter" = list(2,10))
|
||||
chems = list("plantmatter" = list(2,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "plumphelmet"
|
||||
preset_icon = "plumphelmet"
|
||||
|
||||
@@ -786,7 +786,7 @@
|
||||
/datum/seed/flower/moonflower
|
||||
name = "moonflowers"
|
||||
seed_name = "moonflowers"
|
||||
chems = list("plantmatter" = list(1,50), "moonshine" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,50), "moonshine" = list(1,10), "vitamin" = list(1,25))
|
||||
mutants = null
|
||||
display_name = "moonflowers"
|
||||
preset_icon = "moonflower"
|
||||
@@ -824,7 +824,7 @@
|
||||
seed_name = "grape"
|
||||
display_name = "grapevines"
|
||||
mutants = list("greengrapes")
|
||||
chems = list("plantmatter" = list(1,10), "sugar" = list(1,5))
|
||||
chems = list("plantmatter" = list(1,10), "sugar" = list(1,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "grapes"
|
||||
preset_icon = "grapes"
|
||||
|
||||
@@ -845,7 +845,7 @@
|
||||
seed_name = "green grape"
|
||||
display_name = "green grapevines"
|
||||
mutants = null
|
||||
chems = list("plantmatter" = list(1,10), "silver_sulfadiazine" = list(3,5))
|
||||
chems = list("plantmatter" = list(1,10), "silver_sulfadiazine" = list(3,5), "vitamin" = list(1,25))
|
||||
preset_icon = "greengrapes"
|
||||
|
||||
/datum/seed/grapes/green/New()
|
||||
@@ -857,7 +857,7 @@
|
||||
name = "soybean"
|
||||
seed_name = "soybean"
|
||||
display_name = "soybeans"
|
||||
chems = list("plantmatter" = list(1,20), "soybeanoil" = list(1,20))
|
||||
chems = list("plantmatter" = list(1,20), "soybeanoil" = list(1,20), "vitamin" = list(1,25))
|
||||
mutants = list("koibean")
|
||||
kitchen_tag = "soybeans"
|
||||
preset_icon = "soybeans"
|
||||
@@ -877,7 +877,7 @@
|
||||
name = "koibean"
|
||||
seed_name = "koibean"
|
||||
display_name = "koi beans"
|
||||
chems = list("plantmatter" = list(1,30), "carpotoxin" = list(1,20))
|
||||
chems = list("plantmatter" = list(1,30), "carpotoxin" = list(1,20), "vitamin" = list(1,25))
|
||||
mutants = null
|
||||
kitchen_tag = "koibean"
|
||||
preset_icon = "koibeans"
|
||||
@@ -918,7 +918,7 @@
|
||||
name = "cabbage"
|
||||
seed_name = "cabbage"
|
||||
display_name = "cabbages"
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "cabbage"
|
||||
preset_icon = "cabbage"
|
||||
|
||||
@@ -938,7 +938,7 @@
|
||||
name = "banana"
|
||||
seed_name = "banana"
|
||||
display_name = "banana tree"
|
||||
chems = list("banana" = list(10,10))
|
||||
chems = list("banana" = list(10,10), "vitamin" = list(1,25))
|
||||
trash_type = /obj/item/weapon/bananapeel
|
||||
kitchen_tag = "banana"
|
||||
preset_icon = "banana"
|
||||
@@ -958,7 +958,7 @@
|
||||
name = "corn"
|
||||
seed_name = "corn"
|
||||
display_name = "ears of corn"
|
||||
chems = list("plantmatter" = list(1,10), "corn_starch" = list(3,5))
|
||||
chems = list("plantmatter" = list(1,10), "corn_starch" = list(3,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "corn"
|
||||
trash_type = /obj/item/weapon/corncob
|
||||
preset_icon = "corn"
|
||||
@@ -978,7 +978,7 @@
|
||||
name = "potato"
|
||||
seed_name = "potato"
|
||||
display_name = "potatoes"
|
||||
chems = list("plantmatter" = list(1,10))
|
||||
chems = list("plantmatter" = list(1,10), "vitamin" = list(1,25))
|
||||
kitchen_tag = "potato"
|
||||
preset_icon = "potato"
|
||||
|
||||
@@ -1035,7 +1035,7 @@
|
||||
name = "carrot"
|
||||
seed_name = "carrot"
|
||||
display_name = "carrots"
|
||||
chems = list("plantmatter" = list(1,20), "oculine" = list(3,5))
|
||||
chems = list("plantmatter" = list(1,20), "oculine" = list(3,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "carrot"
|
||||
preset_icon = "carrot"
|
||||
|
||||
@@ -1070,7 +1070,7 @@
|
||||
name = "whitebeet"
|
||||
seed_name = "white-beet"
|
||||
display_name = "white-beets"
|
||||
chems = list("plantmatter" = list(0,20), "sugar" = list(1,5))
|
||||
chems = list("plantmatter" = list(0,20), "sugar" = list(1,5), "vitamin" = list(1,25))
|
||||
kitchen_tag = "whitebeet"
|
||||
preset_icon = "whitebeet"
|
||||
|
||||
@@ -1109,7 +1109,7 @@
|
||||
name = "watermelon"
|
||||
seed_name = "watermelon"
|
||||
display_name = "watermelon vine"
|
||||
chems = list("plantmatter" = list(1,6))
|
||||
chems = list("plantmatter" = list(1,6), "vitamin" = list(1,25))
|
||||
kitchen_tag = "watermelon"
|
||||
preset_icon = "watermelon"
|
||||
|
||||
@@ -1130,7 +1130,7 @@
|
||||
name = "pumpkin"
|
||||
seed_name = "pumpkin"
|
||||
display_name = "pumpkin vine"
|
||||
chems = list("plantmatter" = list(1,6))
|
||||
chems = list("plantmatter" = list(1,6), "vitamin" = list(1,25))
|
||||
kitchen_tag = "pumpkin"
|
||||
preset_icon = "pumpkin"
|
||||
|
||||
@@ -1150,7 +1150,7 @@
|
||||
name = "lime"
|
||||
seed_name = "lime"
|
||||
display_name = "lime trees"
|
||||
chems = list("plantmatter" = list(1,20))
|
||||
chems = list("plantmatter" = list(1,20), "vitamin" = list(1,25))
|
||||
kitchen_tag = "lime"
|
||||
preset_icon = "lime"
|
||||
|
||||
@@ -1170,7 +1170,7 @@
|
||||
name = "lemon"
|
||||
seed_name = "lemon"
|
||||
display_name = "lemon trees"
|
||||
chems = list("plantmatter" = list(1,20))
|
||||
chems = list("plantmatter" = list(1,20), "vitamin" = list(1,25))
|
||||
mutants = list("cashtree")
|
||||
kitchen_tag = "lemon"
|
||||
preset_icon = "lemon"
|
||||
|
||||
@@ -737,6 +737,7 @@
|
||||
healable = 0
|
||||
var/mode = MINEDRONE_COLLECT
|
||||
var/light_on = 0
|
||||
var/mesons_active
|
||||
|
||||
var/datum/action/innate/minedrone/toggle_light/toggle_light_action
|
||||
var/datum/action/innate/minedrone/toggle_meson_vision/toggle_meson_vision_action
|
||||
@@ -863,6 +864,28 @@
|
||||
mode = MINEDRONE_COLLECT
|
||||
SetCollectBehavior()
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/update_sight()
|
||||
if(!client)
|
||||
return
|
||||
if(stat == DEAD)
|
||||
grant_death_vision()
|
||||
return
|
||||
|
||||
if(mesons_active)
|
||||
sight |= SEE_TURFS
|
||||
see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
else
|
||||
sight &= ~SEE_TURFS
|
||||
see_invisible = SEE_INVISIBLE_LIVING
|
||||
|
||||
see_in_dark = initial(see_in_dark)
|
||||
|
||||
if(client.eye != src)
|
||||
var/atom/A = client.eye
|
||||
if(A.update_remote_sight(src)) //returns 1 if we override all other sight updates.
|
||||
return
|
||||
|
||||
//Actions for sentient minebots
|
||||
|
||||
/datum/action/innate/minedrone
|
||||
@@ -889,15 +912,10 @@
|
||||
|
||||
/datum/action/innate/minedrone/toggle_meson_vision/Activate()
|
||||
var/mob/living/simple_animal/hostile/mining_drone/user = owner
|
||||
user.mesons_active = !user.mesons_active
|
||||
user.update_sight()
|
||||
|
||||
if(user.sight & SEE_TURFS)
|
||||
user.sight &= ~SEE_TURFS
|
||||
user.see_invisible = SEE_INVISIBLE_LIVING
|
||||
else
|
||||
user.sight |= SEE_TURFS
|
||||
user.see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
|
||||
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].</span>")
|
||||
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.mesons_active) ? "on" : "off"].</span>")
|
||||
|
||||
/datum/action/innate/minedrone/toggle_mode
|
||||
name = "Toggle Mode"
|
||||
|
||||
@@ -226,6 +226,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
if(client.statpanel == "Status")
|
||||
show_stat_station_time()
|
||||
show_stat_emergency_shuttle_eta()
|
||||
stat(null, "Respawnability: [(src in respawnable_list) ? "Yes" : "No"]")
|
||||
|
||||
/mob/dead/observer/verb/reenter_corpse()
|
||||
set category = "Ghost"
|
||||
@@ -667,4 +668,4 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
mind.active = 1
|
||||
mind.transfer_to(new_char)
|
||||
else
|
||||
new_char.key = key
|
||||
new_char.key = key
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
/mob/living/carbon/Move(NewLoc, direct)
|
||||
. = ..()
|
||||
if(.)
|
||||
if(src.nutrition && src.stat != 2)
|
||||
src.nutrition -= HUNGER_FACTOR/10
|
||||
if(src.m_intent == "run")
|
||||
src.nutrition -= HUNGER_FACTOR/10
|
||||
if((FAT in src.mutations) && src.m_intent == "run" && src.bodytemperature <= 360)
|
||||
src.bodytemperature += 2
|
||||
if(nutrition && stat != DEAD)
|
||||
nutrition -= HUNGER_FACTOR/10
|
||||
if(m_intent == "run")
|
||||
nutrition -= HUNGER_FACTOR/10
|
||||
if((FAT in mutations) && m_intent == "run" && bodytemperature <= 360)
|
||||
bodytemperature += 2
|
||||
|
||||
// Moving around increases germ_level faster
|
||||
if(germ_level < GERM_LEVEL_MOVE_CAP && prob(8))
|
||||
@@ -939,9 +939,10 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
/mob/living/carbon/proc/eat(var/obj/item/weapon/reagent_containers/food/toEat, mob/user)
|
||||
if(!istype(toEat))
|
||||
return 0
|
||||
var/fullness = 0
|
||||
var/fullness = nutrition + 10
|
||||
if(istype(toEat, /obj/item/weapon/reagent_containers/food/snacks))
|
||||
fullness = nutrition + (reagents.get_reagent_amount("nutriment") * 20) + (reagents.get_reagent_amount("protein") * 25) + (reagents.get_reagent_amount("plantmatter") * 25)
|
||||
for(var/datum/reagent/consumable/C in reagents.reagent_list) //we add the nutrition value of what we're currently digesting
|
||||
fullness += C.nutriment_factor * C.volume / C.metabolization_rate
|
||||
if(user == src)
|
||||
if(istype(toEat, /obj/item/weapon/reagent_containers/food/drinks))
|
||||
if(!selfDrink(toEat))
|
||||
@@ -960,15 +961,18 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
if(istype(toEat, /obj/item/weapon/reagent_containers/food/pill))
|
||||
to_chat(src, "<span class='notify'>You [toEat.apply_method] [toEat].</span>")
|
||||
else
|
||||
if(toEat.junkiness && satiety < -150 && nutrition > NUTRITION_LEVEL_STARVING + 50 )
|
||||
to_chat(src, "<span class='notice'>You don't feel like eating any more junk food at the moment.</span>")
|
||||
return 0
|
||||
if(fullness <= 50)
|
||||
to_chat(src, "<span class='warning'>You hungrily chew out a piece of [toEat] and gobble it!</span>")
|
||||
else if(fullness > 50 && fullness <= 150)
|
||||
else if(fullness > 50 && fullness < 150)
|
||||
to_chat(src, "<span class='notice'>You hungrily begin to eat [toEat].</span>")
|
||||
else if(fullness > 150 && fullness <= 350)
|
||||
else if(fullness > 150 && fullness < 500)
|
||||
to_chat(src, "<span class='notice'>You take a bite of [toEat].</span>")
|
||||
else if(fullness > 350 && fullness <= 550)
|
||||
else if(fullness > 500 && fullness < 600)
|
||||
to_chat(src, "<span class='notice'>You unwillingly chew a bit of [toEat].</span>")
|
||||
else if(fullness > (550 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat
|
||||
else if(fullness > (600 * (1 + overeatduration / 2000))) // The more you eat - the more you can eat
|
||||
to_chat(src, "<span class='warning'>You cannot force any more of [toEat] to go down your throat.</span>")
|
||||
return 0
|
||||
return 1
|
||||
@@ -977,7 +981,7 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
|
||||
return 1
|
||||
|
||||
/mob/living/carbon/proc/forceFed(var/obj/item/weapon/reagent_containers/food/toEat, mob/user, fullness)
|
||||
if(fullness <= (550 * (1 + overeatduration / 1000)))
|
||||
if(fullness <= (600 * (1 + overeatduration / 1000)))
|
||||
if(!toEat.instant_application)
|
||||
visible_message("<span class='warning'>[user] attempts to force [src] to [toEat.apply_method] [toEat].</span>")
|
||||
else
|
||||
@@ -1005,15 +1009,14 @@ so that different stomachs can handle things in different ways VB*/
|
||||
/mob/living/carbon/proc/consume(var/obj/item/weapon/reagent_containers/food/toEat)
|
||||
if(!toEat.reagents)
|
||||
return
|
||||
if(satiety > -200)
|
||||
satiety -= toEat.junkiness
|
||||
if(toEat.consume_sound)
|
||||
playsound(loc, toEat.consume_sound, rand(10,50), 1)
|
||||
if(toEat.reagents.total_volume)
|
||||
toEat.reagents.reaction(src, toEat.apply_type)
|
||||
spawn(0)
|
||||
if(toEat.reagents.total_volume > toEat.bitesize)
|
||||
toEat.reagents.trans_to(src, toEat.bitesize*toEat.transfer_efficiency)
|
||||
else
|
||||
toEat.reagents.trans_to(src, toEat.reagents.total_volume*toEat.transfer_efficiency)
|
||||
var/fraction = min(toEat.bitesize/toEat.reagents.total_volume, 1)
|
||||
toEat.reagents.reaction(src, toEat.apply_type, fraction)
|
||||
toEat.reagents.trans_to(src, toEat.bitesize*toEat.transfer_efficiency)
|
||||
|
||||
/mob/living/carbon/get_access()
|
||||
. = ..()
|
||||
|
||||
@@ -253,10 +253,10 @@
|
||||
if(5)
|
||||
msg += "[t_He] looks absolutely soaked.\n"
|
||||
|
||||
if(nutrition < 100)
|
||||
if(nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] severely malnourished.\n"
|
||||
else if(nutrition >= 500)
|
||||
if(user.nutrition < 100)
|
||||
else if(nutrition >= NUTRITION_LEVEL_FAT)
|
||||
if(user.nutrition < NUTRITION_LEVEL_STARVING - 50)
|
||||
msg += "[t_He] [t_is] plump and delicious looking - Like a fat little piggy. A tasty piggy.\n"
|
||||
else
|
||||
msg += "[t_He] [t_is] quite chubby.\n"
|
||||
@@ -516,7 +516,7 @@
|
||||
return istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(H.glasses, /obj/item/clothing/glasses/hud/health/health_advanced) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical)
|
||||
else
|
||||
return 0
|
||||
else if(istype(M, /mob/living/silicon))
|
||||
else if(isrobot(M) || isAI(M)) //Stand-in/Stopgap to prevent pAIs from freely altering records, pending a more advanced Records system
|
||||
switch(hudtype)
|
||||
if("security")
|
||||
return 1
|
||||
|
||||
@@ -351,9 +351,7 @@ emp_act
|
||||
if(ismob(I.thrower))
|
||||
var/mob/M = I.thrower
|
||||
if(M)
|
||||
src.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been hit with a [I], thrown by [key_name(M)]</font>")
|
||||
M.attack_log += text("\[[time_stamp()]\] <font color='red'>Hit [key_name(src)] with a thrown [I]</font>")
|
||||
msg_admin_attack("[key_name_admin(src)] was hit by a [I], thrown by [key_name_admin(M)]", print_attack_log = I.throwforce)
|
||||
add_logs(M, src, "hit", I, " (thrown)", print_attack_log = I.throwforce)
|
||||
|
||||
//thrown weapon embedded object code.
|
||||
if(dtype == BRUTE && istype(I))
|
||||
|
||||
@@ -442,7 +442,7 @@
|
||||
|
||||
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/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/rawmeatball, /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_ball, /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/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)
|
||||
|
||||
try
|
||||
var/list/allContents = getAllContents()
|
||||
|
||||
@@ -506,17 +506,14 @@
|
||||
//END FIRE CODE
|
||||
|
||||
/mob/living/carbon/human/proc/stabilize_temperature_from_calories()
|
||||
var/body_temperature_difference = species.body_temperature - bodytemperature
|
||||
|
||||
if(bodytemperature <= species.cold_level_1) //260.15 is 310.15 - 50, the temperature where you start to feel effects.
|
||||
if(nutrition >= 2) //If we are very, very cold we'll use up quite a bit of nutriment to heat us up.
|
||||
nutrition -= 2
|
||||
var/body_temperature_difference = species.body_temperature - bodytemperature
|
||||
bodytemperature += max((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
|
||||
bodytemperature += max((body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR), BODYTEMP_AUTORECOVERY_MINIMUM)
|
||||
if(bodytemperature >= species.cold_level_1 && bodytemperature <= species.heat_level_1)
|
||||
var/body_temperature_difference = species.body_temperature - bodytemperature
|
||||
bodytemperature += body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR
|
||||
bodytemperature += body_temperature_difference * metabolism_efficiency / BODYTEMP_AUTORECOVERY_DIVISOR
|
||||
if(bodytemperature >= species.heat_level_1) //360.15 is 310.15 + 50, the temperature where you start to feel effects.
|
||||
//We totally need a sweat system cause it totally makes sense...~
|
||||
var/body_temperature_difference = species.body_temperature - bodytemperature
|
||||
bodytemperature += min((body_temperature_difference / BODYTEMP_AUTORECOVERY_DIVISOR), -BODYTEMP_AUTORECOVERY_MINIMUM) //We're dealing with negative numbers
|
||||
|
||||
|
||||
@@ -676,11 +673,20 @@
|
||||
becomeFat()
|
||||
|
||||
// nutrition decrease
|
||||
if(nutrition > 0 && stat != 2)
|
||||
nutrition = max (0, nutrition - HUNGER_FACTOR)
|
||||
if(nutrition > 0 && stat != DEAD)
|
||||
// THEY HUNGER
|
||||
var/hunger_rate = HUNGER_FACTOR
|
||||
if(satiety > 0)
|
||||
satiety--
|
||||
if(satiety < 0)
|
||||
satiety++
|
||||
if(prob(round(-satiety/40)))
|
||||
Jitter(5)
|
||||
hunger_rate = 3 * HUNGER_FACTOR
|
||||
nutrition = max(0, nutrition - hunger_rate)
|
||||
|
||||
if(nutrition > 450)
|
||||
if(overeatduration < 800) //capped so people don't take forever to unfat
|
||||
if(nutrition > NUTRITION_LEVEL_FULL)
|
||||
if(overeatduration < 600) //capped so people don't take forever to unfat
|
||||
overeatduration++
|
||||
|
||||
else
|
||||
@@ -690,6 +696,22 @@
|
||||
else
|
||||
overeatduration -= 2
|
||||
|
||||
//metabolism change
|
||||
if(nutrition > NUTRITION_LEVEL_FAT)
|
||||
metabolism_efficiency = 1
|
||||
else if(nutrition > NUTRITION_LEVEL_FED && satiety > 80)
|
||||
if(metabolism_efficiency != 1.25)
|
||||
to_chat(src, "<span class='notice'>You feel vigorous.</span>")
|
||||
metabolism_efficiency = 1.25
|
||||
else if(nutrition < NUTRITION_LEVEL_STARVING + 50)
|
||||
if(metabolism_efficiency != 0.8)
|
||||
to_chat(src, "<span class='notice'>You feel sluggish.</span>")
|
||||
metabolism_efficiency = 0.8
|
||||
else
|
||||
if(metabolism_efficiency == 1.25)
|
||||
to_chat(src, "<span class='notice'>You no longer feel vigorous.</span>")
|
||||
metabolism_efficiency = 1
|
||||
|
||||
if(drowsyness)
|
||||
AdjustDrowsy(-1)
|
||||
EyeBlurry(2)
|
||||
@@ -932,20 +954,8 @@
|
||||
if(getToxLoss() >= 45 && nutrition > 20)
|
||||
lastpuke ++
|
||||
if(lastpuke >= 25) // about 25 second delay I guess
|
||||
Stun(5)
|
||||
|
||||
visible_message("<span class='danger'>[src] throws up!</span>", \
|
||||
"<span class='userdanger'>[src] throws up!</span>")
|
||||
playsound(loc, 'sound/effects/splat.ogg', 50, 1)
|
||||
|
||||
var/turf/location = loc
|
||||
if(istype(location, /turf/simulated))
|
||||
location.add_vomit_floor(src, 1)
|
||||
|
||||
nutrition -= 20
|
||||
vomit(20, 0, 1, 0, 1)
|
||||
adjustToxLoss(-3)
|
||||
|
||||
// make it so you can only puke so fast
|
||||
lastpuke = 0
|
||||
|
||||
//0.1% chance of playing a scary sound to someone who's in complete darkness
|
||||
|
||||
@@ -559,8 +559,12 @@
|
||||
switch(H.nutrition)
|
||||
if(NUTRITION_LEVEL_FULL to INFINITY)
|
||||
H.throw_alert("nutrition", /obj/screen/alert/fat)
|
||||
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FULL)
|
||||
H.clear_alert("nutrition")
|
||||
if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
|
||||
H.throw_alert("nutrition", /obj/screen/alert/full)
|
||||
if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
|
||||
H.throw_alert("nutrition", /obj/screen/alert/well_fed)
|
||||
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
|
||||
H.throw_alert("nutrition", /obj/screen/alert/fed)
|
||||
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
|
||||
H.throw_alert("nutrition", /obj/screen/alert/hungry)
|
||||
else
|
||||
|
||||
@@ -817,8 +817,8 @@
|
||||
H.nutrition += light_amount
|
||||
H.traumatic_shock -= light_amount
|
||||
|
||||
if(H.nutrition > 450)
|
||||
H.nutrition = 450
|
||||
if(H.nutrition > NUTRITION_LEVEL_WELL_FED)
|
||||
H.nutrition = NUTRITION_LEVEL_WELL_FED
|
||||
|
||||
if(light_amount > 0)
|
||||
H.clear_alert("nolight")
|
||||
|
||||
@@ -345,7 +345,7 @@
|
||||
SetDruggy(0)
|
||||
SetHallucinate(0)
|
||||
blinded = 0
|
||||
nutrition = 400
|
||||
nutrition = NUTRITION_LEVEL_FED + 50
|
||||
bodytemperature = 310
|
||||
CureBlind()
|
||||
CureNearsighted()
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
var/implanting = 0 //Used for the mind-slave implant
|
||||
var/floating = 0
|
||||
var/mob_size = MOB_SIZE_HUMAN
|
||||
var/metabolism_efficiency = 1 //more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
|
||||
var/nightvision = 0
|
||||
|
||||
var/bloodcrawl = 0 //0 No blood crawling, 1 blood crawling, 2 blood crawling+mob devour
|
||||
|
||||
@@ -408,9 +408,22 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
return
|
||||
|
||||
var/atom/whisper_loc = get_whisper_loc()
|
||||
var/list/listening = hearers(message_range, whisper_loc)
|
||||
var/list/listening = hear(message_range, whisper_loc)
|
||||
listening |= src
|
||||
|
||||
var/list/hearturfs = list()
|
||||
|
||||
//Pass whispers on to anything inside the immediate listeners.
|
||||
// This comes before the ghosts do so that ghosts don't act as whisper relays
|
||||
for(var/atom/L in listening)
|
||||
if(ismob(L))
|
||||
for(var/mob/C in L.contents)
|
||||
if(isliving(C))
|
||||
listening += C
|
||||
hearturfs += get_turf(L)
|
||||
if(isobj(L))
|
||||
hearturfs += get_turf(L)
|
||||
|
||||
//ghosts
|
||||
for(var/mob/M in dead_mob_list) //does this include players who joined as observers as well?
|
||||
if(!M.client)
|
||||
@@ -418,11 +431,14 @@ proc/get_radio_key_from_channel(var/channel)
|
||||
if(M.stat == DEAD && M.client && M.get_preference(CHAT_GHOSTEARS))
|
||||
listening |= M
|
||||
|
||||
//Pass whispers on to anything inside the immediate listeners.
|
||||
for(var/mob/L in listening)
|
||||
for(var/mob/C in L.contents)
|
||||
if(isliving(C))
|
||||
listening += C
|
||||
// This, in tandem with "hearturfs", lets nested mobs hear whispers that are in range
|
||||
// Grifted from saycode above.
|
||||
for(var/mob/M in player_list)
|
||||
if(!M.client || isnewplayer(M))
|
||||
continue //skip monkeys and leavers
|
||||
if(get_turf(M) in hearturfs)
|
||||
listening |= M
|
||||
|
||||
|
||||
//pass on the message to objects that can hear us.
|
||||
for(var/obj/O in view(message_range, whisper_loc))
|
||||
|
||||
@@ -24,6 +24,5 @@
|
||||
//Read as: I have no idea what I'm doing but asking for help got me nowhere so this is what you get. - Nodrak
|
||||
if(mind) qdel(mind)
|
||||
living_mob_list -= src
|
||||
ghostize()
|
||||
if(icon_state != "[chassis]_dead" || cleanWipe)
|
||||
qdel(src)
|
||||
|
||||
@@ -114,6 +114,11 @@
|
||||
C.toff = 1
|
||||
..()
|
||||
|
||||
/mob/living/silicon/pai/update_icons()
|
||||
if(stat == DEAD)
|
||||
icon_state = "[chassis]_dead"
|
||||
else
|
||||
icon_state = resting ? "[chassis]_rest" : "[chassis]"
|
||||
|
||||
// this function shows the information about being silenced as a pAI in the Status panel
|
||||
/mob/living/silicon/pai/proc/show_silenced()
|
||||
@@ -420,17 +425,17 @@
|
||||
set category = "IC"
|
||||
|
||||
// Pass lying down or getting up to our pet human, if we're in a rig.
|
||||
if(istype(src.loc,/obj/item/device/paicard))
|
||||
if(stat == CONSCIOUS && istype(src.loc,/obj/item/device/paicard))
|
||||
resting = 0
|
||||
var/obj/item/weapon/rig/rig = src.get_rig()
|
||||
if(istype(rig))
|
||||
rig.force_rest(src)
|
||||
else
|
||||
resting = !resting
|
||||
icon_state = resting ? "[chassis]_rest" : "[chassis]"
|
||||
to_chat(src, "<span class='notice'>You are now [resting ? "resting" : "getting up"]</span>")
|
||||
|
||||
canmove = !resting
|
||||
update_icons()
|
||||
update_canmove()
|
||||
|
||||
//Overriding this will stop a number of headaches down the track.
|
||||
/mob/living/silicon/pai/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
|
||||
@@ -28,6 +28,9 @@ var/datum/paiController/paiController // Global handler for pAI candidates
|
||||
if("signup" in href_list)
|
||||
var/mob/dead/observer/O = locate(href_list["signup"])
|
||||
if(!O) return
|
||||
if(!(O in respawnable_list))
|
||||
to_chat(O, "You've given up your ability to respawn!")
|
||||
return
|
||||
if(!check_recruit(O)) return
|
||||
recruitWindow(O)
|
||||
return
|
||||
@@ -361,6 +364,8 @@ var/datum/paiController/paiController // Global handler for pAI candidates
|
||||
return 0
|
||||
if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
|
||||
return 0
|
||||
if(!(O in respawnable_list))
|
||||
return 0
|
||||
if(O.client)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -6,8 +6,11 @@
|
||||
|
||||
/mob/living/silicon/pai/get_whisper_loc()
|
||||
if(loc == card) // currently in its card?
|
||||
if(istype(card.loc, /mob/living))
|
||||
return card.loc // allow a pai being held or in pocket to whisper
|
||||
var/atom/movable/whisper_loc = card
|
||||
if(istype(card.loc, /obj/item/device/pda)) // Step up 1 level if in a PDA
|
||||
whisper_loc = card.loc
|
||||
if(istype(whisper_loc.loc, /mob/living))
|
||||
return whisper_loc.loc // allow a pai being held or in pocket to whisper
|
||||
else
|
||||
return card // allow a pai in its card to whisper
|
||||
return ..()
|
||||
return whisper_loc // allow a pai in its card to whisper
|
||||
return ..()
|
||||
|
||||
@@ -14,10 +14,6 @@
|
||||
return 0
|
||||
|
||||
O.mouse_opacity = 2
|
||||
if(istype(O,/obj/item/borg/sight))
|
||||
var/obj/item/borg/sight/S = O
|
||||
sight_mode &= ~S.sight_mode
|
||||
update_sight()
|
||||
|
||||
if(client)
|
||||
client.screen -= O
|
||||
@@ -53,7 +49,6 @@
|
||||
if((cell.charge * 100 / cell.maxcharge) < B.powerneeded)
|
||||
to_chat(src, "Not enough power to activate [B.name]!")
|
||||
return
|
||||
var/activated_thingy = null
|
||||
if(!module_state_1)
|
||||
O.mouse_opacity = initial(O.mouse_opacity)
|
||||
module_state_1 = O
|
||||
@@ -61,7 +56,6 @@
|
||||
O.plane = HUD_PLANE
|
||||
O.screen_loc = inv1.screen_loc
|
||||
contents += O
|
||||
activated_thingy = O
|
||||
else if(!module_state_2)
|
||||
O.mouse_opacity = initial(O.mouse_opacity)
|
||||
module_state_2 = O
|
||||
@@ -69,7 +63,6 @@
|
||||
O.plane = HUD_PLANE
|
||||
O.screen_loc = inv2.screen_loc
|
||||
contents += O
|
||||
activated_thingy = O
|
||||
else if(!module_state_3)
|
||||
O.mouse_opacity = initial(O.mouse_opacity)
|
||||
module_state_3 = O
|
||||
@@ -77,11 +70,8 @@
|
||||
O.plane = HUD_PLANE
|
||||
O.screen_loc = inv3.screen_loc
|
||||
contents += O
|
||||
activated_thingy = O
|
||||
else
|
||||
to_chat(src, "You need to disable a module first!")
|
||||
if(istype(activated_thingy,/obj/item/borg/sight))
|
||||
update_sight()
|
||||
update_icons()
|
||||
|
||||
/mob/living/silicon/robot/proc/uneq_active()
|
||||
|
||||
@@ -86,6 +86,7 @@ var/list/robot_verbs_default = list(
|
||||
var/datum/effect/system/ion_trail_follow/ion_trail // Ionpulse effect.
|
||||
|
||||
var/datum/action/item_action/toggle_research_scanner/scanner = null
|
||||
var/list/module_actions = list()
|
||||
|
||||
/mob/living/silicon/robot/New(loc,var/syndie = 0,var/unfinished = 0, var/alien = 0)
|
||||
spark_system = new /datum/effect/system/spark_spread()
|
||||
@@ -371,7 +372,7 @@ var/list/robot_verbs_default = list(
|
||||
//languages
|
||||
module.add_languages(src)
|
||||
//subsystems
|
||||
module.add_subsystems(src)
|
||||
module.add_subsystems_and_actions(src)
|
||||
|
||||
//Custom_sprite check and entry
|
||||
if(custom_sprite == 1)
|
||||
@@ -976,21 +977,17 @@ var/list/robot_verbs_default = list(
|
||||
else
|
||||
overlays -= "eyes"
|
||||
|
||||
if(opened && custom_sprite == 1) //Custom borgs also have custom panels, heh
|
||||
if(wiresexposed)
|
||||
overlays += "[src.ckey]-openpanel +w"
|
||||
else if(cell)
|
||||
overlays += "[src.ckey]-openpanel +c"
|
||||
else
|
||||
overlays += "[src.ckey]-openpanel -c"
|
||||
|
||||
if(opened)
|
||||
var/panelprefix = "ov"
|
||||
if(custom_sprite) //Custom borgs also have custom panels, heh
|
||||
panelprefix = "[ckey]"
|
||||
|
||||
if(wiresexposed)
|
||||
overlays += "ov-openpanel +w"
|
||||
overlays += "[panelprefix]-openpanel +w"
|
||||
else if(cell)
|
||||
overlays += "ov-openpanel +c"
|
||||
overlays += "[panelprefix]-openpanel +c"
|
||||
else
|
||||
overlays += "ov-openpanel -c"
|
||||
overlays += "[panelprefix]-openpanel -c"
|
||||
|
||||
var/combat = list("Combat","Peacekeeper")
|
||||
if(modtype in combat)
|
||||
@@ -1424,7 +1421,7 @@ var/list/robot_verbs_default = list(
|
||||
//languages
|
||||
module.add_languages(src)
|
||||
//subsystems
|
||||
module.add_subsystems(src)
|
||||
module.add_subsystems_and_actions(src)
|
||||
|
||||
status_flags &= ~CANPUSH
|
||||
|
||||
@@ -1443,7 +1440,7 @@ var/list/robot_verbs_default = list(
|
||||
//languages
|
||||
module.add_languages(src)
|
||||
//subsystems
|
||||
module.add_subsystems(src)
|
||||
module.add_subsystems_and_actions(src)
|
||||
|
||||
status_flags &= ~CANPUSH
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
/datum/action/innate/robot_sight
|
||||
var/sight_mode = null
|
||||
icon_icon = 'icons/obj/decals.dmi'
|
||||
button_icon_state = "securearea"
|
||||
|
||||
/datum/action/innate/robot_sight/Activate()
|
||||
var/mob/living/silicon/robot/R = owner
|
||||
R.sight_mode |= sight_mode
|
||||
R.update_sight()
|
||||
active = 1
|
||||
|
||||
/datum/action/innate/robot_sight/Deactivate()
|
||||
var/mob/living/silicon/robot/R = owner
|
||||
R.sight_mode &= ~sight_mode
|
||||
R.update_sight()
|
||||
active = 0
|
||||
|
||||
/datum/action/innate/robot_sight/xray
|
||||
name = "X-ray Vision"
|
||||
sight_mode = BORGXRAY
|
||||
|
||||
/datum/action/innate/robot_sight/thermal
|
||||
name = "Thermal Vision"
|
||||
sight_mode = BORGTHERM
|
||||
icon_icon = 'icons/obj/clothing/glasses.dmi'
|
||||
button_icon_state = "thermal"
|
||||
|
||||
// ayylmao
|
||||
/datum/action/innate/robot_sight/thermal/alien
|
||||
icon_icon = 'icons/mob/alien.dmi'
|
||||
button_icon_state = "borg-extra-vision"
|
||||
|
||||
/datum/action/innate/robot_sight/meson
|
||||
name = "Meson Vision"
|
||||
sight_mode = BORGMESON
|
||||
icon_icon = 'icons/obj/clothing/glasses.dmi'
|
||||
button_icon_state = "meson"
|
||||
@@ -9,6 +9,7 @@
|
||||
var/list/modules = list()
|
||||
var/obj/item/emag = null
|
||||
var/list/subsystems = list()
|
||||
var/list/module_actions = list()
|
||||
|
||||
var/module_type = "NoMod" // For icon usage
|
||||
|
||||
@@ -92,11 +93,19 @@
|
||||
R.add_language("Orluum", 0)
|
||||
R.add_language("Clownish",0)
|
||||
|
||||
/obj/item/weapon/robot_module/proc/add_subsystems(mob/living/silicon/robot/R)
|
||||
/obj/item/weapon/robot_module/proc/add_subsystems_and_actions(mob/living/silicon/robot/R)
|
||||
R.verbs |= subsystems
|
||||
for(var/A in module_actions)
|
||||
var/datum/action/act = new A()
|
||||
act.Grant(R)
|
||||
R.module_actions += act
|
||||
|
||||
/obj/item/weapon/robot_module/proc/remove_subsystems(mob/living/silicon/robot/R)
|
||||
/obj/item/weapon/robot_module/proc/remove_subsystems_and_actions(mob/living/silicon/robot/R)
|
||||
R.verbs -= subsystems
|
||||
for(var/datum/action/A in R.module_actions)
|
||||
A.Remove(R)
|
||||
qdel(A)
|
||||
R.module_actions.Cut()
|
||||
|
||||
/obj/item/weapon/robot_module/standard
|
||||
name = "standard robot module"
|
||||
@@ -166,6 +175,9 @@
|
||||
name = "engineering robot module"
|
||||
module_type = "Engineer"
|
||||
subsystems = list(/mob/living/silicon/proc/subsystem_power_monitor)
|
||||
module_actions = list(
|
||||
/datum/action/innate/robot_sight/meson,
|
||||
)
|
||||
|
||||
stacktypes = list(
|
||||
/obj/item/stack/sheet/metal/cyborg = 50,
|
||||
@@ -178,7 +190,6 @@
|
||||
|
||||
/obj/item/weapon/robot_module/engineering/New()
|
||||
..()
|
||||
modules += new /obj/item/borg/sight/meson(src)
|
||||
modules += new /obj/item/weapon/rcd/borg(src)
|
||||
modules += new /obj/item/weapon/extinguisher(src)
|
||||
modules += new /obj/item/weapon/weldingtool/largetank/cyborg(src)
|
||||
@@ -297,10 +308,12 @@
|
||||
/obj/item/weapon/robot_module/miner
|
||||
name = "miner robot module"
|
||||
module_type = "Miner"
|
||||
module_actions = list(
|
||||
/datum/action/innate/robot_sight/meson,
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/miner/New()
|
||||
..()
|
||||
modules += new /obj/item/borg/sight/meson(src)
|
||||
modules += new /obj/item/weapon/storage/bag/ore/cyborg(src)
|
||||
modules += new /obj/item/weapon/pickaxe/drill/cyborg(src)
|
||||
modules += new /obj/item/weapon/shovel(src)
|
||||
@@ -317,10 +330,12 @@
|
||||
/obj/item/weapon/robot_module/deathsquad
|
||||
name = "NT advanced combat module"
|
||||
module_type = "Malf"
|
||||
module_actions = list(
|
||||
/datum/action/innate/robot_sight/thermal,
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/deathsquad/New()
|
||||
..()
|
||||
modules += new /obj/item/borg/sight/thermal(src)
|
||||
modules += new /obj/item/weapon/melee/energy/sword/cyborg(src)
|
||||
modules += new /obj/item/weapon/gun/energy/pulse/cyborg(src)
|
||||
modules += new /obj/item/weapon/crowbar(src)
|
||||
@@ -385,11 +400,13 @@
|
||||
/obj/item/weapon/robot_module/combat
|
||||
name = "combat robot module"
|
||||
module_type = "Malf"
|
||||
module_actions = list(
|
||||
/datum/action/innate/robot_sight/thermal,
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/combat/New()
|
||||
..()
|
||||
modules += new /obj/item/weapon/restraints/handcuffs/cable/zipties/cyborg(src)
|
||||
modules += new /obj/item/borg/sight/thermal(src)
|
||||
modules += new /obj/item/weapon/gun/energy/gun/cyborg(src)
|
||||
modules += new /obj/item/weapon/pickaxe/drill/jackhammer(src)
|
||||
modules += new /obj/item/borg/combat/shield(src)
|
||||
@@ -418,11 +435,13 @@
|
||||
/obj/item/weapon/robot_module/alien/hunter
|
||||
name = "alien hunter module"
|
||||
module_type = "Standard"
|
||||
module_actions = list(
|
||||
/datum/action/innate/robot_sight/thermal/alien,
|
||||
)
|
||||
|
||||
/obj/item/weapon/robot_module/alien/hunter/New()
|
||||
modules += new /obj/item/weapon/melee/energy/alien/claws(src)
|
||||
modules += new /obj/item/device/flash/cyborg/alien(src)
|
||||
modules += new /obj/item/borg/sight/thermal/alien(src)
|
||||
var/obj/item/weapon/reagent_containers/spray/alien/stun/S = new /obj/item/weapon/reagent_containers/spray/alien/stun(src)
|
||||
S.reagents.add_reagent("ether",250) //nerfed to sleeptoxin to make it less instant drop.
|
||||
modules += S
|
||||
|
||||
@@ -67,7 +67,8 @@
|
||||
var/bodytemperature = 310.055 //98.7 F
|
||||
var/flying = 0
|
||||
var/charges = 0.0
|
||||
var/nutrition = 400.0//Carbon
|
||||
var/nutrition = NUTRITION_LEVEL_FED + 50 //Carbon
|
||||
var/satiety = 0 //Carbon
|
||||
|
||||
var/overeatduration = 0 // How long this guy is overeating //Carbon
|
||||
var/intent = null//Living
|
||||
|
||||
@@ -494,6 +494,9 @@
|
||||
if(mind.assigned_role == "Clown") //give them a clownname if they are a clown
|
||||
new_character.real_name = pick(clown_names) //I hate this being here of all places but unfortunately dna is based on real_name!
|
||||
new_character.rename_self("clown")
|
||||
else if(mind.assigned_role == "Mime")
|
||||
new_character.real_name = pick(mime_names)
|
||||
new_character.rename_self("mime")
|
||||
else if(new_character.species == "Diona")
|
||||
new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name!
|
||||
new_character.rename_self("diona")
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
return STATUS_UPDATE // Ghosts can view updates
|
||||
|
||||
/mob/living/silicon/pai/default_can_use_topic(var/src_object)
|
||||
if(src_object == src && !stat)
|
||||
if((src_object == src || src_object == radio) && stat == CONSCIOUS)
|
||||
return STATUS_INTERACTIVE
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -678,7 +678,7 @@
|
||||
to_chat(H, "<span class='warning'>The APC power currents surge erratically, damaging your chassis!</span>")
|
||||
H.adjustFireLoss(10,0)
|
||||
else if(src.cell && src.cell.charge > 0)
|
||||
if(H.nutrition < 450)
|
||||
if(H.nutrition < NUTRITION_LEVEL_WELL_FED)
|
||||
if(src.cell.charge >= 500)
|
||||
H.nutrition += 50
|
||||
src.cell.charge -= 500
|
||||
@@ -689,8 +689,8 @@
|
||||
to_chat(user, "<span class='notice'>You slot your fingers into the APC interface and siphon off some of the stored charge for your own use.</span>")
|
||||
if(src.cell.charge < 0)
|
||||
src.cell.charge = 0
|
||||
if(H.nutrition > 500)
|
||||
H.nutrition = 500
|
||||
if(H.nutrition > NUTRITION_LEVEL_WELL_FED + 50)
|
||||
H.nutrition = NUTRITION_LEVEL_WELL_FED + 50
|
||||
src.charging = 1
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You are already fully charged.</span>")
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
var/message ="<span class='warning'>You irradiate yourself with pure energy! "
|
||||
message += pick("Do not pass go. Do not collect 200 zorkmids.</span>","You feel more confident in your spell casting skills.</span>","You Die...</span>","Do you want your possessions identified?</span>")
|
||||
to_chat(user, message)
|
||||
user.adjustFireLoss(500)
|
||||
user.adjustFireLoss(3000)
|
||||
charges--
|
||||
..()
|
||||
|
||||
|
||||
@@ -10,9 +10,6 @@
|
||||
/obj/item/projectile/magic/death
|
||||
name = "bolt of death"
|
||||
icon_state = "pulse1_bl"
|
||||
damage_type = BURN //OXY does not kill IPCs
|
||||
damage = 50000
|
||||
nodamage = 0
|
||||
|
||||
/obj/item/projectile/magic/fireball
|
||||
name = "bolt of fireball"
|
||||
@@ -27,6 +24,12 @@
|
||||
var/exp_flash = 3
|
||||
var/exp_fire = 2
|
||||
|
||||
/obj/item/projectile/magic/death/on_hit(var/mob/living/carbon/G)
|
||||
. = ..()
|
||||
if(isliving(G))
|
||||
G.adjustFireLoss(3000)
|
||||
visible_message("<span class='danger'>[G] topples backwards as the death bolt impacts them!</span>")
|
||||
|
||||
/obj/item/projectile/magic/fireball/Range()
|
||||
var/turf/T1 = get_step(src,turn(dir, -45))
|
||||
var/turf/T2 = get_step(src,turn(dir, 45))
|
||||
|
||||
@@ -136,12 +136,11 @@
|
||||
var/mob/living/M = target
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
|
||||
if(H.species.flags & IS_PLANT)
|
||||
if(prob(15))
|
||||
M.apply_effect((rand(30,80)),IRRADIATE)
|
||||
M.Weaken(5)
|
||||
for(var/mob/V in viewers(src))
|
||||
V.show_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", 3, "<span class='warning'>You hear the crunching of leaves.</span>", 2)
|
||||
M.visible_message("<span class='warning'>[M] writhes in pain as \his vacuoles boil.</span>", "<span class='userdanger'>You writhe in pain as your vacuoles boil!</span>", "<span class='italics'>You hear the crunching of leaves.</span>")
|
||||
if(prob(35))
|
||||
if(prob(80))
|
||||
randmutb(M)
|
||||
@@ -152,7 +151,7 @@
|
||||
else
|
||||
M.adjustFireLoss(rand(5,15))
|
||||
M.show_message("<span class='warning'>The radiation beam singes you!</span>")
|
||||
else if(istype(target, /mob/living/carbon/))
|
||||
else if(iscarbon(target))
|
||||
M.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
else
|
||||
return 1
|
||||
@@ -170,9 +169,9 @@
|
||||
var/mob/M = target
|
||||
if(ishuman(target)) //These rays make plantmen fat.
|
||||
var/mob/living/carbon/human/H = M
|
||||
if((H.species.flags & IS_PLANT) && (M.nutrition < 500))
|
||||
M.nutrition += 30
|
||||
else if(istype(target, /mob/living/carbon/))
|
||||
if(H.species.flags & IS_PLANT)
|
||||
H.nutrition = min(H.nutrition+30, NUTRITION_LEVEL_FULL)
|
||||
else if(iscarbon(target))
|
||||
M.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
else
|
||||
return 1
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
/datum/reagent/proc/on_mob_life(mob/living/M)
|
||||
current_cycle++
|
||||
holder.remove_reagent(id, metabolization_rate) //By default it slowly disappears.
|
||||
holder.remove_reagent(id, metabolization_rate * M.metabolism_efficiency) //By default it slowly disappears.
|
||||
|
||||
/datum/reagent/proc/on_mob_death(mob/living/M) //use this to have chems have a "death-triggered" effect
|
||||
return
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
name = "Beer"
|
||||
id = "beer"
|
||||
description = "An alcoholic beverage made from malted grains, hops, yeast, and water."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
alcohol_perc = 0.2
|
||||
drink_icon ="beerglass"
|
||||
@@ -49,6 +49,7 @@
|
||||
id = "cider"
|
||||
description = "An alcoholic beverage derived from apples."
|
||||
color = "#174116"
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
alcohol_perc = 0.2
|
||||
drink_icon = "rewriter"
|
||||
drink_name = "Cider"
|
||||
@@ -217,6 +218,7 @@
|
||||
description = "A potent mixture of caffeine and alcohol."
|
||||
reagent_state = LIQUID
|
||||
color = "#102000" // rgb: 16, 32, 0
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
alcohol_perc = 0.3
|
||||
heart_rate_increase = 1
|
||||
drink_icon = "thirteen_loko_glass"
|
||||
@@ -240,6 +242,7 @@
|
||||
description = "This appears to be beer mixed with milk. Disgusting."
|
||||
reagent_state = LIQUID
|
||||
color = "#895C4C" // rgb: 137, 92, 76
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
alcohol_perc = 0.2
|
||||
drink_icon = "glass_brown"
|
||||
drink_name = "Glass of bilk"
|
||||
@@ -714,6 +717,7 @@
|
||||
description = "A Vikings drink, though a cheap one."
|
||||
reagent_state = LIQUID
|
||||
color = "#664300" // rgb: 102, 67, 0
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
alcohol_perc = 0.2
|
||||
drink_icon = "meadglass"
|
||||
drink_name = "Mead"
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
name = "Hot Chocolate"
|
||||
id = "hot_coco"
|
||||
description = "Made with love! And coco beans."
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
nutriment_factor = 3 * REAGENTS_METABOLISM
|
||||
color = "#403010" // rgb: 64, 48, 16
|
||||
adj_temp_hot = 5
|
||||
drink_icon = "hot_coco"
|
||||
@@ -225,6 +225,7 @@
|
||||
id = "coffee"
|
||||
description = "Coffee is a brewed drink prepared from roasted seeds, commonly called coffee beans, of the coffee plant."
|
||||
color = "#482000" // rgb: 72, 32, 0
|
||||
nutriment_factor = 0
|
||||
adj_dizzy = -5
|
||||
adj_drowsy = -3
|
||||
adj_sleepy = -2
|
||||
@@ -307,6 +308,7 @@
|
||||
id = "tea"
|
||||
description = "Tasty black tea: It has antioxidants. It's good for you!"
|
||||
color = "#101000" // rgb: 16, 16, 0
|
||||
nutriment_factor = 0
|
||||
adj_dizzy = -2
|
||||
adj_drowsy = -1
|
||||
adj_sleepy = -3
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
id = "nutriment"
|
||||
description = "A questionable mixture of various pure nutrients commonly found in processed foods."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 12 * REAGENTS_METABOLISM
|
||||
nutriment_factor = 15 * REAGENTS_METABOLISM
|
||||
color = "#664330" // rgb: 102, 67, 48
|
||||
|
||||
/datum/reagent/consumable/nutriment/on_mob_life(mob/living/M)
|
||||
@@ -42,14 +42,12 @@
|
||||
name = "Protein"
|
||||
id = "protein"
|
||||
description = "Various essential proteins and fats commonly found in animal flesh and blood."
|
||||
nutriment_factor = 15 * REAGENTS_METABOLISM
|
||||
diet_flags = DIET_CARN | DIET_OMNI
|
||||
|
||||
/datum/reagent/consumable/nutriment/plantmatter // Plant-based biomatter, digestable by herbivores and omnivores, worthless to carnivores
|
||||
name = "Plant-matter"
|
||||
id = "plantmatter"
|
||||
description = "Vitamin-rich fibers and natural sugars commonly found in fresh produce."
|
||||
nutriment_factor = 15 * REAGENTS_METABOLISM
|
||||
diet_flags = DIET_HERB | DIET_OMNI
|
||||
|
||||
/datum/reagent/consumable/vitamin
|
||||
@@ -63,6 +61,8 @@
|
||||
if(prob(50))
|
||||
M.adjustBruteLoss(-1)
|
||||
M.adjustFireLoss(-1)
|
||||
if(M.satiety < 600)
|
||||
M.satiety += 30
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.species.exotic_blood)
|
||||
@@ -72,6 +72,38 @@
|
||||
H.vessel.add_reagent("blood", 0.5)
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/sugar
|
||||
name = "Sugar"
|
||||
id = "sugar"
|
||||
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFFFF" // rgb: 255, 255, 255
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
overdose_threshold = 200 // Hyperglycaemic shock
|
||||
|
||||
/datum/reagent/consumable/sugar/on_mob_life(mob/living/M)
|
||||
M.AdjustDrowsy(-5)
|
||||
if(current_cycle >= 90)
|
||||
M.AdjustJitter(2)
|
||||
if(prob(50))
|
||||
M.AdjustParalysis(-1)
|
||||
M.AdjustStunned(-1)
|
||||
M.AdjustWeakened(-1)
|
||||
if(prob(4))
|
||||
M.reagents.add_reagent("epinephrine", 1.2)
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/sugar/overdose_start(mob/living/M)
|
||||
to_chat(M, "<span class='danger'>You pass out from hyperglycemic shock!</span>")
|
||||
M.emote("collapse")
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/sugar/overdose_process(mob/living/M, severity)
|
||||
M.Paralyse(3 * severity)
|
||||
M.Weaken(4 * severity)
|
||||
if(prob(8))
|
||||
M.adjustToxLoss(severity)
|
||||
|
||||
/datum/reagent/consumable/soysauce
|
||||
name = "Soysauce"
|
||||
id = "soysauce"
|
||||
@@ -351,6 +383,7 @@
|
||||
id = "rice"
|
||||
description = "Enjoy the great taste of nothing."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 3 * REAGENTS_METABOLISM
|
||||
color = "#FFFFFF" // rgb: 0, 0, 0
|
||||
|
||||
/datum/reagent/consumable/cherryjelly
|
||||
@@ -409,9 +442,10 @@
|
||||
description = "A sweet substance produced by bees through partial digestion. Bee barf."
|
||||
reagent_state = LIQUID
|
||||
color = "#d3a308"
|
||||
nutriment_factor = 15 * REAGENTS_METABOLISM
|
||||
|
||||
/datum/reagent/consumable/honey/on_mob_life(mob/living/M)
|
||||
M.reagents.add_reagent("sugar", 0.4)
|
||||
M.reagents.add_reagent("sugar", 3)
|
||||
if(prob(20))
|
||||
M.adjustBruteLoss(-3)
|
||||
M.adjustFireLoss(-1)
|
||||
@@ -483,8 +517,6 @@
|
||||
description = "Some cheese. Pour it out to make it solid."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFF00"
|
||||
metabolization_rate = 0 //heheheh
|
||||
nutriment_factor = 0
|
||||
|
||||
/datum/reagent/consumable/cheese/on_mob_life(mob/living/M)
|
||||
if(prob(3))
|
||||
@@ -514,9 +546,7 @@
|
||||
description = "Hell, I don't even know if this IS cheese. Whatever it is, it ain't normal. If you want to, pour it out to make it solid."
|
||||
reagent_state = SOLID
|
||||
color = "#50FF00"
|
||||
metabolization_rate = 0 //heheheh
|
||||
addiction_chance = 5
|
||||
nutriment_factor = 0
|
||||
|
||||
/datum/reagent/consumable/weird_cheese/on_mob_life(mob/living/M)
|
||||
if(prob(5))
|
||||
@@ -671,37 +701,6 @@
|
||||
|
||||
///Food Related, but non-nutritious
|
||||
|
||||
/datum/reagent/sugar
|
||||
name = "Sugar"
|
||||
id = "sugar"
|
||||
description = "The organic compound commonly known as table sugar and sometimes called saccharose. This white, odorless, crystalline powder has a pleasing, sweet taste."
|
||||
reagent_state = SOLID
|
||||
color = "#FFFFFF" // rgb: 255, 255, 255
|
||||
overdose_threshold = 200 // Hyperglycaemic shock
|
||||
|
||||
/datum/reagent/sugar/on_mob_life(mob/living/M)
|
||||
M.AdjustDrowsy(-5)
|
||||
if(current_cycle >= 90)
|
||||
M.AdjustJitter(2)
|
||||
if(prob(50))
|
||||
M.AdjustParalysis(-1)
|
||||
M.AdjustStunned(-1)
|
||||
M.AdjustWeakened(-1)
|
||||
if(prob(4))
|
||||
M.reagents.add_reagent("epinephrine", 1.2)
|
||||
..()
|
||||
|
||||
/datum/reagent/sugar/overdose_start(mob/living/M)
|
||||
to_chat(M, "<span class='danger'>You pass out from hyperglycemic shock!</span>")
|
||||
M.emote("collapse")
|
||||
..()
|
||||
|
||||
/datum/reagent/sugar/overdose_process(mob/living/M, severity)
|
||||
M.Paralyse(3 * severity)
|
||||
M.Weaken(4 * severity)
|
||||
if(prob(8))
|
||||
M.adjustToxLoss(severity)
|
||||
|
||||
/datum/reagent/questionmark // food poisoning
|
||||
name = "????"
|
||||
id = "????"
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
name = "Medicine"
|
||||
id = "medicine"
|
||||
|
||||
/datum/reagent/medicine/on_mob_life(mob/living/M)
|
||||
current_cycle++
|
||||
holder.remove_reagent(id, metabolization_rate / M.metabolism_efficiency) //medicine reagents stay longer if you have a better metabolism
|
||||
|
||||
/datum/reagent/medicine/hydrocodone
|
||||
name = "Hydrocodone"
|
||||
id = "hydrocodone"
|
||||
|
||||
@@ -343,28 +343,31 @@
|
||||
category = list("Computer Boards")
|
||||
|
||||
datum/design/GAC
|
||||
name = "Circuit Design (General Air Control)"
|
||||
name = "Console Board (General Air Control)"
|
||||
desc = "Allows for the construction of circuit boards used to build a General Air Control Computer."
|
||||
id = "GAC"
|
||||
req_tech = list("programming" = 3, "magnets" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/air_management
|
||||
category = list("Computer Boards")
|
||||
|
||||
datum/design/tank_control
|
||||
name = "Circuit Design (Large Tank Control)"
|
||||
name = "Console Board (Large Tank Control)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Large Tank Control Computer."
|
||||
id = "tankcontrol"
|
||||
req_tech = list("programming" = 3, "magnets" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/large_tank_control
|
||||
category = list("Computer Boards")
|
||||
|
||||
datum/design/AAC
|
||||
name = "Circuit Design (Atmospheric Automations Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build an Atmospheric Autmations Console."
|
||||
name = "Console Board (Atmospheric Automations Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build an Atmospheric Automations Console."
|
||||
id = "AAC"
|
||||
req_tech = list("programming" = 4, "magnets" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/atmos_automation
|
||||
build_path = /obj/item/weapon/circuitboard/atmos_automation
|
||||
category = list("Computer Boards")
|
||||
@@ -164,7 +164,7 @@
|
||||
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
|
||||
icon_state = "chest_implant"
|
||||
implant_color = "#00AA00"
|
||||
var/hunger_threshold = 150
|
||||
var/hunger_threshold = NUTRITION_LEVEL_STARVING
|
||||
var/synthesizing = 0
|
||||
var/poison_amount = 5
|
||||
slot = "stomach"
|
||||
@@ -195,7 +195,7 @@
|
||||
desc = "This implant will synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
|
||||
icon_state = "chest_implant"
|
||||
implant_color = "#006607"
|
||||
hunger_threshold = 300
|
||||
hunger_threshold = NUTRITION_LEVEL_HUNGRY
|
||||
poison_amount = 10
|
||||
origin_tech = "materials=5;programming=3;biotech=5"
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
if(mind) //Handles vampires "eating" blood that isn't their own.
|
||||
if(mind in ticker.mode.vampires)
|
||||
for(var/datum/reagent/blood/BL in vessel.reagent_list)
|
||||
if(nutrition >= 450)
|
||||
if(nutrition >= NUTRITION_LEVEL_WELL_FED)
|
||||
break //We don't want blood tranfusions making vampires fat.
|
||||
if(BL.data["donor"] != src)
|
||||
nutrition += (15 * REAGENTS_METABOLISM)
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
can_stand = 1
|
||||
|
||||
/obj/item/organ/external/foot/remove()
|
||||
if(owner.shoes) owner.unEquip(owner.shoes)
|
||||
if(owner && owner.shoes) owner.unEquip(owner.shoes)
|
||||
. = ..()
|
||||
|
||||
/obj/item/organ/external/foot/right
|
||||
@@ -128,12 +128,13 @@
|
||||
can_grasp = 1
|
||||
|
||||
/obj/item/organ/external/hand/remove()
|
||||
if(owner.gloves)
|
||||
owner.unEquip(owner.gloves)
|
||||
if(owner.l_hand)
|
||||
owner.unEquip(owner.l_hand,1)
|
||||
if(owner.r_hand)
|
||||
owner.unEquip(owner.r_hand,1)
|
||||
if(owner)
|
||||
if(owner.gloves)
|
||||
owner.unEquip(owner.gloves)
|
||||
if(owner.l_hand)
|
||||
owner.unEquip(owner.l_hand,1)
|
||||
if(owner.r_hand)
|
||||
owner.unEquip(owner.r_hand,1)
|
||||
|
||||
. = ..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user