mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Merge remote-tracking branch 'upstream/master' into stupid-triggers
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
buckle_requires_restraints = 1
|
||||
buckle_lying = -1
|
||||
|
||||
|
||||
/obj/machinery/atmospherics/pipe/New()
|
||||
..()
|
||||
//so pipes under walls are hidden
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -162,4 +162,9 @@
|
||||
#define MAT_BANANIUM "$bananium"
|
||||
|
||||
#define MAX_STACK_SIZE 50
|
||||
//The maximum size of a stack object.
|
||||
|
||||
//unmagic-strings for types of polls
|
||||
#define POLLTYPE_OPTION "OPTION"
|
||||
#define POLLTYPE_TEXT "TEXT"
|
||||
#define POLLTYPE_RATING "NUMVAL"
|
||||
#define POLLTYPE_MULTI "MULTICHOICE"
|
||||
@@ -21,4 +21,4 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
|
||||
"UO45",
|
||||
"UO45R",
|
||||
"Xeno"
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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")
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -42,6 +42,7 @@
|
||||
return
|
||||
|
||||
/atom/proc/assume_air(datum/gas_mixture/giver)
|
||||
qdel(giver)
|
||||
return null
|
||||
|
||||
/atom/proc/remove_air(amount)
|
||||
|
||||
@@ -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 << "<span class='danger'>You are enveloped by a soft green glow emanating from [owner].</span>"
|
||||
L.apply_effect(5, IRRADIATE)
|
||||
return
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 << "<span class='notice'>Authentication Disk Locator active.</span>"
|
||||
else
|
||||
worklocation()
|
||||
user << "<span class='notice'>Shuttle Locator active.</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
user << "<span class='notice'>You deactivate the pinpointer.</span>"
|
||||
|
||||
|
||||
/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("<span class='notice'>Authentication Disk Locator active.</span>")
|
||||
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 << "<span class='danger'>AUTHENTICATION FAILURE. ACCESS DENIED.</span>"
|
||||
return 0
|
||||
if(!active)
|
||||
active = 1
|
||||
workop()
|
||||
usr << "<span class='notice'>You activate the pinpointer.</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
usr << "<span class='notice'>You deactivate the pinpointer.</span>"
|
||||
|
||||
/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 <i>[nearest_op.real_name].</i>"
|
||||
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)
|
||||
.()
|
||||
.()
|
||||
|
||||
/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 << "<span class='notice'>You activate the pinpointer.</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
usr << "<span class='notice'>You deactivate the pinpointer.</span>"
|
||||
|
||||
/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 << "<span class='notice'>You set the pinpointer to locate [locationx],[locationy]</span>"
|
||||
|
||||
|
||||
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 << "<span class='warning'>Failed to locate [targetitem]!</span>"
|
||||
return
|
||||
usr << "<span class='notice'>You set the pinpointer to locate [targetitem].</span>"
|
||||
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 << "<span class='notice'>Authentication Disk Locator active.</span>"
|
||||
else
|
||||
worklocation()
|
||||
user << "<span class='notice'>Shuttle Locator active.</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
user << "<span class='notice'>You deactivate the pinpointer.</span>"
|
||||
|
||||
/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("<span class='notice'>Authentication Disk Locator mode actived.</span>")
|
||||
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 << "<span class='danger'>AUTHENTICATION FAILURE. ACCESS DENIED.</span>"
|
||||
return 0
|
||||
if(!active)
|
||||
active = 1
|
||||
workop()
|
||||
usr << "<span class='notice'>You activate the pinpointer.</span>"
|
||||
else
|
||||
active = 0
|
||||
icon_state = "pinoff"
|
||||
usr << "<span class='notice'>You deactivate the pinpointer.</span>"
|
||||
|
||||
/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 <i>[nearest_op.real_name].</i>"
|
||||
else
|
||||
user << "No operatives detected within scanning range."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 << "<span class='notice'>[src] is now active.</span>"
|
||||
|
||||
@@ -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 << "<span class='warning'>You don't have the dexterity to do this!</span>"
|
||||
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 << "<span class='warning'>You momentarily forget how to use [src].</span>"
|
||||
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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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...
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 << "<span class='notice'>You need help taking this off!</span>"
|
||||
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 = {"<TT>
|
||||
<A href='?src=\ref[src];power=1'>Turn [on ? "Off" : "On"]</A><BR>
|
||||
<B>Frequency/Code</B> for electropack:<BR>
|
||||
Frequency:
|
||||
<A href='byond://?src=\ref[src];freq=-10'>-</A>
|
||||
<A href='byond://?src=\ref[src];freq=-2'>-</A> [format_frequency(frequency)]
|
||||
<A href='byond://?src=\ref[src];freq=2'>+</A>
|
||||
<A href='byond://?src=\ref[src];freq=10'>+</A><BR>
|
||||
/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:
|
||||
<A href='byond://?src=\ref[src];code=-5'>-</A>
|
||||
<A href='byond://?src=\ref[src];code=-1'>-</A> [code]
|
||||
<A href='byond://?src=\ref[src];code=1'>+</A>
|
||||
<A href='byond://?src=\ref[src];code=5'>+</A><BR>
|
||||
</TT>"}
|
||||
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)
|
||||
@@ -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 = "<html><head><title>[src]</title></head><body><TT>"
|
||||
return ui_interact(user)
|
||||
|
||||
if(!istype(src, /obj/item/device/radio/headset)) //Headsets dont get a mic button
|
||||
dat += "Microphone: [broadcasting ? "<A href='byond://?src=\ref[src];talk=0'>Engaged</A>" : "<A href='byond://?src=\ref[src];talk=1'>Disengaged</A>"]<BR>"
|
||||
/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 ? "<A href='byond://?src=\ref[src];listen=0'>Engaged</A>" : "<A href='byond://?src=\ref[src];listen=1'>Disengaged</A>"]<BR>
|
||||
Frequency:
|
||||
<A href='byond://?src=\ref[src];freq=-10'>-</A>
|
||||
<A href='byond://?src=\ref[src];freq=-2'>-</A>
|
||||
[format_frequency(frequency)]
|
||||
<A href='byond://?src=\ref[src];freq=2'>+</A>
|
||||
<A href='byond://?src=\ref[src];freq=10'>+</A><BR>
|
||||
"}
|
||||
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()]</TT></body></html>"}
|
||||
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+="<A href='byond://?src=\ref[src];spec_freq=[internal_chan]'>[get_frequency_name(text2num(internal_chan))]</A><br>"
|
||||
dat.Add(list(list("chan" = internal_chan, "display_name" = get_frequency_name(text2num(internal_chan)))))
|
||||
|
||||
if(dat)
|
||||
dat = "<br><b>Internal Channels</b><br>" + 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 {"
|
||||
<B>[chan_name]</B><br>
|
||||
Speaker: <A href='byond://?src=\ref[src];ch_name=[chan_name];listen=[!list]'>[list ? "Engaged" : "Disengaged"]</A><BR>
|
||||
"}
|
||||
|
||||
/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 << "<span class='notice'>Loudspeaker enabled.</span>"
|
||||
. = 1
|
||||
|
||||
if(.)
|
||||
interact(usr)
|
||||
|
||||
/obj/item/device/radio/borg/interact(mob/user as mob)
|
||||
if(!on)
|
||||
return
|
||||
|
||||
var/dat = "<html><head><title>[src]</title></head><body><TT>"
|
||||
dat += {"
|
||||
Speaker: [listening ? "<A href='byond://?src=\ref[src];listen=0'>Engaged</A>" : "<A href='byond://?src=\ref[src];listen=1'>Disengaged</A>"]<BR>
|
||||
Frequency:
|
||||
<A href='byond://?src=\ref[src];freq=-10'>-</A>
|
||||
<A href='byond://?src=\ref[src];freq=-2'>-</A>
|
||||
[format_frequency(frequency)]
|
||||
<A href='byond://?src=\ref[src];freq=2'>+</A>
|
||||
<A href='byond://?src=\ref[src];freq=10'>+</A><BR>
|
||||
Broadcasting: [subspace_transmission ? "<A href='byond://?src=\ref[src];mode=0'>Disable</A>" : "<A href='byond://?src=\ref[src];mode=1'>Enable</A>"]<BR>
|
||||
Loudspeaker: [shut_up ? "<A href='byond://?src=\ref[src];shutup=0'>Enable</A>" : "<A href='byond://?src=\ref[src];shutup=1'>Disable</A>"]<BR>
|
||||
"}
|
||||
. = ..()
|
||||
|
||||
if(subspace_transmission)//Don't even bother if subspace isn't turned on
|
||||
dat+=list_channels(user)
|
||||
dat+={"[text_wires()]</TT></body></html>"}
|
||||
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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 << "<span class='notice'>[src] is now active.</span>"
|
||||
@@ -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 << "<span class='warning'>RNBW_ENGAGE</span>"
|
||||
|
||||
if(active)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -115,5 +115,5 @@
|
||||
modmsg += "\t[C] is a [C.holder.rank]\n"
|
||||
num_mods_online++
|
||||
|
||||
msg = "<b>Current Admins ([num_admins_online]):</b>\n" + msg + "\n<b> Current Mods/Mentors ([num_mods_online]):</b>\n" + modmsg
|
||||
msg = "<b>Current Admins ([num_admins_online]):</b>\n" + msg + "\n<b>Current Mods/Mentors ([num_mods_online]):</b>\n" + modmsg
|
||||
src << msg
|
||||
|
||||
@@ -56,10 +56,11 @@ var/global/nologevent = 0
|
||||
body += "[admin_jump_link(M, src)]\] </b><br>"
|
||||
|
||||
body += "<b>Mob type:</b> [M.type]<br>"
|
||||
if(M.client.related_accounts_cid.len)
|
||||
body += "<b>Related accounts by CID:</b> [list2text(M.client.related_accounts_cid, " - ")]<br>"
|
||||
if(M.client.related_accounts_ip.len)
|
||||
body += "<b>Related accounts by IP:</b> [list2text(M.client.related_accounts_ip, " - ")]<br><br>"
|
||||
if(M.client)
|
||||
if(M.client.related_accounts_cid.len)
|
||||
body += "<b>Related accounts by CID:</b> [list2text(M.client.related_accounts_cid, " - ")]<br>"
|
||||
if(M.client.related_accounts_ip.len)
|
||||
body += "<b>Related accounts by IP:</b> [list2text(M.client.related_accounts_ip, " - ")]<br><br>"
|
||||
|
||||
body += "<A href='?_src_=holder;boot2=\ref[M]'>Kick</A> | "
|
||||
body += "<A href='?_src_=holder;warn=[M.ckey]'>Warn</A> | "
|
||||
|
||||
@@ -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"]<br>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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 << "<span class='notice'>You cannot roll down the uniform!</span>"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
item_color="bmgloves"
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
item_color = "holster_low"
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
|
||||
@@ -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 <i>fabulous</i>."
|
||||
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
|
||||
|
||||
@@ -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 <b>hardcore</b> 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 = "<i>'HONK!'</i>"
|
||||
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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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 = "<i>'Special delivery!'</i>"
|
||||
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"
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
item_color = "greyshorts"
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -361,11 +361,6 @@ var/const/POS_HEADER = {"<html>
|
||||
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=""
|
||||
|
||||
@@ -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 <b>\A [src] has been activated. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a> | <a href='?src=\ref[src];signup=\ref[O]'>Sign Up</a>)"
|
||||
//question(O.client)
|
||||
if(check_observer(O))
|
||||
O << "\blue <b>\A [src] has been activated. (<a href='?src=\ref[O];jump=\ref[src]'>Teleport</a> | <a href='?src=\ref[src];signup=\ref[O]'>Sign Up</a>)"
|
||||
//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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]")
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -284,9 +284,9 @@
|
||||
src << "<br><b>You are a maintenance drone, a tiny-brained robotic repair machine</b>."
|
||||
src << "You have no individual will, no personality, and no drives or urges other than your laws."
|
||||
src << "Use <b>;</b> to talk to other drones, and <b>say</b> to speak silently to your nearby fellows."
|
||||
src << "Remember, you are <b>lawed against interference with the crew</b>. Also remember, <b>you DO NOT take orders from the AI.</b>"
|
||||
src << "Remember, you are <b>lawed against interference with the crew</b>. Also remember, <b>you DO NOT take orders from the AI.</b>"
|
||||
src << "<b>Don't invade their worksites, don't steal their resources, don't tell them about the changeling in the toilets.</b>"
|
||||
src << "<b>If a crewmember has noticed you, <i>you are probably breaking your first law</i></b>."
|
||||
src << "<b>Make sure crew members do not notice you.</b>."
|
||||
|
||||
/*
|
||||
sprite["Default"] = "repairbot"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 :)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 += "</form>"
|
||||
|
||||
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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = "<HTML><HEAD><TITLE>[name]</TITLE></HEAD><BODY>[stars(info)][stamps]</BODY></HTML>"
|
||||
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
|
||||
|
||||
|
||||
@@ -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) << "<span class='suicide'>[user] starts scribbling numbers over \himself with the [src.name]! It looks like \he's trying to commit sudoku.</span>"
|
||||
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)
|
||||
item_state = initial(item_state)
|
||||
|
||||
@@ -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
|
||||
item_color = chosen_stamp.item_color
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -160,6 +160,7 @@
|
||||
wires = null
|
||||
if(cell)
|
||||
qdel(cell) // qdel
|
||||
cell = null
|
||||
if(terminal)
|
||||
disconnect_terminal()
|
||||
return ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
/obj/item/weapon/reagent_containers/glass/bottle/robot/charcoal/New()
|
||||
..()
|
||||
reagents.add_reagent("charcoal", 60)
|
||||
return
|
||||
Reference in New Issue
Block a user