Merge branch 'master' into upstream-merge-37381

This commit is contained in:
deathride58
2018-04-27 09:19:52 +00:00
committed by GitHub
409 changed files with 91049 additions and 23527 deletions
+155 -115
View File
@@ -32,40 +32,30 @@
desc = "Holds tools."
icon_state = "utilitybelt"
item_state = "utility"
<<<<<<< HEAD
can_hold = list(
=======
content_overlays = TRUE
/obj/item/storage/belt/utility/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
var/static/list/can_hold = typecacheof(list(
>>>>>>> 4fca080... Merge pull request #37381 from DaxDupont/toolbelts
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/device/multitool,
/obj/item/device/flashlight,
/obj/item/multitool,
/obj/item/flashlight,
/obj/item/stack/cable_coil,
/obj/item/device/t_scanner,
/obj/item/device/analyzer,
/obj/item/device/geiger_counter,
/obj/item/t_scanner,
/obj/item/analyzer,
/obj/item/geiger_counter,
/obj/item/extinguisher/mini,
/obj/item/device/radio,
/obj/item/radio,
/obj/item/clothing/gloves,
/obj/item/holosign_creator,
<<<<<<< HEAD
/obj/item/device/assembly/signaler
)
content_overlays = TRUE
=======
/obj/item/assembly/signaler
))
STR.can_hold = can_hold
>>>>>>> 4fca080... Merge pull request #37381 from DaxDupont/toolbelts
/obj/item/storage/belt/utility/chief
name = "\improper Chief Engineer's toolbelt" //"the Chief Engineer's toolbelt", because "Chief Engineer's toolbelt" is not a proper noun
@@ -77,20 +67,19 @@
new /obj/item/screwdriver/power(src)
new /obj/item/crowbar/power(src)
new /obj/item/weldingtool/experimental(src)//This can be changed if this is too much
new /obj/item/device/multitool(src)
new /obj/item/multitool(src)
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
new /obj/item/extinguisher/mini(src)
new /obj/item/device/analyzer(src)
new /obj/item/analyzer(src)
//much roomier now that we've managed to remove two tools
/obj/item/storage/belt/utility/full/PopulateContents()
new /obj/item/screwdriver(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/device/multitool(src)
new /obj/item/multitool(src)
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
/obj/item/storage/belt/utility/full/engi/PopulateContents()
@@ -99,7 +88,7 @@
new /obj/item/weldingtool/largetank(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/device/multitool(src)
new /obj/item/multitool(src)
new /obj/item/stack/cable_coil(src,30,pick("red","yellow","orange"))
@@ -109,7 +98,7 @@
new /obj/item/weldingtool(src)
new /obj/item/crowbar(src)
new /obj/item/wirecutters(src)
new /obj/item/device/t_scanner(src)
new /obj/item/t_scanner(src)
new /obj/item/extinguisher/mini(src)
/obj/item/storage/belt/utility/servant/PopulateContents()
@@ -118,20 +107,21 @@
new /obj/item/wrench/brass(src)
new /obj/item/crowbar/brass(src)
new /obj/item/weldingtool/experimental/brass(src)
new /obj/item/device/multitool(src)
new /obj/item/multitool(src)
new /obj/item/stack/cable_coil(src, 30, "yellow")
/obj/item/storage/belt/medical
name = "medical belt"
desc = "Can hold various medical equipment."
icon_state = "medicalbelt"
item_state = "medical"
max_w_class = WEIGHT_CLASS_BULKY
can_hold = list(
/obj/item/device/healthanalyzer,
/obj/item/storage/belt/medical/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_BULKY
STR.can_hold = typecacheof(list(
/obj/item/healthanalyzer,
/obj/item/dnainjector,
/obj/item/reagent_containers/dropper,
/obj/item/reagent_containers/glass/beaker,
@@ -143,11 +133,11 @@
/obj/item/storage/fancy/cigarettes,
/obj/item/storage/pill_bottle,
/obj/item/stack/medical,
/obj/item/device/flashlight/pen,
/obj/item/flashlight/pen,
/obj/item/extinguisher/mini,
/obj/item/reagent_containers/hypospray,
/obj/item/device/sensor_device,
/obj/item/device/radio,
/obj/item/sensor_device,
/obj/item/radio,
/obj/item/clothing/gloves/,
/obj/item/lazarus_injector,
/obj/item/bikehorn/rubberducky,
@@ -161,7 +151,7 @@
/obj/item/retractor,
/obj/item/cautery,
/obj/item/hemostat,
/obj/item/device/geiger_counter,
/obj/item/geiger_counter,
/obj/item/clothing/neck/stethoscope,
/obj/item/stamp,
/obj/item/clothing/glasses,
@@ -171,76 +161,80 @@
/obj/item/storage/bag/bio,
/obj/item/reagent_containers/blood,
/obj/item/tank/internals/emergency_oxygen,
/obj/item/pinpointer/crew,
/obj/item/gun/syringe/syndicate,
/obj/item/implantcase,
/obj/item/implant,
/obj/item/implanter,
/obj/item/hypospray
)
// CIT CHANGE added hypospray mk IIs to belt /obj/item/hypospray
/obj/item/pinpointer/crew
))
/obj/item/storage/belt/security
name = "security belt"
desc = "Can hold security gear like handcuffs and flashes."
icon_state = "securitybelt"
item_state = "security"//Could likely use a better one.
storage_slots = 5
max_w_class = WEIGHT_CLASS_NORMAL //Because the baton wouldn't fit otherwise. - Neerti
can_hold = list(
content_overlays = TRUE
/obj/item/storage/belt/security/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 5
STR.max_w_class = WEIGHT_CLASS_NORMAL
STR.can_hold = typecacheof(list(
/obj/item/melee/baton,
/obj/item/melee/classic_baton,
/obj/item/grenade,
/obj/item/reagent_containers/spray/pepper,
/obj/item/restraints/handcuffs,
/obj/item/device/assembly/flash/handheld,
/obj/item/assembly/flash/handheld,
/obj/item/clothing/glasses,
/obj/item/ammo_casing/shotgun,
/obj/item/ammo_box,
/obj/item/reagent_containers/food/snacks/donut,
/obj/item/kitchen/knife/combat,
/obj/item/device/flashlight/seclite,
/obj/item/flashlight/seclite,
/obj/item/melee/classic_baton/telescopic,
/obj/item/device/radio,
/obj/item/radio,
/obj/item/clothing/gloves,
/obj/item/restraints/legcuffs/bola,
/obj/item/holosign_creator/security
)
content_overlays = TRUE
/obj/item/restraints/legcuffs/bola
))
/obj/item/storage/belt/security/full/PopulateContents()
new /obj/item/reagent_containers/spray/pepper(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/grenade/flashbang(src)
new /obj/item/device/assembly/flash/handheld(src)
new /obj/item/assembly/flash/handheld(src)
new /obj/item/melee/baton/loaded(src)
update_icon()
/obj/item/storage/belt/mining
name = "explorer's webbing"
desc = "A versatile chest rig, cherished by miners and hunters alike."
icon_state = "explorer1"
item_state = "explorer1"
storage_slots = 6
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_BULKY //Pickaxes are big.
max_combined_w_class = 20 //Not an issue with this whitelist, probably.
can_hold = list(
/obj/item/storage/belt/mining/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
STR.max_w_class = WEIGHT_CLASS_BULKY
STR.max_combined_w_class = 20
STR.can_hold = typecacheof(list(
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/device/multitool,
/obj/item/device/flashlight,
/obj/item/multitool,
/obj/item/flashlight,
/obj/item/stack/cable_coil,
/obj/item/device/analyzer,
/obj/item/analyzer,
/obj/item/extinguisher/mini,
/obj/item/device/radio,
/obj/item/radio,
/obj/item/clothing/gloves,
/obj/item/resonator,
/obj/item/device/mining_scanner,
/obj/item/mining_scanner,
/obj/item/pickaxe,
/obj/item/stack/sheet/animalhide,
/obj/item/stack/sheet/sinew,
@@ -251,19 +245,19 @@
/obj/item/stack/medical,
/obj/item/kitchen/knife,
/obj/item/reagent_containers/hypospray,
/obj/item/device/gps,
/obj/item/gps,
/obj/item/storage/bag/ore,
/obj/item/survivalcapsule,
/obj/item/device/t_scanner/adv_mining_scanner,
/obj/item/t_scanner/adv_mining_scanner,
/obj/item/reagent_containers/pill,
/obj/item/storage/pill_bottle,
/obj/item/stack/ore,
/obj/item/reagent_containers/food/drinks,
/obj/item/organ/regenerative_core,
/obj/item/device/wormhole_jaunter,
/obj/item/wormhole_jaunter,
/obj/item/storage/bag/plants,
/obj/item/stack/marker_beacon
)
))
/obj/item/storage/belt/mining/vendor
@@ -276,27 +270,35 @@
/obj/item/storage/belt/mining/primitive
name = "hunter's belt"
desc = "A versatile belt, woven from sinew."
storage_slots = 5
icon_state = "ebelt"
item_state = "ebelt"
/obj/item/storage/belt/mining/primitive/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 5
/obj/item/storage/belt/soulstone
name = "soul stone belt"
desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away."
icon_state = "soulstonebelt"
item_state = "soulstonebelt"
storage_slots = 6
can_hold = list(
/obj/item/device/soulstone
)
/obj/item/storage/belt/soulstone/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
STR.can_hold = typecacheof(list(
/obj/item/soulstone
))
/obj/item/storage/belt/soulstone/full/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/device/soulstone(src)
new /obj/item/soulstone(src)
/obj/item/storage/belt/soulstone/full/chappy/PopulateContents()
for(var/i in 1 to 6)
new /obj/item/device/soulstone/anybody/chaplain(src)
new /obj/item/soulstone/anybody/chaplain(src)
/obj/item/storage/belt/champion
name = "championship belt"
@@ -304,8 +306,12 @@
icon_state = "championbelt"
item_state = "champion"
materials = list(MAT_GOLD=400)
storage_slots = 1
can_hold = list(
/obj/item/storage/belt/champion/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 1
STR.can_hold = list(
/obj/item/clothing/mask/luchador
)
@@ -314,7 +320,11 @@
desc = "A set of tactical webbing worn by Syndicate boarding parties."
icon_state = "militarywebbing"
item_state = "militarywebbing"
max_w_class = WEIGHT_CLASS_SMALL
/obj/item/storage/belt/military/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_w_class = WEIGHT_CLASS_SMALL
/obj/item/storage/belt/military/abductor
name = "agent belt"
@@ -329,10 +339,9 @@
new /obj/item/weldingtool/abductor(src)
new /obj/item/crowbar/abductor(src)
new /obj/item/wirecutters/abductor(src)
new /obj/item/device/multitool/abductor(src)
new /obj/item/multitool/abductor(src)
new /obj/item/stack/cable_coil(src,30,"white")
/obj/item/storage/belt/military/army
name = "army belt"
desc = "A belt used by military forces."
@@ -344,25 +353,34 @@
desc = "A tactical assault belt."
icon_state = "assaultbelt"
item_state = "security"
storage_slots = 6
/obj/item/storage/belt/military/assault/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
/obj/item/storage/belt/grenade
name = "grenadier belt"
desc = "A belt for holding grenades."
icon_state = "grenadebeltnew"
item_state = "security"
max_w_class = WEIGHT_CLASS_BULKY
display_contents_with_number = TRUE
storage_slots = 30
max_combined_w_class = 60 //needs to be this high
can_hold = list(
/obj/item/storage/belt/grenade/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 30
STR.display_numerical_stacking = TRUE
STR.max_combined_w_class = 60
STR.max_w_class = WEIGHT_CLASS_BULKY
STR.can_hold = typecacheof(list(
/obj/item/grenade,
/obj/item/screwdriver,
/obj/item/lighter,
/obj/item/device/multitool,
/obj/item/multitool,
/obj/item/reagent_containers/food/drinks/bottle/molotov,
/obj/item/grenade/plastic/c4,
)
))
/obj/item/storage/belt/grenade/full/PopulateContents()
new /obj/item/grenade/flashbang(src)
new /obj/item/grenade/smokebomb(src)
@@ -391,17 +409,21 @@
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/grenade/syndieminibomb(src)
new /obj/item/screwdriver(src)
new /obj/item/device/multitool(src)
new /obj/item/multitool(src)
/obj/item/storage/belt/wands
name = "wand belt"
desc = "A belt designed to hold various rods of power. A veritable fanny pack of exotic magic."
icon_state = "soulstonebelt"
item_state = "soulstonebelt"
storage_slots = 6
can_hold = list(
/obj/item/storage/belt/wands/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
STR.can_hold = typecacheof(list(
/obj/item/gun/magic/wand
)
))
/obj/item/storage/belt/wands/full/PopulateContents()
new /obj/item/gun/magic/wand/death(src)
@@ -420,45 +442,57 @@
desc = "A belt used to hold most janitorial supplies."
icon_state = "janibelt"
item_state = "janibelt"
storage_slots = 6
max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit.
can_hold = list(
/obj/item/storage/belt/janitor/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 6
STR.max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit.
STR.can_hold = typecacheof(list(
/obj/item/grenade/chem_grenade,
/obj/item/device/lightreplacer,
/obj/item/device/flashlight,
/obj/item/lightreplacer,
/obj/item/flashlight,
/obj/item/reagent_containers/spray,
/obj/item/soap,
/obj/item/holosign_creator,
/obj/item/key/janitor,
/obj/item/clothing/gloves,
/obj/item/melee/flyswatter,
/obj/item/device/assembly/mousetrap
)
/obj/item/assembly/mousetrap
))
/obj/item/storage/belt/bandolier
name = "bandolier"
desc = "A bandolier for holding shotgun ammunition."
icon_state = "bandolier"
item_state = "bandolier"
storage_slots = 18
display_contents_with_number = TRUE
can_hold = list(
/obj/item/storage/belt/bandolier/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 18
STR.display_numerical_stacking = TRUE
STR.can_hold = typecacheof(list(
/obj/item/ammo_casing/shotgun
)
))
/obj/item/storage/belt/holster
name = "shoulder holster"
desc = "A holster to carry a handgun and ammo. WARNING: Badasses only."
icon_state = "holster"
item_state = "holster"
storage_slots = 3
max_w_class = WEIGHT_CLASS_NORMAL
can_hold = list(
alternate_worn_layer = UNDER_SUIT_LAYER
/obj/item/storage/belt/holster/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 3
STR.max_w_class = WEIGHT_CLASS_NORMAL
STR.can_hold = typecacheof(list(
/obj/item/gun/ballistic/automatic/pistol,
/obj/item/gun/ballistic/revolver,
/obj/item/ammo_box,
)
alternate_worn_layer = UNDER_SUIT_LAYER
))
/obj/item/storage/belt/holster/full/PopulateContents()
new /obj/item/gun/ballistic/revolver/detective(src)
@@ -470,8 +504,12 @@
desc = "A dorky fannypack for keeping small items in."
icon_state = "fannypack_leather"
item_state = "fannypack_leather"
storage_slots = 3
max_w_class = WEIGHT_CLASS_SMALL
/obj/item/storage/belt/fannypack/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 3
STR.max_w_class = WEIGHT_CLASS_SMALL
/obj/item/storage/belt/fannypack/black
name = "black fannypack"
@@ -528,26 +566,29 @@
desc = "An ornate sheath designed to hold an officer's blade."
icon_state = "sheath"
item_state = "sheath"
storage_slots = 1
rustle_jimmies = FALSE
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_BULKY
can_hold = list(
/obj/item/storage/belt/sabre/ComponentInitialize()
. = ..()
GET_COMPONENT(STR, /datum/component/storage)
STR.max_items = 1
STR.rustle_sound = FALSE
STR.max_w_class = WEIGHT_CLASS_BULKY
STR.can_hold = typecacheof(list(
/obj/item/melee/sabre
)
))
/obj/item/storage/belt/sabre/examine(mob/user)
..()
if(contents.len)
if(length(contents))
to_chat(user, "<span class='notice'>Alt-click it to quickly draw the blade.</span>")
/obj/item/storage/belt/sabre/AltClick(mob/user)
if(!iscarbon(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
if(contents.len)
if(length(contents))
var/obj/item/I = contents[1]
user.visible_message("[user] takes [I] out of [src].", "<span class='notice'>You take [I] out of [src].</span>",\
)
user.visible_message("[user] takes [I] out of [src].", "<span class='notice'>You take [I] out of [src].</span>")
user.put_in_hands(I)
update_icon()
else
@@ -564,7 +605,6 @@
L.regenerate_icons()
..()
/obj/item/storage/belt/sabre/PopulateContents()
new /obj/item/melee/sabre(src)
update_icon()
update_icon()