mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01:00
[ready] adds unit test for missing inhand icons. fixes a bunch of missing inhand icons (#70037)
fix: Fixed a bunch of missing inhand icons. fix: Fixed cables in electrical toolboxes not randomizing their colors. fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables. fix: The collectable SWAT helmet is now using the proper icon again! refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors. imageadd: Updated the screwdriver belt overlay to represent the newer sprite. imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3 fix: Wirecutters now have an icon when inside a belt again! admin: Added a new omnitool subtype that allows you to spawn all items in a typepath! fix: Explorer gaskmasks now properly reflect their adjusted state when held. fix: Fixed balaclavas having the wrong icon when pulled up. fix: Fixed the base energy sword (admin spawn only) being invisible. fix: The rainbow energy sword is now a little bit more rainbowy! fix: Fixed an tk exploit with orange handcuffed shoes. fix: The traitor outfit in the select equipment panel is now actually functional!
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
icon_state = "explorer"
|
||||
icon = 'icons/obj/clothing/suits/utility.dmi'
|
||||
worn_icon = 'icons/mob/clothing/suits/utility.dmi'
|
||||
inhand_icon_state = "explorer"
|
||||
inhand_icon_state = null
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
cold_protection = CHEST|GROIN|LEGS|ARMS
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
@@ -50,6 +50,7 @@
|
||||
name = "explorer gas mask"
|
||||
desc = "A military-grade gas mask that can be connected to an air supply."
|
||||
icon_state = "gas_mining"
|
||||
inhand_icon_state = "explorer_gasmask"
|
||||
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
|
||||
visor_flags = BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS
|
||||
visor_flags_inv = HIDEFACIALHAIR
|
||||
@@ -62,10 +63,14 @@
|
||||
/obj/item/clothing/mask/gas/explorer/attack_self(mob/user)
|
||||
adjustmask(user)
|
||||
|
||||
/obj/item/clothing/mask/gas/explorer/adjustmask(user)
|
||||
/obj/item/clothing/mask/gas/explorer/adjustmask(mob/user)
|
||||
. = ..()
|
||||
// adjusted = out of the way = smaller = can fit in boxes
|
||||
w_class = mask_adjusted ? WEIGHT_CLASS_SMALL : WEIGHT_CLASS_NORMAL
|
||||
inhand_icon_state = mask_adjusted ? "[initial(inhand_icon_state)]_up" : initial(inhand_icon_state)
|
||||
if(user)
|
||||
user.update_held_items()
|
||||
|
||||
|
||||
/obj/item/clothing/mask/gas/explorer/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
name = "pickaxe"
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "pickaxe"
|
||||
inhand_icon_state = "pickaxe"
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK
|
||||
force = 15
|
||||
@@ -37,7 +38,6 @@
|
||||
name = "compact pickaxe"
|
||||
desc = "A smaller, compact version of the standard pickaxe."
|
||||
icon_state = "minipick"
|
||||
inhand_icon_state = "pickaxe"
|
||||
worn_icon_state = "pickaxe"
|
||||
force = 10
|
||||
throwforce = 7
|
||||
@@ -48,6 +48,7 @@
|
||||
/obj/item/pickaxe/silver
|
||||
name = "silver-plated pickaxe"
|
||||
icon_state = "spickaxe"
|
||||
inhand_icon_state = "spickaxe"
|
||||
toolspeed = 0.5 //mines faster than a normal pickaxe, bought from mining vendor
|
||||
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
|
||||
force = 17
|
||||
@@ -55,6 +56,7 @@
|
||||
/obj/item/pickaxe/diamond
|
||||
name = "diamond-tipped pickaxe"
|
||||
icon_state = "dpickaxe"
|
||||
inhand_icon_state = "dpickaxe"
|
||||
toolspeed = 0.3
|
||||
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
|
||||
force = 19
|
||||
@@ -62,6 +64,7 @@
|
||||
/obj/item/pickaxe/drill
|
||||
name = "mining drill"
|
||||
icon_state = "handdrill"
|
||||
inhand_icon_state = "handdrill"
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
toolspeed = 0.6 //available from roundstart, faster than a pickaxe.
|
||||
usesound = 'sound/weapons/drill.ogg'
|
||||
@@ -80,17 +83,20 @@
|
||||
/obj/item/pickaxe/drill/diamonddrill
|
||||
name = "diamond-tipped mining drill"
|
||||
icon_state = "diamonddrill"
|
||||
inhand_icon_state = "diamonddrill"
|
||||
toolspeed = 0.2
|
||||
desc = "Yours is the drill that will pierce the heavens!"
|
||||
|
||||
/obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version!
|
||||
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics.
|
||||
icon_state = "diamonddrill"
|
||||
inhand_icon_state = "diamonddrill"
|
||||
toolspeed = 0.2
|
||||
|
||||
/obj/item/pickaxe/drill/jackhammer
|
||||
name = "sonic jackhammer"
|
||||
icon_state = "jackhammer"
|
||||
inhand_icon_state = "jackhammer"
|
||||
toolspeed = 0.1 //the epitome of powertools. extremely fast mining
|
||||
usesound = 'sound/weapons/sonic_jackhammer.ogg'
|
||||
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
|
||||
@@ -100,6 +106,7 @@
|
||||
name = "improvised pickaxe"
|
||||
desc = "A pickaxe made with a knife and crowbar taped together, how does it not break?"
|
||||
icon_state = "ipickaxe"
|
||||
inhand_icon_state = "ipickaxe"
|
||||
worn_icon_state = "pickaxe"
|
||||
force = 10
|
||||
throwforce = 7
|
||||
@@ -113,6 +120,7 @@
|
||||
desc = "A large tool for digging and moving dirt."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "shovel"
|
||||
inhand_icon_state = "shovel"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
||||
flags_1 = CONDUCT_1
|
||||
@@ -147,6 +155,7 @@
|
||||
name = "spade"
|
||||
desc = "A small tool for digging and moving dirt."
|
||||
icon_state = "spade"
|
||||
inhand_icon_state = "spade"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/hydroponics_righthand.dmi'
|
||||
force = 5
|
||||
@@ -173,6 +182,7 @@
|
||||
desc = "The multi-purpose tool you always needed."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "trench_tool"
|
||||
inhand_icon_state = "trench_tool"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/mining_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/mining_righthand.dmi'
|
||||
flags_1 = CONDUCT_1
|
||||
@@ -186,11 +196,25 @@
|
||||
attack_verb_simple = list("bash", "bludgeon", "thrash", "whack")
|
||||
wound_bonus = 10
|
||||
|
||||
/obj/item/trench_tool/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/update_icon_updates_onmob)
|
||||
|
||||
/obj/item/trench_tool/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("Use in hand to switch configuration.")
|
||||
. += span_notice("It functions as a [tool_behaviour] tool.")
|
||||
|
||||
/obj/item/trench_tool/update_icon_state()
|
||||
. = ..()
|
||||
switch(tool_behaviour)
|
||||
if(TOOL_WRENCH)
|
||||
icon_state = inhand_icon_state = initial(icon_state)
|
||||
if(TOOL_SHOVEL)
|
||||
icon_state = inhand_icon_state = "[initial(icon_state)]_shovel"
|
||||
if(TOOL_MINING)
|
||||
icon_state = inhand_icon_state = "[initial(icon_state)]_pick"
|
||||
|
||||
/obj/item/trench_tool/attack_self(mob/user, modifiers)
|
||||
. = ..()
|
||||
if(!user)
|
||||
@@ -205,7 +229,6 @@
|
||||
return
|
||||
switch(tool_result)
|
||||
if("Wrench")
|
||||
icon_state = "trench_tool"
|
||||
tool_behaviour = TOOL_WRENCH
|
||||
sharpness = NONE
|
||||
toolspeed = 0.75
|
||||
@@ -214,7 +237,6 @@
|
||||
attack_verb_continuous = list("bashes", "bludgeons", "thrashes", "whacks")
|
||||
attack_verb_simple = list("bash", "bludgeon", "thrash", "whack")
|
||||
if("Shovel")
|
||||
icon_state = "trench_tool_shovel"
|
||||
tool_behaviour = TOOL_SHOVEL
|
||||
sharpness = SHARP_EDGED
|
||||
toolspeed = 0.25
|
||||
@@ -223,7 +245,6 @@
|
||||
attack_verb_continuous = list("slashes", "impales", "stabs", "slices")
|
||||
attack_verb_simple = list("slash", "impale", "stab", "slice")
|
||||
if("Pick")
|
||||
icon_state = "trench_tool_pick"
|
||||
tool_behaviour = TOOL_MINING
|
||||
sharpness = SHARP_POINTY
|
||||
toolspeed = 0.5
|
||||
@@ -232,7 +253,7 @@
|
||||
attack_verb_continuous = list("hits", "pierces", "slices", "attacks")
|
||||
attack_verb_simple = list("hit", "pierce", "slice", "attack")
|
||||
playsound(src, 'sound/items/ratchet.ogg', 50, vary = TRUE)
|
||||
user.update_held_items()
|
||||
update_appearance(UPDATE_ICON)
|
||||
|
||||
/obj/item/trench_tool/proc/check_menu(mob/user)
|
||||
if(!istype(user))
|
||||
|
||||
@@ -341,6 +341,7 @@
|
||||
desc = "An old relic of hell created by devils to establish themselves as the leadership of hell over the demons. It grows stronger while it possesses a powerful soul."
|
||||
icon = 'icons/obj/lavaland/artefacts.dmi'
|
||||
icon_state = "soulscythe"
|
||||
inhand_icon_state = "soulscythe"
|
||||
lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/64x64_righthand.dmi'
|
||||
attack_verb_continuous = list("chops", "slices", "cuts", "reaps")
|
||||
@@ -741,6 +742,7 @@
|
||||
name = "staff of lava"
|
||||
desc = "The ability to fill the emergency shuttle with lava. What more could you want out of life?"
|
||||
icon_state = "lavastaff"
|
||||
inhand_icon_state = "lavastaff"
|
||||
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
||||
icon = 'icons/obj/weapons/guns/magic.dmi'
|
||||
@@ -934,6 +936,7 @@
|
||||
name = "staff of storms"
|
||||
desc = "An ancient staff retrieved from the remains of Legion. The wind stirs as you move it."
|
||||
icon_state = "staffofstorms"
|
||||
inhand_icon_state = "staffofstorms"
|
||||
icon = 'icons/obj/weapons/guns/magic.dmi'
|
||||
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
||||
|
||||
@@ -73,8 +73,25 @@
|
||||
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
|
||||
icon_state = "asclepius_dormant"
|
||||
inhand_icon_state = "asclepius_dormant"
|
||||
var/activated = FALSE
|
||||
var/usedHand
|
||||
|
||||
/obj/item/rod_of_asclepius/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/update_icon_updates_onmob)
|
||||
|
||||
/obj/item/rod_of_asclepius/update_desc(updates)
|
||||
. = ..()
|
||||
desc = activated ? "A short wooden rod with a mystical snake inseparably gripping itself and the rod to your forearm. It flows with a healing energy that disperses amongst yourself and those around you." : initial(desc)
|
||||
|
||||
/obj/item/rod_of_asclepius/update_icon_state()
|
||||
. = ..()
|
||||
icon_state = inhand_icon_state = "ascelpius_[activated ? "active" : "dormant"]"
|
||||
|
||||
/obj/item/rod_of_asclepius/vv_edit_var(vname, vval)
|
||||
. = ..()
|
||||
if(vname == NAMEOF(src, activated) && activated)
|
||||
activated()
|
||||
|
||||
/obj/item/rod_of_asclepius/attack_self(mob/user)
|
||||
if(activated)
|
||||
@@ -83,7 +100,7 @@
|
||||
to_chat(user, span_warning("The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath."))
|
||||
return
|
||||
var/mob/living/carbon/itemUser = user
|
||||
usedHand = itemUser.get_held_index_of_item(src)
|
||||
var/usedHand = itemUser.get_held_index_of_item(src)
|
||||
if(itemUser.has_status_effect(/datum/status_effect/hippocratic_oath))
|
||||
to_chat(user, span_warning("You can't possibly handle the responsibility of more than one rod!"))
|
||||
return
|
||||
@@ -117,9 +134,8 @@
|
||||
/obj/item/rod_of_asclepius/proc/activated()
|
||||
item_flags = DROPDEL
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CURSED_ITEM_TRAIT(type))
|
||||
desc = "A short wooden rod with a mystical snake inseparably gripping itself and the rod to your forearm. It flows with a healing energy that disperses amongst yourself and those around you. "
|
||||
icon_state = "asclepius_active"
|
||||
activated = TRUE
|
||||
update_appearance()
|
||||
|
||||
//Memento Mori
|
||||
/obj/item/clothing/neck/necklace/memento_mori
|
||||
@@ -557,7 +573,7 @@
|
||||
name = "concussive gauntlets"
|
||||
desc = "Pickaxes... for your hands!"
|
||||
icon_state = "concussive_gauntlets"
|
||||
inhand_icon_state = "concussive_gauntlets"
|
||||
inhand_icon_state = null
|
||||
toolspeed = 0.1
|
||||
strip_delay = 40
|
||||
equip_delay_other = 20
|
||||
@@ -713,7 +729,7 @@
|
||||
name = "eye of god"
|
||||
desc = "A strange eye, said to have been torn from an omniscient creature that used to roam the wastes."
|
||||
icon_state = "godeye"
|
||||
inhand_icon_state = "godeye"
|
||||
inhand_icon_state = null
|
||||
vision_flags = SEE_TURFS
|
||||
darkness_view = 8
|
||||
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
name = "rock"
|
||||
icon = 'icons/obj/ore.dmi'
|
||||
icon_state = "ore"
|
||||
inhand_icon_state = "ore"
|
||||
inhand_icon_state = null
|
||||
full_w_class = WEIGHT_CLASS_BULKY
|
||||
singular_name = "ore chunk"
|
||||
material_flags = MATERIAL_EFFECTS
|
||||
@@ -73,7 +73,6 @@
|
||||
/obj/item/stack/ore/uranium
|
||||
name = "uranium ore"
|
||||
icon_state = "Uranium ore"
|
||||
inhand_icon_state = "Uranium ore"
|
||||
singular_name = "uranium ore chunk"
|
||||
points = 30
|
||||
material_flags = NONE
|
||||
@@ -87,7 +86,6 @@
|
||||
/obj/item/stack/ore/iron
|
||||
name = "iron ore"
|
||||
icon_state = "Iron ore"
|
||||
inhand_icon_state = "Iron ore"
|
||||
singular_name = "iron ore chunk"
|
||||
points = 1
|
||||
mats_per_unit = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -100,7 +98,6 @@
|
||||
/obj/item/stack/ore/glass
|
||||
name = "sand pile"
|
||||
icon_state = "Glass ore"
|
||||
inhand_icon_state = "Glass ore"
|
||||
singular_name = "sand pile"
|
||||
points = 1
|
||||
mats_per_unit = list(/datum/material/glass=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -138,7 +135,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/glass/basalt
|
||||
name = "volcanic ash"
|
||||
icon_state = "volcanic_sand"
|
||||
inhand_icon_state = "volcanic_sand"
|
||||
singular_name = "volcanic ash pile"
|
||||
mine_experience = 0
|
||||
merge_type = /obj/item/stack/ore/glass/basalt
|
||||
@@ -146,7 +142,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/plasma
|
||||
name = "plasma ore"
|
||||
icon_state = "Plasma ore"
|
||||
inhand_icon_state = "Plasma ore"
|
||||
singular_name = "plasma ore chunk"
|
||||
points = 15
|
||||
mats_per_unit = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -163,7 +158,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/silver
|
||||
name = "silver ore"
|
||||
icon_state = "Silver ore"
|
||||
inhand_icon_state = "Silver ore"
|
||||
singular_name = "silver ore chunk"
|
||||
points = 16
|
||||
mine_experience = 3
|
||||
@@ -176,7 +170,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/gold
|
||||
name = "gold ore"
|
||||
icon_state = "Gold ore"
|
||||
inhand_icon_state = "Gold ore"
|
||||
singular_name = "gold ore chunk"
|
||||
points = 18
|
||||
mine_experience = 5
|
||||
@@ -189,7 +182,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/diamond
|
||||
name = "diamond ore"
|
||||
icon_state = "Diamond ore"
|
||||
inhand_icon_state = "Diamond ore"
|
||||
singular_name = "diamond ore chunk"
|
||||
points = 50
|
||||
mats_per_unit = list(/datum/material/diamond=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -201,7 +193,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/bananium
|
||||
name = "bananium ore"
|
||||
icon_state = "Bananium ore"
|
||||
inhand_icon_state = "Bananium ore"
|
||||
singular_name = "bananium ore chunk"
|
||||
points = 60
|
||||
mats_per_unit = list(/datum/material/bananium=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -213,7 +204,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
/obj/item/stack/ore/titanium
|
||||
name = "titanium ore"
|
||||
icon_state = "Titanium ore"
|
||||
inhand_icon_state = "Titanium ore"
|
||||
singular_name = "titanium ore chunk"
|
||||
points = 50
|
||||
mats_per_unit = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT)
|
||||
@@ -227,7 +217,6 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
name = "slag"
|
||||
desc = "Completely useless."
|
||||
icon_state = "slag"
|
||||
inhand_icon_state = "slag"
|
||||
singular_name = "slag chunk"
|
||||
merge_type = /obj/item/stack/ore/slag
|
||||
|
||||
|
||||
Reference in New Issue
Block a user