mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into RingRingHello
This commit is contained in:
+14
-12
@@ -101,7 +101,7 @@
|
||||
//Presets for item actions
|
||||
/datum/action/item_action
|
||||
check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUNNED|AB_CHECK_LYING|AB_CHECK_CONSCIOUS
|
||||
|
||||
var/use_itemicon = TRUE
|
||||
/datum/action/item_action/New(Target)
|
||||
..()
|
||||
var/obj/item/I = target
|
||||
@@ -121,17 +121,19 @@
|
||||
return 1
|
||||
|
||||
/datum/action/item_action/ApplyIcon(obj/screen/movable/action_button/current_button)
|
||||
current_button.overlays.Cut()
|
||||
if(target)
|
||||
var/obj/item/I = target
|
||||
var/old_layer = I.layer
|
||||
var/old_plane = I.plane
|
||||
I.layer = 21
|
||||
I.plane = HUD_PLANE
|
||||
current_button.overlays += I
|
||||
I.layer = old_layer
|
||||
I.plane = old_plane
|
||||
|
||||
if(use_itemicon)
|
||||
current_button.overlays.Cut()
|
||||
if(target)
|
||||
var/obj/item/I = target
|
||||
var/old_layer = I.layer
|
||||
var/old_plane = I.plane
|
||||
I.layer = 21
|
||||
I.plane = HUD_PLANE
|
||||
current_button.overlays += I
|
||||
I.layer = old_layer
|
||||
I.plane = old_plane
|
||||
else
|
||||
..()
|
||||
/datum/action/item_action/toggle_light
|
||||
name = "Toggle Light"
|
||||
|
||||
|
||||
+136
-131
@@ -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)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/datum
|
||||
var/gc_destroyed //Time when this object was destroyed.
|
||||
|
||||
var/var_edited = FALSE //Warranty void if seal is broken
|
||||
|
||||
var/tmp/unique_datum_id = null
|
||||
|
||||
#ifdef TESTING
|
||||
var/running_find_references
|
||||
var/last_find_references = 0
|
||||
#endif
|
||||
|
||||
// Default implementation of clean-up code.
|
||||
// This should be overridden to remove all references pointing to the object being destroyed.
|
||||
// Return the appropriate QDEL_HINT; in most cases this is QDEL_HINT_QUEUE.
|
||||
/datum/proc/Destroy(force = FALSE, ...)
|
||||
tag = null
|
||||
return QDEL_HINT_QUEUE
|
||||
@@ -1,8 +1,5 @@
|
||||
// reference: /client/proc/modify_variables(var/atom/O, var/param_var_name = null, var/autodetect_class = 0)
|
||||
|
||||
/datum
|
||||
var/var_edited = FALSE //Warranty void if seal is broken
|
||||
|
||||
/datum/proc/can_vv_get(var_name)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
/datum/disease/kingstons
|
||||
name = "Kingstons Syndrome"
|
||||
max_stages = 4
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Milk"
|
||||
cures = list("milk")
|
||||
cure_chance = 50
|
||||
agent = "Nya Virus"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will turn into a feline. In felines it has... OTHER... effects."
|
||||
severity = DANGEROUS
|
||||
|
||||
/datum/disease/kingstons/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='notice'>You feel good.</span>")
|
||||
else
|
||||
to_chat(affected_mob, "<span class='notice'>You feel like playing with string.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='danger'>Something in your throat itches.</span>")
|
||||
else
|
||||
to_chat(affected_mob, "<span class='danger'>You NEED to find a mouse.</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
to_chat(affected_mob, "<span class='danger'>You feel something in your throat!</span>")
|
||||
affected_mob.emote("cough")
|
||||
else
|
||||
affected_mob.say(pick(list("Mew", "Meow!", "Nya!~")))
|
||||
if(4)
|
||||
if(prob(5))
|
||||
if(affected_mob.get_species() == "Tajaran")
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up a hairball!</span>", \
|
||||
"<span class='userdanger'>You cough up a hairball!</span>")
|
||||
affected_mob.Stun(5)
|
||||
else
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob]'s form contorts into something more feline!</span>", \
|
||||
"<span class='userdanger'>YOU TURN INTO A TAJARAN!</span>")
|
||||
var/mob/living/carbon/human/catface = affected_mob
|
||||
catface.set_species("Tajaran")
|
||||
|
||||
|
||||
/datum/disease/kingstons/advanced
|
||||
name = "Advanced Kingstons Syndrome"
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Plasma"
|
||||
cures = list("plasma")
|
||||
cure_chance = 50
|
||||
agent = "AMB45DR Bacteria"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will mutate to a different species."
|
||||
severity = BIOHAZARD
|
||||
var/list/virspecies = list("Human", "Tajaran", "Unathi", "Skrell", "Vulpkanin")//no karma races sorrys.
|
||||
var/list/virsuffix = list("pox", "rot", "flu", "cough", "-gitis", "cold", "rash", "itch", "decay")
|
||||
var/chosentype
|
||||
var/chosensuff
|
||||
|
||||
/datum/disease/kingstons/advanced/New()
|
||||
chosentype = pick(virspecies)
|
||||
chosensuff = pick(virsuffix)
|
||||
|
||||
name = "[chosentype] [chosensuff]"
|
||||
|
||||
/datum/disease/kingstons/advanced/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel awkward.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You itch.</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your skin starts to flake!</span>")
|
||||
|
||||
if(4)
|
||||
if(prob(5))
|
||||
if(affected_mob.get_species() != chosentype)
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob]'s skin splits and form contorts!</span>", \
|
||||
"<span class='userdanger'>Your body mutates into a [chosentype]!</span>")
|
||||
var/mob/living/carbon/human/twisted = affected_mob
|
||||
twisted.set_species(chosentype)
|
||||
else
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] scratches at thier skin!</span>", \
|
||||
"<span class='userdanger'>You scratch your skin to try not to itch!</span>")
|
||||
affected_mob.adjustBruteLoss(-5)
|
||||
affected_mob.adjustStaminaLoss(5)
|
||||
@@ -0,0 +1,45 @@
|
||||
/datum/disease/lycan
|
||||
name = "Lycancoughy"
|
||||
form = "Infection"
|
||||
max_stages = 4
|
||||
spread_text = "On contact"
|
||||
spread_flags = CONTACT_GENERAL
|
||||
cure_text = "Ethanol"
|
||||
cures = list("ethanol")
|
||||
agent = "Excess Snuggles"
|
||||
viable_mobtypes = list(/mob/living/carbon/human, /mob/living/carbon/human/monkey)
|
||||
desc = "If left untreated subject will regurgitate... puppies."
|
||||
severity = MEDIUM
|
||||
|
||||
/datum/disease/lycan/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(2) //also changes say, see say.dm
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You itch.</span>")
|
||||
affected_mob.emote("cough")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>You hear faint barking.</span>")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You crave meat.</span>")
|
||||
affected_mob.emote("cough")
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach growls!</span>")
|
||||
if(4)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach barks?!</span>")
|
||||
if(prob(5))
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] howls!</span>", \
|
||||
"<span class='userdanger'>You howl!</span>")
|
||||
affected_mob.AdjustConfused(rand(6, 8))
|
||||
if(prob(3))
|
||||
var/list/puppytype = list(/mob/living/simple_animal/pet/corgi/puppy, /mob/living/simple_animal/pet/pug, /mob/living/simple_animal/pet/fox)
|
||||
var/mob/living/puppypicked = pick(puppytype)
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up [initial(puppypicked.name)]!</span>", \
|
||||
"<span class='userdanger'>You cough up [initial(puppypicked.name)]?!</span>")
|
||||
affected_mob.emote("cough")
|
||||
affected_mob.adjustBruteLoss(5)
|
||||
new puppypicked(affected_mob.loc)
|
||||
new puppypicked(affected_mob.loc)
|
||||
return
|
||||
@@ -26,3 +26,38 @@
|
||||
if(4)
|
||||
if(prob(5))
|
||||
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
|
||||
|
||||
/datum/disease/pierrot_throat/advanced
|
||||
name = "Advanced Pierrot's Throat"
|
||||
spread_text = "Airborne"
|
||||
cure_text = "Banana products, especially banana bread."
|
||||
cures = list("banana")
|
||||
cure_chance = 75
|
||||
agent = "H0NI<42.B4n4 Virus"
|
||||
viable_mobtypes = list(/mob/living/carbon/human)
|
||||
permeability_mod = 0.75
|
||||
desc = "If left untreated the subject will probably drive others to insanity and go insane themselves."
|
||||
severity = DANGEROUS
|
||||
|
||||
/datum/disease/pierrot_throat/advanced/stage_act()
|
||||
..()
|
||||
switch(stage)
|
||||
if(1)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel very silly.</span>")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel like making a joke.</span>")
|
||||
if(2)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You don't just start seeing rainbows... YOU ARE RAINBOWS!</span>")
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your thoughts are interrupted by a loud <b>HONK!</b></span>")
|
||||
affected_mob << 'sound/items/AirHorn.ogg'
|
||||
if(4)
|
||||
if(prob(5))
|
||||
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
|
||||
if(!istype(affected_mob.wear_mask, /obj/item/clothing/mask/gas/virusclown_hat))
|
||||
affected_mob.equip_to_slot(new /obj/item/clothing/mask/gas/virusclown_hat(src), slot_wear_mask)
|
||||
+5
-5
@@ -89,7 +89,7 @@
|
||||
current.mind = null
|
||||
leave_all_huds() //leave all the huds in the old body, so it won't get huds if somebody else enters it
|
||||
|
||||
nanomanager.user_transferred(current, new_character)
|
||||
SSnanoui.user_transferred(current, new_character)
|
||||
|
||||
if(new_character.mind) //remove any mind currently in our new body's mind variable
|
||||
new_character.mind.current = null
|
||||
@@ -805,8 +805,8 @@
|
||||
if(!(src in ticker.mode.cult))
|
||||
ticker.mode.add_cultist(src)
|
||||
special_role = SPECIAL_ROLE_CULTIST
|
||||
to_chat(current, "<span class='cultitalic'>You catch a glimpse of the Realm of [ticker.mode.cultdat.entity_name], [ticker.mode.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.mode.cultdat.entity_name].</span>")
|
||||
to_chat(current, "<span class='cultitalic'>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.mode.cultdat.entity_title2] above all else. Bring It back.</span>")
|
||||
to_chat(current, "<span class='cultitalic'>You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title3]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].</span>")
|
||||
to_chat(current, "<span class='cultitalic'>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [ticker.cultdat.entity_title2] above all else. Bring It back.</span>")
|
||||
log_admin("[key_name(usr)] has culted [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]")
|
||||
if("tome")
|
||||
@@ -1330,13 +1330,13 @@
|
||||
ticker.mode.cult += src
|
||||
ticker.mode.update_cult_icons_added(src)
|
||||
special_role = SPECIAL_ROLE_CULTIST
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>You catch a glimpse of the Realm of [ticker.mode.cultdat.entity_name], [ticker.mode.cultdat.entity_title2]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.mode.cultdat.entity_name].</b></i></font>")
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>You catch a glimpse of the Realm of [ticker.cultdat.entity_name], [ticker.cultdat.entity_title2]. You now see how flimsy the world is, you see that it should be open to the knowledge of [ticker.cultdat.entity_name].</b></i></font>")
|
||||
to_chat(current, "<font color=\"cultitalic\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
if(GAMEMODE_IS_CULT)
|
||||
cult.memorize_cult_objectives(src)
|
||||
else
|
||||
var/explanation = "Summon [ticker.mode.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it."
|
||||
var/explanation = "Summon [ticker.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it."
|
||||
to_chat(current, "<B>Objective #1</B>: [explanation]")
|
||||
current.memory += "<B>Objective #1</B>: [explanation]<BR>"
|
||||
|
||||
|
||||
@@ -22,8 +22,15 @@
|
||||
var/list/fields = list( )
|
||||
|
||||
/datum/data/record/Destroy()
|
||||
..()
|
||||
return QDEL_HINT_HARDDEL_NOW
|
||||
if(src in data_core.medical)
|
||||
data_core.medical -= src
|
||||
if(src in data_core.security)
|
||||
data_core.security -= src
|
||||
if(src in data_core.general)
|
||||
data_core.general -= src
|
||||
if(src in data_core.locked)
|
||||
data_core.locked -= src
|
||||
return ..()
|
||||
|
||||
/datum/data/text
|
||||
name = "text"
|
||||
|
||||
@@ -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/weapon/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
@@ -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/weapon/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/weapon/pinpointer/advpinpointer
|
||||
l_hand = /obj/item/weapon/tank/jetpack/oxygen/harness
|
||||
|
||||
@@ -107,6 +115,7 @@
|
||||
/obj/item/weapon/grenade/plastic/c4 = 1,
|
||||
/obj/item/weapon/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/weapon/gun/projectile/automatic/pistol/deagle/camo
|
||||
l_ear = /obj/item/device/radio/headset/syndicate/alt
|
||||
l_pocket = /obj/item/weapon/pinpointer/advpinpointer
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/device/flashlight = 1,
|
||||
/obj/item/weapon/reagent_containers/food/pill/initropidril = 1,
|
||||
/obj/item/weapon/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/weapon/lighter/zippo/gonzofist = 1
|
||||
)
|
||||
|
||||
id_icon = "commander"
|
||||
id_access = "Syndicate Operative Leader"
|
||||
@@ -152,22 +167,11 @@
|
||||
|
||||
var/obj/item/weapon/implant/uplink/U = new /obj/item/weapon/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/weapon/implant/dust/D = new(H)
|
||||
D.implant(H)
|
||||
|
||||
/datum/outfit/admin/syndicate/bomber
|
||||
name = "Syndicate Bomber"
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/device/flashlight = 1,
|
||||
/obj/item/weapon/card/emag = 1,
|
||||
/obj/item/device/radio/beacon/syndicate/bomb = 2,
|
||||
/obj/item/device/syndicatedetonator = 1,
|
||||
/obj/item/weapon/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/weapon/storage/backpack/satchel
|
||||
belt = /obj/item/weapon/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/weapon/card/id/centcom
|
||||
pda = /obj/item/device/pda/centcom
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/weapon/implanter/dust = 1,
|
||||
/obj/item/weapon/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/weapon/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/weapon/implant/L = new /obj/item/weapon/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/weapon/storage/backpack/security
|
||||
belt = /obj/item/weapon/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/weapon/card/id/centcom
|
||||
r_pocket = /obj/item/weapon/storage/box/matches
|
||||
pda = /obj/item/device/pda/centcom
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/weapon/tank/emergency_oxygen/double/full = 1,
|
||||
/obj/item/weapon/implanter/dust = 1,
|
||||
/obj/item/weapon/implanter/death_alarm = 1,
|
||||
/obj/item/weapon/twohanded/dualsaber/red = 1,
|
||||
/obj/item/weapon/pinpointer/advpinpointer = 1,
|
||||
/obj/item/weapon/reagent_containers/hypospray/combat/nanites = 1,
|
||||
/obj/item/weapon/storage/box/zipties = 1,
|
||||
/obj/item/clothing/shoes/magboots/advance = 1,
|
||||
/obj/item/weapon/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/weapon/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/weapon/storage/backpack/satchel
|
||||
belt = /obj/item/weapon/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/weapon/card/id/centcom
|
||||
r_pocket = /obj/item/weapon/storage/box/matches
|
||||
pda = /obj/item/device/pda/centcom
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/weapon/melee/classic_baton/telescopic = 1,
|
||||
/obj/item/weapon/implanter/dust = 1,
|
||||
/obj/item/weapon/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/weapon/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/weapon/card/id/centcom
|
||||
pda = /obj/item/device/pda/centcom
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/weapon/implanter/dust = 1,
|
||||
/obj/item/weapon/storage/box/centcomofficer = 1,
|
||||
/obj/item/weapon/implanter/death_alarm = 1
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/implant/mindshield,
|
||||
/obj/item/weapon/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/weapon/implant/L = new /obj/item/weapon/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/weapon/storage/box/survival = 1,
|
||||
/obj/item/weapon/implanter/dust = 1,
|
||||
/obj/item/weapon/implanter/death_alarm = 1,
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/implant/mindshield,
|
||||
/obj/item/weapon/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/weapon/storage/backpack
|
||||
belt = /obj/item/weapon/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/weapon/card/id/syndicate
|
||||
pda = /obj/item/device/pda
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/engineer = 1,
|
||||
/obj/item/device/flashlight = 1,
|
||||
/obj/item/weapon/gun/projectile/automatic/proto = 1, // NT saber SMG
|
||||
/obj/item/weapon/suppressor = 1, // silencer for SMG
|
||||
/obj/item/ammo_box/magazine/smgm9mm = 3, // SMG ammo
|
||||
/obj/item/weapon/door_remote/omni = 1,
|
||||
/obj/item/weapon/implanter/mindshield = 1, // not implanted by default, as that would make them suspicious
|
||||
/obj/item/weapon/implanter/storage = 1 // do not auto-implant this, that causes a bug
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/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/weapon/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/weapon/storage/box/survival = 1,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing = 1,
|
||||
/obj/item/weapon/storage/box/syndie_kit/caneshotgun = 1,
|
||||
/obj/item/toy/crayon/mime = 1,
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol = 1,
|
||||
/obj/item/weapon/suppressor = 1,
|
||||
/obj/item/weapon/storage/box/syndie_kit/caneshotgun = 1,
|
||||
/obj/item/ammo_casing/shotgun/incendiary/dragonsbreath = 2,
|
||||
/obj/item/weapon/pen/sleepy = 1,
|
||||
/obj/item/device/radio/uplink = 1,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/syndidonkpocket = 1,
|
||||
/obj/item/device/flashlight = 1
|
||||
)
|
||||
@@ -701,7 +649,9 @@
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/storage/box/survival = 1,
|
||||
/obj/item/weapon/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/weapon/storage/box/survival = 1,
|
||||
/obj/item/weapon/kitchen/knife/combat = 1,
|
||||
/obj/item/weapon/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/weapon/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/weapon/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/weapon/tank/jetpack/oxygen
|
||||
mask = /obj/item/clothing/mask/breath
|
||||
shoes = /obj/item/clothing/shoes/magboots
|
||||
id = /obj/item/weapon/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/weapon/storage/box/survival = 1,
|
||||
/obj/item/device/flashlight = 1
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/implant/dust
|
||||
)
|
||||
|
||||
/datum/outfit/admin/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
. = ..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
|
||||
var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/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/weapon/suppressor = 1,
|
||||
/obj/item/weapon/card/emag = 1,
|
||||
/obj/item/device/flashlight = 1,
|
||||
/obj/item/weapon/implanter/storage = 1
|
||||
/obj/item/weapon/implanter/storage = 1 // do not auto-implant this, that causes a bug
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/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/weapon/implant/dust/D = new /obj/item/weapon/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/weapon/storage/belt/wands/full
|
||||
l_hand = null
|
||||
backpack_contents = list(
|
||||
/obj/item/weapon/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/weapon/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/weapon/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/weapon/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/weapon/storage/box/survival = 1,
|
||||
/obj/item/device/flashlight = 1,
|
||||
)
|
||||
implants = list(
|
||||
/obj/item/weapon/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/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(H)
|
||||
D.implant(H)
|
||||
@@ -54,7 +54,7 @@
|
||||
target.setDir(holder.dir)
|
||||
sleep(jaunt_in_time)
|
||||
qdel(holder)
|
||||
if(!qdeleted(target))
|
||||
if(!QDELETED(target))
|
||||
if(mobloc.density)
|
||||
for(var/direction in alldirs)
|
||||
var/turf/T = get_step(mobloc, direction)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
config.continuous_rounds = 0
|
||||
return ..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/lichdom/cast(list/targets,mob/user = usr)
|
||||
/obj/effect/proc_holder/spell/targeted/lichdom/cast(list/targets,mob/user = usr)
|
||||
if(!config.continuous_rounds)
|
||||
existence_stops_round_end = 1
|
||||
config.continuous_rounds = 1
|
||||
@@ -49,7 +49,7 @@
|
||||
charge_counter = charge_max
|
||||
return
|
||||
|
||||
if(!marked_item || qdeleted(marked_item)) //Wait nevermind
|
||||
if(!marked_item || QDELETED(marked_item)) //Wait nevermind
|
||||
to_chat(M, "<span class='warning'>Your phylactery is gone!</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -388,6 +388,15 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
containertype = /obj/structure/closet/crate/secure/plasma
|
||||
containername = "energy gun crate"
|
||||
|
||||
/datum/supply_packs/security/armory/epistol // costs 3/5ths of the normal e-guns for 3/4ths the total ammo, making it cheaper to arm more people, but less convient for any one person
|
||||
name = "Energy Pistol Crate"
|
||||
contains = list(/obj/item/weapon/gun/energy/gun/mini,
|
||||
/obj/item/weapon/gun/energy/gun/mini,
|
||||
/obj/item/weapon/gun/energy/gun/mini)
|
||||
cost = 15
|
||||
containertype = /obj/structure/closet/crate/secure/plasma
|
||||
containername = "energy gun crate"
|
||||
|
||||
/datum/supply_packs/security/armory/eweapons
|
||||
name = "Incendiary Weapons Crate"
|
||||
contains = list(/obj/item/weapon/flamethrower/full,
|
||||
|
||||
@@ -10,10 +10,10 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4
|
||||
switch(index)
|
||||
if(AUTOLATHE_HACK_WIRE)
|
||||
return "Hack"
|
||||
|
||||
|
||||
if(AUTOLATHE_SHOCK_WIRE)
|
||||
return "Shock"
|
||||
|
||||
|
||||
if(AUTOLATHE_DISABLE_WIRE)
|
||||
return "Disable"
|
||||
|
||||
@@ -69,6 +69,6 @@ var/const/AUTOLATHE_DISABLE_WIRE = 4
|
||||
updateUIs()
|
||||
|
||||
/datum/wires/autolathe/proc/updateUIs()
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
@@ -11,12 +11,12 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
|
||||
switch(index)
|
||||
if(NUCLEARBOMB_WIRE_LIGHT)
|
||||
return "Bomb Light"
|
||||
|
||||
|
||||
if(NUCLEARBOMB_WIRE_TIMING)
|
||||
return "Bomb Timing"
|
||||
|
||||
|
||||
if(NUCLEARBOMB_WIRE_SAFETY)
|
||||
return "Bomb Safety"
|
||||
return "Bomb Safety"
|
||||
|
||||
/datum/wires/nuclearbomb/CanUse(mob/living/L)
|
||||
var/obj/machinery/nuclearbomb/N = holder
|
||||
@@ -77,6 +77,6 @@ var/const/NUCLEARBOMB_WIRE_SAFETY = 4
|
||||
N.lighthack = !N.lighthack
|
||||
|
||||
/datum/wires/nuclearbomb/proc/updateUIs()
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
@@ -76,7 +76,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
ui_interact(user)
|
||||
|
||||
/datum/wires/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
ui = nanomanager.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "wires.tmpl", holder.name, window_x, window_y)
|
||||
ui.open()
|
||||
@@ -174,7 +174,7 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
else
|
||||
to_chat(L, "<span class='error'>You need a remote signaller!</span>")
|
||||
|
||||
nanomanager.update_uis(src)
|
||||
SSnanoui.update_uis(src)
|
||||
return 1
|
||||
|
||||
//
|
||||
@@ -184,12 +184,12 @@ var/list/wireColours = list("red", "blue", "green", "black", "orange", "brown",
|
||||
// Called when wires cut/mended.
|
||||
/datum/wires/proc/UpdateCut(index, mended)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
|
||||
// Called when wire pulsed. Add code here.
|
||||
/datum/wires/proc/UpdatePulsed(index)
|
||||
if(holder)
|
||||
nanomanager.update_uis(holder)
|
||||
SSnanoui.update_uis(holder)
|
||||
|
||||
/datum/wires/proc/CanUse(mob/L)
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user