[REFACTOR] Consolidates SLOT_FLAG and SLOT_HUD into one ITEM_SLOT flag (#26743)

* IT WORKS UP UNTIL THIS POINT

* Consolidates SLOT_FLAG and SLOT_HUD into one

* Remove cover_both_ears

* SLOT_HUD to ITEM_SLOT

* Remove clothing_trait changes for the time being

* Remove accidental copy-paste

* Re-add no-slip var

* More failure to copy-paste correctly

* Leftover flag

* Combine left and right slot flags where possible

* UNGOOF MY DEFINES, PHAND IS NOT A THING

* Minor spacing changes

* Some more fixes from merge

* Seperates ITEM SLOT AMOUNT into two defines

* ON SECOND THOUGHT LETS NOT DO THAT.

* Addresses Contra's review

* Thank you GREP

* Rename ITEM_SLOT_FEET to ITEM_SLOT_SHOES

* Added a comment to the bitmasks in clothing defines

* Rename ITEM_SLOT_TIE to ITEM_SLOT_ACCESSORY

* These are for a seperate PR.

* Magboot fixes

* Requested changes

* Re-add accidental removal

* Wrong flags

* Update code/__DEFINES/clothing_defines.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Chap <erwin@lombok.demon.nl>

* Requested changes

* Merge fixes

* Fix double headset

* Fixes multiple accessories

---------

Signed-off-by: Chap <erwin@lombok.demon.nl>
Co-authored-by: Adrer <adrermail@gmail.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
Chap
2024-11-13 13:02:29 +00:00
committed by GitHub
co-authored by Contrabang Adrer
parent c297dde150
commit d90a70ecda
232 changed files with 1231 additions and 1192 deletions
+14 -14
View File
@@ -533,9 +533,9 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
A.Grant(user)
in_inventory = TRUE
if(!initial)
if(equip_sound && slot == slot_bitfield_to_slot(slot_flags))
if(equip_sound && (slot & slot_flags))
playsound(src, equip_sound, EQUIP_SOUND_VOLUME, TRUE, ignore_walls = FALSE)
else if(slot == SLOT_HUD_LEFT_HAND || slot == SLOT_HUD_RIGHT_HAND)
else if(slot & ITEM_SLOT_BOTH_HANDS)
playsound(src, pickup_sound, PICKUP_SOUND_VOLUME, ignore_walls = FALSE)
/obj/item/proc/item_action_slot_check(slot, mob/user)
@@ -853,29 +853,29 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
return
var/mob/owner = loc
var/flags = slot_flags
if(flags & SLOT_FLAG_OCLOTHING)
if(flags & ITEM_SLOT_OUTER_SUIT)
owner.update_inv_wear_suit()
if(flags & SLOT_FLAG_ICLOTHING)
if(flags & ITEM_SLOT_JUMPSUIT)
owner.update_inv_w_uniform()
if(flags & SLOT_FLAG_GLOVES)
if(flags & ITEM_SLOT_GLOVES)
owner.update_inv_gloves()
if(flags & SLOT_FLAG_EYES)
if(flags & ITEM_SLOT_EYES)
owner.update_inv_glasses()
if(flags & SLOT_FLAG_EARS)
if(flags & ITEM_SLOT_BOTH_EARS)
owner.update_inv_ears()
if(flags & SLOT_FLAG_MASK)
if(flags & ITEM_SLOT_MASK)
owner.update_inv_wear_mask()
if(flags & SLOT_FLAG_HEAD)
if(flags & ITEM_SLOT_HEAD)
owner.update_inv_head()
if(flags & SLOT_FLAG_FEET)
if(flags & ITEM_SLOT_SHOES)
owner.update_inv_shoes()
if(flags & SLOT_FLAG_ID)
if(flags & ITEM_SLOT_ID)
owner.update_inv_wear_id()
if(flags & SLOT_FLAG_BELT)
if(flags & ITEM_SLOT_BELT)
owner.update_inv_belt()
if(flags & SLOT_FLAG_BACK)
if(flags & ITEM_SLOT_BACK)
owner.update_inv_back()
if(flags & SLOT_FLAG_PDA)
if(flags & ITEM_SLOT_PDA)
owner.update_inv_wear_pda()
/// Called on cyborg items that need special charging behavior. Override as needed for specific items.
+2 -2
View File
@@ -11,7 +11,7 @@
icon = 'icons/obj/crayons.dmi'
icon_state = "crayonred"
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_EARS
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_EARS
attack_verb = list("attacked", "coloured")
toolspeed = 1
var/colour = COLOR_RED
@@ -307,7 +307,7 @@
name = "\improper Nanotrasen-brand Rapid Paint Applicator"
desc = "A metallic container containing spray paint."
icon_state = "spraycan_cap"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
var/capped = TRUE
instant = TRUE
validSurfaces = list(/turf/simulated/floor,/turf/simulated/wall)
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = "aicard" // aicard-full
item_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags = NOBLUDGEON
var/flush = null
origin_tech = "programming=3;materials=3"
+1 -1
View File
@@ -4,7 +4,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "autopsy_scanner"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
origin_tech = "magnets=1;biotech=1"
var/list/datum/autopsy_data_scanner/wdata = list()
@@ -3,7 +3,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "cham_counter"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
item_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
origin_tech = "syndicate=1;magnets=3"
@@ -3,7 +3,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "shield0"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
item_state = "electronic"
throwforce = 5
throw_speed = 3
+1 -1
View File
@@ -228,7 +228,7 @@
icon_state = "camera"
item_state = "electropack" //spelling, a coders worst enemy. This part gave me trouble for a while.
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
can_overcharge = FALSE
var/flash_max_charges = 5
var/flash_cur_charges = 5
@@ -6,7 +6,7 @@
item_state = "flashlight"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 200, MAT_GLASS = 100)
actions_types = list(/datum/action/item_action/toggle_light)
var/on = FALSE
@@ -93,7 +93,7 @@
icon_state = "penlight"
item_state = ""
w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_EARS
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_EARS
flags = CONDUCT
brightness_on = 2
var/colour = "blue" // Ink color
@@ -12,7 +12,7 @@
icon_state = "geiger_off"
item_state = "multitool"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags = NOBLUDGEON
materials = list(MAT_METAL = 210, MAT_GLASS = 150)
@@ -6,7 +6,7 @@
item_state = "pen"
var/pointer_icon_state
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL=500, MAT_GLASS=500)
w_class = WEIGHT_CLASS_SMALL //Increased to 2, because diodes are w_class 2. Conservation of matter.
origin_tech = "combat=1;magnets=2"
@@ -40,7 +40,7 @@
belt_icon = "light_replacer"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
origin_tech = "magnets=3;engineering=4"
force = 8
var/max_uses = 20
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = "pai"
item_state = "electronic"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
origin_tech = "programming=2"
var/request_cooldown = 5 // five seconds
var/last_request
@@ -5,7 +5,7 @@
usesound = 'sound/effects/spray2.ogg'
flags = CONDUCT | NOBLUDGEON
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 5000, MAT_GLASS = 2000)
/// Associative list of painter types, with the value being the datum. (For use in the radial menu)
var/static/list/painter_type_list = list(
@@ -6,7 +6,7 @@
item_state = "signaler"
origin_tech = "bluespace=1"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throw_speed = 2
throw_range = 9
w_class = WEIGHT_CLASS_SMALL
@@ -5,7 +5,7 @@
icon_state = "electropack0"
item_state = "electropack"
flags = CONDUCT
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
materials = list(MAT_METAL = 10000, MAT_GLASS = 2500)
/// The integrated signaler
@@ -11,7 +11,7 @@
materials = list(MAT_METAL = 200)
canhear_range = 0 // can't hear headsets from very far away
slot_flags = SLOT_FLAG_EARS
slot_flags = ITEM_SLOT_BOTH_EARS
var/translate_binary = FALSE
var/translate_hive = FALSE
var/obj/item/encryptionkey/keyslot1 = null
@@ -64,7 +64,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
var/static/list/blacklisted_areas = list(/area/adminconstruction, /area/tdome, /area/ruin/space/bubblegum_arena)
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throw_speed = 2
throw_range = 9
w_class = WEIGHT_CLASS_SMALL
+7 -7
View File
@@ -18,7 +18,7 @@ SLIME SCANNER
icon = 'icons/obj/device.dmi'
icon_state = "t-ray0"
var/on = FALSE
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
materials = list(MAT_METAL = 300)
@@ -109,7 +109,7 @@ SLIME SCANNER
item_state = "healthanalyzer"
belt_icon = "health_analyzer"
flags = CONDUCT | NOBLUDGEON
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
throwforce = 3
throw_speed = 3
@@ -373,7 +373,7 @@ SLIME SCANNER
icon_state = "robotanalyzer"
item_state = "analyzer"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throwforce = 3
w_class = WEIGHT_CLASS_SMALL
throw_speed = 5
@@ -520,7 +520,7 @@ SLIME SCANNER
icon = 'icons/obj/device.dmi'
icon_state = "atmos"
item_state = "analyzer"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
throwforce = 0
@@ -719,7 +719,7 @@ SLIME SCANNER
item_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throwforce = 5
throw_speed = 4
throw_range = 20
@@ -797,7 +797,7 @@ SLIME SCANNER
icon_state = "adv_spectrometer_s"
item_state = "analyzer"
origin_tech = "biotech=2"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
flags = CONDUCT
throwforce = 0
@@ -854,7 +854,7 @@ SLIME SCANNER
icon = 'icons/obj/device.dmi'
icon_state = "bodyanalyzer_0"
item_state = "healthanalyser"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
throwforce = 3
throw_speed = 5
@@ -4,7 +4,7 @@
icon = 'icons/obj/device.dmi'
icon_state = "scanner"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
origin_tech = "programming=3;materials=3;magnets=3"
var/datum/ui_module/crew_monitor/crew_monitor
@@ -5,7 +5,7 @@
icon_state = "taperecorder_empty"
item_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 180, MAT_GLASS = 90)
force = 2
throwforce = 0
+1 -1
View File
@@ -4,7 +4,7 @@
item_state = "buildpipe"
icon_state = "blank"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
var/list/part = null
var/sabotaged = FALSE //Emagging limbs can have repercussions when installed as prosthetics.
var/model_info = "Unbranded"
+1 -1
View File
@@ -7,7 +7,7 @@
belt_icon = "crowbar"
usesound = 'sound/items/crowbar.ogg'
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 5
throwforce = 7
w_class = WEIGHT_CLASS_NORMAL
+1 -1
View File
@@ -6,7 +6,7 @@
icon_state = "screwdriver_map"
belt_icon = "screwdriver"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 5
w_class = WEIGHT_CLASS_TINY
throwforce = 5
+2 -2
View File
@@ -8,7 +8,7 @@
item_state = "welder"
belt_icon = "welder"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 3
throwforce = 5
throw_speed = 3
@@ -27,7 +27,7 @@
pickup_sound = 'sound/items/handling/weldingtool_pickup.ogg'
var/maximum_fuel = 20
/// Set to FALSE if it doesn't need fuel, but serves equally well as a cost modifier.
var/requires_fuel = TRUE
var/requires_fuel = TRUE
/// If TRUE, fuel will regenerate over time.
var/refills_over_time = FALSE
/// Sound played when turned on.
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = "cutters"
belt_icon = "wirecutters_red"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 6
throw_speed = 3
throw_range = 7
+1 -1
View File
@@ -5,7 +5,7 @@
icon_state = "wrench"
belt_icon = "wrench"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 5
throwforce = 7
usesound = 'sound/items/ratchet.ogg'
+3 -3
View File
@@ -325,7 +325,7 @@
icon_state = "katana"
item_state = "katana"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too.
force = 5
throwforce = 5
@@ -503,7 +503,7 @@
icon_state = "inflatable"
item_state = "inflatable"
icon = 'icons/obj/clothing/belts.dmi'
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2
/*
@@ -1171,7 +1171,7 @@
righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
hitsound = "swing_hit"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL=2000)
w_class = WEIGHT_CLASS_NORMAL
throwforce = 5
+1 -1
View File
@@ -74,7 +74,7 @@
name = "Kentucky Fried Vox"
icon_state = "fried_vox_empty"
item_state = "fried_vox_empty"
slot_flags = SLOT_FLAG_HEAD
slot_flags = ITEM_SLOT_HEAD
dog_fashion = /datum/dog_fashion/head/fried_vox_empty
sprite_sheets = list(
"Skrell" = 'icons/mob/clothing/species/skrell/head.dmi',
+3 -3
View File
@@ -11,7 +11,7 @@
icon = 'icons/obj/weapons/baton.dmi'
icon_state = "baton"
item_state = "classic_baton"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 12 //9 hit crit
w_class = WEIGHT_CLASS_NORMAL
// Settings
@@ -155,7 +155,7 @@
desc = "A compact yet robust personal defense weapon. Can be concealed when folded."
icon_state = "telebaton_0" // For telling what it is when mapping
item_state = null
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
on = FALSE
/// Force when concealed
@@ -196,7 +196,7 @@
else
to_chat(user, "<span class='notice'>You collapse [src].</span>")
item_state = null //no sprite for concealment even when in hand
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
force = force_off //not so robust now
attack_verb = attack_verb_off
+1 -1
View File
@@ -94,7 +94,7 @@
var/total_mining_points = 0
var/list/access = list()
var/registered_name = "Unknown" // The name registered_name on the card
slot_flags = SLOT_FLAG_ID
slot_flags = ITEM_SLOT_ID
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 100, ACID = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
var/untrackable // Can not be tracked by AI's
@@ -11,7 +11,7 @@
throw_speed = 1
throw_range = 5
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
materials = list(MAT_METAL = 5000)
resistance_flags = FIRE_PROOF
origin_tech = "combat=1;plasmatech=2;engineering=2"
@@ -7,7 +7,7 @@
icon_state = "chronobackpack"
item_state = "backpack"
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
slowdown = 1
actions_types = list(/datum/action/item_action/equip_unequip_TED_Gun)
var/obj/item/gun/energy/chrono_gun/PA = null
@@ -36,7 +36,7 @@
user.put_in_hands(PA)
/obj/item/chrono_eraser/item_action_slot_check(slot, mob/user)
if(slot == SLOT_HUD_BACK)
if(slot == ITEM_SLOT_BACK)
return 1
+3 -3
View File
@@ -22,7 +22,7 @@ LIGHTERS ARE IN LIGHTERS.DM
icon_state = "cigoff"
item_state = "cigoff"
throw_speed = 0.5
slot_flags = SLOT_FLAG_MASK
slot_flags = ITEM_SLOT_MASK
w_class = WEIGHT_CLASS_TINY
body_parts_covered = null
attack_verb = null
@@ -99,7 +99,7 @@ LIGHTERS ARE IN LIGHTERS.DM
var/mob/living/carbon/M = target
if(istype(M) && user.zone_selected == "mouth" && !M.wear_mask && user.a_intent == INTENT_HELP)
user.unEquip(src, TRUE)
M.equip_to_slot_if_possible(src, SLOT_HUD_WEAR_MASK)
M.equip_to_slot_if_possible(src, ITEM_SLOT_MASK)
if(target != user)
user.visible_message(
"<span class='notice'>[user] slips \a [name] into the mouth of [M].</span>",
@@ -488,7 +488,7 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/holo_cigar/equipped(mob/user, slot, initial)
. = ..()
if(enabled && slot == SLOT_HUD_WEAR_MASK)
if(enabled && slot == ITEM_SLOT_MASK)
if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
to_chat(user, "<span class='notice'>You feel more badass while smoking [src].</span>")
@@ -72,7 +72,7 @@
icon_state = "clown_recorder"
item_state = "analyzer"
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
materials = list(MAT_METAL = 180, MAT_GLASS = 90)
force = 2
throwforce = 0
+5 -5
View File
@@ -6,7 +6,7 @@
icon = 'icons/obj/defib.dmi'
icon_state = "defibunit"
item_state = "defibunit"
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
force = 5
throwforce = 6
w_class = WEIGHT_CLASS_BULKY
@@ -163,12 +163,12 @@
/obj/item/defibrillator/equipped(mob/user, slot)
..()
if(slot != SLOT_HUD_BACK)
if(slot != ITEM_SLOT_BACK)
remove_paddles(user)
update_icon(UPDATE_OVERLAYS)
/obj/item/defibrillator/item_action_slot_check(slot, mob/user)
if(slot == SLOT_HUD_BACK)
if(slot == ITEM_SLOT_BACK)
return TRUE
/obj/item/defibrillator/proc/remove_paddles(mob/user) // from your hands
@@ -206,7 +206,7 @@
item_state = "defibcompact"
sprite_sheets = null //Because Vox had the belt defibrillator sprites in back.dm
w_class = WEIGHT_CLASS_NORMAL
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2
origin_tech = "biotech=5"
@@ -216,7 +216,7 @@
update_icon(UPDATE_OVERLAYS)
/obj/item/defibrillator/compact/item_action_slot_check(slot, mob/user)
if(slot == SLOT_HUD_BELT)
if(slot == ITEM_SLOT_BELT)
return TRUE
/obj/item/defibrillator/compact/combat
@@ -10,7 +10,7 @@
throw_speed = 3
throw_range = 7
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
active = FALSE
det_time = 5 SECONDS
display_timer = FALSE
@@ -8,7 +8,7 @@
throw_speed = 3
throw_range = 20
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
resistance_flags = FLAMMABLE
max_integrity = 40
/// Has the pin been pulled?
@@ -6,7 +6,7 @@
det_time = 2 SECONDS
modifiable_timer = FALSE
item_state = "smoke"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
var/datum/effect_system/smoke_spread/bad/smoke
/obj/item/grenade/smokebomb/Initialize(mapload)
+1 -1
View File
@@ -42,7 +42,7 @@
icon_state = "handcuff"
belt_icon = "handcuffs"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throwforce = 5
w_class = WEIGHT_CLASS_SMALL
throw_speed = 2
@@ -28,7 +28,7 @@
if(!ishuman(user) || !user.mind)
return
var/mob/living/carbon/human/H = user
if(slot == SLOT_HUD_RIGHT_HAND || slot == SLOT_HUD_LEFT_HAND)
if(slot & ITEM_SLOT_BOTH_HANDS)
if(H.mind.martial_art != style)
style.teach(H, TRUE)
to_chat(H, "<span class='notice'>THERE CAN ONLY BE ONE!</span>")
+15 -15
View File
@@ -134,7 +134,7 @@
item_state = "godstaff-red"
w_class = WEIGHT_CLASS_HUGE
force = 5
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
/obj/item/nullrod/staff/Initialize(mapload)
. = ..()
@@ -154,7 +154,7 @@
item_state = "claymore"
desc = "A weapon fit for a crusade!"
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK|SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BACK|ITEM_SLOT_BELT
sharp = TRUE
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
@@ -174,7 +174,7 @@
icon_state = "cultblade"
item_state = "darkbalde"
desc = "Spread the glory of the dark gods!"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
hitsound = 'sound/hallucinations/growl1.ogg'
/obj/item/nullrod/claymore/chainsaw_sword
@@ -183,7 +183,7 @@
icon_state = "chainswordon"
item_state = "chainswordon"
desc = "Suffer not a heretic to live."
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
hitsound = 'sound/weapons/chainsaw.ogg'
@@ -193,14 +193,14 @@
icon_state = "swordon"
item_state = "swordon"
desc = "The blade glows with the power of faith. Or possibly a battery."
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
/obj/item/nullrod/claymore/katana
name = "hanzo steel"
desc = "Capable of cutting clean through a holy claymore."
icon_state = "katana"
item_state = "katana"
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
/obj/item/nullrod/claymore/multiverse
name = "extradimensional blade"
@@ -208,7 +208,7 @@
icon = 'icons/obj/weapons/magical_weapons.dmi'
icon_state = "multiverse"
item_state = "multiverse"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
/obj/item/nullrod/claymore/saber
name = "light energy blade"
@@ -217,7 +217,7 @@
icon_state = "swordblue"
item_state = "swordblue"
desc = "If you strike me down, I shall become more robust than you can possibly imagine."
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
/obj/item/nullrod/claymore/saber/red
name = "dark energy blade"
@@ -238,7 +238,7 @@
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
icon_state = "sord"
item_state = "sord"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 4.13
throwforce = 1
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -252,7 +252,7 @@
desc = "Ask not for whom the bell tolls..."
w_class = WEIGHT_CLASS_BULKY
armour_penetration_flat = 30
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
sharp = TRUE
attack_verb = list("chopped", "sliced", "cut", "reaped")
hitsound = 'sound/weapons/rapierhit.ogg'
@@ -390,7 +390,7 @@
icon_state = "hammeron"
item_state = "hammeron"
desc = "This war hammer cost the chaplain fourty thousand space dollars."
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_HUGE
attack_verb = list("smashed", "bashed", "hammered", "crunched")
@@ -425,7 +425,7 @@
icon = 'icons/obj/clothing/hats.dmi'
icon_state = "fedora"
item_state = "fedora"
slot_flags = SLOT_FLAG_HEAD
slot_flags = ITEM_SLOT_HEAD
force = 0
throw_speed = 4
throw_range = 7
@@ -493,7 +493,7 @@
item_state = "bostaff0"
w_class = WEIGHT_CLASS_BULKY
force = 13
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
sharp = FALSE
hitsound = "swing_hit"
attack_verb = list("smashed", "slammed", "whacked", "thwacked")
@@ -628,7 +628,7 @@
/obj/item/nullrod/rosary/bread/equipped(mob/user, slot, initial = FALSE)
. = ..()
if(ishuman(user) && (slot == SLOT_HUD_LEFT_HAND || slot == SLOT_HUD_RIGHT_HAND))
if(ishuman(user) && (slot & ITEM_SLOT_BOTH_HANDS))
START_PROCESSING(SSobj, src)
else
STOP_PROCESSING(SSobj, src)
@@ -672,7 +672,7 @@
item_state = "godstaff-red"
w_class = WEIGHT_CLASS_HUGE
force = 5
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
var/team_color = "red"
var/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/robes = null //the robes linked with this staff
+1 -1
View File
@@ -10,7 +10,7 @@
w_class = WEIGHT_CLASS_TINY
throwforce = 4
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
attack_verb = null
resistance_flags = FIRE_PROOF
var/lit = FALSE
@@ -406,7 +406,7 @@
inhand_y_dimension = 64
icon_state = "cleaving_saw"
icon_state_on = "cleaving_saw_open"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
is_a_cleaving_saw = TRUE
var/attack_verb_off = list("attacked", "sawed", "sliced", "torn", "ripped", "diced", "cut")
attack_verb_on = list("cleaved", "swiped", "slashed", "chopped")
@@ -10,7 +10,7 @@
icon_state = "chain"
item_state = "chain"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 10
throwforce = 7
w_class = WEIGHT_CLASS_NORMAL
+2 -2
View File
@@ -21,7 +21,7 @@
name = "riot shield"
desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder."
icon_state = "riot"
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
force = 10
throwforce = 5
throw_speed = 2
@@ -163,7 +163,7 @@
throwforce = 5
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
to_chat(user, "<span class='notice'>You extend \the [src].</span>")
icon_state = "teleriot[HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)]"
playsound(loc, 'sound/weapons/batonextend.ogg', 50, TRUE)
@@ -11,7 +11,7 @@
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK //ERROOOOO
slot_flags = ITEM_SLOT_BACK //ERROOOOO
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 21
storage_slots = 21
@@ -24,7 +24,7 @@
allow_quick_empty = TRUE
display_contents_with_number = 1 // should work fine now
use_to_pickup = 1
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
////////////////////////////////////////
// MARK: Trash bag
@@ -117,7 +117,7 @@
icon = 'icons/obj/trash.dmi'
icon_state = "plasticbag"
item_state = "plasticbag"
slot_flags = SLOT_FLAG_HEAD|SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_HEAD|ITEM_SLOT_BELT
throwforce = 0
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_SMALL
@@ -127,14 +127,14 @@
cant_hold = list(/obj/item/disk/nuclear)
/obj/item/storage/bag/plasticbag/mob_can_equip(mob/M, slot, disable_warning = FALSE)
if(slot == SLOT_HUD_HEAD && length(contents))
if(slot == ITEM_SLOT_HEAD && length(contents))
to_chat(M, "<span class='warning'>You need to empty the bag first!</span>")
return FALSE
return ..()
/obj/item/storage/bag/plasticbag/equipped(mob/user, slot)
if(slot==SLOT_HUD_HEAD)
if(slot==ITEM_SLOT_HEAD)
storage_slots = 0
START_PROCESSING(SSobj, src)
return
@@ -143,7 +143,7 @@
if(is_equipped())
if(ishuman(loc))
var/mob/living/carbon/human/H = loc
if(H.get_item_by_slot(SLOT_HUD_HEAD) == src)
if(H.get_item_by_slot(ITEM_SLOT_HEAD) == src)
if(H.internal)
return
H.AdjustLoseBreath(2 SECONDS)
@@ -161,7 +161,7 @@
icon = 'icons/obj/mining.dmi'
icon_state = "satchel"
origin_tech = "engineering=2"
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_POCKET
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_POCKETS
w_class = WEIGHT_CLASS_NORMAL
storage_slots = 10
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
@@ -473,7 +473,7 @@
icon = 'icons/obj/mining.dmi'
icon_state = "satchel"
origin_tech = "engineering=2"
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_POCKET
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BOTH_POCKETS
w_class = WEIGHT_CLASS_NORMAL
storage_slots = 15
max_combined_w_class = 60
@@ -6,7 +6,7 @@
item_state = "utility"
lefthand_file = 'icons/mob/inhands/equipment/belt_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/belt_righthand.dmi'
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 | BLOCKS_LIGHT_2
attack_verb = list("whipped", "lashed", "disciplined")
max_integrity = 300
@@ -112,7 +112,7 @@
item_state = "candlebox5"
storage_slots = 5
throwforce = 2
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
/obj/item/storage/fancy/candle_box/Initialize(mapload)
. = ..()
@@ -189,7 +189,7 @@
storage_slots = 10
w_class = WEIGHT_CLASS_TINY
max_w_class = WEIGHT_CLASS_TINY
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
drop_sound = 'sound/items/handling/matchbox_drop.ogg'
pickup_sound = 'sound/items/handling/matchbox_pickup.ogg'
can_hold = list(/obj/item/match)
@@ -228,7 +228,7 @@
belt_icon = "patch_pack"
w_class = WEIGHT_CLASS_SMALL
throwforce = 2
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
storage_slots = 6
max_combined_w_class = 6
can_hold = list(/obj/item/clothing/mask/cigarette,
@@ -257,7 +257,7 @@
var/obj/item/I = contents[num]
if(istype(I, /obj/item/clothing/mask/cigarette))
var/obj/item/clothing/mask/cigarette/C = I
M.equip_to_slot_if_possible(C, SLOT_HUD_WEAR_MASK)
M.equip_to_slot_if_possible(C, ITEM_SLOT_MASK)
if(M != user)
user.visible_message(
"<span class='notice'>[user] takes \a [C.name] out of [src] and gives it to [M].</span>",
@@ -29,7 +29,7 @@
cant_hold = list(
/obj/item/screwdriver/power
)
slot_flags = SLOT_FLAG_ID
slot_flags = ITEM_SLOT_ID
var/obj/item/card/id/front_id = null
+3 -3
View File
@@ -6,7 +6,7 @@
var/base_icon = "stunbaton"
item_state = null
belt_icon = "stunbaton"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 10
throwforce = 7
origin_tech = "combat=2"
@@ -89,7 +89,7 @@
return cell
/obj/item/melee/baton/mob_can_equip(mob/user, slot, disable_warning = TRUE) // disable the warning
if(turned_on && (slot == SLOT_HUD_BELT || slot == SLOT_HUD_SUIT_STORE))
if(turned_on && (slot == ITEM_SLOT_BELT || slot == ITEM_SLOT_SUIT_STORE))
to_chat(user, "<span class='warning'>You can't equip [src] while it's active!</span>")
return FALSE
return ..()
@@ -313,7 +313,7 @@
knockdown_duration = 6 SECONDS
w_class = WEIGHT_CLASS_BULKY
hitcost = 2000
slot_flags = SLOT_FLAG_BACK | SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too.
var/obj/item/assembly/igniter/sparkler = null
@@ -103,7 +103,7 @@
/obj/item/tank/internals/plasmaman/belt
icon_state = "plasmaman_tank_belt"
item_state = "plasmaman_tank_belt"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2
force = 5
volume = 35
@@ -131,7 +131,7 @@
desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actually need it."
icon_state = "emergency"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2
w_class = WEIGHT_CLASS_SMALL
force = 4
@@ -2,7 +2,7 @@
name = "tank"
icon = 'icons/obj/tank.dmi'
flags = CONDUCT
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
hitsound = 'sound/weapons/smash.ogg'
w_class = WEIGHT_CLASS_NORMAL
pressure_resistance = ONE_ATMOSPHERE * 5
@@ -6,7 +6,7 @@
icon_state = "waterbackpack"
item_state = "waterbackpack"
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
slowdown = 1
actions_types = list(/datum/action/item_action/toggle_mister)
max_integrity = 200
@@ -32,13 +32,13 @@
toggle_mister(user)
/obj/item/watertank/item_action_slot_check(slot, mob/user)
if(slot == SLOT_HUD_BACK)
if(slot == ITEM_SLOT_BACK)
return TRUE
/obj/item/watertank/proc/toggle_mister(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
if(user.get_item_by_slot(SLOT_HUD_BACK) != src)
if(user.get_item_by_slot(ITEM_SLOT_BACK) != src)
to_chat(user, "<span class='notice'>The watertank needs to be on your back to use.</span>")
return
on = !on
@@ -62,7 +62,7 @@
/obj/item/watertank/equipped(mob/user, slot)
..()
if(slot != SLOT_HUD_BACK)
if(slot != ITEM_SLOT_BACK)
remove_noz()
/obj/item/watertank/proc/remove_noz()
+1 -1
View File
@@ -38,7 +38,7 @@
user.visible_message("<span class='warning'>[user] tapes [M]'s mouth shut!</span>",
"<span class='notice'>You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]</span>")
var/obj/item/clothing/mask/muzzle/G = new /obj/item/clothing/mask/muzzle/tapegag
M.equip_to_slot(G, SLOT_HUD_WEAR_MASK)
M.equip_to_slot(G, ITEM_SLOT_MASK)
G.add_fingerprint(user)
/obj/item/stack/tape_roll/update_icon_state()
+7 -7
View File
@@ -14,7 +14,7 @@
throwforce = 15
sharp = TRUE
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
toolspeed = 0.25
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -267,7 +267,7 @@
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
force = 10
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
var/force_unwielded = 10
var/force_wielded = 18
throwforce = 20
@@ -579,7 +579,7 @@
icon_state = "singulohammer0"
base_icon_state = "singulohammer"
flags = CONDUCT
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
force = 5
throwforce = 15
throw_range = 1
@@ -650,7 +650,7 @@
icon_state = "mjollnir0"
base_icon_state = "mjollnir"
flags = CONDUCT
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
force = 5
throwforce = 30
throw_range = 7
@@ -699,7 +699,7 @@
icon_state = "knighthammer0"
base_icon_state = "knighthammer"
flags = CONDUCT
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
force = 5
throwforce = 15
throw_range = 1
@@ -854,7 +854,7 @@
. += "<span class='warning'>It is missing a pyroclastic anomaly core.</span>"
/obj/item/clothing/gloves/color/black/pyro_claws/item_action_slot_check(slot)
if(slot == SLOT_HUD_GLOVES)
if(slot == ITEM_SLOT_GLOVES)
return TRUE
/obj/item/clothing/gloves/color/black/pyro_claws/ui_action_click(mob/user)
@@ -1058,7 +1058,7 @@
sharp = TRUE
damtype = BURN
w_class = WEIGHT_CLASS_BULKY
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
throwforce = 15
toolspeed = 0.25
attack_verb = list("enlightened", "enforced", "cleaved", "stabbed", "whacked")
+4 -4
View File
@@ -6,7 +6,7 @@
desc = "A banhammer."
icon = 'icons/obj/toy.dmi'
icon_state = "toyhammer"
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 7
@@ -32,7 +32,7 @@
icon_state = "sord"
lefthand_file = 'icons/mob/inhands/weapons_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons_righthand.dmi'
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 2
throwforce = 1
w_class = WEIGHT_CLASS_NORMAL
@@ -54,7 +54,7 @@
item_state = "claymore"
flags = CONDUCT
hitsound = 'sound/weapons/bladeslice.ogg'
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
force = 40
throwforce = 10
sharp = TRUE
@@ -86,7 +86,7 @@
icon_state = "katana"
item_state = "katana"
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT | SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
flags_2 = ALLOW_BELT_NO_JUMPSUIT_2 //Look, you can strap it to your back. You can strap it to your waist too.
force = 40
throwforce = 10
+1 -1
View File
@@ -239,7 +239,7 @@
lefthand_file = 'icons/mob/inhands/items/devices_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/devices_righthand.dmi'
flags = CONDUCT
slot_flags = SLOT_FLAG_BELT
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
origin_tech = "magnets=1"
/// The reference to the envelope that is currently stored in the mail scanner. It will be cleared upon confirming a correct delivery
+1 -1
View File
@@ -19,7 +19,7 @@ LINEN BINS
w_class = WEIGHT_CLASS_TINY
item_color = "white"
resistance_flags = FLAMMABLE
slot_flags = SLOT_FLAG_BACK
slot_flags = ITEM_SLOT_BACK
dog_fashion = /datum/dog_fashion/head/ghost
dyeing_key = DYE_REGISTRY_BEDSHEET