Merge branch 'pr/20'

This commit is contained in:
Fermi
2019-07-28 23:28:19 +01:00
82 changed files with 1119 additions and 497 deletions
+17 -12
View File
@@ -3730,6 +3730,13 @@
}, },
/turf/open/floor/plasteel, /turf/open/floor/plasteel,
/area/centcom/control) /area/centcom/control)
"jA" = (
/obj/machinery/shower{
dir = 4
},
/obj/item/soap/syndie,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
"jB" = ( "jB" = (
/obj/structure/noticeboard{ /obj/structure/noticeboard{
dir = 8; dir = 8;
@@ -4215,6 +4222,14 @@
"ku" = ( "ku" = (
/turf/closed/indestructible/fakeglass, /turf/closed/indestructible/fakeglass,
/area/syndicate_mothership) /area/syndicate_mothership)
"kv" = (
/obj/structure/mirror{
pixel_x = -28
},
/obj/structure/table,
/obj/item/reagent_containers/rag/towel/syndicate,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
"kw" = ( "kw" = (
/turf/open/floor/plasteel/yellowsiding, /turf/open/floor/plasteel/yellowsiding,
/area/centcom/supply) /area/centcom/supply)
@@ -8414,10 +8429,6 @@
}, },
/turf/open/floor/plating, /turf/open/floor/plating,
/area/syndicate_mothership) /area/syndicate_mothership)
"tg" = (
/obj/item/soap/syndie,
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
"tl" = ( "tl" = (
/obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner,
/turf/open/floor/plating, /turf/open/floor/plating,
@@ -17430,12 +17441,6 @@
}, },
/turf/open/floor/plasteel/white, /turf/open/floor/plasteel/white,
/area/centcom/holding) /area/centcom/holding)
"Rl" = (
/obj/structure/mirror{
pixel_x = -28
},
/turf/open/floor/plasteel/freezer,
/area/syndicate_mothership)
"Rm" = ( "Rm" = (
/obj/structure/chair/wood/wings{ /obj/structure/chair/wood/wings{
dir = 3 dir = 3
@@ -37823,8 +37828,8 @@ nx
mA mA
Tz Tz
ku ku
tg jA
Rl kv
uM uM
QV QV
wp wp
+1 -1
View File
@@ -12,7 +12,7 @@
#define ui_boxcraft "EAST-4:22,SOUTH+1:6" #define ui_boxcraft "EAST-4:22,SOUTH+1:6"
#define ui_boxarea "EAST-4:6,SOUTH+1:6" #define ui_boxarea "EAST-4:6,SOUTH+1:6"
#define ui_boxlang "EAST-5:22,SOUTH+1:6" #define ui_boxlang "EAST-5:22,SOUTH+1:6"
#define ui_boxvore "EAST-4:22,SOUTH+1:6" #define ui_boxvore "EAST-5:22,SOUTH+1:6"
//Filters //Filters
#define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F") #define CIT_FILTER_STAMINACRIT filter(type="drop_shadow", x=0, y=0, size=-3, border=0, color="#04080F")
+5
View File
@@ -100,6 +100,11 @@ GLOBAL_LIST_INIT(security_depts_prefs, list(SEC_DEPT_RANDOM, SEC_DEPT_NONE, SEC_
#define DDUFFELBAG "Department Duffel Bag" #define DDUFFELBAG "Department Duffel Bag"
GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFELBAG, GBACKPACK, GSATCHEL, GDUFFELBAG, LSATCHEL)) GLOBAL_LIST_INIT(backbaglist, list(DBACKPACK, DSATCHEL, DDUFFELBAG, GBACKPACK, GSATCHEL, GDUFFELBAG, LSATCHEL))
//Suit/Skirt
#define PREF_SUIT "Jumpsuit"
#define PREF_SKIRT "Jumpskirt"
GLOBAL_LIST_INIT(jumpsuitlist, list(PREF_SUIT, PREF_SKIRT))
//Uplink spawn loc //Uplink spawn loc
#define UPLINK_PDA "PDA" #define UPLINK_PDA "PDA"
#define UPLINK_RADIO "Radio" #define UPLINK_RADIO "Radio"
+1 -1
View File
@@ -85,7 +85,7 @@
return 1 return 1
return 0 return 0
/datum/martial_art/krav_maga/proc/leg_sweep(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D) /datum/martial_art/krav_maga/proc/leg_sweep(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(D.lying || D.IsKnockdown()) if(D.lying || D.IsKnockdown())
return 0 return 0
D.visible_message("<span class='warning'>[A] leg sweeps [D]!</span>", \ D.visible_message("<span class='warning'>[A] leg sweeps [D]!</span>", \
+2 -1
View File
@@ -130,7 +130,8 @@
L.update_arousal_hud() //Removes the old icon L.update_arousal_hud() //Removes the old icon
/datum/mind/proc/store_memory(new_text) /datum/mind/proc/store_memory(new_text)
memory += "[new_text]<BR>" if((length(memory) + length(new_text)) <= MAX_MESSAGE_LEN)
memory += "[new_text]<BR>"
/datum/mind/proc/wipe_memory() /datum/mind/proc/wipe_memory()
memory = null memory = null
+2 -9
View File
@@ -163,15 +163,8 @@
H.hardset_dna(ui, se, H.real_name, null, mrace, features) H.hardset_dna(ui, se, H.real_name, null, mrace, features)
if(efficiency > 2) if(prob(50 - efficiency*10)) //Chance to give a bad mutation.
var/list/unclean_mutations = (GLOB.not_good_mutations|GLOB.bad_mutations) H.randmutb() //100% bad mutation. Can be cured with mutadone.
H.dna.remove_mutation_group(unclean_mutations)
if(efficiency > 5 && prob(20))
H.randmutvg()
if(efficiency < 3 && prob(50))
var/mob/M = H.randmutb()
if(ismob(M))
H = M
H.silent = 20 //Prevents an extreme edge case where clones could speak if they said something at exactly the right moment. H.silent = 20 //Prevents an extreme edge case where clones could speak if they said something at exactly the right moment.
occupant = H occupant = H
@@ -250,11 +250,11 @@
itemname = "a syndicate bomb beacon" itemname = "a syndicate bomb beacon"
new /obj/item/sbeacondrop/bomb(loc) new /obj/item/sbeacondrop/bomb(loc)
if(2) if(2)
itemname = "a grenade launcher" itemname = "a rocket launcher"
new /obj/item/gun/ballistic/revolver/grenadelauncher/unrestricted(loc) new /obj/item/gun/ballistic/rocketlauncher/unrestricted(loc)
new /obj/item/ammo_casing/a40mm(loc) new /obj/item/ammo_casing/caseless/rocket(loc)
new /obj/item/ammo_casing/a40mm(loc) new /obj/item/ammo_casing/caseless/rocket(loc)
new /obj/item/ammo_casing/a40mm(loc) new /obj/item/ammo_casing/caseless/rocket(loc)
if(3) if(3)
itemname = "two bags of c4" itemname = "two bags of c4"
new /obj/item/storage/backpack/duffelbag/syndie/c4(loc) new /obj/item/storage/backpack/duffelbag/syndie/c4(loc)
+10 -1
View File
@@ -13,17 +13,20 @@
var/scantemp_ckey var/scantemp_ckey
var/scantemp = "Ready to Scan" var/scantemp = "Ready to Scan"
var/menu = 1 //Which menu screen to display var/menu = 1 //Which menu screen to display
var/list/records = list()
var/datum/data/record/active_record = null var/datum/data/record/active_record = null
var/obj/item/disk/data/diskette = null //Mostly so the geneticist can steal everything. var/obj/item/disk/data/diskette = null //Mostly so the geneticist can steal everything.
var/loading = 0 // Nice loading text var/loading = 0 // Nice loading text
var/autoprocess = 0 var/autoprocess = 0
var/list/records = list()
light_color = LIGHT_COLOR_BLUE light_color = LIGHT_COLOR_BLUE
/obj/machinery/computer/cloning/Initialize() /obj/machinery/computer/cloning/Initialize()
. = ..() . = ..()
updatemodules(TRUE) updatemodules(TRUE)
var/obj/item/circuitboard/computer/cloning/board = circuit
records = board.records
/obj/machinery/computer/cloning/Destroy() /obj/machinery/computer/cloning/Destroy()
if(pods) if(pods)
@@ -346,6 +349,8 @@
active_record = null active_record = null
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
src.menu = 2 src.menu = 2
var/obj/item/circuitboard/computer/cloning/board = circuit
board.records = records
else else
src.temp = "<font class='bad'>Access Denied.</font>" src.temp = "<font class='bad'>Access Denied.</font>"
playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_deny.ogg', 50, 0)
@@ -368,6 +373,8 @@
for(var/key in diskette.fields) for(var/key in diskette.fields)
src.active_record.fields[key] = diskette.fields[key] src.active_record.fields[key] = diskette.fields[key]
src.temp = "Load successful." src.temp = "Load successful."
var/obj/item/circuitboard/computer/cloning/board = circuit
board.records = records
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
if("eject") if("eject")
@@ -502,5 +509,7 @@
R.fields["imp"] = "[REF(imp)]" R.fields["imp"] = "[REF(imp)]"
src.records += R src.records += R
var/obj/item/circuitboard/computer/cloning/board = circuit
board.records = records
scantemp = "Subject successfully scanned." scantemp = "Subject successfully scanned."
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0) playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
+1 -1
View File
@@ -95,7 +95,7 @@
var/obj/item/toy/crayon/CR = WM.color_source var/obj/item/toy/crayon/CR = WM.color_source
add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY) add_atom_colour(CR.paint_color, WASHABLE_COLOUR_PRIORITY)
/obj/item/reagents_containers/glass/rag/towel/machine_wash(obj/machinery/washing_machine/WM) /obj/item/reagents_containers/rag/towel/machine_wash(obj/machinery/washing_machine/WM)
if(WM.color_source) if(WM.color_source)
if(istype(WM.color_source, /obj/item/toy/crayon)) if(istype(WM.color_source, /obj/item/toy/crayon))
var/obj/item/toy/crayon/CR = WM.color_source var/obj/item/toy/crayon/CR = WM.color_source
@@ -110,6 +110,7 @@
/obj/item/circuitboard/computer/cloning /obj/item/circuitboard/computer/cloning
name = "Cloning (Computer Board)" name = "Cloning (Computer Board)"
build_path = /obj/machinery/computer/cloning build_path = /obj/machinery/computer/cloning
var/list/records = list()
/obj/item/circuitboard/computer/prototype_cloning /obj/item/circuitboard/computer/prototype_cloning
name = "Prototype Cloning (Computer Board)" name = "Prototype Cloning (Computer Board)"
+17
View File
@@ -1196,3 +1196,20 @@
new /obj/item/reagent_containers/food/snacks/grown/chili(src) new /obj/item/reagent_containers/food/snacks/grown/chili(src)
new /obj/item/reagent_containers/food/drinks/coffee/type2(src) new /obj/item/reagent_containers/food/drinks/coffee/type2(src)
new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/tank/internals/emergency_oxygen(src)
//Where do I put this?
/obj/item/secbat
name = "Secbat box"
desc = "Contained inside is a secbat for use with law enforcement."
icon = 'icons/obj/storage.dmi'
icon_state = "box"
item_state = "syringe_kit"
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
/obj/item/secbat/attack_self(mob/user)
new /mob/living/simple_animal/hostile/retaliate/bat/secbat(user.loc)
to_chat(user, "<span class='notice'>You open the box, releasing the secbat!</span>")
var/obj/item/stack/sheet/cardboard/I = new(user.drop_location())
qdel(src)
user.put_in_hands(I)
@@ -9,6 +9,7 @@
new /obj/item/clothing/head/beret/qm(src) new /obj/item/clothing/head/beret/qm(src)
new /obj/item/storage/lockbox/medal/cargo(src) new /obj/item/storage/lockbox/medal/cargo(src)
new /obj/item/clothing/under/rank/cargo(src) new /obj/item/clothing/under/rank/cargo(src)
new /obj/item/clothing/under/rank/cargo/skirt(src)
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/radio/headset/headset_cargo(src) new /obj/item/radio/headset/headset_cargo(src)
new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/suit/fire/firefighter(src)
@@ -8,6 +8,7 @@
new /obj/item/clothing/neck/cloak/ce(src) new /obj/item/clothing/neck/cloak/ce(src)
new /obj/item/clothing/head/beret/ce(src) new /obj/item/clothing/head/beret/ce(src)
new /obj/item/clothing/under/rank/chief_engineer(src) new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/under/rank/chief_engineer/skirt(src)
new /obj/item/clothing/head/hardhat/white(src) new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/head/welding(src) new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/gloves/color/yellow(src) new /obj/item/clothing/gloves/color/yellow(src)
@@ -61,6 +61,7 @@
new /obj/item/clothing/head/bio_hood/cmo(src) new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/suit/toggle/labcoat/cmo(src) new /obj/item/clothing/suit/toggle/labcoat/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src) new /obj/item/clothing/under/rank/chief_medical_officer(src)
new /obj/item/clothing/under/rank/chief_medical_officer/skirt(src)
new /obj/item/clothing/shoes/sneakers/brown (src) new /obj/item/clothing/shoes/sneakers/brown (src)
new /obj/item/cartridge/cmo(src) new /obj/item/cartridge/cmo(src)
new /obj/item/radio/headset/heads/cmo(src) new /obj/item/radio/headset/heads/cmo(src)
@@ -11,8 +11,11 @@
new /obj/item/clothing/head/bio_hood/scientist(src) new /obj/item/clothing/head/bio_hood/scientist(src)
new /obj/item/clothing/suit/toggle/labcoat(src) new /obj/item/clothing/suit/toggle/labcoat(src)
new /obj/item/clothing/under/rank/research_director(src) new /obj/item/clothing/under/rank/research_director(src)
new /obj/item/clothing/under/rank/research_director/skirt(src)
new /obj/item/clothing/under/rank/research_director/alt(src) new /obj/item/clothing/under/rank/research_director/alt(src)
new /obj/item/clothing/under/rank/research_director/alt/skirt(src)
new /obj/item/clothing/under/rank/research_director/turtleneck(src) new /obj/item/clothing/under/rank/research_director/turtleneck(src)
new /obj/item/clothing/under/rank/research_director/turtleneck/skirt(src)
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/cartridge/rd(src) new /obj/item/cartridge/rd(src)
new /obj/item/clothing/gloves/color/latex(src) new /obj/item/clothing/gloves/color/latex(src)
@@ -2,7 +2,6 @@
name = "\proper captain's locker" name = "\proper captain's locker"
req_access = list(ACCESS_CAPTAIN) req_access = list(ACCESS_CAPTAIN)
icon_state = "cap" icon_state = "cap"
/obj/structure/closet/secure_closet/captains/PopulateContents() /obj/structure/closet/secure_closet/captains/PopulateContents()
..() ..()
new /obj/item/clothing/suit/hooded/wintercoat/captain(src) new /obj/item/clothing/suit/hooded/wintercoat/captain(src)
@@ -14,6 +13,7 @@
new /obj/item/pet_carrier(src) new /obj/item/pet_carrier(src)
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
new /obj/item/clothing/under/rank/captain(src) new /obj/item/clothing/under/rank/captain(src)
new /obj/item/clothing/under/rank/captain/skirt(src)
new /obj/item/clothing/suit/armor/vest/capcarapace(src) new /obj/item/clothing/suit/armor/vest/capcarapace(src)
new /obj/item/clothing/head/caphat(src) new /obj/item/clothing/head/caphat(src)
new /obj/item/clothing/under/captainparade(src) new /obj/item/clothing/under/captainparade(src)
@@ -34,16 +34,15 @@
new /obj/item/gun/energy/e_gun(src) new /obj/item/gun/energy/e_gun(src)
new /obj/item/door_remote/captain(src) new /obj/item/door_remote/captain(src)
new /obj/item/storage/photo_album/Captain(src) new /obj/item/storage/photo_album/Captain(src)
/obj/structure/closet/secure_closet/hop /obj/structure/closet/secure_closet/hop
name = "\proper head of personnel's locker" name = "\proper head of personnel's locker"
req_access = list(ACCESS_HOP) req_access = list(ACCESS_HOP)
icon_state = "hop" icon_state = "hop"
/obj/structure/closet/secure_closet/hop/PopulateContents() /obj/structure/closet/secure_closet/hop/PopulateContents()
..() ..()
new /obj/item/clothing/neck/cloak/hop(src) new /obj/item/clothing/neck/cloak/hop(src)
new /obj/item/clothing/under/rank/head_of_personnel(src) new /obj/item/clothing/under/rank/head_of_personnel(src)
new /obj/item/clothing/under/rank/head_of_personnel/skirt(src)
new /obj/item/clothing/head/hopcap(src) new /obj/item/clothing/head/hopcap(src)
new /obj/item/clothing/head/hopcap/beret(src) new /obj/item/clothing/head/hopcap/beret(src)
new /obj/item/cartridge/hop(src) new /obj/item/cartridge/hop(src)
@@ -62,12 +61,10 @@
new /obj/item/door_remote/civillian(src) new /obj/item/door_remote/civillian(src)
new /obj/item/circuitboard/machine/techfab/department/service(src) new /obj/item/circuitboard/machine/techfab/department/service(src)
new /obj/item/storage/photo_album/HoP(src) new /obj/item/storage/photo_album/HoP(src)
/obj/structure/closet/secure_closet/hos /obj/structure/closet/secure_closet/hos
name = "\proper head of security's locker" name = "\proper head of security's locker"
req_access = list(ACCESS_HOS) req_access = list(ACCESS_HOS)
icon_state = "hos" icon_state = "hos"
/obj/structure/closet/secure_closet/hos/PopulateContents() /obj/structure/closet/secure_closet/hos/PopulateContents()
..() ..()
new /obj/item/clothing/neck/cloak/hos(src) new /obj/item/clothing/neck/cloak/hos(src)
@@ -77,7 +74,9 @@
new /obj/item/clothing/under/hosparademale(src) new /obj/item/clothing/under/hosparademale(src)
new /obj/item/clothing/suit/armor/vest/leather(src) new /obj/item/clothing/suit/armor/vest/leather(src)
new /obj/item/clothing/suit/armor/hos(src) new /obj/item/clothing/suit/armor/hos(src)
new /obj/item/clothing/under/rank/head_of_security/skirt(src)
new /obj/item/clothing/under/rank/head_of_security/alt(src) new /obj/item/clothing/under/rank/head_of_security/alt(src)
new /obj/item/clothing/under/rank/head_of_security/alt/skirt(src)
new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/head/HoS(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src) new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src)
new /obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars(src) new /obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars(src)
@@ -95,12 +94,10 @@
new /obj/item/pinpointer/nuke(src) new /obj/item/pinpointer/nuke(src)
new /obj/item/circuitboard/machine/techfab/department/security(src) new /obj/item/circuitboard/machine/techfab/department/security(src)
new /obj/item/storage/photo_album/HoS(src) new /obj/item/storage/photo_album/HoS(src)
/obj/structure/closet/secure_closet/warden /obj/structure/closet/secure_closet/warden
name = "\proper warden's locker" name = "\proper warden's locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "warden" icon_state = "warden"
/obj/structure/closet/secure_closet/warden/PopulateContents() /obj/structure/closet/secure_closet/warden/PopulateContents()
..() ..()
new /obj/item/radio/headset/headset_sec(src) new /obj/item/radio/headset/headset_sec(src)
@@ -110,6 +107,7 @@
new /obj/item/clothing/head/beret/sec/navywarden(src) new /obj/item/clothing/head/beret/sec/navywarden(src)
new /obj/item/clothing/suit/armor/vest/warden/alt(src) new /obj/item/clothing/suit/armor/vest/warden/alt(src)
new /obj/item/clothing/under/rank/warden/navyblue(src) new /obj/item/clothing/under/rank/warden/navyblue(src)
new /obj/item/clothing/under/rank/warden/skirt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/holosign_creator/security(src) new /obj/item/holosign_creator/security(src)
new /obj/item/clothing/mask/gas/sechailer(src) new /obj/item/clothing/mask/gas/sechailer(src)
@@ -120,12 +118,10 @@
new /obj/item/clothing/gloves/krav_maga/sec(src) new /obj/item/clothing/gloves/krav_maga/sec(src)
new /obj/item/door_remote/head_of_security(src) new /obj/item/door_remote/head_of_security(src)
new /obj/item/gun/ballistic/shotgun/automatic/combat/compact(src) new /obj/item/gun/ballistic/shotgun/automatic/combat/compact(src)
/obj/structure/closet/secure_closet/security /obj/structure/closet/secure_closet/security
name = "security officer's locker" name = "security officer's locker"
req_access = list(ACCESS_SECURITY) req_access = list(ACCESS_SECURITY)
icon_state = "sec" icon_state = "sec"
/obj/structure/closet/secure_closet/security/PopulateContents() /obj/structure/closet/secure_closet/security/PopulateContents()
..() ..()
new /obj/item/clothing/suit/armor/vest(src) new /obj/item/clothing/suit/armor/vest(src)
@@ -134,55 +130,45 @@
new /obj/item/radio/headset/headset_sec/alt(src) new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src) new /obj/item/flashlight/seclite(src)
/obj/structure/closet/secure_closet/security/sec /obj/structure/closet/secure_closet/security/sec
/obj/structure/closet/secure_closet/security/sec/PopulateContents() /obj/structure/closet/secure_closet/security/sec/PopulateContents()
..() ..()
new /obj/item/storage/belt/security/full(src) new /obj/item/storage/belt/security/full(src)
/obj/structure/closet/secure_closet/security/cargo /obj/structure/closet/secure_closet/security/cargo
/obj/structure/closet/secure_closet/security/cargo/PopulateContents() /obj/structure/closet/secure_closet/security/cargo/PopulateContents()
..() ..()
new /obj/item/clothing/accessory/armband/cargo(src) new /obj/item/clothing/accessory/armband/cargo(src)
new /obj/item/encryptionkey/headset_cargo(src) new /obj/item/encryptionkey/headset_cargo(src)
/obj/structure/closet/secure_closet/security/engine /obj/structure/closet/secure_closet/security/engine
/obj/structure/closet/secure_closet/security/engine/PopulateContents() /obj/structure/closet/secure_closet/security/engine/PopulateContents()
..() ..()
new /obj/item/clothing/accessory/armband/engine(src) new /obj/item/clothing/accessory/armband/engine(src)
new /obj/item/encryptionkey/headset_eng(src) new /obj/item/encryptionkey/headset_eng(src)
/obj/structure/closet/secure_closet/security/science /obj/structure/closet/secure_closet/security/science
/obj/structure/closet/secure_closet/security/science/PopulateContents() /obj/structure/closet/secure_closet/security/science/PopulateContents()
..() ..()
new /obj/item/clothing/accessory/armband/science(src) new /obj/item/clothing/accessory/armband/science(src)
new /obj/item/encryptionkey/headset_sci(src) new /obj/item/encryptionkey/headset_sci(src)
/obj/structure/closet/secure_closet/security/med /obj/structure/closet/secure_closet/security/med
/obj/structure/closet/secure_closet/security/med/PopulateContents() /obj/structure/closet/secure_closet/security/med/PopulateContents()
..() ..()
new /obj/item/clothing/accessory/armband/medblue(src) new /obj/item/clothing/accessory/armband/medblue(src)
new /obj/item/encryptionkey/headset_med(src) new /obj/item/encryptionkey/headset_med(src)
/obj/structure/closet/secure_closet/detective /obj/structure/closet/secure_closet/detective
name = "\improper detective's cabinet" name = "\improper detective's cabinet"
req_access = list(ACCESS_FORENSICS_LOCKERS) req_access = list(ACCESS_FORENSICS_LOCKERS)
icon_state = "cabinet" icon_state = "cabinet"
resistance_flags = FLAMMABLE resistance_flags = FLAMMABLE
max_integrity = 70 max_integrity = 70
/obj/structure/closet/secure_closet/detective/PopulateContents() /obj/structure/closet/secure_closet/detective/PopulateContents()
..() ..()
new /obj/item/clothing/under/rank/det(src) new /obj/item/clothing/under/rank/det(src)
new /obj/item/clothing/under/rank/det/skirt(src)
new /obj/item/clothing/suit/det_suit(src) new /obj/item/clothing/suit/det_suit(src)
new /obj/item/clothing/head/fedora/det_hat(src) new /obj/item/clothing/head/fedora/det_hat(src)
new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/gloves/color/black(src)
new /obj/item/clothing/under/rank/det/grey(src) new /obj/item/clothing/under/rank/det/grey(src)
new /obj/item/clothing/under/rank/det/grey/skirt(src)
new /obj/item/clothing/accessory/waistcoat(src) new /obj/item/clothing/accessory/waistcoat(src)
new /obj/item/clothing/suit/det_suit/grey(src) new /obj/item/clothing/suit/det_suit/grey(src)
new /obj/item/clothing/head/fedora(src) new /obj/item/clothing/head/fedora(src)
@@ -200,33 +186,29 @@
/obj/structure/closet/secure_closet/injection /obj/structure/closet/secure_closet/injection
name = "lethal injections" name = "lethal injections"
req_access = list(ACCESS_HOS) req_access = list(ACCESS_HOS)
/obj/structure/closet/secure_closet/injection/PopulateContents() /obj/structure/closet/secure_closet/injection/PopulateContents()
..() ..()
for(var/i in 1 to 5) for(var/i in 1 to 5)
new /obj/item/reagent_containers/syringe/lethal/execution(src) new /obj/item/reagent_containers/syringe/lethal/execution(src)
/obj/structure/closet/secure_closet/brig /obj/structure/closet/secure_closet/brig
name = "brig locker" name = "brig locker"
req_access = list(ACCESS_BRIG) req_access = list(ACCESS_BRIG)
anchored = TRUE anchored = TRUE
var/id = null var/id = null
/obj/structure/closet/secure_closet/evidence /obj/structure/closet/secure_closet/evidence
anchored = TRUE anchored = TRUE
name = "Secure Evidence Closet" name = "Secure Evidence Closet"
req_access_txt = "0" req_access_txt = "0"
req_one_access_txt = list(ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS) req_one_access_txt = list(ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS)
/obj/structure/closet/secure_closet/brig/PopulateContents() /obj/structure/closet/secure_closet/brig/PopulateContents()
..() ..()
new /obj/item/clothing/under/rank/prisoner( src ) new /obj/item/clothing/under/rank/prisoner( src )
new /obj/item/clothing/under/rank/prisoner/skirt( src )
new /obj/item/clothing/shoes/sneakers/orange( src ) new /obj/item/clothing/shoes/sneakers/orange( src )
/obj/structure/closet/secure_closet/courtroom /obj/structure/closet/secure_closet/courtroom
name = "courtroom locker" name = "courtroom locker"
req_access = list(ACCESS_COURT) req_access = list(ACCESS_COURT)
/obj/structure/closet/secure_closet/courtroom/PopulateContents() /obj/structure/closet/secure_closet/courtroom/PopulateContents()
..() ..()
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
@@ -236,22 +218,18 @@
new /obj/item/clothing/suit/judgerobe (src) new /obj/item/clothing/suit/judgerobe (src)
new /obj/item/clothing/head/powdered_wig (src) new /obj/item/clothing/head/powdered_wig (src)
new /obj/item/storage/briefcase(src) new /obj/item/storage/briefcase(src)
/obj/structure/closet/secure_closet/contraband/armory /obj/structure/closet/secure_closet/contraband/armory
anchored = TRUE anchored = TRUE
name = "Contraband Locker" name = "Contraband Locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
/obj/structure/closet/secure_closet/contraband/heads /obj/structure/closet/secure_closet/contraband/heads
anchored = TRUE anchored = TRUE
name = "Contraband Locker" name = "Contraband Locker"
req_access = list(ACCESS_HEADS) req_access = list(ACCESS_HEADS)
/obj/structure/closet/secure_closet/armory1 /obj/structure/closet/secure_closet/armory1
name = "armory armor locker" name = "armory armor locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "armory" icon_state = "armory"
/obj/structure/closet/secure_closet/armory1/PopulateContents() /obj/structure/closet/secure_closet/armory1/PopulateContents()
..() ..()
new /obj/item/clothing/suit/armor/laserproof(src) new /obj/item/clothing/suit/armor/laserproof(src)
@@ -261,12 +239,10 @@
new /obj/item/clothing/head/helmet/riot(src) new /obj/item/clothing/head/helmet/riot(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/shield/riot(src) new /obj/item/shield/riot(src)
/obj/structure/closet/secure_closet/armory2 /obj/structure/closet/secure_closet/armory2
name = "armory ballistics locker" name = "armory ballistics locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "armory" icon_state = "armory"
/obj/structure/closet/secure_closet/armory2/PopulateContents() /obj/structure/closet/secure_closet/armory2/PopulateContents()
..() ..()
new /obj/item/storage/box/firingpins(src) new /obj/item/storage/box/firingpins(src)
@@ -274,12 +250,10 @@
new /obj/item/storage/box/rubbershot(src) new /obj/item/storage/box/rubbershot(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/gun/ballistic/shotgun/riot(src) new /obj/item/gun/ballistic/shotgun/riot(src)
/obj/structure/closet/secure_closet/armory3 /obj/structure/closet/secure_closet/armory3
name = "armory energy gun locker" name = "armory energy gun locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "armory" icon_state = "armory"
/obj/structure/closet/secure_closet/armory3/PopulateContents() /obj/structure/closet/secure_closet/armory3/PopulateContents()
..() ..()
new /obj/item/storage/box/firingpins(src) new /obj/item/storage/box/firingpins(src)
@@ -288,24 +262,20 @@
new /obj/item/gun/energy/e_gun(src) new /obj/item/gun/energy/e_gun(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/gun/energy/laser(src) new /obj/item/gun/energy/laser(src)
/obj/structure/closet/secure_closet/tac /obj/structure/closet/secure_closet/tac
name = "armory tac locker" name = "armory tac locker"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "tac" icon_state = "tac"
/obj/structure/closet/secure_closet/tac/PopulateContents() /obj/structure/closet/secure_closet/tac/PopulateContents()
..() ..()
new /obj/item/gun/ballistic/automatic/wt550(src) new /obj/item/gun/ballistic/automatic/wt550(src)
new /obj/item/clothing/head/helmet/alt(src) new /obj/item/clothing/head/helmet/alt(src)
new /obj/item/clothing/mask/gas/sechailer(src) new /obj/item/clothing/mask/gas/sechailer(src)
new /obj/item/clothing/suit/armor/bulletproof(src) new /obj/item/clothing/suit/armor/bulletproof(src)
/obj/structure/closet/secure_closet/lethalshots /obj/structure/closet/secure_closet/lethalshots
name = "shotgun lethal rounds" name = "shotgun lethal rounds"
req_access = list(ACCESS_ARMORY) req_access = list(ACCESS_ARMORY)
icon_state = "tac" icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents() /obj/structure/closet/secure_closet/lethalshots/PopulateContents()
..() ..()
for(var/i in 1 to 3) for(var/i in 1 to 3)
@@ -9,6 +9,7 @@
/obj/structure/closet/syndicate/personal/PopulateContents() /obj/structure/closet/syndicate/personal/PopulateContents()
..() ..()
new /obj/item/clothing/under/syndicate(src) new /obj/item/clothing/under/syndicate(src)
new /obj/item/clothing/under/syndicate/skirt(src)
new /obj/item/clothing/shoes/sneakers/black(src) new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/radio/headset/syndicate(src) new /obj/item/radio/headset/syndicate(src)
new /obj/item/ammo_box/magazine/m10mm(src) new /obj/item/ammo_box/magazine/m10mm(src)
@@ -2,33 +2,34 @@
name = "wardrobe" name = "wardrobe"
desc = "It's a storage unit for standard-issue Nanotrasen attire." desc = "It's a storage unit for standard-issue Nanotrasen attire."
icon_door = "blue" icon_door = "blue"
/obj/structure/closet/wardrobe/PopulateContents() /obj/structure/closet/wardrobe/PopulateContents()
..() ..()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/blue(src) new /obj/item/clothing/under/color/blue(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/blue(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
return return
/obj/structure/closet/wardrobe/pink /obj/structure/closet/wardrobe/pink
name = "pink wardrobe" name = "pink wardrobe"
icon_door = "pink" icon_door = "pink"
/obj/structure/closet/wardrobe/pink/PopulateContents() /obj/structure/closet/wardrobe/pink/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/pink(src) new /obj/item/clothing/under/color/pink(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/pink(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/clothing/shoes/sneakers/brown(src)
return return
/obj/structure/closet/wardrobe/black /obj/structure/closet/wardrobe/black
name = "black wardrobe" name = "black wardrobe"
icon_door = "black" icon_door = "black"
/obj/structure/closet/wardrobe/black/PopulateContents() /obj/structure/closet/wardrobe/black/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/black(src) new /obj/item/clothing/under/color/black(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/black(src)
if(prob(25)) if(prob(25))
new /obj/item/clothing/suit/jacket/leather(src) new /obj/item/clothing/suit/jacket/leather(src)
if(prob(20)) if(prob(20))
@@ -44,66 +45,60 @@
if(prob(40)) if(prob(40))
new /obj/item/clothing/mask/bandana/skull(src) new /obj/item/clothing/mask/bandana/skull(src)
return return
/obj/structure/closet/wardrobe/green /obj/structure/closet/wardrobe/green
name = "green wardrobe" name = "green wardrobe"
icon_door = "green" icon_door = "green"
/obj/structure/closet/wardrobe/green/PopulateContents() /obj/structure/closet/wardrobe/green/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/green(src) new /obj/item/clothing/under/color/green(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/green(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src) new /obj/item/clothing/shoes/sneakers/black(src)
new /obj/item/clothing/mask/bandana/green(src) new /obj/item/clothing/mask/bandana/green(src)
new /obj/item/clothing/mask/bandana/green(src) new /obj/item/clothing/mask/bandana/green(src)
return return
/obj/structure/closet/wardrobe/orange /obj/structure/closet/wardrobe/orange
name = "prison wardrobe" name = "prison wardrobe"
desc = "It's a storage unit for Nanotrasen-regulation prisoner attire." desc = "It's a storage unit for Nanotrasen-regulation prisoner attire."
icon_door = "orange" icon_door = "orange"
/obj/structure/closet/wardrobe/orange/PopulateContents() /obj/structure/closet/wardrobe/orange/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/rank/prisoner(src) new /obj/item/clothing/under/rank/prisoner(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/rank/prisoner/skirt(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/orange(src) new /obj/item/clothing/shoes/sneakers/orange(src)
return return
/obj/structure/closet/wardrobe/yellow /obj/structure/closet/wardrobe/yellow
name = "yellow wardrobe" name = "yellow wardrobe"
icon_door = "yellow" icon_door = "yellow"
/obj/structure/closet/wardrobe/yellow/PopulateContents() /obj/structure/closet/wardrobe/yellow/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/yellow(src) new /obj/item/clothing/under/color/yellow(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/yellow(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/orange(src) new /obj/item/clothing/shoes/sneakers/orange(src)
new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src)
new /obj/item/clothing/mask/bandana/gold(src) new /obj/item/clothing/mask/bandana/gold(src)
return return
/obj/structure/closet/wardrobe/white /obj/structure/closet/wardrobe/white
name = "white wardrobe" name = "white wardrobe"
icon_door = "white" icon_door = "white"
/obj/structure/closet/wardrobe/white/PopulateContents() /obj/structure/closet/wardrobe/white/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/white(src) new /obj/item/clothing/under/color/white(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/white(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/white(src) new /obj/item/clothing/shoes/sneakers/white(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/head/soft/mime(src) new /obj/item/clothing/head/soft/mime(src)
return return
/obj/structure/closet/wardrobe/pjs /obj/structure/closet/wardrobe/pjs
name = "pajama wardrobe" name = "pajama wardrobe"
icon_door = "white" icon_door = "white"
/obj/structure/closet/wardrobe/pjs/PopulateContents() /obj/structure/closet/wardrobe/pjs/PopulateContents()
new /obj/item/clothing/under/pj/red(src) new /obj/item/clothing/under/pj/red(src)
new /obj/item/clothing/under/pj/red(src) new /obj/item/clothing/under/pj/red(src)
@@ -112,15 +107,14 @@
for(var/i in 1 to 4) for(var/i in 1 to 4)
new /obj/item/clothing/shoes/sneakers/white(src) new /obj/item/clothing/shoes/sneakers/white(src)
return return
/obj/structure/closet/wardrobe/grey /obj/structure/closet/wardrobe/grey
name = "grey wardrobe" name = "grey wardrobe"
icon_door = "grey" icon_door = "grey"
/obj/structure/closet/wardrobe/grey/PopulateContents() /obj/structure/closet/wardrobe/grey/PopulateContents()
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/under/color/grey(src) new /obj/item/clothing/under/color/grey(src)
for(var/i in 1 to 3)
new /obj/item/clothing/under/skirt/color/grey(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
new /obj/item/clothing/shoes/sneakers/black(src) new /obj/item/clothing/shoes/sneakers/black(src)
for(var/i in 1 to 3) for(var/i in 1 to 3)
@@ -140,28 +134,36 @@
if(prob(30)) if(prob(30))
new /obj/item/clothing/accessory/pocketprotector(src) new /obj/item/clothing/accessory/pocketprotector(src)
return return
/obj/structure/closet/wardrobe/mixed /obj/structure/closet/wardrobe/mixed
name = "mixed wardrobe" name = "mixed wardrobe"
icon_door = "mixed" icon_door = "mixed"
/obj/structure/closet/wardrobe/mixed/PopulateContents() /obj/structure/closet/wardrobe/mixed/PopulateContents()
if(prob(40)) if(prob(40))
new /obj/item/clothing/suit/jacket(src) new /obj/item/clothing/suit/jacket(src)
if(prob(40)) if(prob(40))
new /obj/item/clothing/suit/jacket(src) new /obj/item/clothing/suit/jacket(src)
new /obj/item/clothing/under/color/white(src) new /obj/item/clothing/under/color/white(src)
new /obj/item/clothing/under/skirt/color/white(src)
new /obj/item/clothing/under/color/blue(src) new /obj/item/clothing/under/color/blue(src)
new /obj/item/clothing/under/skirt/color/blue(src)
new /obj/item/clothing/under/color/yellow(src) new /obj/item/clothing/under/color/yellow(src)
new /obj/item/clothing/under/skirt/color/yellow(src)
new /obj/item/clothing/under/color/green(src) new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/skirt/color/green(src)
new /obj/item/clothing/under/color/orange(src) new /obj/item/clothing/under/color/orange(src)
new /obj/item/clothing/under/skirt/color/orange(src)
new /obj/item/clothing/under/color/pink(src) new /obj/item/clothing/under/color/pink(src)
new /obj/item/clothing/under/skirt/color/pink(src)
new /obj/item/clothing/under/color/red(src) new /obj/item/clothing/under/color/red(src)
new /obj/item/clothing/under/skirt/color/red(src)
new /obj/item/clothing/under/color/darkblue(src) new /obj/item/clothing/under/color/darkblue(src)
new /obj/item/clothing/under/skirt/color/darkblue(src)
new /obj/item/clothing/under/color/teal(src) new /obj/item/clothing/under/color/teal(src)
new /obj/item/clothing/under/skirt/color/teal(src)
new /obj/item/clothing/under/color/lightpurple(src) new /obj/item/clothing/under/color/lightpurple(src)
new /obj/item/clothing/under/skirt/color/lightpurple(src)
new /obj/item/clothing/under/color/green(src) new /obj/item/clothing/under/color/green(src)
new /obj/item/clothing/under/skirt/color/green(src)
new /obj/item/clothing/mask/bandana/red(src) new /obj/item/clothing/mask/bandana/red(src)
new /obj/item/clothing/mask/bandana/red(src) new /obj/item/clothing/mask/bandana/red(src)
new /obj/item/clothing/mask/bandana/blue(src) new /obj/item/clothing/mask/bandana/blue(src)
@@ -38,8 +38,11 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list())
for(var/id in cached_gases) for(var/id in cached_gases)
. += cached_gases[id] * cached_gasheats[id] . += cached_gases[id] * cached_gasheats[id]
/datum/gas_mixture/turf/heat_capacity() /datum/gas_mixture/turf/heat_capacity() // Same as above except vacuums return HEAT_CAPACITY_VACUUM
. = ..() var/list/cached_gases = gases
var/list/cached_gasheats = GLOB.meta_gas_specific_heats
for(var/id in cached_gases)
. += cached_gases[id] * cached_gasheats[id]
if(!.) if(!.)
. += HEAT_CAPACITY_VACUUM //we want vacuums in turfs to have the same heat capacity as space . += HEAT_CAPACITY_VACUUM //we want vacuums in turfs to have the same heat capacity as space
@@ -331,22 +334,19 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list())
/datum/gas_mixture/react(datum/holder) /datum/gas_mixture/react(datum/holder)
. = NO_REACTION . = NO_REACTION
var/list/cached_gases = gases var/list/cached_gases = gases
if(!cached_gases.len) if(!length(cached_gases))
return return
var/possible var/list/reactions = list()
for(var/I in cached_gases) for(var/I in cached_gases)
if(GLOB.nonreactive_gases[I]) reactions += SSair.gas_reactions[I]
continue if(!length(reactions))
possible = TRUE
break
if(!possible)
return return
reaction_results = new reaction_results = new
var/temp = temperature var/temp = temperature
var/ener = THERMAL_ENERGY(src) var/ener = THERMAL_ENERGY(src)
reaction_loop: reaction_loop:
for(var/r in SSair.gas_reactions) for(var/r in reactions)
var/datum/gas_reaction/reaction = r var/datum/gas_reaction/reaction = r
var/list/min_reqs = reaction.min_requirements var/list/min_reqs = reaction.min_requirements
@@ -376,14 +376,11 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list())
continue reaction_loop continue reaction_loop
//at this point, all requirements for the reaction are satisfied. we can now react() //at this point, all requirements for the reaction are satisfied. we can now react()
*/ */
. |= reaction.react(src, holder) . |= reaction.react(src, holder)
if (. & STOP_REACTIONS) if (. & STOP_REACTIONS)
break break
if(.) if(.)
GAS_GARBAGE_COLLECT(gases) GAS_GARBAGE_COLLECT(gases)
if(temperature < TCMB) //just for safety
temperature = TCMB
//Takes the amount of the gas you want to PP as an argument //Takes the amount of the gas you want to PP as an argument
//So I don't have to do some hacky switches/defines/magic strings //So I don't have to do some hacky switches/defines/magic strings
@@ -78,22 +78,26 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
var/moles_visible = null var/moles_visible = null
var/dangerous = FALSE //currently used by canisters var/dangerous = FALSE //currently used by canisters
var/fusion_power = 0 //How much the gas accelerates a fusion reaction var/fusion_power = 0 //How much the gas accelerates a fusion reaction
var/rarity = 0 // relative rarity compared to other gases, used when setting up the reactions list.
/datum/gas/oxygen /datum/gas/oxygen
id = "o2" id = "o2"
specific_heat = 20 specific_heat = 20
name = "Oxygen" name = "Oxygen"
rarity = 900
/datum/gas/nitrogen /datum/gas/nitrogen
id = "n2" id = "n2"
specific_heat = 20 specific_heat = 20
name = "Nitrogen" name = "Nitrogen"
rarity = 1000
/datum/gas/carbon_dioxide //what the fuck is this? /datum/gas/carbon_dioxide //what the fuck is this?
id = "co2" id = "co2"
specific_heat = 30 specific_heat = 30
name = "Carbon Dioxide" name = "Carbon Dioxide"
fusion_power = 3 fusion_power = 3
rarity = 700
/datum/gas/plasma /datum/gas/plasma
id = "plasma" id = "plasma"
@@ -102,6 +106,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
gas_overlay = "plasma" gas_overlay = "plasma"
moles_visible = MOLES_GAS_VISIBLE moles_visible = MOLES_GAS_VISIBLE
dangerous = TRUE dangerous = TRUE
rarity = 800
/datum/gas/water_vapor /datum/gas/water_vapor
id = "water_vapor" id = "water_vapor"
@@ -110,6 +115,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
gas_overlay = "water_vapor" gas_overlay = "water_vapor"
moles_visible = MOLES_GAS_VISIBLE moles_visible = MOLES_GAS_VISIBLE
fusion_power = 8 fusion_power = 8
rarity = 500
/datum/gas/hypernoblium /datum/gas/hypernoblium
id = "nob" id = "nob"
@@ -118,6 +124,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
gas_overlay = "freon" gas_overlay = "freon"
moles_visible = MOLES_GAS_VISIBLE moles_visible = MOLES_GAS_VISIBLE
dangerous = TRUE dangerous = TRUE
rarity = 50
/datum/gas/nitrous_oxide /datum/gas/nitrous_oxide
id = "n2o" id = "n2o"
@@ -126,6 +133,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
gas_overlay = "nitrous_oxide" gas_overlay = "nitrous_oxide"
moles_visible = MOLES_GAS_VISIBLE * 2 moles_visible = MOLES_GAS_VISIBLE * 2
dangerous = TRUE dangerous = TRUE
rarity = 600
/datum/gas/nitryl /datum/gas/nitryl
id = "no2" id = "no2"
@@ -135,6 +143,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
moles_visible = MOLES_GAS_VISIBLE moles_visible = MOLES_GAS_VISIBLE
dangerous = TRUE dangerous = TRUE
fusion_power = 15 fusion_power = 15
rarity = 100
/datum/gas/tritium /datum/gas/tritium
id = "tritium" id = "tritium"
@@ -144,6 +153,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
moles_visible = MOLES_GAS_VISIBLE moles_visible = MOLES_GAS_VISIBLE
dangerous = TRUE dangerous = TRUE
fusion_power = 1 fusion_power = 1
rarity = 300
/datum/gas/bz /datum/gas/bz
id = "bz" id = "bz"
@@ -151,18 +161,21 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
name = "BZ" name = "BZ"
dangerous = TRUE dangerous = TRUE
fusion_power = 8 fusion_power = 8
rarity = 400
/datum/gas/stimulum /datum/gas/stimulum
id = "stim" id = "stim"
specific_heat = 5 specific_heat = 5
name = "Stimulum" name = "Stimulum"
fusion_power = 7 fusion_power = 7
rarity = 1
/datum/gas/pluoxium /datum/gas/pluoxium
id = "pluox" id = "pluox"
specific_heat = 80 specific_heat = 80
name = "Pluoxium" name = "Pluoxium"
fusion_power = 10 fusion_power = 10
rarity = 200
/datum/gas/miasma /datum/gas/miasma
id = "miasma" id = "miasma"
@@ -171,6 +184,7 @@ GLOBAL_LIST_INIT(nonreactive_gases, typecacheof(list(/datum/gas/oxygen, /datum/g
name = "Miasma" name = "Miasma"
gas_overlay = "miasma" gas_overlay = "miasma"
moles_visible = MOLES_GAS_VISIBLE * 60 moles_visible = MOLES_GAS_VISIBLE * 60
rarity = 250
/obj/effect/overlay/gas /obj/effect/overlay/gas
icon = 'icons/effects/atmospherics.dmi' icon = 'icons/effects/atmospherics.dmi'
@@ -1,19 +1,36 @@
//All defines used in reactions are located in ..\__DEFINES\reactions.dm //All defines used in reactions are located in ..\__DEFINES\reactions.dm
/proc/init_gas_reactions() /proc/init_gas_reactions()
var/list/reaction_types = list() . = list()
for(var/type in subtypesof(/datum/gas))
.[type] = list()
for(var/r in subtypesof(/datum/gas_reaction)) for(var/r in subtypesof(/datum/gas_reaction))
var/datum/gas_reaction/reaction = r var/datum/gas_reaction/reaction = r
if(!initial(reaction.exclude)) if(initial(reaction.exclude))
reaction_types += reaction continue
reaction_types = sortList(reaction_types, /proc/cmp_gas_reactions) reaction = new r
var/datum/gas/reaction_key
for (var/req in reaction.min_requirements)
if (ispath(req))
var/datum/gas/req_gas = req
if (!reaction_key || initial(reaction_key.rarity) > initial(req_gas.rarity))
reaction_key = req_gas
.[reaction_key] += list(reaction)
sortTim(., /proc/cmp_gas_reactions, TRUE)
. = list() /proc/cmp_gas_reactions(list/datum/gas_reaction/a, list/datum/gas_reaction/b) // compares lists of reactions by the maximum priority contained within the list
for(var/path in reaction_types) if (!length(a) || !length(b))
. += new path return length(b) - length(a)
var/maxa
/proc/cmp_gas_reactions(datum/gas_reaction/a, datum/gas_reaction/b) //sorts in descending order of priority var/maxb
return initial(b.priority) - initial(a.priority) for (var/datum/gas_reaction/R in a)
if (R.priority > maxa)
maxa = R.priority
for (var/datum/gas_reaction/R in b)
if (R.priority > maxb)
maxb = R.priority
return maxb - maxa
/datum/gas_reaction /datum/gas_reaction
//regarding the requirements lists: the minimum or maximum requirements must be non-zero. //regarding the requirements lists: the minimum or maximum requirements must be non-zero.
@@ -364,7 +381,7 @@
cached_gases[/datum/gas/nitrous_oxide] -= reaction_efficency cached_gases[/datum/gas/nitrous_oxide] -= reaction_efficency
cached_gases[/datum/gas/plasma] -= 2*reaction_efficency cached_gases[/datum/gas/plasma] -= 2*reaction_efficency
SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, (reaction_efficency**0.5)*BZ_RESEARCH_AMOUNT) SSresearch.science_tech.add_point_type(TECHWEB_POINT_TYPE_DEFAULT, (reaction_efficency**0.5)*BZ_RESEARCH_AMOUNT)
if(energy_released > 0) if(energy_released > 0)
var/new_heat_capacity = air.heat_capacity() var/new_heat_capacity = air.heat_capacity()
+80 -32
View File
@@ -252,6 +252,17 @@
crate_name = "space suit crate" crate_name = "space suit crate"
crate_type = /obj/structure/closet/crate/secure crate_type = /obj/structure/closet/crate/secure
/datum/supply_pack/emergency/spacejets
name = "Spare EVA Jetpacks"
desc = "Contains three EVA grade jectpaks. Requires EVA access to open."
cost = 2000
access = ACCESS_EVA
contains = list(/obj/item/tank/jetpack/carbondioxide/eva,
/obj/item/tank/jetpack/carbondioxide/eva,
/obj/item/tank/jetpack/carbondioxide/eva)
crate_name = "eva jetpacks crate"
crate_type = /obj/structure/closet/crate/secure
/datum/supply_pack/emergency/specialops /datum/supply_pack/emergency/specialops
name = "Special Ops Supplies" name = "Special Ops Supplies"
desc = "(*!&@#TOO CHEAP FOR THAT NULL_ENTRY, HUH OPERATIVE? WELL, THIS LITTLE ORDER CAN STILL HELP YOU OUT IN A PINCH. CONTAINS A BOX OF FIVE EMP GRENADES, THREE SMOKEBOMBS, AN INCENDIARY GRENADE, AND A \"SLEEPY PEN\" FULL OF NICE TOXINS!#@*$" desc = "(*!&@#TOO CHEAP FOR THAT NULL_ENTRY, HUH OPERATIVE? WELL, THIS LITTLE ORDER CAN STILL HELP YOU OUT IN A PINCH. CONTAINS A BOX OF FIVE EMP GRENADES, THREE SMOKEBOMBS, AN INCENDIARY GRENADE, AND A \"SLEEPY PEN\" FULL OF NICE TOXINS!#@*$"
@@ -339,15 +350,6 @@
/obj/item/clothing/head/fedora/det_hat) /obj/item/clothing/head/fedora/det_hat)
crate_name = "forensics crate" crate_name = "forensics crate"
/datum/supply_pack/security/sechardsuit
name = "Sec Hardsuit"
desc = "One Sec Hardsuit with a small air tank and mask."
cost = 3000 // half of SWAT gear for have the armor and half the gear
contains = list(/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/tank/internals/air,
/obj/item/clothing/mask/gas)
crate_name = "sec hardsuit crate"
/datum/supply_pack/security/helmets /datum/supply_pack/security/helmets
name = "Helmets Crate" name = "Helmets Crate"
desc = "Contains three standard-issue brain buckets. Requires Security access to open." desc = "Contains three standard-issue brain buckets. Requires Security access to open."
@@ -366,6 +368,55 @@
/obj/item/gun/energy/laser) /obj/item/gun/energy/laser)
crate_name = "laser crate" crate_name = "laser crate"
/datum/supply_pack/security/russianclothing
name = "Russian Surplus Clothing"
desc = "An old russian crate full of surplus armor that they used to use! Has two sets of bulletproff armor, a few union suits and some warm hats!"
contraband = TRUE
cost = 5000 // Its basicly sec suits, good boots/gloves
contains = list(/obj/item/clothing/suit/security/officer/russian,
/obj/item/clothing/suit/security/officer/russian,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/head/helmet/alt,
/obj/item/clothing/head/helmet/alt,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas)
crate_name = "surplus russian clothing"
crate_type = /obj/structure/closet/crate/internals
/datum/supply_pack/security/russianmosin
name = "Russian Minutemen Gear"
desc = "An old russian Minutemen crate, comes with a full russian outfit, a mosin and a stripper clip."
contraband = TRUE
access = FALSE
cost = 5000 //
contains = list(/obj/item/clothing/suit/security/officer/russian,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/head/helmet/alt,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/mask/gas,
/obj/item/gun/ballistic/shotgun/boltaction,
/obj/item/ammo_box/a762)
crate_name = "surplus russian gear"
crate_type = /obj/structure/closet/crate/internals
/datum/supply_pack/security/sechardsuit
name = "Sec Hardsuit"
desc = "One Sec Hardsuit with a small air tank and mask."
cost = 3000 // half of SWAT gear for have the armor and half the gear
contains = list(/obj/item/clothing/suit/space/hardsuit/security,
/obj/item/tank/internals/air,
/obj/item/clothing/mask/gas)
crate_name = "sec hardsuit crate"
/datum/supply_pack/security/securitybarriers /datum/supply_pack/security/securitybarriers
name = "Security Barrier Grenades" name = "Security Barrier Grenades"
desc = "Stem the tide with four Security Barrier grenades. Requires Security access to open." desc = "Stem the tide with four Security Barrier grenades. Requires Security access to open."
@@ -430,28 +481,6 @@
/obj/item/melee/baton/loaded) /obj/item/melee/baton/loaded)
crate_name = "stun baton crate" crate_name = "stun baton crate"
/datum/supply_pack/security/russianclothing
name = "Russian Surplus Clothing"
desc = "An old russian crate full of surplus armor that they used to use! Has two sets of bulletproff armor, a few union suits and some warm hats!"
contraband = TRUE
cost = 5000 // Its basicly sec suits, good boots/gloves
contains = list(/obj/item/clothing/suit/security/officer/russian,
/obj/item/clothing/suit/security/officer/russian,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/head/ushanka,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/suit/armor/bulletproof,
/obj/item/clothing/head/helmet/alt,
/obj/item/clothing/head/helmet/alt,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/gloves/combat,
/obj/item/clothing/mask/gas,
/obj/item/clothing/mask/gas)
crate_name = "surplus russian clothing"
crate_type = /obj/structure/closet/crate/internals
/datum/supply_pack/security/taser /datum/supply_pack/security/taser
name = "Taser Crate" name = "Taser Crate"
desc = "From the depths of stunbased combat, this order rises above, supreme. Contains three hybrid tasers, capable of firing both electrodes and disabling shots. Requires Security access to open." desc = "From the depths of stunbased combat, this order rises above, supreme. Contains three hybrid tasers, capable of firing both electrodes and disabling shots. Requires Security access to open."
@@ -665,6 +694,15 @@
/obj/item/gun/energy/e_gun/stun) /obj/item/gun/energy/e_gun/stun)
crate_name = "swat taser crate" crate_name = "swat taser crate"
/datum/supply_pack/security/armory/woodstock
name = "Classic WoodStock Shotguns Crate"
desc = "Contains three rustic, pumpaction shotguns. Requires Armory access to open."
cost = 3500
contains = list(/obj/item/gun/ballistic/shotgun,
/obj/item/gun/ballistic/shotgun,
/obj/item/gun/ballistic/shotgun)
crate_name = "woodstock shotguns crate"
/datum/supply_pack/security/armory/wt550 /datum/supply_pack/security/armory/wt550
name = "WT-550 Semi-Auto Rifle Crate" name = "WT-550 Semi-Auto Rifle Crate"
desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm. Requires Armory access to open." desc = "Contains two high-powered, semiautomatic rifles chambered in 4.6x30mm. Requires Armory access to open."
@@ -2204,6 +2242,17 @@
/mob/living/simple_animal/hostile/retaliate/poison/snake) /mob/living/simple_animal/hostile/retaliate/poison/snake)
crate_name = "snake crate" crate_name = "snake crate"
/datum/supply_pack/critter/secbat
name = "Security Bat Crate"
desc = "Contains five security bats, perfect to Bat-up any security officer."
cost = 2500
contains = list(/mob/living/simple_animal/hostile/retaliate/bat/secbat,
/mob/living/simple_animal/hostile/retaliate/bat/secbat,
/mob/living/simple_animal/hostile/retaliate/bat/secbat,
/mob/living/simple_animal/hostile/retaliate/bat/secbat,
/mob/living/simple_animal/hostile/retaliate/bat/secbat)
crate_name = "security bat crate"
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
//////////////////////////// Costumes & Toys ///////////////////////////////// //////////////////////////// Costumes & Toys /////////////////////////////////
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
@@ -2775,4 +2824,3 @@
/obj/item/toner, /obj/item/toner,
/obj/item/toner) /obj/item/toner)
crate_name = "toner crate" crate_name = "toner crate"
+12
View File
@@ -78,6 +78,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/socks = "Nude" //socks type var/socks = "Nude" //socks type
var/socks_color = "#FFFFFF" var/socks_color = "#FFFFFF"
var/backbag = DBACKPACK //backpack type var/backbag = DBACKPACK //backpack type
var/jumpsuit_style = PREF_SUIT //suit/skirt
var/hair_style = "Bald" //Hair type var/hair_style = "Bald" //Hair type
var/hair_color = "000" //Hair color var/hair_color = "000" //Hair color
var/facial_hair_style = "Shaved" //Face hair type var/facial_hair_style = "Shaved" //Face hair type
@@ -687,6 +688,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(UNDIE_COLORABLE(GLOB.socks_list[socks])) if(UNDIE_COLORABLE(GLOB.socks_list[socks]))
dat += "<b>Socks Color:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=socks_color;task=input'>[socks_color]</a>" dat += "<b>Socks Color:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=socks_color;task=input'>[socks_color]</a>"
dat += "<b>Backpack:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=bag;task=input'>[backbag]</a>" dat += "<b>Backpack:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=bag;task=input'>[backbag]</a>"
dat += "<b>Jumpsuit:</b><BR><a href ='?_src_=prefs;preference=suit;task=input'>[jumpsuit_style]</a><BR>"
dat += "<b>Uplink Location:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=uplink_loc;task=input'>[uplink_spawn_loc]</a>" dat += "<b>Uplink Location:</b><a style='display:block;width:100px' href ='?_src_=prefs;preference=uplink_loc;task=input'>[uplink_spawn_loc]</a>"
dat += "</td>" dat += "</td>"
@@ -1424,6 +1426,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
skin_tone = random_skin_tone() skin_tone = random_skin_tone()
if("bag") if("bag")
backbag = pick(GLOB.backbaglist) backbag = pick(GLOB.backbaglist)
if("suit")
jumpsuit_style = pick(GLOB.jumpsuitlist)
if("all") if("all")
random_character() random_character()
@@ -1965,6 +1969,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_backbag) if(new_backbag)
backbag = new_backbag backbag = new_backbag
if("suit")
if(jumpsuit_style == PREF_SUIT)
jumpsuit_style = PREF_SKIRT
else
jumpsuit_style = PREF_SUIT
if("uplink_loc") if("uplink_loc")
var/new_loc = input(user, "Choose your character's traitor uplink spawn location:", "Character Preference") as null|anything in GLOB.uplink_spawn_loc_list var/new_loc = input(user, "Choose your character's traitor uplink spawn location:", "Character Preference") as null|anything in GLOB.uplink_spawn_loc_list
if(new_loc) if(new_loc)
@@ -2287,6 +2298,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.backbag = backbag character.backbag = backbag
character.jumpsuit_style = jumpsuit_style
var/datum/species/chosen_species var/datum/species/chosen_species
if(!roundstart_checks || (pref_species.id in GLOB.roundstart_races)) if(!roundstart_checks || (pref_species.id in GLOB.roundstart_races))
+4 -1
View File
@@ -274,6 +274,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["socks"] >> socks S["socks"] >> socks
S["socks_color"] >> socks_color S["socks_color"] >> socks_color
S["backbag"] >> backbag S["backbag"] >> backbag
S["jumpsuit_style"] >> jumpsuit_style
S["uplink_loc"] >> uplink_spawn_loc S["uplink_loc"] >> uplink_spawn_loc
S["feature_mcolor"] >> features["mcolor"] S["feature_mcolor"] >> features["mcolor"]
S["feature_lizard_tail"] >> features["tail_lizard"] S["feature_lizard_tail"] >> features["tail_lizard"]
@@ -408,6 +409,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
eye_color = sanitize_hexcolor(eye_color, 3, 0) eye_color = sanitize_hexcolor(eye_color, 3, 0)
skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones) skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones)
backbag = sanitize_inlist(backbag, GLOB.backbaglist, initial(backbag)) backbag = sanitize_inlist(backbag, GLOB.backbaglist, initial(backbag))
jumpsuit_style = sanitize_inlist(jumpsuit_style, GLOB.jumpsuitlist, initial(jumpsuit_style))
uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc)) uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc))
features["mcolor"] = sanitize_hexcolor(features["mcolor"], 3, 0) features["mcolor"] = sanitize_hexcolor(features["mcolor"], 3, 0)
features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], GLOB.tails_list_lizard) features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], GLOB.tails_list_lizard)
@@ -476,7 +478,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["shirt_color"] , shirt_color) WRITE_FILE(S["shirt_color"] , shirt_color)
WRITE_FILE(S["socks"] , socks) WRITE_FILE(S["socks"] , socks)
WRITE_FILE(S["socks_color"] , socks_color) WRITE_FILE(S["socks_color"] , socks_color)
WRITE_FILE(S["backbag"] , backbag) WRITE_FILE(S["backbag"] , backbag)
WRITE_FILE(S["jumpsuit_style"] , jumpsuit_style)
WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc) WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc)
WRITE_FILE(S["species"] , pref_species.id) WRITE_FILE(S["species"] , pref_species.id)
WRITE_FILE(S["feature_mcolor"] , features["mcolor"]) WRITE_FILE(S["feature_mcolor"] , features["mcolor"])
-1
View File
@@ -28,7 +28,6 @@
H.update_inv_wear_suit() H.update_inv_wear_suit()
else if(adjusted == ALT_STYLE) else if(adjusted == ALT_STYLE)
adjusted = NORMAL_STYLE adjusted = NORMAL_STYLE
H.update_inv_wear_suit()
if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None")) if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None"))
if(H.dna.features["taur"] in list("Naga", "Tentacle")) if(H.dna.features["taur"] in list("Naga", "Tentacle"))
+130 -1
View File
@@ -1,12 +1,18 @@
/obj/item/clothing/under/color /obj/item/clothing/under/color
desc = "A standard issue colored jumpsuit. Variety is the spice of life!" desc = "A standard issue colored jumpsuit. Variety is the spice of life!"
/obj/item/clothing/under/skirt/color
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/color/random /obj/item/clothing/under/color/random
icon_state = "random_jumpsuit" icon_state = "random_jumpsuit"
/obj/item/clothing/under/color/random/Initialize() /obj/item/clothing/under/color/random/Initialize()
..() ..()
var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost) var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - subtypesof(/obj/item/clothing/under/skirt/color) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/glorf - /obj/item/clothing/under/color/black/ghost)
if(ishuman(loc)) if(ishuman(loc))
var/mob/living/carbon/human/H = loc var/mob/living/carbon/human/H = loc
H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM) //or else you end up with naked assistants running around everywhere... H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM) //or else you end up with naked assistants running around everywhere...
@@ -14,6 +20,20 @@
new C(loc) new C(loc)
return INITIALIZE_HINT_QDEL return INITIALIZE_HINT_QDEL
/obj/item/clothing/under/skirt/color/random
icon_state = "random_jumpsuit" //Skirt variant needed
/obj/item/clothing/under/skirt/color/random/Initialize()
..()
var/obj/item/clothing/under/skirt/color/C = pick(subtypesof(/obj/item/clothing/under/skirt/color) - /obj/item/clothing/under/skirt/color/random)
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
H.equip_to_slot_or_del(new C(H), SLOT_W_UNIFORM)
else
new C(loc)
return INITIALIZE_HINT_QDEL
/obj/item/clothing/under/color/black /obj/item/clothing/under/color/black
name = "black jumpsuit" name = "black jumpsuit"
icon_state = "black" icon_state = "black"
@@ -21,6 +41,12 @@
item_color = "black" item_color = "black"
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/skirt/color/black
name = "black jumpskirt"
icon_state = "black_skirt"
item_state = "bl_suit"
item_color = "black_skirt"
/obj/item/clothing/under/color/black/ghost /obj/item/clothing/under/color/black/ghost
item_flags = DROPDEL item_flags = DROPDEL
@@ -28,6 +54,9 @@
. = ..() . = ..()
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
/obj/item/clothing/under/color/black/ghost/Initialize()
. = ..()
ADD_TRAIT(src, TRAIT_NODROP, DROPDEL)
/obj/item/clothing/under/color/grey /obj/item/clothing/under/color/grey
name = "grey jumpsuit" name = "grey jumpsuit"
desc = "A tasteful grey jumpsuit that reminds you of the good old days." desc = "A tasteful grey jumpsuit that reminds you of the good old days."
@@ -35,6 +64,13 @@
item_state = "gy_suit" item_state = "gy_suit"
item_color = "grey" item_color = "grey"
/obj/item/clothing/under/skirt/color/grey
name = "grey jumpskirt"
desc = "A tasteful grey jumpskirt that reminds you of the good old days."
icon_state = "grey_skirt"
item_state = "gy_suit"
item_color = "grey_skirt"
/obj/item/clothing/under/color/grey/glorf /obj/item/clothing/under/color/grey/glorf
name = "ancient jumpsuit" name = "ancient jumpsuit"
desc = "A terribly ragged and frayed grey jumpsuit. It looks like it hasn't been washed in over a decade." desc = "A terribly ragged and frayed grey jumpsuit. It looks like it hasn't been washed in over a decade."
@@ -49,12 +85,24 @@
item_state = "b_suit" item_state = "b_suit"
item_color = "blue" item_color = "blue"
/obj/item/clothing/under/skirt/color/blue
name = "blue jumpskirt"
icon_state = "blue_skirt"
item_state = "b_suit"
item_color = "blue_skirt"
/obj/item/clothing/under/color/green /obj/item/clothing/under/color/green
name = "green jumpsuit" name = "green jumpsuit"
icon_state = "green" icon_state = "green"
item_state = "g_suit" item_state = "g_suit"
item_color = "green" item_color = "green"
/obj/item/clothing/under/skirt/color/green
name = "green jumpskirt"
icon_state = "green_skirt"
item_state = "g_suit"
item_color = "green_skirt"
/obj/item/clothing/under/color/orange /obj/item/clothing/under/color/orange
name = "orange jumpsuit" name = "orange jumpsuit"
desc = "Don't wear this near paranoid security officers." desc = "Don't wear this near paranoid security officers."
@@ -62,6 +110,12 @@
item_state = "o_suit" item_state = "o_suit"
item_color = "orange" item_color = "orange"
/obj/item/clothing/under/skirt/color/orange
name = "orange jumpskirt"
icon_state = "orange_skirt"
item_state = "o_suit"
item_color = "orange_skirt"
/obj/item/clothing/under/color/pink /obj/item/clothing/under/color/pink
name = "pink jumpsuit" name = "pink jumpsuit"
icon_state = "pink" icon_state = "pink"
@@ -69,66 +123,133 @@
item_state = "p_suit" item_state = "p_suit"
item_color = "pink" item_color = "pink"
/obj/item/clothing/under/skirt/color/pink
name = "pink jumpskirt"
icon_state = "pink_skirt"
item_state = "p_suit"
item_color = "pink_skirt"
/obj/item/clothing/under/color/red /obj/item/clothing/under/color/red
name = "red jumpsuit" name = "red jumpsuit"
icon_state = "red" icon_state = "red"
item_state = "r_suit" item_state = "r_suit"
item_color = "red" item_color = "red"
/obj/item/clothing/under/skirt/color/red
name = "red jumpskirt"
icon_state = "red_skirt"
item_state = "r_suit"
item_color = "red_skirt"
/obj/item/clothing/under/color/white /obj/item/clothing/under/color/white
name = "white jumpsuit" name = "white jumpsuit"
icon_state = "white" icon_state = "white"
item_state = "w_suit" item_state = "w_suit"
item_color = "white" item_color = "white"
/obj/item/clothing/under/skirt/color/white
name = "white jumpskirt"
icon_state = "white_skirt"
item_state = "w_suit"
item_color = "white_skirt"
/obj/item/clothing/under/color/yellow /obj/item/clothing/under/color/yellow
name = "yellow jumpsuit" name = "yellow jumpsuit"
icon_state = "yellow" icon_state = "yellow"
item_state = "y_suit" item_state = "y_suit"
item_color = "yellow" item_color = "yellow"
/obj/item/clothing/under/skirt/color/yellow
name = "yellow jumpskirt"
icon_state = "yellow_skirt"
item_state = "y_suit"
item_color = "yellow_skirt"
/obj/item/clothing/under/color/darkblue /obj/item/clothing/under/color/darkblue
name = "darkblue jumpsuit" name = "darkblue jumpsuit"
icon_state = "darkblue" icon_state = "darkblue"
item_state = "b_suit" item_state = "b_suit"
item_color = "darkblue" item_color = "darkblue"
/obj/item/clothing/under/skirt/color/darkblue
name = "darkblue jumpskirt"
icon_state = "darkblue_skirt"
item_state = "b_suit"
item_color = "darkblue_skirt"
/obj/item/clothing/under/color/teal /obj/item/clothing/under/color/teal
name = "teal jumpsuit" name = "teal jumpsuit"
icon_state = "teal" icon_state = "teal"
item_state = "b_suit" item_state = "b_suit"
item_color = "teal" item_color = "teal"
/obj/item/clothing/under/skirt/color/teal
name = "teal jumpskirt"
icon_state = "teal_skirt"
item_state = "b_suit"
item_color = "teal_skirt"
/obj/item/clothing/under/color/lightpurple /obj/item/clothing/under/color/lightpurple
name = "purple jumpsuit" name = "purple jumpsuit"
icon_state = "lightpurple" icon_state = "lightpurple"
item_state = "p_suit" item_state = "p_suit"
item_color = "lightpurple" item_color = "lightpurple"
/obj/item/clothing/under/skirt/color/lightpurple
name = "lightpurple jumpskirt"
icon_state = "lightpurple_skirt"
item_state = "p_suit"
item_color = "lightpurple_skirt"
/obj/item/clothing/under/color/darkgreen /obj/item/clothing/under/color/darkgreen
name = "darkgreen jumpsuit" name = "darkgreen jumpsuit"
icon_state = "darkgreen" icon_state = "darkgreen"
item_state = "g_suit" item_state = "g_suit"
item_color = "darkgreen" item_color = "darkgreen"
/obj/item/clothing/under/skirt/color/darkgreen
name = "darkgreen jumpskirt"
icon_state = "darkgreen_skirt"
item_state = "g_suit"
item_color = "darkgreen_skirt"
/obj/item/clothing/under/color/lightbrown /obj/item/clothing/under/color/lightbrown
name = "lightbrown jumpsuit" name = "lightbrown jumpsuit"
icon_state = "lightbrown" icon_state = "lightbrown"
item_state = "lb_suit" item_state = "lb_suit"
item_color = "lightbrown" item_color = "lightbrown"
/obj/item/clothing/under/skirt/color/lightbrown
name = "lightbrown jumpskirt"
icon_state = "lightbrown_skirt"
item_state = "lb_suit"
item_color = "lightbrown_skirt"
/obj/item/clothing/under/color/brown /obj/item/clothing/under/color/brown
name = "brown jumpsuit" name = "brown jumpsuit"
icon_state = "brown" icon_state = "brown"
item_state = "lb_suit" item_state = "lb_suit"
item_color = "brown" item_color = "brown"
/obj/item/clothing/under/skirt/color/brown
name = "brown jumpskirt"
icon_state = "brown_skirt"
item_state = "lb_suit"
item_color = "brown_skirt"
/obj/item/clothing/under/color/maroon /obj/item/clothing/under/color/maroon
name = "maroon jumpsuit" name = "maroon jumpsuit"
icon_state = "maroon" icon_state = "maroon"
item_state = "r_suit" item_state = "r_suit"
item_color = "maroon" item_color = "maroon"
/obj/item/clothing/under/skirt/color/maroon
name = "maroon jumpskirt"
icon_state = "maroon_skirt"
item_state = "r_suit"
item_color = "maroon_skirt"
/obj/item/clothing/under/color/rainbow /obj/item/clothing/under/color/rainbow
name = "rainbow jumpsuit" name = "rainbow jumpsuit"
desc = "A multi-colored jumpsuit!" desc = "A multi-colored jumpsuit!"
@@ -136,3 +257,11 @@
item_state = "rainbow" item_state = "rainbow"
item_color = "rainbow" item_color = "rainbow"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/skirt/color/rainbow
name = "rainbow jumpskirt"
desc = "A multi-colored jumpskirt!"
icon_state = "rainbow_skirt"
item_state = "rainbow"
item_color = "rainbow_skirt"
can_adjust = FALSE
+188 -7
View File
@@ -16,6 +16,16 @@
item_color = "purplebartender" item_color = "purplebartender"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/bartender/skirt
name = "bartender's skirt"
desc = "It looks like it could use some more flair."
icon_state = "barman_skirt"
item_state = "bar_suit"
item_color = "barman_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define. /obj/item/clothing/under/rank/captain //Alright, technically not a 'civilian' but its better then giving a .dm file for a single define.
desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"." desc = "It's a blue jumpsuit with some gold markings denoting the rank of \"Captain\"."
name = "captain's jumpsuit" name = "captain's jumpsuit"
@@ -25,6 +35,16 @@
sensor_mode = SENSOR_COORDS sensor_mode = SENSOR_COORDS
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/captain/skirt
name = "captain's jumpskirt"
desc = "It's a blue jumpskirt with some gold markings denoting the rank of \"Captain\"."
icon_state = "captain_skirt"
item_state = "b_suit"
item_color = "captain_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/cargo /obj/item/clothing/under/rank/cargo
name = "quartermaster's jumpsuit" name = "quartermaster's jumpsuit"
desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper." desc = "It's a jumpsuit worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
@@ -32,6 +52,16 @@
item_state = "lb_suit" item_state = "lb_suit"
item_color = "qm" item_color = "qm"
/obj/item/clothing/under/rank/cargo/skirt
name = "quartermaster's jumpskirt"
desc = "It's a jumpskirt worn by the quartermaster. It's specially designed to prevent back injuries caused by pushing paper."
icon_state = "qm_skirt"
item_state = "lb_suit"
item_color = "qm_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/cargotech /obj/item/clothing/under/rank/cargotech
name = "cargo technician's jumpsuit" name = "cargo technician's jumpsuit"
desc = "Shooooorts! They're comfy and easy to wear!" desc = "Shooooorts! They're comfy and easy to wear!"
@@ -42,6 +72,15 @@
mutantrace_variation = MUTANTRACE_VARIATION mutantrace_variation = MUTANTRACE_VARIATION
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/cargotech/skirt
name = "cargo technician's jumpskirt"
desc = "Skiiiiirts! They're comfy and easy to wear"
icon_state = "cargo_skirt"
item_state = "lb_suit"
item_color = "cargo_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/chaplain /obj/item/clothing/under/rank/chaplain
desc = "It's a black jumpsuit, often worn by religious folk." desc = "It's a black jumpsuit, often worn by religious folk."
@@ -51,6 +90,16 @@
item_color = "chapblack" item_color = "chapblack"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/chaplain/skirt
name = "chaplain's jumpskirt"
desc = "It's a black jumpskirt, often worn by religious folk."
icon_state = "chapblack_skirt"
item_state = "bl_suit"
item_color = "chapblack_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/chef /obj/item/clothing/under/rank/chef
name = "cook's suit" name = "cook's suit"
desc = "A suit which is given only to the most <b>hardcore</b> cooks in space." desc = "A suit which is given only to the most <b>hardcore</b> cooks in space."
@@ -58,6 +107,15 @@
item_color = "chef" item_color = "chef"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/chef/skirt
name = "cook's skirt"
desc = "A skirt which is given only to the most <b>hardcore</b> cooks in space."
icon_state = "chef_skirt"
item_color = "chef_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/clown /obj/item/clothing/under/rank/clown
name = "clown suit" name = "clown suit"
desc = "<i>'HONK!'</i>" desc = "<i>'HONK!'</i>"
@@ -66,7 +124,6 @@
item_color = "clown" item_color = "clown"
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/blueclown /obj/item/clothing/under/rank/blueclown
name = "blue clown suit" name = "blue clown suit"
desc = "<i>'BLUE HONK!'</i>" desc = "<i>'BLUE HONK!'</i>"
@@ -130,7 +187,6 @@
/obj/item/clothing/under/rank/clown/Initialize() /obj/item/clothing/under/rank/clown/Initialize()
. = ..() . = ..()
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50) AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)
/obj/item/clothing/under/rank/head_of_personnel /obj/item/clothing/under/rank/head_of_personnel
desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"." desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"."
name = "head of personnel's jumpsuit" name = "head of personnel's jumpsuit"
@@ -139,6 +195,16 @@
item_color = "hop" item_color = "hop"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/head_of_personnel/skirt
name = "head of personnel's jumpskirt"
desc = "It's a jumpskirt worn by someone who works in the position of \"Head of Personnel\"."
icon_state = "hop_skirt"
item_state = "b_suit"
item_color = "hop_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/hydroponics /obj/item/clothing/under/rank/hydroponics
desc = "It's a jumpsuit designed to protect against minor plant-related hazards." desc = "It's a jumpsuit designed to protect against minor plant-related hazards."
name = "botanist's jumpsuit" name = "botanist's jumpsuit"
@@ -147,6 +213,16 @@
item_color = "hydroponics" item_color = "hydroponics"
permeability_coefficient = 0.5 permeability_coefficient = 0.5
/obj/item/clothing/under/rank/hydroponics/skirt
name = "botanist's jumpskirt"
desc = "It's a jumpskirt designed to protect against minor plant-related hazards."
icon_state = "hydroponics_skirt"
item_state = "g_suit"
item_color = "hydroponics_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/janitor /obj/item/clothing/under/rank/janitor
desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards." desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards."
name = "janitor's jumpsuit" name = "janitor's jumpsuit"
@@ -154,49 +230,108 @@
item_color = "janitor" item_color = "janitor"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/janitor/skirt
name = "janitor's jumpskirt"
desc = "It's the official skirt of the station's janitor. It has minor protection from biohazards."
icon_state = "janitor_skirt"
item_color = "janitor_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer /obj/item/clothing/under/lawyer
desc = "Slick threads." desc = "Slick threads."
name = "Lawyer suit" name = "Lawyer suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/lawyer/black /obj/item/clothing/under/lawyer/black
name = "lawyer black suit"
icon_state = "lawyer_black" icon_state = "lawyer_black"
item_state = "lawyer_black" item_state = "lawyer_black"
item_color = "lawyer_black" item_color = "lawyer_black"
/obj/item/clothing/under/lawyer/black/skirt
name = "lawyer black suitskirt"
icon_state = "lawyer_black_skirt"
item_state = "lawyer_black"
item_color = "lawyer_black_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/female /obj/item/clothing/under/lawyer/female
name = "female black suit"
icon_state = "black_suit_fem" icon_state = "black_suit_fem"
item_state = "black_suit_fem" item_state = "bl_suit"
item_color = "black_suit_fem" item_color = "black_suit_fem"
/obj/item/clothing/under/lawyer/red /obj/item/clothing/under/lawyer/red
name = "lawyer red suit"
icon_state = "lawyer_red" icon_state = "lawyer_red"
item_state = "lawyer_red" item_state = "lawyer_red"
item_color = "lawyer_red" item_color = "lawyer_red"
/obj/item/clothing/under/lawyer/female/skirt
name = "female black suitskirt"
icon_state = "black_suit_fem_skirt"
item_state = "bl_suit"
item_color = "black_suit_fem_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/red/skirt
name = "lawyer red suitskirt"
icon_state = "lawyer_red_skirt"
item_state = "lawyer_red"
item_color = "lawyer_red_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/blue /obj/item/clothing/under/lawyer/blue
name = "lawyer blue suit"
icon_state = "lawyer_blue" icon_state = "lawyer_blue"
item_state = "lawyer_blue" item_state = "lawyer_blue"
item_color = "lawyer_blue" item_color = "lawyer_blue"
/obj/item/clothing/under/lawyer/blue/skirt
name = "lawyer blue suitskirt"
icon_state = "lawyer_blue_skirt"
item_state = "lawyer_blue"
item_color = "lawyer_blue_skirt"
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/bluesuit /obj/item/clothing/under/lawyer/bluesuit
name = "blue suit" name = "blue suit"
desc = "A classy suit and tie." desc = "A classy suit and tie."
icon_state = "bluesuit" icon_state = "bluesuit"
item_state = "bluesuit" item_state = "b_suit"
item_color = "bluesuit" item_color = "bluesuit"
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/lawyer/bluesuit/skirt
name = "blue suitskirt"
desc = "A classy suitskirt and tie."
icon_state = "bluesuit_skirt"
item_state = "b_suit"
item_color = "bluesuit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/purpsuit /obj/item/clothing/under/lawyer/purpsuit
name = "purple suit" name = "purple suit"
icon_state = "lawyer_purp" icon_state = "lawyer_purp"
item_state = "lawyer_purp" item_state = "p_suit"
item_color = "lawyer_purp" item_color = "lawyer_purp"
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/lawyer/purpsuit/skirt
name = "purple suitskirt"
icon_state = "lawyer_purp_skirt"
item_state = "p_suit"
item_color = "lawyer_purp_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/lawyer/blacksuit /obj/item/clothing/under/lawyer/blacksuit
name = "black suit" name = "black suit"
desc = "A professional black suit. Nanotrasen Investigation Bureau approved!" desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
@@ -206,6 +341,16 @@
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/lawyer/blacksuit/skirt
name = "black suitskirt"
desc = "A professional black suit. Nanotrasen Investigation Bureau approved!"
icon_state = "blacksuit_skirt"
item_state = "bar_suit"
item_color = "blacksuit_skirt"
can_adjust = FALSE
alt_covers_chest = TRUE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/curator /obj/item/clothing/under/rank/curator
name = "sensible suit" name = "sensible suit"
desc = "It's very... sensible." desc = "It's very... sensible."
@@ -214,6 +359,33 @@
item_color = "red_suit" item_color = "red_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/lawyer/really_black
name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit"
item_state = "bl_suit"
item_color = "really_black_suit"
/obj/item/clothing/under/lawyer/really_black/skirt
name = "executive suitskirt"
desc = "A formal black suitskirt and red tie, intended for the station's finest."
icon_state = "really_black_suit_skirt"
item_state = "bl_suit"
item_color = "really_black_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/curator/skirt
name = "sensible suitskirt"
desc = "It's very... sensible."
icon_state = "red_suit_skirt"
item_state = "red_suit"
item_color = "red_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/curator/treasure_hunter /obj/item/clothing/under/rank/curator/treasure_hunter
name = "treasure hunter uniform" name = "treasure hunter uniform"
desc = "A rugged uniform suitable for treasure hunting." desc = "A rugged uniform suitable for treasure hunting."
@@ -228,13 +400,22 @@
item_state = "mime" item_state = "mime"
item_color = "mime" item_color = "mime"
/obj/item/clothing/under/rank/mime/skirt
name = "mime's skirt"
desc = "It's not very colourful."
icon_state = "mime_skirt"
item_state = "mime"
item_color = "mime_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/miner /obj/item/clothing/under/rank/miner
desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty." desc = "It's a snappy jumpsuit with a sturdy set of overalls. It is very dirty."
name = "shaft miner's jumpsuit" name = "shaft miner's jumpsuit"
icon_state = "miner" icon_state = "miner"
item_state = "miner" item_state = "miner"
item_color = "miner" item_color = "miner"
/obj/item/clothing/under/rank/miner/lavaland /obj/item/clothing/under/rank/miner/lavaland
desc = "A green uniform for operating in hazardous environments." desc = "A green uniform for operating in hazardous environments."
name = "shaft miner's jumpsuit" name = "shaft miner's jumpsuit"
@@ -8,6 +8,16 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40)
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/rank/chief_engineer/skirt
name = "chief engineer's jumpskirt"
desc = "It's a high visibility jumpskirt given to those engineers insane enough to achieve the rank of \"Chief Engineer\". It has minor radiation shielding."
icon_state = "chief_skirt"
item_state = "gy_suit"
item_color = "chief_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/atmospheric_technician /obj/item/clothing/under/rank/atmospheric_technician
desc = "It's a jumpsuit worn by atmospheric technicians." desc = "It's a jumpsuit worn by atmospheric technicians."
name = "atmospheric technician's jumpsuit" name = "atmospheric technician's jumpsuit"
@@ -16,6 +26,16 @@
item_color = "atmos" item_color = "atmos"
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/rank/atmospheric_technician/skirt
name = "atmospheric technician's jumpskirt"
desc = "It's a jumpskirt worn by atmospheric technicians."
icon_state = "atmos_skirt"
item_state = "atmos_suit"
item_color = "atmos_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/engineer /obj/item/clothing/under/rank/engineer
desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding." desc = "It's an orange high visibility jumpsuit worn by engineers. It has minor radiation shielding."
name = "engineer's jumpsuit" name = "engineer's jumpsuit"
@@ -24,6 +44,23 @@
item_color = "engine" item_color = "engine"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20)
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/rank/engineer/hazard
name = "engineer's hazard jumpsuit"
desc = "A high visibility jumpsuit made from heat and radiation resistant materials."
icon_state = "hazard"
item_state = "suit-orange"
item_color = "hazard"
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/engineer/skirt
name = "engineer's jumpskirt"
desc = "It's an orange high visibility jumpskirt worn by engineers."
icon_state = "engine_skirt"
item_state = "engi_suit"
item_color = "engine_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/roboticist /obj/item/clothing/under/rank/roboticist
desc = "It's a slimming black with reinforced seams; great for industrial work." desc = "It's a slimming black with reinforced seams; great for industrial work."
@@ -31,4 +68,14 @@
icon_state = "robotics" icon_state = "robotics"
item_state = "robotics" item_state = "robotics"
item_color = "robotics" item_color = "robotics"
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/rank/roboticist/skirt
name = "roboticist's jumpskirt"
desc = "It's a slimming black with reinforced seams; great for industrial work."
icon_state = "robotics_skirt"
item_state = "robotics"
item_color = "robotics_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
+89 -4
View File
@@ -10,6 +10,16 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35)
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/research_director/skirt
name = "research director's vest suitskirt"
desc = "It's a suitskirt worn by those with the know-how to achieve the position of \"Research Director\". Its fabric provides minor protection from biological contaminants."
icon_state = "director_skirt"
item_state = "lb_suit"
item_color = "director_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/research_director/alt /obj/item/clothing/under/rank/research_director/alt
desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants." desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
name = "research director's tan suit" name = "research director's tan suit"
@@ -20,6 +30,16 @@
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/research_director/alt/skirt
name = "research director's tan suitskirt"
desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants."
icon_state = "rdwhimsy_skirt"
item_state = "rdwhimsy"
item_color = "rdwhimsy_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/research_director/turtleneck /obj/item/clothing/under/rank/research_director/turtleneck
desc = "A dark purple turtleneck and tan khakis, for a director with a superior sense of style." desc = "A dark purple turtleneck and tan khakis, for a director with a superior sense of style."
name = "research director's turtleneck" name = "research director's turtleneck"
@@ -30,6 +50,16 @@
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/research_director/turtleneck/skirt
name = "research director's turtleneck skirt"
desc = "A dark purple turtleneck and tan khaki skirt, for a director with a superior sense of style."
icon_state = "rdturtle_skirt"
item_state = "p_suit"
item_color = "rdturtle_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/scientist /obj/item/clothing/under/rank/scientist
desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist." desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
name = "scientist's jumpsuit" name = "scientist's jumpsuit"
@@ -39,6 +69,15 @@
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/scientist/skirt
name = "scientist's jumpskirt"
desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist."
icon_state = "toxinswhite_skirt"
item_state = "w_suit"
item_color = "toxinswhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/chemist /obj/item/clothing/under/rank/chemist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it." desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
@@ -49,6 +88,16 @@
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65)
/obj/item/clothing/under/rank/chemist/skirt
name = "chemist's jumpskirt"
desc = "It's made of a special fiber that gives special protection against biohazards. It has a chemist rank stripe on it."
icon_state = "chemistrywhite_skirt"
item_state = "w_suit"
item_color = "chemistrywhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/* /*
* Medical * Medical
*/ */
@@ -61,6 +110,16 @@
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/chief_medical_officer/skirt
name = "chief medical officer's jumpskirt"
desc = "It's a jumpskirt worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection."
icon_state = "cmo_skirt"
item_state = "w_suit"
item_color = "cmo_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/geneticist /obj/item/clothing/under/rank/geneticist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
name = "geneticist's jumpsuit" name = "geneticist's jumpsuit"
@@ -70,6 +129,16 @@
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/geneticist/skirt
name = "geneticist's jumpskirt"
desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it."
icon_state = "geneticswhite_skirt"
item_state = "w_suit"
item_color = "geneticswhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/virologist /obj/item/clothing/under/rank/virologist
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
name = "virologist's jumpsuit" name = "virologist's jumpsuit"
@@ -79,6 +148,16 @@
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/virologist/skirt
name = "virologist's jumpskirt"
desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it."
icon_state = "virologywhite_skirt"
item_state = "w_suit"
item_color = "virologywhite_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/nursesuit /obj/item/clothing/under/rank/nursesuit
desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." desc = "It's a jumpsuit commonly worn by nursing staff in the medical department."
name = "nurse's suit" name = "nurse's suit"
@@ -90,7 +169,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/medical /obj/item/clothing/under/rank/medical
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel." desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
name = "medical doctor's jumpsuit" name = "medical doctor's jumpsuit"
@@ -99,24 +177,31 @@
item_color = "medical" item_color = "medical"
permeability_coefficient = 0.5 permeability_coefficient = 0.5
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/medical/blue /obj/item/clothing/under/rank/medical/blue
name = "medical scrubs" name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue."
icon_state = "scrubsblue" icon_state = "scrubsblue"
item_color = "scrubsblue" item_color = "scrubsblue"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/medical/green /obj/item/clothing/under/rank/medical/green
name = "medical scrubs" name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green." desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in dark green."
icon_state = "scrubsgreen" icon_state = "scrubsgreen"
item_color = "scrubsgreen" item_color = "scrubsgreen"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/medical/purple /obj/item/clothing/under/rank/medical/purple
name = "medical scrubs" name = "medical scrubs"
desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple." desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in deep purple."
icon_state = "scrubspurple" icon_state = "scrubspurple"
item_color = "scrubspurple" item_color = "scrubspurple"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/medical/skirt
name = "medical doctor's jumpskirt"
desc = "It's made of a special fiber that provides minor protection against biohazards. It has a cross on the chest denoting that the wearer is trained medical personnel."
icon_state = "medical_skirt"
item_state = "w_suit"
item_color = "medical_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
+61 -11
View File
@@ -4,11 +4,9 @@
* Detective * Detective
* Navy uniforms * Navy uniforms
*/ */
/* /*
* Security * Security
*/ */
/obj/item/clothing/under/rank/security /obj/item/clothing/under/rank/security
name = "security jumpsuit" name = "security jumpsuit"
desc = "A tactical security jumpsuit for officers complete with Nanotrasen belt buckle." desc = "A tactical security jumpsuit for officers complete with Nanotrasen belt buckle."
@@ -20,14 +18,12 @@
alt_covers_chest = TRUE alt_covers_chest = TRUE
sensor_mode = SENSOR_COORDS sensor_mode = SENSOR_COORDS
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/security/grey /obj/item/clothing/under/rank/security/grey
name = "grey security jumpsuit" name = "grey security jumpsuit"
desc = "A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood." desc = "A tactical relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
icon_state = "security" icon_state = "security"
item_state = "gy_suit" item_state = "gy_suit"
item_color = "security" item_color = "security"
/obj/item/clothing/under/rank/security/skirt /obj/item/clothing/under/rank/security/skirt
name = "security jumpskirt" name = "security jumpskirt"
desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt." desc = "A \"tactical\" security jumpsuit with the legs replaced by a skirt."
@@ -36,6 +32,7 @@
item_color = "secskirt" item_color = "secskirt"
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone can_adjust = FALSE //you know now that i think of it if you adjust the skirt and the sprite disappears isn't that just like flashing everyone
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/warden /obj/item/clothing/under/rank/warden
@@ -49,7 +46,6 @@
alt_covers_chest = TRUE alt_covers_chest = TRUE
sensor_mode = 3 sensor_mode = 3
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/warden/grey /obj/item/clothing/under/rank/warden/grey
name = "grey security suit" name = "grey security suit"
desc = "A formal relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood." desc = "A formal relic of years past before Nanotrasen decided it was cheaper to dye the suits red instead of washing out the blood."
@@ -57,6 +53,16 @@
item_state = "gy_suit" item_state = "gy_suit"
item_color = "warden" item_color = "warden"
/obj/item/clothing/under/rank/warden/skirt
name = "warden's suitskirt"
desc = "A formal security suitskirt for officers complete with Nanotrasen belt buckle."
icon_state = "rwarden_skirt"
item_state = "r_suit"
item_color = "rwarden_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/* /*
* Detective * Detective
*/ */
@@ -72,6 +78,16 @@
sensor_mode = 3 sensor_mode = 3
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/det/skirt
name = "detective's suitskirt"
desc = "Someone who wears this means business."
icon_state = "detective_skirt"
item_state = "det"
item_color = "detective_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/det/grey /obj/item/clothing/under/rank/det/grey
name = "noir suit" name = "noir suit"
desc = "A hard-boiled private investigator's grey suit, complete with tie clip." desc = "A hard-boiled private investigator's grey suit, complete with tie clip."
@@ -80,6 +96,16 @@
item_color = "greydet" item_color = "greydet"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/det/grey/skirt
name = "noir suitskirt"
desc = "A hard-boiled private investigator's grey suitskirt, complete with tie clip."
icon_state = "greydet_skirt"
item_state = "greydet"
item_color = "greydet_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/* /*
* Head of Security * Head of Security
*/ */
@@ -95,13 +121,22 @@
sensor_mode = 3 sensor_mode = 3
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/head_of_security/skirt
name = "head of security's jumpskirt"
desc = "A security jumpskirt decorated for those few with the dedication to achieve the position of Head of Security."
icon_state = "rhos_skirt"
item_state = "r_suit"
item_color = "rhos_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/head_of_security/grey /obj/item/clothing/under/rank/head_of_security/grey
name = "head of security's grey jumpsuit" name = "head of security's grey jumpsuit"
desc = "There are old men, and there are bold men, but there are very few old, bold men." desc = "There are old men, and there are bold men, but there are very few old, bold men."
icon_state = "hos" icon_state = "hos"
item_state = "gy_suit" item_state = "gy_suit"
item_color = "hos" item_color = "hos"
/obj/item/clothing/under/rank/head_of_security/alt /obj/item/clothing/under/rank/head_of_security/alt
name = "head of security's turtleneck" name = "head of security's turtleneck"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants." desc = "A stylish alternative to the normal head of security jumpsuit, complete with tactical pants."
@@ -109,10 +144,19 @@
item_state = "bl_suit" item_state = "bl_suit"
item_color = "hosalt" item_color = "hosalt"
/obj/item/clothing/under/rank/head_of_security/alt/skirt
name = "head of security's turtleneck skirt"
desc = "A stylish alternative to the normal head of security jumpsuit, complete with a tactical skirt."
icon_state = "hosalt_skirt"
item_state = "bl_suit"
item_color = "hosalt_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/* /*
* Navy uniforms * Navy uniforms
*/ */
/obj/item/clothing/under/rank/security/navyblue /obj/item/clothing/under/rank/security/navyblue
name = "security officer's formal uniform" name = "security officer's formal uniform"
desc = "The latest in fashionable security outfits." desc = "The latest in fashionable security outfits."
@@ -120,7 +164,6 @@
item_state = "officerblueclothes" item_state = "officerblueclothes"
item_color = "officerblueclothes" item_color = "officerblueclothes"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/head_of_security/navyblue /obj/item/clothing/under/rank/head_of_security/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security." desc = "The insignia on this uniform tells you that this uniform belongs to the Head of Security."
name = "head of security's formal uniform" name = "head of security's formal uniform"
@@ -128,7 +171,6 @@
item_state = "hosblueclothes" item_state = "hosblueclothes"
item_color = "hosblueclothes" item_color = "hosblueclothes"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/warden/navyblue /obj/item/clothing/under/rank/warden/navyblue
desc = "The insignia on this uniform tells you that this uniform belongs to the Warden." desc = "The insignia on this uniform tells you that this uniform belongs to the Warden."
name = "warden's formal uniform" name = "warden's formal uniform"
@@ -136,11 +178,9 @@
item_state = "wardenblueclothes" item_state = "wardenblueclothes"
item_color = "wardenblueclothes" item_color = "wardenblueclothes"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/* /*
*Blueshirt *Blueshirt
*/ */
/obj/item/clothing/under/rank/security/blueshirt /obj/item/clothing/under/rank/security/blueshirt
name = "blue shirt and tie" name = "blue shirt and tie"
desc = "I'm a little busy right now, Calhoun." desc = "I'm a little busy right now, Calhoun."
@@ -148,3 +188,13 @@
item_state = "blueshift" item_state = "blueshift"
item_color = "blueshift" item_color = "blueshift"
can_adjust = FALSE can_adjust = FALSE
/*
*Spacepol
*/
/obj/item/clothing/under/rank/security/spacepol
name = "police uniform"
desc = "Space not controlled by megacorporations, planets, or pirates is under the jurisdiction of Spacepol."
icon_state = "spacepol"
item_state = "spacepol"
item_color = "spacepol"
can_adjust = FALSE
+50 -91
View File
@@ -5,7 +5,6 @@
item_color = "red_pyjamas" item_color = "red_pyjamas"
item_state = "w_suit" item_state = "w_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/pj/blue /obj/item/clothing/under/pj/blue
name = "blue pj's" name = "blue pj's"
desc = "Sleepwear." desc = "Sleepwear."
@@ -13,7 +12,6 @@
item_color = "blue_pyjamas" item_color = "blue_pyjamas"
item_state = "w_suit" item_state = "w_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/patriotsuit /obj/item/clothing/under/patriotsuit
name = "Patriotic Suit" name = "Patriotic Suit"
desc = "Motorcycle not included." desc = "Motorcycle not included."
@@ -21,7 +19,6 @@
item_state = "ek" item_state = "ek"
item_color = "ek" item_color = "ek"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/scratch /obj/item/clothing/under/scratch
name = "white suit" name = "white suit"
desc = "A white suit, suitable for an excellent host." desc = "A white suit, suitable for an excellent host."
@@ -30,13 +27,22 @@
item_color = "scratch" item_color = "scratch"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/scratch/skirt
name = "white suitskirt"
desc = "A white suitskirt, suitable for an excellent host."
icon_state = "white_suit_skirt"
item_state = "scratch"
item_color = "white_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/sl_suit /obj/item/clothing/under/sl_suit
desc = "It's a very amish looking suit." desc = "It's a very amish looking suit."
name = "amish suit" name = "amish suit"
icon_state = "sl_suit" icon_state = "sl_suit"
item_color = "sl_suit" item_color = "sl_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/roman /obj/item/clothing/under/roman
name = "\improper Roman armor" name = "\improper Roman armor"
desc = "Ancient Roman armor. Made of metallic and leather straps." desc = "Ancient Roman armor. Made of metallic and leather straps."
@@ -46,7 +52,6 @@
can_adjust = FALSE can_adjust = FALSE
strip_delay = 100 strip_delay = 100
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/waiter /obj/item/clothing/under/waiter
name = "waiter's outfit" name = "waiter's outfit"
desc = "It's a very smart uniform with a special pocket for tip." desc = "It's a very smart uniform with a special pocket for tip."
@@ -54,7 +59,6 @@
item_state = "waiter" item_state = "waiter"
item_color = "waiter" item_color = "waiter"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/prisoner /obj/item/clothing/under/rank/prisoner
name = "prison jumpsuit" name = "prison jumpsuit"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
@@ -65,20 +69,28 @@
sensor_mode = SENSOR_COORDS sensor_mode = SENSOR_COORDS
random_sensor = FALSE random_sensor = FALSE
/obj/item/clothing/under/rank/prisoner/skirt
name = "prison jumpskirt"
desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position."
icon_state = "prisoner_skirt"
item_state = "o_suit"
item_color = "prisoner_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/rank/mailman /obj/item/clothing/under/rank/mailman
name = "mailman's jumpsuit" name = "mailman's jumpsuit"
desc = "<i>'Special delivery!'</i>" desc = "<i>'Special delivery!'</i>"
icon_state = "mailman" icon_state = "mailman"
item_state = "b_suit" item_state = "b_suit"
item_color = "mailman" item_color = "mailman"
/obj/item/clothing/under/rank/psyche /obj/item/clothing/under/rank/psyche
name = "psychedelic jumpsuit" name = "psychedelic jumpsuit"
desc = "Groovy!" desc = "Groovy!"
icon_state = "psyche" icon_state = "psyche"
item_state = "p_suit" item_state = "p_suit"
item_color = "psyche" item_color = "psyche"
/obj/item/clothing/under/rank/clown/sexy /obj/item/clothing/under/rank/clown/sexy
name = "sexy-clown suit" name = "sexy-clown suit"
desc = "It makes you look HONKable!" desc = "It makes you look HONKable!"
@@ -86,7 +98,6 @@
item_state = "sexyclown" item_state = "sexyclown"
item_color = "sexyclown" item_color = "sexyclown"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/jabroni /obj/item/clothing/under/jabroni
name = "Jabroni Outfit" name = "Jabroni Outfit"
desc = "The leather club is two sectors down." desc = "The leather club is two sectors down."
@@ -94,7 +105,6 @@
item_state = "darkholme" item_state = "darkholme"
item_color = "darkholme" item_color = "darkholme"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/vice /obj/item/clothing/under/rank/vice
name = "vice officer's jumpsuit" name = "vice officer's jumpsuit"
desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision." desc = "It's the standard issue pretty-boy outfit, as seen on Holo-Vision."
@@ -102,7 +112,6 @@
item_state = "gy_suit" item_state = "gy_suit"
item_color = "vice" item_color = "vice"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/rank/centcom_officer /obj/item/clothing/under/rank/centcom_officer
desc = "It's a jumpsuit worn by CentCom Officers." desc = "It's a jumpsuit worn by CentCom Officers."
name = "\improper CentCom officer's jumpsuit" name = "\improper CentCom officer's jumpsuit"
@@ -110,14 +119,12 @@
item_state = "g_suit" item_state = "g_suit"
item_color = "officer" item_color = "officer"
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/rank/centcom_commander /obj/item/clothing/under/rank/centcom_commander
desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders." desc = "It's a jumpsuit worn by CentCom's highest-tier Commanders."
name = "\improper CentCom officer's jumpsuit" name = "\improper CentCom officer's jumpsuit"
icon_state = "centcom" icon_state = "centcom"
item_state = "dg_suit" item_state = "dg_suit"
item_color = "centcom" item_color = "centcom"
/obj/item/clothing/under/space /obj/item/clothing/under/space
name = "\improper NASA jumpsuit" name = "\improper NASA jumpsuit"
desc = "It has a NASA logo on it and is made of space-proofed materials." desc = "It has a NASA logo on it and is made of space-proofed materials."
@@ -134,7 +141,6 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
can_adjust = FALSE can_adjust = FALSE
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/acj /obj/item/clothing/under/acj
name = "administrative cybernetic jumpsuit" name = "administrative cybernetic jumpsuit"
icon_state = "syndicate" icon_state = "syndicate"
@@ -151,28 +157,24 @@
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
can_adjust = FALSE can_adjust = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/clothing/under/owl /obj/item/clothing/under/owl
name = "owl uniform" name = "owl uniform"
desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction." desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction."
icon_state = "owl" icon_state = "owl"
item_color = "owl" item_color = "owl"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/griffin /obj/item/clothing/under/griffin
name = "griffon uniform" name = "griffon uniform"
desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem." desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem."
icon_state = "griffin" icon_state = "griffin"
item_color = "griffin" item_color = "griffin"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/cloud /obj/item/clothing/under/cloud
name = "cloud" name = "cloud"
desc = "cloud" desc = "cloud"
icon_state = "cloud" icon_state = "cloud"
item_color = "cloud" item_color = "cloud"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/gimmick/rank/captain/suit /obj/item/clothing/under/gimmick/rank/captain/suit
name = "captain's suit" name = "captain's suit"
desc = "A green suit and yellow necktie. Exemplifies authority." desc = "A green suit and yellow necktie. Exemplifies authority."
@@ -181,6 +183,16 @@
item_color = "green_suit" item_color = "green_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/gimmick/rank/captain/suit/skirt
name = "green suitskirt"
desc = "A green suitskirt and yellow necktie. Exemplifies authority."
icon_state = "green_suit_skirt"
item_state = "dg_suit"
item_color = "green_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit /obj/item/clothing/under/gimmick/rank/head_of_personnel/suit
name = "head of personnel's suit" name = "head of personnel's suit"
desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble." desc = "A teal suit and yellow necktie. An authoritative yet tacky ensemble."
@@ -189,6 +201,16 @@
item_color = "teal_suit" item_color = "teal_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt
name = "teal suitskirt"
desc = "A teal suitskirt and yellow necktie. An authoritative yet tacky ensemble."
icon_state = "teal_suit_skirt"
item_state = "g_suit"
item_color = "teal_suit_skirt"
body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/suit_jacket /obj/item/clothing/under/suit_jacket
name = "black suit" name = "black suit"
desc = "A black suit and red tie. Very formal." desc = "A black suit and red tie. Very formal."
@@ -196,21 +218,18 @@
item_state = "bl_suit" item_state = "bl_suit"
item_color = "black_suit" item_color = "black_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/suit_jacket/really_black /obj/item/clothing/under/suit_jacket/really_black
name = "executive suit" name = "executive suit"
desc = "A formal black suit and red tie, intended for the station's finest." desc = "A formal black suit and red tie, intended for the station's finest."
icon_state = "really_black_suit" icon_state = "really_black_suit"
item_state = "bl_suit" item_state = "bl_suit"
item_color = "black_suit" item_color = "really_black_suit"
/obj/item/clothing/under/suit_jacket/female /obj/item/clothing/under/suit_jacket/female
name = "executive suit" name = "executive suit"
desc = "A formal trouser suit for women, intended for the station's finest." desc = "A formal trouser suit for women, intended for the station's finest."
icon_state = "black_suit_fem" icon_state = "black_suit_fem"
item_state = "black_suit_fem" item_state = "black_suit_fem"
item_color = "black_suit_fem" item_color = "black_suit_fem"
/obj/item/clothing/under/suit_jacket/green /obj/item/clothing/under/suit_jacket/green
name = "green suit" name = "green suit"
desc = "A green suit and yellow necktie. Baller." desc = "A green suit and yellow necktie. Baller."
@@ -218,56 +237,48 @@
item_state = "dg_suit" item_state = "dg_suit"
item_color = "green_suit" item_color = "green_suit"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/suit_jacket/red /obj/item/clothing/under/suit_jacket/red
name = "red suit" name = "red suit"
desc = "A red suit and blue tie. Somewhat formal." desc = "A red suit and blue tie. Somewhat formal."
icon_state = "red_suit" icon_state = "red_suit"
item_state = "r_suit" item_state = "r_suit"
item_color = "red_suit" item_color = "red_suit"
/obj/item/clothing/under/suit_jacket/charcoal /obj/item/clothing/under/suit_jacket/charcoal
name = "charcoal suit" name = "charcoal suit"
desc = "A charcoal suit and red tie. Very professional." desc = "A charcoal suit and red tie. Very professional."
icon_state = "charcoal_suit" icon_state = "charcoal_suit"
item_state = "charcoal_suit" item_state = "charcoal_suit"
item_color = "charcoal_suit" item_color = "charcoal_suit"
/obj/item/clothing/under/suit_jacket/navy /obj/item/clothing/under/suit_jacket/navy
name = "navy suit" name = "navy suit"
desc = "A navy suit and red tie, intended for the station's finest." desc = "A navy suit and red tie, intended for the station's finest."
icon_state = "navy_suit" icon_state = "navy_suit"
item_state = "navy_suit" item_state = "navy_suit"
item_color = "navy_suit" item_color = "navy_suit"
/obj/item/clothing/under/suit_jacket/burgundy /obj/item/clothing/under/suit_jacket/burgundy
name = "burgundy suit" name = "burgundy suit"
desc = "A burgundy suit and black tie. Somewhat formal." desc = "A burgundy suit and black tie. Somewhat formal."
icon_state = "burgundy_suit" icon_state = "burgundy_suit"
item_state = "burgundy_suit" item_state = "burgundy_suit"
item_color = "burgundy_suit" item_color = "burgundy_suit"
/obj/item/clothing/under/suit_jacket/checkered /obj/item/clothing/under/suit_jacket/checkered
name = "checkered suit" name = "checkered suit"
desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?" desc = "That's a very nice suit you have there. Shame if something were to happen to it, eh?"
icon_state = "checkered_suit" icon_state = "checkered_suit"
item_state = "checkered_suit" item_state = "checkered_suit"
item_color = "checkered_suit" item_color = "checkered_suit"
/obj/item/clothing/under/suit_jacket/tan /obj/item/clothing/under/suit_jacket/tan
name = "tan suit" name = "tan suit"
desc = "A tan suit with a yellow tie. Smart, but casual." desc = "A tan suit with a yellow tie. Smart, but casual."
icon_state = "tan_suit" icon_state = "tan_suit"
item_state = "tan_suit" item_state = "tan_suit"
item_color = "tan_suit" item_color = "tan_suit"
/obj/item/clothing/under/suit_jacket/white /obj/item/clothing/under/suit_jacket/white
name = "white suit" name = "white suit"
desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!" desc = "A white suit and jacket with a blue shirt. You wanna play rough? OKAY!"
icon_state = "white_suit" icon_state = "white_suit"
item_state = "white_suit" item_state = "white_suit"
item_color = "white_suit" item_color = "white_suit"
/obj/item/clothing/under/burial /obj/item/clothing/under/burial
name = "burial garments" name = "burial garments"
desc = "Traditional burial garments from the early 22nd century." desc = "Traditional burial garments from the early 22nd century."
@@ -275,7 +286,6 @@
item_state = "burial" item_state = "burial"
item_color = "burial" item_color = "burial"
has_sensor = NO_SENSORS has_sensor = NO_SENSORS
/obj/item/clothing/under/skirt/black /obj/item/clothing/under/skirt/black
name = "black skirt" name = "black skirt"
desc = "A black skirt, very fancy!" desc = "A black skirt, very fancy!"
@@ -284,7 +294,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/skirt/blue /obj/item/clothing/under/skirt/blue
name = "blue skirt" name = "blue skirt"
desc = "A blue, casual skirt." desc = "A blue, casual skirt."
@@ -294,7 +303,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/skirt/red /obj/item/clothing/under/skirt/red
name = "red skirt" name = "red skirt"
desc = "A red, casual skirt." desc = "A red, casual skirt."
@@ -304,7 +312,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/skirt/purple /obj/item/clothing/under/skirt/purple
name = "purple skirt" name = "purple skirt"
desc = "A purple, casual skirt." desc = "A purple, casual skirt."
@@ -314,8 +321,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/schoolgirl /obj/item/clothing/under/schoolgirl
name = "blue schoolgirl uniform" name = "blue schoolgirl uniform"
desc = "It's just like one of my Japanese animes!" desc = "It's just like one of my Japanese animes!"
@@ -325,25 +330,21 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/schoolgirl/red /obj/item/clothing/under/schoolgirl/red
name = "red schoolgirl uniform" name = "red schoolgirl uniform"
icon_state = "schoolgirlred" icon_state = "schoolgirlred"
item_state = "schoolgirlred" item_state = "schoolgirlred"
item_color = "schoolgirlred" item_color = "schoolgirlred"
/obj/item/clothing/under/schoolgirl/green /obj/item/clothing/under/schoolgirl/green
name = "green schoolgirl uniform" name = "green schoolgirl uniform"
icon_state = "schoolgirlgreen" icon_state = "schoolgirlgreen"
item_state = "schoolgirlgreen" item_state = "schoolgirlgreen"
item_color = "schoolgirlgreen" item_color = "schoolgirlgreen"
/obj/item/clothing/under/schoolgirl/orange /obj/item/clothing/under/schoolgirl/orange
name = "orange schoolgirl uniform" name = "orange schoolgirl uniform"
icon_state = "schoolgirlorange" icon_state = "schoolgirlorange"
item_state = "schoolgirlorange" item_state = "schoolgirlorange"
item_color = "schoolgirlorange" item_color = "schoolgirlorange"
/obj/item/clothing/under/overalls /obj/item/clothing/under/overalls
name = "laborer's overalls" name = "laborer's overalls"
desc = "A set of durable overalls for getting the job done." desc = "A set of durable overalls for getting the job done."
@@ -351,7 +352,6 @@
item_state = "lb_suit" item_state = "lb_suit"
item_color = "overalls" item_color = "overalls"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/pirate /obj/item/clothing/under/pirate
name = "pirate outfit" name = "pirate outfit"
desc = "Yarr." desc = "Yarr."
@@ -359,7 +359,6 @@
item_state = "pirate" item_state = "pirate"
item_color = "pirate" item_color = "pirate"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/soviet /obj/item/clothing/under/soviet
name = "soviet uniform" name = "soviet uniform"
desc = "For the Motherland!" desc = "For the Motherland!"
@@ -367,7 +366,6 @@
item_state = "soviet" item_state = "soviet"
item_color = "soviet" item_color = "soviet"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/redcoat /obj/item/clothing/under/redcoat
name = "redcoat uniform" name = "redcoat uniform"
desc = "Looks old." desc = "Looks old."
@@ -375,7 +373,6 @@
item_state = "redcoat" item_state = "redcoat"
item_color = "redcoat" item_color = "redcoat"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/kilt /obj/item/clothing/under/kilt
name = "kilt" name = "kilt"
desc = "Includes shoes and plaid." desc = "Includes shoes and plaid."
@@ -385,7 +382,6 @@
body_parts_covered = CHEST|GROIN|LEGS|FEET body_parts_covered = CHEST|GROIN|LEGS|FEET
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/kilt/highlander /obj/item/clothing/under/kilt/highlander
desc = "You're the only one worthy of this kilt." desc = "You're the only one worthy of this kilt."
@@ -402,7 +398,6 @@
body_parts_covered = CHEST|GROIN|LEGS body_parts_covered = CHEST|GROIN|LEGS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/gladiator /obj/item/clothing/under/gladiator
name = "gladiator uniform" name = "gladiator uniform"
desc = "Are you not entertained? Is that not why you are here?" desc = "Are you not entertained? Is that not why you are here?"
@@ -413,11 +408,9 @@
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/gladiator/ash_walker /obj/item/clothing/under/gladiator/ash_walker
desc = "This gladiator uniform appears to be covered in ash and fairly dated." desc = "This gladiator uniform appears to be covered in ash and fairly dated."
has_sensor = NO_SENSORS has_sensor = NO_SENSORS
/obj/item/clothing/under/sundress /obj/item/clothing/under/sundress
name = "sundress" name = "sundress"
desc = "Makes you want to frolic in a field of daisies." desc = "Makes you want to frolic in a field of daisies."
@@ -427,7 +420,6 @@
body_parts_covered = CHEST|GROIN body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/captainparade /obj/item/clothing/under/captainparade
name = "captain's parade uniform" name = "captain's parade uniform"
desc = "A captain's luxury-wear, for special occasions." desc = "A captain's luxury-wear, for special occasions."
@@ -435,7 +427,6 @@
item_state = "by_suit" item_state = "by_suit"
item_color = "captain_parade" item_color = "captain_parade"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/hosparademale /obj/item/clothing/under/hosparademale
name = "head of security's parade uniform" name = "head of security's parade uniform"
desc = "A male head of security's luxury-wear, for special occasions." desc = "A male head of security's luxury-wear, for special occasions."
@@ -443,7 +434,6 @@
item_state = "r_suit" item_state = "r_suit"
item_color = "hos_parade_male" item_color = "hos_parade_male"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/hosparadefem /obj/item/clothing/under/hosparadefem
name = "head of security's parade uniform" name = "head of security's parade uniform"
desc = "A female head of security's luxury-wear, for special occasions." desc = "A female head of security's luxury-wear, for special occasions."
@@ -452,7 +442,6 @@
item_color = "hos_parade_fem" item_color = "hos_parade_fem"
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/assistantformal /obj/item/clothing/under/assistantformal
name = "assistant's formal uniform" name = "assistant's formal uniform"
desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown." desc = "An assistant's formal-wear. Why an assistant needs formal-wear is still unknown."
@@ -460,7 +449,6 @@
item_state = "gy_suit" item_state = "gy_suit"
item_color = "assistant_formal" item_color = "assistant_formal"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/blacktango /obj/item/clothing/under/blacktango
name = "black tango dress" name = "black tango dress"
desc = "Filled with Latin fire." desc = "Filled with Latin fire."
@@ -469,8 +457,6 @@
item_color = "black_tango" item_color = "black_tango"
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
body_parts_covered = CHEST|GROIN
/obj/item/clothing/under/stripeddress /obj/item/clothing/under/stripeddress
name = "striped dress" name = "striped dress"
desc = "Fashion in space." desc = "Fashion in space."
@@ -480,7 +466,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_FULL fitted = FEMALE_UNIFORM_FULL
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/sailordress /obj/item/clothing/under/sailordress
name = "sailor dress" name = "sailor dress"
desc = "Formal wear for a leading lady." desc = "Formal wear for a leading lady."
@@ -490,7 +475,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/redeveninggown /obj/item/clothing/under/redeveninggown
name = "red evening gown" name = "red evening gown"
desc = "Fancy dress for space bar singers." desc = "Fancy dress for space bar singers."
@@ -499,7 +483,6 @@
item_color = "red_evening_gown" item_color = "red_evening_gown"
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/maid /obj/item/clothing/under/maid
name = "maid costume" name = "maid costume"
desc = "Maid in China." desc = "Maid in China."
@@ -509,12 +492,10 @@
body_parts_covered = CHEST|GROIN body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/maid/Initialize() /obj/item/clothing/under/maid/Initialize()
. = ..() . = ..()
var/obj/item/clothing/accessory/maidapron/A = new (src) var/obj/item/clothing/accessory/maidapron/A = new (src)
attach_accessory(A) attach_accessory(A)
/obj/item/clothing/under/janimaid /obj/item/clothing/under/janimaid
name = "maid uniform" name = "maid uniform"
desc = "A simple maid uniform for housekeeping." desc = "A simple maid uniform for housekeeping."
@@ -524,7 +505,6 @@
body_parts_covered = CHEST|GROIN body_parts_covered = CHEST|GROIN
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/plaid_skirt /obj/item/clothing/under/plaid_skirt
name = "red plaid skirt" name = "red plaid skirt"
desc = "A preppy red skirt with a white blouse." desc = "A preppy red skirt with a white blouse."
@@ -534,7 +514,6 @@
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/plaid_skirt/blue /obj/item/clothing/under/plaid_skirt/blue
name = "blue plaid skirt" name = "blue plaid skirt"
desc = "A preppy blue skirt with a white blouse." desc = "A preppy blue skirt with a white blouse."
@@ -544,7 +523,6 @@
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/plaid_skirt/purple /obj/item/clothing/under/plaid_skirt/purple
name = "purple plaid skirt" name = "purple plaid skirt"
desc = "A preppy purple skirt with a white blouse." desc = "A preppy purple skirt with a white blouse."
@@ -554,7 +532,6 @@
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/singery /obj/item/clothing/under/singery
name = "yellow performer's outfit" name = "yellow performer's outfit"
desc = "Just looking at this makes you want to sing." desc = "Just looking at this makes you want to sing."
@@ -565,7 +542,6 @@
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
alternate_worn_layer = ABOVE_SHOES_LAYER alternate_worn_layer = ABOVE_SHOES_LAYER
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/singerb /obj/item/clothing/under/singerb
name = "blue performer's outfit" name = "blue performer's outfit"
desc = "Just looking at this makes you want to sing." desc = "Just looking at this makes you want to sing."
@@ -576,7 +552,6 @@
alternate_worn_layer = ABOVE_SHOES_LAYER alternate_worn_layer = ABOVE_SHOES_LAYER
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/plaid_skirt/green /obj/item/clothing/under/plaid_skirt/green
name = "green plaid skirt" name = "green plaid skirt"
desc = "A preppy green skirt with a white blouse." desc = "A preppy green skirt with a white blouse."
@@ -586,17 +561,14 @@
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = TRUE can_adjust = TRUE
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/jester /obj/item/clothing/under/jester
name = "jester suit" name = "jester suit"
desc = "A jolly dress, well suited to entertain your master, nuncle." desc = "A jolly dress, well suited to entertain your master, nuncle."
icon_state = "jester" icon_state = "jester"
item_color = "jester" item_color = "jester"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/jester/alt /obj/item/clothing/under/jester/alt
icon_state = "jester2" icon_state = "jester2"
/obj/item/clothing/under/geisha /obj/item/clothing/under/geisha
name = "geisha suit" name = "geisha suit"
desc = "Cute space ninja senpai not included." desc = "Cute space ninja senpai not included."
@@ -604,14 +576,12 @@
item_color = "geisha" item_color = "geisha"
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/villain /obj/item/clothing/under/villain
name = "villain suit" name = "villain suit"
desc = "A change of wardrobe is necessary if you ever want to catch a real superhero." desc = "A change of wardrobe is necessary if you ever want to catch a real superhero."
icon_state = "villain" icon_state = "villain"
item_color = "villain" item_color = "villain"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/sailor /obj/item/clothing/under/sailor
name = "sailor suit" name = "sailor suit"
desc = "Skipper's in the wardroom drinkin gin'." desc = "Skipper's in the wardroom drinkin gin'."
@@ -619,7 +589,6 @@
item_state = "b_suit" item_state = "b_suit"
item_color = "sailor" item_color = "sailor"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/plasmaman /obj/item/clothing/under/plasmaman
name = "plasma envirosuit" name = "plasma envirosuit"
desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy." desc = "A special containment suit that allows plasma-based lifeforms to exist safely in an oxygenated environment, and automatically extinguishes them in a crisis. Despite being airtight, it's not spaceworthy."
@@ -633,17 +602,12 @@
var/next_extinguish = 0 var/next_extinguish = 0
var/extinguish_cooldown = 100 var/extinguish_cooldown = 100
var/extinguishes_left = 5 var/extinguishes_left = 5
/obj/item/clothing/under/plasmaman/examine(mob/user) /obj/item/clothing/under/plasmaman/examine(mob/user)
..() ..()
to_chat(user, "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>") to_chat(user, "<span class='notice'>There are [extinguishes_left] extinguisher charges left in this suit.</span>")
/obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H) /obj/item/clothing/under/plasmaman/proc/Extinguish(mob/living/carbon/human/H)
if(!istype(H)) if(!istype(H))
return return
if(H.on_fire) if(H.on_fire)
if(extinguishes_left) if(extinguishes_left)
if(next_extinguish > world.time) if(next_extinguish > world.time)
@@ -654,7 +618,6 @@
H.ExtinguishMob() H.ExtinguishMob()
new /obj/effect/particle_effect/water(get_turf(H)) new /obj/effect/particle_effect/water(get_turf(H))
return 0 return 0
/obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params) /obj/item/clothing/under/plasmaman/attackby(obj/item/E, mob/user, params)
..() ..()
if (istype(E, /obj/item/extinguisher_refill)) if (istype(E, /obj/item/extinguisher_refill))
@@ -668,20 +631,17 @@
return return
return return
return return
/obj/item/extinguisher_refill /obj/item/extinguisher_refill
name = "envirosuit extinguisher cartridge" name = "envirosuit extinguisher cartridge"
desc = "A cartridge loaded with a compressed extinguisher mix, used to refill the automatic extinguisher on plasma envirosuits." desc = "A cartridge loaded with a compressed extinguisher mix, used to refill the automatic extinguisher on plasma envirosuits."
icon_state = "plasmarefill" icon_state = "plasmarefill"
icon = 'icons/obj/device.dmi' icon = 'icons/obj/device.dmi'
/obj/item/clothing/under/rank/security/navyblue/russian /obj/item/clothing/under/rank/security/navyblue/russian
name = "\improper Russian officer's uniform" name = "\improper Russian officer's uniform"
desc = "The latest in fashionable russian outfits." desc = "The latest in fashionable russian outfits."
icon_state = "hostanclothes" icon_state = "hostanclothes"
item_state = "hostanclothes" item_state = "hostanclothes"
item_color = "hostanclothes" item_color = "hostanclothes"
/obj/item/clothing/under/mummy /obj/item/clothing/under/mummy
name = "mummy wrapping" name = "mummy wrapping"
desc = "Return the slab or suffer my stale references." desc = "Return the slab or suffer my stale references."
@@ -692,7 +652,6 @@
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/scarecrow /obj/item/clothing/under/scarecrow
name = "scarecrow clothes" name = "scarecrow clothes"
desc = "Perfect camouflage for hiding in botany." desc = "Perfect camouflage for hiding in botany."
@@ -703,7 +662,6 @@
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/draculass /obj/item/clothing/under/draculass
name = "draculass coat" name = "draculass coat"
desc = "A dress inspired by the ancient \"Victorian\" era." desc = "A dress inspired by the ancient \"Victorian\" era."
@@ -713,8 +671,6 @@
body_parts_covered = CHEST|GROIN|ARMS body_parts_covered = CHEST|GROIN|ARMS
fitted = FEMALE_UNIFORM_TOP fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/drfreeze /obj/item/clothing/under/drfreeze
name = "doctor freeze's jumpsuit" name = "doctor freeze's jumpsuit"
desc = "A modified scientist jumpsuit to look extra cool." desc = "A modified scientist jumpsuit to look extra cool."
@@ -722,8 +678,6 @@
item_state = "drfreeze" item_state = "drfreeze"
item_color = "drfreeze" item_color = "drfreeze"
can_adjust = FALSE can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/lobster /obj/item/clothing/under/lobster
name = "foam lobster suit" name = "foam lobster suit"
desc = "Who beheaded the college mascot?" desc = "Who beheaded the college mascot?"
@@ -732,8 +686,6 @@
item_color = "lobster" item_color = "lobster"
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/gondola /obj/item/clothing/under/gondola
name = "gondola hide suit" name = "gondola hide suit"
desc = "Now you're cooking." desc = "Now you're cooking."
@@ -741,7 +693,6 @@
item_state = "lb_suit" item_state = "lb_suit"
item_color = "gondola" item_color = "gondola"
can_adjust = FALSE can_adjust = FALSE
/obj/item/clothing/under/skeleton /obj/item/clothing/under/skeleton
name = "skeleton jumpsuit" name = "skeleton jumpsuit"
desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!" desc = "A black jumpsuit with a white bone pattern printed on it. Spooky!"
@@ -752,10 +703,18 @@
fitted = NO_FEMALE_UNIFORM fitted = NO_FEMALE_UNIFORM
can_adjust = FALSE can_adjust = FALSE
resistance_flags = NONE resistance_flags = NONE
/obj/item/clothing/under/durathread
name = "durathread jumpsuit"
desc = "A jumpsuit made from durathread, its resilient fibres provide some protection to the wearer."
icon_state = "durathread"
item_state = "durathread"
item_color = "durathread"
can_adjust = FALSE
armor = list("melee" = 10, "laser" = 10, "fire" = 40, "acid" = 10, "bomb" = 5)
/obj/item/clothing/under/gear_harness /obj/item/clothing/under/gear_harness
name = "gear harness" name = "gear harness"
desc = "A simple, inconspicuous harness replacement for a jumpsuit." desc = "A simple, inconspicuous harness replacement for a jumpsuit."
icon_state = "gear_harness" icon_state = "gear_harness"
item_state = "gear_harness" //We dont use golem do to being a item, item without faces making it default to error suit sprites. item_state = "gear_harness" //We dont use golem do to being a item, item without faces making it default to error suit sprites.
body_parts_covered = CHEST|GROIN body_parts_covered = CHEST|GROIN
+20
View File
@@ -8,6 +8,17 @@
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
alt_covers_chest = TRUE alt_covers_chest = TRUE
/obj/item/clothing/under/syndicate/skirt
name = "tactical skirtleneck"
desc = "A non-descript and slightly suspicious looking skirtleneck."
icon_state = "syndicate_skirt"
item_state = "bl_suit"
item_color = "syndicate_skirt"
has_sensor = NO_SENSORS
armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
alt_covers_chest = TRUE
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/syndicate/tacticool /obj/item/clothing/under/syndicate/tacticool
name = "tacticool turtleneck" name = "tacticool turtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
@@ -16,6 +27,15 @@
item_color = "tactifool" item_color = "tactifool"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
/obj/item/clothing/under/syndicate/tacticool/skirt
name = "tacticool skirtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
icon_state = "tactifool_skirt"
item_state = "bl_suit"
item_color = "tactifool_skirt"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40)
fitted = FEMALE_UNIFORM_TOP
/obj/item/clothing/under/syndicate/sniper /obj/item/clothing/under/syndicate/sniper
name = "Tactical turtleneck suit" name = "Tactical turtleneck suit"
desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp." desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp."
+8 -2
View File
@@ -30,6 +30,12 @@ Assistant
/datum/outfit/job/assistant/pre_equip(mob/living/carbon/human/H) /datum/outfit/job/assistant/pre_equip(mob/living/carbon/human/H)
..() ..()
if (CONFIG_GET(flag/grey_assistants)) if (CONFIG_GET(flag/grey_assistants))
uniform = /obj/item/clothing/under/color/grey if(H.jumpsuit_style == PREF_SUIT)
uniform = /obj/item/clothing/under/color/grey
else
uniform = /obj/item/clothing/under/skirt/color/grey
else else
uniform = /obj/item/clothing/under/color/random if(H.jumpsuit_style == PREF_SUIT)
uniform = /obj/item/clothing/under/color/random
else
uniform = /obj/item/clothing/under/skirt/color/random
+10
View File
@@ -190,6 +190,16 @@
backpack_contents.Insert(1, box) // Box always takes a first slot in backpack backpack_contents.Insert(1, box) // Box always takes a first slot in backpack
backpack_contents[box] = 1 backpack_contents[box] = 1
//converts the uniform string into the path we'll wear, whether it's the skirt or regular variant
var/holder
if(H.jumpsuit_style == PREF_SKIRT)
holder = "[uniform]/skirt"
if(!text2path(holder))
holder = "[uniform]"
else
holder = "[uniform]"
uniform = text2path(holder)
/datum/outfit/job/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) /datum/outfit/job/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly) if(visualsOnly)
return return
@@ -31,6 +31,7 @@
var/socks = "Nude" //Which socks the player wants var/socks = "Nude" //Which socks the player wants
var/socks_color = "#FFFFFF" var/socks_color = "#FFFFFF"
var/backbag = DBACKPACK //Which backpack type the player has chosen. var/backbag = DBACKPACK //Which backpack type the player has chosen.
var/jumpsuit_style = PREF_SUIT //suit/skirt
//Equipment slots //Equipment slots
var/obj/item/wear_suit = null var/obj/item/wear_suit = null
@@ -3,7 +3,7 @@
amount = dna.species.spec_stun(src,amount) amount = dna.species.spec_stun(src,amount)
return ..() return ..()
/mob/living/carbon/human/Knockdown(amount, updating = 1, ignore_canknockdown = 0) /mob/living/carbon/human/Knockdown(amount, updating = TRUE, ignore_canknockdown = FALSE, override_hardstun, override_stamdmg)
amount = dna.species.spec_stun(src,amount) amount = dna.species.spec_stun(src,amount)
return ..() return ..()
@@ -377,13 +377,16 @@ There are several things that need to be remembered:
if(wear_suit) if(wear_suit)
var/obj/item/clothing/suit/S = wear_suit var/obj/item/clothing/suit/S = wear_suit
var/no_taur_thanks = FALSE
if(!istype(S))
no_taur_thanks = TRUE
wear_suit.screen_loc = ui_oclothing wear_suit.screen_loc = ui_oclothing
if(client && hud_used && hud_used.hud_shown) if(client && hud_used && hud_used.hud_shown)
if(hud_used.inventory_shown) if(hud_used.inventory_shown)
client.screen += wear_suit client.screen += wear_suit
update_observer_view(wear_suit,1) update_observer_view(wear_suit,1)
if(S.mutantrace_variation) //Just make sure we've got this checked too if(!no_taur_thanks && S.mutantrace_variation) //Just make sure we've got this checked too
if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE) //are we not a taur, but we have Digitigrade legs? Run this check first, then. if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE) //are we not a taur, but we have Digitigrade legs? Run this check first, then.
S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi' S.alternate_worn_icon = 'modular_citadel/icons/mob/suit_digi.dmi'
else else
@@ -404,7 +407,7 @@ There are several things that need to be remembered:
if(OFFSET_SUIT in dna.species.offset_features) if(OFFSET_SUIT in dna.species.offset_features)
suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1]
suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2] suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2]
if(S.center) if(!no_taur_thanks && S.center)
suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y) suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y)
overlays_standing[SUIT_LAYER] = suit_overlay overlays_standing[SUIT_LAYER] = suit_overlay
update_hair() update_hair()
@@ -222,7 +222,7 @@
if(.) if(.)
update_icons() update_icons()
/mob/living/simple_animal/drone/cogscarab/Knockdown(amount, updating = 1, ignore_canknockdown = 0) /mob/living/simple_animal/drone/cogscarab/Knockdown(amount, updating = TRUE, ignore_canknockdown = FALSE, override_hardstun, override_stamdmg)
. = ..() . = ..()
if(.) if(.)
update_icons() update_icons()
@@ -38,3 +38,13 @@
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0 minbodytemp = 0
/mob/living/simple_animal/hostile/retaliate/bat/secbat
name = "Security Bat"
icon_state = "secbat"
icon_living = "secbat"
icon_dead = "secbat_dead"
icon_gib = "secbat_dead"
desc = "A fruit bat with a tiny little security hat who is ready to inject cuteness into any security operation."
emote_see = list("is ready to law down the law.", "flaps about with an air of authority.")
response_help = "respects the authority of"
gold_core_spawnable = FRIENDLY_SPAWN
+5 -5
View File
@@ -62,15 +62,15 @@
return K.duration - world.time return K.duration - world.time
return 0 return 0
/mob/living/proc/Knockdown(amount, updating = TRUE, ignore_canknockdown = FALSE) //Can't go below remaining duration /mob/living/proc/Knockdown(amount, updating = TRUE, ignore_canknockdown = FALSE, override_hardstun, override_stamdmg) //Can't go below remaining duration
if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canknockdown) if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canknockdown)
if(absorb_stun(amount, ignore_canknockdown)) if(absorb_stun(isnull(override_hardstun)? amount : override_hardstun, ignore_canknockdown))
return return
var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown() var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown()
if(K) if(K)
K.duration = max(world.time + amount, K.duration) K.duration = max(world.time + (isnull(override_hardstun)? amount : override_hardstun), K.duration)
else if(amount > 0) else if((amount || override_hardstun) > 0)
K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating) K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating, override_hardstun, override_stamdmg)
return K return K
/mob/living/proc/SetKnockdown(amount, updating = TRUE, ignore_canknockdown = FALSE) //Sets remaining duration /mob/living/proc/SetKnockdown(amount, updating = TRUE, ignore_canknockdown = FALSE) //Sets remaining duration
+6 -2
View File
@@ -155,7 +155,7 @@
// deaf_message (optional) is what deaf people will see. // deaf_message (optional) is what deaf people will see.
// hearing_distance (optional) is the range, how many tiles away the message can be heard. // hearing_distance (optional) is the range, how many tiles away the message can be heard.
/mob/audible_message(message, deaf_message, hearing_distance, self_message) /mob/audible_message(message, deaf_message, hearing_distance, self_message, no_ghosts = FALSE)
var/range = 7 var/range = 7
if(hearing_distance) if(hearing_distance)
range = hearing_distance range = hearing_distance
@@ -163,6 +163,8 @@
var/msg = message var/msg = message
if(self_message && M==src) if(self_message && M==src)
msg = self_message msg = self_message
if(no_ghosts && isobserver(M))
continue
M.show_message( msg, 2, deaf_message, 1) M.show_message( msg, 2, deaf_message, 1)
// Show a message to all mobs in earshot of this atom // Show a message to all mobs in earshot of this atom
@@ -171,11 +173,13 @@
// deaf_message (optional) is what deaf people will see. // deaf_message (optional) is what deaf people will see.
// hearing_distance (optional) is the range, how many tiles away the message can be heard. // hearing_distance (optional) is the range, how many tiles away the message can be heard.
/atom/proc/audible_message(message, deaf_message, hearing_distance) /atom/proc/audible_message(message, deaf_message, hearing_distance, no_ghosts = FALSE)
var/range = 7 var/range = 7
if(hearing_distance) if(hearing_distance)
range = hearing_distance range = hearing_distance
for(var/mob/M in get_hearers_in_view(range, src)) for(var/mob/M in get_hearers_in_view(range, src))
if(no_ghosts && isobserver(M))
continue
M.show_message( message, 2, deaf_message, 1) M.show_message( message, 2, deaf_message, 1)
/mob/proc/Life() /mob/proc/Life()
+3 -7
View File
@@ -172,15 +172,11 @@ proc/get_top_level_mob(var/mob/S)
user.log_message(message, INDIVIDUAL_EMOTE_LOG) user.log_message(message, INDIVIDUAL_EMOTE_LOG)
message = "<b>[user]</b> " + "<i>[message]</i>" message = "<b>[user]</b> " + "<i>[message]</i>"
for(var/mob/M)
if(M in list(/mob/living))
M.show_message(message)
if(emote_type == EMOTE_AUDIBLE) if(emote_type == EMOTE_AUDIBLE)
user.audible_message(message=message,hearing_distance=1) user.audible_message(message=message,hearing_distance=1, no_ghosts = TRUE)
else else
user.visible_message(message=message,self_message=message,vision_distance=1) user.visible_message(message=message,self_message=message,vision_distance=1, no_ghosts = TRUE)
log_emote("[key_name(user)] : [message]") log_emote("[key_name(user)] : (SUBTLER) [message]")
message = null message = null
@@ -9,7 +9,7 @@
name = "\improper PM-9HEDP" name = "\improper PM-9HEDP"
desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward mechs." desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward mechs."
caliber = "84mm" caliber = "84mm"
icon_state = "s-casing-live" icon_state = "84mm-hedp"
projectile_type = /obj/item/projectile/bullet/a84mm projectile_type = /obj/item/projectile/bullet/a84mm
/obj/item/ammo_casing/caseless/a75 /obj/item/ammo_casing/caseless/a75
@@ -11,7 +11,7 @@
max_ammo = 1 max_ammo = 1
/obj/item/ammo_box/magazine/internal/rocketlauncher /obj/item/ammo_box/magazine/internal/rocketlauncher
name = "grenade launcher internal magazine" name = "rocket launcher internal magazine"
ammo_type = /obj/item/ammo_casing/caseless/rocket ammo_type = /obj/item/ammo_casing/caseless/rocket
caliber = "84mm" caliber = "84mm"
max_ammo = 1 max_ammo = 1
+12 -1
View File
@@ -32,9 +32,10 @@
var/fire_delay = 0 //rate of fire for burst firing and semi auto var/fire_delay = 0 //rate of fire for burst firing and semi auto
var/firing_burst = 0 //Prevent the weapon from firing again while already firing var/firing_burst = 0 //Prevent the weapon from firing again while already firing
var/semicd = 0 //cooldown handler var/semicd = 0 //cooldown handler
var/weapon_weight = WEAPON_LIGHT var/weapon_weight = WEAPON_LIGHT //currently only used for inaccuracy
var/spread = 0 //Spread induced by the gun itself. var/spread = 0 //Spread induced by the gun itself.
var/randomspread = 1 //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. var/randomspread = 1 //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once.
var/inaccuracy_modifier = 1
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
@@ -538,3 +539,13 @@
if(A == chambered) if(A == chambered)
chambered = null chambered = null
update_icon() update_icon()
/obj/item/gun/proc/getinaccuracy(mob/living/user)
if(!iscarbon(user))
return FALSE
else
var/mob/living/carbon/holdingdude = user
if(istype(holdingdude) && holdingdude.combatmode)
return (max((holdingdude.lastdirchange + weapon_weight * 25) - world.time,0) * inaccuracy_modifier)
else
return ((weapon_weight * 25) * inaccuracy_modifier)
@@ -86,6 +86,7 @@
pin = /obj/item/firing_pin/implant/pindicate pin = /obj/item/firing_pin/implant/pindicate
burst_size = 1 burst_size = 1
fire_delay = 0 fire_delay = 0
inaccuracy_modifier = 0.7
casing_ejector = FALSE casing_ejector = FALSE
weapon_weight = WEAPON_HEAVY weapon_weight = WEAPON_HEAVY
magazine_wording = "rocket" magazine_wording = "rocket"
@@ -108,34 +109,34 @@
/obj/item/gun/ballistic/rocketlauncher/can_shoot() /obj/item/gun/ballistic/rocketlauncher/can_shoot()
return chambered?.BB return chambered?.BB
/obj/item/gun/ballistic/rocketlauncher/process_chamber()
if(chambered)
chambered = null
if(magazine)
QDEL_NULL(magazine)
update_icon()
/obj/item/gun/ballistic/rocketlauncher/attack_self_tk(mob/user) /obj/item/gun/ballistic/rocketlauncher/attack_self_tk(mob/user)
return //too difficult to remove the rocket with TK return //too difficult to remove the rocket with TK
/obj/item/gun/ballistic/rocketlauncher/attack_self(mob/living/user) /obj/item/gun/ballistic/rocketlauncher/attack_self(mob/living/user)
if(magazine) if(magazine)
if(chambered) var/obj/item/ammo_casing/AC = chambered
chambered.forceMove(magazine) if(AC)
magazine.stored_ammo.Insert(1, chambered) if(!user.put_in_hands(AC))
AC.bounce_away(FALSE, NONE)
to_chat(user, "<span class='notice'>You remove \the [AC] from \the [src]!</span>")
playsound(src, 'sound/weapons/gun_magazine_remove_full.ogg', 70, TRUE)
chambered = null chambered = null
else else
stack_trace("Removed [magazine] from [src] without a chambered round") to_chat(user, "<span class='notice'>There's no [magazine_wording] in [src].</span>")
magazine.forceMove(drop_location())
if(user.is_holding(src))
user.put_in_hands(magazine)
playsound(src, 'sound/weapons/gun_magazine_remove_full.ogg', 70, TRUE)
to_chat(user, "<span class='notice'>You work the [magazine] out from [src].</span>")
magazine = null
else
to_chat(user, "<span class='notice'>There's no rocket in [src].</span>")
update_icon() update_icon()
/obj/item/gun/ballistic/rocketlauncher/attackby(obj/item/A, mob/user, params)
if(magazine && istype(A, /obj/item/ammo_casing))
if(user.temporarilyRemoveItemFromInventory(A))
if(!chambered)
to_chat(user, "<span class='notice'>You load a new [A] into \the [src].</span>")
playsound(src, "gun_insert_full_magazine", 70, 1)
chamber_round()
update_icon()
return TRUE
else
to_chat(user, "<span class='warning'>You cannot seem to get \the [A] out of your hands!</span>")
/obj/item/gun/ballistic/rocketlauncher/update_icon() /obj/item/gun/ballistic/rocketlauncher/update_icon()
icon_state = "[initial(icon_state)]-[chambered ? "1" : "0"]" icon_state = "[initial(icon_state)]-[chambered ? "1" : "0"]"
@@ -16,6 +16,7 @@
var/anti_armour_damage = 200 var/anti_armour_damage = 200
armour_penetration = 100 armour_penetration = 100
dismemberment = 100 dismemberment = 100
ricochets_max = 0
/obj/item/projectile/bullet/a84mm/on_hit(atom/target, blocked = FALSE) /obj/item/projectile/bullet/a84mm/on_hit(atom/target, blocked = FALSE)
..() ..()
@@ -350,10 +350,10 @@
return return
var/amount_full = 0 var/amount_full = 0
var/vol_part = min(reagents.total_volume, 30) var/vol_part = min(reagents.total_volume, 60)
if(text2num(many)) if(text2num(many))
amount_full = round(reagents.total_volume / 30) amount_full = round(reagents.total_volume / 60)
vol_part = reagents.total_volume % 30 vol_part = reagents.total_volume % 60
var/name = stripped_input(usr, "Name:","Name your hypovial!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN) var/name = stripped_input(usr, "Name:","Name your hypovial!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN)
if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr))) if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr)))
return return
@@ -363,7 +363,7 @@
P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location()) P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location())
P.name = trim("[name] hypovial") P.name = trim("[name] hypovial")
adjust_item_drop_location(P) adjust_item_drop_location(P)
reagents.trans_to(P, 30) reagents.trans_to(P, 60)
if(vol_part) if(vol_part)
P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location()) P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location())
@@ -437,4 +437,4 @@
condi = TRUE condi = TRUE
#undef PILL_STYLE_COUNT #undef PILL_STYLE_COUNT
#undef RANDOM_PILL_STYLE #undef RANDOM_PILL_STYLE
@@ -13,11 +13,18 @@
var/wipe_sound var/wipe_sound
var/soak_efficiency = 1 var/soak_efficiency = 1
var/extinguish_efficiency = 0 var/extinguish_efficiency = 0
var/action_speed = 3 SECONDS
var/damp_threshold = 0.5
/obj/item/reagent_containers/rag/suicide_act(mob/user) /obj/item/reagent_containers/rag/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is smothering [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>") user.visible_message("<span class='suicide'>[user] is smothering [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (OXYLOSS) return (OXYLOSS)
/obj/item/reagent_containers/rag/examine(mob/user)
. = ..()
if(reagents.total_volume)
to_chat(user, "<span class='notice'>Alt-Click to squeeze the liquids out of it.</span>")
/obj/item/reagent_containers/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity) /obj/item/reagent_containers/rag/afterattack(atom/A as obj|turf|area, mob/user,proximity)
. = ..() . = ..()
if(!proximity) if(!proximity)
@@ -39,7 +46,7 @@
else if(istype(A) && src in user) else if(istype(A) && src in user)
user.visible_message("[user] starts to wipe down [A] with [src]!", "<span class='notice'>You start to wipe down [A] with [src]...</span>") user.visible_message("[user] starts to wipe down [A] with [src]!", "<span class='notice'>You start to wipe down [A] with [src]...</span>")
if(do_after(user,30, target = A)) if(do_after(user, action_speed, target = A))
user.visible_message("[user] finishes wiping off [A]!", "<span class='notice'>You finish wiping off [A].</span>") user.visible_message("[user] finishes wiping off [A]!", "<span class='notice'>You finish wiping off [A].</span>")
SEND_SIGNAL(A, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM) SEND_SIGNAL(A, COMSIG_COMPONENT_CLEAN_ACT, CLEAN_MEDIUM)
return return
@@ -51,17 +58,43 @@
user.visible_message("<span class='warning'>\The [user] uses \the [src] to pat out [M == user ? "[user.p_their()]" : "\the [M]'s"] flames!</span>") user.visible_message("<span class='warning'>\The [user] uses \the [src] to pat out [M == user ? "[user.p_their()]" : "\the [M]'s"] flames!</span>")
if(hitsound) if(hitsound)
playsound(M, hitsound, 25, 1) playsound(M, hitsound, 25, 1)
M.adjust_fire_stacks(-extinguish_efficiency) M.adjust_fire_stacks(-min(extinguish_efficiency, M.fire_stacks))
else else
if(reagents.total_volume > (volume * damp_threshold))
to_chat(user, "<span class='warning'>\The [src] is too drenched to be used to dry [user == M ? "yourself" : "\the [M]"] off.</span>")
return TRUE
user.visible_message("<span class='notice'>\The [user] starts drying [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src]...</span>") user.visible_message("<span class='notice'>\The [user] starts drying [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src]...</span>")
if(do_mob(user, M, 3 SECONDS)) if(do_mob(user, M, action_speed))
if(reagents.total_volume > (volume * damp_threshold))
return
user.visible_message("<span class='notice'>\The [user] dries [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src].</span>") user.visible_message("<span class='notice'>\The [user] dries [M == user ? "[user.p_them()]self" : "\the [M]"] off with \the [src].</span>")
if(wipe_sound) if(wipe_sound)
playsound(M, wipe_sound, 25, 1) playsound(M, wipe_sound, 25, 1)
M.adjust_fire_stacks(-soak_efficiency) if(M.fire_stacks)
var/minus_plus = M.fire_stacks < 0 ? 1 : -1
var/amount = min(abs(M.fire_stacks), soak_efficiency)
var/r_id = "fuel"
if(M.fire_stacks < 0)
r_id = "water"
reagents.add_reagent(r_id, amount * 0.3)
M.adjust_fire_stacks(minus_plus * amount)
M.wash_cream()
return TRUE return TRUE
return ..() return ..()
/obj/item/reagent_containers/rag/AltClick(mob/user)
. = ..()
if(reagents.total_volume && user.canUseTopic(src, BE_CLOSE))
to_chat(user, "<span class='notice'>You start squeezing the liquids out of \the [src]...</span>")
if(do_after(user, action_speed, TRUE, src))
to_chat(user, "<span class='notice'>You squeeze \the [src] dry.</span>")
var/atom/react_loc = get_turf(src)
if(ismob(react_loc))
react_loc = react_loc.loc
if(react_loc)
reagents.reaction(react_loc, TOUCH)
reagents.clear_reagents()
/obj/item/reagent_containers/rag/towel /obj/item/reagent_containers/rag/towel
name = "towel" name = "towel"
desc = "A soft cotton towel." desc = "A soft cotton towel."
@@ -77,10 +110,16 @@
volume = 10 volume = 10
total_mass = 2 total_mass = 2
wipe_sound = 'sound/items/towelwipe.ogg' wipe_sound = 'sound/items/towelwipe.ogg'
soak_efficiency = 2 soak_efficiency = 4
extinguish_efficiency = 2 extinguish_efficiency = 3
var/flat_icon = "towel_flat" var/flat_icon = "towel_flat"
var/folded_icon = "towel" var/folded_icon = "towel"
var/list/possible_colors
/obj/item/reagent_containers/rag/towel/Initialize()
. = ..()
if(possible_colors)
add_atom_colour(pick(possible_colors), FIXED_COLOUR_PRIORITY)
/obj/item/reagent_containers/rag/towel/attack(mob/living/M, mob/living/user) /obj/item/reagent_containers/rag/towel/attack(mob/living/M, mob/living/user)
if(user.a_intent == INTENT_HARM) if(user.a_intent == INTENT_HARM)
@@ -112,13 +151,27 @@
to_chat(user, "<span class='notice'>You lay out \the [src] flat on the ground.</span>") to_chat(user, "<span class='notice'>You lay out \the [src] flat on the ground.</span>")
icon_state = flat_icon icon_state = flat_icon
layer = BELOW_OBJ_LAYER layer = BELOW_OBJ_LAYER
qdel(src)
/obj/item/reagent_containers/rag/towel/pickup(mob/living/user) /obj/item/reagent_containers/rag/towel/pickup(mob/living/user)
. = ..() . = ..()
icon_state = folded_icon icon_state = folded_icon
layer = initial(layer) layer = initial(layer)
/obj/item/reagent_containers/rag/towel/random/Initialize() /obj/item/reagent_containers/rag/towel/on_reagent_change(changetype)
. = ..() force = initial(force) + round(reagents.total_volume * 0.5)
add_atom_colour(pick("FF0000","FF7F00","FFFF00","00FF00","0000FF","4B0082","8F00FF"), FIXED_COLOUR_PRIORITY)
/obj/item/reagent_containers/rag/towel/random
possible_colors = list("#FF0000","#FF7F00","#FFFF00","#00FF00","#0000FF","#4B0082","#8F00FF")
/obj/item/reagent_containers/rag/towel/syndicate
name = "syndicate towel"
desc = "Truly a weapon of mass destruction."
possible_colors = list("#DD1A1A", "#DB4325", "#E02700")
force = 4
armour_penetration = 10
volume = 20
soak_efficiency = 6
extinguish_efficiency = 5
action_speed = 15
damp_threshold = 0.8
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 20, "bio" = 20, "rad" = 20, "fire" = 50, "acid" = 50) //items don't provide armor to wearers unlike clothing yet.
+2
View File
@@ -63,6 +63,8 @@
/obj/item/clothing/suit/wizrobe/fake = 1, /obj/item/clothing/suit/wizrobe/fake = 1,
/obj/item/clothing/head/wizard/fake = 1, /obj/item/clothing/head/wizard/fake = 1,
/obj/item/staff = 3, /obj/item/staff = 3,
/obj/item/clothing/under/rank/mime/skirt = 1,
/obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 1,
/obj/item/clothing/mask/gas/sexyclown = 1, /obj/item/clothing/mask/gas/sexyclown = 1,
/obj/item/clothing/under/rank/clown/sexy = 1, /obj/item/clothing/under/rank/clown/sexy = 1,
/obj/item/clothing/mask/gas/sexymime = 1, /obj/item/clothing/mask/gas/sexymime = 1,
+4
View File
@@ -31,6 +31,9 @@
/obj/item/clothing/under/pants/tan = 4, /obj/item/clothing/under/pants/tan = 4,
/obj/item/clothing/under/pants/track = 3, /obj/item/clothing/under/pants/track = 3,
/obj/item/clothing/suit/jacket/miljacket = 5, /obj/item/clothing/suit/jacket/miljacket = 5,
/obj/item/clothing/under/scratch/skirt = 2,
/obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 2,
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt = 2,
/obj/item/clothing/neck/tie/blue = 3, /obj/item/clothing/neck/tie/blue = 3,
/obj/item/clothing/neck/tie/red = 3, /obj/item/clothing/neck/tie/red = 3,
/obj/item/clothing/neck/tie/black = 3, /obj/item/clothing/neck/tie/black = 3,
@@ -98,6 +101,7 @@
/obj/item/clothing/suit/apron/purple_bartender = 4, /obj/item/clothing/suit/apron/purple_bartender = 4,
/obj/item/clothing/under/rank/bartender/purple = 4) /obj/item/clothing/under/rank/bartender/purple = 4)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3, contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
/obj/item/clothing/under/syndicate/tacticool/skirt = 3,
/obj/item/clothing/mask/balaclava = 3, /obj/item/clothing/mask/balaclava = 3,
/obj/item/clothing/head/ushanka = 3, /obj/item/clothing/head/ushanka = 3,
/obj/item/clothing/under/soviet = 3, /obj/item/clothing/under/soviet = 3,
+2 -1
View File
@@ -12,7 +12,8 @@
/obj/item/reagent_containers/food/snacks/donut = 12, /obj/item/reagent_containers/food/snacks/donut = 12,
/obj/item/storage/box/evidence = 6, /obj/item/storage/box/evidence = 6,
/obj/item/flashlight/seclite = 4, /obj/item/flashlight/seclite = 4,
/obj/item/restraints/legcuffs/bola/energy = 7) /obj/item/restraints/legcuffs/bola/energy = 7,
/obj/item/secbat = 5)
contraband = list(/obj/item/clothing/glasses/sunglasses = 2, contraband = list(/obj/item/clothing/glasses/sunglasses = 2,
/obj/item/storage/fancy/donut_box = 2, /obj/item/storage/fancy/donut_box = 2,
/obj/item/ssword_kit = 1) /obj/item/ssword_kit = 1)
+29 -3
View File
@@ -40,6 +40,7 @@
/obj/item/clothing/suit/hooded/wintercoat/medical = 3, /obj/item/clothing/suit/hooded/wintercoat/medical = 3,
/obj/item/clothing/under/rank/nursesuit = 3, /obj/item/clothing/under/rank/nursesuit = 3,
/obj/item/clothing/head/nursehat = 3, /obj/item/clothing/head/nursehat = 3,
/obj/item/clothing/under/rank/medical/skirt= 5,
/obj/item/clothing/under/rank/medical/blue = 2, /obj/item/clothing/under/rank/medical/blue = 2,
/obj/item/clothing/under/rank/medical/green = 2, /obj/item/clothing/under/rank/medical/green = 2,
/obj/item/clothing/under/rank/medical/purple = 2, /obj/item/clothing/under/rank/medical/purple = 2,
@@ -67,6 +68,7 @@
/obj/item/storage/backpack/satchel/eng = 3, /obj/item/storage/backpack/satchel/eng = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering = 3, /obj/item/clothing/suit/hooded/wintercoat/engineering = 3,
/obj/item/clothing/under/rank/engineer = 5, /obj/item/clothing/under/rank/engineer = 5,
/obj/item/clothing/under/rank/engineer/skirt = 5,
/obj/item/clothing/suit/hazardvest = 5, /obj/item/clothing/suit/hazardvest = 5,
/obj/item/clothing/shoes/workboots = 5, /obj/item/clothing/shoes/workboots = 5,
/obj/item/clothing/head/hardhat = 5) /obj/item/clothing/head/hardhat = 5)
@@ -87,6 +89,7 @@
/obj/item/storage/backpack/industrial = 3, /obj/item/storage/backpack/industrial = 3,
/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 5, /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos = 5,
/obj/item/clothing/under/rank/atmospheric_technician = 5, /obj/item/clothing/under/rank/atmospheric_technician = 5,
/obj/item/clothing/under/rank/atmospheric_technician/skirt = 5,
/obj/item/clothing/shoes/sneakers/black = 5) /obj/item/clothing/shoes/sneakers/black = 5)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
@@ -101,6 +104,7 @@
vend_reply = "Thank you for using the CargoDrobe!" vend_reply = "Thank you for using the CargoDrobe!"
products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3, products = list(/obj/item/clothing/suit/hooded/wintercoat/cargo = 3,
/obj/item/clothing/under/rank/cargotech = 5, /obj/item/clothing/under/rank/cargotech = 5,
/obj/item/clothing/under/rank/cargotech/skirt = 5,
/obj/item/clothing/shoes/sneakers/black = 5, /obj/item/clothing/shoes/sneakers/black = 5,
/obj/item/clothing/gloves/fingerless = 5, /obj/item/clothing/gloves/fingerless = 5,
/obj/item/clothing/head/soft = 5, /obj/item/clothing/head/soft = 5,
@@ -118,6 +122,7 @@
vend_reply = "Thank you for using the RoboDrobe!" vend_reply = "Thank you for using the RoboDrobe!"
products = list(/obj/item/clothing/glasses/hud/diagnostic = 3, products = list(/obj/item/clothing/glasses/hud/diagnostic = 3,
/obj/item/clothing/under/rank/roboticist = 3, /obj/item/clothing/under/rank/roboticist = 3,
/obj/item/clothing/under/rank/roboticist/skirt = 3,
/obj/item/clothing/suit/toggle/labcoat = 3, /obj/item/clothing/suit/toggle/labcoat = 3,
/obj/item/clothing/shoes/sneakers/black = 3, /obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/gloves/fingerless = 3, /obj/item/clothing/gloves/fingerless = 3,
@@ -140,6 +145,7 @@
/obj/item/storage/backpack/satchel/tox = 3, /obj/item/storage/backpack/satchel/tox = 3,
/obj/item/clothing/suit/hooded/wintercoat/science = 3, /obj/item/clothing/suit/hooded/wintercoat/science = 3,
/obj/item/clothing/under/rank/scientist = 4, /obj/item/clothing/under/rank/scientist = 4,
/obj/item/clothing/under/rank/scientist/skirt = 4,
/obj/item/clothing/suit/toggle/labcoat/science = 4, /obj/item/clothing/suit/toggle/labcoat/science = 4,
/obj/item/clothing/shoes/sneakers/white = 4, /obj/item/clothing/shoes/sneakers/white = 4,
/obj/item/radio/headset/headset_sci = 4, /obj/item/radio/headset/headset_sci = 4,
@@ -161,6 +167,7 @@
/obj/item/clothing/suit/apron = 3, /obj/item/clothing/suit/apron = 3,
/obj/item/clothing/suit/apron/overalls = 5, /obj/item/clothing/suit/apron/overalls = 5,
/obj/item/clothing/under/rank/hydroponics = 5, /obj/item/clothing/under/rank/hydroponics = 5,
/obj/item/clothing/under/rank/hydroponics/skirt = 5,
/obj/item/clothing/mask/bandana = 4) /obj/item/clothing/mask/bandana = 4)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
@@ -175,6 +182,9 @@
vend_reply = "Thank you for using the CuraDrobe!" vend_reply = "Thank you for using the CuraDrobe!"
products = list(/obj/item/clothing/head/fedora/curator = 2, products = list(/obj/item/clothing/head/fedora/curator = 2,
/obj/item/clothing/suit/curator = 2, /obj/item/clothing/suit/curator = 2,
/obj/item/clothing/under/rank/curator/skirt = 2,
/obj/item/clothing/under/gimmick/rank/captain/suit/skirt = 2,
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt = 2,
/obj/item/clothing/under/rank/curator/treasure_hunter = 2, /obj/item/clothing/under/rank/curator/treasure_hunter = 2,
/obj/item/clothing/shoes/workboots/mining = 2, /obj/item/clothing/shoes/workboots/mining = 2,
/obj/item/storage/backpack/satchel/explorer = 2, /obj/item/storage/backpack/satchel/explorer = 2,
@@ -194,6 +204,7 @@
/obj/item/radio/headset/headset_srv = 3, /obj/item/radio/headset/headset_srv = 3,
/obj/item/clothing/under/sl_suit = 3, /obj/item/clothing/under/sl_suit = 3,
/obj/item/clothing/under/rank/bartender = 3, /obj/item/clothing/under/rank/bartender = 3,
/obj/item/clothing/under/rank/bartender/skirt = 2,
/obj/item/clothing/under/rank/bartender/purple = 2, /obj/item/clothing/under/rank/bartender/purple = 2,
/obj/item/clothing/accessory/waistcoat = 3, /obj/item/clothing/accessory/waistcoat = 3,
/obj/item/clothing/suit/apron/purple_bartender = 2, /obj/item/clothing/suit/apron/purple_bartender = 2,
@@ -226,6 +237,7 @@
/obj/item/circuitboard/machine/dish_drive = 1, /obj/item/circuitboard/machine/dish_drive = 1,
/obj/item/clothing/suit/toggle/chef = 2, /obj/item/clothing/suit/toggle/chef = 2,
/obj/item/clothing/under/rank/chef = 2, /obj/item/clothing/under/rank/chef = 2,
/obj/item/clothing/under/rank/chef/skirt = 2,
/obj/item/clothing/head/chefhat = 2, /obj/item/clothing/head/chefhat = 2,
/obj/item/reagent_containers/rag = 3) /obj/item/reagent_containers/rag = 3)
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
@@ -240,6 +252,7 @@
product_ads = "Come and get your janitorial clothing, now endorsed by lizard janitors everywhere!" product_ads = "Come and get your janitorial clothing, now endorsed by lizard janitors everywhere!"
vend_reply = "Thank you for using the JaniDrobe!" vend_reply = "Thank you for using the JaniDrobe!"
products = list(/obj/item/clothing/under/rank/janitor = 2, products = list(/obj/item/clothing/under/rank/janitor = 2,
/obj/item/clothing/under/rank/janitor/skirt = 2,
/obj/item/cartridge/janitor = 3, /obj/item/cartridge/janitor = 3,
/obj/item/clothing/gloves/color/black = 2, /obj/item/clothing/gloves/color/black = 2,
/obj/item/clothing/head/soft/purple = 2, /obj/item/clothing/head/soft/purple = 2,
@@ -265,10 +278,19 @@
icon_state = "lawdrobe" icon_state = "lawdrobe"
product_ads = "OBJECTION! Get the rule of law for yourself!" product_ads = "OBJECTION! Get the rule of law for yourself!"
vend_reply = "Thank you for using the LawDrobe!" vend_reply = "Thank you for using the LawDrobe!"
products = list(/obj/item/clothing/under/lawyer/female = 3, products = list(/obj/item/clothing/under/lawyer/bluesuit/skirt = 3,
/obj/item/clothing/under/lawyer/black = 3, /obj/item/clothing/under/lawyer/purpsuit/skirt = 3,
/obj/item/clothing/under/lawyer/blacksuit/skirt = 3,
/obj/item/clothing/under/lawyer/female = 3,
/obj/item/clothing/under/lawyer/female/skirt = 3,
/obj/item/clothing/under/lawyer/really_black = 3,
/obj/item/clothing/under/lawyer/really_black/skirt = 3,
/obj/item/clothing/under/lawyer/blue = 3,
/obj/item/clothing/under/lawyer/blue/skirt = 3,
/obj/item/clothing/under/lawyer/red = 3, /obj/item/clothing/under/lawyer/red = 3,
/obj/item/clothing/under/lawyer/bluesuit = 3, /obj/item/clothing/under/lawyer/red/skirt = 3,
/obj/item/clothing/under/lawyer/black = 3,
/obj/item/clothing/under/lawyer/black/skirt = 3,
/obj/item/clothing/suit/toggle/lawyer = 3, /obj/item/clothing/suit/toggle/lawyer = 3,
/obj/item/clothing/under/lawyer/purpsuit = 3, /obj/item/clothing/under/lawyer/purpsuit = 3,
/obj/item/clothing/suit/toggle/lawyer/purple = 3, /obj/item/clothing/suit/toggle/lawyer/purple = 3,
@@ -291,6 +313,7 @@
/obj/item/storage/backpack/cultpack = 2, /obj/item/storage/backpack/cultpack = 2,
/obj/item/clothing/accessory/pocketprotector/cosmetology = 2, /obj/item/clothing/accessory/pocketprotector/cosmetology = 2,
/obj/item/clothing/under/rank/chaplain = 2, /obj/item/clothing/under/rank/chaplain = 2,
/obj/item/clothing/under/rank/chaplain/skirt = 2,
/obj/item/clothing/shoes/sneakers/black = 2, /obj/item/clothing/shoes/sneakers/black = 2,
/obj/item/clothing/suit/nun = 2, /obj/item/clothing/suit/nun = 2,
/obj/item/clothing/head/nun_hood = 2, /obj/item/clothing/head/nun_hood = 2,
@@ -308,6 +331,7 @@
product_ads = "Our clothes are 0.5% more resistant to acid spills! Get yours now!" product_ads = "Our clothes are 0.5% more resistant to acid spills! Get yours now!"
vend_reply = "Thank you for using the ChemDrobe!" vend_reply = "Thank you for using the ChemDrobe!"
products = list(/obj/item/clothing/under/rank/chemist = 3, products = list(/obj/item/clothing/under/rank/chemist = 3,
/obj/item/clothing/under/rank/chemist/skirt = 3,
/obj/item/clothing/shoes/sneakers/white = 3, /obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/chemist = 3, /obj/item/clothing/suit/toggle/labcoat/chemist = 3,
/obj/item/storage/backpack/chemistry = 3, /obj/item/storage/backpack/chemistry = 3,
@@ -326,6 +350,7 @@
product_ads = "Perfect for the mad scientist in you!" product_ads = "Perfect for the mad scientist in you!"
vend_reply = "Thank you for using the GeneDrobe!" vend_reply = "Thank you for using the GeneDrobe!"
products = list(/obj/item/clothing/under/rank/geneticist = 3, products = list(/obj/item/clothing/under/rank/geneticist = 3,
/obj/item/clothing/under/rank/geneticist/skirt = 3,
/obj/item/clothing/shoes/sneakers/white = 3, /obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/genetics = 3, /obj/item/clothing/suit/toggle/labcoat/genetics = 3,
/obj/item/storage/backpack/genetics = 3, /obj/item/storage/backpack/genetics = 3,
@@ -342,6 +367,7 @@
product_ads = " Viruses getting you down? Then upgrade to sterilized clothing today!" product_ads = " Viruses getting you down? Then upgrade to sterilized clothing today!"
vend_reply = "Thank you for using the ViroDrobe" vend_reply = "Thank you for using the ViroDrobe"
products = list(/obj/item/clothing/under/rank/virologist = 3, products = list(/obj/item/clothing/under/rank/virologist = 3,
/obj/item/clothing/under/rank/virologist/skirt = 3,
/obj/item/clothing/shoes/sneakers/white = 3, /obj/item/clothing/shoes/sneakers/white = 3,
/obj/item/clothing/suit/toggle/labcoat/virologist = 3, /obj/item/clothing/suit/toggle/labcoat/virologist = 3,
/obj/item/clothing/mask/surgical = 3, /obj/item/clothing/mask/surgical = 3,
@@ -0,0 +1,4 @@
author: "Ghommie"
delete-after: True
changes:
- bugfix: "Fixes krav maga gloves, wizard spells knockdowns."
@@ -0,0 +1,4 @@
author: "Fermis"
delete-after: True
changes:
- rscadd: "Added the secbat, a box to hold it and the ability to dispense it from the SecTech vendor."
@@ -0,0 +1,5 @@
author: "Ghommie"
delete-after: True
changes:
- bugfix: "Fixing CX Shredder guns not accepting standard flechette mags."
- bugfix: "Fixing missing magpistol magazines icon states."
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "more cargo to cargo"
@@ -0,0 +1,4 @@
author: "BurgerBB"
delete-after: True
changes:
- balance: "Cloning no longer gives you positive mutations, but a chance for a negative one. Cloning has a chance to \"scramble\" your visual DNA."
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- rscadd: "More loadout gear"
@@ -0,0 +1,9 @@
author: "Ghommie"
delete-after: True
changes:
- rscadd: "The syndicate base's bathroom is now fitted with a shower, and a special towel."
- bugfix: "Fixed many issues with towels."
- tweak: "The dry people off with rags/towels action can only be done if the object is NOT moist with reagents now. Also cleans banana creaming."
- rscadd: "Towels deal more damage while soaked with reagents."
- rscadd: "You can now squeeze rags/towels with Alt-Click."
- rscdel: "deleted an old and crappier towel sprite that got in the way."
@@ -0,0 +1,4 @@
author: "Trilbyspaceclone"
delete-after: True
changes:
- bugfix: "Poojawa power creep"
@@ -0,0 +1,4 @@
author: "CdrCross"
delete-after: True
changes:
- rscadd: "Adds the ability for cloning consoles to read and write record lists to the circuit board, and provides a template for giving other machines local circuit board memory."
@@ -0,0 +1,6 @@
author: "original by @randolfthemeh and @twaticus, port by sishen1542"
delete-after: True
changes:
- rscadd: "jumpskirts"
- rscadd: "more jumpskirts"
- rscadd: "jumpskirt/suit prefs"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 121 KiB

@@ -434,3 +434,11 @@ datum/gear/darksabresheath
category = SLOT_NECK category = SLOT_NECK
path = /obj/item/bedsheet/captain path = /obj/item/bedsheet/captain
ckeywhitelist = list("tikibomb") ckeywhitelist = list("tikibomb")
/datum/gear/borgplush
name = "Robot Plush"
category = SLOT_IN_BACKPACK
/obj/item/toy/plush/borgplushie
ckeywhitelist = list("nicholaiavenicci")
@@ -23,11 +23,6 @@
category = SLOT_IN_BACKPACK category = SLOT_IN_BACKPACK
path = /obj/item/toy/plush/lampplushie path = /obj/item/toy/plush/lampplushie
/datum/gear/plushrng
name = "Random plushie"
category = SLOT_IN_BACKPACK
path = /obj/item/toy/plush/random
/datum/gear/tennis /datum/gear/tennis
name = "Classic Tennis Ball" name = "Classic Tennis Ball"
category = SLOT_IN_BACKPACK category = SLOT_IN_BACKPACK
@@ -84,8 +79,24 @@
path = /obj/item/toy/katana path = /obj/item/toy/katana
cost = 3 cost = 3
//datum/gear/lumeyes /datum/gear/box
// name = "Luminescent eye auto surgeon" name = "Spare box"
// category = SLOT_IN_BACKPACK category = SLOT_IN_BACKPACK
// path = /obj/item/autosurgeon/gloweyes path = /obj/item/storage/box
// cost = 4 cost = 2
/datum/gear/crowbar
name = "Pocket Crowbar"
category = SLOT_IN_BACKPACK
path = /obj/item/crowbar
cost = 2
/datum/gear/tapeplayer
name = "Taperecorder"
category = SLOT_IN_BACKPACK
path = /obj/item/taperecorder
/datum/gear/tape
name = "Spare cassette tape"
category = SLOT_IN_BACKPACK
path = /obj/item/tape/random
@@ -5,7 +5,8 @@
*////////////////////////////////////////////////////////////////////////////////// *//////////////////////////////////////////////////////////////////////////////////
// <3 Nienhaus && Joan. // <3 Nienhaus && Joan.
// I made the Voy and DS9 stuff tho. - Poojy // I made the Voy and DS9 stuff tho. - Poojy
// Armor lists for even Heads of Staff is Nulled out do round start armor as well most armor going onto the suit itself rather then a armor slot - Trilby
///////////////////////////////////////////////////////////////////////////////////
/obj/item/clothing/under/rank/trek /obj/item/clothing/under/rank/trek
@@ -22,7 +23,7 @@
desc = "The uniform worn by command officers in the mid 2260s." desc = "The uniform worn by command officers in the mid 2260s."
icon_state = "trek_command" icon_state = "trek_command"
item_state = "trek_command" item_state = "trek_command"
armor = list("melee" = 10, "bullet" = 10, "laser" = 10,"energy" = 10, "bomb" = 0, "bio" = 10, "rad" = 10, "fire" = 0, "acid" = 0) // Considering only staff heads get to pick it armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/under/rank/trek/engsec /obj/item/clothing/under/rank/trek/engsec
name = "Operations Uniform" name = "Operations Uniform"
@@ -104,7 +105,7 @@
/obj/item/reagent_containers/glass/bottle/vial,/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle/vial,/obj/item/reagent_containers/glass/beaker,
/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle, /obj/item/restraints/handcuffs,/obj/item/hypospray /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle, /obj/item/restraints/handcuffs,/obj/item/hypospray
) )
armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 5, "bio" = 5, "rad" = 10, "fire" = 10, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
/obj/item/clothing/suit/storage/trek/ds9/admiral // Only for adminuz /obj/item/clothing/suit/storage/trek/ds9/admiral // Only for adminuz
name = "Admiral Overcoat" name = "Admiral Overcoat"
@@ -135,7 +136,6 @@
/obj/item/clothing/suit/storage/fluff/fedcoat /obj/item/clothing/suit/storage/fluff/fedcoat
name = "Federation Uniform Jacket" name = "Federation Uniform Jacket"
desc = "A uniform jacket from the United Federation. Set phasers to awesome." desc = "A uniform jacket from the United Federation. Set phasers to awesome."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi' alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
icon_state = "fedcoat" icon_state = "fedcoat"
@@ -160,7 +160,7 @@
/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/beaker,
/obj/item/storage/pill_bottle, /obj/item/storage/pill_bottle,
/obj/item/taperecorder) /obj/item/taperecorder)
armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 5, "bio" = 5, "rad" = 10, "fire" = 10, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
var/unbuttoned = 0 var/unbuttoned = 0
verb/toggle() verb/toggle()
@@ -214,7 +214,7 @@
/obj/item/reagent_containers/glass/bottle/vial,/obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/glass/bottle/vial,/obj/item/reagent_containers/glass/beaker,
/obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle, /obj/item/restraints/handcuffs,/obj/item/hypospray /obj/item/reagent_containers/pill,/obj/item/storage/pill_bottle, /obj/item/restraints/handcuffs,/obj/item/hypospray
) )
armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 5, "bio" = 5, "rad" = 10, "fire" = 10, "acid" = 0) armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
//Variants //Variants
/obj/item/clothing/suit/storage/fluff/modernfedcoat/medsci /obj/item/clothing/suit/storage/fluff/modernfedcoat/medsci
@@ -231,6 +231,7 @@
/obj/item/clothing/head/caphat/formal/fedcover /obj/item/clothing/head/caphat/formal/fedcover
name = "Federation Officer's Cap" name = "Federation Officer's Cap"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
desc = "An officer's cap that demands discipline from the one who wears it." desc = "An officer's cap that demands discipline from the one who wears it."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi' icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
icon_state = "fedcapofficer" icon_state = "fedcapofficer"
@@ -1,10 +0,0 @@
/mob/living/Knockdown(amount, updating = TRUE, ignore_canknockdown = FALSE, override_hardstun, override_stamdmg) //Can't go below remaining duration
if(((status_flags & CANKNOCKDOWN) && !HAS_TRAIT(src, TRAIT_STUNIMMUNE)) || ignore_canknockdown)
if(absorb_stun(isnull(override_hardstun)? amount : override_hardstun, ignore_canknockdown))
return
var/datum/status_effect/incapacitating/knockdown/K = IsKnockdown()
if(K)
K.duration = max(world.time + (isnull(override_hardstun)? amount : override_hardstun), K.duration)
else if((amount || override_hardstun) > 0)
K = apply_status_effect(STATUS_EFFECT_KNOCKDOWN, amount, updating, override_hardstun, override_stamdmg)
return K
@@ -9,13 +9,3 @@
return 0 return 0
else else
return ..() return ..()
/obj/item/gun/proc/getinaccuracy(mob/living/user)
if(!iscarbon(user))
return 0
else
var/mob/living/carbon/holdingdude = user
if(istype(holdingdude) && holdingdude.combatmode)
return max((holdingdude.lastdirchange + weapon_weight * 25) - world.time,0)
else
return weapon_weight * 25
@@ -1,117 +0,0 @@
//////Flechette Launcher//////
///projectiles///
/obj/item/projectile/bullet/cflechetteap //shreds armor
name = "flechette (armor piercing)"
damage = 8
armour_penetration = 80
/obj/item/projectile/bullet/cflechettes //shreds flesh and forces bleeding
name = "flechette (serrated)"
damage = 15
dismemberment = 10
armour_penetration = -80
/obj/item/projectile/bullet/cflechettes/on_hit(atom/target, blocked = FALSE)
if((blocked != 100) && iscarbon(target))
var/mob/living/carbon/C = target
C.bleed(10)
return ..()
///ammo casings (CASELESS AMMO CASINGS WOOOOOOOO)///
/obj/item/ammo_casing/caseless/flechetteap
name = "flechette (armor piercing)"
desc = "A flechette made with a tungsten alloy."
projectile_type = /obj/item/projectile/bullet/cflechetteap
caliber = "flechette"
throwforce = 1
throw_speed = 3
/obj/item/ammo_casing/caseless/flechettes
name = "flechette (serrated)"
desc = "A serrated flechette made of a special alloy intended to deform drastically upon penetration of human flesh."
projectile_type = /obj/item/projectile/bullet/cflechettes
caliber = "flechette"
throwforce = 2
throw_speed = 3
embedding = list("embedded_pain_multiplier" = 0, "embed_chance" = 40, "embedded_fall_chance" = 10)
///magazine///
/obj/item/ammo_box/magazine/flechette
name = "flechette magazine (armor piercing)"
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "flechettemag"
ammo_type = /obj/item/ammo_casing/caseless/flechetteap
caliber = "flechette"
max_ammo = 40
multiple_sprites = 2
/obj/item/ammo_box/magazine/flechette/s
name = "flechette magazine (serrated)"
ammo_type = /obj/item/ammo_casing/caseless/flechettes
///the gun itself///
/obj/item/gun/ballistic/automatic/flechette
name = "\improper CX Flechette Launcher"
desc = "A flechette launching machine pistol with an unconventional bullpup frame."
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "flechettegun"
item_state = "gun"
w_class = WEIGHT_CLASS_NORMAL
slot_flags = 0
/obj/item/firing_pin/implant/pindicate
mag_type = /obj/item/ammo_box/magazine/flechette/
fire_sound = 'sound/weapons/gunshot_smg.ogg'
can_suppress = 0
burst_size = 5
fire_delay = 1
casing_ejector = 0
spread = 10
recoil = 0.05
/obj/item/gun/ballistic/automatic/flechette/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("flechettegun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
///unique variant///
/obj/item/projectile/bullet/cflechetteshredder
name = "flechette (shredder)"
damage = 5
dismemberment = 40
/obj/item/ammo_casing/caseless/flechetteshredder
name = "flechette (shredder)"
desc = "A serrated flechette made of a special alloy that forms a monofilament edge."
projectile_type = /obj/item/projectile/bullet/cflechettes
/obj/item/ammo_box/magazine/flechette/shredder
name = "flechette magazine (shredder)"
icon_state = "shreddermag"
ammo_type = /obj/item/ammo_casing/caseless/flechetteshredder
/obj/item/gun/ballistic/automatic/flechette/shredder
name = "\improper CX Shredder"
desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofillament flechettes."
w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/flechette/shredder
spread = 15
recoil = 0.1
/obj/item/gun/ballistic/automatic/flechette/shredder/update_icon()
..()
if(magazine)
cut_overlays()
add_overlay("shreddergun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
@@ -86,7 +86,7 @@
/obj/item/ammo_box/magazine/mmag/small /obj/item/ammo_box/magazine/mmag/small
name = "magpistol magazine (non-lethal disabler)" name = "magpistol magazine (non-lethal disabler)"
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "nlmagmag" icon_state = "smallmagmag"
ammo_type = /obj/item/ammo_casing/caseless/anlmags ammo_type = /obj/item/ammo_casing/caseless/anlmags
caliber = "mags" caliber = "mags"
max_ammo = 15 max_ammo = 15
@@ -56,7 +56,7 @@
/obj/item/ammo_box/magazine/mmag_e/small /obj/item/ammo_box/magazine/mmag_e/small
name = "magpistol magazine (non-lethal disabler)" name = "magpistol magazine (non-lethal disabler)"
icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi' icon = 'modular_citadel/icons/obj/guns/cit_guns.dmi'
icon_state = "nlmagmag" icon_state = "smallmagmag"
ammo_type = /obj/item/ammo_casing/caseless/mag_e/anlmags ammo_type = /obj/item/ammo_casing/caseless/mag_e/anlmags
caliber = "mag_e" caliber = "mag_e"
max_ammo = 16 max_ammo = 16
@@ -123,8 +123,8 @@
item_state = "gun" item_state = "gun"
w_class = WEIGHT_CLASS_NORMAL w_class = WEIGHT_CLASS_NORMAL
slot_flags = 0 slot_flags = 0
/obj/item/firing_pin/implant/pindicate pin = /obj/item/firing_pin/implant/pindicate
mag_type = /obj/item/ammo_box/magazine/flechette/ mag_type = /obj/item/ammo_box/magazine/flechette
fire_sound = 'sound/weapons/gunshot_smg.ogg' fire_sound = 'sound/weapons/gunshot_smg.ogg'
can_suppress = 0 can_suppress = 0
burst_size = 5 burst_size = 5
@@ -134,12 +134,9 @@
recoil = 0.05 recoil = 0.05
/obj/item/gun/ballistic/automatic/flechette/update_icon() /obj/item/gun/ballistic/automatic/flechette/update_icon()
..() cut_overlays()
if(magazine) if(magazine)
cut_overlays()
add_overlay("flechettegun-magazine") add_overlay("flechettegun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]" icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
///unique variant/// ///unique variant///
@@ -163,17 +160,13 @@
name = "\improper CX Shredder" name = "\improper CX Shredder"
desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofillament flechettes." desc = "A flechette launching machine pistol made of ultra-light CFRP optimized for firing serrated monofillament flechettes."
w_class = WEIGHT_CLASS_SMALL w_class = WEIGHT_CLASS_SMALL
mag_type = /obj/item/ammo_box/magazine/flechette/shredder
spread = 15 spread = 15
recoil = 0.1 recoil = 0.1
/obj/item/gun/ballistic/automatic/flechette/shredder/update_icon() /obj/item/gun/ballistic/automatic/flechette/shredder/update_icon()
..() cut_overlays()
if(magazine) if(magazine)
cut_overlays()
add_overlay("shreddergun-magazine") add_overlay("shreddergun-magazine")
else
cut_overlays()
icon_state = "[initial(icon_state)][chambered ? "" : "-e"]" icon_state = "[initial(icon_state)][chambered ? "" : "-e"]"
/*///////////////////////////////////////////////////////////// /*/////////////////////////////////////////////////////////////
Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 319 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 43 KiB

-2
View File
@@ -2996,7 +2996,6 @@
#include "modular_citadel\code\modules\mob\dead\new_player\sprite_accessories.dm" #include "modular_citadel\code\modules\mob\dead\new_player\sprite_accessories.dm"
#include "modular_citadel\code\modules\mob\living\damage_procs.dm" #include "modular_citadel\code\modules\mob\living\damage_procs.dm"
#include "modular_citadel\code\modules\mob\living\living.dm" #include "modular_citadel\code\modules\mob\living\living.dm"
#include "modular_citadel\code\modules\mob\living\status_procs.dm"
#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm" #include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm" #include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
#include "modular_citadel\code\modules\mob\living\carbon\life.dm" #include "modular_citadel\code\modules\mob\living\carbon\life.dm"
@@ -3026,7 +3025,6 @@
#include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm" #include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm"
#include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm" #include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm"
#include "modular_citadel\code\modules\projectiles\guns\toys.dm" #include "modular_citadel\code\modules\projectiles\guns\toys.dm"
#include "modular_citadel\code\modules\projectiles\guns\ballistic\flechette.dm"
#include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm"
#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon.dm"
#include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon_energy.dm" #include "modular_citadel\code\modules\projectiles\guns\ballistic\magweapon_energy.dm"
+1 -1
View File
@@ -77,7 +77,7 @@
<ui-button action='createBottle' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Bottles</ui-button> <ui-button action='createBottle' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Bottles</ui-button>
<br/> <br/>
<br/> <br/>
<ui-button action='createVial' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Hypo Vial (max 30µ)</ui-button> <ui-button action='createVial' params='{"many": 0}' state='{{data.bufferContents ? null : "disabled"}}' >Create Hypo Vial (max 60µ)</ui-button>
<br/> <br/>
<ui-button action='createVial' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Hypo vials </ui-button> <ui-button action='createVial' params='{"many": 1}' state='{{data.bufferContents ? null : "disabled"}}' >Dispense Buffer to Hypo vials </ui-button>
<br/> <br/>