mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-10 01:34:01 +00:00
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
680 lines
24 KiB
Plaintext
680 lines
24 KiB
Plaintext
/obj/item/storage/belt
|
|
name = "not actually a toolbelt"
|
|
desc = "Can hold various things. This is the base type of /belt, are you sure you should have this?"
|
|
icon = 'icons/obj/clothing/belts.dmi'
|
|
icon_state = "utility"
|
|
inhand_icon_state = "utility"
|
|
worn_icon_state = "utility"
|
|
lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi'
|
|
slot_flags = ITEM_SLOT_BELT
|
|
attack_verb_continuous = list("whips", "lashes", "disciplines")
|
|
attack_verb_simple = list("whip", "lash", "discipline")
|
|
max_integrity = 300
|
|
equip_sound = 'sound/items/equip/toolbelt_equip.ogg'
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
var/content_overlays = FALSE //If this is true, the belt will gain overlays based on what it's holding
|
|
|
|
/obj/item/storage/belt/suicide_act(mob/living/carbon/user)
|
|
user.visible_message(span_suicide("[user] begins belting [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
|
|
return BRUTELOSS
|
|
|
|
/obj/item/storage/belt/update_overlays()
|
|
. = ..()
|
|
if(!content_overlays)
|
|
return
|
|
for(var/obj/item/I in contents)
|
|
. += I.get_belt_overlay()
|
|
|
|
/obj/item/storage/belt/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/attack_equip)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/belt/utility
|
|
name = "toolbelt" //Carn: utility belt is nicer, but it bamboozles the text parsing.
|
|
desc = "Holds tools."
|
|
icon_state = "utility"
|
|
inhand_icon_state = "utility"
|
|
worn_icon_state = "utility"
|
|
content_overlays = TRUE
|
|
custom_premium_price = PAYCHECK_CREW * 2
|
|
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
|
|
storage_type = /datum/storage/utility_belt
|
|
|
|
/obj/item/storage/belt/utility/chief
|
|
name = "chief engineer's toolbelt"
|
|
desc = "Holds tools, looks snazzy."
|
|
icon_state = "utility_ce"
|
|
inhand_icon_state = "utility_ce"
|
|
worn_icon_state = "utility_ce"
|
|
|
|
/obj/item/storage/belt/utility/chief/full
|
|
preload = TRUE
|
|
|
|
/obj/item/storage/belt/utility/chief/full/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/screwdriver/power, src)
|
|
SSwardrobe.provide_type(/obj/item/crowbar/power, src)
|
|
SSwardrobe.provide_type(/obj/item/weldingtool/experimental, src)
|
|
SSwardrobe.provide_type(/obj/item/multitool, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/cable_coil, src)
|
|
SSwardrobe.provide_type(/obj/item/extinguisher/mini, src)
|
|
SSwardrobe.provide_type(/obj/item/analyzer/ranged, src) //SKYRAT EDIT - Ranged Analyzer for CE - ORIGINAL: SSwardrobe.provide_type(/obj/item/analyzer, src)
|
|
//much roomier now that we've managed to remove two tools
|
|
|
|
/obj/item/storage/belt/utility/chief/full/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/screwdriver/power
|
|
to_preload += /obj/item/crowbar/power
|
|
to_preload += /obj/item/weldingtool/electric // SKYRAT EDIT - Electric welder
|
|
to_preload += /obj/item/multitool
|
|
to_preload += /obj/item/stack/cable_coil
|
|
to_preload += /obj/item/extinguisher/mini
|
|
to_preload += /obj/item/analyzer/ranged // SKYRAT EDIT - Ranged Analyzer for CE
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/utility/full/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/screwdriver, src)
|
|
SSwardrobe.provide_type(/obj/item/wrench, src)
|
|
SSwardrobe.provide_type(/obj/item/weldingtool, src)
|
|
SSwardrobe.provide_type(/obj/item/crowbar, src)
|
|
SSwardrobe.provide_type(/obj/item/wirecutters, src)
|
|
SSwardrobe.provide_type(/obj/item/multitool, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/cable_coil, src)
|
|
|
|
/obj/item/storage/belt/utility/full/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/screwdriver
|
|
to_preload += /obj/item/wrench
|
|
to_preload += /obj/item/weldingtool
|
|
to_preload += /obj/item/crowbar
|
|
to_preload += /obj/item/wirecutters
|
|
to_preload += /obj/item/multitool
|
|
to_preload += /obj/item/stack/cable_coil
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/utility/full/powertools
|
|
preload = FALSE
|
|
|
|
/obj/item/storage/belt/utility/full/powertools/PopulateContents()
|
|
new /obj/item/screwdriver/power(src)
|
|
new /obj/item/crowbar/power(src)
|
|
new /obj/item/weldingtool/electric(src) // SKYRAT EDIT - original: new /obj/item/weldingtool/experimental(src)
|
|
new /obj/item/multitool(src)
|
|
new /obj/item/holosign_creator/atmos(src)
|
|
new /obj/item/extinguisher/mini(src)
|
|
new /obj/item/stack/cable_coil(src)
|
|
|
|
/obj/item/storage/belt/utility/full/powertools/rcd/PopulateContents()
|
|
new /obj/item/screwdriver/power(src)
|
|
new /obj/item/crowbar/power(src)
|
|
new /obj/item/weldingtool/experimental(src)
|
|
new /obj/item/multitool(src)
|
|
new /obj/item/construction/rcd/loaded/upgraded(src)
|
|
new /obj/item/extinguisher/mini(src)
|
|
new /obj/item/stack/cable_coil(src)
|
|
|
|
/obj/item/storage/belt/utility/full/engi/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/screwdriver, src)
|
|
SSwardrobe.provide_type(/obj/item/wrench, src)
|
|
SSwardrobe.provide_type(/obj/item/weldingtool/largetank, src)
|
|
SSwardrobe.provide_type(/obj/item/crowbar, src)
|
|
SSwardrobe.provide_type(/obj/item/wirecutters, src)
|
|
SSwardrobe.provide_type(/obj/item/multitool, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/cable_coil, src)
|
|
|
|
/obj/item/storage/belt/utility/full/engi/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/screwdriver
|
|
to_preload += /obj/item/wrench
|
|
to_preload += /obj/item/weldingtool/largetank
|
|
to_preload += /obj/item/crowbar
|
|
to_preload += /obj/item/wirecutters
|
|
to_preload += /obj/item/multitool
|
|
to_preload += /obj/item/stack/cable_coil
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/utility/atmostech/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/screwdriver, src)
|
|
SSwardrobe.provide_type(/obj/item/wrench, src)
|
|
SSwardrobe.provide_type(/obj/item/weldingtool, src)
|
|
SSwardrobe.provide_type(/obj/item/crowbar, src)
|
|
SSwardrobe.provide_type(/obj/item/wirecutters, src)
|
|
SSwardrobe.provide_type(/obj/item/t_scanner, src)
|
|
SSwardrobe.provide_type(/obj/item/extinguisher/mini, src)
|
|
|
|
/obj/item/storage/belt/utility/atmostech/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/screwdriver
|
|
to_preload += /obj/item/wrench
|
|
to_preload += /obj/item/weldingtool
|
|
to_preload += /obj/item/crowbar
|
|
to_preload += /obj/item/wirecutters
|
|
to_preload += /obj/item/t_scanner
|
|
to_preload += /obj/item/extinguisher/mini
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/utility/full/inducer/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/screwdriver, src)
|
|
SSwardrobe.provide_type(/obj/item/wrench, src)
|
|
SSwardrobe.provide_type(/obj/item/weldingtool, src)
|
|
SSwardrobe.provide_type(/obj/item/crowbar/red, src)
|
|
SSwardrobe.provide_type(/obj/item/wirecutters, src)
|
|
SSwardrobe.provide_type(/obj/item/multitool, src)
|
|
SSwardrobe.provide_type(/obj/item/inducer, src)
|
|
|
|
/obj/item/storage/belt/utility/full/inducer/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/screwdriver
|
|
to_preload += /obj/item/wrench
|
|
to_preload += /obj/item/weldingtool
|
|
to_preload += /obj/item/crowbar
|
|
to_preload += /obj/item/wirecutters
|
|
to_preload += /obj/item/multitool
|
|
to_preload += /obj/item/inducer
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/utility/syndicate
|
|
preload = FALSE
|
|
|
|
/obj/item/storage/belt/utility/syndicate/PopulateContents()
|
|
new /obj/item/screwdriver/nuke(src)
|
|
new /obj/item/wrench/combat(src)
|
|
new /obj/item/weldingtool/largetank(src)
|
|
new /obj/item/crowbar(src)
|
|
new /obj/item/wirecutters(src)
|
|
new /obj/item/multitool(src)
|
|
new /obj/item/inducer/syndicate(src)
|
|
|
|
/obj/item/storage/belt/medical
|
|
name = "medical belt"
|
|
desc = "Can hold various medical equipment."
|
|
icon_state = "medical"
|
|
inhand_icon_state = "medical"
|
|
worn_icon_state = "medical"
|
|
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
|
|
storage_type = /datum/storage/medical_belt
|
|
|
|
/obj/item/storage/belt/medical/paramedic
|
|
name = "EMT belt"
|
|
icon_state = "emt"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "emt"
|
|
preload = TRUE
|
|
|
|
/obj/item/storage/belt/medical/paramedic/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/sensor_device, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/medical/gauze/twelve, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/medical/bone_gel, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/sticky_tape/surgical, src)
|
|
SSwardrobe.provide_type(/obj/item/reagent_containers/syringe, src)
|
|
SSwardrobe.provide_type(/obj/item/reagent_containers/cup/bottle/ammoniated_mercury, src)
|
|
SSwardrobe.provide_type(/obj/item/reagent_containers/cup/bottle/formaldehyde, src)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/belt/medical/paramedic/get_types_to_preload()
|
|
var/list/to_preload = list() //Yes this is a pain. Yes this is the point
|
|
to_preload += /obj/item/sensor_device
|
|
to_preload += /obj/item/stack/medical/gauze/twelve
|
|
to_preload += /obj/item/stack/medical/bone_gel
|
|
to_preload += /obj/item/stack/sticky_tape/surgical
|
|
to_preload += /obj/item/reagent_containers/syringe
|
|
to_preload += /obj/item/reagent_containers/cup/bottle/ammoniated_mercury
|
|
to_preload += /obj/item/reagent_containers/cup/bottle/formaldehyde
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/medical/ert
|
|
icon_state = "emt"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "emt"
|
|
preload = TRUE
|
|
|
|
/obj/item/storage/belt/medical/ert/PopulateContents()
|
|
SSwardrobe.provide_type(/obj/item/sensor_device, src)
|
|
SSwardrobe.provide_type(/obj/item/pinpointer/crew, src)
|
|
SSwardrobe.provide_type(/obj/item/scalpel/advanced, src)
|
|
SSwardrobe.provide_type(/obj/item/retractor/advanced, src)
|
|
SSwardrobe.provide_type(/obj/item/stack/medical/bone_gel, src)
|
|
SSwardrobe.provide_type(/obj/item/cautery/advanced, src)
|
|
SSwardrobe.provide_type(/obj/item/surgical_drapes, src)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/belt/medical/ert/get_types_to_preload()
|
|
var/list/to_preload = list()
|
|
to_preload += /obj/item/sensor_device
|
|
to_preload += /obj/item/pinpointer/crew
|
|
to_preload += /obj/item/scalpel/advanced
|
|
to_preload += /obj/item/retractor/advanced
|
|
to_preload += /obj/item/stack/medical/bone_gel
|
|
to_preload += /obj/item/cautery/advanced
|
|
to_preload += /obj/item/surgical_drapes
|
|
return to_preload
|
|
|
|
/obj/item/storage/belt/security
|
|
name = "security belt"
|
|
desc = "Can hold security gear like handcuffs and flashes."
|
|
icon_state = "security"
|
|
inhand_icon_state = "security"//Could likely use a better one.
|
|
worn_icon_state = "security"
|
|
content_overlays = TRUE
|
|
// SKYRAT EDIT ADDITION START
|
|
uses_advanced_reskins = TRUE
|
|
unique_reskin = list(
|
|
"Basic Security" = list(
|
|
RESKIN_ICON = 'icons/obj/clothing/belts.dmi',
|
|
RESKIN_ICON_STATE = "security",
|
|
RESKIN_WORN_ICON = 'icons/mob/clothing/belt.dmi',
|
|
RESKIN_WORN_ICON_STATE = "security"
|
|
),
|
|
"Peacekeeper" = list(
|
|
RESKIN_ICON = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi',
|
|
RESKIN_ICON_STATE = "peacekeeperbelt",
|
|
RESKIN_WORN_ICON = 'modular_skyrat/master_files/icons/mob/clothing/belt.dmi',
|
|
RESKIN_WORN_ICON_STATE = "peacekeeperbelt"
|
|
)
|
|
)
|
|
// SKYRAT EDIT ADDITION END
|
|
storage_type = /datum/storage/security_belt
|
|
|
|
/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/assembly/flash/handheld(src)
|
|
new /obj/item/melee/baton/security/loaded(src)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/belt/security/webbing
|
|
name = "security webbing"
|
|
desc = "Unique and versatile chest rig, can hold security gear."
|
|
icon_state = "securitywebbing"
|
|
inhand_icon_state = "securitywebbing"
|
|
worn_icon_state = "securitywebbing"
|
|
content_overlays = FALSE
|
|
custom_premium_price = PAYCHECK_COMMAND * 3
|
|
storage_type = /datum/storage/security_belt/webbing
|
|
|
|
/obj/item/storage/belt/mining
|
|
name = "explorer's webbing"
|
|
desc = "A versatile chest rig, cherished by miners and hunters alike."
|
|
icon_state = "explorer1"
|
|
inhand_icon_state = "explorer1"
|
|
worn_icon_state = "explorer1"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
storage_type = /datum/storage/mining_belt
|
|
|
|
/obj/item/storage/belt/mining/vendor/PopulateContents()
|
|
new /obj/item/survivalcapsule(src)
|
|
|
|
/obj/item/storage/belt/mining/alt
|
|
icon_state = "explorer2"
|
|
inhand_icon_state = "explorer2"
|
|
worn_icon_state = "explorer2"
|
|
|
|
/obj/item/storage/belt/mining/healing/PopulateContents()
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/reagent_containers/hypospray/medipen/survival/luxury(src)
|
|
for(var/i in 1 to 2)
|
|
new /obj/item/reagent_containers/hypospray/medipen/survival(src)
|
|
for(var/i in 1 to 2)
|
|
var/obj/item/organ/monster_core/core = new /obj/item/organ/monster_core/regenerative_core/legion(src)
|
|
core.preserve()
|
|
|
|
/obj/item/storage/belt/mining/primitive
|
|
name = "hunter's belt"
|
|
desc = "A versatile belt, woven from sinew."
|
|
icon_state = "ebelt"
|
|
inhand_icon_state = "ebelt"
|
|
worn_icon_state = "ebelt"
|
|
storage_type = /datum/storage/mining_belt/primitive
|
|
|
|
/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"
|
|
inhand_icon_state = "soulstonebelt"
|
|
worn_icon_state = "soulstonebelt"
|
|
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
|
|
storage_type = /datum/storage/soulstone_belt
|
|
|
|
/obj/item/storage/belt/soulstone/full/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/soulstone/mystic(src)
|
|
|
|
/obj/item/storage/belt/soulstone/full/chappy/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/soulstone/anybody/chaplain(src)
|
|
|
|
/obj/item/storage/belt/champion
|
|
name = "championship belt"
|
|
desc = "Proves to the world that you are the strongest!"
|
|
icon_state = "championbelt"
|
|
inhand_icon_state = "championbelt"
|
|
worn_icon_state = "championbelt"
|
|
custom_materials = list(/datum/material/gold=SMALL_MATERIAL_AMOUNT *4)
|
|
storage_type = /datum/storage/champion_belt
|
|
|
|
/obj/item/storage/belt/champion/Initialize(mapload)
|
|
. = ..()
|
|
|
|
AddComponent(/datum/component/adjust_fishing_difficulty, -2)
|
|
|
|
/obj/item/storage/belt/military
|
|
name = "chest rig"
|
|
desc = "A set of tactical webbing worn by Syndicate boarding parties."
|
|
icon_state = "militarywebbing"
|
|
inhand_icon_state = "militarywebbing"
|
|
worn_icon_state = "militarywebbing"
|
|
resistance_flags = FIRE_PROOF
|
|
storage_type = /datum/storage/military_belt
|
|
|
|
/obj/item/storage/belt/military/snack
|
|
name = "tactical snack rig"
|
|
storage_type = /datum/storage/military_belt/snack
|
|
|
|
/obj/item/storage/belt/military/snack/Initialize(mapload)
|
|
. = ..()
|
|
var/sponsor = pick("Donk Co.", "Waffle Corp.", "Roffle Co.", "Gorlex Marauders", "Tiger Cooperative")
|
|
desc = "A set of snack-tical webbing worn by athletes of the [sponsor] VR sports division."
|
|
|
|
/obj/item/storage/belt/military/snack/full/Initialize(mapload)
|
|
. = ..()
|
|
var/amount = 5
|
|
var/rig_snacks
|
|
while(contents.len <= amount)
|
|
rig_snacks = pick(list(
|
|
/obj/item/food/candy,
|
|
/obj/item/food/cheesiehonkers,
|
|
/obj/item/food/cheesynachos,
|
|
/obj/item/food/chips,
|
|
/obj/item/food/cubannachos,
|
|
/obj/item/food/donkpocket,
|
|
/obj/item/food/nachos,
|
|
/obj/item/food/nugget,
|
|
/obj/item/food/rofflewaffles,
|
|
/obj/item/food/sosjerky,
|
|
/obj/item/food/spacetwinkie,
|
|
/obj/item/food/spaghetti/pastatomato,
|
|
/obj/item/food/syndicake,
|
|
/obj/item/reagent_containers/cup/glass/drinkingglass/filled/nuka_cola,
|
|
/obj/item/reagent_containers/cup/glass/dry_ramen,
|
|
/obj/item/reagent_containers/cup/soda_cans/cola,
|
|
/obj/item/reagent_containers/cup/soda_cans/dr_gibb,
|
|
/obj/item/reagent_containers/cup/soda_cans/lemon_lime,
|
|
/obj/item/reagent_containers/cup/soda_cans/pwr_game,
|
|
/obj/item/reagent_containers/cup/soda_cans/space_mountain_wind,
|
|
/obj/item/reagent_containers/cup/soda_cans/space_up,
|
|
/obj/item/reagent_containers/cup/soda_cans/starkist,
|
|
))
|
|
new rig_snacks(src)
|
|
|
|
/obj/item/storage/belt/military/abductor
|
|
name = "agent belt"
|
|
desc = "A belt used by abductor agents."
|
|
icon = 'icons/obj/antags/abductor.dmi'
|
|
icon_state = "belt"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "security"
|
|
content_overlays = TRUE
|
|
|
|
/obj/item/storage/belt/military/abductor/full/PopulateContents()
|
|
new /obj/item/screwdriver/abductor(src)
|
|
new /obj/item/wrench/abductor(src)
|
|
new /obj/item/weldingtool/abductor(src)
|
|
new /obj/item/crowbar/abductor(src)
|
|
new /obj/item/wirecutters/abductor(src)
|
|
new /obj/item/multitool/abductor(src)
|
|
new /obj/item/stack/cable_coil(src)
|
|
|
|
/obj/item/storage/belt/military/army
|
|
name = "army belt"
|
|
desc = "A belt used by military forces."
|
|
icon_state = "military"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "military"
|
|
|
|
/obj/item/storage/belt/military/assault
|
|
name = "assault belt"
|
|
desc = "A tactical assault belt."
|
|
icon_state = "assault"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "assault"
|
|
storage_type = /datum/storage/military_belt/assault
|
|
|
|
/obj/item/storage/belt/military/assault/full/PopulateContents()
|
|
generate_items_inside(list(
|
|
/obj/item/ammo_box/magazine/wt550m9 = 4,
|
|
/obj/item/ammo_box/magazine/wt550m9/wtap = 2,
|
|
), src)
|
|
|
|
/obj/item/storage/belt/grenade
|
|
name = "grenadier belt"
|
|
desc = "A belt for holding grenades."
|
|
icon_state = "grenadebeltnew"
|
|
inhand_icon_state = "security"
|
|
worn_icon_state = "grenadebeltnew"
|
|
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
|
|
storage_type = /datum/storage/grenade_belt
|
|
|
|
/obj/item/storage/belt/grenade/full/PopulateContents()
|
|
generate_items_inside(list(
|
|
/obj/item/grenade/chem_grenade/incendiary = 2,
|
|
/obj/item/grenade/empgrenade = 2,
|
|
/obj/item/grenade/frag = 10,
|
|
/obj/item/grenade/flashbang = 2,
|
|
/obj/item/grenade/gluon = 4,
|
|
/obj/item/grenade/smokebomb = 4,
|
|
/obj/item/grenade/syndieminibomb = 2,
|
|
/obj/item/multitool = 1,
|
|
/obj/item/screwdriver = 1,
|
|
),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"
|
|
inhand_icon_state = "soulstonebelt"
|
|
worn_icon_state = "soulstonebelt"
|
|
storage_type = /datum/storage/wands_belt
|
|
|
|
/obj/item/storage/belt/wands/full/PopulateContents()
|
|
new /obj/item/gun/magic/wand/death(src)
|
|
new /obj/item/gun/magic/wand/resurrection(src)
|
|
new /obj/item/gun/magic/wand/fireball(src) //SKYRAT EDIT - Trades polymorph for second fireball
|
|
new /obj/item/gun/magic/wand/teleport(src)
|
|
new /obj/item/gun/magic/wand/door(src)
|
|
new /obj/item/gun/magic/wand/fireball(src)
|
|
new /obj/item/gun/magic/wand/shrink(src)
|
|
|
|
for(var/obj/item/gun/magic/wand/W in contents) //All wands in this pack come in the best possible condition
|
|
W.max_charges = initial(W.max_charges)
|
|
W.charges = W.max_charges
|
|
|
|
/obj/item/storage/belt/janitor
|
|
name = "janibelt"
|
|
desc = "A belt used to hold most janitorial supplies."
|
|
icon_state = "janibelt"
|
|
inhand_icon_state = "janibelt"
|
|
worn_icon_state = "janibelt"
|
|
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
|
|
storage_type = /datum/storage/janitor_belt
|
|
|
|
/obj/item/storage/belt/janitor/full/PopulateContents()
|
|
new /obj/item/lightreplacer(src)
|
|
new /obj/item/reagent_containers/spray/cleaner(src)
|
|
new /obj/item/soap/nanotrasen(src)
|
|
new /obj/item/holosign_creator(src)
|
|
new /obj/item/melee/flyswatter(src)
|
|
|
|
/obj/item/storage/belt/bandolier
|
|
name = "bandolier"
|
|
desc = "A bandolier for holding rifle shotgun, and bigger revolver caliber ammunition."
|
|
icon_state = "bandolier"
|
|
inhand_icon_state = "bandolier"
|
|
worn_icon_state = "bandolier"
|
|
storage_type = /datum/storage/bandolier_belt
|
|
|
|
/obj/item/storage/belt/fannypack
|
|
name = "fannypack"
|
|
desc = "A dorky fannypack for keeping small items in. Concealed enough, or ugly enough to avert their eyes, that others won't see what you put in or take out easily."
|
|
icon_state = "fannypack_leather"
|
|
inhand_icon_state = null
|
|
worn_icon_state = "fannypack_leather"
|
|
dying_key = DYE_REGISTRY_FANNYPACK
|
|
custom_price = PAYCHECK_CREW * 2
|
|
storage_type = /datum/storage/fanny_pack
|
|
|
|
/obj/item/storage/belt/fannypack/black
|
|
name = "black fannypack"
|
|
icon_state = "fannypack_black"
|
|
worn_icon_state = "fannypack_black"
|
|
|
|
/obj/item/storage/belt/fannypack/red
|
|
name = "red fannypack"
|
|
icon_state = "fannypack_red"
|
|
worn_icon_state = "fannypack_red"
|
|
|
|
/obj/item/storage/belt/fannypack/purple
|
|
name = "purple fannypack"
|
|
icon_state = "fannypack_purple"
|
|
worn_icon_state = "fannypack_purple"
|
|
|
|
/obj/item/storage/belt/fannypack/blue
|
|
name = "blue fannypack"
|
|
icon_state = "fannypack_blue"
|
|
worn_icon_state = "fannypack_blue"
|
|
|
|
/obj/item/storage/belt/fannypack/orange
|
|
name = "orange fannypack"
|
|
icon_state = "fannypack_orange"
|
|
worn_icon_state = "fannypack_orange"
|
|
|
|
/obj/item/storage/belt/fannypack/white
|
|
name = "white fannypack"
|
|
icon_state = "fannypack_white"
|
|
worn_icon_state = "fannypack_white"
|
|
|
|
/obj/item/storage/belt/fannypack/green
|
|
name = "green fannypack"
|
|
icon_state = "fannypack_green"
|
|
worn_icon_state = "fannypack_green"
|
|
|
|
/obj/item/storage/belt/fannypack/pink
|
|
name = "pink fannypack"
|
|
icon_state = "fannypack_pink"
|
|
worn_icon_state = "fannypack_pink"
|
|
|
|
/obj/item/storage/belt/fannypack/cyan
|
|
name = "cyan fannypack"
|
|
icon_state = "fannypack_cyan"
|
|
worn_icon_state = "fannypack_cyan"
|
|
|
|
/obj/item/storage/belt/fannypack/yellow
|
|
name = "yellow fannypack"
|
|
icon_state = "fannypack_yellow"
|
|
worn_icon_state = "fannypack_yellow"
|
|
|
|
/obj/item/storage/belt/fannypack/cummerbund
|
|
name = "cummerbund"
|
|
desc = "A pleated sash that pairs well with a suit jacket."
|
|
icon_state = "cummerbund"
|
|
inhand_icon_state = null
|
|
worn_icon_state = "cummerbund"
|
|
|
|
/obj/item/storage/belt/sabre
|
|
name = "sabre sheath"
|
|
desc = "An ornate sheath designed to hold an officer's blade."
|
|
icon_state = "sheath"
|
|
inhand_icon_state = "sheath"
|
|
worn_icon_state = "sheath"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
interaction_flags_click = parent_type::interaction_flags_click | NEED_DEXTERITY | NEED_HANDS
|
|
storage_type = /datum/storage/sabre_belt
|
|
|
|
/obj/item/storage/belt/sabre/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/update_icon_updates_onmob)
|
|
|
|
/obj/item/storage/belt/sabre/examine(mob/user)
|
|
. = ..()
|
|
if(length(contents))
|
|
. += span_notice("Alt-click it to quickly draw the blade.")
|
|
|
|
/obj/item/storage/belt/sabre/click_alt(mob/user)
|
|
if(length(contents))
|
|
var/obj/item/I = contents[1]
|
|
user.visible_message(span_notice("[user] takes [I] out of [src]."), span_notice("You take [I] out of [src]."))
|
|
user.put_in_hands(I)
|
|
update_appearance()
|
|
else
|
|
balloon_alert(user, "it's empty!")
|
|
return CLICK_ACTION_SUCCESS
|
|
|
|
/obj/item/storage/belt/sabre/update_icon_state()
|
|
icon_state = initial(inhand_icon_state)
|
|
inhand_icon_state = initial(inhand_icon_state)
|
|
worn_icon_state = initial(worn_icon_state)
|
|
if(contents.len)
|
|
icon_state += "-sabre"
|
|
inhand_icon_state += "-sabre"
|
|
worn_icon_state += "-sabre"
|
|
return ..()
|
|
|
|
/obj/item/storage/belt/sabre/PopulateContents()
|
|
new /obj/item/melee/sabre(src)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/belt/grass_sabre
|
|
name = "sabre sheath"
|
|
desc = "A simple grass sheath designed to hold a sabre of... some sort. An actual metal one might be too sharp, though..."
|
|
icon_state = "grass_sheath"
|
|
inhand_icon_state = "grass_sheath"
|
|
worn_icon_state = "grass_sheath"
|
|
w_class = WEIGHT_CLASS_BULKY
|
|
interaction_flags_click = parent_type::interaction_flags_click | NEED_DEXTERITY | NEED_HANDS
|
|
storage_type = /datum/storage/green_sabre_belt
|
|
|
|
/obj/item/storage/belt/grass_sabre/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/update_icon_updates_onmob)
|
|
|
|
/obj/item/storage/belt/grass_sabre/examine(mob/user)
|
|
. = ..()
|
|
if(length(contents))
|
|
. += span_notice("Alt-click it to quickly draw the blade.")
|
|
|
|
/obj/item/storage/belt/grass_sabre/click_alt(mob/user)
|
|
if(length(contents))
|
|
var/obj/item/I = contents[1]
|
|
user.visible_message(span_notice("[user] takes [I] out of [src]."), span_notice("You take [I] out of [src]."))
|
|
user.put_in_hands(I)
|
|
update_appearance()
|
|
else
|
|
balloon_alert(user, "it's empty!")
|
|
return CLICK_ACTION_SUCCESS
|
|
|
|
/obj/item/storage/belt/grass_sabre/update_icon_state()
|
|
icon_state = initial(inhand_icon_state)
|
|
inhand_icon_state = initial(inhand_icon_state)
|
|
worn_icon_state = initial(worn_icon_state)
|
|
if(contents.len)
|
|
icon_state += "-sabre"
|
|
inhand_icon_state += "-sabre"
|
|
worn_icon_state += "-sabre"
|
|
return ..()
|
|
|
|
/obj/item/storage/belt/plant
|
|
name = "botanical belt"
|
|
desc = "A sturdy leather belt used to hold most hydroponics supplies."
|
|
icon_state = "plantbelt"
|
|
inhand_icon_state = "utility"
|
|
worn_icon_state = "plantbelt"
|
|
content_overlays = TRUE
|
|
storage_type = /datum/storage/plant_belt
|