Ports Bay's outfit system

This commit is contained in:
Anewbe
2017-10-01 02:31:37 -05:00
parent ab0c05bdf7
commit 1b7ecf6789
26 changed files with 1442 additions and 770 deletions

View File

@@ -0,0 +1,3 @@
#define OUTFIT_HAS_JETPACK 1
#define OUTFIT_HAS_BACKPACK 2
#define OUTFIT_EXTENDED_SURVIVAL 4

View 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)

View File

@@ -0,0 +1 @@
#define OUTFIT_JOB_NAME(job_name) ("Job - " + job_name)

View 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

View 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

View 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)

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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"

View 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

View 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

View 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

View 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)

View 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

View File

@@ -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)

View 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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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,

View File

@@ -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()

View File

@@ -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"