Merge branch 'master' of https://github.com/PolarisSS13/Polaris into aro-polsync
@@ -48,8 +48,8 @@
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/phoron
|
||||
name = "Canister \[Phoron\]"
|
||||
icon_state = "orange"
|
||||
canister_color = "orange"
|
||||
icon_state = "orangeps"
|
||||
canister_color = "orangeps"
|
||||
can_label = 0
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
||||
@@ -77,8 +77,8 @@
|
||||
canister_color = "blue"
|
||||
/obj/machinery/portable_atmospherics/canister/empty/phoron
|
||||
name = "Canister \[Phoron\]"
|
||||
icon_state = "orange"
|
||||
canister_color = "orange"
|
||||
icon_state = "orangeps"
|
||||
canister_color = "orangeps"
|
||||
/obj/machinery/portable_atmospherics/canister/empty/nitrogen
|
||||
name = "Canister \[N2\]"
|
||||
icon_state = "red"
|
||||
@@ -348,7 +348,7 @@ update_flag
|
||||
"\[N2O\]" = "redws", \
|
||||
"\[N2\]" = "red", \
|
||||
"\[O2\]" = "blue", \
|
||||
"\[Phoron\]" = "orange", \
|
||||
"\[Phoron\]" = "purple", \
|
||||
"\[CO2\]" = "black", \
|
||||
"\[Air\]" = "grey", \
|
||||
"\[CAUTION\]" = "yellow", \
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
|
||||
/obj/item/device/radio/intercom/department/medbay
|
||||
name = "station intercom (Medbay)"
|
||||
icon_state = "secintercom"
|
||||
icon_state = "medintercom"
|
||||
frequency = MED_I_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/department/security
|
||||
name = "station intercom (Security)"
|
||||
icon_state = "medintercom"
|
||||
icon_state = "secintercom"
|
||||
frequency = SEC_I_FREQ
|
||||
|
||||
/obj/item/device/radio/intercom/entertainment
|
||||
|
||||
@@ -839,4 +839,60 @@ var/list/random_useful_
|
||||
random_junk_ -= /obj/item/trash/tray
|
||||
return pick(random_junk_)
|
||||
// Misc. actually useful stuff
|
||||
return get_random_useful_type()
|
||||
return get_random_useful_type()
|
||||
|
||||
/*
|
||||
Selects one spawn point out of a group of points with the same ID and asks it to generate its items
|
||||
*/
|
||||
var/list/multi_point_spawns
|
||||
|
||||
/obj/random_multi
|
||||
name = "random object spawn point"
|
||||
desc = "This item type is used to spawn random objects at round-start. Only one spawn point for a given group id is selected."
|
||||
icon = 'icons/misc/mark.dmi'
|
||||
icon_state = "x3"
|
||||
invisibility = INVISIBILITY_MAXIMUM
|
||||
var/id // Group id
|
||||
var/weight // Probability weight for this spawn point
|
||||
|
||||
/obj/random_multi/initialize()
|
||||
..()
|
||||
weight = max(1, round(weight))
|
||||
|
||||
if(!multi_point_spawns)
|
||||
multi_point_spawns = list()
|
||||
var/list/spawnpoints = multi_point_spawns[id]
|
||||
if(!spawnpoints)
|
||||
spawnpoints = list()
|
||||
multi_point_spawns[id] = spawnpoints
|
||||
spawnpoints[src] = weight
|
||||
|
||||
/obj/random_multi/Destroy()
|
||||
var/list/spawnpoints = multi_point_spawns[id]
|
||||
spawnpoints -= src
|
||||
if(!spawnpoints.len)
|
||||
multi_point_spawns -= id
|
||||
. = ..()
|
||||
|
||||
/obj/random_multi/proc/generate_items()
|
||||
return
|
||||
|
||||
/obj/random_multi/single_item
|
||||
var/item_path // Item type to spawn
|
||||
|
||||
/obj/random_multi/single_item/generate_items()
|
||||
new item_path(loc)
|
||||
|
||||
/hook/roundstart/proc/generate_multi_spawn_items()
|
||||
for(var/id in multi_point_spawns)
|
||||
var/list/spawn_points = multi_point_spawns[id]
|
||||
var/obj/random_multi/rm = pickweight(spawn_points)
|
||||
rm.generate_items()
|
||||
for(var/entry in spawn_points)
|
||||
qdel(entry)
|
||||
return 1
|
||||
|
||||
/obj/random_multi/single_item/captains_spare_id
|
||||
name = "Multi Point - Captain's Spare"
|
||||
id = "Captain's spare id"
|
||||
item_path = /obj/item/weapon/card/id/captains_spare
|
||||
@@ -92,10 +92,6 @@
|
||||
icon = 'icons/obj/plants.dmi'
|
||||
icon_state = "plant-26"
|
||||
|
||||
/obj/structure/flora/pottedplant/xmas/New()
|
||||
..()
|
||||
icon_state = "plant-xmas"
|
||||
|
||||
|
||||
//newbushes
|
||||
|
||||
@@ -218,4 +214,149 @@
|
||||
name = "hanging skeleton model"
|
||||
icon = 'icons/obj/plants.dmi'
|
||||
icon_state = "hangskele"
|
||||
desc = "It's an anatomical model of a human skeletal system made of plaster."
|
||||
desc = "It's an anatomical model of a human skeletal system made of plaster."
|
||||
|
||||
|
||||
//potted plants credit: Flashkirby
|
||||
/obj/structure/flora/pottedplant
|
||||
name = "potted plant"
|
||||
desc = "Really brings the room together."
|
||||
icon = 'icons/obj/plants.dmi'
|
||||
icon_state = "plant-01"
|
||||
|
||||
/obj/structure/flora/pottedplant/large
|
||||
name = "large potted plant"
|
||||
desc = "This is a large plant. Three branches support pairs of waxy leaves."
|
||||
icon_state = "plant-26"
|
||||
|
||||
/obj/structure/flora/pottedplant/fern
|
||||
name = "potted fern"
|
||||
desc = "This is an ordinary looking fern. It looks like it could do with some water."
|
||||
icon_state = "plant-02"
|
||||
|
||||
/obj/structure/flora/pottedplant/overgrown
|
||||
name = "overgrown potted plants"
|
||||
desc = "This is an assortment of colourful plants. Some parts are overgrown."
|
||||
icon_state = "plant-03"
|
||||
|
||||
/obj/structure/flora/pottedplant/bamboo
|
||||
name = "potted bamboo"
|
||||
desc = "These are bamboo shoots. The tops looks like they've been cut short."
|
||||
icon_state = "plant-04"
|
||||
|
||||
/obj/structure/flora/pottedplant/largebush
|
||||
name = "large potted bush"
|
||||
desc = "This is a large bush. The leaves stick upwards in an odd fashion."
|
||||
icon_state = "plant-05"
|
||||
|
||||
/obj/structure/flora/pottedplant/thinbush
|
||||
name = "thin potted bush"
|
||||
desc = "This is a thin bush. It appears to be flowering."
|
||||
icon_state = "plant-06"
|
||||
|
||||
/obj/structure/flora/pottedplant/mysterious
|
||||
name = "mysterious potted bulbs"
|
||||
desc = "This is a mysterious looking plant. Touching the bulbs cause them to shrink."
|
||||
icon_state = "plant-07"
|
||||
|
||||
/obj/structure/flora/pottedplant/smalltree
|
||||
name = "small potted tree"
|
||||
desc = "This is a small tree. It is rather pleasant."
|
||||
icon_state = "plant-08"
|
||||
|
||||
/obj/structure/flora/pottedplant/unusual
|
||||
name = "unusual potted plant"
|
||||
desc = "This is an unusual plant. It's bulbous ends emit a soft blue light."
|
||||
icon_state = "plant-09"
|
||||
set_light(l_range = 1, l_power = 0.5, l_color = "#0000FF")
|
||||
|
||||
/obj/structure/flora/pottedplant/orientaltree
|
||||
name = "potted oriental tree"
|
||||
desc = "This is a rather oriental style tree. It's flowers are bright pink."
|
||||
icon_state = "plant-10"
|
||||
|
||||
/obj/structure/flora/pottedplant/smallcactus
|
||||
name = "small potted cactus"
|
||||
desc = "This is a small cactus. Its needles are sharp."
|
||||
icon_state = "plant-11"
|
||||
|
||||
/obj/structure/flora/pottedplant/tall
|
||||
name = "tall potted plant"
|
||||
desc = "This is a tall plant. Tiny pores line its surface."
|
||||
icon_state = "plant-12"
|
||||
|
||||
/obj/structure/flora/pottedplant/sticky
|
||||
name = "styicky potted plant"
|
||||
desc = "This is an odd plant. Its sticky leaves trap insects."
|
||||
icon_state = "plant-13"
|
||||
|
||||
/obj/structure/flora/pottedplant/smelly
|
||||
name = "smelly potted plant"
|
||||
desc = "This is some kind of tropical plant. It reeks of rotten eggs."
|
||||
icon_state = "plant-14"
|
||||
|
||||
/obj/structure/flora/pottedplant/small
|
||||
name = "small potted plant"
|
||||
desc = "This is a pot of assorted small flora. Some look familiar."
|
||||
icon_state = "plant-15"
|
||||
|
||||
/obj/structure/flora/pottedplant/aquatic
|
||||
name = "aquatic potted plant"
|
||||
desc = "This is apparently an aquatic plant. It's probably fake."
|
||||
icon_state = "plant-16"
|
||||
|
||||
/obj/structure/flora/pottedplant/shoot
|
||||
name = "small potted shoot"
|
||||
desc = "This is a small shoot. It still needs time to grow."
|
||||
icon_state = "plant-17"
|
||||
|
||||
/obj/structure/flora/pottedplant/flower
|
||||
name = "potted flower"
|
||||
desc = "This is a slim plant. Sweet smelling flowers are supported by spindly stems."
|
||||
icon_state = "plant-18"
|
||||
|
||||
/obj/structure/flora/pottedplant/crystal
|
||||
name = "crystalline potted plant"
|
||||
desc = "These are rather cubic plants. Odd crystal formations grow on the end."
|
||||
icon_state = "plant-19"
|
||||
|
||||
/obj/structure/flora/pottedplant/subterranean
|
||||
name = "subterranean potted plant"
|
||||
desc = "This is a subterranean plant. It's bulbous ends glow faintly."
|
||||
icon_state = "plant-20"
|
||||
set_light(l_range = 1, l_power = 0.5, l_color = "#FF6633")
|
||||
|
||||
/obj/structure/flora/pottedplant/minitree
|
||||
name = "potted tree"
|
||||
desc = "This is a miniature tree. Apparently it was grown to 1/5 scale."
|
||||
icon_state = "plant-21"
|
||||
|
||||
/obj/structure/flora/pottedplant/stoutbush
|
||||
name = "stout potted bush"
|
||||
desc = "This is a stout bush. Its leaves point up and outwards."
|
||||
icon_state = "plant-22"
|
||||
|
||||
/obj/structure/flora/pottedplant/drooping
|
||||
name = "drooping potted plant"
|
||||
desc = "This is a small plant. The drooping leaves make it look like its wilted."
|
||||
icon_state = "plant-23"
|
||||
|
||||
/obj/structure/flora/pottedplant/tropical
|
||||
name = "tropical potted plant"
|
||||
desc = "This is some kind of tropical plant. It hasn't begun to flower yet."
|
||||
icon_state = "plant-24"
|
||||
|
||||
/obj/structure/flora/pottedplant/dead
|
||||
name = "dead potted plant"
|
||||
desc = "This is the dried up remains of a dead plant. Someone should replace it."
|
||||
icon_state = "plant-25"
|
||||
|
||||
/obj/structure/flora/pottedplant/decorative
|
||||
name = "decorative potted plant"
|
||||
desc = "This is a decorative shrub. It's been trimmed into the shape of an apple."
|
||||
icon_state = "applebush"
|
||||
|
||||
/obj/structure/flora/pottedplant/xmas
|
||||
name = "small christmas tree"
|
||||
desc = "This is a tiny well lit decorative christmas tree."
|
||||
icon_state = "plant-xmas"
|
||||
@@ -122,6 +122,108 @@
|
||||
desc = "A warning sign which reads 'NO SMOKING'."
|
||||
icon_state = "nosmoking2"
|
||||
|
||||
/obj/structure/sign/warning
|
||||
name = "\improper WARNING"
|
||||
icon_state = "securearea"
|
||||
|
||||
/obj/structure/sign/warning/New()
|
||||
..()
|
||||
desc = "A warning sign which reads '[name]'."
|
||||
|
||||
/obj/structure/sign/warning/airlock
|
||||
name = "\improper EXTERNAL AIRLOCK"
|
||||
icon_state = "doors"
|
||||
|
||||
/obj/structure/sign/warning/biohazard
|
||||
name = "\improper BIOHAZARD"
|
||||
icon_state = "bio"
|
||||
|
||||
/obj/structure/sign/warning/bomb_range
|
||||
name = "\improper BOMB RANGE"
|
||||
icon_state = "blast"
|
||||
|
||||
/obj/structure/sign/warning/caution
|
||||
name = "\improper CAUTION"
|
||||
|
||||
/obj/structure/sign/warning/compressed_gas
|
||||
name = "\improper COMPRESSED GAS"
|
||||
icon_state = "hikpa"
|
||||
|
||||
/obj/structure/sign/warning/deathsposal
|
||||
name = "\improper DISPOSAL LEADS TO SPACE"
|
||||
icon_state = "deathsposal"
|
||||
|
||||
/obj/structure/sign/warning/docking_area
|
||||
name = "\improper KEEP CLEAR: DOCKING AREA"
|
||||
|
||||
/obj/structure/sign/warning/engineering_access
|
||||
name = "\improper ENGINEERING ACCESS"
|
||||
|
||||
/obj/structure/sign/warning/fire
|
||||
name = "\improper DANGER: FIRE"
|
||||
icon_state = "fire"
|
||||
|
||||
/obj/structure/sign/warning/high_voltage
|
||||
name = "\improper HIGH VOLTAGE"
|
||||
icon_state = "shock"
|
||||
|
||||
/obj/structure/sign/warning/hot_exhaust
|
||||
name = "\improper HOT EXHAUST"
|
||||
icon_state = "fire"
|
||||
|
||||
/obj/structure/sign/warning/internals_required
|
||||
name = "\improper INTERNALS REQUIRED"
|
||||
|
||||
/obj/structure/sign/warning/lethal_turrets
|
||||
name = "\improper LETHAL TURRETS"
|
||||
icon_state = "turrets"
|
||||
|
||||
/obj/structure/sign/warning/lethal_turrets/New()
|
||||
..()
|
||||
desc += " Enter at own risk!."
|
||||
|
||||
/obj/structure/sign/warning/mail_delivery
|
||||
name = "\improper MAIL DELIVERY"
|
||||
|
||||
/obj/structure/sign/warning/moving_parts
|
||||
name = "\improper MOVING PARTS"
|
||||
|
||||
/obj/structure/sign/warning/nosmoking_1
|
||||
name = "\improper NO SMOKING"
|
||||
icon_state = "nosmoking"
|
||||
|
||||
/obj/structure/sign/warning/nosmoking_2
|
||||
name = "\improper NO SMOKING"
|
||||
icon_state = "nosmoking2"
|
||||
|
||||
/obj/structure/sign/warning/pods
|
||||
name = "\improper ESCAPE PODS"
|
||||
icon_state = "pods"
|
||||
|
||||
/obj/structure/sign/warning/radioactive
|
||||
name = "\improper RADIOACTIVE AREA"
|
||||
icon_state = "radiation"
|
||||
|
||||
/obj/structure/sign/warning/secure_area
|
||||
name = "\improper SECURE AREA"
|
||||
|
||||
/obj/structure/sign/warning/secure_area/armory
|
||||
name = "\improper ARMORY"
|
||||
|
||||
/obj/structure/sign/warning/server_room
|
||||
name = "\improper SERVER ROOM"
|
||||
|
||||
/obj/structure/sign/warning/siphon_valve
|
||||
name = "\improper SIPHON VALVE"
|
||||
|
||||
/obj/structure/sign/warning/vacuum
|
||||
name = "\improper HARD VACUUM AHEAD"
|
||||
icon_state = "space"
|
||||
|
||||
/obj/structure/sign/warning/vent_port
|
||||
name = "\improper EJECTION/VENTING PORT"
|
||||
|
||||
|
||||
/obj/structure/sign/redcross
|
||||
name = "medbay"
|
||||
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here."
|
||||
|
||||
@@ -391,4 +391,16 @@ var/list/floor_decals = list()
|
||||
icon_state = "white_v"
|
||||
|
||||
/obj/effect/floor_decal/sign/p
|
||||
icon_state = "white_p"
|
||||
icon_state = "white_p"
|
||||
|
||||
/obj/effect/floor_decal/sign/dock
|
||||
icon_state = "white_d"
|
||||
|
||||
/obj/effect/floor_decal/sign/dock/one
|
||||
icon_state = "white_d1"
|
||||
|
||||
/obj/effect/floor_decal/sign/dock/two
|
||||
icon_state = "white_d2"
|
||||
|
||||
/obj/effect/floor_decal/sign/dock/three
|
||||
icon_state = "white_d3"
|
||||
@@ -705,16 +705,16 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/margherita
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/
|
||||
@@ -737,37 +737,37 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/xenomeatbread
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/bananabreadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/bananabread
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/tofubread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/tofubread
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/bread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/breadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/bread
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread
|
||||
price_tag = 1
|
||||
|
||||
|
||||
@@ -845,67 +845,67 @@
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/braincake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/braincakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/braincake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/plaincake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/limecake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/chocolatecake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/applecake
|
||||
price_tag = 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie
|
||||
price_tag = 5
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie
|
||||
price_tag = 1
|
||||
|
||||
|
||||
|
||||
@@ -318,40 +318,17 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
M.antagHUD = 1
|
||||
src << "\blue <B>AntagHUD Enabled</B>"
|
||||
|
||||
/mob/observer/dead/proc/dead_tele(A in ghostteleportlocs)
|
||||
/mob/observer/dead/proc/dead_tele(var/area/A in return_sorted_areas())
|
||||
set category = "Ghost"
|
||||
set name = "Teleport"
|
||||
set desc= "Teleport to a location"
|
||||
set desc = "Teleport to a location"
|
||||
|
||||
if(!istype(usr, /mob/observer/dead))
|
||||
usr << "Not when you're not dead!"
|
||||
return
|
||||
usr.verbs -= /mob/observer/dead/proc/dead_tele
|
||||
spawn(30)
|
||||
usr.verbs += /mob/observer/dead/proc/dead_tele
|
||||
var/area/thearea = ghostteleportlocs[A]
|
||||
if(!thearea) return
|
||||
|
||||
var/list/L = list()
|
||||
var/holyblock = 0
|
||||
|
||||
if(usr.invisibility <= SEE_INVISIBLE_LIVING || (usr.mind in cult.current_antagonists))
|
||||
for(var/turf/T in get_area_turfs(thearea.type))
|
||||
if(!T.holy)
|
||||
L+=T
|
||||
else
|
||||
holyblock = 1
|
||||
else
|
||||
for(var/turf/T in get_area_turfs(thearea.type))
|
||||
L+=T
|
||||
|
||||
if(!L || !L.len)
|
||||
if(holyblock)
|
||||
usr << "<span class='warning'>This area has been entirely made into sacred grounds, you cannot enter it while you are in this plane of existence!</span>"
|
||||
else
|
||||
usr << "No area available."
|
||||
|
||||
usr.forceMove(pick(L))
|
||||
following = null
|
||||
usr.forceMove(pick(get_area_turfs(A)))
|
||||
usr.on_mob_jump()
|
||||
|
||||
/mob/observer/dead/verb/follow(input in getmobs())
|
||||
set category = "Ghost"
|
||||
|
||||
@@ -82,6 +82,20 @@
|
||||
var/datum/gender/T = gender_datums[get_gender()]
|
||||
if(skipjumpsuit && skipface) //big suits/masks/helmets make it hard to tell their gender
|
||||
T = gender_datums[PLURAL]
|
||||
|
||||
else if(species && species.ambiguous_genders)
|
||||
var/can_detect_gender = FALSE
|
||||
if(isobserver(user)) // Ghosts are all knowing.
|
||||
can_detect_gender = TRUE
|
||||
if(issilicon(user)) // Borgs are too because science.
|
||||
can_detect_gender = TRUE
|
||||
else if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
if(H.species && istype(species, H.species))
|
||||
can_detect_gender = TRUE
|
||||
|
||||
if(!can_detect_gender)
|
||||
T = gender_datums[PLURAL] // Species with ambiguous_genders will not show their true gender upon examine if the examiner is not also the same species.
|
||||
else
|
||||
if(icon)
|
||||
msg += "\icon[icon] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
|
||||
|
||||
@@ -156,6 +156,7 @@
|
||||
)
|
||||
|
||||
var/list/genders = list(MALE, FEMALE)
|
||||
var/ambiguous_genders = FALSE // If true, people examining a member of this species whom are not also the same species will see them as gender neutral. Because aliens.
|
||||
|
||||
// Bump vars
|
||||
var/bump_flag = HUMAN // What are we considered to be when bumped?
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
blood_volume = 400
|
||||
hunger_factor = 0.2
|
||||
|
||||
ambiguous_genders = TRUE
|
||||
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR
|
||||
bump_flag = MONKEY
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
|
||||
darksight = 4
|
||||
|
||||
ambiguous_genders = TRUE
|
||||
|
||||
spawn_flags = SPECIES_CAN_JOIN | SPECIES_IS_WHITELISTED
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
|
||||
|
||||
|
||||
@@ -690,7 +690,7 @@
|
||||
overlays += "eyes-[module_sprites[icontype]]"
|
||||
|
||||
if(opened)
|
||||
var/panelprefix = custom_sprite ? src.ckey : "ov"
|
||||
var/panelprefix = custom_sprite ? "[src.ckey]-[src.name]" : "ov"
|
||||
if(wiresexposed)
|
||||
overlays += "[panelprefix]-openpanel +w"
|
||||
else if(cell)
|
||||
|
||||
@@ -67,14 +67,18 @@
|
||||
break
|
||||
|
||||
if (istype(copyitem, /obj/item/weapon/paper))
|
||||
playsound(loc, "sound/machines/copier.ogg", 100, 1)
|
||||
sleep(11)
|
||||
copy(copyitem)
|
||||
sleep(15)
|
||||
else if (istype(copyitem, /obj/item/weapon/photo))
|
||||
playsound(loc, "sound/machines/copier.ogg", 100, 1)
|
||||
sleep(11)
|
||||
photocopy(copyitem)
|
||||
sleep(15)
|
||||
else if (istype(copyitem, /obj/item/weapon/paper_bundle))
|
||||
sleep(11)
|
||||
playsound(loc, "sound/machines/copier.ogg", 100, 1)
|
||||
var/obj/item/weapon/paper_bundle/B = bundlecopy(copyitem)
|
||||
sleep(15*B.pages.len)
|
||||
sleep(11*B.pages.len)
|
||||
else
|
||||
usr << "<span class='warning'>\The [copyitem] can't be copied by \the [src].</span>"
|
||||
break
|
||||
@@ -123,6 +127,7 @@
|
||||
copyitem = O
|
||||
O.loc = src
|
||||
user << "<span class='notice'>You insert \the [O] into \the [src].</span>"
|
||||
playsound(loc, "sound/machines/click.ogg", 100, 1)
|
||||
flick(insert_anim, src)
|
||||
else
|
||||
user << "<span class='notice'>There is already something in \the [src].</span>"
|
||||
|
||||
@@ -47,27 +47,27 @@
|
||||
|
||||
/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
|
||||
|
||||
if(istype(B, /obj/item/weapon/reagent_containers/glass))
|
||||
if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food))
|
||||
|
||||
if(src.beaker)
|
||||
user << "A beaker is already loaded into the machine."
|
||||
user << "\A [beaker] is already loaded into the machine."
|
||||
return
|
||||
src.beaker = B
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the beaker to the machine!"
|
||||
user << "You add \the [B] to the machine!"
|
||||
icon_state = "mixer1"
|
||||
|
||||
else if(istype(B, /obj/item/weapon/storage/pill_bottle))
|
||||
|
||||
if(src.loaded_pill_bottle)
|
||||
user << "A pill bottle is already loaded into the machine."
|
||||
user << "A \the [loaded_pill_bottle] s already loaded into the machine."
|
||||
return
|
||||
|
||||
src.loaded_pill_bottle = B
|
||||
user.drop_item()
|
||||
B.loc = src
|
||||
user << "You add the pill bottle into the dispenser slot!"
|
||||
user << "You add \the [loaded_pill_bottle] into the dispenser slot!"
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/attack_hand(mob/user as mob)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
var/list/lunchables_lunches_ = list(/obj/item/weapon/reagent_containers/food/snacks/sandwich,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatbreadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tofubreadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/creamcheesebreadslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/margheritaslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mushroompizzaslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/meatbread/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/tofubread/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/creamcheesebread/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/margherita/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/meatpizza/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/mushroompizza/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/vegetablepizza/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tastybread,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/liquidfood,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry,
|
||||
@@ -26,17 +26,17 @@ var/list/lunchables_snacks_ = list(/obj/item/weapon/reagent_containers/food/snac
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cherrypie,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/appletart,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/cheesecakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/plaincakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/limecakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/lemoncakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/chocolatecakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/birthdaycakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/cheesecake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/plaincake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/limecake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/lemoncake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/chocolatecake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/birthdaycake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/watermelonslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/applecakeslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/pumpkinpieslice,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/applecake/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/slice/pumpkinpie/filled,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks)
|
||||
|
||||
var/list/lunchables_drinks_ = list(/obj/item/weapon/reagent_containers/food/drinks/cans/cola,
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
|
||||
switch(mode)
|
||||
if(SYRINGE_DRAW)
|
||||
|
||||
if(!reagents.get_free_space())
|
||||
user << "<span class='warning'>The syringe is full.</span>"
|
||||
mode = SYRINGE_INJECT
|
||||
@@ -137,7 +136,7 @@
|
||||
user << "<span class='notice'>[target] is empty.</span>"
|
||||
return
|
||||
|
||||
if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract))
|
||||
if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/weapon/reagent_containers/food))
|
||||
user << "<span class='notice'>You cannot directly remove reagents from this object.</span>"
|
||||
return
|
||||
|
||||
@@ -209,7 +208,7 @@
|
||||
trans = reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_BLOOD)
|
||||
admin_inject_log(user, target, src, contained, trans)
|
||||
else
|
||||
trans = reagents.trans_to(target, amount_per_transfer_from_this)
|
||||
trans = reagents.trans_to_obj(target, amount_per_transfer_from_this)
|
||||
if(trans)
|
||||
user << "<span class='notice'>You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.</span>"
|
||||
else
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
material = get_material_by_name(DEFAULT_TABLE_MATERIAL)
|
||||
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
|
||||
..()
|
||||
|
||||
|
||||
steel_reinforced
|
||||
icon_state = "reinf_preview"
|
||||
color = "#666666"
|
||||
@@ -37,6 +37,14 @@
|
||||
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
|
||||
..()
|
||||
|
||||
wooden_reinforced
|
||||
icon_state = "reinf_preview"
|
||||
color = "#824B28"
|
||||
New()
|
||||
material = get_material_by_name("wood")
|
||||
reinforced = get_material_by_name(DEFAULT_WALL_MATERIAL)
|
||||
..()
|
||||
|
||||
woodentable
|
||||
icon_state = "plain_preview"
|
||||
color = "#824B28"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 59 KiB |
@@ -1931,7 +1931,7 @@
|
||||
"aLg" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/amanita_pie,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLh" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bigbiteburger,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLi" = (/obj/structure/bed/chair/wood/wings{icon_state = "wooden_chair_wings"; dir = 8},/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/carrotcakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLj" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/slice/carrotcake/filled,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLk" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/stew,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLl" = (/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bathroom)
|
||||
"aLm" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/escape/centcom)
|
||||
@@ -1975,7 +1975,7 @@
|
||||
"aLY" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/bloodsoup,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aLZ" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/tofukabob,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aMa" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/poppypretzel,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aMb" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/orangecakeslice,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aMb" = (/obj/structure/table/woodentable{dir = 5},/obj/item/weapon/reagent_containers/food/snacks/slice/orangecake/filled,/turf/unsimulated/floor{tag = "icon-wood"; icon_state = "wood"},/area/centcom/bar)
|
||||
"aMc" = (/obj/machinery/atm{pixel_x = -30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall)
|
||||
"aMd" = (/obj/machinery/atm{pixel_x = 30},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/main_hall)
|
||||
"aMe" = (/obj/structure/bed/chair{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom)
|
||||
|
||||