diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm
index 71f59dd570f..cbe85bf2755 100644
--- a/_maps/map_files/cyberiad/cyberiad.dmm
+++ b/_maps/map_files/cyberiad/cyberiad.dmm
@@ -2853,7 +2853,7 @@
"bcS" = (/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bcT" = (/obj/structure/noticeboard{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bcU" = (/obj/machinery/camera{c_tag = "Bar East"; network = list("SS13")},/obj/structure/flora/kirbyplants,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"bcV" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id_tag = "kitchenbar"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
+"bcV" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id_tag = "kitchenbar"; name = "Kitchen Shutters"; opacity = 0},/obj/machinery/light{dir = 1},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bcW" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/machinery/light_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bcX" = (/obj/structure/sink/kitchen{pixel_y = 28},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bcY" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
@@ -2947,7 +2947,7 @@
"beI" = (/obj/structure/piano,/obj/machinery/light{dir = 8},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"beJ" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"beK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/wood,/area/crew_quarters/bar)
-"beL" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id_tag = "kitchenbar"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
+"beL" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 8; icon_state = "shutter0"; id_tag = "kitchenbar"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"beM" = (/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"beN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"beO" = (/obj/machinery/camera{c_tag = "Kitchen"; network = list("SS13")},/obj/item/device/radio/intercom{broadcasting = 0; name = "station intercom (General)"; pixel_y = 25},/obj/machinery/kitchen_machine/candy_maker,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
@@ -3414,7 +3414,7 @@
"bnH" = (/obj/machinery/camera{c_tag = "Bar South"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bnI" = (/obj/item/device/radio/intercom{pixel_y = -30},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small,/turf/simulated/floor/wood,/area/crew_quarters/bar)
"bnJ" = (/obj/machinery/atm{pixel_x = 32; pixel_y = 0},/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/bar)
-"bnK" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/machinery/vending/dinnerware,/turf/simulated/floor{icon_state = "grimy"},/area/crew_quarters/kitchen)
+"bnK" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/obj/machinery/vending/dinnerware,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bnL" = (/obj/machinery/icemachine,/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bnM" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/donut_box,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
"bnN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{density = 0; dir = 2; icon_state = "shutter0"; id_tag = "kitchenhall"; name = "Kitchen Shutters"; opacity = 0},/turf/simulated/floor{dir = 2; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/crew_quarters/kitchen)
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index a7fe9ddd537..3f287964e02 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -214,6 +214,7 @@ Pipelines + Other Objects -> Pipe network
initialize_directions = P
var/turf/T = loc
level = T.intact ? 2 : 1
+ add_fingerprint(usr)
initialize()
var/list/nodes = pipeline_expansion()
for(var/obj/machinery/atmospherics/A in nodes)
diff --git a/code/ATMOSPHERICS/pipes/pipe.dm b/code/ATMOSPHERICS/pipes/pipe.dm
index 7041d13993d..b02d990b432 100644
--- a/code/ATMOSPHERICS/pipes/pipe.dm
+++ b/code/ATMOSPHERICS/pipes/pipe.dm
@@ -13,7 +13,6 @@
buckle_requires_restraints = 1
buckle_lying = -1
-
/obj/machinery/atmospherics/pipe/New()
..()
//so pipes under walls are hidden
diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm
index 4594c198dc9..80127669417 100644
--- a/code/LINDA/LINDA_turf_tile.dm
+++ b/code/LINDA/LINDA_turf_tile.dm
@@ -1,17 +1,17 @@
-turf
+/turf
var/pressure_difference = 0
var/pressure_direction = 0
var/atmos_adjacent_turfs = 0
var/atmos_adjacent_turfs_amount = 0
var/atmos_supeconductivity = 0
-turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
- del(giver)
+/turf/assume_air(datum/gas_mixture/giver) //use this for machines to adjust air
+ qdel(giver)
return 0
-turf/return_air()
+/turf/return_air()
//Create gas mixture to hold data for passing
var/datum/gas_mixture/GM = new
@@ -24,7 +24,7 @@ turf/return_air()
return GM
-turf/remove_air(amount as num)
+/turf/remove_air(amount as num)
var/datum/gas_mixture/GM = new
var/sum = oxygen + carbon_dioxide + nitrogen + toxins
@@ -39,7 +39,7 @@ turf/remove_air(amount as num)
return GM
-turf/simulated
+/turf/simulated
var/datum/excited_group/excited_group
var/excited = 0
var/recently_active = 0
@@ -53,7 +53,7 @@ turf/simulated
var/atmos_overlay_type = "" //current active overlay
-turf/simulated/New()
+/turf/simulated/New()
..()
visibilityChanged()
@@ -67,13 +67,13 @@ turf/simulated/New()
air.temperature = temperature
-turf/simulated/Del()
+/turf/simulated/Del()
visibilityChanged()
if(active_hotspot)
qdel(active_hotspot)
..()
-turf/simulated/assume_air(datum/gas_mixture/giver)
+/turf/simulated/assume_air(datum/gas_mixture/giver)
if(!giver) return 0
var/datum/gas_mixture/receiver = air
if(istype(receiver))
@@ -86,22 +86,22 @@ turf/simulated/assume_air(datum/gas_mixture/giver)
else return ..()
-turf/simulated/proc/copy_air_with_tile(turf/simulated/T)
+/turf/simulated/proc/copy_air_with_tile(turf/simulated/T)
if(istype(T) && T.air && air)
air.copy_from(T.air)
-turf/simulated/proc/copy_air(datum/gas_mixture/copy)
+/turf/simulated/proc/copy_air(datum/gas_mixture/copy)
if(air && copy)
air.copy_from(copy)
-turf/simulated/return_air()
+/turf/simulated/return_air()
if(air)
return air
else
return ..()
-turf/simulated/remove_air(amount as num)
+/turf/simulated/remove_air(amount as num)
if(air)
var/datum/gas_mixture/removed = null
@@ -114,7 +114,7 @@ turf/simulated/remove_air(amount as num)
else
return ..()
-turf/simulated/proc/mimic_temperature_solid(turf/model, conduction_coefficient)
+/turf/simulated/proc/mimic_temperature_solid(turf/model, conduction_coefficient)
var/delta_temperature = (temperature_archived - model.temperature)
if((heat_capacity > 0) && (abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER))
@@ -122,7 +122,7 @@ turf/simulated/proc/mimic_temperature_solid(turf/model, conduction_coefficient)
(heat_capacity*model.heat_capacity/(heat_capacity+model.heat_capacity))
temperature -= heat/heat_capacity
-turf/simulated/proc/share_temperature_mutual_solid(turf/simulated/sharer, conduction_coefficient)
+/turf/simulated/proc/share_temperature_mutual_solid(turf/simulated/sharer, conduction_coefficient)
var/delta_temperature = (temperature_archived - sharer.temperature_archived)
if(abs(delta_temperature) > MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER && heat_capacity && sharer.heat_capacity)
@@ -289,10 +289,10 @@ turf/simulated/proc/share_temperature_mutual_solid(turf/simulated/sharer, conduc
-atom/movable/var/pressure_resistance = 5
-atom/movable/var/last_forced_movement = 0
+/atom/movable/var/pressure_resistance = 5
+/atom/movable/var/last_forced_movement = 0
-atom/movable/proc/experience_pressure_difference(pressure_difference, direction)
+/atom/movable/proc/experience_pressure_difference(pressure_difference, direction)
if(last_forced_movement >= air_master.current_cycle)
return 0
else if(!anchored && !pulledby)
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 12865047f0a..6de010d5f60 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -162,4 +162,9 @@
#define MAT_BANANIUM "$bananium"
#define MAX_STACK_SIZE 50
-//The maximum size of a stack object.
\ No newline at end of file
+
+//unmagic-strings for types of polls
+#define POLLTYPE_OPTION "OPTION"
+#define POLLTYPE_TEXT "TEXT"
+#define POLLTYPE_RATING "NUMVAL"
+#define POLLTYPE_MULTI "MULTICHOICE"
\ No newline at end of file
diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm
index f6e02c32602..d6fc14b4f3f 100644
--- a/code/_globalvars/lists/misc.dm
+++ b/code/_globalvars/lists/misc.dm
@@ -21,4 +21,4 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
"UO45",
"UO45R",
"Xeno"
- )
\ No newline at end of file
+ )
diff --git a/code/_globalvars/lists/reagents.dm b/code/_globalvars/lists/reagents.dm
new file mode 100644
index 00000000000..8088219e149
--- /dev/null
+++ b/code/_globalvars/lists/reagents.dm
@@ -0,0 +1,12 @@
+// Base chemicals
+var/list/base_chemicals = list("water","oxygen","nitrogen","hydrogen","potassium","mercury","carbon","chlorine","fluorine","phosphorus","lithium","sulfur","sacid","radium","iron","aluminum","silicon","sugar","ethanol")
+// Standard chemicals
+var/list/standard_chemicals = list("slimejelly","blood","water","lube","charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","facid","glycerol","radium","mutadone","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","atrazine","plasma","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","cryoxadone","spaceacillin","carpotoxin","lsd","fluorosurfactant","fluorosurfactant","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","enzyme","nothing","salglu_solution","antifreeze","neurotoxin")
+// Rare chemicals
+var/list/rare_chemicals = list("minttoxin","nanites","xenomicrobes","adminordrazine")
+// Standard medicines
+var/list/standard_medicines = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","spaceacillin","carpotoxin","lsd","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin")
+// Rare medicines
+var/list/rare_medicines = list("nanites","xenomicrobes","minttoxin","adminordrazine","blood")
+// Drinks
+var/list/drinks = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice","berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana","nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee","icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb","space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater","tequilla","vermouth","wine","tonic","kahlua","cognac","ale","sodawater","ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic","cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail","booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial","beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea","moonshine","b52","irishcoffee","margarita","blackrussian","manhattan","manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood","vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead","mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte","cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk","silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini")
\ No newline at end of file
diff --git a/code/datums/gas_mixture.dm b/code/datums/gas_mixture.dm
index 8676aaf27c5..36f32221f0e 100644
--- a/code/datums/gas_mixture.dm
+++ b/code/datums/gas_mixture.dm
@@ -53,6 +53,10 @@ What are the archived variables for?
var/tmp/fuel_burnt = 0
+/datum/gas_mixture/Destroy()
+ ..()
+ return QDEL_HINT_QUEUE
+
//PV=nRT - related procedures
/datum/gas_mixture/proc/heat_capacity()
var/heat_capacity = HEAT_CAPACITY_CALCULATION(oxygen,carbon_dioxide,nitrogen,toxins)
@@ -319,7 +323,7 @@ What are the archived variables for?
trace_gases += corresponding
corresponding.moles += trace_gas.moles
-// del(giver)
+// qdel(giver)
return 1
/datum/gas_mixture/remove(amount)
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 1eabdb002af..c287c00975d 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -767,11 +767,11 @@ var/list/uplink_items = list()
cost = 3
gamemodes = list("nuclear emergency")
-/datum/uplink_item/device_tools/pdapinpointer
- name = "PDA Pinpointer"
- desc = "A pinpointer that tracks any PDA on the station. Useful for locating assassination targets or other high-value targets that you can't find. WARNING: Can only set once."
- reference = "PDAP"
- item = /obj/item/weapon/pinpointer/pdapinpointer
+/datum/uplink_item/device_tools/advpinpointer
+ name = "Advanced Pinpointer"
+ desc = "A pinpointer that tracks any specified coordinates, DNA string, high value item or the nuclear authentication disk."
+ reference = "ADVP"
+ item = /obj/item/weapon/pinpointer/advpinpointer
cost = 4
/datum/uplink_item/device_tools/ai_detector
diff --git a/code/datums/wires/radio.dm b/code/datums/wires/radio.dm
index 9da8890ac32..6c2fb9713da 100644
--- a/code/datums/wires/radio.dm
+++ b/code/datums/wires/radio.dm
@@ -12,11 +12,6 @@ var/const/WIRE_TRANSMIT = 4
return 1
return 0
-/datum/wires/radio/Interact(var/mob/living/user)
- if(CanUse(user))
- var/obj/item/device/radio/R = holder
- R.interact(user)
-
/datum/wires/radio/UpdatePulsed(var/index)
var/obj/item/device/radio/R = holder
switch(index)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index a257cbae129..f6bcfef4171 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -42,6 +42,7 @@
return
/atom/proc/assume_air(datum/gas_mixture/giver)
+ qdel(giver)
return null
/atom/proc/remove_air(amount)
diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm
index 450973dc6a7..14e25c4ef69 100644
--- a/code/game/dna/genes/goon_disabilities.dm
+++ b/code/game/dna/genes/goon_disabilities.dm
@@ -36,11 +36,12 @@
..()
block=RADBLOCK
- OnMobLife(var/mob/owner)
- owner.radiation = max(owner.radiation, 20)
+ OnMobLife(var/mob/living/owner)
+ owner.apply_effect(max(owner.radiation, 20), IRRADIATE)
for(var/mob/living/L in range(1, owner))
- if(L == owner) continue
- L << "\red You are enveloped by a soft green glow emanating from [owner]."
+ if(L == owner)
+ continue
+ L << "You are enveloped by a soft green glow emanating from [owner]."
L.apply_effect(5, IRRADIATE)
return
diff --git a/code/game/gamemodes/mutiny/key_pinpointer.dm b/code/game/gamemodes/mutiny/key_pinpointer.dm
index 7e8d628d85b..9bee2b92c92 100644
--- a/code/game/gamemodes/mutiny/key_pinpointer.dm
+++ b/code/game/gamemodes/mutiny/key_pinpointer.dm
@@ -13,7 +13,7 @@
mode = 1
active = 1
target = mutiny.captains_key
- workobj()
+ point_at(target)
usr << "\blue You calibrate \the [src] to locate the Captain's Authentication Key."
if (1)
mode = 2
diff --git a/code/game/gamemodes/nations/flag_pinpointer.dm b/code/game/gamemodes/nations/flag_pinpointer.dm
index 028f3cbb357..776932bbb7b 100644
--- a/code/game/gamemodes/nations/flag_pinpointer.dm
+++ b/code/game/gamemodes/nations/flag_pinpointer.dm
@@ -8,7 +8,7 @@
mode = 1
active = 1
target = locate(/obj/item/flag/nation/atmos)
- workobj()
+ point_at(target)
usr << "\blue You calibrate \the [src] to locate the [target.name]"
if (1)
mode = 2
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 572d87e149e..29a0a3cc61c 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -12,396 +12,26 @@
var/obj/item/weapon/disk/nuclear/the_disk = null
var/active = 0
- Destroy()
- active = 0
- the_disk = null
- return ..()
-
- attack_self()
- if(!active)
- active = 1
- workdisk()
- usr << "\blue You activate the pinpointer"
- else
- active = 0
- icon_state = "pinoff"
- usr << "\blue You deactivate the pinpointer"
-
- proc/workdisk()
- if(!active) return
- if(!the_disk)
- the_disk = locate()
- if(!the_disk)
- icon_state = "pinonnull"
- return
- dir = get_dir(src,the_disk)
- switch(get_dist(src,the_disk))
- if(0)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
- spawn(5) .()
-
- examine(mob/user)
- ..(user)
- for(var/obj/machinery/nuclearbomb/bomb in world)
- if(bomb.timing)
- user << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"
-
-
-/obj/item/weapon/pinpointer/advpinpointer
- name = "Advanced Pinpointer"
- icon = 'icons/obj/device.dmi'
- desc = "A larger version of the normal pinpointer, this unit features a helpful quantum entanglement detection system to locate various objects that do not broadcast a locator signal."
- var/mode = 0 // Mode 0 locates disk, mode 1 locates coordinates.
- var/turf/location = null
- var/obj/target = null
-
- attack_self()
- if(!active)
- active = 1
- if(mode == 0)
- workdisk()
- if(mode == 1)
- worklocation()
- if(mode == 2)
- workobj()
- usr << "\blue You activate the pinpointer"
- else
- active = 0
- icon_state = "pinoff"
- usr << "\blue You deactivate the pinpointer"
-
-
- proc/worklocation()
- if(!active)
- return
- if(!location)
- icon_state = "pinonnull"
- return
- dir = get_dir(src,location)
- switch(get_dist(src,location))
- if(0)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
- spawn(5) .()
-
-
- proc/workobj()
- if(!active)
- return
- if(!target)
- icon_state = "pinonnull"
- return
- dir = get_dir(src,target)
- switch(get_dist(src,target))
- if(0)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
- spawn(5) .()
-
-/obj/item/weapon/pinpointer/advpinpointer/verb/toggle_mode()
- set category = "Object"
- set name = "Toggle Pinpointer Mode"
- set src in view(1)
-
+/obj/item/weapon/pinpointer/Destroy()
active = 0
- icon_state = "pinoff"
- target=null
- location = null
+ the_disk = null
+ return ..()
- switch(alert("Please select the mode you want to put the pinpointer in.", "Pinpointer Mode Select", "Location", "Disk Recovery", "Other Signature"))
- if("Location")
- mode = 1
-
- var/locationx = input(usr, "Please input the x coordinate to search for.", "Location?" , "") as num
- if(!locationx || !(usr in view(1,src)))
- return
- var/locationy = input(usr, "Please input the y coordinate to search for.", "Location?" , "") as num
- if(!locationy || !(usr in view(1,src)))
- return
-
- var/turf/Z = get_turf(src)
-
- location = locate(locationx,locationy,Z.z)
-
- usr << "You set the pinpointer to locate [locationx],[locationy]"
-
-
- return attack_self()
-
- if("Disk Recovery")
- mode = 0
- return attack_self()
-
- if("Other Signature")
- mode = 2
- switch(alert("Search for item signature or DNA fragment?" , "Signature Mode Select" , "" , "Item" , "DNA"))
- if("Item")
- var/list/item_names[0]
- var/list/item_paths[0]
- for(var/typepath in potential_theft_objectives)
- var/obj/item/tmp_object=new typepath
- var/n="[tmp_object]"
- item_names+=n
- item_paths[n]=typepath
- qdel(tmp_object)
- var/targetitem = input("Select item to search for.", "Item Mode Select","") as null|anything in potential_theft_objectives
- if(!targetitem)
- return
- target=locate(item_paths[targetitem])
- if(!target)
- usr << "Failed to locate [targetitem]!"
- return
- usr << "You set the pinpointer to locate [targetitem]"
- if("DNA")
- var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "")
- if(!DNAstring)
- return
- for(var/mob/living/carbon/M in mob_list)
- if(!M.dna)
- continue
- if(M.dna.unique_enzymes == DNAstring)
- target = M
- break
-
- return attack_self()
-
-
-///////////////////////
-//nuke op pinpointers//
-///////////////////////
-
-
-/obj/item/weapon/pinpointer/nukeop
- var/mode = 0 //Mode 0 locates disk, mode 1 locates the shuttle
- var/obj/machinery/computer/shuttle_control/multi/syndicate/home = null
- slot_flags = SLOT_PDA | SLOT_BELT
-
-/obj/item/weapon/pinpointer/nukeop/attack_self(mob/user as mob)
+/obj/item/weapon/pinpointer/attack_self()
if(!active)
active = 1
- if(!mode)
- workdisk()
- user << "Authentication Disk Locator active."
- else
- worklocation()
- user << "Shuttle Locator active."
- else
- active = 0
- icon_state = "pinoff"
- user << "You deactivate the pinpointer."
-
-
-/obj/item/weapon/pinpointer/nukeop/workdisk()
- if(!active) return
- if(mode) //Check in case the mode changes while operating
- worklocation()
- return
- if(bomb_set) //If the bomb is set, lead to the shuttle
- mode = 1 //Ensures worklocation() continues to work
- worklocation()
- playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) //Plays a beep
- visible_message("Shuttle Locator active.") //Lets the mob holding it know that the mode has changed
- return //Get outta here
- if(!the_disk)
- the_disk = locate()
- if(!the_disk)
- icon_state = "pinonnull"
- return
-// if(loc.z != the_disk.z) //If you are on a different z-level from the disk
-// icon_state = "pinonnull"
-// else
- dir = get_dir(src, the_disk)
- switch(get_dist(src, the_disk))
- if(0)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
-
- spawn(5) .()
-
-
-/obj/item/weapon/pinpointer/nukeop/proc/worklocation()
- if(!active) return
- if(!mode)
workdisk()
- return
- if(!bomb_set)
- mode = 0
- workdisk()
- playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
- visible_message("Authentication Disk Locator active.")
- return
- if(!home)
- home = locate()
- if(!home)
- icon_state = "pinonnull"
- return
- if(loc.z != home.z) //If you are on a different z-level from the shuttle
- icon_state = "pinonnull"
- else
- dir = get_dir(src, home)
- switch(get_dist(src, home))
- if(0)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
-
- spawn(5) .()
-
-/obj/item/weapon/pinpointer/pdapinpointer
- name = "pda pinpointer"
- desc = "A pinpointer that has been illegally modified to track the PDA of a crewmember for malicious reasons."
- var/obj/target = null
- var/used = 0
-
- attack_self()
- if(!active)
- active = 1
- point_at(target)
- usr << "\blue You activate the pinpointer"
- else
- active = 0
- icon_state = "pinoff"
- usr << "\blue You deactivate the pinpointer"
-
- verb/select_pda()
- set category = "Object"
- set name = "Select pinpointer target"
- set src in view(1)
-
- if(used)
- usr << "Target has already been set!"
- return
-
- var/list/L = list()
- L["Cancel"] = "Cancel"
- var/length = 1
- for (var/obj/item/device/pda/P in world)
- if(P.name != "\improper PDA")
- L[text("([length]) [P.name]")] = P
- length++
-
- var/t = input("Select pinpointer target. WARNING: Can only set once.") as null|anything in L
- if(t == "Cancel")
- return
- target = L[t]
- if(!target)
- usr << "Failed to locate [target]!"
- return
- active = 1
- point_at(target)
- usr << "You set the pinpointer to locate [target]"
- used = 1
-
-
- examine(mob/user)
- ..(user)
- if (target)
- user << "\blue Tracking [target]"
-
- proc/point_at(atom/target)
- if(!active)
- return
- if(!target)
- icon_state = "pinonnull"
- return
-
- var/turf/T = get_turf(target)
- var/turf/L = get_turf(src)
-
- if((!T) || (!L)) // Someone is no longer in the world...
- icon_state = "pinonnull"
- return
-
- if(T.z != L.z)
- icon_state = "pinonnull"
- else
- dir = get_dir(L, T)
- switch(get_dist(L, T))
- if(-1)
- icon_state = "pinondirect"
- if(1 to 8)
- icon_state = "pinonclose"
- if(9 to 16)
- icon_state = "pinonmedium"
- if(16 to INFINITY)
- icon_state = "pinonfar"
- spawn(5)
- .()
-
-/obj/item/weapon/pinpointer/operative
- name = "operative pinpointer"
- icon = 'icons/obj/device.dmi'
- desc = "A pinpointer that leads to the first Syndicate operative detected."
- var/mob/living/carbon/nearest_op = null
-
-/obj/item/weapon/pinpointer/operative/attack_self()
- if(!usr.mind || !(usr.mind in ticker.mode.syndicates))
- usr << "AUTHENTICATION FAILURE. ACCESS DENIED."
- return 0
- if(!active)
- active = 1
- workop()
usr << "You activate the pinpointer."
else
active = 0
icon_state = "pinoff"
usr << "You deactivate the pinpointer."
+
+/obj/item/weapon/pinpointer/proc/scandisk()
+ if(!the_disk)
+ the_disk = locate()
-/obj/item/weapon/pinpointer/operative/proc/scan_for_ops()
- if(active)
- nearest_op = null //Resets nearest_op every time it scans
- var/closest_distance = 1000
- for(var/mob/living/carbon/M in mob_list)
- if(M.mind && (M.mind in ticker.mode.syndicates))
- if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to
- nearest_op = M
- if(!nearest_op) // There are simply no operatives left to point to
- active = 0
- icon_state = "pinoff"
-
-/obj/item/weapon/pinpointer/operative/proc/workop()
- if(active)
- scan_for_ops()
- point_at(nearest_op, 0)
- spawn(5)
- .()
- else
- return 0
-
-/obj/item/weapon/pinpointer/operative/examine(mob/user)
- ..()
- if(active)
- if(nearest_op)
- user << "Nearest operative detected is [nearest_op.real_name]."
- else
- user << "No operatives detected within scanning range."
-
-/obj/item/weapon/pinpointer/operative/proc/point_at(atom/target, spawnself = 1)
+/obj/item/weapon/pinpointer/proc/point_at(atom/target, spawnself = 1)
if(!active)
return
if(!target)
@@ -426,4 +56,242 @@
icon_state = "pinonfar"
if(spawnself)
spawn(5)
- .()
\ No newline at end of file
+ .()
+
+/obj/item/weapon/pinpointer/proc/workdisk()
+ scandisk()
+ point_at(the_disk, 0)
+ spawn(5)
+ .()
+
+/obj/item/weapon/pinpointer/examine(mob/user)
+ ..(user)
+ for(var/obj/machinery/nuclearbomb/bomb in machines)
+ if(bomb.timing)
+ user << "Extreme danger. Arming signal detected. Time remaining: [bomb.timeleft]"
+
+/obj/item/weapon/pinpointer/advpinpointer
+ name = "advanced pinpointer"
+ desc = "A larger version of the normal pinpointer, this unit features a helpful quantum entanglement detection system to locate various objects that do not broadcast a locator signal."
+ var/mode = 0 // Mode 0 locates disk, mode 1 locates coordinates.
+ var/turf/location = null
+ var/obj/target = null
+
+/obj/item/weapon/pinpointer/advpinpointer/attack_self()
+ if(!active)
+ active = 1
+ if(mode == 0)
+ workdisk()
+ if(mode == 1)
+ point_at(location)
+ if(mode == 2)
+ point_at(target)
+ usr << "You activate the pinpointer."
+ else
+ active = 0
+ icon_state = "pinoff"
+ usr << "You deactivate the pinpointer."
+
+/obj/item/weapon/pinpointer/advpinpointer/workdisk()
+ if(mode == 0)
+ scandisk()
+ point_at(the_disk, 0)
+ spawn(5)
+ .()
+
+/obj/item/weapon/pinpointer/advpinpointer/verb/toggle_mode()
+ set category = "Object"
+ set name = "Toggle Pinpointer Mode"
+ set src in usr
+
+ if(usr.stat || usr.restrained())
+ return
+
+ active = 0
+ icon_state = "pinoff"
+ target = null
+ location = null
+
+ switch(alert("Please select the mode you want to put the pinpointer in.", "Pinpointer Mode Select", "Location", "Disk Recovery", "Other Signature"))
+ if("Location")
+ mode = 1
+
+ var/locationx = input(usr, "Please input the x coordinate to search for.", "Location?" , "") as num
+ if(!locationx || !(usr in view(1,src)))
+ return
+ var/locationy = input(usr, "Please input the y coordinate to search for.", "Location?" , "") as num
+ if(!locationy || !(usr in view(1,src)))
+ return
+
+ var/turf/Z = get_turf(src)
+
+ location = locate(locationx,locationy,Z.z)
+
+ usr << "You set the pinpointer to locate [locationx],[locationy]"
+
+
+ return attack_self()
+
+ if("Disk Recovery")
+ mode = 0
+ return attack_self()
+
+ if("Other Signature")
+ mode = 2
+ switch(alert("Search for item signature or DNA fragment?" , "Signature Mode Select" , "Item" , "DNA"))
+ if("Item")
+ var/list/item_names[0]
+ var/list/item_paths[0]
+ for(var/objective in potential_theft_objectives)
+ var/datum/theft_objective/T = objective
+ var/name = initial(T.name)
+ item_names += name
+ item_paths[name] = initial(T.typepath)
+ var/targetitem = input("Select item to search for.", "Item Mode Select","") as null|anything in item_names
+ if(!targetitem)
+ return
+ target = locate(item_paths[targetitem])
+ if(!target)
+ usr << "Failed to locate [targetitem]!"
+ return
+ usr << "You set the pinpointer to locate [targetitem]."
+ if("DNA")
+ var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "")
+ if(!DNAstring)
+ return
+ for(var/mob/living/carbon/C in mob_list)
+ if(!C.dna)
+ continue
+ if(C.dna.unique_enzymes == DNAstring)
+ target = C
+ break
+
+ return attack_self()
+
+///////////////////////
+//nuke op pinpointers//
+///////////////////////
+/obj/item/weapon/pinpointer/nukeop
+ var/mode = 0 //Mode 0 locates disk, mode 1 locates the shuttle
+ var/obj/machinery/computer/shuttle_control/multi/syndicate/home = null
+ slot_flags = SLOT_PDA | SLOT_BELT
+
+/obj/item/weapon/pinpointer/nukeop/attack_self(mob/user as mob)
+ if(!active)
+ active = 1
+ if(!mode)
+ workdisk()
+ user << "Authentication Disk Locator active."
+ else
+ worklocation()
+ user << "Shuttle Locator active."
+ else
+ active = 0
+ icon_state = "pinoff"
+ user << "You deactivate the pinpointer."
+
+/obj/item/weapon/pinpointer/nukeop/workdisk()
+ if(!active) return
+ if(mode) //Check in case the mode changes while operating
+ worklocation()
+ return
+ if(bomb_set) //If the bomb is set, lead to the shuttle
+ mode = 1 //Ensures worklocation() continues to work
+ worklocation()
+ playsound(loc, 'sound/machines/twobeep.ogg', 50, 1) //Plays a beep
+ visible_message("Shuttle Locator mode actived.") //Lets the mob holding it know that the mode has changed
+ return //Get outta here
+ scandisk()
+ if(!the_disk)
+ icon_state = "pinonnull"
+ return
+ dir = get_dir(src, the_disk)
+ switch(get_dist(src, the_disk))
+ if(0)
+ icon_state = "pinondirect"
+ if(1 to 8)
+ icon_state = "pinonclose"
+ if(9 to 16)
+ icon_state = "pinonmedium"
+ if(16 to INFINITY)
+ icon_state = "pinonfar"
+
+ spawn(5) .()
+
+/obj/item/weapon/pinpointer/nukeop/proc/worklocation()
+ if(!active)
+ return
+ if(!mode)
+ workdisk()
+ return
+ if(!bomb_set)
+ mode = 0
+ workdisk()
+ playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
+ visible_message("Authentication Disk Locator mode actived.")
+ return
+ if(!home)
+ home = locate()
+ if(!home)
+ icon_state = "pinonnull"
+ return
+ if(loc.z != home.z) //If you are on a different z-level from the shuttle
+ icon_state = "pinonnull"
+ else
+ dir = get_dir(src, home)
+ switch(get_dist(src, home))
+ if(0)
+ icon_state = "pinondirect"
+ if(1 to 8)
+ icon_state = "pinonclose"
+ if(9 to 16)
+ icon_state = "pinonmedium"
+ if(16 to INFINITY)
+ icon_state = "pinonfar"
+
+ spawn(5)
+ .()
+
+/obj/item/weapon/pinpointer/operative
+ name = "operative pinpointer"
+ desc = "A pinpointer that leads to the first Syndicate operative detected."
+ var/mob/living/carbon/nearest_op = null
+
+/obj/item/weapon/pinpointer/operative/attack_self()
+ if(!usr.mind || !(usr.mind in ticker.mode.syndicates))
+ usr << "AUTHENTICATION FAILURE. ACCESS DENIED."
+ return 0
+ if(!active)
+ active = 1
+ workop()
+ usr << "You activate the pinpointer."
+ else
+ active = 0
+ icon_state = "pinoff"
+ usr << "You deactivate the pinpointer."
+
+/obj/item/weapon/pinpointer/operative/proc/scan_for_ops()
+ if(active)
+ nearest_op = null //Resets nearest_op every time it scans
+ var/closest_distance = 1000
+ for(var/mob/living/carbon/M in mob_list)
+ if(M.mind && (M.mind in ticker.mode.syndicates))
+ if(get_dist(M, get_turf(src)) < closest_distance) //Actually points toward the nearest op, instead of a random one like it used to
+ nearest_op = M
+
+/obj/item/weapon/pinpointer/operative/proc/workop()
+ if(active)
+ scan_for_ops()
+ point_at(nearest_op, 0)
+ spawn(5)
+ .()
+ else
+ return 0
+
+/obj/item/weapon/pinpointer/operative/examine(mob/user)
+ ..()
+ if(active)
+ if(nearest_op)
+ user << "Nearest operative detected is [nearest_op.real_name]."
+ else
+ user << "No operatives detected within scanning range."
diff --git a/code/game/gamemodes/shadowling/shadowling_items.dm b/code/game/gamemodes/shadowling/shadowling_items.dm
index 863ea9c43a6..6af78895077 100644
--- a/code/game/gamemodes/shadowling/shadowling_items.dm
+++ b/code/game/gamemodes/shadowling/shadowling_items.dm
@@ -4,7 +4,7 @@
item_state = "golem"
origin_tech = null
icon_state = "golem"
- _color = "golem"
+ item_color = "golem"
flags = ABSTRACT | NODROP
has_sensor = 0
unacidable = 1
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index 86d7b5ac00d..8cbe56b2d3b 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -607,9 +607,6 @@
src.add_hiddenprint(user)
return ui_interact(user)
-/obj/machinery/alarm/attack_robot(mob/user)
- return attack_ai(user)
-
/obj/machinery/alarm/attack_ghost(user as mob)
if(stat & (BROKEN|MAINT))
return
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index b68b74313d5..99db01bfae2 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -57,7 +57,7 @@ var/datum/canister_icons/canister_icon_container = new()
var/valve_open = 0
var/release_pressure = ONE_ATMOSPHERE
- var/list/_color //variable that stores colours
+ var/list/canister_color //variable that stores colours
var/list/decals //list that stores the decals
//lists for check_change()
@@ -81,7 +81,7 @@ var/datum/canister_icons/canister_icon_container = new()
New()
..()
- _color = list(
+ canister_color = list(
"prim" = "yellow",
"sec" = "none",
"ter" = "none",
@@ -117,7 +117,7 @@ var/datum/canister_icons/canister_icon_container = new()
for(var/C in colorcontainer)
if(C == "prim") continue
var/list/L = colorcontainer[C]
- if(!(_color[C]) || (_color[C] == "none"))
+ if(!(canister_color[C]) || (canister_color[C] == "none"))
L.Add(list("anycolor" = 0))
else
L.Add(list("anycolor" = 1))
@@ -151,9 +151,9 @@ var/datum/canister_icons/canister_icon_container = new()
else
update_flag |= 32
- if(list2params(oldcolor) != list2params(_color))
+ if(list2params(oldcolor) != list2params(canister_color))
update_flag |= 64
- oldcolor = _color.Copy()
+ oldcolor = canister_color.Copy()
if(list2params(olddecals) != list2params(decals))
update_flag |= 128
@@ -180,20 +180,20 @@ update_flag
if (src.destroyed)
src.overlays = 0
- src.icon_state = text("[]-1", src._color["prim"])//yes, I KNOW the colours don't reflect when the can's borked, whatever.
+ src.icon_state = text("[]-1", src.canister_color["prim"])//yes, I KNOW the colours don't reflect when the can's borked, whatever.
- if(icon_state != src._color["prim"])
- icon_state = src._color["prim"]
+ if(icon_state != src.canister_color["prim"])
+ icon_state = src.canister_color["prim"]
if(check_change()) //Returns 1 if no change needed to icons.
return
overlays.Cut()
- for(var/C in _color)
+ for(var/C in canister_color)
if(C == "prim") continue
- if(_color[C] == "none") continue
- overlays.Add(_color[C])
+ if(canister_color[C] == "none") continue
+ overlays.Add(canister_color[C])
for(var/D in decals)
if(decals[D])
@@ -393,7 +393,7 @@ update_flag
data["name"] = name
data["menu"] = menu ? 1 : 0
data["canLabel"] = can_label ? 1 : 0
- data["_color"] = _color
+ data["canister_color"] = canister_color
data["colorContainer"] = colorcontainer
data["possibleDecals"] = possibledecals
data["portConnected"] = connected_port ? 1 : 0
@@ -482,22 +482,22 @@ update_flag
if (href_list["choice"] == "Primary color")
if (is_a_color(href_list["icon"],"prim"))
- _color["prim"] = href_list["icon"]
+ canister_color["prim"] = href_list["icon"]
if (href_list["choice"] == "Secondary color")
if (href_list["icon"] == "none")
- _color["sec"] = "none"
+ canister_color["sec"] = "none"
else if (is_a_color(href_list["icon"],"sec"))
- _color["sec"] = href_list["icon"]
+ canister_color["sec"] = href_list["icon"]
if (href_list["choice"] == "Tertiary color")
if (href_list["icon"] == "none")
- _color["ter"] = "none"
+ canister_color["ter"] = "none"
else if (is_a_color(href_list["icon"],"ter"))
- _color["ter"] = href_list["icon"]
+ canister_color["ter"] = href_list["icon"]
if (href_list["choice"] == "Quaternary color")
if (href_list["icon"] == "none")
- _color["quart"] = "none"
+ canister_color["quart"] = "none"
else if (is_a_color(href_list["icon"],"quart"))
- _color["quart"] = href_list["icon"]
+ canister_color["quart"] = href_list["icon"]
if (href_list["choice"] == "decals")
if (is_a_decal(href_list["icon"]))
@@ -542,7 +542,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/toxins/New()
..()
- _color["prim"] = "orange"
+ canister_color["prim"] = "orange"
decals["plasma"] = 1
src.air_contents.toxins = (src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
@@ -552,7 +552,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/oxygen/New()
..()
- _color["prim"] = "blue"
+ canister_color["prim"] = "blue"
src.air_contents.oxygen = (src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
src.update_icon()
@@ -561,7 +561,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/sleeping_agent/New()
..()
- _color["prim"] = "redws"
+ canister_color["prim"] = "redws"
var/datum/gas/sleeping_agent/trace_gas = new
air_contents.trace_gases += trace_gas
trace_gas.moles = (src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
@@ -588,7 +588,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/nitrogen/New()
..()
- _color["prim"] = "red"
+ canister_color["prim"] = "red"
src.air_contents.nitrogen = (src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
src.update_icon()
@@ -597,7 +597,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/carbon_dioxide/New()
..()
- _color["prim"] = "black"
+ canister_color["prim"] = "black"
src.air_contents.carbon_dioxide = (src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
src.update_icon()
@@ -607,7 +607,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/air/New()
..()
- _color["prim"] = "grey"
+ canister_color["prim"] = "grey"
src.air_contents.oxygen = (O2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
src.air_contents.nitrogen = (N2STANDARD*src.maximum_pressure*filled)*air_contents.volume/(R_IDEAL_GAS_EQUATION*air_contents.temperature)
@@ -617,7 +617,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/custom_mix/New()
..()
- _color["prim"] = "whiters"
+ canister_color["prim"] = "whiters"
src.update_icon() // Otherwise new canisters do not have their icon updated with the pressure light, likely want to add this to the canister class constructor, avoiding at current time to refrain from screwing up code for other canisters. --DZD
return 1
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 98d4cd9a5fc..b4e9dc9822c 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -420,10 +420,10 @@
var/active = 0
/obj/item/weapon/holo/esword/green/New()
- _color = "green"
+ item_color = "green"
/obj/item/weapon/holo/esword/red/New()
- _color = "red"
+ item_color = "red"
/obj/item/weapon/holo/esword/IsShield()
if(active)
@@ -431,13 +431,13 @@
return 0
/obj/item/weapon/holo/esword/New()
- _color = pick("red","blue","green","purple")
+ item_color = pick("red","blue","green","purple")
/obj/item/weapon/holo/esword/attack_self(mob/living/user as mob)
active = !active
if (active)
force = 30
- icon_state = "sword[_color]"
+ icon_state = "sword[item_color]"
w_class = 4
playsound(user, 'sound/weapons/saberon.ogg', 50, 1)
user << "[src] is now active."
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index ab437a4a1e9..bed10ccf131 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -337,8 +337,6 @@ Class Procs:
return src.attack_hand(user)
/obj/machinery/attack_hand(mob/user as mob)
- if(!interact_offline && stat & (NOPOWER|BROKEN|MAINT))
- return 1
if(user.lying || user.stat)
return 1
@@ -346,11 +344,6 @@ Class Procs:
user << "You don't have the dexterity to do this!"
return 1
-/*
- //distance checks are made by atom/proc/DblClick
- if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon))
- return 1
-*/
if (ishuman(user))
var/mob/living/carbon/human/H = user
if(H.getBrainLoss() >= 60)
@@ -359,10 +352,17 @@ Class Procs:
else if(prob(H.getBrainLoss()))
user << "You momentarily forget how to use [src]."
return 1
+
+ if(panel_open)
+ src.add_fingerprint(user)
+ return 0
+
+ if(!interact_offline && stat & (NOPOWER|BROKEN|MAINT))
+ return 1
src.add_fingerprint(user)
- return 0
+ return ..()
/obj/machinery/CheckParts()
RefreshParts()
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index 7ff7cc466d8..2d568cf1f30 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -145,20 +145,23 @@
for(var/obj/O in um)
// Engineering
if(istype(O,/obj/item/stack/sheet/metal) || istype(O,/obj/item/stack/sheet/rglass) || istype(O,/obj/item/stack/cable_coil))
- if(O:amount < 50)
- O:amount += 1 * coeff
+ var/obj/item/stack/sheet/S = O
+ if(S.amount < 50)
+ S.amount += 1 * coeff
// Security
if(istype(O,/obj/item/device/flash))
- if(O:broken)
- O:broken = 0
- O:times_used = 0
- O:icon_state = "flash"
+ var/obj/item/device/flash/F = O
+ if(F.broken)
+ F.broken = 0
+ F.times_used = 0
+ F.icon_state = "flash"
if(istype(O,/obj/item/weapon/gun/energy/disabler/cyborg))
- if(O:power_supply.charge < O:power_supply.maxcharge)
- O:power_supply.give(O:charge_cost)
- O:update_icon()
+ var/obj/item/weapon/gun/energy/disabler/cyborg/D = O
+ if(D.power_supply.charge < D.power_supply.maxcharge)
+ D.power_supply.give(D.charge_cost)
+ D.update_icon()
else
- O:charge_tick = 0
+ D.charge_tick = 0
if(istype(O,/obj/item/weapon/melee/baton))
var/obj/item/weapon/melee/baton/B = O
if(B.bcell)
@@ -178,15 +181,6 @@
var/i = 1
for(1, i <= coeff, i++)
LR.Charge(occupant)
- //Alien
- if(istype(O,/obj/item/weapon/reagent_containers/spray/alien/smoke))
- if(O.reagents.get_reagent_amount("water") < 50)
- O.reagents.add_reagent("water", 2 * coeff)
- if(istype(O,/obj/item/weapon/reagent_containers/spray/alien/stun))
- if(O.reagents.get_reagent_amount("ether") < 250)
- O.reagents.add_reagent("ether", 2 * coeff)
-
-
if(R)
if(R.module)
R.module.respawn_consumable(R)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 918783941fc..9313acda3cb 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -1067,7 +1067,7 @@
helmet.name = "engineering hardsuit helmet"
helmet.icon_state = "rig0-engineering"
helmet.item_state = "eng_helm"
- helmet._color = "engineering"
+ helmet.item_color = "engineering"
if(suit)
suit.name = "engineering hardsuit"
suit.icon_state = "rig-engineering"
@@ -1077,7 +1077,7 @@
helmet.name = "mining hardsuit helmet"
helmet.icon_state = "rig0-mining"
helmet.item_state = "mining_helm"
- helmet._color = "mining"
+ helmet.item_color = "mining"
if(suit)
suit.name = "mining hardsuit"
suit.icon_state = "rig-mining"
@@ -1087,7 +1087,7 @@
helmet.name = "medical hardsuit helmet"
helmet.icon_state = "rig0-medical"
helmet.item_state = "medical_helm"
- helmet._color = "medical"
+ helmet.item_color = "medical"
if(suit)
suit.name = "medical hardsuit"
suit.icon_state = "rig-medical"
@@ -1097,7 +1097,7 @@
helmet.name = "security hardsuit helmet"
helmet.icon_state = "rig0-sec"
helmet.item_state = "sec_helm"
- helmet._color = "sec"
+ helmet.item_color = "sec"
if(suit)
suit.name = "security hardsuit"
suit.icon_state = "rig-sec"
@@ -1107,7 +1107,7 @@
helmet.name = "atmospherics hardsuit helmet"
helmet.icon_state = "rig0-atmos"
helmet.item_state = "atmos_helm"
- helmet._color = "atmos"
+ helmet.item_color = "atmos"
if(suit)
suit.name = "atmospherics hardsuit"
suit.icon_state = "rig-atmos"
@@ -1117,7 +1117,7 @@
helmet.name = "blood-red hardsuit helmet"
helmet.icon_state = "rig0-syndie"
helmet.item_state = "syndie_helm"
- helmet._color = "syndie"
+ helmet.item_color = "syndie"
if(suit)
suit.name = "blood-red hardsuit"
suit.item_state = "syndie_hardsuit"
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 724643ed751..bd2000595f6 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -52,15 +52,15 @@
if(crayon)
- var/_color
+ var/wash_color
if(istype(crayon,/obj/item/toy/crayon))
var/obj/item/toy/crayon/CR = crayon
- _color = CR.colourName
+ wash_color = CR.colourName
else if(istype(crayon,/obj/item/weapon/stamp))
var/obj/item/weapon/stamp/ST = crayon
- _color = ST._color
+ wash_color = ST.item_color
- if(_color)
+ if(wash_color)
var/new_jumpsuit_icon_state = ""
var/new_jumpsuit_item_state = ""
var/new_jumpsuit_name = ""
@@ -77,7 +77,7 @@
for(var/T in typesof(/obj/item/clothing/under))
var/obj/item/clothing/under/J = new T
//world << "DEBUG: [color] == [J.color]"
- if(_color == J._color)
+ if(wash_color == J.item_color)
new_jumpsuit_icon_state = J.icon_state
new_jumpsuit_item_state = J.item_state
new_jumpsuit_name = J.name
@@ -88,7 +88,7 @@
for(var/T in typesof(/obj/item/clothing/gloves/color))
var/obj/item/clothing/gloves/color/G = new T
//world << "DEBUG: [color] == [J.color]"
- if(_color == G._color)
+ if(wash_color == G.item_color)
new_glove_icon_state = G.icon_state
new_glove_item_state = G.item_state
new_glove_name = G.name
@@ -99,7 +99,7 @@
for(var/T in typesof(/obj/item/clothing/shoes))
var/obj/item/clothing/shoes/S = new T
//world << "DEBUG: [color] == [J.color]"
- if(_color == S._color)
+ if(wash_color == S.item_color)
new_shoe_icon_state = S.icon_state
new_shoe_name = S.name
qdel(S)
@@ -109,7 +109,7 @@
for(var/T in typesof(/obj/item/weapon/bedsheet))
var/obj/item/weapon/bedsheet/B = new T
//world << "DEBUG: [color] == [J.color]"
- if(_color == B._color)
+ if(wash_color == B.item_color)
new_sheet_icon_state = B.icon_state
new_sheet_name = B.name
qdel(B)
@@ -119,7 +119,7 @@
for(var/T in typesof(/obj/item/clothing/head/soft))
var/obj/item/clothing/head/soft/H = new T
//world << "DEBUG: [color] == [J.color]"
- if(_color == H._color)
+ if(wash_color == H.item_color)
new_softcap_icon_state = H.icon_state
new_softcap_name = H.name
qdel(H)
@@ -131,7 +131,7 @@
//world << "DEBUG: YUP! FOUND IT!"
J.item_state = new_jumpsuit_item_state
J.icon_state = new_jumpsuit_icon_state
- J._color = _color
+ J.item_color = wash_color
J.name = new_jumpsuit_name
J.desc = new_desc
if(new_glove_icon_state && new_glove_item_state && new_glove_name)
@@ -139,7 +139,7 @@
//world << "DEBUG: YUP! FOUND IT!"
G.item_state = new_glove_item_state
G.icon_state = new_glove_icon_state
- G._color = _color
+ G.item_color = wash_color
G.name = new_glove_name
if(!istype(G, /obj/item/clothing/gloves/color/black/thief))
G.desc = new_desc
@@ -151,21 +151,21 @@
S.slowdown = SHOES_SLOWDOWN
new /obj/item/weapon/restraints/handcuffs( src )
S.icon_state = new_shoe_icon_state
- S._color = _color
+ S.item_color = wash_color
S.name = new_shoe_name
S.desc = new_desc
if(new_sheet_icon_state && new_sheet_name)
for(var/obj/item/weapon/bedsheet/B in contents)
//world << "DEBUG: YUP! FOUND IT!"
B.icon_state = new_sheet_icon_state
- B._color = _color
+ B.item_color = wash_color
B.name = new_sheet_name
B.desc = new_desc
if(new_softcap_icon_state && new_softcap_name)
for(var/obj/item/clothing/head/soft/H in contents)
//world << "DEBUG: YUP! FOUND IT!"
H.icon_state = new_softcap_icon_state
- H._color = _color
+ H.item_color = wash_color
H.name = new_softcap_name
H.desc = new_desc
qdel(crayon)
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 14f9f42ec06..a4e9739868d 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -12,6 +12,11 @@
. = ..()
if(can_buckle && buckled_mob)
return user_unbuckle_mob(user)
+
+/atom/movable/attack_robot(mob/living/user)
+ . = ..()
+ if(can_buckle && buckled_mob && Adjacent(user)) // attack_robot is called on all ranges, so the Adjacent check is needed
+ return user_unbuckle_mob(user)
/atom/movable/MouseDrop_T(mob/living/M, mob/living/user)
. = ..()
diff --git a/code/game/objects/effects/decals/Cleanable/tracks.dm b/code/game/objects/effects/decals/Cleanable/tracks.dm
index ae05e0e4cc3..86c03a683e8 100644
--- a/code/game/objects/effects/decals/Cleanable/tracks.dm
+++ b/code/game/objects/effects/decals/Cleanable/tracks.dm
@@ -24,9 +24,9 @@ var/global/list/image/fluidtrack_cache=list()
var/crusty=0
var/image/overlay
- New(_direction,_color,_wet)
+ New(_direction,item_color,_wet)
src.direction=_direction
- src.basecolor=_color
+ src.basecolor=item_color
src.wet=_wet
// Footprints, tire trails...
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index b123c0f094b..05b538ab64c 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -63,13 +63,6 @@ would spawn and follow the beaker, even if it is carried or thrown.
return
return
-/obj/effect/effect/water/Destroy()
- //var/turf/T = src.loc
- //if (istype(T, /turf))
- // T.firelevel = 0 //TODO: FIX
- src.delete()
- return ..()
-
/obj/effect/effect/water/Move(turf/newloc)
//var/turf/T = src.loc
//if (istype(T, /turf))
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 24fd10d631d..6d303aa8fd2 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -37,7 +37,7 @@
var/list/materials = list()
//Since any item can now be a piece of clothing, this has to be put here so all items share it.
var/flags_inv //This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
- var/_color = null
+ var/item_color = null
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags
//var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible
var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 56d6fbbdafd..aea107885f7 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -10,11 +10,13 @@
materials = list(MAT_METAL=10000, MAT_GLASS=2500)
var/code = 2
+ is_special = 1
+
/obj/item/device/radio/electropack/attack_hand(mob/user as mob)
if(src == user.back)
user << "You need help taking this off!"
- return
- ..()
+ return 0
+ . = ..()
/obj/item/device/radio/electropack/Destroy()
if(istype(src.loc, /obj/item/assembly/shock_kit))
@@ -53,42 +55,22 @@
A.flags |= NODROP
/obj/item/device/radio/electropack/Topic(href, href_list)
- //..()
- if(usr.stat || usr.restrained())
- return
- if(((istype(usr, /mob/living/carbon/human) && ((!( ticker ) || (ticker && ticker.mode != "monkey")) && usr.contents.Find(src))) || (usr.contents.Find(master) || (in_range(src, usr) && istype(loc, /turf)))))
- usr.set_machine(src)
- if(href_list["freq"])
- var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
- set_frequency(new_frequency)
- else
- if(href_list["code"])
- code += text2num(href_list["code"])
- code = round(code)
- code = min(100, code)
- code = max(1, code)
- else
- if(href_list["power"])
- on = !( on )
- icon_state = "electropack[on]"
- if(!( master ))
- if(istype(loc, /mob))
- attack_self(loc)
- else
- for(var/mob/M in viewers(1, src))
- if(M.client)
- attack_self(M)
- else
- if(istype(master.loc, /mob))
- attack_self(master.loc)
- else
- for(var/mob/M in viewers(1, master))
- if(M.client)
- attack_self(M)
- else
- usr << browse(null, "window=radio")
- return
- return
+ if(..())
+ return 1
+
+ if(href_list["freq"])
+ var/new_frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
+ set_frequency(new_frequency)
+
+ else if(href_list["code"])
+ code += text2num(href_list["code"])
+ code = round(code)
+ code = Clamp(code, 1, 100)
+
+ else if(href_list["power"])
+ on = !on
+
+ add_fingerprint(usr)
/obj/item/device/radio/electropack/receive_signal(datum/signal/signal)
if(!signal || signal.encryption != code)
@@ -115,26 +97,17 @@
master.receive_signal()
return
-/obj/item/device/radio/electropack/attack_self(mob/user as mob, flag1)
- if(!istype(user, /mob/living/carbon/human))
- return
- user.set_machine(src)
- var/dat = {"
-Turn [on ? "Off" : "On"]
-Frequency/Code for electropack:
-Frequency:
--
-- [format_frequency(frequency)]
-+
-+
+/obj/item/device/radio/electropack/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+ var/data[0]
-Code:
--
-- [code]
-+
-+
-"}
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
+ data["power"] = on
+ data["freq"] = format_frequency(frequency)
+ data["code"] = code
+
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "radio_electro.tmpl", "[name]", 400, 500)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
\ No newline at end of file
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 4aa8f8b73f0..1ef94fde8d2 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -38,6 +38,9 @@ var/global/list/default_medbay_channels = list(
var/list/channels = list() //see communications.dm for full list. First channes is a "default" for :h
var/subspace_transmission = 0
var/syndie = 0//Holder to see if it's a syndicate encrpyed radio
+
+ var/is_special = 0 //For electropacks mostly, skips Topic() checks
+
flags = CONDUCT
slot_flags = SLOT_BELT
throw_speed = 2
@@ -89,59 +92,68 @@ var/global/list/default_medbay_channels = list(
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
/obj/item/device/radio/attack_ghost(mob/user)
- interact(user)
+ return ui_interact(user)
/obj/item/device/radio/attack_self(mob/user as mob)
user.set_machine(src)
interact(user)
-/obj/item/device/radio/interact(mob/user as mob)
- if(!on)
- return
+/obj/item/device/radio/interact(mob/user)
+ if(!user)
+ return 0
- if(active_uplink_check(user))
- return
+ if(b_stat)
+ wires.Interact(user)
- var/dat = "
[src]"
+ return ui_interact(user)
- if(!istype(src, /obj/item/device/radio/headset)) //Headsets dont get a mic button
- dat += "Microphone: [broadcasting ? "Engaged" : "Disengaged"]
"
+/obj/item/device/radio/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+ var/data[0]
- dat += {"
- Speaker: [listening ? "Engaged" : "Disengaged"]
- Frequency:
- -
- -
- [format_frequency(frequency)]
- +
- +
- "}
+ data["mic_status"] = broadcasting
+ data["speaker"] = listening
+ data["freq"] = format_frequency(frequency)
+ data["rawfreq"] = num2text(frequency)
- dat+=list_channels(user)
+ data["mic_cut"] = (wires.IsIndexCut(WIRE_TRANSMIT) || wires.IsIndexCut(WIRE_SIGNAL))
+ data["spk_cut"] = (wires.IsIndexCut(WIRE_RECEIVE) || wires.IsIndexCut(WIRE_SIGNAL))
- dat+={"[text_wires()]"}
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
+ var/list/chanlist = list_channels(user)
+ if(islist(chanlist) && chanlist.len)
+ data["chan_list"] = chanlist
+ data["chan_list_len"] = chanlist.len
+
+ if(syndie)
+ data["useSyndMode"] = 1
+
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "radio_basic.tmpl", "[name]", 400, 550)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
/obj/item/device/radio/proc/list_channels(var/mob/user)
return list_internal_channels(user)
/obj/item/device/radio/proc/list_secure_channels(var/mob/user)
- var/dat = ""
- for (var/ch_name in channels)
- dat+=text_sec_channel(ch_name, channels[ch_name])
+ var/dat[0]
+
+ for(var/ch_name in channels)
+ var/chan_stat = channels[ch_name]
+ var/listening = !!(chan_stat & FREQ_LISTENING) != 0
+
+ dat.Add(list(list("chan" = ch_name, "display_name" = ch_name, "secure_channel" = 1, "sec_channel_listen" = !listening)))
+
return dat
/obj/item/device/radio/proc/list_internal_channels(var/mob/user)
- var/dat = ""
- for (var/internal_chan in internal_channels)
+ var/dat[0]
+ for(var/internal_chan in internal_channels)
if(has_channel_access(user, internal_chan))
- dat+="[get_frequency_name(text2num(internal_chan))]
"
+ dat.Add(list(list("chan" = internal_chan, "display_name" = get_frequency_name(text2num(internal_chan)))))
- if(dat)
- dat = "
Internal Channels
" + dat
return dat
/obj/item/device/radio/proc/has_channel_access(var/mob/user, var/freq)
@@ -169,13 +181,6 @@ var/global/list/default_medbay_channels = list(
return wires.GetInteractWindow()
return
-/obj/item/device/radio/proc/text_sec_channel(var/chan_name, var/chan_stat)
- var/list = !!(chan_stat&FREQ_LISTENING)!=0
- return {"
- [chan_name]
- Speaker: [list ? "Engaged" : "Disengaged"]
- "}
-
/obj/item/device/radio/proc/ToggleBroadcast()
broadcasting = !broadcasting && !(wires.IsIndexCut(WIRE_TRANSMIT) || wires.IsIndexCut(WIRE_SIGNAL))
@@ -186,6 +191,9 @@ var/global/list/default_medbay_channels = list(
if(..())
return 1
+ if(is_special)
+ return 0
+
if (href_list["track"])
var/mob/target = locate(href_list["track"])
var/mob/living/silicon/ai/A = locate(href_list["track2"])
@@ -205,7 +213,7 @@ var/global/list/default_medbay_channels = list(
else if (href_list["talk"])
ToggleBroadcast()
. = 1
- else if (href_list["listen"])
+ else if(href_list["listen"])
var/chan_name = href_list["ch_name"]
if (!chan_name)
ToggleReception()
@@ -220,11 +228,10 @@ var/global/list/default_medbay_channels = list(
if(has_channel_access(usr, freq))
set_frequency(text2num(freq))
. = 1
+
if(href_list["nowindow"]) // here for pAIs, maybe others will want it, idk
return 1
- if(.)
- interact(usr)
add_fingerprint(usr)
/obj/item/device/radio/proc/autosay(var/message, var/from, var/channel, var/zlevel = config.contact_levels) //BS12 EDIT
@@ -576,6 +583,11 @@ var/global/list/default_medbay_channels = list(
syndie = 1
keyslot = new /obj/item/device/encryptionkey/syndicate
+/obj/item/device/radio/borg/syndicate/CanUseTopic(mob/user, datum/topic_state/state)
+ . = ..()
+ if(. == STATUS_UPDATE && istype(user, /mob/living/silicon/robot/syndicate))
+ . = STATUS_INTERACTIVE
+
/obj/item/device/radio/borg/Destroy()
myborg = null
return ..()
@@ -703,32 +715,40 @@ var/global/list/default_medbay_channels = list(
usr << "Loudspeaker enabled."
. = 1
- if(.)
- interact(usr)
/obj/item/device/radio/borg/interact(mob/user as mob)
if(!on)
return
- var/dat = "[src]"
- dat += {"
- Speaker: [listening ? "Engaged" : "Disengaged"]
- Frequency:
- -
- -
- [format_frequency(frequency)]
- +
- +
- Broadcasting: [subspace_transmission ? "Disable" : "Enable"]
- Loudspeaker: [shut_up ? "Enable" : "Disable"]
- "}
+ . = ..()
- if(subspace_transmission)//Don't even bother if subspace isn't turned on
- dat+=list_channels(user)
- dat+={"[text_wires()]"}
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
+/obj/item/device/radio/borg/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
+ var/data[0]
+
+ data["mic_status"] = broadcasting
+ data["speaker"] = listening
+ data["freq"] = format_frequency(frequency)
+ data["rawfreq"] = num2text(frequency)
+
+ var/list/chanlist = list_channels(user)
+ if(islist(chanlist) && chanlist.len)
+ data["chan_list"] = chanlist
+ data["chan_list_len"] = chanlist.len
+
+ if(syndie)
+ data["useSyndMode"] = 1
+
+ data["has_loudspeaker"] = 1
+ data["loudspeaker"] = !shut_up
+ data["has_subspace"] = 1
+ data["subspace"] = subspace_transmission
+
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
+ if(!ui)
+ ui = new(user, src, ui_key, "radio_basic.tmpl", "[name]", 430, 500)
+ ui.set_initial_data(data)
+ ui.open()
+ ui.set_auto_update(1)
/obj/item/device/radio/proc/config(op)
if(radio_controller)
diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm
index 81d9a7769e5..b08245b010f 100644
--- a/code/game/objects/items/random_items.dm
+++ b/code/game/objects/items/random_items.dm
@@ -47,8 +47,7 @@
New()
..()
var/datum/reagent/R = pick(chemical_reagents_list)
- var/global/list/rare_chems = list("minttoxin","nanites","xenomicrobes","adminordrazine")
- if(rare_chems.Find(R))
+ if(rare_chemicals.Find(R))
reagents.add_reagent(R,10)
else
reagents.add_reagent(R,rand(2,3)*10)
@@ -61,11 +60,9 @@
// identify_probability = 0
New()
..()
- var/global/list/chems_only = list("slimejelly","blood","water","lube","charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","oxygen","copper","nitrogen","hydrogen","potassium","mercury","sulfur","carbon","chlorine","fluorine","sodium","phosphorus","lithium","sugar","sacid","facid","glycerol","radium","mutadone","thermite","mutagen","virusfood","iron","gold","silver","uranium","aluminum","silicon","fuel","cleaner","atrazine","plasma","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","cryoxadone","spaceacillin","carpotoxin","lsd","fluorosurfactant","fluorosurfactant","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","enzyme","nothing","salglu_solution","antifreeze","neurotoxin")
- var/global/list/rare_chems = list("minttoxin","nanites","xenomicrobes","adminordrazine")
- var/datum/reagent/R = pick(chems_only + rare_chems)
- if(rare_chems.Find(R))
+ var/datum/reagent/R = pick(standard_chemicals + rare_chemicals)
+ if(rare_chemicals.Find(R))
reagents.add_reagent(R,10)
else
reagents.add_reagent(R,rand(2,3)*10)
@@ -78,35 +75,35 @@
// identify_probability = 0
New()
..()
- var/global/list/base_chems = list("water","oxygen","nitrogen","hydrogen","potassium","mercury","carbon","chlorine","fluorine","phosphorus","lithium","sulfur","sacid","radium","iron","aluminum","silicon","sugar","ethanol")
- var/datum/reagent/R = pick(base_chems)
+ var/datum/reagent/R = pick(base_chemicals)
reagents.add_reagent(R,rand(2,6)*5)
name = "unlabelled bottle"
pixel_x = rand(-10,10)
pixel_y = rand(-10,10)
+
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_drink
name = "unlabelled drink"
icon = 'icons/obj/drinks.dmi'
New()
..()
- var/list/drinks_only = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice","berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana","nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee","icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb","space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater","tequilla","vermouth","wine","tonic","kahlua","cognac","ale","sodawater","ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic","cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail","booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial","beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea","moonshine","b52","irishcoffee","margarita","blackrussian","manhattan","manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood","vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead","mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte","cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk","silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini")
+ var/list/additional_drinks = list()
if(prob(50))
- drinks_only += list("pancuronium","adminordrazine","lsd","omnizine","blood")
+ additional_drinks += list("pancuronium","adminordrazine","lsd","omnizine","blood")
- var/datum/reagent/R = pick(drinks_only)
+ var/datum/reagent/R = pick(drinks + additional_drinks)
reagents.add_reagent(R,volume)
name = "unlabelled bottle"
icon_state = pick("alco-white","alco-green","alco-blue","alco-clear","alco-red")
pixel_x = rand(-5,5)
pixel_y = rand(-5,5)
+
/obj/item/weapon/reagent_containers/food/drinks/bottle/random_reagent // Same as the chembottle code except the container
name = "unlabelled drink?"
icon = 'icons/obj/drinks.dmi'
New()
..()
var/datum/reagent/R = pick(chemical_reagents_list)
- var/global/list/rare_chems = list("minttoxin","nanites","xenomicrobes","adminordrazine")
- if(rare_chems.Find(R))
+ if(rare_chemicals.Find(R))
reagents.add_reagent(R,10)
else
reagents.add_reagent(R,rand(3,10)*10)
@@ -123,20 +120,17 @@
New()
..()
- var/global/list/meds_only = list("charcoal","toxin","cyanide","morphine","epinephrine","space_drugs","serotrotium","mutadone","mutagen","teporone","lexorin","silver_sulfadiazine","salbutamol","perfluorodecalin","omnizine","synaptizine","haloperidol","potass_iodide","pen_acid","mannitol","oculine","styptic_powder","methamphetamine","spaceacillin","carpotoxin","lsd","ethanol","ammonia","diethylamine","antihol","pancuronium","lipolicide","condensedcapsaicin","frostoil","amanitin","psilocybin","nothing","salglu_solution","neurotoxin")
- var/global/list/rare_meds = list("nanites","xenomicrobes","minttoxin","adminordrazine","blood")
-
var/i = 1
while(i < storage_slots)
var/datum/reagent/R
if(prob(50))
- R = pick(meds_only + rare_meds)
+ R = pick(standard_medicines + rare_medicines)
else
- R = pick(meds_only)
+ R = pick(standard_medicines)
var/obj/item/weapon/reagent_containers/pill/P = new(src)
- if(rare_meds.Find(R))
+ if(rare_medicines.Find(R))
P.reagents.add_reagent(R,10)
else
P.reagents.add_reagent(R,rand(2,5)*10)
@@ -185,8 +179,7 @@
New()
..()
sleep(2)
- var/global/list/base_chems = list("water","oxygen","nitrogen","hydrogen","potassium","mercury","carbon","chlorine","fluorine","phosphorus","lithium","sulfur","sacid","radium","iron","aluminum","silicon","sugar","ethanol")
- for(var/chem in base_chems)
+ for(var/chem in standard_chemicals)
var/obj/item/weapon/reagent_containers/glass/bottle/B = new(src)
B.reagents.add_reagent(chem,B.volume)
if(prob(85))
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index b93db8244e2..74863ccd4af 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -8,7 +8,7 @@
var/implanted = null
var/mob/living/imp_in = null
var/obj/item/organ/external/part = null
- _color = "b"
+ item_color = "b"
var/allow_reagents = 0
var/malfunction = 0
diff --git a/code/game/objects/items/weapons/implants/implantcase.dm b/code/game/objects/items/weapons/implants/implantcase.dm
index f32764ae410..742717c1b70 100644
--- a/code/game/objects/items/weapons/implants/implantcase.dm
+++ b/code/game/objects/items/weapons/implants/implantcase.dm
@@ -22,7 +22,7 @@
update()
if (src.imp)
- src.icon_state = text("implantcase-[]", src.imp._color)
+ src.icon_state = text("implantcase-[]", src.imp.item_color)
src.origin_tech = src.imp.origin_tech
else
src.icon_state = "implantcase-0"
diff --git a/code/game/objects/items/weapons/implants/implantfreedom.dm b/code/game/objects/items/weapons/implants/implantfreedom.dm
index 282717b606c..978b6eb237b 100644
--- a/code/game/objects/items/weapons/implants/implantfreedom.dm
+++ b/code/game/objects/items/weapons/implants/implantfreedom.dm
@@ -3,7 +3,7 @@
/obj/item/weapon/implant/freedom
name = "freedom"
desc = "Use this to escape from those evil Red Shirts."
- _color = "r"
+ item_color = "r"
var/activation_emote = "chuckle"
origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4"
var/uses = 4
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index d8be2b42563..59347a12251 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -25,10 +25,10 @@
hitsound = 'sound/weapons/blade1.ogg'
if(attack_verb_on.len)
attack_verb = attack_verb_on
- if(!_color)
+ if(!item_color)
icon_state = icon_state_on
else
- icon_state = "sword[_color]"
+ icon_state = "sword[item_color]"
w_class = w_class_on
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
user << "[src] is now active."
@@ -86,8 +86,8 @@
var/blade_color
/obj/item/weapon/melee/energy/sword/New()
- if(_color == null)
- _color = pick("red", "blue", "green", "purple")
+ if(item_color == null)
+ item_color = pick("red", "blue", "green", "purple")
/obj/item/weapon/melee/energy/sword/IsShield()
if(active)
@@ -120,12 +120,12 @@
icon_state = "esaw_0"
icon_state_on = "esaw_1"
hitcost = 75 //Costs more than a standard cyborg esword
- _color = null
+ item_color = null
w_class = 3
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
..()
- _color = null
+ item_color = null
/obj/item/weapon/melee/energy/sword/cyborg/saw/IsShield()
return 0
@@ -133,16 +133,16 @@
/obj/item/weapon/melee/energy/sword/saber
/obj/item/weapon/melee/energy/sword/saber/blue
- _color = "blue"
+ item_color = "blue"
/obj/item/weapon/melee/energy/sword/saber/purple
- _color = "purple"
+ item_color = "purple"
/obj/item/weapon/melee/energy/sword/saber/green
- _color = "green"
+ item_color = "green"
/obj/item/weapon/melee/energy/sword/saber/red
- _color = "red"
+ item_color = "red"
/obj/item/weapon/melee/energy/sword/saber/attackby(obj/item/weapon/W, mob/living/user, params)
..()
@@ -156,7 +156,7 @@
var/obj/item/weapon/twohanded/dualsaber/newSaber = new /obj/item/weapon/twohanded/dualsaber(user.loc)
if(src.hacked) // That's right, we'll only check the "original" esword.
newSaber.hacked = 1
- newSaber._color = "rainbow"
+ newSaber.item_color = "rainbow"
user.unEquip(W)
user.unEquip(src)
qdel(W)
@@ -165,7 +165,7 @@
else if(istype(W, /obj/item/device/multitool))
if(hacked == 0)
hacked = 1
- _color = "rainbow"
+ item_color = "rainbow"
user << "RNBW_ENGAGE"
if(active)
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index f492bcc639c..af608addbf8 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -15,7 +15,7 @@ LINEN BINS
throw_speed = 1
throw_range = 2
w_class = 1.0
- _color = "white"
+ item_color = "white"
slot_flags = SLOT_BACK
@@ -31,127 +31,127 @@ LINEN BINS
/obj/item/weapon/bedsheet/blue
icon_state = "sheetblue"
- _color = "blue"
+ item_color = "blue"
/obj/item/weapon/bedsheet/green
icon_state = "sheetgreen"
- _color = "green"
+ item_color = "green"
/obj/item/weapon/bedsheet/orange
icon_state = "sheetorange"
- _color = "orange"
+ item_color = "orange"
/obj/item/weapon/bedsheet/purple
icon_state = "sheetpurple"
- _color = "purple"
+ item_color = "purple"
/obj/item/weapon/bedsheet/patriot
name = "patriotic bedsheet"
desc = "You've never felt more free than when sleeping on this."
icon_state = "sheetUSA"
- _color = "sheetUSA"
+ item_color = "sheetUSA"
/obj/item/weapon/bedsheet/rainbow
name = "rainbow bedsheet"
desc = "A multi_colored blanket. It's actually several different sheets cut up and sewn together."
icon_state = "sheetrainbow"
- _color = "rainbow"
+ item_color = "rainbow"
/obj/item/weapon/bedsheet/red
icon_state = "sheetred"
- _color = "red"
+ item_color = "red"
/obj/item/weapon/bedsheet/yellow
icon_state = "sheetyellow"
- _color = "yellow"
+ item_color = "yellow"
/obj/item/weapon/bedsheet/mime
name = "mime's blanket"
desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this."
icon_state = "sheetmime"
- _color = "mime"
+ item_color = "mime"
/obj/item/weapon/bedsheet/clown
name = "clown's blanket"
desc = "A rainbow blanket with a clown mask woven in. It smells faintly of bananas."
icon_state = "sheetclown"
- _color = "clown"
+ item_color = "clown"
/obj/item/weapon/bedsheet/captain
name = "captain's bedsheet."
desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains."
icon_state = "sheetcaptain"
- _color = "captain"
+ item_color = "captain"
/obj/item/weapon/bedsheet/rd
name = "research director's bedsheet"
desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day."
icon_state = "sheetrd"
- _color = "director"
+ item_color = "director"
/obj/item/weapon/bedsheet/medical
name = "medical blanket"
desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station."
icon_state = "sheetmedical"
- _color = "medical"
+ item_color = "medical"
/obj/item/weapon/bedsheet/cmo
name = "chief medical officer's bedsheet"
desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Runtime."
icon_state = "sheetcmo"
- _color = "cmo"
+ item_color = "cmo"
/obj/item/weapon/bedsheet/hos
name = "head of security's bedsheet"
desc = "It is decorated with a shield emblem. While crime doesn't sleep, you do, but you are still THE LAW!"
icon_state = "sheethos"
- _color = "hosred"
+ item_color = "hosred"
/obj/item/weapon/bedsheet/hop
name = "head of personnel's bedsheet"
desc = "It is decorated with a key emblem. For those rare moments when you can rest and cuddle with Ian without someone screaming for you over the radio."
icon_state = "sheethop"
- _color = "hop"
+ item_color = "hop"
/obj/item/weapon/bedsheet/ce
name = "chief engineer's bedsheet"
desc = "It is decorated with a wrench emblem. It's highly reflective and stain resistant, so you don't need to worry about ruining it with oil."
icon_state = "sheetce"
- _color = "chief"
+ item_color = "chief"
/obj/item/weapon/bedsheet/qm
name = "quartermaster's bedsheet"
desc = "It is decorated with a crate emblem in silver lining. It's rather tough, and just the thing to lie on after a hard day of pushing paper."
icon_state = "sheetqm"
- _color = "qm"
+ item_color = "qm"
/obj/item/weapon/bedsheet/brown
icon_state = "sheetbrown"
- _color = "cargo"
+ item_color = "cargo"
/obj/item/weapon/bedsheet/centcom
name = "centcom bedsheet"
desc = "Woven with advanced nanothread for warmth as well as being very decorated, essential for all officials."
icon_state = "sheetcentcom"
- _color = "centcom"
+ item_color = "centcom"
/obj/item/weapon/bedsheet/syndie
name = "syndicate bedsheet"
desc = "It has a syndicate emblem and it has an aura of evil."
icon_state = "sheetsyndie"
- _color = "syndie"
+ item_color = "syndie"
/obj/item/weapon/bedsheet/cult
name = "cultist's bedsheet"
desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence."
icon_state = "sheetcult"
- _color = "cult"
+ item_color = "cult"
/obj/item/weapon/bedsheet/wiz
name = "wizard's bedsheet"
desc = "A special fabric enchanted with magic so you can have an enchanted night. It even glows!"
icon_state = "sheetwiz"
- _color = "wiz"
+ item_color = "wiz"
diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
index 51424aeb26e..167e3cd0fa8 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
@@ -30,6 +30,11 @@
if(buckled_mob)
if(buckled_mob.incapacitated())
return 0
+
+ var/mob/living/thedriver = user
+ var/mob_delay = thedriver.movement_delay()
+ if(mob_delay > 0)
+ move_delay += mob_delay
if(ishuman(buckled_mob))
var/mob/living/carbon/human/driver = user
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index c6acf4af28a..c2eda15b18a 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -115,5 +115,5 @@
modmsg += "\t[C] is a [C.holder.rank]\n"
num_mods_online++
- msg = "Current Admins ([num_admins_online]):\n" + msg + "\n Current Mods/Mentors ([num_mods_online]):\n" + modmsg
+ msg = "Current Admins ([num_admins_online]):\n" + msg + "\nCurrent Mods/Mentors ([num_mods_online]):\n" + modmsg
src << msg
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 721fd897214..b6cc60c82ed 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -56,10 +56,11 @@ var/global/nologevent = 0
body += "[admin_jump_link(M, src)]\]
"
body += "Mob type: [M.type]
"
- if(M.client.related_accounts_cid.len)
- body += "Related accounts by CID: [list2text(M.client.related_accounts_cid, " - ")]
"
- if(M.client.related_accounts_ip.len)
- body += "Related accounts by IP: [list2text(M.client.related_accounts_ip, " - ")]
"
+ if(M.client)
+ if(M.client.related_accounts_cid.len)
+ body += "Related accounts by CID: [list2text(M.client.related_accounts_cid, " - ")]
"
+ if(M.client.related_accounts_ip.len)
+ body += "Related accounts by IP: [list2text(M.client.related_accounts_ip, " - ")]
"
body += "Kick | "
body += "Warn | "
diff --git a/code/modules/admin/create_poll.dm b/code/modules/admin/create_poll.dm
index 78caa924b35..6e690b469ac 100644
--- a/code/modules/admin/create_poll.dm
+++ b/code/modules/admin/create_poll.dm
@@ -40,13 +40,13 @@
var/choice_amount = 0
switch(polltype)
if("Single Option")
- polltype = "OPTION"
+ polltype = POLLTYPE_OPTION
if("Text Reply")
- polltype = "TEXT"
+ polltype = POLLTYPE_TEXT
if("Rating")
- polltype = "NUMVAL"
+ polltype = POLLTYPE_RATING
if("Multiple Choice")
- polltype = "MULTICHOICE"
+ polltype = POLLTYPE_MULTI
choice_amount = input("How many choices should be allowed?","Select choice amount") as num|null
if(!choice_amount)
return
@@ -93,7 +93,7 @@
var/err = query_polladd_question.ErrorMsg()
log_game("SQL ERROR adding new poll question to table. Error : \[[err]\]\n")
return
- if(polltype == "TEXT")
+ if(polltype == POLLTYPE_TEXT)
log_admin("[key_name(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"] - Question: [question]")
message_admins("[key_name_admin(usr)] has created a new server poll. Poll type: [polltype] - Admin Only: [adminonly ? "Yes" : "No"]
Question: [question]")
return
@@ -107,7 +107,7 @@
pollid = query_get_id.item[1]
var/add_option = 1
while(add_option)
- var/option = input("Write your option","Option") as message|null
+ var/option = input("Write your option",POLLTYPE_OPTION) as message|null
if(!option)
return pollid
option = sanitizeSQL(option)
@@ -124,7 +124,7 @@
var/descmin = ""
var/descmid = ""
var/descmax = ""
- if(polltype == "NUMVAL")
+ if(polltype == POLLTYPE_RATING)
minval = input("Set minimum rating value.","Minimum rating") as num|null
if(!minval)
return pollid
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index b922b4979c8..1b21829f739 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -2652,7 +2652,7 @@
for(var/obj/item/clothing/under/W in world)
W.icon_state = "schoolgirl"
W.item_state = "w_suit"
- W._color = "schoolgirl"
+ W.item_color = "schoolgirl"
message_admins("[key_name_admin(usr)] activated Japanese Animes mode")
world << sound('sound/AI/animes.ogg')
if("eagles")//SCRAW
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 243842ff906..213cd81bfa9 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -480,11 +480,11 @@ BLIND // can't see anything
if(!istype(usr, /mob/living)) return
if(usr.stat) return
- if(copytext(_color,-2) != "_d")
- basecolor = _color
+ if(copytext(item_color,-2) != "_d")
+ basecolor = item_color
usr << "DEBUG:[basecolor]"
if(basecolor + "_d_s" in icon_states('icons/mob/uniform.dmi'))
- _color = _color == "[basecolor]" ? "[basecolor]_d" : "[basecolor]"
+ item_color = item_color == "[basecolor]" ? "[basecolor]_d" : "[basecolor]"
usr.update_inv_w_uniform()
else
usr << "You cannot roll down the uniform!"
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index 9c364775343..bd9dc271366 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -5,7 +5,7 @@
item_state = "ygloves"
siemens_coefficient = 0
permeability_coefficient = 0.05
- _color="yellow"
+ item_color="yellow"
power
var/next_shock = 0
@@ -20,7 +20,7 @@
item_state = "ygloves"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
permeability_coefficient = 0.05
- _color="yellow"
+ item_color="yellow"
New()
siemens_coefficient = pick(0,0.5,0.5,0.5,0.5,0.75,1.5)
@@ -30,7 +30,7 @@
name = "black gloves"
icon_state = "black"
item_state = "bgloves"
- _color="brown"
+ item_color="brown"
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
heat_protection = HANDS
@@ -38,10 +38,10 @@
hos
- _color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
+ item_color = "hosred" //Exists for washing machines. Is not different from black gloves in any way.
ce
- _color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
+ item_color = "chief" //Exists for washing machines. Is not different from black gloves in any way.
thief
pickpocket = 1
@@ -51,14 +51,14 @@
desc = "A pair of gloves, they don't look special in any way."
icon_state = "orange"
item_state = "orangegloves"
- _color="orange"
+ item_color="orange"
/obj/item/clothing/gloves/color/red
name = "red gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "red"
item_state = "redgloves"
- _color = "red"
+ item_color = "red"
/obj/item/clothing/gloves/color/red/insulated
name = "insulated gloves"
@@ -71,60 +71,60 @@
desc = "A pair of gloves, they don't look special in any way."
icon_state = "rainbow"
item_state = "rainbowgloves"
- _color = "rainbow"
+ item_color = "rainbow"
clown
- _color = "clown"
+ item_color = "clown"
/obj/item/clothing/gloves/color/blue
name = "blue gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "blue"
item_state = "bluegloves"
- _color="blue"
+ item_color="blue"
/obj/item/clothing/gloves/color/purple
name = "purple gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "purple"
item_state = "purplegloves"
- _color="purple"
+ item_color="purple"
/obj/item/clothing/gloves/color/green
name = "green gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "green"
item_state = "greengloves"
- _color="green"
+ item_color="green"
/obj/item/clothing/gloves/color/grey
name = "grey gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "gray"
item_state = "graygloves"
- _color="grey"
+ item_color="grey"
rd
- _color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
+ item_color = "director" //Exists for washing machines. Is not different from gray gloves in any way.
hop
- _color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
+ item_color = "hop" //Exists for washing machines. Is not different from gray gloves in any way.
/obj/item/clothing/gloves/color/light_brown
name = "light brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "lightbrown"
item_state = "lightbrowngloves"
- _color="light brown"
+ item_color="light brown"
/obj/item/clothing/gloves/color/brown
name = "brown gloves"
desc = "A pair of gloves, they don't look special in any way."
icon_state = "brown"
item_state = "browngloves"
- _color="brown"
+ item_color="brown"
cargo
- _color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
+ item_color = "cargo" //Exists for washing machines. Is not different from brown gloves in any way.
/obj/item/clothing/gloves/color/latex
name = "latex gloves"
@@ -133,7 +133,7 @@
item_state = "lgloves"
siemens_coefficient = 0.30
permeability_coefficient = 0.01
- _color="white"
+ item_color="white"
transfer_prints = TRUE
/obj/item/clothing/gloves/color/latex/nitrile
@@ -142,17 +142,17 @@
icon_state = "nitrile"
item_state = "nitrilegloves"
transfer_prints = FALSE
- _color = "medical"
+ item_color = "medical"
/obj/item/clothing/gloves/color/white
name = "white gloves"
desc = "These look pretty fancy."
icon_state = "white"
item_state = "wgloves"
- _color="mime"
+ item_color="mime"
redcoat
- _color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
+ item_color = "redcoat" //Exists for washing machines. Is not different from white gloves in any way.
/obj/item/clothing/gloves/color/captain
@@ -160,7 +160,7 @@
name = "captain's gloves"
icon_state = "captain"
item_state = "egloves"
- _color = "captain"
+ item_color = "captain"
siemens_coefficient = 0
permeability_coefficient = 0.05
cold_protection = HANDS
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 79871b9afdc..a377e445bb7 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -3,7 +3,7 @@
desc = "Plain black gloves without fingertips for the hard working."
icon_state = "fingerless"
item_state = "fingerless"
- _color = null //So they don't wash.
+ item_color = null //So they don't wash.
transfer_prints = TRUE
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
@@ -44,4 +44,4 @@
name = "batgloves"
icon_state = "bmgloves"
item_state = "bmgloves"
- _color="bmgloves"
\ No newline at end of file
+ item_color="bmgloves"
\ No newline at end of file
diff --git a/code/modules/clothing/head/hardhat.dm b/code/modules/clothing/head/hardhat.dm
index f603230bde0..ca24ab55d80 100644
--- a/code/modules/clothing/head/hardhat.dm
+++ b/code/modules/clothing/head/hardhat.dm
@@ -6,7 +6,7 @@
item_state = "hardhat0_yellow"
var/brightness_on = 4 //luminosity when on
var/on = 0
- _color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite)
+ item_color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite)
armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20)
flags_inv = 0
action_button_name = "Toggle Helmet Light"
@@ -18,8 +18,8 @@
user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
return
on = !on
- icon_state = "hardhat[on]_[_color]"
- item_state = "hardhat[on]_[_color]"
+ icon_state = "hardhat[on]_[item_color]"
+ item_state = "hardhat[on]_[item_color]"
if(on) set_light(brightness_on)
else set_light(0)
@@ -28,12 +28,12 @@
/obj/item/clothing/head/hardhat/orange
icon_state = "hardhat0_orange"
item_state = "hardhat0_orange"
- _color = "orange"
+ item_color = "orange"
/obj/item/clothing/head/hardhat/red
icon_state = "hardhat0_red"
item_state = "hardhat0_red"
- _color = "red"
+ item_color = "red"
name = "firefighter helmet"
flags = STOPSPRESSUREDMAGE
heat_protection = HEAD
@@ -44,7 +44,7 @@
/obj/item/clothing/head/hardhat/white
icon_state = "hardhat0_white"
item_state = "hardhat0_white"
- _color = "white"
+ item_color = "white"
flags = STOPSPRESSUREDMAGE
heat_protection = HEAD
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
@@ -55,12 +55,12 @@
/obj/item/clothing/head/hardhat/dblue
icon_state = "hardhat0_dblue"
item_state = "hardhat0_dblue"
- _color = "dblue"
+ item_color = "dblue"
/obj/item/clothing/head/hardhat/atmos
icon_state = "hardhat0_atmos"
item_state = "hardhat0_atmos"
- _color = "atmos"
+ item_color = "atmos"
name = "atmospheric technician's firefighting helmet"
desc = "A firefighter's helmet, able to keep the user cool in any situation."
flags = STOPSPRESSUREDMAGE
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index f5913956ad8..a9dd00c8ef9 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -146,7 +146,7 @@
desc = "A jack o' lantern! Believed to ward off evil spirits."
icon_state = "hardhat0_pumpkin"//Could stand to be renamed
item_state = "hardhat0_pumpkin"
- _color = "pumpkin"
+ item_color = "pumpkin"
flags = HEADCOVERSEYES | HEADCOVERSMOUTH | BLOCKHAIR
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
@@ -161,7 +161,7 @@
desc = "Some fake antlers and a very fake red nose."
icon_state = "hardhat0_reindeer"
item_state = "hardhat0_reindeer"
- _color = "reindeer"
+ item_color = "reindeer"
flags_inv = 0
action_button_name = "Toggle Nose Light"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm
index 1f88aaa231c..101852ad4c9 100644
--- a/code/modules/clothing/head/soft_caps.dm
+++ b/code/modules/clothing/head/soft_caps.dm
@@ -3,12 +3,12 @@
desc = "It's a baseball hat in a tasteless yellow colour."
icon_state = "cargosoft"
item_state = "helmet"
- _color = "cargo"
+ item_color = "cargo"
var/flipped = 0
siemens_coefficient = 0.9
dropped()
- src.icon_state = "[_color]soft"
+ src.icon_state = "[item_color]soft"
src.flipped=0
..()
@@ -19,10 +19,10 @@
if(usr.canmove && !usr.stat && !usr.restrained())
src.flipped = !src.flipped
if(src.flipped)
- icon_state = "[_color]soft_flipped"
+ icon_state = "[item_color]soft_flipped"
usr << "You flip the hat backwards."
else
- icon_state = "[_color]soft"
+ icon_state = "[item_color]soft"
usr << "You flip the hat back in normal position."
usr.update_inv_head() //so our mob-overlays update
@@ -30,71 +30,71 @@
name = "red cap"
desc = "It's a baseball hat in a tasteless red colour."
icon_state = "redsoft"
- _color = "red"
+ item_color = "red"
/obj/item/clothing/head/soft/blue
name = "blue cap"
desc = "It's a baseball hat in a tasteless blue colour."
icon_state = "bluesoft"
- _color = "blue"
+ item_color = "blue"
/obj/item/clothing/head/soft/green
name = "green cap"
desc = "It's a baseball hat in a tasteless green colour."
icon_state = "greensoft"
- _color = "green"
+ item_color = "green"
/obj/item/clothing/head/soft/yellow
name = "yellow cap"
desc = "It's a baseball hat in a tasteless yellow colour."
icon_state = "yellowsoft"
- _color = "yellow"
+ item_color = "yellow"
/obj/item/clothing/head/soft/grey
name = "grey cap"
desc = "It's a baseball hat in a tasteful grey colour."
icon_state = "greysoft"
- _color = "grey"
+ item_color = "grey"
/obj/item/clothing/head/soft/orange
name = "orange cap"
desc = "It's a baseball hat in a tasteless orange colour."
icon_state = "orangesoft"
- _color = "orange"
+ item_color = "orange"
/obj/item/clothing/head/soft/mime
name = "white cap"
desc = "It's a baseball hat in a tasteless white colour."
icon_state = "mimesoft"
- _color = "mime"
+ item_color = "mime"
/obj/item/clothing/head/soft/purple
name = "purple cap"
desc = "It's a baseball hat in a tasteless purple colour."
icon_state = "purplesoft"
- _color = "purple"
+ item_color = "purple"
/obj/item/clothing/head/soft/black
name = "black cap"
desc = "It's a baseball hat in a tasteless black colour."
icon_state = "blacksoft"
- _color = "black"
+ item_color = "black"
/obj/item/clothing/head/soft/rainbow
name = "rainbow cap"
desc = "It's a baseball hat in a bright rainbow of colors."
icon_state = "rainbowsoft"
- _color = "rainbow"
+ item_color = "rainbow"
/obj/item/clothing/head/soft/sec
name = "security cap"
desc = "It's baseball hat in tasteful red colour."
icon_state = "secsoft"
- _color = "sec"
+ item_color = "sec"
armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/head/soft/sec/corp
name = "corporate security cap"
desc = "It's baseball hat in corpotate colours."
icon_state = "corpsoft"
- _color = "corp"
+ item_color = "corp"
diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm
index f2a89c662dd..364c4d808ac 100644
--- a/code/modules/clothing/shoes/colour.dm
+++ b/code/modules/clothing/shoes/colour.dm
@@ -1,7 +1,7 @@
/obj/item/clothing/shoes/black
name = "black shoes"
icon_state = "black"
- _color = "black"
+ item_color = "black"
desc = "A pair of black shoes."
cold_protection = FEET
@@ -10,7 +10,7 @@
max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT
redcoat
- _color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way.
+ item_color = "redcoat" //Exists for washing machines. Is not different from black shoes in any way.
/obj/item/clothing/shoes/black/greytide
flags = NODROP
@@ -21,71 +21,71 @@
icon_state = "brown"
captain
- _color = "captain" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "captain" //Exists for washing machines. Is not different from brown shoes in any way.
hop
- _color = "hop" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "hop" //Exists for washing machines. Is not different from brown shoes in any way.
ce
- _color = "chief" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "chief" //Exists for washing machines. Is not different from brown shoes in any way.
rd
- _color = "director" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "director" //Exists for washing machines. Is not different from brown shoes in any way.
cmo
- _color = "medical" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "medical" //Exists for washing machines. Is not different from brown shoes in any way.
cmo
- _color = "cargo" //Exists for washing machines. Is not different from brown shoes in any way.
+ item_color = "cargo" //Exists for washing machines. Is not different from brown shoes in any way.
/obj/item/clothing/shoes/blue
name = "blue shoes"
icon_state = "blue"
- _color = "blue"
+ item_color = "blue"
/obj/item/clothing/shoes/green
name = "green shoes"
icon_state = "green"
- _color = "green"
+ item_color = "green"
/obj/item/clothing/shoes/yellow
name = "yellow shoes"
icon_state = "yellow"
- _color = "yellow"
+ item_color = "yellow"
/obj/item/clothing/shoes/purple
name = "purple shoes"
icon_state = "purple"
- _color = "purple"
+ item_color = "purple"
/obj/item/clothing/shoes/brown
name = "brown shoes"
icon_state = "brown"
- _color = "brown"
+ item_color = "brown"
/obj/item/clothing/shoes/red
name = "red shoes"
desc = "Stylish red shoes."
icon_state = "red"
- _color = "red"
+ item_color = "red"
/obj/item/clothing/shoes/white
name = "white shoes"
icon_state = "white"
permeability_coefficient = 0.01
- _color = "white"
+ item_color = "white"
/obj/item/clothing/shoes/leather
name = "leather shoes"
desc = "A sturdy pair of leather shoes."
icon_state = "leather"
- _color = "leather"
+ item_color = "leather"
/obj/item/clothing/shoes/rainbow
name = "rainbow shoes"
desc = "Very gay shoes."
icon_state = "rain_bow"
- _color = "rainbow"
+ item_color = "rainbow"
/obj/item/clothing/shoes/orange
name = "orange shoes"
icon_state = "orange"
- _color = "orange"
+ item_color = "orange"
/obj/item/clothing/shoes/orange/attack_self(mob/user as mob)
if (src.chained)
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index 5fbb5495aad..7a07fe249a2 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -13,7 +13,7 @@
/obj/item/clothing/shoes/mime
name = "mime shoes"
icon_state = "mime"
- _color = "mime"
+ item_color = "mime"
/obj/item/clothing/shoes/combat //basic syndicate combat boots for nuke ops and mob corpses
name = "combat boots"
@@ -57,7 +57,7 @@
icon_state = "clown"
item_state = "clown_shoes"
slowdown = SHOES_SLOWDOWN+1
- _color = "clown"
+ item_color = "clown"
var/footstep = 1 //used for squeeks whilst walking
species_restricted = null
@@ -66,7 +66,7 @@
desc = "Nanotrasen-issue Security combat boots for combat scenarios or combat situations. All combat, all the time."
icon_state = "jackboots"
item_state = "jackboots"
- _color = "hosred"
+ item_color = "hosred"
siemens_coefficient = 0.7
var/footstep=1
@@ -74,7 +74,7 @@
name = "jacksandals"
desc = "Nanotrasen-issue Security combat sandals for combat scenarios. They're jacksandals, however that works."
icon_state = "jacksandal"
- _color = "jacksandal"
+ item_color = "jacksandal"
species_restricted = null
/obj/item/clothing/shoes/cult
@@ -82,7 +82,7 @@
desc = "A pair of boots worn by the followers of Nar-Sie."
icon_state = "cult"
item_state = "cult"
- _color = "cult"
+ item_color = "cult"
siemens_coefficient = 0.7
cold_protection = FEET
@@ -137,6 +137,6 @@
name = "noble boots"
desc = "The boots are economically designed to balance function and comfort, so that you can step on peasants without having to worry about blisters. The leather also resists unwanted blood stains."
icon_state = "noble_boot"
- _color = "noble_boot"
+ item_color = "noble_boot"
item_state = "noble_boot"
\ No newline at end of file
diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 55c28110382..f44e426f368 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -9,12 +9,12 @@
/obj/item/clothing/head/helmet/space/skrell/white
icon_state = "skrell_helmet_white"
item_state = "skrell_helmet_white"
- _color = "skrell_helmet_white"
+ item_color = "skrell_helmet_white"
/obj/item/clothing/head/helmet/space/skrell/black
icon_state = "skrell_helmet_black"
item_state = "skrell_helmet_black"
- _color = "skrell_helmet_black"
+ item_color = "skrell_helmet_black"
/obj/item/clothing/suit/space/skrell
name = "Skrellian hardsuit"
@@ -28,12 +28,12 @@
/obj/item/clothing/suit/space/skrell/white
icon_state = "skrell_suit_white"
item_state = "skrell_suit_white"
- _color = "skrell_suit_white"
+ item_color = "skrell_suit_white"
/obj/item/clothing/suit/space/skrell/black
icon_state = "skrell_suit_black"
item_state = "skrell_suit_black"
- _color = "skrell_suit_black"
+ item_color = "skrell_suit_black"
//Unathi space gear. Huge and restrictive.
/obj/item/clothing/head/helmet/space/unathi
@@ -48,7 +48,7 @@
desc = "Hey! Watch it with that thing! It's a knock-off of a Unathi battle-helm, and that spike could put someone's eye out."
icon_state = "unathi_helm_cheap"
item_state = "unathi_helm_cheap"
- _color = "unathi_helm_cheap"
+ item_color = "unathi_helm_cheap"
/obj/item/clothing/suit/space/unathi
armor = list(melee = 40, bullet = 30, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 50)
@@ -69,14 +69,14 @@
desc = "Weathered, ancient and battle-scarred. The helmet is too."
icon_state = "unathi_breacher"
item_state = "unathi_breacher"
- _color = "unathi_breacher"
+ item_color = "unathi_breacher"
/obj/item/clothing/suit/space/unathi/breacher
name = "breacher chassis"
desc = "Huge, bulky and absurdly heavy. It must be like wearing a tank."
icon_state = "unathi_breacher"
item_state = "unathi_breacher"
- _color = "unathi_breacher"
+ item_color = "unathi_breacher"
slowdown = 1
// Vox space gear (vaccuum suit, low pressure armour)
@@ -162,7 +162,7 @@
name = "alien clothing"
desc = "This doesn't look very comfortable."
icon_state = "vox-casual-1"
- _color = "vox-casual-1"
+ item_color = "vox-casual-1"
item_state = "vox-casual-1"
body_parts_covered = LEGS
@@ -170,7 +170,7 @@
name = "alien robes"
desc = "Weird and flowing!"
icon_state = "vox-casual-2"
- _color = "vox-casual-2"
+ item_color = "vox-casual-2"
item_state = "vox-casual-2"
/obj/item/clothing/gloves/color/yellow/vox
@@ -180,7 +180,7 @@
item_state = "gloves-vox"
siemens_coefficient = 0
permeability_coefficient = 0.05
- _color = "gloves-vox"
+ item_color = "gloves-vox"
species_restricted = list("Vox","Vox Armalis")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/gloves.dmi',
diff --git a/code/modules/clothing/spacesuits/ert.dm b/code/modules/clothing/spacesuits/ert.dm
index 66a7504f3b8..0a65501a37f 100644
--- a/code/modules/clothing/spacesuits/ert.dm
+++ b/code/modules/clothing/spacesuits/ert.dm
@@ -44,7 +44,7 @@
desc = "A helmet worn by the commander of a Nanotrasen Emergency Response Team. Has blue highlights. Armoured and space ready."
icon_state = "rig0-ert_commander"
item_state = "helm-command"
- _color = "ert_commander"
+ item_color = "ert_commander"
/obj/item/clothing/suit/space/rig/ert/commander
name = "emergency response team commander suit"
@@ -58,7 +58,7 @@
desc = "A helmet worn by security members of a Nanotrasen Emergency Response Team. Has red highlights. Armoured and space ready."
icon_state = "rig0-ert_security"
item_state = "syndicate-helm-black-red"
- _color = "ert_security"
+ item_color = "ert_security"
/obj/item/clothing/suit/space/rig/ert/security
name = "emergency response team security suit"
@@ -71,7 +71,7 @@
name = "emergency response team engineer helmet"
desc = "A helmet worn by engineers of a Nanotrasen Emergency Response Team. Has yellow highlights. Armoured and space ready."
icon_state = "rig0-ert_engineer"
- _color = "ert_engineer"
+ item_color = "ert_engineer"
/obj/item/clothing/suit/space/rig/ert/engineer
name = "emergency response team engineer suit"
@@ -83,7 +83,7 @@
name = "emergency response team medical helmet"
desc = "A helmet worn by medical members of a Nanotrasen Emergency Response Team. Has white highlights. Armoured and space ready."
icon_state = "rig0-ert_medical"
- _color = "ert_medical"
+ item_color = "ert_medical"
/obj/item/clothing/suit/space/rig/ert/medical
name = "emergency response team medical suit"
@@ -95,7 +95,7 @@
name = "emergency response team janitor helmet"
desc = "A helmet worn by janitorial members of a Nanotrasen Emergency Response Team. Has purple highlights. Armoured and space ready."
icon_state = "rig0-ert_janitor"
- _color = "ert_janitor"
+ item_color = "ert_janitor"
/obj/item/clothing/suit/space/rig/ert/janitor
name = "emergency response team janitor suit"
diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm
index 7303ae12c15..d5f09cdc741 100644
--- a/code/modules/clothing/spacesuits/rig.dm
+++ b/code/modules/clothing/spacesuits/rig.dm
@@ -9,7 +9,7 @@
allowed = list(/obj/item/device/flashlight)
var/brightness_on = 4 //luminosity when on
var/on = 0
- _color = "engineering" //Determines used sprites: rig[on]-[color] and rig[on]-[color]2 (lying down sprite)
+ item_color = "engineering" //Determines used sprites: rig[on]-[color] and rig[on]-[color]2 (lying down sprite)
action_button_name = "Toggle Helmet Light"
//Species-specific stuff.
@@ -35,7 +35,7 @@
/obj/item/clothing/head/helmet/space/rig/proc/toggle_light(mob/user)
on = !on
- icon_state = "rig[on]-[_color]"
+ icon_state = "rig[on]-[item_color]"
if(on)
set_light(brightness_on)
@@ -248,7 +248,7 @@
desc = "An advanced helmet designed for work in a hazardous, low pressure environment. Shines with a high polish."
icon_state = "rig0-white"
item_state = "ce_helm"
- _color = "white"
+ item_color = "white"
armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 90)
heat_protection = HEAD //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
@@ -268,7 +268,7 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Has reinforced plating."
icon_state = "rig0-mining"
item_state = "mining_helm"
- _color = "mining"
+ item_color = "mining"
flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE
armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
@@ -287,14 +287,14 @@
desc = "A dual-mode advanced helmet designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_helm"
- _color = "syndi"
+ item_color = "syndi"
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 50)
on = 1
flags = HEADCOVERSEYES | BLOCKHAIR | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | THICKMATERIAL
action_button_name = "Toggle Helmet Mode"
/obj/item/clothing/head/helmet/space/rig/syndi/update_icon()
- icon_state = "hardsuit[on]-[_color]"
+ icon_state = "hardsuit[on]-[item_color]"
/obj/item/clothing/head/helmet/space/rig/syndi/attack_self(mob/user)
if(!isturf(user.loc))
@@ -328,7 +328,7 @@
desc = "A dual-mode advanced hardsuit designed for work in special operations. It is in travel mode. Property of Gorlex Marauders."
icon_state = "hardsuit1-syndi"
item_state = "syndie_hardsuit"
- _color = "syndi"
+ item_color = "syndi"
slowdown = 1
w_class = 3
var/on = 1
@@ -337,7 +337,7 @@
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword/saber,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
/obj/item/clothing/suit/space/rig/syndi/update_icon()
- icon_state = "hardsuit[on]-[_color]"
+ icon_state = "hardsuit[on]-[item_color]"
/obj/item/clothing/suit/space/rig/syndi/attack_self(mob/user)
on = !on
@@ -369,7 +369,7 @@
desc = "A bizarre gem-encrusted helmet that radiates magical energies."
icon_state = "rig0-wiz"
item_state = "wiz_helm"
- _color = "wiz"
+ item_color = "wiz"
unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles!
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
siemens_coefficient = 0.7
@@ -400,7 +400,7 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Built with lightweight materials for extra comfort, but does not protect the eyes from intense light."
icon_state = "rig0-medical"
item_state = "medical_helm"
- _color = "medical"
+ item_color = "medical"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 50)
flash_protect = 0
@@ -420,7 +420,7 @@
desc = "A special helmet designed for work in a hazardous, low pressure environment. Has an additional layer of armor."
icon_state = "rig0-sec"
item_state = "sec_helm"
- _color = "sec"
+ item_color = "sec"
armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50)
siemens_coefficient = 0.7
@@ -440,7 +440,7 @@
name = "atmospherics hardsuit helmet"
icon_state = "rig0-atmos"
item_state = "atmos_helm"
- _color = "atmos"
+ item_color = "atmos"
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
heat_protection = HEAD //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_HELM_MAX_TEMP_PROTECT
@@ -460,7 +460,7 @@
desc = "This is an adamantium helmet from the chapter of the Singuloth Knights. It shines with a holy aura."
icon_state = "rig0-singuloth"
item_state = "singuloth_helm"
- _color = "singuloth"
+ item_color = "singuloth"
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 25, bio = 100, rad = 100)
/obj/item/clothing/suit/space/rig/singuloth
diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm
index 66d00261ac6..c56779b1b6a 100644
--- a/code/modules/clothing/suits/miscellaneous.dm
+++ b/code/modules/clothing/suits/miscellaneous.dm
@@ -334,14 +334,14 @@
name = "pink swimsuit"
desc = "A rather skimpy pink swimsuit."
icon_state = "stripper_p_under"
- _color = "stripper_p"
+ item_color = "stripper_p"
siemens_coefficient = 1
/obj/item/clothing/under/stripper/stripper_green
name = "green swimsuit"
desc = "A rather skimpy green swimsuit."
icon_state = "stripper_g_under"
- _color = "stripper_g"
+ item_color = "stripper_g"
siemens_coefficient = 1
/obj/item/clothing/suit/stripper/stripper_pink
@@ -362,7 +362,7 @@
name = "the mankini"
desc = "No honest man would wear this abomination"
icon_state = "mankini"
- _color = "mankini"
+ item_color = "mankini"
siemens_coefficient = 1
/obj/item/clothing/suit/jacket/miljacket
@@ -389,35 +389,35 @@
name = "black swimsuit"
desc = "An oldfashioned black swimsuit."
icon_state = "swim_black"
- _color = "swim_black"
+ item_color = "swim_black"
siemens_coefficient = 1
/obj/item/clothing/under/swimsuit/blue
name = "blue swimsuit"
desc = "An oldfashioned blue swimsuit."
icon_state = "swim_blue"
- _color = "swim_blue"
+ item_color = "swim_blue"
siemens_coefficient = 1
/obj/item/clothing/under/swimsuit/purple
name = "purple swimsuit"
desc = "An oldfashioned purple swimsuit."
icon_state = "swim_purp"
- _color = "swim_purp"
+ item_color = "swim_purp"
siemens_coefficient = 1
/obj/item/clothing/under/swimsuit/green
name = "green swimsuit"
desc = "An oldfashioned green swimsuit."
icon_state = "swim_green"
- _color = "swim_green"
+ item_color = "swim_green"
siemens_coefficient = 1
/obj/item/clothing/under/swimsuit/red
name = "red swimsuit"
desc = "An oldfashioned red swimsuit."
icon_state = "swim_red"
- _color = "swim_red"
+ item_color = "swim_red"
siemens_coefficient = 1
/obj/item/clothing/suit/storage/mercy_hoodie
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 2f6fb17f314..bdf0c955ca4 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -4,7 +4,7 @@
icon = 'icons/obj/clothing/ties.dmi'
icon_state = "bluetie"
item_state = "" //no inhands
- _color = "bluetie"
+ item_color = "bluetie"
slot_flags = SLOT_TIE
w_class = 2.0
var/slot = "decor"
@@ -13,7 +13,7 @@
/obj/item/clothing/accessory/New()
..()
- inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[_color? "[_color]" : "[icon_state]"]")
+ inv_overlay = image("icon" = 'icons/obj/clothing/ties_overlay.dmi', "icon_state" = "[item_color? "[item_color]" : "[icon_state]"]")
//when user attached an accessory to S
/obj/item/clothing/accessory/proc/on_attached(obj/item/clothing/under/S, mob/user as mob)
@@ -47,36 +47,36 @@
/obj/item/clothing/accessory/blue
name = "blue tie"
icon_state = "bluetie"
- _color = "bluetie"
+ item_color = "bluetie"
/obj/item/clothing/accessory/red
name = "red tie"
icon_state = "redtie"
- _color = "redtie"
+ item_color = "redtie"
/obj/item/clothing/accessory/black
name = "black tie"
icon_state = "blacktie"
- _color = "blacktie"
+ item_color = "blacktie"
/obj/item/clothing/accessory/horrible
name = "horrible tie"
desc = "A neosilk clip-on tie. This one is disgusting."
icon_state = "horribletie"
- _color = "horribletie"
+ item_color = "horribletie"
/obj/item/clothing/accessory/waistcoat // No overlay
name = "waistcoat"
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
item_state = "waistcoat"
- _color = "waistcoat"
+ item_color = "waistcoat"
/obj/item/clothing/accessory/stethoscope
name = "stethoscope"
desc = "An outdated medical apparatus for listening to the sounds of the human body. It also makes you look like you know what you're doing."
icon_state = "stethoscope"
- _color = "stethoscope"
+ item_color = "stethoscope"
/obj/item/clothing/accessory/stethoscope/attack(mob/living/carbon/human/M, mob/living/user)
if(ishuman(M) && isliving(user))
@@ -117,7 +117,7 @@
name = "bronze medal"
desc = "A bronze medal."
icon_state = "bronze"
- _color = "bronze"
+ item_color = "bronze"
materials = list(MAT_METAL=1000)
/obj/item/clothing/accessory/medal/conduct
@@ -137,7 +137,7 @@
name = "silver medal"
desc = "A silver medal."
icon_state = "silver"
- _color = "silver"
+ item_color = "silver"
materials = list(MAT_SILVER=1000)
/obj/item/clothing/accessory/medal/silver/valor
@@ -152,7 +152,7 @@
name = "gold medal"
desc = "A prestigious golden medal."
icon_state = "gold"
- _color = "gold"
+ item_color = "gold"
materials = list(MAT_GOLD=1000)
/obj/item/clothing/accessory/medal/gold/captain
@@ -173,7 +173,7 @@
name = "holobadge"
desc = "This glowing blue badge marks the holder as THE LAW."
icon_state = "holobadge"
- _color = "holobadge"
+ item_color = "holobadge"
slot_flags = SLOT_BELT | SLOT_TIE
var/emagged = 0 //Emagging removes Sec check.
@@ -181,7 +181,7 @@
/obj/item/clothing/accessory/holobadge/cord
icon_state = "holobadge-cord"
- _color = "holobadge-cord"
+ item_color = "holobadge-cord"
slot_flags = SLOT_MASK | SLOT_TIE
/obj/item/clothing/accessory/holobadge/attack_self(mob/user as mob)
@@ -250,57 +250,57 @@
/obj/item/clothing/accessory/scarf/red
name = "red scarf"
icon_state = "redscarf"
- _color = "redscarf"
+ item_color = "redscarf"
/obj/item/clothing/accessory/scarf/green
name = "green scarf"
icon_state = "greenscarf"
- _color = "greenscarf"
+ item_color = "greenscarf"
/obj/item/clothing/accessory/scarf/darkblue
name = "dark blue scarf"
icon_state = "darkbluescarf"
- _color = "darkbluescarf"
+ item_color = "darkbluescarf"
/obj/item/clothing/accessory/scarf/purple
name = "purple scarf"
icon_state = "purplescarf"
- _color = "purplescarf"
+ item_color = "purplescarf"
/obj/item/clothing/accessory/scarf/yellow
name = "yellow scarf"
icon_state = "yellowscarf"
- _color = "yellowscarf"
+ item_color = "yellowscarf"
/obj/item/clothing/accessory/scarf/orange
name = "orange scarf"
icon_state = "orangescarf"
- _color = "orangescarf"
+ item_color = "orangescarf"
/obj/item/clothing/accessory/scarf/lightblue
name = "light blue scarf"
icon_state = "lightbluescarf"
- _color = "lightbluescarf"
+ item_color = "lightbluescarf"
/obj/item/clothing/accessory/scarf/white
name = "white scarf"
icon_state = "whitescarf"
- _color = "whitescarf"
+ item_color = "whitescarf"
/obj/item/clothing/accessory/scarf/black
name = "black scarf"
icon_state = "blackscarf"
- _color = "blackscarf"
+ item_color = "blackscarf"
/obj/item/clothing/accessory/scarf/zebra
name = "zebra scarf"
icon_state = "zebrascarf"
- _color = "zebrascarf"
+ item_color = "zebrascarf"
/obj/item/clothing/accessory/scarf/christmas
name = "christmas scarf"
icon_state = "christmasscarf"
- _color = "christmasscarf"
+ item_color = "christmasscarf"
//The three following scarves don't have the scarf subtype
//This is because Ian can equip anything from that subtype
@@ -308,22 +308,22 @@
/obj/item/clothing/accessory/stripedredscarf
name = "striped red scarf"
icon_state = "stripedredscarf"
- _color = "stripedredscarf"
+ item_color = "stripedredscarf"
/obj/item/clothing/accessory/stripedgreenscarf
name = "striped green scarf"
icon_state = "stripedgreenscarf"
- _color = "stripedgreenscarf"
+ item_color = "stripedgreenscarf"
/obj/item/clothing/accessory/stripedbluescarf
name = "striped blue scarf"
icon_state = "stripedbluescarf"
- _color = "stripedbluescarf"
+ item_color = "stripedbluescarf"
/obj/item/clothing/accessory/petcollar
name = "pet collar"
icon_state = "petcollar"
- _color = "petcollar"
+ item_color = "petcollar"
var/tagname = null
/obj/item/clothing/accessory/petcollar/attack_self(mob/user as mob)
diff --git a/code/modules/clothing/under/accessories/armband.dm b/code/modules/clothing/under/accessories/armband.dm
index 8c4dd79ffe8..67d0208b6df 100644
--- a/code/modules/clothing/under/accessories/armband.dm
+++ b/code/modules/clothing/under/accessories/armband.dm
@@ -2,41 +2,41 @@
name = "red armband"
desc = "A fancy red armband!"
icon_state = "red"
- _color = "red"
+ item_color = "red"
slot = "armband"
/obj/item/clothing/accessory/armband/cargo
name = "cargo armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is brown."
icon_state = "cargo"
- _color = "cargo"
+ item_color = "cargo"
/obj/item/clothing/accessory/armband/engine
name = "engineering armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is orange with a reflective strip!"
icon_state = "engie"
- _color = "engie"
+ item_color = "engie"
/obj/item/clothing/accessory/armband/science
name = "science armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is purple."
icon_state = "rnd"
- _color = "rnd"
+ item_color = "rnd"
/obj/item/clothing/accessory/armband/hydro
name = "hydroponics armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is green and blue."
icon_state = "hydro"
- _color = "hydro"
+ item_color = "hydro"
/obj/item/clothing/accessory/armband/med
name = "medical armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is white."
icon_state = "med"
- _color = "med"
+ item_color = "med"
/obj/item/clothing/accessory/armband/medgreen
name = "EMT armband"
desc = "An armband, worn by the crew to display which department they're assigned to. This one is white and green."
icon_state = "medgreen"
- _color = "medgreen"
+ item_color = "medgreen"
diff --git a/code/modules/clothing/under/accessories/holster.dm b/code/modules/clothing/under/accessories/holster.dm
index 06e13d50ed0..cc9e37cecd7 100644
--- a/code/modules/clothing/under/accessories/holster.dm
+++ b/code/modules/clothing/under/accessories/holster.dm
@@ -2,7 +2,7 @@
name = "shoulder holster"
desc = "A handgun holster."
icon_state = "holster"
- _color = "holster"
+ item_color = "holster"
slot = "utility"
var/holster_allow = /obj/item/weapon/gun
var/obj/item/weapon/gun/holstered = null
@@ -125,11 +125,11 @@
name = "shoulder holster"
desc = "A worn-out handgun holster. Perfect for concealed carry"
icon_state = "holster"
- _color = "holster"
+ item_color = "holster"
holster_allow = /obj/item/weapon/gun/projectile
/obj/item/clothing/accessory/holster/waist
name = "shoulder holster"
desc = "A handgun holster. Made of expensive leather."
icon_state = "holster"
- _color = "holster_low"
\ No newline at end of file
+ item_color = "holster_low"
\ No newline at end of file
diff --git a/code/modules/clothing/under/accessories/storage.dm b/code/modules/clothing/under/accessories/storage.dm
index fc560f47476..36e59a86eb3 100644
--- a/code/modules/clothing/under/accessories/storage.dm
+++ b/code/modules/clothing/under/accessories/storage.dm
@@ -2,7 +2,7 @@
name = "load bearing equipment"
desc = "Used to hold things when you don't have enough hands."
icon_state = "webbing"
- _color = "webbing"
+ item_color = "webbing"
slot = "utility"
var/slots = 3
var/obj/item/weapon/storage/internal/hold
@@ -69,27 +69,27 @@
name = "webbing"
desc = "Sturdy mess of synthcotton belts and buckles, ready to share your burden."
icon_state = "webbing"
- _color = "webbing"
+ item_color = "webbing"
/obj/item/clothing/accessory/storage/black_vest
name = "black webbing vest"
desc = "Robust black synthcotton vest with lots of pockets to hold whatever you need, but cannot hold in hands."
icon_state = "vest_black"
- _color = "vest_black"
+ item_color = "vest_black"
slots = 5
/obj/item/clothing/accessory/storage/brown_vest
name = "brown webbing vest"
desc = "Worn brownish synthcotton vest with lots of pockets to unload your hands."
icon_state = "vest_brown"
- _color = "vest_brown"
+ item_color = "vest_brown"
slots = 5
/obj/item/clothing/accessory/storage/knifeharness
name = "decorated harness"
desc = "A heavily decorated harness of sinew and leather with two knife-loops."
icon_state = "unathiharness2"
- _color = "unathiharness2"
+ item_color = "unathiharness2"
slots = 2
/obj/item/clothing/accessory/storage/knifeharness/New()
diff --git a/code/modules/clothing/under/chameleon.dm b/code/modules/clothing/under/chameleon.dm
index 0e67c973e54..14635fb2946 100644
--- a/code/modules/clothing/under/chameleon.dm
+++ b/code/modules/clothing/under/chameleon.dm
@@ -3,7 +3,7 @@
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- _color = "black"
+ item_color = "black"
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
origin_tech = "syndicate=3"
siemens_coefficient = 0.8
@@ -38,11 +38,11 @@
name = "psychedelic"
desc = "Groovy!"
icon_state = "psyche"
- _color = "psyche"
+ item_color = "psyche"
spawn(200)
name = "Black Jumpsuit"
icon_state = "bl_suit"
- _color = "black"
+ item_color = "black"
desc = null
..()
@@ -68,7 +68,7 @@
name = A.name
icon_state = A.icon_state
item_state = A.item_state
- _color = A._color
+ item_color = A.item_color
usr.update_inv_w_uniform() //so our overlays update.
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index eca864123c5..e0386585f26 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -9,13 +9,13 @@
name = initial(C.name)
icon_state = initial(C.icon_state)
item_state = initial(C.item_state)
- _color = initial(C._color)
+ item_color = initial(C.item_color)
/obj/item/clothing/under/color/black
name = "black jumpsuit"
icon_state = "black"
item_state = "bl_suit"
- _color = "black"
+ item_color = "black"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/blackf
@@ -23,13 +23,13 @@
desc = "It's very smart and in a ladies-size!"
icon_state = "black"
item_state = "bl_suit"
- _color = "blackf"
+ item_color = "blackf"
/obj/item/clothing/under/color/blue
name = "blue jumpsuit"
icon_state = "blue"
item_state = "b_suit"
- _color = "blue"
+ item_color = "blue"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/blue/dodgeball
@@ -39,7 +39,7 @@
name = "green jumpsuit"
icon_state = "green"
item_state = "g_suit"
- _color = "green"
+ item_color = "green"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/grey
@@ -47,7 +47,7 @@
desc = "A tasteful grey jumpsuit that reminds you of the good old days."
icon_state = "grey"
item_state = "gy_suit"
- _color = "grey"
+ item_color = "grey"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/grey/greytide
@@ -58,7 +58,7 @@
desc = "Don't wear this near paranoid security officers"
icon_state = "orange"
item_state = "o_suit"
- _color = "orange"
+ item_color = "orange"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/orange/prison
@@ -66,7 +66,7 @@
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "orange"
item_state = "o_suit"
- _color = "orange"
+ item_color = "orange"
has_sensor = 2
sensor_mode = 3
flags = ONESIZEFITSALL
@@ -76,14 +76,14 @@
desc = "Just looking at this makes you feel fabulous."
icon_state = "pink"
item_state = "p_suit"
- _color = "pink"
+ item_color = "pink"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/red
name = "red jumpsuit"
icon_state = "red"
item_state = "r_suit"
- _color = "red"
+ item_color = "red"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/red/dodgeball
@@ -93,21 +93,21 @@
name = "white jumpsuit"
icon_state = "white"
item_state = "w_suit"
- _color = "white"
+ item_color = "white"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/yellow
name = "yellow jumpsuit"
icon_state = "yellow"
item_state = "y_suit"
- _color = "yellow"
+ item_color = "yellow"
flags = ONESIZEFITSALL
/obj/item/clothing/under/psyche
name = "psychedelic jumpsuit"
desc = "Groovy!"
icon_state = "psyche"
- _color = "psyche"
+ item_color = "psyche"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/uniform.dmi'
@@ -116,66 +116,66 @@
/obj/item/clothing/under/color/lightblue
name = "light blue jumpsuit"
icon_state = "lightblue"
- _color = "lightblue"
+ item_color = "lightblue"
/obj/item/clothing/under/color/aqua
name = "aqua jumpsuit"
icon_state = "aqua"
- _color = "aqua"
+ item_color = "aqua"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/purple
name = "purple jumpsuit"
icon_state = "purple"
item_state = "p_suit"
- _color = "purple"
+ item_color = "purple"
/obj/item/clothing/under/color/lightpurple
name = "light purple jumpsuit"
icon_state = "lightpurple"
- _color = "lightpurple"
+ item_color = "lightpurple"
/obj/item/clothing/under/color/lightgreen
name = "light green jumpsuit"
icon_state = "lightgreen"
- _color = "lightgreen"
+ item_color = "lightgreen"
/obj/item/clothing/under/color/lightblue
name = "light blue jumpsuit"
icon_state = "lightblue"
- _color = "lightblue"
+ item_color = "lightblue"
/obj/item/clothing/under/color/lightbrown
name = "light brown jumpsuit"
icon_state = "lightbrown"
- _color = "lightbrown"
+ item_color = "lightbrown"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/brown
name = "brown jumpsuit"
icon_state = "brown"
- _color = "brown"
+ item_color = "brown"
/obj/item/clothing/under/color/yellowgreen
name = "yellow green jumpsuit"
icon_state = "yellowgreen"
- _color = "yellowgreen"
+ item_color = "yellowgreen"
/obj/item/clothing/under/color/darkblue
name = "dark blue jumpsuit"
icon_state = "darkblue"
- _color = "darkblue"
+ item_color = "darkblue"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/lightred
name = "light red jumpsuit"
icon_state = "lightred"
- _color = "lightred"
+ item_color = "lightred"
/obj/item/clothing/under/color/darkred
name = "dark red jumpsuit"
icon_state = "darkred"
- _color = "darkred"
+ item_color = "darkred"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/red/jersey
@@ -183,7 +183,7 @@
desc = "The jersey of the Nanotrasen Phi-ghters!"
icon_state = "redjersey"
item_state = "r_suit"
- _color = "redjersey"
+ item_color = "redjersey"
flags = ONESIZEFITSALL
/obj/item/clothing/under/color/blue/jersey
@@ -191,5 +191,5 @@
desc = "The jersey of the Nanotrasen Pi-rates!"
icon_state = "bluejersey"
item_state = "b_suit"
- _color = "bluejersey"
+ item_color = "bluejersey"
flags = ONESIZEFITSALL
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 9d7b74e9e82..78d9428d4b2 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -5,7 +5,7 @@
name = "bartender's uniform"
icon_state = "ba_suit"
item_state = "ba_suit"
- _color = "ba_suit"
+ item_color = "ba_suit"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
@@ -13,7 +13,7 @@
name = "captain's jumpsuit"
icon_state = "captain"
item_state = "caparmor"
- _color = "captain"
+ item_color = "captain"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/cargo
@@ -21,7 +21,7 @@
desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
icon_state = "qm"
item_state = "lb_suit"
- _color = "qm"
+ item_color = "qm"
flags = ONESIZEFITSALL
@@ -30,7 +30,7 @@
desc = "Shooooorts! They're comfy and easy to wear!"
icon_state = "cargotech"
item_state = "lb_suit"
- _color = "cargo"
+ item_color = "cargo"
flags = ONESIZEFITSALL
@@ -39,14 +39,14 @@
name = "chaplain's jumpsuit"
icon_state = "chaplain"
item_state = "bl_suit"
- _color = "chapblack"
+ item_color = "chapblack"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/chef
desc = "It's an apron which is given only to the most hardcore chefs in space."
name = "chef's uniform"
icon_state = "chef"
- _color = "chef"
+ item_color = "chef"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/clown
@@ -54,7 +54,7 @@
desc = "'HONK!'"
icon_state = "clown"
item_state = "clown"
- _color = "clown"
+ item_color = "clown"
flags = ONESIZEFITSALL
@@ -63,7 +63,7 @@
name = "head of personnel's jumpsuit"
icon_state = "hop"
item_state = "b_suit"
- _color = "hop"
+ item_color = "hop"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/head_of_personnel_whimsy
@@ -71,7 +71,7 @@
name = "head of personnel's suit"
icon_state = "hopwhimsy"
item_state = "hopwhimsy"
- _color = "hopwhimsy"
+ item_color = "hopwhimsy"
/obj/item/clothing/under/rank/hydroponics
@@ -79,7 +79,7 @@
name = "botanist's jumpsuit"
icon_state = "hydroponics"
item_state = "g_suit"
- _color = "hydroponics"
+ item_color = "hydroponics"
permeability_coefficient = 0.50
flags = ONESIZEFITSALL
@@ -88,7 +88,7 @@
name = "Internal Affairs uniform"
icon_state = "internalaffairs"
item_state = "internalaffairs"
- _color = "internalaffairs"
+ item_color = "internalaffairs"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/ntrep
@@ -96,14 +96,14 @@
name = "dress shirt"
icon_state = "internalaffairs"
item_state = "internalaffairs"
- _color = "internalaffairs"
+ item_color = "internalaffairs"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/janitor
desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
name = "janitor's jumpsuit"
icon_state = "janitor"
- _color = "janitor"
+ item_color = "janitor"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -116,42 +116,42 @@
/obj/item/clothing/under/lawyer/black
icon_state = "lawyer_black"
item_state = "lawyer_black"
- _color = "lawyer_black"
+ item_color = "lawyer_black"
/obj/item/clothing/under/lawyer/female
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
- _color = "black_suit_fem"
+ item_color = "black_suit_fem"
/obj/item/clothing/under/lawyer/red
icon_state = "lawyer_red"
item_state = "lawyer_red"
- _color = "lawyer_red"
+ item_color = "lawyer_red"
/obj/item/clothing/under/lawyer/blue
icon_state = "lawyer_blue"
item_state = "lawyer_blue"
- _color = "lawyer_blue"
+ item_color = "lawyer_blue"
/obj/item/clothing/under/lawyer/bluesuit
name = "Blue Suit"
desc = "A classy suit and tie"
icon_state = "bluesuit"
item_state = "bluesuit"
- _color = "bluesuit"
+ item_color = "bluesuit"
/obj/item/clothing/under/lawyer/purpsuit
name = "Purple Suit"
icon_state = "lawyer_purp"
item_state = "lawyer_purp"
- _color = "lawyer_purp"
+ item_color = "lawyer_purp"
/obj/item/clothing/under/lawyer/oldman
name = "Old Man's Suit"
desc = "A classic suit for the older gentleman with built in back support."
icon_state = "oldman"
item_state = "oldman"
- _color = "oldman"
+ item_color = "oldman"
/obj/item/clothing/under/librarian
@@ -159,7 +159,7 @@
desc = "It's very... sensible."
icon_state = "red_suit"
item_state = "red_suit"
- _color = "red_suit"
+ item_color = "red_suit"
flags = ONESIZEFITSALL
/obj/item/clothing/under/mime
@@ -167,7 +167,7 @@
desc = "It's not very colourful."
icon_state = "mime"
item_state = "mime"
- _color = "mime"
+ item_color = "mime"
flags = ONESIZEFITSALL
@@ -176,7 +176,7 @@
name = "shaft miner's jumpsuit"
icon_state = "miner"
item_state = "miner"
- _color = "miner"
+ item_color = "miner"
flags = ONESIZEFITSALL
/obj/item/clothing/under/barber
@@ -184,4 +184,4 @@
name = "barber's uniform"
icon_state = "barber"
item_state = "barber"
- _color = "barber"
+ item_color = "barber"
diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm
index c190e31c95b..4b91e82b2fc 100644
--- a/code/modules/clothing/under/jobs/engineering.dm
+++ b/code/modules/clothing/under/jobs/engineering.dm
@@ -4,7 +4,7 @@
name = "chief engineer's jumpsuit"
icon_state = "chiefengineer"
item_state = "g_suit"
- _color = "chief"
+ item_color = "chief"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
flags = ONESIZEFITSALL
@@ -13,7 +13,7 @@
name = "atmospheric technician's jumpsuit"
icon_state = "atmos"
item_state = "atmos_suit"
- _color = "atmos"
+ item_color = "atmos"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/engineer
@@ -21,7 +21,7 @@
name = "engineer's jumpsuit"
icon_state = "engine"
item_state = "engi_suit"
- _color = "engine"
+ item_color = "engine"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
flags = ONESIZEFITSALL
@@ -30,7 +30,7 @@
name = "roboticist's jumpsuit"
icon_state = "robotics"
item_state = "robotics"
- _color = "robotics"
+ item_color = "robotics"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/mechanic
@@ -38,4 +38,4 @@
name = "mechanic's overalls"
icon_state = "mechanic"
item_state = "mechanic"
- _color = "mechanic"
+ item_color = "mechanic"
diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm
index b5895bc9d26..b6f83e78beb 100644
--- a/code/modules/clothing/under/jobs/medsci.dm
+++ b/code/modules/clothing/under/jobs/medsci.dm
@@ -6,7 +6,7 @@
name = "research director's jumpsuit"
icon_state = "director"
item_state = "g_suit"
- _color = "director"
+ item_color = "director"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -15,7 +15,7 @@
name = "scientist's jumpsuit"
icon_state = "toxins"
item_state = "w_suit"
- _color = "toxinswhite"
+ item_color = "toxinswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
flags = ONESIZEFITSALL
@@ -25,7 +25,7 @@
name = "chemist's jumpsuit"
icon_state = "chemistry"
item_state = "w_suit"
- _color = "chemistrywhite"
+ item_color = "chemistrywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -38,7 +38,7 @@
name = "chief medical officer's jumpsuit"
icon_state = "cmo"
item_state = "w_suit"
- _color = "cmo"
+ item_color = "cmo"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -48,7 +48,7 @@
name = "geneticist's jumpsuit"
icon_state = "genetics"
item_state = "w_suit"
- _color = "geneticswhite"
+ item_color = "geneticswhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -58,7 +58,7 @@
name = "virologist's jumpsuit"
icon_state = "virology"
item_state = "w_suit"
- _color = "virologywhite"
+ item_color = "virologywhite"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -68,7 +68,7 @@
name = "nurse's suit"
icon_state = "nursesuit"
item_state = "nursesuit"
- _color = "nursesuit"
+ item_color = "nursesuit"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -78,7 +78,7 @@
name = "nurse's dress"
icon_state = "nurse"
item_state = "nurse"
- _color = "nurse"
+ item_color = "nurse"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -88,7 +88,7 @@
name = "orderly's uniform"
icon_state = "orderly"
item_state = "orderly"
- _color = "orderly"
+ item_color = "orderly"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -98,7 +98,7 @@
name = "medical doctor's jumpsuit"
icon_state = "medical"
item_state = "w_suit"
- _color = "medical"
+ item_color = "medical"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -107,28 +107,28 @@
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue"
- _color = "scrubsblue"
+ item_color = "scrubsblue"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/green
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen"
- _color = "scrubsgreen"
+ item_color = "scrubsgreen"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/purple
name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple"
- _color = "scrubspurple"
+ item_color = "scrubspurple"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/medical/mortician
name = "coroner's scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is as dark as an emo's poetry."
icon_state = "scrubsblack"
- _color = "scrubsblack"
+ item_color = "scrubsblack"
flags = ONESIZEFITSALL
//paramedic
@@ -137,7 +137,7 @@
name = "paramedic's jumpsuit"
icon_state = "paramedic"
item_state = "paramedic"
- _color = "paramedic"
+ item_color = "paramedic"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 10)
flags = ONESIZEFITSALL
@@ -147,7 +147,7 @@
name = "psychiatrist's jumpsuit"
icon_state = "psych"
item_state = "w_suit"
- _color = "psych"
+ item_color = "psych"
flags = ONESIZEFITSALL
/obj/item/clothing/under/rank/psych/turtleneck
@@ -155,7 +155,7 @@
name = "psychologist's turtleneck"
icon_state = "psychturtle"
item_state = "b_suit"
- _color = "psychturtle"
+ item_color = "psychturtle"
flags = ONESIZEFITSALL
@@ -167,7 +167,7 @@
name = "geneticist's jumpsuit"
icon_state = "genetics_new"
item_state = "w_suit"
- _color = "genetics_new"
+ item_color = "genetics_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -177,7 +177,7 @@
name = "chemist's jumpsuit"
icon_state = "chemist_new"
item_state = "w_suit"
- _color = "chemist_new"
+ item_color = "chemist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
@@ -187,7 +187,7 @@
name = "scientist's jumpsuit"
icon_state = "scientist_new"
item_state = "w_suit"
- _color = "scientist_new"
+ item_color = "scientist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
flags = ONESIZEFITSALL
@@ -197,7 +197,7 @@
name = "virologist's jumpsuit"
icon_state = "virologist_new"
item_state = "w_suit"
- _color = "virologist_new"
+ item_color = "virologist_new"
permeability_coefficient = 0.50
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index 0c73309342d..9982e7c592a 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -14,7 +14,7 @@
name = "warden's jumpsuit"
icon_state = "warden"
item_state = "r_suit"
- _color = "warden"
+ item_color = "warden"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.9
@@ -24,7 +24,7 @@
desc = "It's made of a slightly sturdier material than standard jumpsuits, to allow for robust protection."
icon_state = "security"
item_state = "r_suit"
- _color = "secred"
+ item_color = "secred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.9
@@ -34,7 +34,7 @@
desc = "A dress shirt and khakis with a security patch sewn on."
icon_state = "dispatch"
item_state = "dispatch"
- _color = "dispatch"
+ item_color = "dispatch"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.9
@@ -44,7 +44,7 @@
desc = "It's made of a slightly sturdier material, to allow for robust protection."
icon_state = "redshirt2"
item_state = "r_suit"
- _color = "redshirt2"
+ item_color = "redshirt2"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.9
@@ -52,12 +52,12 @@
/obj/item/clothing/under/rank/security/corp
icon_state = "sec_corporate"
item_state = "sec_corporate"
- _color = "sec_corporate"
+ item_color = "sec_corporate"
/obj/item/clothing/under/rank/warden/corp
icon_state = "warden_corporate"
item_state = "warden_corporate"
- _color = "warden_corporate"
+ item_color = "warden_corporate"
/*
* Detective
@@ -67,7 +67,7 @@
desc = "Someone who wears this means business."
icon_state = "detective"
item_state = "det"
- _color = "detective"
+ item_color = "detective"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.9
@@ -84,7 +84,7 @@
name = "head of security's jumpsuit"
icon_state = "hos"
item_state = "r_suit"
- _color = "hosred"
+ item_color = "hosred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
flags = ONESIZEFITSALL
siemens_coefficient = 0.8
@@ -92,7 +92,7 @@
/obj/item/clothing/under/rank/head_of_security/corp
icon_state = "hos_corporate"
item_state = "hos_corporate"
- _color = "hos_corporate"
+ item_color = "hos_corporate"
//Jensen cosplay gear
/obj/item/clothing/under/rank/head_of_security/jensen
@@ -100,7 +100,7 @@
name = "head of security's jumpsuit"
icon_state = "jensen"
item_state = "jensen"
- _color = "jensen"
+ item_color = "jensen"
siemens_coefficient = 0.6
flags = ONESIZEFITSALL
@@ -133,21 +133,21 @@
desc = "A formal security suit for officers complete with nanotrasen belt buckle."
icon_state = "security_formal"
item_state = "gy_suit"
- _color = "security_formal"
+ item_color = "security_formal"
/obj/item/clothing/under/rank/warden/formal
name = "warden's suit"
desc = "A formal security suit for the warden with blue desginations and '/Warden/' stiched into the shoulders."
icon_state = "warden_formal"
item_state = "gy_suit"
- _color = "warden_formal"
+ item_color = "warden_formal"
/obj/item/clothing/under/rank/head_of_security/formal
name = "head of security's suit"
desc = "A security suit decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "hos_formal"
item_state = "gy_suit"
- _color = "hos_formal"
+ item_color = "hos_formal"
//Brig Physician
@@ -156,7 +156,7 @@
name = "brig physician's jumpsuit"
icon_state = "brig_phys"
item_state = "brig_phys"
- _color = "brig_phys"
+ item_color = "brig_phys"
permeability_coefficient = 0.50
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
flags = ONESIZEFITSALL
\ No newline at end of file
diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm
index 704746d851d..e33e9e598a4 100644
--- a/code/modules/clothing/under/miscellaneous.dm
+++ b/code/modules/clothing/under/miscellaneous.dm
@@ -2,14 +2,14 @@
name = "red pj's"
desc = "Sleepwear."
icon_state = "red_pyjamas"
- _color = "red_pyjamas"
+ item_color = "red_pyjamas"
item_state = "w_suit"
/obj/item/clothing/under/pj/blue
name = "blue pj's"
desc = "Sleepwear."
icon_state = "blue_pyjamas"
- _color = "blue_pyjamas"
+ item_color = "blue_pyjamas"
item_state = "w_suit"
/obj/item/clothing/under/patriotsuit
@@ -17,76 +17,76 @@
desc = "Motorcycle not included."
icon_state = "ek"
item_state = "ek"
- _color = "ek"
+ item_color = "ek"
/obj/item/clothing/under/captain_fly
name = "rogue captains uniform"
desc = "For the man who doesn't care because he's still free."
icon_state = "captain_fly"
item_state = "captain_fly"
- _color = "captain_fly"
+ item_color = "captain_fly"
/obj/item/clothing/under/scratch
name = "white suit"
desc = "A white suit, suitable for an excellent host"
icon_state = "scratch"
item_state = "scratch"
- _color = "scratch"
+ item_color = "scratch"
/obj/item/clothing/under/sl_suit
desc = "It's a very amish looking suit."
name = "amish suit"
icon_state = "sl_suit"
- _color = "sl_suit"
+ item_color = "sl_suit"
/obj/item/clothing/under/waiter
name = "waiter's outfit"
desc = "It's a very smart uniform with a special pocket for tip."
icon_state = "waiter"
item_state = "waiter"
- _color = "waiter"
+ item_color = "waiter"
/obj/item/clothing/under/rank/mailman
name = "mailman's jumpsuit"
desc = "'Special delivery!'"
icon_state = "mailman"
item_state = "b_suit"
- _color = "mailman"
+ item_color = "mailman"
/obj/item/clothing/under/sexyclown
name = "sexy-clown suit"
desc = "It makes you look HONKable!"
icon_state = "sexyclown"
item_state = "sexyclown"
- _color = "sexyclown"
+ item_color = "sexyclown"
/obj/item/clothing/under/rank/vice
name = "vice officer's jumpsuit"
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
icon_state = "vice"
item_state = "gy_suit"
- _color = "vice"
+ item_color = "vice"
/obj/item/clothing/under/rank/centcom_officer
desc = "It's a jumpsuit worn by CentCom Officers."
name = "\improper CentCom officer's jumpsuit"
icon_state = "officer"
item_state = "g_suit"
- _color = "officer"
+ item_color = "officer"
/obj/item/clothing/under/rank/centcom_commander
desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
name = "\improper CentCom officer's jumpsuit"
icon_state = "centcom"
item_state = "dg_suit"
- _color = "centcom"
+ item_color = "centcom"
/obj/item/clothing/under/rank/centcom/officer
desc = "Gold trim on space-black cloth, this uniform displays the rank of \"Lieutenant-Commander\" and bears \"N.C.V. Fearless CV-286\" on the left shounder."
name = "\improper Nanotrasen Officers Uniform"
icon_state = "officer"
item_state = "g_suit"
- _color = "officer"
+ item_color = "officer"
displays_id = 0
flags = ONESIZEFITSALL
@@ -95,7 +95,7 @@
name = "\improper Nanotrasen Captains Uniform"
icon_state = "centcom"
item_state = "dg_suit"
- _color = "centcom"
+ item_color = "centcom"
displays_id = 0
/obj/item/clothing/under/rank/centcom/blueshield
@@ -103,7 +103,7 @@
name = "\improper Nanotrasen Navy Uniform"
icon_state = "officer"
item_state = "g_suit"
- _color = "officer"
+ item_color = "officer"
displays_id = 0
flags = ONESIZEFITSALL
@@ -112,7 +112,7 @@
name = "\improper Nanotrasen Navy Uniform"
icon_state = "officer"
item_state = "g_suit"
- _color = "officer"
+ item_color = "officer"
displays_id = 0
flags = ONESIZEFITSALL
@@ -121,7 +121,7 @@
name = "\improper Nanotrasen Diplomatic Uniform"
icon_state = "presidente"
item_state = "g_suit"
- _color = "presidente"
+ item_color = "presidente"
displays_id = 0
/obj/item/clothing/under/rank/blueshield
@@ -129,7 +129,7 @@
desc = "A short-sleeved black uniform, paired with grey digital-camo cargo pants. Standard issue to Blueshield officers."
icon_state = "ert_uniform"
item_state = "bl_suit"
- _color = "ert_uniform"
+ item_color = "ert_uniform"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/space
@@ -137,7 +137,7 @@
desc = "It has a NASA logo on it and is made of space-proofed materials."
icon_state = "black"
item_state = "bl_suit"
- _color = "black"
+ item_color = "black"
w_class = 4//bulky item
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.02
@@ -151,7 +151,7 @@
name = "administrative cybernetic jumpsuit"
icon_state = "syndicate"
item_state = "bl_suit"
- _color = "syndicate"
+ item_color = "syndicate"
desc = "it's a cybernetically enhanced jumpsuit used for administrative duties."
gas_transfer_coefficient = 0.01
permeability_coefficient = 0.01
@@ -168,69 +168,69 @@
name = "johnny~~ jumpsuit"
desc = "Johnny~~"
icon_state = "johnny"
- _color = "johnny"
+ item_color = "johnny"
/obj/item/clothing/under/rainbow
name = "rainbow"
desc = "rainbow"
icon_state = "rainbow"
item_state = "rainbow"
- _color = "rainbow"
+ item_color = "rainbow"
/obj/item/clothing/under/cloud
name = "cloud"
desc = "cloud"
icon_state = "cloud"
- _color = "cloud"
+ item_color = "cloud"
/obj/item/clothing/under/psysuit
name = "dark undersuit"
desc = "A thick, layered grey undersuit lined with power cables. Feels a little like wearing an electrical storm."
icon_state = "psysuit"
item_state = "psysuit"
- _color = "psysuit"
+ item_color = "psysuit"
/obj/item/clothing/under/gimmick/rank/captain/suit
name = "captain's suit"
desc = "A green suit and yellow necktie. Exemplifies authority."
icon_state = "green_suit"
item_state = "dg_suit"
- _color = "green_suit"
+ item_color = "green_suit"
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
name = "head of personnel's suit"
desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit"
item_state = "g_suit"
- _color = "teal_suit"
+ item_color = "teal_suit"
/obj/item/clothing/under/suit_jacket
name = "black suit"
desc = "A black suit and red tie. Very formal."
icon_state = "black_suit"
item_state = "bl_suit"
- _color = "black_suit"
+ item_color = "black_suit"
/obj/item/clothing/under/suit_jacket/really_black
name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
- _color = "really_black_suit"
+ item_color = "really_black_suit"
/obj/item/clothing/under/suit_jacket/female
name = "executive suit"
desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem"
item_state = "black_suit_fem"
- _color = "black_suit_fem"
+ item_color = "black_suit_fem"
/obj/item/clothing/under/suit_jacket/red
name = "red suit"
desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit"
item_state = "r_suit"
- _color = "red_suit"
+ item_color = "red_suit"
flags = ONESIZEFITSALL
/obj/item/clothing/under/suit_jacket/navy
@@ -238,34 +238,34 @@
desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit"
item_state = "navy_suit"
- _color = "navy_suit"
+ item_color = "navy_suit"
/obj/item/clothing/under/suit_jacket/tan
name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit"
item_state = "tan_suit"
- _color = "tan_suit"
+ item_color = "tan_suit"
/obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit"
item_state = "burgundy_suit"
- _color = "burgundy_suit"
+ item_color = "burgundy_suit"
/obj/item/clothing/under/suit_jacket/charcoal
name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit"
item_state = "charcoal_suit"
- _color = "charcoal_suit"
+ item_color = "charcoal_suit"
/obj/item/clothing/under/blackskirt
name = "black skirt"
desc = "A black skirt, very fancy!"
icon_state = "blackskirt"
- _color = "blackskirt"
+ item_color = "blackskirt"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/schoolgirl
@@ -273,7 +273,7 @@
desc = "It's just like one of my Japanese animes!"
icon_state = "schoolgirl"
item_state = "schoolgirl"
- _color = "schoolgirl"
+ item_color = "schoolgirl"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
/obj/item/clothing/under/overalls
@@ -281,42 +281,42 @@
desc = "A set of durable overalls for getting the job done."
icon_state = "overalls"
item_state = "lb_suit"
- _color = "overalls"
+ item_color = "overalls"
/obj/item/clothing/under/pirate
name = "pirate outfit"
desc = "Yarr."
icon_state = "pirate"
item_state = "pirate"
- _color = "pirate"
+ item_color = "pirate"
/obj/item/clothing/under/pirate_rags
name = "pirate rags"
desc = "an old ragged set of clothing"
icon_state = "piraterags"
item_state = "piraterags"
- _color = "piraterags"
+ item_color = "piraterags"
/obj/item/clothing/under/soviet
name = "soviet uniform"
desc = "For the Motherland!"
icon_state = "soviet"
item_state = "soviet"
- _color = "soviet"
+ item_color = "soviet"
/obj/item/clothing/under/redcoat
name = "redcoat uniform"
desc = "Looks old."
icon_state = "redcoat"
item_state = "redcoat"
- _color = "redcoat"
+ item_color = "redcoat"
/obj/item/clothing/under/kilt
name = "kilt"
desc = "Includes shoes and plaid"
icon_state = "kilt"
item_state = "kilt"
- _color = "kilt"
+ item_color = "kilt"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET
/obj/item/clothing/under/sexymime
@@ -324,7 +324,7 @@
desc = "The only time when you DON'T enjoy looking at someone's rack."
icon_state = "sexymime"
item_state = "sexymime"
- _color = "sexymime"
+ item_color = "sexymime"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/gladiator
@@ -332,7 +332,7 @@
desc = "Are you not entertained? Is that not why you are here?"
icon_state = "gladiator"
item_state = "gladiator"
- _color = "gladiator"
+ item_color = "gladiator"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
//dress
@@ -341,79 +341,79 @@
name = "flame dress"
desc = "A small black dress with blue flames print on it."
icon_state = "dress_fire"
- _color = "dress_fire"
+ item_color = "dress_fire"
/obj/item/clothing/under/dress/dress_green
name = "green dress"
desc = "A simple, tight fitting green dress."
icon_state = "dress_green"
- _color = "dress_green"
+ item_color = "dress_green"
/obj/item/clothing/under/dress/dress_orange
name = "orange dress"
desc = "A fancy orange gown for those who like to show leg."
icon_state = "dress_orange"
- _color = "dress_orange"
+ item_color = "dress_orange"
/obj/item/clothing/under/dress/dress_pink
name = "pink dress"
desc = "A simple, tight fitting pink dress."
icon_state = "dress_pink"
- _color = "dress_pink"
+ item_color = "dress_pink"
/obj/item/clothing/under/dress/dress_yellow
name = "yellow dress"
desc = "A flirty, little yellow dress."
icon_state = "dress_yellow"
- _color = "dress_yellow"
+ item_color = "dress_yellow"
/obj/item/clothing/under/dress/dress_saloon
name = "saloon girl dress"
desc = "A old western inspired gown for the girl who likes to drink."
icon_state = "dress_saloon"
- _color = "dress_saloon"
+ item_color = "dress_saloon"
/obj/item/clothing/under/dress/dress_rd
name = "research director dress uniform"
desc = "Feminine fashion for the style concious RD."
icon_state = "dress_rd"
- _color = "dress_rd"
+ item_color = "dress_rd"
/obj/item/clothing/under/dress/dress_cap
name = "captain dress uniform"
desc = "Feminine fashion for the style concious captain."
icon_state = "dress_cap"
- _color = "dress_cap"
+ item_color = "dress_cap"
/obj/item/clothing/under/dress/dress_hop
name = "head of personal dress uniform"
desc = "Feminine fashion for the style concious HoP."
icon_state = "dress_hop"
- _color = "dress_hop"
+ item_color = "dress_hop"
/obj/item/clothing/under/dress/dress_hr
name = "human resources director uniform"
desc = "Superior class for the nosy H.R. Director."
icon_state = "huresource"
- _color = "huresource"
+ item_color = "huresource"
/obj/item/clothing/under/dress/plaid_blue
name = "blue plaid skirt"
desc = "A preppy blue skirt with a white blouse."
icon_state = "plaid_blue"
- _color = "plaid_blue"
+ item_color = "plaid_blue"
/obj/item/clothing/under/dress/plaid_red
name = "red plaid skirt"
desc = "A preppy red skirt with a white blouse."
icon_state = "plaid_red"
- _color = "plaid_red"
+ item_color = "plaid_red"
/obj/item/clothing/under/dress/plaid_purple
name = "blue purple skirt"
desc = "A preppy purple skirt with a white blouse."
icon_state = "plaid_purple"
- _color = "plaid_purple"
+ item_color = "plaid_purple"
//wedding stuff
@@ -421,35 +421,35 @@
name = "orange wedding dress"
desc = "A big and puffy orange dress."
icon_state = "bride_orange"
- _color = "bride_orange"
+ item_color = "bride_orange"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_purple
name = "purple wedding dress"
desc = "A big and puffy purple dress."
icon_state = "bride_purple"
- _color = "bride_purple"
+ item_color = "bride_purple"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_blue
name = "blue wedding dress"
desc = "A big and puffy blue dress."
icon_state = "bride_blue"
- _color = "bride_blue"
+ item_color = "bride_blue"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_red
name = "red wedding dress"
desc = "A big and puffy red dress."
icon_state = "bride_red"
- _color = "bride_red"
+ item_color = "bride_red"
flags_inv = HIDESHOES
/obj/item/clothing/under/wedding/bride_white
name = "orange wedding dress"
desc = "A white wedding gown made from the finest silk."
icon_state = "bride_white"
- _color = "bride_white"
+ item_color = "bride_white"
flags_inv = HIDESHOES
/obj/item/clothing/under/sundress
@@ -457,14 +457,14 @@
desc = "Makes you want to frolic in a field of daisies."
icon_state = "sundress"
item_state = "sundress"
- _color = "sundress"
+ item_color = "sundress"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/roman
name = "roman armor"
desc = "An ancient Roman armor. Made of metallic strips and leather straps."
icon_state = "roman"
- _color = "roman"
+ item_color = "roman"
item_state = "armor"
/obj/item/clothing/under/maid
@@ -472,7 +472,7 @@
desc = "Maid in China."
icon_state = "meido"
item_state = "meido"
- _color = "meido"
+ item_color = "meido"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/janimaid
@@ -480,7 +480,7 @@
desc = "A simple maid uniform for housekeeping."
icon_state = "janimaid"
item_state = "janimaid"
- _color = "janimaid"
+ item_color = "janimaid"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/flappers
@@ -488,42 +488,42 @@
desc = "Nothing like the roarin' '20s, flapping the night away on the dance floor."
icon_state = "flapper"
item_state = "flapper"
- _color = "flapper"
+ item_color = "flapper"
/obj/item/clothing/under/mafia
name = "mafia outfit"
desc = "The business of the mafia is business."
icon_state = "mafia"
item_state = "mafia"
- _color = "mafia"
+ item_color = "mafia"
/obj/item/clothing/under/mafia/vest
name = "mafia vest"
desc = "Extreme problems often require extreme solutions."
icon_state = "mafiavest"
item_state = "mafiavest"
- _color = "mafiavest"
+ item_color = "mafiavest"
/obj/item/clothing/under/mafia/white
name = "white mafia outfit"
desc = "The best defense against the treacherous is treachery."
icon_state = "mafiawhite"
item_state = "mafiawhite"
- _color = "mafiawhite"
+ item_color = "mafiawhite"
/obj/item/clothing/under/mafia/sue
name = "mafia vest"
desc = "The business is born into."
icon_state = "suevest"
item_state = "suevest"
- _color = "suevest"
+ item_color = "suevest"
/obj/item/clothing/under/mafia/tan
name = "leather mafia outfit"
desc = "The big drum sounds good only from a distance."
icon_state = "mafiatan"
item_state = "mafiatan"
- _color = "mafiatan"
+ item_color = "mafiatan"
/obj/item/clothing/under/bane
@@ -531,42 +531,42 @@
desc = "Wear this harness to become the bane of the station."
icon_state = "bane"
item_state = "bane"
- _color = "bane"
+ item_color = "bane"
/obj/item/clothing/under/vox_grey
name = "Grey Vox Jumpsuit"
desc = "An assistant's jumpsuit ripped to better fit a vox."
icon_state = "vgrey"
item_state = "vgrey"
- _color = "vgrey"
+ item_color = "vgrey"
/obj/item/clothing/under/vox_robotics
name = "Vox Robotics Jumpsuit"
desc = "A roboticist's jumpsuit ripped to better fit a vox."
icon_state = "vrobotics"
item_state = "vrobotics"
- _color = "vrobotics"
+ item_color = "vrobotics"
/obj/item/clothing/under/vox_toxins
name = "Vox Toxins Jumpsuit"
desc = "A Toxin Researcher's jumpsuit ripped to better fit a vox."
icon_state = "vtoxinswhite"
item_state = "vtoxinswhite"
- _color = "vtoxinswhite"
+ item_color = "vtoxinswhite"
/obj/item/clothing/under/vox_atmos
name = "Vox Atmos Jumpsuit"
desc = "An Atmos Tech's jumpsuit ripped to better fit a vox."
icon_state = "vatmos"
item_state = "vatmos"
- _color = "vatmos"
+ item_color = "vatmos"
/obj/item/clothing/under/vox_engi
name = "Vox Engineer Jumpsuit"
desc = "An Engineer's jumpsuit ripped to better fit a vox."
icon_state = "vengine"
item_state = "vengine"
- _color = "vengine"
+ item_color = "vengine"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 10)
/obj/item/clothing/under/vox_sec
@@ -574,7 +574,7 @@
desc = "A Security officer's jumpsuit ripped to better fit a vox."
icon_state = "vred"
item_state = "vred"
- _color = "vred"
+ item_color = "vred"
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/under/vox_chem
@@ -582,7 +582,7 @@
desc = "A Chemist's jumpsuit ripped to better fit a vox."
icon_state = "vchem"
item_state = "vchem"
- _color = "vchem"
+ item_color = "vchem"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
/obj/item/clothing/under/psyjump
@@ -590,34 +590,34 @@
desc = "A suit made of strange materials."
icon_state = "psyamp"
item_state = "psyamp"
- _color = "psyamp"
+ item_color = "psyamp"
/obj/item/clothing/under/rebeloutfit
name = "Rebel Outfit"
desc = "Made in Seattle, 2216."
icon_state = "colin_earle"
item_state = "colin_earle"
- _color = "colin_earle"
+ item_color = "colin_earle"
/obj/item/clothing/under/officeruniform
name = "Clown Officer's Uniform"
desc = "For Clown officers, this uniform was designed by the great clown designer Hugo Boss."
icon_state = "officeruniform"
- _color = "officeruniform"
+ item_color = "officeruniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/soldieruniform
name = "Clown Soldier's Uniform"
desc = "For the basic grunt of the Clown army."
icon_state = "soldieruniform"
- _color = "soldieruniform"
+ item_color = "soldieruniform"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/pennywise
name = "Pennywise Costume"
desc = "It's everything you ever were afraid of."
icon_state = "pennywise"
- _color = "pennywise"
+ item_color = "pennywise"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
/obj/item/clothing/under/assistantformal
@@ -625,60 +625,60 @@
desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown."
icon_state = "assistant_formal"
item_state = "gy_suit"
- _color = "assistant_formal"
+ item_color = "assistant_formal"
/obj/item/clothing/under/blacktango
name = "black tango dress"
desc = "Filled with Latin fire."
icon_state = "black_tango"
item_state = "wcoat"
- _color = "black_tango"
+ item_color = "black_tango"
/obj/item/clothing/under/stripeddress
name = "striped dress"
desc = "Fashion in space."
icon_state = "striped_dress"
item_state = "stripeddress"
- _color = "striped_dress"
+ item_color = "striped_dress"
/obj/item/clothing/under/sailordress
name = "sailor dress"
desc = "Formal wear for a leading lady."
icon_state = "sailor_dress"
item_state = "sailordress"
- _color = "sailor_dress"
+ item_color = "sailor_dress"
/obj/item/clothing/under/redeveninggown
name = "red evening gown"
desc = "Fancy dress for space bar singers."
icon_state = "red_evening_gown"
item_state = "redeveninggown"
- _color = "red_evening_gown"
+ item_color = "red_evening_gown"
/obj/item/clothing/under/suit_jacket/checkered
name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit"
item_state = "checkered_suit"
- _color = "checkered_suit"
+ item_color = "checkered_suit"
/obj/item/clothing/under/owl
name = "owl uniform"
desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl"
- _color = "owl"
+ item_color = "owl"
flags = NODROP
/obj/item/clothing/under/griffin
name = "griffon uniform"
desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
icon_state = "griffin"
- _color = "griffin"
+ item_color = "griffin"
flags = NODROP
/obj/item/clothing/under/noble_clothes
name = "noble clothes"
desc = "They fall just short of majestic."
icon_state = "noble_clothes"
- _color = "noble_clothes"
+ item_color = "noble_clothes"
item_state = "noble_clothes"
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index 92ce44bdac3..8beff8f41f3 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -7,83 +7,83 @@
name = "classic jeans"
desc = "You feel cooler already."
icon_state = "jeansclassic"
- _color = "jeansclassic"
+ item_color = "jeansclassic"
/obj/item/clothing/under/pants/mustangjeans
name = "Must Hang jeans"
desc = "Made in the finest space jeans factory this side of Alpha Centauri."
icon_state = "jeansmustang"
- _color = "jeansmustang"
+ item_color = "jeansmustang"
/obj/item/clothing/under/pants/blackjeans
name = "black jeans"
desc = "Only for those who can pull it off."
icon_state = "jeansblack"
- _color = "jeansblack"
+ item_color = "jeansblack"
/obj/item/clothing/under/pants/youngfolksjeans
name = "Young Folks jeans"
desc = "For those tired of boring old jeans. Relive the passion of your youth!"
icon_state = "jeansyoungfolks"
- _color = "jeansyoungfolks"
+ item_color = "jeansyoungfolks"
/obj/item/clothing/under/pants/white
name = "white pants"
desc = "Plain white pants. Boring."
icon_state = "whitepants"
- _color = "whitepants"
+ item_color = "whitepants"
/obj/item/clothing/under/pants/red
name = "red pants"
desc = "Bright red pants. Overflowing with personality."
icon_state = "redpants"
- _color = "redpants"
+ item_color = "redpants"
/obj/item/clothing/under/pants/black
name = "black pants"
desc = "These pants are dark, like your soul."
icon_state = "blackpants"
- _color = "blackpants"
+ item_color = "blackpants"
/obj/item/clothing/under/pants/tan
name = "tan pants"
desc = "Some tan pants. You look like a white collar worker with these on."
icon_state = "tanpants"
- _color = "tanpants"
+ item_color = "tanpants"
/obj/item/clothing/under/pants/blue
name = "blue pants"
desc = "Stylish blue pants. These go well with a lot of clothes."
icon_state = "bluepants"
- _color = "bluepants"
+ item_color = "bluepants"
/obj/item/clothing/under/pants/track
name = "track pants"
desc = "A pair of track pants, for the athletic."
icon_state = "trackpants"
- _color = "trackpants"
+ item_color = "trackpants"
/obj/item/clothing/under/pants/jeans
name = "jeans"
desc = "A nondescript pair of tough blue jeans."
icon_state = "jeans"
- _color = "jeans"
+ item_color = "jeans"
/obj/item/clothing/under/pants/khaki
name = "khaki pants"
desc = "A pair of dust beige khaki pants."
icon_state = "khaki"
- _color = "khaki"
+ item_color = "khaki"
/obj/item/clothing/under/pants/camo
name = "camo pants"
desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station."
icon_state = "camopants"
- _color = "camopants"
+ item_color = "camopants"
/obj/item/clothing/under/pants/chaps
name = "black leather assless chaps"
desc = "For those brave enough to weather the breeze."
icon_state = "chaps"
- _color = "chaps"
+ item_color = "chaps"
flags = ONESIZEFITSALL
\ No newline at end of file
diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm
index 76ff9f42d7a..13008c4ff6d 100644
--- a/code/modules/clothing/under/shorts.dm
+++ b/code/modules/clothing/under/shorts.dm
@@ -7,20 +7,20 @@
/obj/item/clothing/under/shorts/red
icon_state = "redshorts"
- _color = "redshorts"
+ item_color = "redshorts"
/obj/item/clothing/under/shorts/green
icon_state = "greenshorts"
- _color = "greenshorts"
+ item_color = "greenshorts"
/obj/item/clothing/under/shorts/blue
icon_state = "blueshorts"
- _color = "blueshorts"
+ item_color = "blueshorts"
/obj/item/clothing/under/shorts/black
icon_state = "blackshorts"
- _color = "blackshorts"
+ item_color = "blackshorts"
/obj/item/clothing/under/shorts/grey
icon_state = "greyshorts"
- _color = "greyshorts"
\ No newline at end of file
+ item_color = "greyshorts"
\ No newline at end of file
diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm
index 60c2c82bef5..8e5eafdceb1 100644
--- a/code/modules/clothing/under/syndicate.dm
+++ b/code/modules/clothing/under/syndicate.dm
@@ -3,7 +3,7 @@
desc = "It's some non-descript, slightly suspicious looking, support clothing."
icon_state = "syndicate"
item_state = "bl_suit"
- _color = "syndicate"
+ item_color = "syndicate"
has_sensor = 0
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
siemens_coefficient = 0.9
@@ -16,7 +16,7 @@
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool"
item_state = "bl_suit"
- _color = "tactifool"
+ item_color = "tactifool"
siemens_coefficient = 1
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 8ccc40fbc87..34c4e097d8e 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -141,7 +141,7 @@
icon= 'icons/obj/clothing/uniforms.dmi'
icon_state = "syndicate"
item_state = "bl_suit"
- _color = "syndicate"
+ item_color = "syndicate"
has_sensor = 1 // Jumpsuit has no sensor by default
displays_id = 0 // Purely astetic, the ID does not show up on the player sprite when equipped. Examining still reveals it.
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) // Standard Security jumpsuit stats
@@ -153,7 +153,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "castile_dress"
item_state = "castile_dress"
- _color = "castile_dress"
+ item_color = "castile_dress"
/obj/item/clothing/under/psysuit/fluff/isaca_sirius_1 // Xilia: Isaca Sirius
name = "Isaca's suit"
@@ -165,7 +165,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "jane_sid_suit"
item_state = "jane_sid_suit"
- _color = "jane_sid_suit"
+ item_color = "jane_sid_suit"
has_sensor = 2
sensor_mode = 3
@@ -178,14 +178,14 @@
return 0
if(src.icon_state == "jane_sid_suit_down")
- src._color = "jane_sid_suit"
+ src.item_color = "jane_sid_suit"
usr << "You zip up \the [src]."
else
- src._color = "jane_sid_suit_down"
+ src.item_color = "jane_sid_suit_down"
usr << "You unzip and roll down \the [src]."
- src.icon_state = "[_color]"
- src.item_state = "[_color]"
+ src.icon_state = "[item_color]"
+ src.item_state = "[item_color]"
usr.update_inv_w_uniform()
//////////// Masks ////////////
@@ -207,7 +207,7 @@
icon = 'icons/obj/custom_items.dmi'
icon_state = "fox_suit"
item_state = "g_suit"
- _color = "fox_suit"
+ item_color = "fox_suit"
displays_id = 0 //still appears on examine; this is pure fluff.
// TheFlagbearer: Willow Walker
@@ -217,7 +217,7 @@
icon = 'icons/obj/clothing/uniforms.dmi'
icon_state = "superior_suit"
item_state = "superior_suit"
- _color = "superior_suit"
+ item_color = "superior_suit"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES
diff --git a/code/modules/economy/POS.dm b/code/modules/economy/POS.dm
index 7b1c885ff10..5a107e8f11a 100644
--- a/code/modules/economy/POS.dm
+++ b/code/modules/economy/POS.dm
@@ -361,11 +361,6 @@ var/const/POS_HEADER = {"
else
overlays += "pos-standby"
-/obj/machinery/pos/attack_robot(var/mob/user)
-// if(isMoMMI(user))
-// return attack_hand(user)
- return ..()
-
/obj/machinery/pos/attack_hand(var/mob/user)
user.set_machine(src)
var/logindata=""
diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm
index 7157ff6f7ba..1f584b97c35 100644
--- a/code/modules/mob/living/carbon/brain/posibrain.dm
+++ b/code/modules/mob/living/carbon/brain/posibrain.dm
@@ -25,16 +25,15 @@
spawn(600)
if(ghost_volunteers.len)
var/mob/dead/observer/O = pick(ghost_volunteers)
- if(istype(O) && O.client && O.key)
+ if(check_observer(O))
transfer_personality(O)
reset_search()
/obj/item/device/mmi/posibrain/proc/request_player()
for(var/mob/dead/observer/O in player_list)
- if(O.client && O.client.prefs.be_special & BE_PAI && !jobban_isbanned(O, "Cyborg") && !jobban_isbanned(O,"nonhumandept"))
- if(check_observer(O))
- O << "\blue \A [src] has been activated. (Teleport | Sign Up)"
- //question(O.client)
+ if(check_observer(O))
+ O << "\blue \A [src] has been activated. (Teleport | Sign Up)"
+ //question(O.client)
/obj/item/device/mmi/posibrain/proc/check_observer(var/mob/dead/observer/O)
if(O.has_enabled_antagHUD == 1 && config.antag_hud_restricted)
diff --git a/code/modules/mob/living/carbon/human/npcs.dm b/code/modules/mob/living/carbon/human/npcs.dm
index a51a9cbd990..290c81723ee 100644
--- a/code/modules/mob/living/carbon/human/npcs.dm
+++ b/code/modules/mob/living/carbon/human/npcs.dm
@@ -2,7 +2,7 @@
name = "fancy uniform"
desc = "It looks like it was tailored for a monkey."
icon_state = "punpun"
- _color = "punpun"
+ item_color = "punpun"
species_restricted = list("Monkey")
/mob/living/carbon/human/monkey/punpun/New()
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index 9c5a9ef851e..44d57c81778 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -39,7 +39,7 @@
desc = "a golem's skin"
icon_state = "golem"
item_state = "golem"
- _color = "golem"
+ item_color = "golem"
has_sensor = 0
flags = ABSTRACT | NODROP
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
@@ -93,7 +93,7 @@
/obj/item/clothing/head/space/golem
icon_state = "golem"
item_state = "dermal"
- _color = "dermal"
+ item_color = "dermal"
name = "golem's head"
desc = "a golem's head"
unacidable = 1
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 86c2d79eb7b..eb427777fc9 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -515,7 +515,7 @@ var/global/list/damage_icon_parts = list()
/mob/living/carbon/human/update_inv_w_uniform(var/update_icons=1)
if(w_uniform && istype(w_uniform, /obj/item/clothing/under) )
w_uniform.screen_loc = ui_iclothing
- var/t_color = w_uniform._color
+ var/t_color = w_uniform.item_color
if(!t_color) t_color = icon_state
var/image/standing = image("icon_state" = "[t_color]_s")
@@ -541,7 +541,7 @@ var/global/list/damage_icon_parts = list()
if(w_uniform:accessories.len) //WE CHECKED THE TYPE ABOVE. THIS REALLY SHOULD BE FINE.
for(var/obj/item/clothing/accessory/A in w_uniform:accessories)
- var/tie_color = A._color
+ var/tie_color = A.item_color
if(!tie_color) tie_color = A.icon_state
standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]")
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index f49a2c9996d..3806584a0d6 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -587,7 +587,7 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
throw_speed = 3
throw_range = 6
origin_tech = "biotech=4"
- _color = "grey"
+ item_color = "grey"
var/Uses = 1 // uses before it goes inert
var/enhanced = 0 //has it been enhanced before?
@@ -612,87 +612,87 @@ mob/living/carbon/slime/var/temperature_resistance = T0C+75
/obj/item/slime_extract/grey
name = "grey slime extract"
icon_state = "grey slime extract"
- _color = "grey"
+ item_color = "grey"
/obj/item/slime_extract/gold
name = "gold slime extract"
icon_state = "gold slime extract"
- _color = "gold"
+ item_color = "gold"
/obj/item/slime_extract/silver
name = "silver slime extract"
icon_state = "silver slime extract"
- _color = "silver"
+ item_color = "silver"
/obj/item/slime_extract/metal
name = "metal slime extract"
icon_state = "metal slime extract"
- _color = "metal"
+ item_color = "metal"
/obj/item/slime_extract/purple
name = "purple slime extract"
icon_state = "purple slime extract"
- _color = "purple"
+ item_color = "purple"
/obj/item/slime_extract/darkpurple
name = "dark purple slime extract"
icon_state = "dark purple slime extract"
- _color = "darkpurple"
+ item_color = "darkpurple"
/obj/item/slime_extract/orange
name = "orange slime extract"
icon_state = "orange slime extract"
- _color = "orange"
+ item_color = "orange"
/obj/item/slime_extract/yellow
name = "yellow slime extract"
icon_state = "yellow slime extract"
- _color = "yellow"
+ item_color = "yellow"
/obj/item/slime_extract/red
name = "red slime extract"
icon_state = "red slime extract"
- _color = "red"
+ item_color = "red"
/obj/item/slime_extract/blue
name = "blue slime extract"
icon_state = "blue slime extract"
- _color = "blue"
+ item_color = "blue"
/obj/item/slime_extract/darkblue
name = "dark blue slime extract"
icon_state = "dark blue slime extract"
- _color = "darkblue"
+ item_color = "darkblue"
/obj/item/slime_extract/pink
name = "pink slime extract"
icon_state = "pink slime extract"
- _color = "pink"
+ item_color = "pink"
/obj/item/slime_extract/green
name = "green slime extract"
icon_state = "green slime extract"
- _color = "green"
+ item_color = "green"
/obj/item/slime_extract/lightpink
name = "light pink slime extract"
icon_state = "light pink slime extract"
- _color = "lightpink"
+ item_color = "lightpink"
/obj/item/slime_extract/black
name = "black slime extract"
icon_state = "black slime extract"
- _color = "black"
+ item_color = "black"
/obj/item/slime_extract/oil
name = "oil slime extract"
icon_state = "oil slime extract"
- _color = "oil"
+ item_color = "oil"
/obj/item/slime_extract/adamantine
name = "adamantine slime extract"
icon_state = "adamantine slime extract"
- _color = "adamantine"
+ item_color = "adamantine"
/obj/item/slime_extract/bluespace
name = "bluespace slime extract"
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index ba419f16b5c..cbc449410fc 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -284,9 +284,9 @@
src << "
You are a maintenance drone, a tiny-brained robotic repair machine."
src << "You have no individual will, no personality, and no drives or urges other than your laws."
src << "Use ; to talk to other drones, and say to speak silently to your nearby fellows."
- src << "Remember, you are lawed against interference with the crew. Also remember, you DO NOT take orders from the AI."
+ src << "Remember, you are lawed against interference with the crew. Also remember, you DO NOT take orders from the AI."
src << "Don't invade their worksites, don't steal their resources, don't tell them about the changeling in the toilets."
- src << "If a crewmember has noticed you, you are probably breaking your first law."
+ src << "Make sure crew members do not notice you.."
/*
sprite["Default"] = "repairbot"
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index f5bcb2112c4..4e45d6bc2ba 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -279,6 +279,7 @@
if(src.emag)
var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = src.emag
B.reagents.add_reagent("beer2", 2)
+ ..()
/obj/item/weapon/robot_module/butler/add_languages(var/mob/living/silicon/robot/R)
//full set of languages
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index c380fba0ea2..6fd450a4c34 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -218,18 +218,18 @@ var/global/chicken_count = 0
attacktext = "kicks"
health = 10
var/eggsleft = 0
- var/_color
+ var/chicken_color
pass_flags = PASSTABLE | PASSMOB
small = 1
can_hide = 1
/mob/living/simple_animal/chicken/New()
..()
- if(!_color)
- _color = pick( list("brown","black","white") )
- icon_state = "chicken_[_color]"
- icon_living = "chicken_[_color]"
- icon_dead = "chicken_[_color]_dead"
+ if(!chicken_color)
+ chicken_color = pick( list("brown","black","white") )
+ icon_state = "chicken_[chicken_color]"
+ icon_living = "chicken_[chicken_color]"
+ icon_dead = "chicken_[chicken_color]_dead"
pixel_x = rand(-6, 6)
pixel_y = rand(0, 10)
chicken_count += 1
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 1c25a12f2c1..7dfa82c4989 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -23,7 +23,7 @@
density = 0
ventcrawler = 2
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
- var/_color //brown, gray and white, leave blank for random
+ var/mouse_color //brown, gray and white, leave blank for random
layer = MOB_LAYER
min_oxy = 16 //Require atleast 16kPA oxygen
minbodytemp = 223 //Below -50 Degrees Celcius
@@ -39,33 +39,33 @@
if(!ckey && stat == CONSCIOUS && prob(0.5))
stat = UNCONSCIOUS
- icon_state = "mouse_[_color]_sleep"
+ icon_state = "mouse_[mouse_color]_sleep"
wander = 0
speak_chance = 0
//snuffles
else if(stat == UNCONSCIOUS)
if(ckey || prob(1))
stat = CONSCIOUS
- icon_state = "mouse_[_color]"
+ icon_state = "mouse_[mouse_color]"
wander = 1
else if(prob(5))
emote("snuffles")
/mob/living/simple_animal/mouse/New()
..()
- if(!_color)
- _color = pick( list("brown","gray","white") )
- icon_state = "mouse_[_color]"
- icon_living = "mouse_[_color]"
- icon_dead = "mouse_[_color]_dead"
- desc = "It's a small [_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself."
+ if(!mouse_color)
+ mouse_color = pick( list("brown","gray","white") )
+ icon_state = "mouse_[mouse_color]"
+ icon_living = "mouse_[mouse_color]"
+ icon_dead = "mouse_[mouse_color]_dead"
+ desc = "It's a small [mouse_color] rodent, often seen hiding in maintenance areas and making a nuisance of itself."
/mob/living/simple_animal/mouse/proc/splat()
src.health = 0
src.stat = DEAD
- src.icon_dead = "mouse_[_color]_splat"
- src.icon_state = "mouse_[_color]_splat"
+ src.icon_dead = "mouse_[mouse_color]_splat"
+ src.icon_state = "mouse_[mouse_color]_splat"
layer = MOB_LAYER
if(client)
client.time_died_as_mouse = world.time
@@ -116,15 +116,15 @@
*/
/mob/living/simple_animal/mouse/white
- _color = "white"
+ mouse_color = "white"
icon_state = "mouse_white"
/mob/living/simple_animal/mouse/gray
- _color = "gray"
+ mouse_color = "gray"
icon_state = "mouse_gray"
/mob/living/simple_animal/mouse/brown
- _color = "brown"
+ mouse_color = "brown"
icon_state = "mouse_brown"
//TOM IS ALIVE! SQUEEEEEEEE~K :)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index c7daecafce9..41a7a5ce048 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -1270,8 +1270,6 @@ mob/proc/yank_out_object()
NPC.key = key
spawn(5)
respawnable_list += usr
- else
-// message_admins("Failed to check type")
else
usr << "You are not dead or you have given up your right to be respawned!"
return
diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm
index 7be517eb2d9..d9e240936d7 100644
--- a/code/modules/mob/new_player/poll.dm
+++ b/code/modules/mob/new_player/poll.dm
@@ -64,7 +64,7 @@
switch(polltype)
//Polls that have enumerated options
- if("OPTION")
+ if(POLLTYPE_OPTION)
var/DBQuery/voted_query = dbcon.NewQuery("SELECT optionid FROM [format_table_name("poll_vote")] WHERE pollid = [pollid] AND ckey = '[usr.ckey]'")
voted_query.Execute()
@@ -117,7 +117,7 @@
src << browse(output,"window=playerpoll;size=500x250")
//Polls with a text input
- if("TEXT")
+ if(POLLTYPE_TEXT)
var/DBQuery/voted_query = dbcon.NewQuery("SELECT replytext FROM [format_table_name("poll_textreply")] WHERE pollid = [pollid] AND ckey = '[usr.ckey]'")
voted_query.Execute()
@@ -159,7 +159,7 @@
src << browse(output,"window=playerpoll;size=500x500")
//Polls with a text input
- if("NUMVAL")
+ if(POLLTYPE_RATING)
var/DBQuery/voted_query = dbcon.NewQuery("SELECT o.text, v.rating FROM [format_table_name("poll_option")] o, erro_poll_vote v WHERE o.pollid = [pollid] AND v.ckey = '[usr.ckey]' AND o.id = v.optionid")
voted_query.Execute()
@@ -228,7 +228,7 @@
output += ""
src << browse(output,"window=playerpoll;size=500x500")
- if("MULTICHOICE")
+ if(POLLTYPE_MULTI)
var/DBQuery/voted_query = dbcon.NewQuery("SELECT optionid FROM [format_table_name("poll_vote")] WHERE pollid = [pollid] AND ckey = '[usr.ckey]'")
voted_query.Execute()
@@ -308,7 +308,7 @@
var/multiplechoiceoptions = 0
while(select_query.NextRow())
- if(select_query.item[4] != "OPTION" && select_query.item[4] != "MULTICHOICE")
+ if(select_query.item[4] != POLLTYPE_OPTION && select_query.item[4] != POLLTYPE_MULTI)
return
validpoll = 1
if(select_query.item[5])
@@ -377,7 +377,7 @@
var/validpoll = 0
while(select_query.NextRow())
- if(select_query.item[4] != "TEXT")
+ if(select_query.item[4] != POLLTYPE_TEXT)
return
validpoll = 1
break
@@ -435,7 +435,7 @@
var/validpoll = 0
while(select_query.NextRow())
- if(select_query.item[4] != "NUMVAL")
+ if(select_query.item[4] != POLLTYPE_RATING)
return
validpoll = 1
break
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 4fabdc6510e..eb59f6b9aca 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -278,10 +278,6 @@
var/list/mobtypes = typesof(/mob/living/simple_animal)
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
- if(!safe_animal(mobpath))
- usr << "\red Sorry but this mob type is currently unavailable."
- return
-
if(notransform)
return
for(var/obj/item/W in src)
@@ -313,10 +309,6 @@
var/list/mobtypes = typesof(/mob/living/simple_animal)
var/mobpath = input("Which type of mob should [src] turn into?", "Choose a type") in mobtypes
- if(!safe_animal(mobpath))
- usr << "\red Sorry but this mob type is currently unavailable."
- return
-
var/mob/new_mob = new mobpath(src.loc)
new_mob.key = key
@@ -326,72 +318,10 @@
qdel(src)
-/* Certain mob types have problems and should not be allowed to be controlled by players.
- *
- * This proc is here to force coders to manually place their mob in this list, hopefully tested.
- * This also gives a place to explain -why- players shouldnt be turn into certain mobs and hopefully someone can fix them.
- */
-/mob/proc/safe_animal(var/MP)
-
-//Bad mobs! - Remember to add a comment explaining what's wrong with the mob
- if(!MP)
- return 0 //Sanity, this should never happen.
-
- if(ispath(MP, /mob/living/simple_animal/hostile/spaceWorm))
- return 0 //Unfinished. Very buggy, they seem to just spawn additional space worms everywhere and eating your own tail results in new worms spawning.
-
- if(ispath(MP, /mob/living/simple_animal/construct/behemoth))
- return 0 //I think this may have been an unfinished WiP or something. These constructs should really have their own class simple_animal/construct/subtype
-
- if(ispath(MP, /mob/living/simple_animal/construct/armoured))
- return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
-
- if(ispath(MP, /mob/living/simple_animal/construct/wraith))
- return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
-
- if(ispath(MP, /mob/living/simple_animal/construct/builder))
- return 0 //Verbs do not appear for players. These constructs should really have their own class simple_animal/construct/subtype
-
-//Good mobs!
- if(ispath(MP, /mob/living/simple_animal/pet/cat))
- return 1
- if(ispath(MP, /mob/living/simple_animal/pet/corgi))
- return 1
- if(ispath(MP, /mob/living/simple_animal/crab))
- return 1
- if(ispath(MP, /mob/living/simple_animal/hostile/carp))
- return 1
- if(ispath(MP, /mob/living/simple_animal/hostile/mushroom))
- return 1
- if(ispath(MP, /mob/living/simple_animal/shade))
- return 1
- if(ispath(MP, /mob/living/simple_animal/tomato))
- return 1
- if(ispath(MP, /mob/living/simple_animal/mouse))
- return 1 //It is impossible to pull up the player panel for mice (Fixed! - Nodrak)
- if(ispath(MP, /mob/living/simple_animal/hostile/bear))
- return 1 //Bears will auto-attack mobs, even if they're player controlled (Fixed! - Nodrak)
- if(ispath(MP, /mob/living/simple_animal/parrot))
- return 1 //Parrots are no longer unfinished! -Nodrak
- if(ispath(MP, /mob/living/simple_animal/pony))
- return 1 // ZOMG PONIES WHEEE
- if(ispath(MP, /mob/living/simple_animal/pet/fox))
- return 1
- if(ispath(MP, /mob/living/simple_animal/chick))
- return 1
- if(ispath(MP, /mob/living/simple_animal/pet/pug))
- return 1
- if(ispath(MP, /mob/living/simple_animal/butterfly))
- return 1
- //Not in here? Must be untested!
- return 0
-
-
/mob/proc/safe_respawn(var/MP)
if(!MP)
- return 0 //Sanity, this should never happen.
+ return 0
-//Animals!
if(ispath(MP, /mob/living/simple_animal/pet/cat))
return 1
if(ispath(MP, /mob/living/simple_animal/pet/corgi))
@@ -415,15 +345,10 @@
if(ispath(MP, /mob/living/simple_animal/butterfly))
return 1
-//Antag Creatures!
if(ispath(MP, /mob/living/simple_animal/borer) && !jobban_isbanned(src, "alien") && !jobban_isbanned(src, "Syndicate"))
return 1
- if(ispath(MP, /mob/living/simple_animal/hostile/statue) && !jobban_isbanned(src, "Syndicate"))
- return 1
-
-//Friendly Creatures!
+
if(ispath(MP, /mob/living/simple_animal/diona) && !jobban_isbanned(src, "Dionaea"))
return 1
- //Not in here? Must be untested!
return 0
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index a453b76a123..479bb429efc 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -65,7 +65,7 @@
send_asset_list(user.client, S.assets)
var/data
- if(!(user.say_understands(null, all_languages["Galactic Common"]) && !forceshow) || forcestars) //assuming all paper is written in common is better than hardcoded type checks
+ if((!user.say_understands(null, all_languages["Galactic Common"]) && !forceshow) || forcestars) //assuming all paper is written in common is better than hardcoded type checks
data = "[name][stars(info)][stamps]"
if(view)
usr << browse(data, "window=[name]")
@@ -418,10 +418,11 @@
B.update_icon()
else if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon))
- if ( istype(P, /obj/item/weapon/pen/robopen) && P:mode == 2 )
- P:RenamePaper(user,src)
+ var/obj/item/weapon/pen/robopen/RP = P
+ if(istype(P, /obj/item/weapon/pen/robopen) && RP.mode == 2)
+ RP.RenamePaper(user,src)
else
- show_content(user, forceshow = 1, infolinks = 1)
+ show_content(user, infolinks = 1)
//openhelp(user)
return
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 4f61c78c761..f463cc71447 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -24,6 +24,9 @@
var/colour = "black" //what colour the ink is!
pressure_resistance = 2
+/obj/item/weapon/pen/suicide_act(mob/user)
+ viewers(user) << "[user] starts scribbling numbers over \himself with the [src.name]! It looks like \he's trying to commit sudoku."
+ return (BRUTELOSS)
/obj/item/weapon/pen/blue
name = "blue-ink pen"
@@ -143,4 +146,4 @@
item_state = "edagger"
else
icon_state = initial(icon_state) //looks like a normal pen when off.
- item_state = initial(item_state)
\ No newline at end of file
+ item_state = initial(item_state)
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index 5a3df2ff47f..44ecc3f1f12 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -9,7 +9,7 @@
throw_speed = 3
throw_range = 7
materials = list(MAT_METAL=60)
- _color = "cargo"
+ item_color = "cargo"
pressure_resistance = 2
attack_verb = list("stamped")
@@ -20,67 +20,67 @@
/obj/item/weapon/stamp/qm
name = "Quartermaster's rubber stamp"
icon_state = "stamp-qm"
- _color = "qm"
+ item_color = "qm"
/obj/item/weapon/stamp/law
name = "Law office's rubber stamp"
icon_state = "stamp-law"
- _color = "cargo"
+ item_color = "cargo"
/obj/item/weapon/stamp/captain
name = "captain's rubber stamp"
icon_state = "stamp-cap"
- _color = "captain"
+ item_color = "captain"
/obj/item/weapon/stamp/hop
name = "head of personnel's rubber stamp"
icon_state = "stamp-hop"
- _color = "hop"
+ item_color = "hop"
/obj/item/weapon/stamp/hos
name = "head of security's rubber stamp"
icon_state = "stamp-hos"
- _color = "hosred"
+ item_color = "hosred"
/obj/item/weapon/stamp/ce
name = "chief engineer's rubber stamp"
icon_state = "stamp-ce"
- _color = "chief"
+ item_color = "chief"
/obj/item/weapon/stamp/rd
name = "research director's rubber stamp"
icon_state = "stamp-rd"
- _color = "director"
+ item_color = "director"
/obj/item/weapon/stamp/cmo
name = "chief medical officer's rubber stamp"
icon_state = "stamp-cmo"
- _color = "medical"
+ item_color = "medical"
/obj/item/weapon/stamp/granted
name = "\improper GRANTED rubber stamp"
icon_state = "stamp-ok"
- _color = "qm"
+ item_color = "qm"
/obj/item/weapon/stamp/denied
name = "\improper DENIED rubber stamp"
icon_state = "stamp-deny"
- _color = "redcoat"
+ item_color = "redcoat"
/obj/item/weapon/stamp/clown
name = "clown's rubber stamp"
icon_state = "stamp-clown"
- _color = "clown"
+ item_color = "clown"
/obj/item/weapon/stamp/centcom
name = "Nanotrasen Representative's rubber stamp"
icon_state = "stamp-cent"
- _color = "centcom"
+ item_color = "centcom"
/obj/item/weapon/stamp/syndicate
name = "suspicious rubber stamp"
icon_state = "stamp-syndicate"
- _color = "syndicate"
+ item_color = "syndicate"
// Syndicate stamp to forge documents.
@@ -105,4 +105,4 @@
if(chosen_stamp)
name = chosen_stamp.name
icon_state = chosen_stamp.icon_state
- _color = chosen_stamp._color
\ No newline at end of file
+ item_color = chosen_stamp.item_color
\ No newline at end of file
diff --git a/code/modules/pooling/atom_pool.dm b/code/modules/pooling/atom_pool.dm
deleted file mode 100644
index c5d11f6b599..00000000000
--- a/code/modules/pooling/atom_pool.dm
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-/tg/station13 /atom/movable Pool:
----------------------------------
-By RemieRichards
-Creation/Deletion is laggy, so let's reduce reuse and recycle!
-Locked to /atom/movable and it's subtypes due to Loc being a const var on /atom
-but being read&write on /movable due to how they... move.
-Usage:
-To get a object, just called PoolOrNew(type, list of args to pass to New)
-To put a object back in the pool, call place in pool.
-This will call destroy on the object, set its loc to null,
-and reset all of its vars to their default
-You can override your object's destroy to return QDEL_HINT_PLACEINPOOL
-to ensure its always placed in this pool (this will only be acted on if qdel calls destroy, and destroy will not get called twice)
-*/
-
-var/global/list/GlobalPool = list()
-
-//You'll be using this proc 90% of the time.
-//It grabs a type from the pool if it can
-//And if it can't, it creates one
-//The pool is flexible and will expand to fit
-//The new created atom when it eventually
-//Goes into the pool
-
-//Second argument can be a new location
-//Or a list of arguments
-//Either way it gets passed to new
-
-/proc/PoolOrNew(var/get_type,var/second_arg)
- if(!get_type)
- return
-
- var/atom/movable/AM
- AM = GetFromPool(get_type,second_arg)
-
- if(!AM)
- if(ispath(get_type))
- if(islist(second_arg))
- AM = new get_type (arglist(second_arg))
- else
- AM = new get_type (second_arg)
-
- if(AM)
- return AM
-
-
-
-/proc/GetFromPool(var/get_type,var/second_arg)
- if(!get_type)
- return 0
-
- if(isnull(GlobalPool[get_type]))
- return 0
-
- if(length(GlobalPool[get_type]) == 0)
- return 0
-
- var/atom/movable/AM = pick_n_take(GlobalPool[get_type])
- if(AM)
- AM.ResetVars()
- if(islist(second_arg))
- AM.loc = second_arg[1]
- AM.New(arglist(second_arg))
- else
- AM.loc = second_arg
- AM.New(second_arg)
- return AM
- return 0
-
-
-
-/proc/PlaceInPool(var/atom/movable/AM, destroy = 1)
- if(!istype(AM))
- return
-
- if(AM in GlobalPool[AM.type])
- return
-
- if(!GlobalPool[AM.type])
- GlobalPool[AM.type] = list()
-
- GlobalPool[AM.type] |= AM
-
- if (destroy)
- AM.Destroy()
-
- AM.ResetVars()
-
-
-
-/atom/movable/proc/ResetVars()
- var/list/excluded = list("animate_movement", "loc", "locs", "parent_type", "vars", "verbs", "type")
-
- for(var/V in vars)
- if(V in excluded)
- continue
-
- vars[V] = initial(vars[V])
-
- vars["loc"] = null
diff --git a/code/modules/pooling/pool.dm b/code/modules/pooling/pool.dm
new file mode 100644
index 00000000000..048940cfb51
--- /dev/null
+++ b/code/modules/pooling/pool.dm
@@ -0,0 +1,114 @@
+
+/*
+/tg/station13 /datum Pool:
+---------------------------------
+By RemieRichards
+
+Creation/Deletion is laggy, so let's reduce reuse and recycle!
+
+Usage:
+
+To get a object, just call
+ - PoolOrNew(type, arg) if you only want to pass one argument to New(), usually loc
+ - PoolOrNew(type, list) if you want to pass multiple arguments to New()
+
+To put a object back in the pool, call PlaceInPool(object)
+This will call destroy on the object, set its loc to null,
+and reset all of its vars to their default
+
+You can override your object's destroy to return QDEL_HINT_PLACEINPOOL
+to ensure its always placed in this pool (this will only be acted on if qdel calls destroy, and destroy will not get called twice)
+
+*/
+
+var/global/list/GlobalPool = list()
+
+//You'll be using this proc 90% of the time.
+//It grabs a type from the pool if it can
+//And if it can't, it creates one
+//The pool is flexible and will expand to fit
+//The new created atom when it eventually
+//Goes into the pool
+
+//Second argument can be a single arg
+//Or a list of arguments
+//Either way it gets passed to new
+
+/proc/PoolOrNew(get_type,second_arg)
+ if(!get_type)
+ return
+
+ . = GetFromPool(get_type,second_arg)
+
+ if(!.)
+ if(ispath(get_type))
+ if(islist(second_arg))
+ . = new get_type (arglist(second_arg))
+ else
+ . = new get_type (second_arg)
+
+
+/proc/GetFromPool(get_type,second_arg)
+ if(!get_type)
+ return
+
+ if(isnull(GlobalPool[get_type]))
+ return
+
+ if(length(GlobalPool[get_type]) == 0)
+ return
+
+ var/datum/pooled = pop(GlobalPool[get_type])
+ if(pooled)
+ var/atom/movable/AM
+ if(istype(pooled, /atom/movable))
+ AM = pooled
+
+ if(islist(second_arg))
+ if(AM)
+ AM.loc = second_arg[1] //we need to do loc setting explicetly before even calling New() to replicate new()'s behavior
+ pooled.New(arglist(second_arg))
+
+ else
+ if(AM)
+ AM.loc = second_arg
+ pooled.New(second_arg)
+
+ return pooled
+
+
+/proc/PlaceInPool(datum/diver, destroy = 1)
+ if(!istype(diver))
+ return
+
+ if(diver in GlobalPool[diver.type])
+ return
+
+ if(!GlobalPool[diver.type])
+ GlobalPool[diver.type] = list()
+
+ GlobalPool[diver.type] |= diver
+
+ if (destroy)
+ diver.Destroy()
+
+ diver.ResetVars()
+
+
+/datum/proc/ResetVars()
+ var/list/excluded = list("animate_movement", "contents", "loc", "locs", "parent_type", "vars", "verbs", "type")
+
+ for(var/V in vars)
+ if(V in excluded)
+ continue
+
+ vars[V] = initial(vars[V])
+
+/atom/movable/ResetVars()
+ ..()
+ loc = null
+ contents = initial(contents) //something is really wrong if this object still has stuff in it by this point
+
+/image/ResetVars()
+ ..()
+ loc = null
\ No newline at end of file
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 05e5bbbe73b..41e294eba58 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -160,6 +160,7 @@
wires = null
if(cell)
qdel(cell) // qdel
+ cell = null
if(terminal)
disconnect_terminal()
return ..()
diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm
index 4e4eee07c0e..9e2bca5edcb 100644
--- a/code/modules/reagents/reagent_containers/food/drinks.dm
+++ b/code/modules/reagents/reagent_containers/food/drinks.dm
@@ -69,11 +69,12 @@
reagents.trans_to(M, gulp_size)
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
- var/mob/living/silicon/robot/bro = user
- bro.cell.use(30)
+ var/mob/living/silicon/robot/borg = user
+ borg.cell.use(30)
var/refill = R.get_master_reagent_id()
- spawn(600)
- R.add_reagent(refill, fillevel)
+ if(refill in drinks) // Only synthesize drinks
+ spawn(600)
+ R.add_reagent(refill, fillevel)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), 1)
return 1
@@ -125,15 +126,16 @@
user << "\blue You transfer [trans] units of the solution to [target]."
if(isrobot(user)) //Cyborg modules that include drinks automatically refill themselves, but drain the borg's cell
- var/mob/living/silicon/robot/bro = user
- var/chargeAmount = max(30,4*trans)
- bro.cell.use(chargeAmount)
- user << "Now synthesizing [trans] units of [refillName]..."
+ if(refill in drinks) // Only synthesize drinks
+ var/mob/living/silicon/robot/bro = user
+ var/chargeAmount = max(30,4*trans)
+ bro.cell.use(chargeAmount)
+ user << "Now synthesizing [trans] units of [refillName]..."
- spawn(300)
- reagents.add_reagent(refill, trans)
- user << "Cyborg [src] refilled."
+ spawn(300)
+ reagents.add_reagent(refill, trans)
+ user << "Cyborg [src] refilled."
return
diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm
index ee79e2e64bc..6f12c03c6a8 100644
--- a/code/modules/reagents/reagent_containers/food/snacks.dm
+++ b/code/modules/reagents/reagent_containers/food/snacks.dm
@@ -567,41 +567,41 @@
usr << "\blue You color \the [src] [clr]"
icon_state = "egg-[clr]"
- _color = clr
+ item_color = clr
else
..()
/obj/item/weapon/reagent_containers/food/snacks/egg/blue
icon_state = "egg-blue"
- _color = "blue"
+ item_color = "blue"
/obj/item/weapon/reagent_containers/food/snacks/egg/green
icon_state = "egg-green"
- _color = "green"
+ item_color = "green"
/obj/item/weapon/reagent_containers/food/snacks/egg/mime
icon_state = "egg-mime"
- _color = "mime"
+ item_color = "mime"
/obj/item/weapon/reagent_containers/food/snacks/egg/orange
icon_state = "egg-orange"
- _color = "orange"
+ item_color = "orange"
/obj/item/weapon/reagent_containers/food/snacks/egg/purple
icon_state = "egg-purple"
- _color = "purple"
+ item_color = "purple"
/obj/item/weapon/reagent_containers/food/snacks/egg/rainbow
icon_state = "egg-rainbow"
- _color = "rainbow"
+ item_color = "rainbow"
/obj/item/weapon/reagent_containers/food/snacks/egg/red
icon_state = "egg-red"
- _color = "red"
+ item_color = "red"
/obj/item/weapon/reagent_containers/food/snacks/egg/yellow
icon_state = "egg-yellow"
- _color = "yellow"
+ item_color = "yellow"
/obj/item/weapon/reagent_containers/food/snacks/friedegg
name = "Fried egg"
diff --git a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
index cb6a7cb0a8a..6a8eb261bb4 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle/robot.dm
@@ -14,11 +14,10 @@
icon_state = "bottle16"
reagent = "epinephrine"
- New()
- ..()
- reagents.add_reagent("epinephrine", 60)
- return
-
+/obj/item/weapon/reagent_containers/glass/bottle/robot/epinephrine/New()
+ ..()
+ reagents.add_reagent("epinephrine", 60)
+ return
/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal
name = "internal charcoal bottle"
@@ -27,7 +26,7 @@
icon_state = "bottle17"
reagent = "charcoal"
- New()
- ..()
- reagents.add_reagent("charcoal", 60)
- return
\ No newline at end of file
+/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal/New()
+ ..()
+ reagents.add_reagent("charcoal", 60)
+ return
\ No newline at end of file
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index b844e40addc..7aec18d1dcd 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/nano/templates/canister.tmpl b/nano/templates/canister.tmpl
index 06dfbd2ae27..9ddef45b098 100644
--- a/nano/templates/canister.tmpl
+++ b/nano/templates/canister.tmpl
@@ -98,7 +98,7 @@
{{:data.colorContainer.prim.name}}
{{for data.colorContainer.prim.options}}
- {{if value.icon == data._color.prim}}
+ {{if value.icon == data.canister_color.prim}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.prim.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', 'selected')}}
{{else}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.prim.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', null)}}
@@ -111,7 +111,7 @@
{{:helper.link("None", '', {'choice' : data.colorContainer.sec.name, 'icon' : "none"}, data.canLabel ? null : 'disabled', data.colorContainer.sec.anycolor ? null : 'selected')}}
{{for data.colorContainer.sec.options}}
- {{if value.icon == data._color.sec}}
+ {{if value.icon == data.canister_color.sec}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.sec.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', 'selected')}}
{{else}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.sec.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', null)}}
@@ -124,7 +124,7 @@
{{:helper.link("None", '', {'choice' : data.colorContainer.ter.name, 'icon' : "none"}, data.canLabel ? null : 'disabled', data.colorContainer.ter.anycolor ? null : 'selected')}}
{{for data.colorContainer.ter.options}}
- {{if value.icon == data._color.ter}}
+ {{if value.icon == data.canister_color.ter}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.ter.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', 'selected')}}
{{else}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.ter.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', null)}}
@@ -137,7 +137,7 @@
{{:helper.link("None", '', {'choice' : data.colorContainer.quart.name, 'icon' : "none"}, data.canLabel ? null : 'disabled', data.colorContainer.quart.anycolor ? null : 'selected')}}
{{for data.colorContainer.quart.options}}
- {{if value.icon == data._color.quart}}
+ {{if value.icon == data.canister_color.quart}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.quart.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', 'selected')}}
{{else}}
{{:helper.link(value.name, '', {'choice' : data.colorContainer.quart.name, 'icon' : value.icon}, data.canLabel ? null : 'disabled', null)}}
diff --git a/nano/templates/radio_basic.tmpl b/nano/templates/radio_basic.tmpl
new file mode 100644
index 00000000000..9aaad8cb489
--- /dev/null
+++ b/nano/templates/radio_basic.tmpl
@@ -0,0 +1,89 @@
+
+{{if data.useSyndMode}}
+ {{:helper.syndicateMode()}}
+{{/if}}
+
+
+
+ Microphone
+
+
+ {{if data.mic_cut}}
+ {{:helper.link('On', null, null, 'disabled')}}
+ {{:helper.link('Off', null, null, 'disabled')}}
+ {{else}}
+ {{:helper.link('On', null, {'talk' : 0}, data.mic_status ? 'selected' : null)}}
+ {{:helper.link('Off', null, {'talk' : 1}, data.mic_status ? null : 'selected')}}
+ {{/if}}
+
+
+
+
+
+ Speaker
+
+
+ {{if data.spk_cut}}
+ {{:helper.link('On', null, null, 'disabled')}}
+ {{:helper.link('Off', null, null, 'disabled')}}
+ {{else}}
+ {{:helper.link('On', null, {'listen' : 0}, data.speaker ? 'selected' : null)}}
+ {{:helper.link('Off', null, {'listen' : 1}, data.speaker ? null : 'selected')}}
+ {{/if}}
+
+
+
+{{if data.has_subspace}}
+
+ Subspace Transmission:
+
+
+ {{:helper.link('On', null, {'mode' : 1}, data.subspace ? 'selected' : null)}}
+ {{:helper.link('Off', null, {'mode' : 0}, data.subspace ? null : 'selected')}}
+
+{{/if}}
+
+{{if data.has_loudspeaker}}
+
+ Loudspeaker:
+
+
+ {{:helper.link('On', null, {'shutup' : 0}, data.loudspeaker ? 'selected' : null)}}
+ {{:helper.link('Off', null, {'shutup' : 1}, data.loudspeaker ? null : 'selected')}}
+
+{{/if}}
+
+
+
+ Frequency: {{:data.freq}}
+
+
+ {{:helper.link('--', null, {'freq' : -10})}}
+ {{:helper.link('-', null, {'freq' : -2})}}
+ {{:helper.link('+', null, {'freq' : 2})}}
+ {{:helper.link('++', null, {'freq' : 10})}}
+
+
+
+{{if data.chan_list_len >= 1}}
+
Channels
+
+ {{for data.chan_list}}
+
+ {{:value.display_name}}
+
+
+ {{if value.secure_channel}}
+ Speaker:
+ {{:helper.link('On', null, {'ch_name' : value.chan, 'listen' : value.sec_channel_listen}, value.sec_channel_listen ? null : 'selected')}}
+ {{:helper.link('Off', null, {'ch_name' : value.chan, 'listen' : value.sec_channel_listen}, value.sec_channel_listen ? 'selected' : null)}}
+ {{else}}
+ {{:helper.link('Switch', null, {'spec_freq' : value.chan}, data.rawfreq == value.chan ? 'selected' : null)}}
+ {{/if}}
+
+ {{/for}}
+
+{{/if}}
\ No newline at end of file
diff --git a/nano/templates/radio_electro.tmpl b/nano/templates/radio_electro.tmpl
new file mode 100644
index 00000000000..9fb8183ad01
--- /dev/null
+++ b/nano/templates/radio_electro.tmpl
@@ -0,0 +1,37 @@
+
+
+
+ Power
+
+
+ {{:helper.link('On', null, {'power' : 1}, data.power ? 'selected' : null)}}
+ {{:helper.link('Off', null, {'power' : 1}, data.power ? null : 'selected')}}
+
+
+
+
+
+ Frequency: {{:data.freq}}
+
+
+ {{:helper.link('--', null, {'freq' : -10})}}
+ {{:helper.link('-', null, {'freq' : -2})}}
+ {{:helper.link('+', null, {'freq' : 2})}}
+ {{:helper.link('++', null, {'freq' : 10})}}
+
+
+
+
+
+ Code: {{:data.code}}
+
+
+ {{:helper.link('--', null, {'code' : -5})}}
+ {{:helper.link('-', null, {'code' : -1})}}
+ {{:helper.link('+', null, {'code' : 1})}}
+ {{:helper.link('++', null, {'code' : 5})}}
+
+
\ No newline at end of file
diff --git a/paradise.dme b/paradise.dme
index 778479de1fb..427b96b8d03 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -75,6 +75,7 @@
#include "code\_globalvars\lists\mobs.dm"
#include "code\_globalvars\lists\names.dm"
#include "code\_globalvars\lists\objects.dm"
+#include "code\_globalvars\lists\reagents.dm"
#include "code\_hooks\area.dm"
#include "code\_hooks\hooks.dm"
#include "code\_hooks\mob.dm"
@@ -1557,7 +1558,7 @@
#include "code\modules\paperwork\photography.dm"
#include "code\modules\paperwork\silicon_photography.dm"
#include "code\modules\paperwork\stamps.dm"
-#include "code\modules\pooling\atom_pool.dm"
+#include "code\modules\pooling\pool.dm"
#include "code\modules\power\apc.dm"
#include "code\modules\power\cable.dm"
#include "code\modules\power\cable_heavyduty.dm"