Merge remote-tracking branch 'upstream/master' into remove-weapons

This commit is contained in:
Fox McCloud
2018-04-19 17:01:38 -04:00
25 changed files with 426 additions and 338 deletions
+5 -3
View File
@@ -57,6 +57,7 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/Destroy()
QDEL_NULL(stored)
SSair.atmos_machinery -= src
SSair.deferred_pipenet_rebuilds -= src
for(var/mob/living/L in src) //ventcrawling is serious business
L.remove_ventcrawl()
L.forceMove(get_turf(src))
@@ -143,12 +144,13 @@ Pipelines + Other Objects -> Pipe network
/obj/machinery/atmospherics/proc/replacePipenet()
return
/obj/machinery/atmospherics/proc/build_network()
/obj/machinery/atmospherics/proc/build_network(remove_deferral = FALSE)
// Called to build a network from this node
return
if(remove_deferral)
SSair.deferred_pipenet_rebuilds -= src
/obj/machinery/atmospherics/proc/defer_build_network()
deferred_pipenet_rebuilds += src
SSair.deferred_pipenet_rebuilds += src
/obj/machinery/atmospherics/proc/disconnect(obj/machinery/atmospherics/reference)
return
@@ -67,7 +67,7 @@
update_icon()
update_underlays()
/obj/machinery/atmospherics/binary/build_network()
/obj/machinery/atmospherics/binary/build_network(remove_deferral = FALSE)
if(!parent1)
parent1 = new /datum/pipeline()
parent1.build_pipeline(src)
@@ -75,6 +75,7 @@
if(!parent2)
parent2 = new /datum/pipeline()
parent2.build_pipeline(src)
..()
/obj/machinery/atmospherics/binary/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
@@ -237,11 +237,12 @@
return
// Pipenet procs
/obj/machinery/atmospherics/omni/build_network()
/obj/machinery/atmospherics/omni/build_network(remove_deferral = FALSE)
for(var/datum/omni_port/P in ports)
if(!P.parent)
P.parent = new /datum/pipeline()
P.parent.build_pipeline(src)
..()
/obj/machinery/atmospherics/omni/disconnect(obj/machinery/atmospherics/reference)
for(var/datum/omni_port/P in ports)
@@ -104,7 +104,7 @@
update_icon()
update_underlays()
/obj/machinery/atmospherics/trinary/build_network()
/obj/machinery/atmospherics/trinary/build_network(remove_deferral = FALSE)
if(!parent1)
parent1 = new /datum/pipeline()
parent1.build_pipeline(src)
@@ -116,6 +116,7 @@
if(!parent3)
parent3 = new /datum/pipeline()
parent3.build_pipeline(src)
..()
/obj/machinery/atmospherics/trinary/disconnect(obj/machinery/atmospherics/reference)
if(reference == node1)
@@ -50,10 +50,11 @@
build_network()
. = 1
/obj/machinery/atmospherics/unary/build_network()
/obj/machinery/atmospherics/unary/build_network(remove_deferral = FALSE)
if(!parent)
parent = new /datum/pipeline()
parent.build_pipeline(src)
..()
/obj/machinery/atmospherics/unary/disconnect(obj/machinery/atmospherics/reference)
if(reference == node)
-2
View File
@@ -1,5 +1,3 @@
var/global/list/deferred_pipenet_rebuilds = list()
/datum/pipeline
var/datum/gas_mixture/air
var/list/datum/gas_mixture/other_airs = list()
+2 -1
View File
@@ -66,10 +66,11 @@
return 0
return parent.air
/obj/machinery/atmospherics/pipe/build_network()
/obj/machinery/atmospherics/pipe/build_network(remove_deferral = FALSE)
if(!parent)
parent = new /datum/pipeline()
parent.build_pipeline(src)
..()
/obj/machinery/atmospherics/pipe/setPipenet(datum/pipeline/P)
parent = P
+4 -3
View File
@@ -27,6 +27,7 @@ SUBSYSTEM_DEF(air)
var/list/excited_groups = list()
var/list/active_turfs = list()
var/list/hotspots = list()
var/list/deferred_pipenet_rebuilds = list()
var/list/networks = list()
var/list/atmos_machinery = list()
var/list/pipe_init_dirs_cache = list()
@@ -39,7 +40,7 @@ SUBSYSTEM_DEF(air)
var/list/currentrun = list()
var/currentpart = SSAIR_PIPENETS
var/currentpart = SSAIR_DEFERREDPIPENETS
/datum/controller/subsystem/air/stat_entry(msg)
msg += "C:{"
@@ -141,7 +142,7 @@ SUBSYSTEM_DEF(air)
if(state != SS_RUNNING)
return
resumed = 0
currentpart = SSAIR_PIPENETS
currentpart = SSAIR_DEFERREDPIPENETS
/datum/controller/subsystem/air/proc/process_deferred_pipenets(resumed = 0)
if(!resumed)
@@ -152,7 +153,7 @@ SUBSYSTEM_DEF(air)
var/obj/machinery/atmospherics/A = currentrun[currentrun.len]
currentrun.len--
if(A)
A.build_network()
A.build_network(remove_deferral = TRUE)
else
deferred_pipenet_rebuilds.Remove(A)
if(MC_TICK_CHECK)
+136 -131
View File
@@ -468,137 +468,142 @@ var/record_id_num = 1001
var/icon/clothes_s = null
switch(H.mind.assigned_role)
if("Head of Personnel")
clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Nanotrasen Representative")
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
if("Blueshield")
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "swat_gl"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "blueshield"), ICON_OVERLAY)
if("Magistrate")
clothes_s = new /icon('icons/mob/uniform.dmi', "really_black_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "judge"), ICON_OVERLAY)
if("Bartender")
clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Botanist")
clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Chef")
clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Janitor")
clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Librarian")
clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Quartermaster")
clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Cargo Technician")
clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Shaft Miner")
clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Lawyer")
clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Chaplain")
clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Research Director")
clothes_s = new /icon('icons/mob/uniform.dmi', "director_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
if("Scientist")
clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
if("Chemist")
clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY)
if("Chief Medical Officer")
clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY)
if("Medical Doctor")
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
if("Geneticist")
clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY)
if("Virologist")
clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY)
if("Psychiatrist")
clothes_s = new /icon('icons/mob/uniform.dmi', "psych_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_UNDERLAY)
if("Paramedic")
clothes_s = new /icon('icons/mob/uniform.dmi', "paramedic_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Captain")
clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Head of Security")
clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Warden")
clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Detective")
clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY)
if("Security Pod Pilot")
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bomber"), ICON_OVERLAY)
if("Brig Physician")
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "fr_jacket_open"), ICON_OVERLAY)
if("Security Officer")
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Chief Engineer")
clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Station Engineer")
clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Life Support Specialist")
clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Mechanic")
clothes_s = new /icon('icons/mob/uniform.dmi', "mechanic_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Roboticist")
clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
else if(H.mind.assigned_role in get_all_centcom_jobs())
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
else
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if(H.mind)
switch(H.mind.assigned_role)
if("Head of Personnel")
clothes_s = new /icon('icons/mob/uniform.dmi', "hop_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Nanotrasen Representative")
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
if("Blueshield")
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/hands.dmi', "swat_gl"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "blueshield"), ICON_OVERLAY)
if("Magistrate")
clothes_s = new /icon('icons/mob/uniform.dmi', "really_black_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "judge"), ICON_OVERLAY)
if("Bartender")
clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Botanist")
clothes_s = new /icon('icons/mob/uniform.dmi', "hydroponics_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Chef")
clothes_s = new /icon('icons/mob/uniform.dmi', "chef_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Janitor")
clothes_s = new /icon('icons/mob/uniform.dmi', "janitor_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Librarian")
clothes_s = new /icon('icons/mob/uniform.dmi', "red_suit_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Quartermaster")
clothes_s = new /icon('icons/mob/uniform.dmi', "qm_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Cargo Technician")
clothes_s = new /icon('icons/mob/uniform.dmi', "cargotech_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Shaft Miner")
clothes_s = new /icon('icons/mob/uniform.dmi', "miner_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Lawyer")
clothes_s = new /icon('icons/mob/uniform.dmi', "internalaffairs_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Chaplain")
clothes_s = new /icon('icons/mob/uniform.dmi', "chapblack_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Research Director")
clothes_s = new /icon('icons/mob/uniform.dmi', "director_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
if("Scientist")
clothes_s = new /icon('icons/mob/uniform.dmi', "toxinswhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_tox_open"), ICON_OVERLAY)
if("Chemist")
clothes_s = new /icon('icons/mob/uniform.dmi', "chemistrywhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_chem_open"), ICON_OVERLAY)
if("Chief Medical Officer")
clothes_s = new /icon('icons/mob/uniform.dmi', "cmo_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_cmo_open"), ICON_OVERLAY)
if("Medical Doctor")
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
if("Geneticist")
clothes_s = new /icon('icons/mob/uniform.dmi', "geneticswhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_gen_open"), ICON_OVERLAY)
if("Virologist")
clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY)
if("Psychiatrist")
clothes_s = new /icon('icons/mob/uniform.dmi', "psych_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_UNDERLAY)
if("Paramedic")
clothes_s = new /icon('icons/mob/uniform.dmi', "paramedic_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
if("Captain")
clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Head of Security")
clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Warden")
clothes_s = new /icon('icons/mob/uniform.dmi', "warden_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Detective")
clothes_s = new /icon('icons/mob/uniform.dmi', "detective_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "detective"), ICON_OVERLAY)
if("Security Pod Pilot")
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "bomber"), ICON_OVERLAY)
if("Brig Physician")
clothes_s = new /icon('icons/mob/uniform.dmi', "medical_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "fr_jacket_open"), ICON_OVERLAY)
if("Security Officer")
clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY)
if("Chief Engineer")
clothes_s = new /icon('icons/mob/uniform.dmi', "chief_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Station Engineer")
clothes_s = new /icon('icons/mob/uniform.dmi', "engine_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Life Support Specialist")
clothes_s = new /icon('icons/mob/uniform.dmi', "atmos_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Mechanic")
clothes_s = new /icon('icons/mob/uniform.dmi', "mechanic_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "orange"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/belt.dmi', "utility"), ICON_OVERLAY)
if("Roboticist")
clothes_s = new /icon('icons/mob/uniform.dmi', "robotics_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_open"), ICON_OVERLAY)
else if(H.mind.assigned_role in get_all_centcom_jobs())
clothes_s = new /icon('icons/mob/uniform.dmi', "officer_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "laceups"), ICON_UNDERLAY)
else
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
else
clothes_s = new /icon('icons/mob/uniform.dmi', "grey_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY)
preview_icon.Blend(face_s, ICON_OVERLAY) // Why do we do this twice
if(clothes_s)
+9
View File
@@ -22,6 +22,8 @@
var/pda = null
var/internals_slot = null //ID of slot containing a gas tank
var/list/backpack_contents = list() // In the list(path=count,otherpath=count) format
var/list/implants = null
var/list/cybernetic_implants = null
/datum/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -89,6 +91,13 @@
var/number = backpack_contents[path]
for(var/i = 0, i < number, i++)
equip_item(H, path, slot_in_backpack)
if(implants)
for(var/path in implants)
var/obj/item/implant/I = new path(H)
I.implant(H)
for(var/path in cybernetic_implants)
var/obj/item/organ/internal/O = new path(H)
O.insert(H)
post_equip(H, visualsOnly)
+132 -144
View File
@@ -1,6 +1,13 @@
// Used for 'select equipment'
// code/modules/admin/verbs/debug.dm 566
/datum/outfit/admin/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(!visualsOnly)
H.mind.assigned_role = name
H.job = name
/proc/apply_to_card(obj/item/card/id/I, mob/living/carbon/human/H, list/access = list(), rank, special_icon)
if(!istype(I) || !istype(H))
return 0
@@ -95,6 +102,7 @@
mask = /obj/item/clothing/mask/gas/syndicate
l_ear = /obj/item/device/radio/headset/syndicate/alt
glasses = /obj/item/clothing/glasses/night
shoes = /obj/item/clothing/shoes/magboots/syndie
l_pocket = /obj/item/pinpointer/advpinpointer
l_hand = /obj/item/tank/jetpack/oxygen/harness
@@ -107,6 +115,7 @@
/obj/item/grenade/plastic/c4 = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/device/flashlight = 1,
/obj/item/clothing/shoes/combat = 1
)
/datum/outfit/admin/syndicate/operative/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -131,15 +140,21 @@
/datum/outfit/admin/syndicate/officer
name = "Syndicate Officer"
head = /obj/item/clothing/head/beret
mask = /obj/item/clothing/mask/cigarette/cigar/havana
belt = /obj/item/gun/projectile/automatic/pistol/deagle/camo
l_ear = /obj/item/device/radio/headset/syndicate/alt
l_pocket = /obj/item/pinpointer/advpinpointer
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/device/flashlight = 1,
/obj/item/reagent_containers/food/pill/initropidril = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/ammo_box/magazine/m50 = 2)
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1
)
id_icon = "commander"
id_access = "Syndicate Operative Leader"
@@ -152,22 +167,11 @@
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = 500//a measly 1000 TC along with the uplink in the pocket
U.hidden_uplink.uses = 500
var/obj/item/implant/dust/D = new(H)
D.implant(H)
/datum/outfit/admin/syndicate/bomber
name = "Syndicate Bomber"
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/device/flashlight = 1,
/obj/item/card/emag = 1,
/obj/item/device/radio/beacon/syndicate/bomb = 2,
/obj/item/device/syndicatedetonator = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1
)
/datum/outfit/admin/nt_vip
name = "VIP Guest"
@@ -193,114 +197,6 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("VIP Guest"), "VIP Guest")
/datum/outfit/admin/nt_navy_officer
name = "NT Navy Officer"
uniform = /obj/item/clothing/under/rank/centcom/officer
back = /obj/item/storage/backpack/satchel
belt = /obj/item/gun/energy/pulse/pistol
gloves = /obj/item/clothing/gloves/color/white
shoes = /obj/item/clothing/shoes/centcom
head = /obj/item/clothing/head/beret/centcom/officer
l_ear = /obj/item/device/radio/headset/centcom
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
id = /obj/item/card/id/centcom
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/implanter/dust = 1,
/obj/item/implanter/death_alarm = 1
)
/datum/outfit/admin/nt_navy_officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Officer"), "Nanotrasen Navy Officer")
var/obj/item/implant/L = new /obj/item/implant/mindshield(H)
L.implant(H)
/datum/outfit/admin/nt_special_ops_officer
name = "NT Special Ops Officer"
uniform = /obj/item/clothing/under/syndicate/combat
suit = /obj/item/clothing/suit/space/deathsquad/officer
back = /obj/item/storage/backpack/security
belt = /obj/item/gun/energy/pulse/pistol/m1911
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
head = /obj/item/clothing/head/helmet/space/deathsquad/beret
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
l_ear = /obj/item/device/radio/headset/centcom
glasses = /obj/item/clothing/glasses/thermal/cyber
id = /obj/item/card/id/centcom
r_pocket = /obj/item/storage/box/matches
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/tank/emergency_oxygen/double/full = 1,
/obj/item/implanter/dust = 1,
/obj/item/implanter/death_alarm = 1,
/obj/item/twohanded/dualsaber/red = 1,
/obj/item/pinpointer/advpinpointer = 1,
/obj/item/reagent_containers/hypospray/combat/nanites = 1,
/obj/item/storage/box/zipties = 1,
/obj/item/clothing/shoes/magboots/advance = 1,
/obj/item/implanter/mindshield = 1,
)
/datum/outfit/admin/nt_special_ops_officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("Special Operations Officer"), "Special Operations Officer")
/datum/outfit/admin/nt_special_ops_formal
name = "NT Special Ops Formal"
uniform = /obj/item/clothing/under/rank/centcom/captain
back = /obj/item/storage/backpack/satchel
belt = /obj/item/gun/energy/pulse/pistol/m1911
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
head = /obj/item/clothing/head/helmet/space/deathsquad/beret
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
l_ear = /obj/item/device/radio/headset/centcom
glasses = /obj/item/clothing/glasses/thermal/cyber
id = /obj/item/card/id/centcom
r_pocket = /obj/item/storage/box/matches
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/melee/classic_baton/telescopic = 1,
/obj/item/implanter/dust = 1,
/obj/item/implanter/death_alarm = 1
)
/datum/outfit/admin/nt_special_ops_formal/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/device/pda/PDA = H.wear_pda
if(istype(PDA))
PDA.owner = H.real_name
PDA.ownjob = "Special Operations Officer"
PDA.icon_state = "pda-syndi"
PDA.name = "PDA-[H.real_name] ([PDA.ownjob])"
PDA.desc = "A portable microcomputer by Thinktronic Systems, LTD. This is model is a special edition designed for military field work."
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("Special Operations Officer"), "Special Operations Officer")
/datum/outfit/admin/nt_navy_captain
name = "NT Navy Captain"
@@ -316,10 +212,13 @@
id = /obj/item/card/id/centcom
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/implanter/dust = 1,
/obj/item/storage/box/centcomofficer = 1,
/obj/item/implanter/death_alarm = 1
)
implants = list(
/obj/item/implant/mindshield,
/obj/item/implant/dust
)
/datum/outfit/admin/nt_navy_captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
@@ -330,9 +229,6 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Captain"), "Nanotrasen Navy Captain")
var/obj/item/implant/L = new /obj/item/implant/mindshield(H)
L.implant(H)
/datum/outfit/admin/nt_diplomat
name = "NT Diplomat"
@@ -347,9 +243,12 @@
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/implanter/dust = 1,
/obj/item/implanter/death_alarm = 1,
)
implants = list(
/obj/item/implant/mindshield,
/obj/item/implant/dust
)
/datum/outfit/admin/nt_diplomat/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
@@ -360,6 +259,57 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Representative"), "Nanotrasen Diplomat")
/datum/outfit/admin/nt_undercover
name = "NT Undercover Operative"
// Disguised NT special forces, sent to quietly eliminate mutinous people in high positions (e.g: captain)
uniform = /obj/item/clothing/under/chameleon
back = /obj/item/storage/backpack
belt = /obj/item/storage/belt/utility/full/multitool
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/syndigaloshes
l_ear = /obj/item/device/radio/headset/heads/captain
id = /obj/item/card/id/syndicate
pda = /obj/item/device/pda
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/device/flashlight = 1,
/obj/item/gun/projectile/automatic/proto = 1, // NT saber SMG
/obj/item/suppressor = 1, // silencer for SMG
/obj/item/ammo_box/magazine/smgm9mm = 3, // SMG ammo
/obj/item/door_remote/omni = 1,
/obj/item/implanter/mindshield = 1, // not implanted by default, as that would make them suspicious
/obj/item/implanter/storage = 1 // do not auto-implant this, that causes a bug
)
implants = list(
/obj/item/implant/dust
)
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/eyes/xray,
/obj/item/organ/internal/cyberimp/brain/anti_drop,
/obj/item/organ/internal/cyberimp/brain/anti_stun,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
)
/datum/outfit/admin/nt_undercover/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Civilian")
I.icon_state = "deathsquad"
var/obj/item/device/radio/R = H.l_ear
if(istype(R))
R.name = "radio headset"
R.icon_state = "headset"
/datum/outfit/admin/death_commando
name = "NT Death Commando"
@@ -485,12 +435,10 @@
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 1,
/obj/item/storage/box/syndie_kit/caneshotgun = 1,
/obj/item/toy/crayon/mime = 1,
/obj/item/gun/projectile/automatic/pistol = 1,
/obj/item/suppressor = 1,
/obj/item/storage/box/syndie_kit/caneshotgun = 1,
/obj/item/ammo_casing/shotgun/incendiary/dragonsbreath = 2,
/obj/item/pen/sleepy = 1,
/obj/item/device/radio/uplink = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/device/flashlight = 1
)
@@ -701,7 +649,9 @@
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/kitchen/knife/combat = 1,
/obj/item/ammo_box/magazine/m556 = 3)
/obj/item/ammo_box/magazine/m556 = 3,
/obj/item/clothing/shoes/magboots = 1
)
/datum/outfit/admin/solgov/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -725,7 +675,9 @@
/obj/item/storage/box/survival = 1,
/obj/item/kitchen/knife/combat = 1,
/obj/item/melee/classic_baton/telescopic = 1,
/obj/item/ammo_box/magazine/m50 = 2)
/obj/item/ammo_box/magazine/m50 = 2,
/obj/item/clothing/shoes/magboots/advance = 1
)
/datum/outfit/admin/chrono
name = "Chrono Legionnaire"
@@ -734,7 +686,7 @@
suit = /obj/item/clothing/suit/space/chronos
back = /obj/item/chrono_eraser
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
shoes = /obj/item/clothing/shoes/magboots/advance
head = /obj/item/clothing/head/helmet/space/chronos
mask = /obj/item/clothing/mask/gas/syndicate
glasses = /obj/item/clothing/glasses/night
@@ -756,7 +708,7 @@
uniform = /obj/item/clothing/under/color/grey
suit = /obj/item/clothing/suit/space
back = /obj/item/tank/jetpack/oxygen
shoes = /obj/item/clothing/shoes/black
shoes = /obj/item/clothing/shoes/magboots
head = /obj/item/clothing/head/helmet/space
mask = /obj/item/clothing/mask/breath
l_ear = /obj/item/device/radio/headset
@@ -779,6 +731,7 @@
/datum/outfit/admin/hardsuit
back = /obj/item/tank/jetpack/oxygen
mask = /obj/item/clothing/mask/breath
shoes = /obj/item/clothing/shoes/magboots
id = /obj/item/card/id
/datum/outfit/admin/hardsuit/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -804,6 +757,7 @@
name = "CE Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/elite
head = /obj/item/clothing/head/helmet/space/hardsuit/elite
shoes = /obj/item/clothing/shoes/magboots/advance
/datum/outfit/admin/hardsuit/mining
name = "Mining Hardsuit"
@@ -814,11 +768,13 @@
name = "Syndi Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/syndi
head = /obj/item/clothing/head/helmet/space/hardsuit/syndi
shoes = /obj/item/clothing/shoes/magboots/syndie
/datum/outfit/admin/hardsuit/wizard
name = "Wizard Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/wizard
head = /obj/item/clothing/head/helmet/space/hardsuit/wizard
shoes = /obj/item/clothing/shoes/magboots
/datum/outfit/admin/hardsuit/medical
name = "Medical Hardsuit"
@@ -996,15 +952,15 @@
/obj/item/storage/box/survival = 1,
/obj/item/device/flashlight = 1
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/implant/dust/D = new /obj/item/implant/dust(H)
D.implant(H)
var/obj/item/device/pda/PDA = H.wear_pda
if(istype(PDA))
PDA.owner = H.real_name
@@ -1034,7 +990,10 @@
/obj/item/suppressor = 1,
/obj/item/card/emag = 1,
/obj/item/device/flashlight = 1,
/obj/item/implanter/storage = 1
/obj/item/implanter/storage = 1 // do not auto-implant this, that causes a bug
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/spy/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -1046,9 +1005,6 @@
if(istype(G))
G.name = "black gloves"
var/obj/item/implant/dust/D = new /obj/item/implant/dust(H)
D.implant(H)
var/obj/item/device/pda/PDA = H.wear_pda
if(istype(PDA))
PDA.owner = H.real_name
@@ -1089,6 +1045,7 @@
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Dark Lord", "syndie")
/datum/outfit/admin/wizard
uniform = /obj/item/clothing/under/color/lightpurple
suit = /obj/item/clothing/suit/wizrobe
@@ -1130,6 +1087,36 @@
shoes = /obj/item/clothing/shoes/sandal/marisa
head = /obj/item/clothing/head/wizard/marisa
/datum/outfit/admin/wizard/arch
name = "Arch Wizard"
suit = /obj/item/clothing/suit/wizrobe/magusred
head = /obj/item/clothing/head/wizard/magus
belt = /obj/item/storage/belt/wands/full
l_hand = null
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/clothing/suit/space/hardsuit/wizard = 1,
/obj/item/clothing/head/helmet/space/hardsuit/wizard = 1,
/obj/item/clothing/shoes/magboots = 1,
/obj/item/kitchen/knife/ritual = 1,
/obj/item/clothing/suit/wizrobe/red = 1,
/obj/item/clothing/head/wizard/red = 1
)
/datum/outfit/admin/wizard/arch/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/spellbook/B = H.r_hand
if(istype(B))
B.owner = H // force-bind it so it can never be stolen, no matter what.
B.name = "Archwizard Spellbook"
B.uses = 50
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Arch Wizard")
/datum/outfit/admin/dark_priest
name = "Dark Priest"
@@ -1147,6 +1134,9 @@
/obj/item/storage/box/survival = 1,
/obj/item/device/flashlight = 1,
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/dark_priest/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
@@ -1163,5 +1153,3 @@
var/obj/item/device/radio/headset/R = H.l_ear
if(istype(R))
R.flags |= NODROP
var/obj/item/implant/dust/D = new /obj/item/implant/dust(H)
D.implant(H)
@@ -349,6 +349,7 @@
to_chat(user, "<span class='warning'>You have successfully Enthralled [H]. <i>If they refuse to do as you say just adminhelp.</i></span>")
add_logs(user, H, "vampire-thralled")
/obj/effect/proc_holder/spell/vampire/self/cloak
name = "Cloak of Darkness"
desc = "Toggles whether you are currently cloaking yourself in darkness."
+26 -18
View File
@@ -28,16 +28,13 @@
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
id = /obj/item/card/id/centcom
pda = /obj/item/device/pda/centcom
backpack_contents = list(
/obj/item/gun/energy/pulse/pistol = 1,
/obj/item/implanter/dust = 1,
/obj/item/implanter/death_alarm = 1
belt = /obj/item/gun/energy/pulse/pistol
implants = list(
/obj/item/implant/mindshield,
/obj/item/implant/dust
)
implants = list(/obj/item/implant/mindshield)
backpack = /obj/item/storage/backpack/satchel
box = /obj/item/storage/box/centcomofficer
// CC Officials who lead ERTs, Death Squads, etc.
@@ -61,22 +58,33 @@
/datum/outfit/job/ntspecops
name = "Special Operations Officer"
jobtype = /datum/job/ntspecops
uniform = /obj/item/clothing/under/syndicate/combat
uniform = /obj/item/clothing/under/rank/centcom_commander
suit = /obj/item/clothing/suit/space/deathsquad/officer
back = /obj/item/storage/backpack/security
belt = /obj/item/gun/energy/pulse/pistol/m1911
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
head = /obj/item/clothing/head/beret/centcom/officer/navy
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
head = /obj/item/clothing/head/helmet/space/deathsquad/beret
l_ear = /obj/item/device/radio/headset/centcom
glasses = /obj/item/clothing/glasses/hud/security/sunglasses
id = /obj/item/card/id/centcom
pda = /obj/item/device/pda/centcom
r_pocket = /obj/item/storage/box/matches
box = /obj/item/storage/box/centcomofficer
backpack = /obj/item/storage/backpack/satchel
backpack_contents = list(
/obj/item/implanter/dust = 1,
/obj/item/gun/energy/pulse/pistol/m1911 = 1,
/obj/item/implanter/death_alarm = 1
/obj/item/clothing/shoes/magboots/advance = 1,
/obj/item/twohanded/dualsaber/red = 1,
/obj/item/storage/box/zipties = 1
)
implants = list(/obj/item/implant/mindshield)
backpack = /obj/item/storage/backpack/satchel
implants = list(
/obj/item/implant/mindshield,
/obj/item/implant/dust
)
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/eyes/xray,
/obj/item/organ/internal/cyberimp/brain/anti_drop,
/obj/item/organ/internal/cyberimp/brain/anti_stun,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
)
-7
View File
@@ -142,8 +142,6 @@
shoes = /obj/item/clothing/shoes/black
pda = /obj/item/device/pda
var/list/implants = null
var/backpack = /obj/item/storage/backpack
var/satchel = /obj/item/storage/backpack/satchel_norm
var/dufflebag = /obj/item/storage/backpack/duffel
@@ -210,11 +208,6 @@
imprint_pda(H)
if(implants)
for(var/implant_type in implants)
var/obj/item/implant/I = new implant_type(H)
I.implant(H)
if(gear_leftovers.len)
for(var/datum/gear/G in gear_leftovers)
var/atom/placed_in = H.equip_or_collect(G.spawn_item(null, H.client.prefs.gear[G.display_name]))
@@ -429,7 +429,7 @@
if(!use_cable(1))
return reset()
var/obj/structure/cable/NC = new(new_turf)
NC.cableColor("red")
NC.cable_color("red")
NC.d1 = 0
NC.d2 = fdirn
NC.updateicon()
+1
View File
@@ -9,6 +9,7 @@
name = "control wand"
desc = "Remotely controls airlocks."
w_class = WEIGHT_CLASS_TINY
flags = NOBLUDGEON
var/mode = WAND_OPEN
var/region_access = 1 //See access.dm
var/obj/item/card/id/ID
+4 -1
View File
@@ -13,6 +13,7 @@
var/list/recipes = list() // /datum/stack_recipe
var/singular_name
var/amount = 1
var/to_transfer = 0
var/max_amount //also see stack recipes initialisation, param "max_res_amount" must be equal to this max_amount
var/merge_type = null // This path and its children should merge with this stack, defaults to src.type
@@ -231,6 +232,9 @@
/obj/item/stack/proc/get_max_amount()
return max_amount
/obj/item/stack/proc/get_amount_transferred()
return to_transfer
/obj/item/stack/proc/split(mob/user, amt)
var/obj/item/stack/F = new type(loc, amt)
F.copy_evidences(src)
@@ -257,7 +261,6 @@
if(S.amount >= max_amount)
return 1
var/to_transfer
if(user.is_in_inactive_hand(src))
var/desired = input("How much would you like to transfer from this stack?", "How much?", 1) as null|num
if(!desired)
@@ -108,6 +108,18 @@
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
..()
/obj/item/restraints/handcuffs/cable/proc/cable_color(var/colorC)
if(colorC)
if(colorC == "rainbow")
colorC = color_rainbow()
color = colorC
else
color = COLOR_RED
/obj/item/restraints/handcuffs/cable/proc/color_rainbow()
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
return color
/obj/item/restraints/handcuffs/alien
icon_state = "handcuffAlien"
@@ -143,6 +155,9 @@
if(!remove_item_from_storage(user))
user.unEquip(src)
qdel(src)
else if(istype(I, /obj/item/toy/crayon))
var/obj/item/toy/crayon/C = I
cable_color(C.colourName)
/obj/item/restraints/handcuffs/cable/zipties
name = "zipties"
@@ -829,6 +829,26 @@
return
return ..()
/obj/item/storage/box/centcomofficer
name = "officer kit"
/obj/item/storage/box/centcomofficer/New()
..()
contents = list()
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/emergency_oxygen/double/full(src)
new /obj/item/device/flashlight/seclite(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/device/radio/centcom(src)
new /obj/item/door_remote/omni(src)
new /obj/item/implanter/death_alarm(src)
new /obj/item/reagent_containers/hypospray/combat/nanites(src)
new /obj/item/pinpointer/advpinpointer(src)
#undef NODESIGN
#undef NANOTRASEN
#undef SYNDI
@@ -32,6 +32,7 @@
********************/
/obj/machinery/kitchen_machine/New()
..()
create_reagents(100)
reagents.set_reacting(FALSE)
if(!available_recipes)
+35 -22
View File
@@ -184,6 +184,10 @@ By design, d1 is the smallest direction and d2 is the highest
shock(user, 5, 0.2)
else if(istype(W, /obj/item/toy/crayon))
var/obj/item/toy/crayon/C = W
cable_color(C.colourName)
else
if(W.flags & CONDUCT)
shock(user, 50, 0.7)
@@ -218,11 +222,18 @@ By design, d1 is the smallest direction and d2 is the highest
qdel(src) // qdel
return
obj/structure/cable/proc/cableColor(var/colorC)
var/color_n = "#DD0000"
obj/structure/cable/proc/cable_color(var/colorC)
if(colorC)
color_n = colorC
color = color_n
if(colorC == "rainbow")
color = color_rainbow()
else
color = colorC
else
color = "#DD0000"
/obj/structure/cable/proc/color_rainbow()
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
return color
/////////////////////////////////////////////////
// Cable laying helpers
@@ -588,30 +599,20 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
..()
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
// Cable merging is handled by parent proc
if(C.amount >= MAXCOIL)
to_chat(user, "The coil is too long, you cannot add any more cable to it.")
to_chat(user, "The coil is as long as it will get.")
return
if( (C.amount + src.amount <= MAXCOIL) )
to_chat(user, "You join the cable coils together.")
C.give(src.amount) // give it cable
src.use(src.amount) // make sure this one cleans up right
return
else
var/amt = MAXCOIL - C.amount
to_chat(user, "You transfer [amt] length\s of cable from one coil to the other.")
C.give(amt)
src.use(amt)
to_chat(user, "You transfer [get_amount_transferred()] length\s of cable from one coil to the other.")
return
//add cables to the stack
/obj/item/stack/cable_coil/proc/give(var/extra)
if(amount + extra > MAXCOIL)
amount = MAXCOIL
else
amount += extra
update_icon()
if(istype(W, /obj/item/toy/crayon))
var/obj/item/toy/crayon/C = W
cable_color(C.colourName)
///////////////////////////////////////////////
// Cable laying procedures
@@ -619,7 +620,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
/obj/item/stack/cable_coil/proc/get_new_cable(location)
var/obj/structure/cable/C = new(location)
C.cableColor(color)
C.cable_color(color)
return C
@@ -736,7 +737,7 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
return
C.cableColor(color)
C.cable_color(color)
C.d1 = nd1
C.d2 = nd2
@@ -806,6 +807,18 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
..()
/obj/item/stack/cable_coil/proc/cable_color(var/colorC)
if(colorC)
if(colorC == "rainbow")
colorC = color_rainbow()
color = colorC
else
color = COLOR_RED
/obj/item/stack/cable_coil/proc/color_rainbow()
color = pick(COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_PINK, COLOR_YELLOW, COLOR_CYAN)
return color
/obj/item/stack/cable_coil/cyborg
name = "cyborg cable coil"
+1 -1
View File
@@ -24,5 +24,5 @@
else
..()
/obj/structure/cable/heavyduty/cableColor(var/colorC)
/obj/structure/cable/heavyduty/cable_color(var/colorC)
return