mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 19:52:40 +00:00
Ports Bay's outfit system
This commit is contained in:
3
code/datums/outfits/_defines.dm
Normal file
3
code/datums/outfits/_defines.dm
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#define OUTFIT_HAS_JETPACK 1
|
||||||
|
#define OUTFIT_HAS_BACKPACK 2
|
||||||
|
#define OUTFIT_EXTENDED_SURVIVAL 4
|
||||||
61
code/datums/outfits/horror_killers.dm
Normal file
61
code/datums/outfits/horror_killers.dm
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
/decl/hierarchy/outfit/tunnel_clown
|
||||||
|
name = "Tunnel clown"
|
||||||
|
uniform = /obj/item/clothing/under/rank/clown
|
||||||
|
shoes = /obj/item/clothing/shoes/clown_shoes
|
||||||
|
gloves = /obj/item/clothing/gloves/black
|
||||||
|
mask = /obj/item/clothing/mask/gas/clown_hat
|
||||||
|
head = /obj/item/clothing/head/chaplain_hood
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
glasses = /obj/item/clothing/glasses/thermal/plain/monocle
|
||||||
|
suit = /obj/item/clothing/suit/storage/hooded/chaplain_hoodie
|
||||||
|
r_pocket = /obj/item/weapon/bikehorn
|
||||||
|
r_hand = /obj/item/weapon/material/twohanded/fireaxe
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/syndicate/station_access
|
||||||
|
id_pda_assignment = "Tunnel Clown!"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/masked_killer
|
||||||
|
name = "Masked killer"
|
||||||
|
uniform = /obj/item/clothing/under/overalls
|
||||||
|
shoes = /obj/item/clothing/shoes/white
|
||||||
|
gloves = /obj/item/clothing/gloves/sterile/latex
|
||||||
|
mask = /obj/item/clothing/mask/surgical
|
||||||
|
head = /obj/item/clothing/head/welding
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
glasses = /obj/item/clothing/glasses/thermal/plain/monocle
|
||||||
|
suit = /obj/item/clothing/suit/storage/apron
|
||||||
|
l_pocket = /obj/item/weapon/material/hatchet/tacknife
|
||||||
|
r_pocket = /obj/item/weapon/surgical/scalpel
|
||||||
|
r_hand = /obj/item/weapon/material/twohanded/fireaxe
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/masked_killer/post_equip(var/mob/living/carbon/human/H)
|
||||||
|
var/victim = get_mannequin(H.ckey)
|
||||||
|
for(var/obj/item/carried_item in H.get_equipped_items(TRUE))
|
||||||
|
carried_item.add_blood(victim) //Oh yes, there will be blood.. just not blood from the killer because that's odd
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/professional
|
||||||
|
name = "Professional"
|
||||||
|
uniform = /obj/item/clothing/under/suit_jacket{ starting_accessories=list(/obj/item/clothing/accessory/wcoat) }
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
gloves = /obj/item/clothing/gloves/black
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
l_pocket = /obj/item/weapon/melee/energy/sword
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/syndicate/station_access
|
||||||
|
pda_slot = slot_belt
|
||||||
|
pda_type = /obj/item/device/pda/heads
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/professional/post_equip(var/mob/living/carbon/human/H)
|
||||||
|
var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(H)
|
||||||
|
for(var/obj/item/briefcase_item in sec_briefcase)
|
||||||
|
qdel(briefcase_item)
|
||||||
|
for(var/i=3, i>0, i--)
|
||||||
|
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
|
||||||
|
sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow
|
||||||
|
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba
|
||||||
|
sec_briefcase.contents += new /obj/item/ammo_magazine/s357
|
||||||
|
sec_briefcase.contents += new /obj/item/weapon/plastique
|
||||||
|
H.equip_to_slot_or_del(sec_briefcase, slot_l_hand)
|
||||||
1
code/datums/outfits/jobs/_defines.dm
Normal file
1
code/datums/outfits/jobs/_defines.dm
Normal file
@@ -0,0 +1 @@
|
|||||||
|
#define OUTFIT_JOB_NAME(job_name) ("Job - " + job_name)
|
||||||
28
code/datums/outfits/jobs/cargo.dm
Normal file
28
code/datums/outfits/jobs/cargo.dm
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/decl/hierarchy/outfit/job/cargo
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_cargo
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/cargo
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/cargo/qm
|
||||||
|
name = OUTFIT_JOB_NAME("Cargo")
|
||||||
|
uniform = /obj/item/clothing/under/rank/cargo
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
l_hand = /obj/item/weapon/clipboard
|
||||||
|
id_type = /obj/item/weapon/card/id/cargo/head
|
||||||
|
pda_type = /obj/item/device/pda/quartermaster
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/cargo/cargo_tech
|
||||||
|
name = OUTFIT_JOB_NAME("Cargo technician")
|
||||||
|
uniform = /obj/item/clothing/under/rank/cargotech
|
||||||
|
id_type = /obj/item/weapon/card/id/cargo/cargo_tech
|
||||||
|
pda_type = /obj/item/device/pda/cargo
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/cargo/mining
|
||||||
|
name = OUTFIT_JOB_NAME("Shaft miner")
|
||||||
|
uniform = /obj/item/clothing/under/rank/miner
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/industrial
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/eng
|
||||||
|
id_type = /obj/item/weapon/card/id/cargo/mining
|
||||||
|
pda_type = /obj/item/device/pda/shaftminer
|
||||||
|
backpack_contents = list(/obj/item/weapon/crowbar = 1, /obj/item/weapon/storage/bag/ore = 1)
|
||||||
|
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
|
||||||
63
code/datums/outfits/jobs/civilian.dm
Normal file
63
code/datums/outfits/jobs/civilian.dm
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
/decl/hierarchy/outfit/job/assistant
|
||||||
|
name = OUTFIT_JOB_NAME("Assistant")
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/service
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_service
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/service
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/service/bartender
|
||||||
|
name = OUTFIT_JOB_NAME("Bartender")
|
||||||
|
uniform = /obj/item/clothing/under/rank/bartender
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/bartender
|
||||||
|
pda_type = /obj/item/device/pda/bar
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/service/chef
|
||||||
|
name = OUTFIT_JOB_NAME("Chef")
|
||||||
|
uniform = /obj/item/clothing/under/rank/chef
|
||||||
|
suit = /obj/item/clothing/suit/chef
|
||||||
|
head = /obj/item/clothing/head/chefhat
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/chef
|
||||||
|
pda_type = /obj/item/device/pda/chef
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/service/gardener
|
||||||
|
name = OUTFIT_JOB_NAME("Gardener")
|
||||||
|
uniform = /obj/item/clothing/under/rank/hydroponics
|
||||||
|
suit = /obj/item/clothing/suit/storage/apron
|
||||||
|
gloves = /obj/item/clothing/gloves/botanic_leather
|
||||||
|
r_pocket = /obj/item/device/analyzer/plant_analyzer
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/hydroponics
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/hyd
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/botanist
|
||||||
|
pda_type = /obj/item/device/pda/botanist
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/hyd
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/service/janitor
|
||||||
|
name = OUTFIT_JOB_NAME("Janitor")
|
||||||
|
uniform = /obj/item/clothing/under/rank/janitor
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/janitor
|
||||||
|
pda_type = /obj/item/device/pda/janitor
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/librarian
|
||||||
|
name = OUTFIT_JOB_NAME("Librarian")
|
||||||
|
uniform = /obj/item/clothing/under/suit_jacket/red
|
||||||
|
l_hand = /obj/item/weapon/barcodescanner
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/librarian
|
||||||
|
pda_type = /obj/item/device/pda/librarian
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/internal_affairs_agent
|
||||||
|
name = OUTFIT_JOB_NAME("Internal affairs agent")
|
||||||
|
l_ear = /obj/item/device/radio/headset/ia
|
||||||
|
uniform = /obj/item/clothing/under/rank/internalaffairs
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/internalaffairs
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses/big
|
||||||
|
l_hand = /obj/item/weapon/storage/briefcase
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/internal_affairs_agent
|
||||||
|
pda_type = /obj/item/device/pda/lawyer
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/chaplain
|
||||||
|
name = OUTFIT_JOB_NAME("Chaplain")
|
||||||
|
uniform = /obj/item/clothing/under/rank/chaplain
|
||||||
|
l_hand = /obj/item/weapon/storage/bible
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian/chaplain
|
||||||
|
pda_type = /obj/item/device/pda/chaplain
|
||||||
35
code/datums/outfits/jobs/command.dm
Normal file
35
code/datums/outfits/jobs/command.dm
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/decl/hierarchy/outfit/job/captain
|
||||||
|
name = OUTFIT_JOB_NAME("Captain")
|
||||||
|
head = /obj/item/clothing/head/caphat
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
uniform = /obj/item/clothing/under/rank/captain
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/captain
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/captain
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/cap
|
||||||
|
id_type = /obj/item/weapon/card/id/gold/captain
|
||||||
|
pda_type = /obj/item/device/pda/captain
|
||||||
|
backpack_contents = list(/obj/item/weapon/storage/box/ids = 1)
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/com
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/captain/post_equip(var/mob/living/carbon/human/H)
|
||||||
|
..()
|
||||||
|
if(H.age>49)
|
||||||
|
// Since we can have something other than the default uniform at this
|
||||||
|
// point, check if we can actually attach the medal
|
||||||
|
var/obj/item/clothing/uniform = H.w_uniform
|
||||||
|
if(uniform)
|
||||||
|
var/obj/item/clothing/accessory/medal/gold/captain/medal = new()
|
||||||
|
if(uniform.can_attach_accessory(medal))
|
||||||
|
uniform.attach_accessory(null, medal)
|
||||||
|
else
|
||||||
|
qdel(medal)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/hop
|
||||||
|
name = OUTFIT_JOB_NAME("Head of Personnel")
|
||||||
|
uniform = /obj/item/clothing/under/rank/head_of_personnel
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/hop
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
id_type = /obj/item/weapon/card/id/silver/hop
|
||||||
|
pda_type = /obj/item/device/pda/heads/hop
|
||||||
|
backpack_contents = list(/obj/item/weapon/storage/box/ids = 1)
|
||||||
34
code/datums/outfits/jobs/engineering.dm
Normal file
34
code/datums/outfits/jobs/engineering.dm
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/decl/hierarchy/outfit/job/engineering
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/engineering
|
||||||
|
belt = /obj/item/weapon/storage/belt/utility/full
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_eng
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/workboots
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/industrial
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/eng
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/engi
|
||||||
|
pda_slot = slot_l_store
|
||||||
|
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/engineering/chief_engineer
|
||||||
|
name = OUTFIT_JOB_NAME("Chief engineer")
|
||||||
|
head = /obj/item/clothing/head/hardhat/white
|
||||||
|
uniform = /obj/item/clothing/under/rank/chief_engineer
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/ce
|
||||||
|
gloves = /obj/item/clothing/gloves/black
|
||||||
|
id_type = /obj/item/weapon/card/id/engineering/head
|
||||||
|
pda_type = /obj/item/device/pda/heads/ce
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/engineering/engineer
|
||||||
|
name = OUTFIT_JOB_NAME("Engineer")
|
||||||
|
head = /obj/item/clothing/head/hardhat
|
||||||
|
uniform = /obj/item/clothing/under/rank/engineer
|
||||||
|
r_pocket = /obj/item/device/t_scanner
|
||||||
|
id_type = /obj/item/weapon/card/id/engineering/engineer
|
||||||
|
pda_type = /obj/item/device/pda/engineering
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/engineering/atmos
|
||||||
|
name = OUTFIT_JOB_NAME("Atmospheric technician")
|
||||||
|
uniform = /obj/item/clothing/under/rank/atmospheric_technician
|
||||||
|
belt = /obj/item/weapon/storage/belt/utility/atmostech
|
||||||
|
id_type = /obj/item/weapon/card/id/engineering/atmos
|
||||||
|
pda_type = /obj/item/device/pda/atmos
|
||||||
21
code/datums/outfits/jobs/job.dm
Normal file
21
code/datums/outfits/jobs/job.dm
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
/decl/hierarchy/outfit/job
|
||||||
|
name = "Standard Gear"
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job
|
||||||
|
|
||||||
|
uniform = /obj/item/clothing/under/color/grey
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian
|
||||||
|
pda_slot = slot_belt
|
||||||
|
pda_type = /obj/item/device/pda
|
||||||
|
|
||||||
|
flags = OUTFIT_HAS_BACKPACK
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/equip_id(mob/living/carbon/human/H)
|
||||||
|
var/obj/item/weapon/card/id/C = ..()
|
||||||
|
if(H.mind)
|
||||||
|
if(H.mind.initial_account)
|
||||||
|
C.associated_account_number = H.mind.initial_account.account_number
|
||||||
|
return C
|
||||||
105
code/datums/outfits/jobs/medical.dm
Normal file
105
code/datums/outfits/jobs/medical.dm
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
/decl/hierarchy/outfit/job/medical
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/medical
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_med
|
||||||
|
shoes = /obj/item/clothing/shoes/white
|
||||||
|
pda_type = /obj/item/device/pda/medical
|
||||||
|
pda_slot = slot_l_store
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/medic
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/med
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/med
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/cmo
|
||||||
|
name = OUTFIT_JOB_NAME("Chief Medical Officer")
|
||||||
|
l_ear =/obj/item/device/radio/headset/heads/cmo
|
||||||
|
uniform = /obj/item/clothing/under/rank/chief_medical_officer
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/cmo
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
l_hand = /obj/item/weapon/storage/firstaid/adv
|
||||||
|
r_pocket = /obj/item/device/flashlight/pen
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/head
|
||||||
|
pda_type = /obj/item/device/pda/heads/cmo
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor
|
||||||
|
name = OUTFIT_JOB_NAME("Medical Doctor")
|
||||||
|
uniform = /obj/item/clothing/under/rank/medical
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat
|
||||||
|
l_hand = /obj/item/weapon/storage/firstaid/adv
|
||||||
|
r_pocket = /obj/item/device/flashlight/pen
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/doctor
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor/emergency_physician
|
||||||
|
name = OUTFIT_JOB_NAME("Emergency physician")
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/fr_jacket
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor/surgeon
|
||||||
|
name = OUTFIT_JOB_NAME("Surgeon")
|
||||||
|
uniform = /obj/item/clothing/under/rank/medical/scrubs
|
||||||
|
head = /obj/item/clothing/head/surgery/blue
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor/virologist
|
||||||
|
name = OUTFIT_JOB_NAME("Virologist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/virologist
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/virologist
|
||||||
|
mask = /obj/item/clothing/mask/surgical
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/virology
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/vir
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor/nurse
|
||||||
|
name = OUTFIT_JOB_NAME("Nurse")
|
||||||
|
suit = null
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/doctor/nurse/pre_equip(mob/living/carbon/human/H)
|
||||||
|
..()
|
||||||
|
if(H.gender == FEMALE)
|
||||||
|
if(prob(50))
|
||||||
|
uniform = /obj/item/clothing/under/rank/nursesuit
|
||||||
|
else
|
||||||
|
uniform = /obj/item/clothing/under/rank/nurse
|
||||||
|
head = /obj/item/clothing/head/nursehat
|
||||||
|
else
|
||||||
|
uniform = /obj/item/clothing/under/rank/medical/scrubs/purple
|
||||||
|
head = null
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/chemist
|
||||||
|
name = OUTFIT_JOB_NAME("Chemist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/chemist
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/chemist
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/chemistry
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/chem
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/chemist
|
||||||
|
pda_type = /obj/item/device/pda/chemist
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/geneticist
|
||||||
|
name = OUTFIT_JOB_NAME("Geneticist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/geneticist
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/genetics
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/genetics
|
||||||
|
r_pocket = /obj/item/device/flashlight/pen
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/gen
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/geneticist
|
||||||
|
pda_type = /obj/item/device/pda/geneticist
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/psychiatrist
|
||||||
|
name = OUTFIT_JOB_NAME("Psychiatrist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/psych
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat
|
||||||
|
shoes = /obj/item/clothing/shoes/laceup
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/psychiatrist
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/psychiatrist/psychologist
|
||||||
|
name = OUTFIT_JOB_NAME("Psychologist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/psych/turtleneck
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/paramedic
|
||||||
|
name = OUTFIT_JOB_NAME("Paramedic")
|
||||||
|
uniform = /obj/item/clothing/under/rank/medical/scrubs/black
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/fr_jacket
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/jackboots
|
||||||
|
l_hand = /obj/item/weapon/storage/firstaid/adv
|
||||||
|
belt = /obj/item/weapon/storage/belt/medical/emt
|
||||||
|
id_type = /obj/item/weapon/card/id/medical/paramedic
|
||||||
|
flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/medical/paramedic/emt
|
||||||
|
name = OUTFIT_JOB_NAME("Emergency medical technician")
|
||||||
|
uniform = /obj/item/clothing/under/rank/medical/paramedic
|
||||||
11
code/datums/outfits/jobs/misc.dm
Normal file
11
code/datums/outfits/jobs/misc.dm
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
/decl/hierarchy/outfit/job/silicon
|
||||||
|
head = /obj/item/clothing/head/cardborg
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/silicon
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/silicon/ai
|
||||||
|
name = OUTFIT_JOB_NAME("AI")
|
||||||
|
suit = /obj/item/clothing/suit/straight_jacket
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/silicon/cyborg
|
||||||
|
name = OUTFIT_JOB_NAME("Cyborg")
|
||||||
|
suit = /obj/item/clothing/suit/cardborg
|
||||||
41
code/datums/outfits/jobs/science.dm
Normal file
41
code/datums/outfits/jobs/science.dm
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
/decl/hierarchy/outfit/job/science
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/science
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_sci
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat
|
||||||
|
shoes = /obj/item/clothing/shoes/white
|
||||||
|
pda_type = /obj/item/device/pda/science
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/toxins
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/tox
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/tox
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/science/rd
|
||||||
|
name = OUTFIT_JOB_NAME("Research Director")
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/rd
|
||||||
|
uniform = /obj/item/clothing/under/rank/research_director
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
l_hand = /obj/item/weapon/clipboard
|
||||||
|
id_type = /obj/item/weapon/card/id/science/head
|
||||||
|
pda_type = /obj/item/device/pda/heads/rd
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/science/scientist
|
||||||
|
name = OUTFIT_JOB_NAME("Scientist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/scientist
|
||||||
|
id_type = /obj/item/weapon/card/id/science/scientist
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/science
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/science/xenobiologist
|
||||||
|
name = OUTFIT_JOB_NAME("Xenobiologist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/scientist
|
||||||
|
id_type = /obj/item/weapon/card/id/science/xenobiologist
|
||||||
|
suit = /obj/item/clothing/suit/storage/toggle/labcoat/science
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/science/roboticist
|
||||||
|
name = OUTFIT_JOB_NAME("Roboticist")
|
||||||
|
uniform = /obj/item/clothing/under/rank/scientist
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
belt = /obj/item/weapon/storage/belt/utility/full
|
||||||
|
id_type = /obj/item/weapon/card/id/science/roboticist
|
||||||
|
pda_slot = slot_r_store
|
||||||
|
pda_type = /obj/item/device/pda/roboticist
|
||||||
|
backpack = /obj/item/weapon/storage/backpack
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/norm
|
||||||
52
code/datums/outfits/jobs/security.dm
Normal file
52
code/datums/outfits/jobs/security.dm
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/decl/hierarchy/outfit/job/security
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/job/security
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses/sechud
|
||||||
|
l_ear = /obj/item/device/radio/headset/headset_sec
|
||||||
|
gloves = /obj/item/clothing/gloves/black
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/jackboots
|
||||||
|
backpack = /obj/item/weapon/storage/backpack/security
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/sec
|
||||||
|
backpack_contents = list(/obj/item/weapon/handcuffs = 1)
|
||||||
|
messenger_bag = /obj/item/weapon/storage/backpack/messenger/sec
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/security/hos
|
||||||
|
name = OUTFIT_JOB_NAME("Head of security")
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/hos
|
||||||
|
uniform = /obj/item/clothing/under/rank/head_of_security
|
||||||
|
id_type = /obj/item/weapon/card/id/security/head
|
||||||
|
pda_type = /obj/item/device/pda/heads/hos
|
||||||
|
backpack_contents = list(/obj/item/weapon/handcuffs = 1)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/security/warden
|
||||||
|
name = OUTFIT_JOB_NAME("Warden")
|
||||||
|
uniform = /obj/item/clothing/under/rank/warden
|
||||||
|
l_pocket = /obj/item/device/flash
|
||||||
|
id_type = /obj/item/weapon/card/id/security //warden
|
||||||
|
pda_type = /obj/item/device/pda/warden
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/security/detective
|
||||||
|
name = OUTFIT_JOB_NAME("Detective")
|
||||||
|
head = /obj/item/clothing/head/det
|
||||||
|
uniform = /obj/item/clothing/under/det
|
||||||
|
suit = /obj/item/clothing/suit/storage/det_trench
|
||||||
|
l_pocket = /obj/item/weapon/flame/lighter/zippo
|
||||||
|
shoes = /obj/item/clothing/shoes/laceup
|
||||||
|
r_hand = /obj/item/weapon/storage/briefcase/crimekit
|
||||||
|
id_type = /obj/item/weapon/card/id/security //detective
|
||||||
|
pda_type = /obj/item/device/pda/detective
|
||||||
|
backpack = /obj/item/weapon/storage/backpack
|
||||||
|
satchel_one = /obj/item/weapon/storage/backpack/satchel/norm
|
||||||
|
backpack_contents = list(/obj/item/weapon/storage/box/evidence = 1)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/security/detective/forensic
|
||||||
|
name = OUTFIT_JOB_NAME("Forensic technician")
|
||||||
|
head = null
|
||||||
|
suit = /obj/item/clothing/suit/storage/forensics/blue
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/job/security/officer
|
||||||
|
name = OUTFIT_JOB_NAME("Security Officer")
|
||||||
|
uniform = /obj/item/clothing/under/rank/security
|
||||||
|
l_pocket = /obj/item/device/flash
|
||||||
|
r_pocket = /obj/item/weapon/handcuffs
|
||||||
|
id_type = /obj/item/weapon/card/id/security
|
||||||
|
pda_type = /obj/item/device/pda/security
|
||||||
55
code/datums/outfits/misc.dm
Normal file
55
code/datums/outfits/misc.dm
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
/decl/hierarchy/outfit/standard_space_gear
|
||||||
|
name = "Standard space gear"
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
head = /obj/item/clothing/head/helmet/space
|
||||||
|
suit = /obj/item/clothing/suit/space
|
||||||
|
uniform = /obj/item/clothing/under/color/grey
|
||||||
|
back = /obj/item/weapon/tank/jetpack/oxygen
|
||||||
|
mask = /obj/item/clothing/mask/breath
|
||||||
|
flags = OUTFIT_HAS_JETPACK
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/emergency_space_gear
|
||||||
|
name = "Emergency space gear"
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
head = /obj/item/clothing/head/helmet/space/emergency
|
||||||
|
suit = /obj/item/clothing/suit/space/emergency
|
||||||
|
uniform = /obj/item/clothing/under/color/grey
|
||||||
|
back = /obj/item/weapon/tank/oxygen
|
||||||
|
mask = /obj/item/clothing/mask/breath
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/soviet_soldier
|
||||||
|
name = "Soviet soldier"
|
||||||
|
uniform = /obj/item/clothing/under/soviet
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/combat
|
||||||
|
head = /obj/item/clothing/head/ushanka
|
||||||
|
gloves = /obj/item/clothing/gloves/combat
|
||||||
|
back = /obj/item/weapon/storage/backpack/satchel
|
||||||
|
belt = /obj/item/weapon/gun/projectile/revolver/mateba
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/soviet_soldier/admiral
|
||||||
|
name = "Soviet admiral"
|
||||||
|
head = /obj/item/clothing/head/hgpiratecap
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/captain
|
||||||
|
glasses = /obj/item/clothing/glasses/thermal/plain/eyepatch
|
||||||
|
suit = /obj/item/clothing/suit/hgpirate
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/centcom //station
|
||||||
|
id_pda_assignment = "Admiral"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/merchant
|
||||||
|
name = "Merchant"
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
uniform = /obj/item/clothing/under/color/grey
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/civilian //merchant
|
||||||
|
pda_slot = slot_r_store
|
||||||
|
pda_type = /obj/item/device/pda/chef //cause I like the look
|
||||||
|
id_pda_assignment = "Merchant"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/merchant/vox
|
||||||
|
name = "Merchant - Vox"
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/jackboots/toeless
|
||||||
|
uniform = /obj/item/clothing/under/vox/vox_robes
|
||||||
|
suit = /obj/item/clothing/suit/armor/vox_scrap
|
||||||
32
code/datums/outfits/nanotrasen.dm
Normal file
32
code/datums/outfits/nanotrasen.dm
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/decl/hierarchy/outfit/nanotrasen
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/nanotrasen
|
||||||
|
uniform = /obj/item/clothing/under/rank/centcom
|
||||||
|
shoes = /obj/item/clothing/shoes/laceup
|
||||||
|
gloves = /obj/item/clothing/gloves/white
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/hop
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/centcom //station
|
||||||
|
pda_slot = slot_r_store
|
||||||
|
pda_type = /obj/item/device/pda/heads
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/nanotrasen/representative
|
||||||
|
name = "Nanotrasen representative"
|
||||||
|
belt = /obj/item/weapon/clipboard
|
||||||
|
id_pda_assignment = "NanoTrasen Navy Representative"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/nanotrasen/officer
|
||||||
|
name = "Nanotrasen officer"
|
||||||
|
head = /obj/item/clothing/head/beret/centcom/officer
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/captain
|
||||||
|
belt = /obj/item/weapon/gun/energy
|
||||||
|
id_pda_assignment = "NanoTrasen Navy Officer"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/nanotrasen/captain
|
||||||
|
name = "Nanotrasen captain"
|
||||||
|
uniform = /obj/item/clothing/under/rank/centcom_captain
|
||||||
|
l_ear = /obj/item/device/radio/headset/heads/captain
|
||||||
|
head = /obj/item/clothing/head/beret/centcom/captain
|
||||||
|
belt = /obj/item/weapon/gun/energy
|
||||||
|
id_pda_assignment = "NanoTrasen Navy Captain"
|
||||||
187
code/datums/outfits/outfit.dm
Normal file
187
code/datums/outfits/outfit.dm
Normal file
@@ -0,0 +1,187 @@
|
|||||||
|
var/list/outfits_decls_
|
||||||
|
var/list/outfits_decls_root_
|
||||||
|
var/list/outfits_decls_by_type_
|
||||||
|
|
||||||
|
/proc/outfit_by_type(var/outfit_type)
|
||||||
|
if(!outfits_decls_root_)
|
||||||
|
init_outfit_decls()
|
||||||
|
return outfits_decls_by_type_[outfit_type]
|
||||||
|
|
||||||
|
/proc/outfits()
|
||||||
|
if(!outfits_decls_root_)
|
||||||
|
init_outfit_decls()
|
||||||
|
return outfits_decls_
|
||||||
|
|
||||||
|
/proc/init_outfit_decls()
|
||||||
|
if(outfits_decls_root_)
|
||||||
|
return
|
||||||
|
outfits_decls_ = list()
|
||||||
|
outfits_decls_by_type_ = list()
|
||||||
|
outfits_decls_root_ = new/decl/hierarchy/outfit()
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit
|
||||||
|
name = "Naked"
|
||||||
|
|
||||||
|
var/uniform = null
|
||||||
|
var/suit = null
|
||||||
|
var/back = null
|
||||||
|
var/belt = null
|
||||||
|
var/gloves = null
|
||||||
|
var/shoes = null
|
||||||
|
var/head = null
|
||||||
|
var/mask = null
|
||||||
|
var/l_ear = null
|
||||||
|
var/r_ear = null
|
||||||
|
var/glasses = null
|
||||||
|
var/id = null
|
||||||
|
var/l_pocket = null
|
||||||
|
var/r_pocket = null
|
||||||
|
var/suit_store = null
|
||||||
|
var/r_hand = null
|
||||||
|
var/l_hand = null
|
||||||
|
var/list/backpack_contents = list() // In the list(path=count,otherpath=count) format
|
||||||
|
|
||||||
|
var/id_type
|
||||||
|
var/id_desc
|
||||||
|
var/id_slot
|
||||||
|
|
||||||
|
var/pda_type
|
||||||
|
var/pda_slot
|
||||||
|
|
||||||
|
var/id_pda_assignment
|
||||||
|
|
||||||
|
var/backpack = /obj/item/weapon/storage/backpack
|
||||||
|
var/satchel_one = /obj/item/weapon/storage/backpack/satchel/norm
|
||||||
|
var/satchel_two = /obj/item/weapon/storage/backpack/satchel
|
||||||
|
var/messenger_bag = /obj/item/weapon/storage/backpack/messenger
|
||||||
|
|
||||||
|
var/flags // Specific flags
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/New()
|
||||||
|
..()
|
||||||
|
|
||||||
|
if(is_hidden_category())
|
||||||
|
return
|
||||||
|
outfits_decls_by_type_[type] = src
|
||||||
|
dd_insertObjectList(outfits_decls_, src)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/pre_equip(mob/living/carbon/human/H)
|
||||||
|
if(flags & OUTFIT_HAS_BACKPACK)
|
||||||
|
switch(H.backbag)
|
||||||
|
if(2) back = backpack
|
||||||
|
if(3) back = satchel_one
|
||||||
|
if(4) back = satchel_two
|
||||||
|
if(5) back = messenger_bag
|
||||||
|
else back = null
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/post_equip(mob/living/carbon/human/H)
|
||||||
|
if(flags & OUTFIT_HAS_JETPACK)
|
||||||
|
var/obj/item/weapon/tank/jetpack/J = locate(/obj/item/weapon/tank/jetpack) in H
|
||||||
|
if(!J)
|
||||||
|
return
|
||||||
|
J.toggle()
|
||||||
|
J.toggle_valve()
|
||||||
|
|
||||||
|
// A proc for non-human species, specially Unathi and Tajara, since they e.g.
|
||||||
|
// can't normally wear gloves as humans. Correct this issue by trying again, but
|
||||||
|
// apply some changes to the said item.
|
||||||
|
//
|
||||||
|
// Currently checks for gloves
|
||||||
|
//
|
||||||
|
// If you want to add more items that has species restriction, consider follow-
|
||||||
|
// ing the same format as the gloves shown in the code below. Thanks.
|
||||||
|
/decl/hierarchy/outfit/proc/check_and_try_equip_xeno(mob/living/carbon/human/H)
|
||||||
|
var/datum/species/S = H.species
|
||||||
|
if (!S || istype(S, /datum/species/human)) // null failcheck & get out here you damn humans
|
||||||
|
return
|
||||||
|
|
||||||
|
// end of check_and_try_equip_xeno
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/equip(mob/living/carbon/human/H, var/rank, var/assignment)
|
||||||
|
equip_base(H)
|
||||||
|
|
||||||
|
rank = id_pda_assignment || rank
|
||||||
|
assignment = id_pda_assignment || assignment || rank
|
||||||
|
var/obj/item/weapon/card/id/W = equip_id(H, rank, assignment)
|
||||||
|
if(W)
|
||||||
|
rank = W.rank
|
||||||
|
assignment = W.assignment
|
||||||
|
equip_pda(H, rank, assignment)
|
||||||
|
|
||||||
|
for(var/path in backpack_contents)
|
||||||
|
var/number = backpack_contents[path]
|
||||||
|
for(var/i=0,i<number,i++)
|
||||||
|
H.equip_to_slot_or_del(new path(H), slot_in_backpack)
|
||||||
|
|
||||||
|
post_equip(H)
|
||||||
|
H.regenerate_icons()
|
||||||
|
if(W) // We set ID info last to ensure the ID photo is as correct as possible.
|
||||||
|
H.set_id_info(W)
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/equip_base(mob/living/carbon/human/H)
|
||||||
|
pre_equip(H)
|
||||||
|
|
||||||
|
//Start with uniform,suit,backpack for additional slots
|
||||||
|
if(uniform)
|
||||||
|
H.equip_to_slot_or_del(new uniform(H),slot_w_uniform)
|
||||||
|
if(suit)
|
||||||
|
H.equip_to_slot_or_del(new suit(H),slot_wear_suit)
|
||||||
|
if(back)
|
||||||
|
H.equip_to_slot_or_del(new back(H),slot_back)
|
||||||
|
if(belt)
|
||||||
|
H.equip_to_slot_or_del(new belt(H),slot_belt)
|
||||||
|
if(gloves)
|
||||||
|
H.equip_to_slot_or_del(new gloves(H),slot_gloves)
|
||||||
|
if(shoes)
|
||||||
|
H.equip_to_slot_or_del(new shoes(H),slot_shoes)
|
||||||
|
if(mask)
|
||||||
|
H.equip_to_slot_or_del(new mask(H),slot_wear_mask)
|
||||||
|
if(head)
|
||||||
|
H.equip_to_slot_or_del(new head(H),slot_head)
|
||||||
|
if(l_ear)
|
||||||
|
H.equip_to_slot_or_del(new l_ear(H),slot_l_ear)
|
||||||
|
if(r_ear)
|
||||||
|
H.equip_to_slot_or_del(new r_ear(H),slot_r_ear)
|
||||||
|
if(glasses)
|
||||||
|
H.equip_to_slot_or_del(new glasses(H),slot_glasses)
|
||||||
|
if(id)
|
||||||
|
H.equip_to_slot_or_del(new id(H),slot_wear_id)
|
||||||
|
if(l_pocket)
|
||||||
|
H.equip_to_slot_or_del(new l_pocket(H),slot_l_store)
|
||||||
|
if(r_pocket)
|
||||||
|
H.equip_to_slot_or_del(new r_pocket(H),slot_r_store)
|
||||||
|
if(suit_store)
|
||||||
|
H.equip_to_slot_or_del(new suit_store(H),slot_s_store)
|
||||||
|
|
||||||
|
if(l_hand)
|
||||||
|
H.put_in_l_hand(new l_hand(H))
|
||||||
|
if(r_hand)
|
||||||
|
H.put_in_r_hand(new r_hand(H))
|
||||||
|
if(H.species)
|
||||||
|
H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL)
|
||||||
|
check_and_try_equip_xeno(H)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment)
|
||||||
|
if(!id_slot || !id_type)
|
||||||
|
return
|
||||||
|
var/obj/item/weapon/card/id/W = new id_type(H)
|
||||||
|
if(id_desc)
|
||||||
|
W.desc = id_desc
|
||||||
|
if(rank)
|
||||||
|
W.rank = rank
|
||||||
|
if(assignment)
|
||||||
|
W.assignment = assignment
|
||||||
|
H.set_id_info(W)
|
||||||
|
if(H.equip_to_slot_or_del(W, id_slot))
|
||||||
|
return W
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/proc/equip_pda(mob/living/carbon/human/H, assignment)
|
||||||
|
if(!pda_slot || !pda_type)
|
||||||
|
return
|
||||||
|
var/obj/item/device/pda/heads/pda = new pda_type(H)
|
||||||
|
if(H.equip_to_slot_or_del(pda, pda_slot))
|
||||||
|
return pda
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/dd_SortValue()
|
||||||
|
return name
|
||||||
17
code/datums/outfits/pirates.dm
Normal file
17
code/datums/outfits/pirates.dm
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
/decl/hierarchy/outfit/pirate
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/pirate
|
||||||
|
name = "Pirate"
|
||||||
|
uniform = /obj/item/clothing/under/pirate
|
||||||
|
shoes = /obj/item/clothing/shoes/brown
|
||||||
|
head = /obj/item/clothing/head/bandana
|
||||||
|
glasses = /obj/item/clothing/glasses/eyepatch
|
||||||
|
l_hand = /obj/item/weapon/melee/energy/sword/pirate
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/pirate/norm
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/pirate/space
|
||||||
|
name = "Pirate - Space"
|
||||||
|
head = /obj/item/clothing/head/helmet/space
|
||||||
|
suit = /obj/item/clothing/suit/pirate
|
||||||
|
back = /obj/item/weapon/tank/jetpack/oxygen
|
||||||
|
flags = OUTFIT_HAS_JETPACK
|
||||||
69
code/datums/outfits/spec_op.dm
Normal file
69
code/datums/outfits/spec_op.dm
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
/decl/hierarchy/outfit/spec_op_officer
|
||||||
|
name = "Special ops - Officer"
|
||||||
|
uniform = /obj/item/clothing/under/syndicate/combat
|
||||||
|
suit = /obj/item/clothing/suit/armor/swat/officer
|
||||||
|
l_ear = /obj/item/device/radio/headset/ert
|
||||||
|
glasses = /obj/item/clothing/glasses/thermal/plain/eyepatch
|
||||||
|
mask = /obj/item/clothing/mask/smokable/cigarette/cigar/havana
|
||||||
|
head = /obj/item/clothing/head/beret //deathsquad
|
||||||
|
belt = /obj/item/weapon/gun/energy/pulse_rifle/M1911
|
||||||
|
back = /obj/item/weapon/storage/backpack/satchel
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/combat
|
||||||
|
gloves = /obj/item/clothing/gloves/combat
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/centcom/ERT
|
||||||
|
id_desc = "Special operations ID."
|
||||||
|
id_pda_assignment = "Special Operations Officer"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/spec_op_officer/space
|
||||||
|
name = "Special ops - Officer in space"
|
||||||
|
suit = /obj/item/clothing/suit/armor/swat //obj/item/clothing/suit/space/void/swat
|
||||||
|
back = /obj/item/weapon/tank/jetpack/oxygen
|
||||||
|
mask = /obj/item/clothing/mask/gas/swat
|
||||||
|
|
||||||
|
flags = OUTFIT_HAS_JETPACK
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/ert
|
||||||
|
name = "Spec ops - Emergency response team"
|
||||||
|
uniform = /obj/item/clothing/under/ert
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/swat
|
||||||
|
gloves = /obj/item/clothing/gloves/swat
|
||||||
|
l_ear = /obj/item/device/radio/headset/ert
|
||||||
|
belt = /obj/item/weapon/gun/energy/gun
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
back = /obj/item/weapon/storage/backpack/satchel
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/centcom/ERT
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/death_command
|
||||||
|
name = "Spec ops - Death commando"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/death_command/equip(var/mob/living/carbon/human/H)
|
||||||
|
deathsquad.equip(H)
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/syndicate_command
|
||||||
|
name = "Spec ops - Syndicate commando"
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/syndicate_command/equip(var/mob/living/carbon/human/H)
|
||||||
|
commandos.equip(H)
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/mercenary
|
||||||
|
name = "Spec ops - Mercenary"
|
||||||
|
uniform = /obj/item/clothing/under/syndicate
|
||||||
|
shoes = /obj/item/clothing/shoes/boots/combat
|
||||||
|
l_ear = /obj/item/device/radio/headset/syndicate
|
||||||
|
belt = /obj/item/weapon/storage/belt/security
|
||||||
|
glasses = /obj/item/clothing/glasses/sunglasses
|
||||||
|
gloves = /obj/item/clothing/gloves/swat
|
||||||
|
|
||||||
|
l_pocket = /obj/item/weapon/reagent_containers/pill/cyanide
|
||||||
|
|
||||||
|
id_slot = slot_wear_id
|
||||||
|
id_type = /obj/item/weapon/card/id/syndicate
|
||||||
|
id_pda_assignment = "Mercenary"
|
||||||
|
|
||||||
|
flags = OUTFIT_HAS_BACKPACK
|
||||||
49
code/datums/outfits/tournament.dm
Normal file
49
code/datums/outfits/tournament.dm
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
/decl/hierarchy/outfit/tournament_gear
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/tournament_gear
|
||||||
|
head = /obj/item/clothing/head/helmet/thunderdome
|
||||||
|
suit = /obj/item/clothing/suit/armor/vest
|
||||||
|
l_hand = /obj/item/weapon/material/knife
|
||||||
|
r_hand = /obj/item/weapon/gun/energy/pulse_rifle/destroyer
|
||||||
|
r_pocket = /obj/item/weapon/grenade/smokebomb
|
||||||
|
shoes = /obj/item/clothing/shoes/black
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/red
|
||||||
|
name = "Tournament - Red"
|
||||||
|
uniform = /obj/item/clothing/under/color/red
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/green
|
||||||
|
name = "Tournament gear - Green"
|
||||||
|
uniform = /obj/item/clothing/under/color/green
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/gangster
|
||||||
|
name = "Tournament gear - Gangster"
|
||||||
|
head = /obj/item/clothing/head/det
|
||||||
|
uniform = /obj/item/clothing/under/det
|
||||||
|
suit_store = /obj/item/clothing/suit/storage/det_trench
|
||||||
|
glasses = /obj/item/clothing/glasses/thermal/plain/monocle
|
||||||
|
r_hand = /obj/item/weapon/gun/projectile/revolver
|
||||||
|
l_pocket = /obj/item/ammo_magazine/s357
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/chef
|
||||||
|
name = "Tournament gear - Chef"
|
||||||
|
head = /obj/item/clothing/head/chefhat
|
||||||
|
uniform = /obj/item/clothing/under/rank/chef
|
||||||
|
suit = /obj/item/clothing/suit/chef
|
||||||
|
r_hand = /obj/item/weapon/material/kitchen/rollingpin
|
||||||
|
l_pocket = /obj/item/weapon/material/hatchet/tacknife
|
||||||
|
r_pocket = /obj/item/weapon/material/hatchet/tacknife
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/janitor
|
||||||
|
name = "Tournament gear - Janitor"
|
||||||
|
uniform = /obj/item/clothing/under/rank/janitor
|
||||||
|
back = /obj/item/weapon/storage/backpack
|
||||||
|
r_hand = /obj/item/weapon/mop
|
||||||
|
l_hand = /obj/item/weapon/reagent_containers/glass/bucket
|
||||||
|
l_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner
|
||||||
|
r_pocket = /obj/item/weapon/grenade/chem_grenade/cleaner
|
||||||
|
backpack_contents = list(/obj/item/stack/tile/floor = 6)
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/tournament_gear/janitor/post_equip(var/mob/living/carbon/human/H)
|
||||||
|
var/obj/item/weapon/reagent_containers/glass/bucket/bucket = locate(/obj/item/weapon/reagent_containers/glass/bucket) in H
|
||||||
|
if(bucket)
|
||||||
|
bucket.reagents.add_reagent(/datum/reagent/water, 70)
|
||||||
26
code/datums/outfits/wizardry.dm
Normal file
26
code/datums/outfits/wizardry.dm
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
/decl/hierarchy/outfit/wizard
|
||||||
|
uniform = /obj/item/clothing/under/color/lightpurple
|
||||||
|
shoes = /obj/item/clothing/shoes/sandal
|
||||||
|
l_ear = /obj/item/device/radio/headset
|
||||||
|
r_pocket = /obj/item/weapon/teleportation_scroll
|
||||||
|
l_hand = /obj/item/weapon/staff
|
||||||
|
r_hand = /obj/item/weapon/spellbook
|
||||||
|
back = /obj/item/weapon/storage/backpack
|
||||||
|
backpack_contents = list(/obj/item/weapon/storage/box = 1)
|
||||||
|
hierarchy_type = /decl/hierarchy/outfit/wizard
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/wizard/blue
|
||||||
|
name = "Wizard - Blue"
|
||||||
|
head = /obj/item/clothing/head/wizard
|
||||||
|
suit = /obj/item/clothing/suit/wizrobe
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/wizard/red
|
||||||
|
name = "Wizard - Red"
|
||||||
|
head = /obj/item/clothing/head/wizard/red
|
||||||
|
suit = /obj/item/clothing/suit/wizrobe/red
|
||||||
|
|
||||||
|
/decl/hierarchy/outfit/wizard/marisa
|
||||||
|
name = "Wizard - Marisa"
|
||||||
|
head = /obj/item/clothing/head/wizard/marisa
|
||||||
|
suit = /obj/item/clothing/suit/wizrobe/marisa
|
||||||
|
shoes = /obj/item/clothing/shoes/sandal/marisa
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
spawn_positions = 3
|
spawn_positions = 3
|
||||||
supervisors = "the chief medical officer"
|
supervisors = "the chief medical officer"
|
||||||
selection_color = "#013D3B"
|
selection_color = "#013D3B"
|
||||||
idtype = /obj/item/weapon/card/id/medical
|
idtype = /obj/item/weapon/card/id/medical/doctor
|
||||||
economic_modifier = 7
|
economic_modifier = 7
|
||||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_eva)
|
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_eva)
|
||||||
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva)
|
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology, access_eva)
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
supervisors = "the chief medical officer"
|
supervisors = "the chief medical officer"
|
||||||
selection_color = "#013D3B"
|
selection_color = "#013D3B"
|
||||||
idtype = /obj/item/weapon/card/id/medical
|
idtype = /obj/item/weapon/card/id/medical/chemist
|
||||||
economic_modifier = 5
|
economic_modifier = 5
|
||||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
|
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics)
|
||||||
minimal_access = list(access_medical, access_medical_equip, access_chemistry)
|
minimal_access = list(access_medical, access_medical_equip, access_chemistry)
|
||||||
@@ -147,6 +147,7 @@
|
|||||||
spawn_positions = 0
|
spawn_positions = 0
|
||||||
supervisors = "the chief medical officer and research director"
|
supervisors = "the chief medical officer and research director"
|
||||||
selection_color = "#013D3B"
|
selection_color = "#013D3B"
|
||||||
|
idtype = /obj/item/weapon/card/id/medical/geneticist
|
||||||
economic_modifier = 7
|
economic_modifier = 7
|
||||||
access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research)
|
access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research)
|
||||||
minimal_access = list(access_medical, access_morgue, access_genetics, access_research)
|
minimal_access = list(access_medical, access_morgue, access_genetics, access_research)
|
||||||
@@ -177,7 +178,7 @@
|
|||||||
economic_modifier = 5
|
economic_modifier = 5
|
||||||
supervisors = "the chief medical officer"
|
supervisors = "the chief medical officer"
|
||||||
selection_color = "#013D3B"
|
selection_color = "#013D3B"
|
||||||
idtype = /obj/item/weapon/card/id/medical
|
idtype = /obj/item/weapon/card/id/medical/psychiatrist
|
||||||
access = list(access_medical, access_medical_equip, access_morgue, access_psychiatrist)
|
access = list(access_medical, access_medical_equip, access_morgue, access_psychiatrist)
|
||||||
minimal_access = list(access_medical, access_medical_equip, access_psychiatrist)
|
minimal_access = list(access_medical, access_medical_equip, access_psychiatrist)
|
||||||
alt_titles = list("Psychologist")
|
alt_titles = list("Psychologist")
|
||||||
@@ -211,7 +212,7 @@
|
|||||||
spawn_positions = 2
|
spawn_positions = 2
|
||||||
supervisors = "the chief medical officer"
|
supervisors = "the chief medical officer"
|
||||||
selection_color = "#013D3B"
|
selection_color = "#013D3B"
|
||||||
idtype = /obj/item/weapon/card/id/medical
|
idtype = /obj/item/weapon/card/id/medical/paramedic
|
||||||
economic_modifier = 4
|
economic_modifier = 4
|
||||||
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist)
|
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist)
|
||||||
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks)
|
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks)
|
||||||
|
|||||||
101
code/game/objects/items/weapons/id cards/cards.dm
Normal file
101
code/game/objects/items/weapons/id cards/cards.dm
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
/* Cards
|
||||||
|
* Contains:
|
||||||
|
* DATA CARD
|
||||||
|
* ID CARD
|
||||||
|
* FINGERPRINT CARD HOLDER
|
||||||
|
* FINGERPRINT CARD
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* DATA CARDS - Used for the teleporter
|
||||||
|
*/
|
||||||
|
/obj/item/weapon/card
|
||||||
|
name = "card"
|
||||||
|
desc = "Does card things."
|
||||||
|
icon = 'icons/obj/card.dmi'
|
||||||
|
w_class = ITEMSIZE_TINY
|
||||||
|
slot_flags = SLOT_EARS
|
||||||
|
var/associated_account_number = 0
|
||||||
|
|
||||||
|
var/list/files = list( )
|
||||||
|
|
||||||
|
/obj/item/weapon/card/data
|
||||||
|
name = "data disk"
|
||||||
|
desc = "A disk of data."
|
||||||
|
icon_state = "data"
|
||||||
|
var/function = "storage"
|
||||||
|
var/data = "null"
|
||||||
|
var/special = null
|
||||||
|
item_state = "card-id"
|
||||||
|
|
||||||
|
/obj/item/weapon/card/data/verb/label(t as text)
|
||||||
|
set name = "Label Disk"
|
||||||
|
set category = "Object"
|
||||||
|
set src in usr
|
||||||
|
|
||||||
|
if (t)
|
||||||
|
src.name = text("data disk- '[]'", t)
|
||||||
|
else
|
||||||
|
src.name = "data disk"
|
||||||
|
src.add_fingerprint(usr)
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/item/weapon/card/data/clown
|
||||||
|
name = "\proper the coordinates to clown planet"
|
||||||
|
icon_state = "data"
|
||||||
|
item_state = "card-id"
|
||||||
|
layer = 3
|
||||||
|
level = 2
|
||||||
|
desc = "This card contains coordinates to the fabled Clown Planet. Handle with care."
|
||||||
|
function = "teleporter"
|
||||||
|
data = "Clown Land"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ID CARDS
|
||||||
|
*/
|
||||||
|
|
||||||
|
/obj/item/weapon/card/emag_broken
|
||||||
|
desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage."
|
||||||
|
name = "broken cryptographic sequencer"
|
||||||
|
icon_state = "emag"
|
||||||
|
item_state = "card-id"
|
||||||
|
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/emag
|
||||||
|
desc = "It's a card with a magnetic strip attached to some circuitry."
|
||||||
|
name = "cryptographic sequencer"
|
||||||
|
icon_state = "emag"
|
||||||
|
item_state = "card-id"
|
||||||
|
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
||||||
|
var/uses = 10
|
||||||
|
|
||||||
|
/obj/item/weapon/card/emag/resolve_attackby(atom/A, mob/user)
|
||||||
|
var/used_uses = A.emag_act(uses, user, src)
|
||||||
|
if(used_uses < 0)
|
||||||
|
return ..(A, user)
|
||||||
|
|
||||||
|
uses -= used_uses
|
||||||
|
A.add_fingerprint(user)
|
||||||
|
log_and_message_admins("emagged \an [A].")
|
||||||
|
|
||||||
|
if(uses<1)
|
||||||
|
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
|
||||||
|
user.drop_item()
|
||||||
|
var/obj/item/weapon/card/emag_broken/junk = new(user.loc)
|
||||||
|
junk.add_fingerprint(user)
|
||||||
|
qdel(src)
|
||||||
|
|
||||||
|
return 1
|
||||||
|
|
||||||
|
/obj/item/weapon/card/emag/attackby(obj/item/O as obj, mob/user as mob)
|
||||||
|
if(istype(O, /obj/item/stack/telecrystal))
|
||||||
|
var/obj/item/stack/telecrystal/T = O
|
||||||
|
if(T.amount < 1)
|
||||||
|
usr << "<span class='notice'>You are not adding enough telecrystals to fuel \the [src].</span>"
|
||||||
|
return
|
||||||
|
uses += T.amount/2 //Gives 5 uses per 10 TC
|
||||||
|
uses = ceil(uses) //Ensures no decimal uses nonsense, rounds up to be nice
|
||||||
|
usr << "<span class='notice'>You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].</span>"
|
||||||
|
qdel(O)
|
||||||
@@ -1,365 +1,397 @@
|
|||||||
/* Cards
|
/obj/item/weapon/card/id
|
||||||
* Contains:
|
name = "identification card"
|
||||||
* DATA CARD
|
desc = "A card used to provide ID and determine access across the station."
|
||||||
* ID CARD
|
icon_state = "id"
|
||||||
* FINGERPRINT CARD HOLDER
|
item_state = "card-id"
|
||||||
* FINGERPRINT CARD
|
|
||||||
*/
|
sprite_sheets = list(
|
||||||
|
"Teshari" = 'icons/mob/species/seromi/id.dmi'
|
||||||
|
)
|
||||||
|
|
||||||
/*
|
var/access = list()
|
||||||
* DATA CARDS - Used for the teleporter
|
var/registered_name = "Unknown" // The name registered_name on the card
|
||||||
*/
|
slot_flags = SLOT_ID | SLOT_EARS
|
||||||
/obj/item/weapon/card
|
|
||||||
name = "card"
|
var/age = "\[UNSET\]"
|
||||||
desc = "Does card things."
|
var/blood_type = "\[UNSET\]"
|
||||||
icon = 'icons/obj/card.dmi'
|
var/dna_hash = "\[UNSET\]"
|
||||||
w_class = ITEMSIZE_TINY
|
var/fingerprint_hash = "\[UNSET\]"
|
||||||
slot_flags = SLOT_EARS
|
var/sex = "\[UNSET\]"
|
||||||
var/associated_account_number = 0
|
var/icon/front
|
||||||
|
var/icon/side
|
||||||
var/list/files = list( )
|
|
||||||
|
var/primary_color = rgb(0,0,0) // Obtained by eyedroppering the stripe in the middle of the card
|
||||||
/obj/item/weapon/card/data
|
var/secondary_color = rgb(0,0,0) // Likewise for the oval in the top-left corner
|
||||||
name = "data disk"
|
|
||||||
desc = "A disk of data."
|
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
||||||
icon_state = "data"
|
var/assignment = null //can be alt title or the actual job
|
||||||
var/function = "storage"
|
var/rank = null //actual job
|
||||||
var/data = "null"
|
var/dorm = 0 // determines if this ID has claimed a dorm already
|
||||||
var/special = null
|
|
||||||
item_state = "card-id"
|
/obj/item/weapon/card/id/examine(mob/user)
|
||||||
|
set src in oview(1)
|
||||||
/obj/item/weapon/card/data/verb/label(t as text)
|
if(in_range(usr, src))
|
||||||
set name = "Label Disk"
|
show(usr)
|
||||||
set category = "Object"
|
usr << desc
|
||||||
set src in usr
|
else
|
||||||
|
usr << "<span class='warning'>It is too far away.</span>"
|
||||||
if (t)
|
|
||||||
src.name = text("data disk- '[]'", t)
|
/obj/item/weapon/card/id/proc/prevent_tracking()
|
||||||
else
|
return 0
|
||||||
src.name = "data disk"
|
|
||||||
src.add_fingerprint(usr)
|
/obj/item/weapon/card/id/proc/show(mob/user as mob)
|
||||||
return
|
if(front && side)
|
||||||
|
user << browse_rsc(front, "front.png")
|
||||||
/obj/item/weapon/card/data/clown
|
user << browse_rsc(side, "side.png")
|
||||||
name = "\proper the coordinates to clown planet"
|
var/datum/browser/popup = new(user, "idcard", name, 600, 250)
|
||||||
icon_state = "data"
|
popup.set_content(dat())
|
||||||
item_state = "card-id"
|
popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state))
|
||||||
layer = 3
|
popup.open()
|
||||||
level = 2
|
return
|
||||||
desc = "This card contains coordinates to the fabled Clown Planet. Handle with care."
|
|
||||||
function = "teleporter"
|
/obj/item/weapon/card/id/proc/update_name()
|
||||||
data = "Clown Land"
|
name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||||
|
|
||||||
/*
|
/obj/item/weapon/card/id/proc/set_id_photo(var/mob/M)
|
||||||
* ID CARDS
|
front = getFlatIcon(M, SOUTH, always_use_defdir = 1)
|
||||||
*/
|
side = getFlatIcon(M, WEST, always_use_defdir = 1)
|
||||||
|
|
||||||
/obj/item/weapon/card/emag_broken
|
/mob/proc/set_id_info(var/obj/item/weapon/card/id/id_card)
|
||||||
desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage."
|
id_card.age = 0
|
||||||
name = "broken cryptographic sequencer"
|
id_card.registered_name = real_name
|
||||||
icon_state = "emag"
|
id_card.sex = capitalize(gender)
|
||||||
item_state = "card-id"
|
id_card.set_id_photo(src)
|
||||||
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
|
||||||
|
if(dna)
|
||||||
/obj/item/weapon/card/emag
|
id_card.blood_type = dna.b_type
|
||||||
desc = "It's a card with a magnetic strip attached to some circuitry."
|
id_card.dna_hash = dna.unique_enzymes
|
||||||
name = "cryptographic sequencer"
|
id_card.fingerprint_hash= md5(dna.uni_identity)
|
||||||
icon_state = "emag"
|
id_card.update_name()
|
||||||
item_state = "card-id"
|
|
||||||
origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2)
|
/mob/living/carbon/human/set_id_info(var/obj/item/weapon/card/id/id_card)
|
||||||
var/uses = 10
|
..()
|
||||||
|
id_card.age = age
|
||||||
/obj/item/weapon/card/emag/resolve_attackby(atom/A, mob/user)
|
|
||||||
var/used_uses = A.emag_act(uses, user, src)
|
/obj/item/weapon/card/id/proc/dat()
|
||||||
if(used_uses < 0)
|
var/dat = ("<table><tr><td>")
|
||||||
return ..(A, user)
|
dat += text("Name: []</A><BR>", registered_name)
|
||||||
|
dat += text("Sex: []</A><BR>\n", sex)
|
||||||
uses -= used_uses
|
dat += text("Age: []</A><BR>\n", age)
|
||||||
A.add_fingerprint(user)
|
dat += text("Rank: []</A><BR>\n", assignment)
|
||||||
log_and_message_admins("emagged \an [A].")
|
dat += text("Fingerprint: []</A><BR>\n", fingerprint_hash)
|
||||||
|
dat += text("Blood Type: []<BR>\n", blood_type)
|
||||||
if(uses<1)
|
dat += text("DNA Hash: []<BR><BR>\n", dna_hash)
|
||||||
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
|
if(front && side)
|
||||||
user.drop_item()
|
dat +="<td align = center valign = top>Photo:<br><img src=front.png height=80 width=80 border=4><img src=side.png height=80 width=80 border=4></td>"
|
||||||
var/obj/item/weapon/card/emag_broken/junk = new(user.loc)
|
dat += "</tr></table>"
|
||||||
junk.add_fingerprint(user)
|
return dat
|
||||||
qdel(src)
|
|
||||||
|
/obj/item/weapon/card/id/attack_self(mob/user as mob)
|
||||||
return 1
|
user.visible_message("\The [user] shows you: \icon[src] [src.name]. The assignment on the card: [src.assignment]",\
|
||||||
|
"You flash your ID card: \icon[src] [src.name]. The assignment on the card: [src.assignment]")
|
||||||
/obj/item/weapon/card/emag/attackby(obj/item/O as obj, mob/user as mob)
|
|
||||||
if(istype(O, /obj/item/stack/telecrystal))
|
src.add_fingerprint(user)
|
||||||
var/obj/item/stack/telecrystal/T = O
|
return
|
||||||
if(T.amount < 1)
|
|
||||||
usr << "<span class='notice'>You are not adding enough telecrystals to fuel \the [src].</span>"
|
/obj/item/weapon/card/id/GetAccess()
|
||||||
return
|
return access
|
||||||
uses += T.amount/2 //Gives 5 uses per 10 TC
|
|
||||||
uses = ceil(uses) //Ensures no decimal uses nonsense, rounds up to be nice
|
/obj/item/weapon/card/id/GetID()
|
||||||
usr << "<span class='notice'>You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].</span>"
|
return src
|
||||||
qdel(O)
|
|
||||||
|
/obj/item/weapon/card/id/verb/read()
|
||||||
|
set name = "Read ID Card"
|
||||||
/obj/item/weapon/card/id
|
set category = "Object"
|
||||||
name = "identification card"
|
set src in usr
|
||||||
desc = "A card used to provide ID and determine access across the station."
|
|
||||||
icon_state = "id"
|
usr << text("\icon[] []: The current assignment on the card is [].", src, src.name, src.assignment)
|
||||||
item_state = "card-id"
|
usr << "The blood type on the card is [blood_type]."
|
||||||
|
usr << "The DNA hash on the card is [dna_hash]."
|
||||||
sprite_sheets = list(
|
usr << "The fingerprint hash on the card is [fingerprint_hash]."
|
||||||
"Teshari" = 'icons/mob/species/seromi/id.dmi'
|
return
|
||||||
)
|
|
||||||
|
/obj/item/weapon/card/id/silver
|
||||||
var/access = list()
|
name = "identification card"
|
||||||
var/registered_name = "Unknown" // The name registered_name on the card
|
desc = "A silver card which shows honour and dedication."
|
||||||
slot_flags = SLOT_ID | SLOT_EARS
|
icon_state = "silver"
|
||||||
|
item_state = "silver_id"
|
||||||
var/age = "\[UNSET\]"
|
|
||||||
var/blood_type = "\[UNSET\]"
|
/obj/item/weapon/card/id/silver/secretary/New()
|
||||||
var/dna_hash = "\[UNSET\]"
|
..()
|
||||||
var/fingerprint_hash = "\[UNSET\]"
|
access |= list(access_heads)
|
||||||
var/sex = "\[UNSET\]"
|
|
||||||
var/icon/front
|
/obj/item/weapon/card/id/silver/hop/New()
|
||||||
var/icon/side
|
..()
|
||||||
|
access |= list(access_security, access_sec_doors, access_brig, access_forensics_lockers,
|
||||||
var/primary_color = rgb(0,0,0) // Obtained by eyedroppering the stripe in the middle of the card
|
access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads,
|
||||||
var/secondary_color = rgb(0,0,0) // Likewise for the oval in the top-left corner
|
access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue,
|
||||||
|
access_crematorium, access_kitchen, access_cargo, access_cargo_bot, access_mailsorting, access_qm, access_hydroponics, access_lawyer,
|
||||||
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
access_chapel_office, access_library, access_research, access_mining, access_heads_vault, access_mining_station,
|
||||||
var/assignment = null //can be alt title or the actual job
|
access_hop, access_RC_announce, access_keycard_auth, access_gateway)
|
||||||
var/rank = null //actual job
|
|
||||||
var/dorm = 0 // determines if this ID has claimed a dorm already
|
/obj/item/weapon/card/id/gold
|
||||||
|
name = "identification card"
|
||||||
/obj/item/weapon/card/id/examine(mob/user)
|
desc = "A golden card which shows power and might."
|
||||||
set src in oview(1)
|
icon_state = "gold"
|
||||||
if(in_range(usr, src))
|
item_state = "gold_id"
|
||||||
show(usr)
|
|
||||||
usr << desc
|
/obj/item/weapon/card/id/gold/captain/New()
|
||||||
else
|
access = get_all_station_access()
|
||||||
usr << "<span class='warning'>It is too far away.</span>"
|
..()
|
||||||
|
|
||||||
/obj/item/weapon/card/id/proc/prevent_tracking()
|
/obj/item/weapon/card/id/captains_spare
|
||||||
return 0
|
name = "colony director's spare ID"
|
||||||
|
desc = "The spare ID of the High Lord himself."
|
||||||
/obj/item/weapon/card/id/proc/show(mob/user as mob)
|
icon_state = "gold"
|
||||||
if(front && side)
|
item_state = "gold_id"
|
||||||
user << browse_rsc(front, "front.png")
|
registered_name = "Colony Director"
|
||||||
user << browse_rsc(side, "side.png")
|
assignment = "Colony Director"
|
||||||
var/datum/browser/popup = new(user, "idcard", name, 600, 250)
|
|
||||||
popup.set_content(dat())
|
/obj/item/weapon/card/id/captains_spare/New()
|
||||||
popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state))
|
access = get_all_station_access()
|
||||||
popup.open()
|
..()
|
||||||
return
|
|
||||||
|
/obj/item/weapon/card/id/synthetic
|
||||||
/obj/item/weapon/card/id/proc/update_name()
|
name = "\improper Synthetic ID"
|
||||||
name = "[src.registered_name]'s ID Card ([src.assignment])"
|
desc = "Access module for NanoTrasen Synthetics"
|
||||||
|
icon_state = "id-robot"
|
||||||
/obj/item/weapon/card/id/proc/set_id_photo(var/mob/M)
|
item_state = "tdgreen"
|
||||||
front = getFlatIcon(M, SOUTH, always_use_defdir = 1)
|
assignment = "Synthetic"
|
||||||
side = getFlatIcon(M, WEST, always_use_defdir = 1)
|
|
||||||
|
/obj/item/weapon/card/id/synthetic/New()
|
||||||
/mob/proc/set_id_info(var/obj/item/weapon/card/id/id_card)
|
access = get_all_station_access() + access_synth
|
||||||
id_card.age = 0
|
..()
|
||||||
id_card.registered_name = real_name
|
|
||||||
id_card.sex = capitalize(gender)
|
/obj/item/weapon/card/id/centcom
|
||||||
id_card.set_id_photo(src)
|
name = "\improper CentCom. ID"
|
||||||
|
desc = "An ID straight from Central Command."
|
||||||
if(dna)
|
icon_state = "centcom"
|
||||||
id_card.blood_type = dna.b_type
|
registered_name = "Central Command"
|
||||||
id_card.dna_hash = dna.unique_enzymes
|
assignment = "General"
|
||||||
id_card.fingerprint_hash= md5(dna.uni_identity)
|
|
||||||
id_card.update_name()
|
/obj/item/weapon/card/id/centcom/New()
|
||||||
|
access = get_all_centcom_access()
|
||||||
/mob/living/carbon/human/set_id_info(var/obj/item/weapon/card/id/id_card)
|
..()
|
||||||
..()
|
|
||||||
id_card.age = age
|
/obj/item/weapon/card/id/centcom/station/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/proc/dat()
|
access |= get_all_station_access()
|
||||||
var/dat = ("<table><tr><td>")
|
|
||||||
dat += text("Name: []</A><BR>", registered_name)
|
/obj/item/weapon/card/id/centcom/ERT
|
||||||
dat += text("Sex: []</A><BR>\n", sex)
|
name = "\improper Emergency Response Team ID"
|
||||||
dat += text("Age: []</A><BR>\n", age)
|
assignment = "Emergency Response Team"
|
||||||
dat += text("Rank: []</A><BR>\n", assignment)
|
|
||||||
dat += text("Fingerprint: []</A><BR>\n", fingerprint_hash)
|
/obj/item/weapon/card/id/centcom/ERT/New()
|
||||||
dat += text("Blood Type: []<BR>\n", blood_type)
|
..()
|
||||||
dat += text("DNA Hash: []<BR><BR>\n", dna_hash)
|
access |= get_all_station_access()
|
||||||
if(front && side)
|
|
||||||
dat +="<td align = center valign = top>Photo:<br><img src=front.png height=80 width=80 border=4><img src=side.png height=80 width=80 border=4></td>"
|
// Department-flavor IDs
|
||||||
dat += "</tr></table>"
|
/obj/item/weapon/card/id/medical
|
||||||
return dat
|
name = "identification card"
|
||||||
|
desc = "A card issued to station medical staff."
|
||||||
/obj/item/weapon/card/id/attack_self(mob/user as mob)
|
icon_state = "med"
|
||||||
user.visible_message("\The [user] shows you: \icon[src] [src.name]. The assignment on the card: [src.assignment]",\
|
primary_color = rgb(189,237,237)
|
||||||
"You flash your ID card: \icon[src] [src.name]. The assignment on the card: [src.assignment]")
|
secondary_color = rgb(223,255,255)
|
||||||
|
access = list(access_medical, access_medical_equip)
|
||||||
src.add_fingerprint(user)
|
|
||||||
return
|
/obj/item/weapon/card/id/medical/doctor/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/GetAccess()
|
access |= list(access_morgue, access_surgery, access_virology, access_eva)
|
||||||
return access
|
|
||||||
|
/obj/item/weapon/card/id/medical/chemist/New()
|
||||||
/obj/item/weapon/card/id/GetID()
|
..()
|
||||||
return src
|
access |= list(access_chemistry)
|
||||||
|
|
||||||
/obj/item/weapon/card/id/verb/read()
|
/obj/item/weapon/card/id/medical/geneticist/New()
|
||||||
set name = "Read ID Card"
|
..()
|
||||||
set category = "Object"
|
access |= list(access_morgue, access_genetics)
|
||||||
set src in usr
|
|
||||||
|
/obj/item/weapon/card/id/medical/psychiatrist/New()
|
||||||
usr << text("\icon[] []: The current assignment on the card is [].", src, src.name, src.assignment)
|
..()
|
||||||
usr << "The blood type on the card is [blood_type]."
|
access |= list(access_psychiatrist)
|
||||||
usr << "The DNA hash on the card is [dna_hash]."
|
|
||||||
usr << "The fingerprint hash on the card is [fingerprint_hash]."
|
/obj/item/weapon/card/id/medical/paramedic/New()
|
||||||
return
|
..()
|
||||||
|
access |= list(access_morgue, access_eva, access_maint_tunnels, access_external_airlocks)
|
||||||
/obj/item/weapon/card/id/silver
|
|
||||||
name = "identification card"
|
/obj/item/weapon/card/id/medical/head
|
||||||
desc = "A silver card which shows honour and dedication."
|
name = "identification card"
|
||||||
icon_state = "silver"
|
desc = "A card which represents care and compassion."
|
||||||
item_state = "silver_id"
|
icon_state = "medGold"
|
||||||
|
primary_color = rgb(189,237,237)
|
||||||
/obj/item/weapon/card/id/gold
|
secondary_color = rgb(255,223,127)
|
||||||
name = "identification card"
|
|
||||||
desc = "A golden card which shows power and might."
|
/obj/item/weapon/card/id/medical/head/New()
|
||||||
icon_state = "gold"
|
access |= list(access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce,
|
||||||
item_state = "gold_id"
|
access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks, access_maint_tunnels)
|
||||||
|
|
||||||
/obj/item/weapon/card/id/syndicate_command
|
/obj/item/weapon/card/id/security
|
||||||
name = "syndicate ID card"
|
name = "identification card"
|
||||||
desc = "An ID straight from the Syndicate."
|
desc = "A card issued to station security staff."
|
||||||
registered_name = "Syndicate"
|
icon_state = "sec"
|
||||||
assignment = "Syndicate Overlord"
|
primary_color = rgb(189,47,0)
|
||||||
access = list(access_syndicate, access_external_airlocks)
|
secondary_color = rgb(223,127,95)
|
||||||
|
access = list(access_security, access_sec_doors, access_maint_tunnels, access_external_airlocks, access_eva)
|
||||||
/obj/item/weapon/card/id/captains_spare
|
|
||||||
name = "colony director's spare ID"
|
/obj/item/weapon/card/id/security/officer/New()
|
||||||
desc = "The spare ID of the High Lord himself."
|
..()
|
||||||
icon_state = "gold"
|
access |= list(access_brig)
|
||||||
item_state = "gold_id"
|
|
||||||
registered_name = "Colony Director"
|
/obj/item/weapon/card/id/security/detective/New()
|
||||||
assignment = "Colony Director"
|
..()
|
||||||
/obj/item/weapon/card/id/captains_spare/New()
|
access |= list(access_forensics_lockers, access_morgue)
|
||||||
access = get_all_station_access()
|
|
||||||
..()
|
/obj/item/weapon/card/id/security/warden/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/synthetic
|
access |= list(access_brig, access_armory)
|
||||||
name = "\improper Synthetic ID"
|
|
||||||
desc = "Access module for NanoTrasen Synthetics"
|
/obj/item/weapon/card/id/security/head
|
||||||
icon_state = "id-robot"
|
name = "identification card"
|
||||||
item_state = "tdgreen"
|
desc = "A card which represents honor and protection."
|
||||||
assignment = "Synthetic"
|
icon_state = "secGold"
|
||||||
|
primary_color = rgb(189,47,0)
|
||||||
/obj/item/weapon/card/id/synthetic/New()
|
secondary_color = rgb(255,223,127)
|
||||||
access = get_all_station_access() + access_synth
|
|
||||||
..()
|
/obj/item/weapon/card/id/security/head/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/centcom
|
access |= list(access_brig, access_armory, access_forensics_lockers, access_morgue, access_all_personal_lockers,
|
||||||
name = "\improper CentCom. ID"
|
access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting,
|
||||||
desc = "An ID straight from Central Command."
|
access_heads, access_hos, access_RC_announce, access_keycard_auth, access_gateway)
|
||||||
icon_state = "centcom"
|
|
||||||
registered_name = "Central Command"
|
/obj/item/weapon/card/id/engineering
|
||||||
assignment = "General"
|
name = "identification card"
|
||||||
New()
|
desc = "A card issued to station engineering staff."
|
||||||
access = get_all_centcom_access()
|
icon_state = "eng"
|
||||||
..()
|
primary_color = rgb(189,94,0)
|
||||||
|
secondary_color = rgb(223,159,95)
|
||||||
/obj/item/weapon/card/id/centcom/ERT
|
access = list(access_eva, access_engine, access_maint_tunnels, access_construction, access_external_airlocks)
|
||||||
name = "\improper Emergency Response Team ID"
|
|
||||||
assignment = "Emergency Response Team"
|
/obj/item/weapon/card/id/engineering/engineer/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/centcom/ERT/New()
|
access |= list(access_engine_equip, access_tech_storage)
|
||||||
..()
|
|
||||||
access |= get_all_station_access()
|
/obj/item/weapon/card/id/engineering/atmos/New()
|
||||||
|
..()
|
||||||
// Department-flavor IDs
|
access |= list(access_atmospherics, access_emergency_storage)
|
||||||
/obj/item/weapon/card/id/medical
|
|
||||||
name = "identification card"
|
/obj/item/weapon/card/id/engineering/head
|
||||||
desc = "A card issued to station medical staff."
|
name = "identification card"
|
||||||
icon_state = "med"
|
desc = "A card which represents creativity and ingenuity."
|
||||||
primary_color = rgb(189,237,237)
|
icon_state = "engGold"
|
||||||
secondary_color = rgb(223,255,255)
|
primary_color = rgb(189,94,0)
|
||||||
|
secondary_color = rgb(255,223,127)
|
||||||
/obj/item/weapon/card/id/medical/head
|
|
||||||
name = "identification card"
|
/obj/item/weapon/card/id/engineering/head/New()
|
||||||
desc = "A card which represents care and compassion."
|
..()
|
||||||
icon_state = "medGold"
|
access |= list(access_engine_equip, access_tech_storage, access_teleporter, access_atmospherics, access_emergency_storage,
|
||||||
primary_color = rgb(189,237,237)
|
access_heads, access_sec_doors, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat, access_ai_upload)
|
||||||
secondary_color = rgb(255,223,127)
|
|
||||||
|
/obj/item/weapon/card/id/science
|
||||||
/obj/item/weapon/card/id/security
|
name = "identification card"
|
||||||
name = "identification card"
|
desc = "A card issued to station science staff."
|
||||||
desc = "A card issued to station security staff."
|
icon_state = "sci"
|
||||||
icon_state = "sec"
|
primary_color = rgb(142,47,142)
|
||||||
primary_color = rgb(189,47,0)
|
secondary_color = rgb(191,127,191)
|
||||||
secondary_color = rgb(223,127,95)
|
access = list(access_research)
|
||||||
|
|
||||||
/obj/item/weapon/card/id/security/head
|
/obj/item/weapon/card/id/science/scientist/New()
|
||||||
name = "identification card"
|
..()
|
||||||
desc = "A card which represents honor and protection."
|
access |= list(access_tox, access_tox_storage, access_xenoarch)
|
||||||
icon_state = "secGold"
|
|
||||||
primary_color = rgb(189,47,0)
|
/obj/item/weapon/card/id/science/xenobiologist/New()
|
||||||
secondary_color = rgb(255,223,127)
|
..()
|
||||||
|
access |= list(access_xenobiology, access_hydroponics, access_tox_storage)
|
||||||
/obj/item/weapon/card/id/engineering
|
|
||||||
name = "identification card"
|
/obj/item/weapon/card/id/science/roboticist/New()
|
||||||
desc = "A card issued to station engineering staff."
|
..()
|
||||||
icon_state = "eng"
|
access |= list(access_robotics, access_tech_storage, access_morgue)
|
||||||
primary_color = rgb(189,94,0)
|
|
||||||
secondary_color = rgb(223,159,95)
|
/obj/item/weapon/card/id/science/head
|
||||||
|
name = "identification card"
|
||||||
/obj/item/weapon/card/id/engineering/head
|
desc = "A card which represents knowledge and reasoning."
|
||||||
name = "identification card"
|
icon_state = "sciGold"
|
||||||
desc = "A card which represents creativity and ingenuity."
|
primary_color = rgb(142,47,142)
|
||||||
icon_state = "engGold"
|
secondary_color = rgb(255,223,127)
|
||||||
primary_color = rgb(189,94,0)
|
|
||||||
secondary_color = rgb(255,223,127)
|
/obj/item/weapon/card/id/science/head/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/science
|
access |= list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors,
|
||||||
name = "identification card"
|
access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, access_RC_announce, access_keycard_auth,
|
||||||
desc = "A card issued to station science staff."
|
access_tcomsat, access_gateway, access_xenoarch)
|
||||||
icon_state = "sci"
|
|
||||||
primary_color = rgb(142,47,142)
|
/obj/item/weapon/card/id/cargo
|
||||||
secondary_color = rgb(191,127,191)
|
name = "identification card"
|
||||||
|
desc = "A card issued to station cargo staff."
|
||||||
/obj/item/weapon/card/id/science/head
|
icon_state = "cargo"
|
||||||
name = "identification card"
|
primary_color = rgb(142,94,0)
|
||||||
desc = "A card which represents knowledge and reasoning."
|
secondary_color = rgb(191,159,95)
|
||||||
icon_state = "sciGold"
|
access = list(access_mailsorting)
|
||||||
primary_color = rgb(142,47,142)
|
|
||||||
secondary_color = rgb(255,223,127)
|
/obj/item/weapon/card/id/cargo/cargo_tech/New()
|
||||||
|
..()
|
||||||
/obj/item/weapon/card/id/cargo
|
access |= list(access_maint_tunnels, access_cargo, access_cargo_bot)
|
||||||
name = "identification card"
|
|
||||||
desc = "A card issued to station cargo staff."
|
/obj/item/weapon/card/id/cargo/mining/New()
|
||||||
icon_state = "cargo"
|
..()
|
||||||
primary_color = rgb(142,94,0)
|
access |= list(access_mining, access_mining_station)
|
||||||
secondary_color = rgb(191,159,95)
|
|
||||||
|
/obj/item/weapon/card/id/cargo/head
|
||||||
/obj/item/weapon/card/id/cargo/head
|
name = "identification card"
|
||||||
name = "identification card"
|
desc = "A card which represents service and planning."
|
||||||
desc = "A card which represents service and planning."
|
icon_state = "cargoGold"
|
||||||
icon_state = "cargoGold"
|
primary_color = rgb(142,94,0)
|
||||||
primary_color = rgb(142,94,0)
|
secondary_color = rgb(255,223,127)
|
||||||
secondary_color = rgb(255,223,127)
|
|
||||||
|
/obj/item/weapon/card/id/cargo/head/New()
|
||||||
/obj/item/weapon/card/id/civilian
|
..()
|
||||||
name = "identification card"
|
access |= list(access_maint_tunnels, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
|
||||||
desc = "A card issued to station civilian staff."
|
|
||||||
icon_state = "civ"
|
/obj/item/weapon/card/id/civilian
|
||||||
primary_color = rgb(0,94,142)
|
name = "identification card"
|
||||||
secondary_color = rgb(95,159,191)
|
desc = "A card issued to station civilian staff."
|
||||||
|
icon_state = "civ"
|
||||||
/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
|
primary_color = rgb(0,94,142)
|
||||||
name = "identification card"
|
secondary_color = rgb(95,159,191)
|
||||||
desc = "A card which represents common sense and responsibility."
|
access = list()
|
||||||
icon_state = "civGold"
|
|
||||||
primary_color = rgb(0,94,142)
|
/obj/item/weapon/card/id/civilian/bartender/New()
|
||||||
secondary_color = rgb(255,223,127)
|
..()
|
||||||
|
access |= list(access_bar)
|
||||||
/obj/item/weapon/card/id/external
|
|
||||||
name = "identification card"
|
/obj/item/weapon/card/id/civilian/botanist/New()
|
||||||
desc = "An identification card of some sort. It does not look like it is issued by NT."
|
..()
|
||||||
icon_state = "permit"
|
access |= list(access_hydroponics)
|
||||||
primary_color = rgb(142,94,0)
|
|
||||||
|
/obj/item/weapon/card/id/civilian/chaplain/New()
|
||||||
|
..()
|
||||||
|
access |= list(access_chapel_office, access_crematorium)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/civilian/chef/New()
|
||||||
|
..()
|
||||||
|
access |= list(access_kitchen)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/civilian/internal_affairs_agent/New()
|
||||||
|
..()
|
||||||
|
access |= list(access_lawyer, access_sec_doors, access_heads)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/civilian/janitor/New()
|
||||||
|
..()
|
||||||
|
access |= list(access_janitor, access_maint_tunnels)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/civilian/librarian/New()
|
||||||
|
..()
|
||||||
|
access |= list(access_library)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
|
||||||
|
name = "identification card"
|
||||||
|
desc = "A card which represents common sense and responsibility."
|
||||||
|
icon_state = "civGold"
|
||||||
|
primary_color = rgb(0,94,142)
|
||||||
|
secondary_color = rgb(255,223,127)
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/external
|
||||||
|
name = "identification card"
|
||||||
|
desc = "An identification card of some sort. It does not look like it is issued by NT."
|
||||||
|
icon_state = "permit"
|
||||||
|
primary_color = rgb(142,94,0)
|
||||||
secondary_color = rgb(191,159,95)
|
secondary_color = rgb(191,159,95)
|
||||||
@@ -27,12 +27,12 @@
|
|||||||
var/obj/item/weapon/card/id/I = O
|
var/obj/item/weapon/card/id/I = O
|
||||||
src.access |= I.access
|
src.access |= I.access
|
||||||
if(player_is_antag(user.mind))
|
if(player_is_antag(user.mind))
|
||||||
user << "<span class='notice'>The microscanner activates as you pass it over the ID, copying its access.</span>"
|
to_chat(user, "<span class='notice'>The microscanner activates as you pass it over the ID, copying its access.</span>")
|
||||||
|
|
||||||
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
|
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
|
||||||
// We use the fact that registered_name is not unset should the owner be vaporized, to ensure the id doesn't magically become unlocked.
|
// We use the fact that registered_name is not unset should the owner be vaporized, to ensure the id doesn't magically become unlocked.
|
||||||
if(!registered_user && register_user(user))
|
if(!registered_user && register_user(user))
|
||||||
user << "<span class='notice'>The microscanner marks you as its owner, preventing others from accessing its internals.</span>"
|
to_chat(user, "<span class='notice'>The microscanner marks you as its owner, preventing others from accessing its internals.</span>")
|
||||||
if(registered_user == user)
|
if(registered_user == user)
|
||||||
switch(alert("Would you like edit the ID, or show it?","Show or Edit?", "Edit","Show"))
|
switch(alert("Would you like edit the ID, or show it?","Show or Edit?", "Edit","Show"))
|
||||||
if("Edit")
|
if("Edit")
|
||||||
@@ -209,3 +209,10 @@
|
|||||||
|
|
||||||
/datum/card_state/dd_SortValue()
|
/datum/card_state/dd_SortValue()
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
/obj/item/weapon/card/id/syndicate_command
|
||||||
|
name = "syndicate ID card"
|
||||||
|
desc = "An ID straight from the Syndicate."
|
||||||
|
registered_name = "Syndicate"
|
||||||
|
assignment = "Syndicate Overlord"
|
||||||
|
access = list(access_syndicate, access_external_airlocks)
|
||||||
@@ -112,7 +112,7 @@ var/list/admin_verbs_sounds = list(
|
|||||||
)
|
)
|
||||||
var/list/admin_verbs_fun = list(
|
var/list/admin_verbs_fun = list(
|
||||||
/client/proc/object_talk,
|
/client/proc/object_talk,
|
||||||
/client/proc/cmd_admin_dress,
|
/datum/admins/proc/cmd_admin_dress,
|
||||||
/client/proc/cmd_admin_gib_self,
|
/client/proc/cmd_admin_gib_self,
|
||||||
/client/proc/drop_bomb,
|
/client/proc/drop_bomb,
|
||||||
/client/proc/everyone_random,
|
/client/proc/everyone_random,
|
||||||
@@ -255,7 +255,7 @@ var/list/admin_verbs_hideable = list(
|
|||||||
/client/proc/play_sound,
|
/client/proc/play_sound,
|
||||||
/client/proc/play_server_sound,
|
/client/proc/play_server_sound,
|
||||||
/client/proc/object_talk,
|
/client/proc/object_talk,
|
||||||
/client/proc/cmd_admin_dress,
|
/datum/admins/proc/cmd_admin_dress,
|
||||||
/client/proc/cmd_admin_gib_self,
|
/client/proc/cmd_admin_gib_self,
|
||||||
/client/proc/drop_bomb,
|
/client/proc/drop_bomb,
|
||||||
/client/proc/cinematic,
|
/client/proc/cinematic,
|
||||||
|
|||||||
@@ -385,410 +385,31 @@
|
|||||||
for(var/areatype in areas_without_camera)
|
for(var/areatype in areas_without_camera)
|
||||||
world << "* [areatype]"
|
world << "* [areatype]"
|
||||||
|
|
||||||
/client/proc/cmd_admin_dress()
|
/datum/admins/proc/cmd_admin_dress()
|
||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Select equipment"
|
set name = "Select equipment"
|
||||||
|
|
||||||
var/mob/living/carbon/human/M = input("Select mob.", "Select equipment.") as null|anything in human_mob_list
|
if(!check_rights(R_FUN))
|
||||||
if(!M) return
|
|
||||||
|
|
||||||
//log_admin("[key_name(src)] has alienized [M.key].")
|
|
||||||
var/list/dresspacks = list(
|
|
||||||
"strip",
|
|
||||||
"job",
|
|
||||||
"standard space gear",
|
|
||||||
"tournament standard red",
|
|
||||||
"tournament standard green",
|
|
||||||
"tournament gangster",
|
|
||||||
"tournament chef",
|
|
||||||
"tournament janitor",
|
|
||||||
"pirate",
|
|
||||||
"space pirate",
|
|
||||||
"soviet admiral",
|
|
||||||
"tunnel clown",
|
|
||||||
"masked killer",
|
|
||||||
"assassin",
|
|
||||||
"death commando",
|
|
||||||
"syndicate commando",
|
|
||||||
"special ops officer",
|
|
||||||
"blue wizard",
|
|
||||||
"red wizard",
|
|
||||||
"marisa wizard",
|
|
||||||
"emergency response team",
|
|
||||||
"nanotrasen representative",
|
|
||||||
"nanotrasen officer",
|
|
||||||
"nanotrasen captain"
|
|
||||||
)
|
|
||||||
var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in dresspacks
|
|
||||||
if (isnull(dresscode))
|
|
||||||
return
|
return
|
||||||
feedback_add_details("admin_verb","SEQ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
||||||
for (var/obj/item/I in M)
|
|
||||||
if (istype(I, /obj/item/weapon/implant))
|
|
||||||
continue
|
|
||||||
M.drop_from_inventory(I)
|
|
||||||
if(I.loc != M)
|
|
||||||
qdel(I)
|
|
||||||
switch(dresscode)
|
|
||||||
if ("strip")
|
|
||||||
//do nothing
|
|
||||||
if ("job")
|
|
||||||
var/selected_job = input("Select job", "Robust quick dress shop") as null|anything in joblist
|
|
||||||
if (isnull(selected_job))
|
|
||||||
return
|
|
||||||
|
|
||||||
var/datum/job/job = job_master.GetJob(selected_job)
|
var/mob/living/carbon/human/H = input("Select mob.", "Select equipment.") as null|anything in human_mob_list
|
||||||
if(!job)
|
if(!H)
|
||||||
return
|
return
|
||||||
|
|
||||||
job.equip(M)
|
var/decl/hierarchy/outfit/outfit = input("Select outfit.", "Select equipment.") as null|anything in outfits()
|
||||||
job.apply_fingerprints(M)
|
if(!outfit)
|
||||||
job_master.spawnId(M, selected_job)
|
return
|
||||||
|
|
||||||
if ("standard space gear")
|
feedback_add_details("admin_verb","SEQ")
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
dressup_human(H, outfit)
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(M), slot_w_uniform)
|
/proc/dressup_human(var/mob/living/carbon/human/H, var/decl/hierarchy/outfit/outfit, var/undress = TRUE)
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space(M), slot_wear_suit)
|
if(!H || !outfit)
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space(M), slot_head)
|
return
|
||||||
var /obj/item/weapon/tank/jetpack/J = new /obj/item/weapon/tank/jetpack/oxygen(M)
|
if(undress)
|
||||||
M.equip_to_slot_or_del(J, slot_back)
|
H.delete_inventory(TRUE)
|
||||||
J.toggle()
|
outfit.equip(H)
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask)
|
log_and_message_admins("changed the equipment of [key_name(H)] to [outfit.name].")
|
||||||
J.Topic(null, list("stat" = 1))
|
|
||||||
if ("tournament standard red","tournament standard green") //we think stunning weapon is too overpowered to use it on tournaments. --rastaf0
|
|
||||||
if (dresscode=="tournament standard red")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/red(M), slot_w_uniform)
|
|
||||||
else
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/green(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store)
|
|
||||||
|
|
||||||
|
|
||||||
if ("tournament gangster") //gangster are supposed to fight each other. --rastaf0
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/det(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_trench(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/det(M), slot_head)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/ammo_magazine/s357(M), slot_l_store)
|
|
||||||
|
|
||||||
if ("tournament chef") //Steven Seagal FTW
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/kitchen/rollingpin(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_s_store)
|
|
||||||
|
|
||||||
if ("tournament janitor")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
var/obj/item/weapon/storage/backpack/backpack = new(M)
|
|
||||||
for(var/obj/item/I in backpack)
|
|
||||||
qdel(I)
|
|
||||||
M.equip_to_slot_or_del(backpack, slot_back)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/mop(M), slot_r_hand)
|
|
||||||
var/obj/item/weapon/reagent_containers/glass/bucket/bucket = new(M)
|
|
||||||
bucket.reagents.add_reagent("water", 70)
|
|
||||||
M.equip_to_slot_or_del(bucket, slot_l_hand)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_l_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/floor(M), slot_in_backpack)
|
|
||||||
|
|
||||||
if ("pirate")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/pirate(M), slot_r_hand)
|
|
||||||
|
|
||||||
if ("space pirate")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/pirate(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/pirate(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword/pirate(M), slot_r_hand)
|
|
||||||
|
|
||||||
if ("soviet soldier")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(M), slot_head)
|
|
||||||
|
|
||||||
if("tunnel clown")//Tunnel clowns rule!
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hooded/chaplain_hoodie(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_r_store)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.assignment = "Tunnel Clown!"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
var/obj/item/weapon/material/twohanded/fireaxe/fire_axe = new(M)
|
|
||||||
M.equip_to_slot_or_del(fire_axe, slot_r_hand)
|
|
||||||
|
|
||||||
if("masked killer")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/overalls(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/sterile/latex(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(M), slot_wear_mask)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/welding(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/monocle(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/material/knife(M), slot_l_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/surgical/scalpel(M), slot_r_store)
|
|
||||||
|
|
||||||
var/obj/item/weapon/material/twohanded/fireaxe/fire_axe = new(M)
|
|
||||||
M.equip_to_slot_or_del(fire_axe, slot_r_hand)
|
|
||||||
|
|
||||||
for(var/obj/item/carried_item in M.contents)
|
|
||||||
if(!istype(carried_item, /obj/item/weapon/implant))//If it's not an implant.
|
|
||||||
carried_item.add_blood(M)//Oh yes, there will be blood...
|
|
||||||
|
|
||||||
if("assassin")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/accessory/wcoat(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(M), slot_l_store)
|
|
||||||
|
|
||||||
var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(M)
|
|
||||||
for(var/obj/item/briefcase_item in sec_briefcase)
|
|
||||||
qdel(briefcase_item)
|
|
||||||
for(var/i=3, i>0, i--)
|
|
||||||
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
|
|
||||||
sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow
|
|
||||||
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba
|
|
||||||
sec_briefcase.contents += new /obj/item/ammo_magazine/s357
|
|
||||||
sec_briefcase.contents += new /obj/item/weapon/plastique
|
|
||||||
M.equip_to_slot_or_del(sec_briefcase, slot_l_hand)
|
|
||||||
|
|
||||||
var/obj/item/device/pda/heads/pda = new(M)
|
|
||||||
pda.owner = M.real_name
|
|
||||||
pda.ownjob = "Reaper"
|
|
||||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(pda, slot_belt)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/syndicate/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.assignment = "Reaper"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
if("death commando")//Was looking to add this for a while.
|
|
||||||
deathsquad.equip(M)
|
|
||||||
|
|
||||||
if("syndicate commando")
|
|
||||||
commandos.equip(M)
|
|
||||||
|
|
||||||
if("nanotrasen representative")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/hop(M), slot_l_ear)
|
|
||||||
|
|
||||||
var/obj/item/device/pda/heads/pda = new(M)
|
|
||||||
pda.owner = M.real_name
|
|
||||||
pda.ownjob = "NanoTrasen Navy Representative"
|
|
||||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(pda, slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/clipboard(M), slot_belt)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.icon_state = "centcom"
|
|
||||||
W.item_state = "id_inv"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
|
|
||||||
W.assignment = "NanoTrasen Navy Representative"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
if("nanotrasen officer")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head)
|
|
||||||
|
|
||||||
var/obj/item/device/pda/heads/pda = new(M)
|
|
||||||
pda.owner = M.real_name
|
|
||||||
pda.ownjob = "NanoTrasen Navy Officer"
|
|
||||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(pda, slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy(M), slot_belt)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += get_all_centcom_access()
|
|
||||||
W.assignment = "NanoTrasen Navy Officer"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
|
|
||||||
if("nanotrasen captain")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_captain(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom/captain(M), slot_head)
|
|
||||||
|
|
||||||
var/obj/item/device/pda/heads/pda = new(M)
|
|
||||||
pda.owner = M.real_name
|
|
||||||
pda.ownjob = "NanoTrasen Navy Captain"
|
|
||||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
|
||||||
|
|
||||||
M.equip_to_slot_or_del(pda, slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy(M), slot_belt)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += get_all_centcom_access()
|
|
||||||
W.assignment = "NanoTrasen Navy Captain"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
if("emergency response team")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/swat(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/ert(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(M), slot_belt)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.icon_state = "centcom"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += get_all_centcom_access()
|
|
||||||
W.assignment = "Emergency Response Team"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
if("special ops officer")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate/combat(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/swat/officer(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/combat(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/eyepatch(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/smokable/cigarette/cigar/havana(M), slot_wear_mask)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/deathsquad/beret(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), slot_belt)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/flame/lighter/zippo(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
|
||||||
|
|
||||||
var/obj/item/weapon/card/id/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.icon_state = "centcom"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += get_all_centcom_access()
|
|
||||||
W.assignment = "Special Operations Officer"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
if("blue wizard")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
|
||||||
|
|
||||||
if("red wizard")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/red(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/red(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
|
||||||
|
|
||||||
if("marisa wizard")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(M), slot_w_uniform)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/marisa(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/marisa(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/marisa(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/spellbook(M), slot_r_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/staff(M), slot_l_hand)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
|
||||||
if("soviet admiral")
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/hgpiratecap(M), slot_head)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/boots/combat(M), slot_shoes)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_l_ear)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/plain/eyepatch(M), slot_glasses)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/revolver/mateba(M), slot_belt)
|
|
||||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform)
|
|
||||||
var/obj/item/weapon/card/id/W = new(M)
|
|
||||||
W.name = "[M.real_name]'s ID Card"
|
|
||||||
W.icon_state = "centcom"
|
|
||||||
W.access = get_all_station_access()
|
|
||||||
W.access += get_all_centcom_access()
|
|
||||||
W.assignment = "Admiral"
|
|
||||||
W.registered_name = M.real_name
|
|
||||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
|
||||||
|
|
||||||
M.regenerate_icons()
|
|
||||||
|
|
||||||
log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].")
|
|
||||||
message_admins("<font color='blue'>[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode]..</font>", 1)
|
|
||||||
return
|
|
||||||
|
|
||||||
/client/proc/startSinglo()
|
/client/proc/startSinglo()
|
||||||
|
|
||||||
|
|||||||
24
polaris.dme
24
polaris.dme
@@ -224,6 +224,25 @@
|
|||||||
#include "code\datums\observation\turf_changed.dm"
|
#include "code\datums\observation\turf_changed.dm"
|
||||||
#include "code\datums\observation\unequipped.dm"
|
#include "code\datums\observation\unequipped.dm"
|
||||||
#include "code\datums\observation\~cleanup.dm"
|
#include "code\datums\observation\~cleanup.dm"
|
||||||
|
#include "code\datums\outfits\_defines.dm"
|
||||||
|
#include "code\datums\outfits\horror_killers.dm"
|
||||||
|
#include "code\datums\outfits\misc.dm"
|
||||||
|
#include "code\datums\outfits\nanotrasen.dm"
|
||||||
|
#include "code\datums\outfits\outfit.dm"
|
||||||
|
#include "code\datums\outfits\pirates.dm"
|
||||||
|
#include "code\datums\outfits\spec_op.dm"
|
||||||
|
#include "code\datums\outfits\tournament.dm"
|
||||||
|
#include "code\datums\outfits\wizardry.dm"
|
||||||
|
#include "code\datums\outfits\jobs\_defines.dm"
|
||||||
|
#include "code\datums\outfits\jobs\cargo.dm"
|
||||||
|
#include "code\datums\outfits\jobs\civilian.dm"
|
||||||
|
#include "code\datums\outfits\jobs\command.dm"
|
||||||
|
#include "code\datums\outfits\jobs\engineering.dm"
|
||||||
|
#include "code\datums\outfits\jobs\job.dm"
|
||||||
|
#include "code\datums\outfits\jobs\medical.dm"
|
||||||
|
#include "code\datums\outfits\jobs\misc.dm"
|
||||||
|
#include "code\datums\outfits\jobs\science.dm"
|
||||||
|
#include "code\datums\outfits\jobs\security.dm"
|
||||||
#include "code\datums\repositories\cameras.dm"
|
#include "code\datums\repositories\cameras.dm"
|
||||||
#include "code\datums\repositories\crew.dm"
|
#include "code\datums\repositories\crew.dm"
|
||||||
#include "code\datums\repositories\decls.dm"
|
#include "code\datums\repositories\decls.dm"
|
||||||
@@ -841,8 +860,6 @@
|
|||||||
#include "code\game\objects\items\weapons\AI_modules.dm"
|
#include "code\game\objects\items\weapons\AI_modules.dm"
|
||||||
#include "code\game\objects\items\weapons\autopsy.dm"
|
#include "code\game\objects\items\weapons\autopsy.dm"
|
||||||
#include "code\game\objects\items\weapons\candle.dm"
|
#include "code\game\objects\items\weapons\candle.dm"
|
||||||
#include "code\game\objects\items\weapons\cards_ids.dm"
|
|
||||||
#include "code\game\objects\items\weapons\cards_ids_syndicate.dm"
|
|
||||||
#include "code\game\objects\items\weapons\cigs_lighters.dm"
|
#include "code\game\objects\items\weapons\cigs_lighters.dm"
|
||||||
#include "code\game\objects\items\weapons\clown_items.dm"
|
#include "code\game\objects\items\weapons\clown_items.dm"
|
||||||
#include "code\game\objects\items\weapons\cosmetics.dm"
|
#include "code\game\objects\items\weapons\cosmetics.dm"
|
||||||
@@ -910,6 +927,9 @@
|
|||||||
#include "code\game\objects\items\weapons\grenades\grenade.dm"
|
#include "code\game\objects\items\weapons\grenades\grenade.dm"
|
||||||
#include "code\game\objects\items\weapons\grenades\smokebomb.dm"
|
#include "code\game\objects\items\weapons\grenades\smokebomb.dm"
|
||||||
#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm"
|
#include "code\game\objects\items\weapons\grenades\spawnergrenade.dm"
|
||||||
|
#include "code\game\objects\items\weapons\id cards\cards.dm"
|
||||||
|
#include "code\game\objects\items\weapons\id cards\station_ids.dm"
|
||||||
|
#include "code\game\objects\items\weapons\id cards\syndicate_ids.dm"
|
||||||
#include "code\game\objects\items\weapons\implants\implant.dm"
|
#include "code\game\objects\items\weapons\implants\implant.dm"
|
||||||
#include "code\game\objects\items\weapons\implants\implantcase.dm"
|
#include "code\game\objects\items\weapons\implants\implantcase.dm"
|
||||||
#include "code\game\objects\items\weapons\implants\implantchair.dm"
|
#include "code\game\objects\items\weapons\implants\implantchair.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user