Merge remote-tracking branch 'upstream/master' into stupid-triggers

This commit is contained in:
Fox-McCloud
2015-10-06 18:25:26 -04:00
94 changed files with 1308 additions and 1377 deletions
+1
View File
@@ -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)
-1
View File
@@ -13,7 +13,6 @@
buckle_requires_restraints = 1
buckle_lying = -1
/obj/machinery/atmospherics/pipe/New()
..()
//so pipes under walls are hidden
+18 -18
View File
@@ -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)
+6 -1
View File
@@ -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"
+1 -1
View File
@@ -21,4 +21,4 @@ var/list/restricted_camera_networks = list( //Those networks can only be accesse
"UO45",
"UO45R",
"Xeno"
)
)
+12
View File
@@ -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")
+5 -1
View File
@@ -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)
+5 -5
View File
@@ -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
-5
View File
@@ -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)
+1
View File
@@ -42,6 +42,7 @@
return
/atom/proc/assume_air(datum/gas_mixture/giver)
qdel(giver)
return null
/atom/proc/remove_air(amount)
+5 -4
View File
@@ -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
+1 -1
View File
@@ -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
+248 -380
View File
@@ -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
-3
View File
@@ -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
+26 -26
View File
@@ -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>"
+8 -8
View File
@@ -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()
+13 -19
View File
@@ -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)
+6 -6
View File
@@ -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"
+14 -14
View File
@@ -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)
+5
View File
@@ -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))
+1 -1
View File
@@ -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)
+81 -61
View File
@@ -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)
+14 -21
View File
@@ -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
+12 -12
View File
@@ -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)
+24 -24
View File
@@ -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
+1 -1
View File
@@ -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
+5 -4
View File
@@ -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> | "
+7 -7
View File
@@ -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
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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>"
+23 -23
View File
@@ -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"
+8 -8
View File
@@ -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
+2 -2
View File
@@ -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)
+16 -16
View File
@@ -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"
+18 -18
View File
@@ -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)
+6 -6
View File
@@ -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"
+10 -10
View File
@@ -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',
+5 -5
View File
@@ -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"
+13 -13
View File
@@ -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
+8 -8
View File
@@ -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()
+4 -4
View File
@@ -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.
+27 -27
View File
@@ -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
+24 -24
View File
@@ -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"
+21 -21
View File
@@ -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 -14
View File
@@ -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
+94 -94
View File
@@ -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"
+14 -14
View File
@@ -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
+5 -5
View File
@@ -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"
+2 -2
View File
@@ -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
+9 -9
View File
@@ -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
-5
View File
@@ -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)
+1 -1
View File
@@ -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 :)
-2
View File
@@ -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
+7 -7
View File
@@ -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
+2 -77
View File
@@ -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
+5 -4
View File
@@ -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
+4 -1
View File
@@ -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)
+15 -15
View File
@@ -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
-101
View File
@@ -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
+114
View File
@@ -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
+1
View File
@@ -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