Tool Size Tweaks (#20586)

* The Great Toolening

* oops all belts (incoming self conflict lul)

* defines shouldnt lie

* mini crowbar TODOs

* beeeeeeeeeg crowbar

* oops it needs a design

* purple kit + vendor fix

* add mini crowbar dmi

* oops forgot this

* i am an idiot sandwhich

* im bad at code

* scratch that, i cant read my VSC

* wrench undo + readd to boxes

* nukies too

* man i cant code

* power tools should logically follow

* formatting

* maybe im free?

* forgot inhands

* Update toolbox.dm

* bluespace belt buff (unironic)

* undo for now

* fixes bluespace/tot belts + adds w_class override

* adds small crowbar to e-toolboxes and tot tools

* power tool fix

* Rnd build path

Co-authored-by: Adrer <erwin@lombok.demon.nl>

* design fix

* merge conflict + small fix

* small name fixes

---------

Co-authored-by: Adrer <erwin@lombok.demon.nl>
This commit is contained in:
matttheficus
2023-05-02 21:43:06 +02:00
committed by GitHub
co-authored by Adrer
parent 21a6cad1ee
commit fc87927f7b
17 changed files with 84 additions and 22 deletions
+19 -5
View File
@@ -1,6 +1,6 @@
/obj/item/crowbar
name = "pocket crowbar"
desc = "A small crowbar. This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors."
name = "crowbar"
desc = "This handy tool is useful for lots of things, such as prying floor tiles or opening unpowered doors."
icon = 'icons/obj/tools.dmi'
icon_state = "crowbar"
item_state = "crowbar"
@@ -10,7 +10,7 @@
slot_flags = SLOT_BELT
force = 5
throwforce = 7
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_NORMAL
materials = list(MAT_METAL = 300)
drop_sound = 'sound/items/handling/crowbar_drop.ogg'
pickup_sound = 'sound/items/handling/crowbar_pickup.ogg'
@@ -42,13 +42,26 @@
usesound = 'sound/weapons/sonic_jackhammer.ogg'
icon_state = "crowbar"
toolspeed = 0.1
w_class = WEIGHT_CLASS_SMALL
origin_tech = "combat=4;engineering=4;abductor=3"
/obj/item/crowbar/small
name = "miniature titanium crowbar"
desc = "A tiny, lightweight titanium crowbar. It fits handily in your pocket."
force = 3
w_class = WEIGHT_CLASS_SMALL
throwforce = 3
materials = list(MAT_TITANIUM = 250)
icon_state = "crowbar_titanium"
item_state = "crowbar_titanium"
origin_tech = "materials=2"
toolspeed = 1.25
/obj/item/crowbar/large
name = "crowbar"
name = "large crowbar"
desc = "It's a big crowbar. It doesn't fit in your pockets, because its too big."
force = 12
w_class = WEIGHT_CLASS_NORMAL
w_class = WEIGHT_CLASS_HUGE
throw_speed = 3
throw_range = 3
materials = list(MAT_METAL = 400)
@@ -75,6 +88,7 @@
usesound = 'sound/items/jaws_pry.ogg'
force = 15
toolspeed = 0.25
w_class = WEIGHT_CLASS_NORMAL
var/airlock_open_time = 100 // Time required to open powered airlocks
/obj/item/crowbar/power/Initialize(mapload)
+4 -1
View File
@@ -14,7 +14,7 @@
belt_icon = "multitool"
flags = CONDUCT
force = 0
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_NORMAL
throwforce = 0
throw_range = 7
throw_speed = 3
@@ -53,6 +53,7 @@
var/rangealert = 8 //Glows red when inside
var/rangewarning = 20 //Glows yellow when inside
origin_tech = "magnets=1;engineering=2;syndicate=1"
w_class = WEIGHT_CLASS_SMALL
/obj/item/multitool/ai_detect/Initialize(mapload)
. = ..()
@@ -104,6 +105,7 @@
item_state = "multitool_syndi"
belt_icon = "multitool_syndi"
toolspeed = 0.95 // dangerously fast... not like multitools use speed anyways
w_class = WEIGHT_CLASS_SMALL
origin_tech = "magnets=1;engineering=2;syndicate=1"
/obj/item/multitool/command
@@ -167,6 +169,7 @@
icon = 'icons/obj/abductor.dmi'
icon_state = "multitool"
toolspeed = 0.1
w_class = WEIGHT_CLASS_SMALL
origin_tech = "magnets=5;engineering=5;abductor=3"
/obj/item/multitool/abductor/Initialize(mapload)
+1 -1
View File
@@ -85,7 +85,6 @@
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
origin_tech = "materials=2;engineering=2" //done for balance reasons, making them high value for research, but harder to get
force = 8 //might or might not be too high, subject to change
w_class = WEIGHT_CLASS_SMALL
throwforce = 8
throw_speed = 2
throw_range = 3//it's heavier than a screw driver/wrench, so it does more damage, but can't be thrown as far
@@ -93,6 +92,7 @@
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
toolspeed = 0.25
w_class = WEIGHT_CLASS_NORMAL
random_color = FALSE
/obj/item/screwdriver/power/Initialize(mapload)
+3 -2
View File
@@ -14,7 +14,7 @@
throw_speed = 3
throw_range = 5
hitsound = "swing_hit"
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_NORMAL
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 100, ACID = 30)
resistance_flags = FIRE_PROOF
materials = list(MAT_METAL = 400, MAT_GLASS = 100)
@@ -218,7 +218,7 @@
desc = "A miniature welder used during emergencies."
icon_state = "miniwelder"
maximum_fuel = 10
w_class = WEIGHT_CLASS_TINY
w_class = WEIGHT_CLASS_SMALL
materials = list(MAT_METAL = 200, MAT_GLASS = 50)
low_fuel_changes_icon = FALSE
@@ -228,6 +228,7 @@
icon = 'icons/obj/abductor.dmi'
icon_state = "welder"
toolspeed = 0.1
w_class = WEIGHT_CLASS_SMALL
light_intensity = 0
origin_tech = "plasmatech=5;engineering=5;abductor=3"
requires_fuel = FALSE
@@ -89,6 +89,7 @@
materials = list(MAT_METAL=150,MAT_SILVER=50,MAT_TITANIUM=25)
usesound = 'sound/items/jaws_cut.ogg'
toolspeed = 0.25
w_class = WEIGHT_CLASS_NORMAL
random_color = FALSE
/obj/item/wirecutters/power/suicide_act(mob/user)
+1
View File
@@ -59,6 +59,7 @@
throwforce = 8
attack_verb = list("drilled", "screwed", "jabbed")
toolspeed = 0.25
w_class = WEIGHT_CLASS_NORMAL
/obj/item/wrench/power/attack_self(mob/user)
playsound(get_turf(user),'sound/items/change_drill.ogg', 50, 1)
@@ -84,6 +84,8 @@
icon_state = "utilitybelt"
item_state = "utility"
use_item_overlays = TRUE
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 18
drop_sound = 'sound/items/handling/toolbelt_drop.ogg'
pickup_sound = 'sound/items/handling/toolbelt_pickup.ogg'
can_hold = list(
@@ -352,6 +354,7 @@
icon_state = "militarybelt"
item_state = "military"
max_w_class = WEIGHT_CLASS_SMALL
max_combined_w_class = 18
resistance_flags = FIRE_PROOF
/obj/item/storage/belt/military/sst
@@ -365,12 +368,20 @@
item_state = "utility"
use_item_overlays = TRUE // So it will still show tools in it in case sec get lazy and just glance at it.
storable = TRUE
w_class_override = list(
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/multitool
)
/obj/item/storage/belt/military/traitor/hacker/populate_contents()
new /obj/item/screwdriver(src, "red")
new /obj/item/wrench(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/crowbar/red(src)
new /obj/item/crowbar/small(src)
new /obj/item/wirecutters(src, "red")
new /obj/item/stack/cable_coil(src, 30, COLOR_RED)
update_icon()
@@ -707,6 +718,14 @@
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
can_hold = list()
large = TRUE
w_class_override = list(
/obj/item/crowbar,
/obj/item/screwdriver,
/obj/item/weldingtool,
/obj/item/wirecutters,
/obj/item/wrench,
/obj/item/multitool
)
/obj/item/storage/belt/bluespace/owlman
name = "Owlman's utility belt"
@@ -81,7 +81,6 @@
/obj/item/storage/box/survival_mining/populate_contents()
new /obj/item/clothing/mask/gas/explorer(src)
new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/crowbar/red(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/flashlight/flare/glowstick/emergency(src)
@@ -91,6 +90,7 @@
/obj/item/storage/box/survival_syndi/populate_contents()
new /obj/item/clothing/mask/gas/syndicate(src)
new /obj/item/tank/internals/emergency_oxygen/engi/syndi(src)
new /obj/item/crowbar/small(src)
new /obj/item/reagent_containers/hypospray/autoinjector(src)
new /obj/item/reagent_containers/food/pill/initropidril(src)
new /obj/item/flashlight/flare/glowstick/red(src)
@@ -829,8 +829,8 @@
/obj/item/storage/box/responseteam/populate_contents()
new /obj/item/clothing/mask/breath(src)
new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/crowbar/small(src)
new /obj/item/flashlight/flare(src)
new /obj/item/crowbar/red(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/radio/centcom(src)
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
@@ -842,7 +842,7 @@
/obj/item/storage/box/deathsquad/populate_contents()
new /obj/item/flashlight/flare(src)
new /obj/item/crowbar/red(src)
new /obj/item/crowbar/small(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/reagent_containers/food/pill/patch/synthflesh(src)
new /obj/item/reagent_containers/hypospray/autoinjector/survival(src)
@@ -160,7 +160,7 @@
med_bot_skin = "machine"
/obj/item/storage/firstaid/machine/populate_contents()
new /obj/item/weldingtool(src)
new /obj/item/weldingtool/mini(src)
new /obj/item/stack/cable_coil(src)
new /obj/item/stack/cable_coil(src)
new /obj/item/stack/cable_coil(src)
@@ -13,6 +13,8 @@
var/silent = FALSE
/// List of objects which this item can store (if set, it can't store anything else)
var/list/can_hold = list()
/// List of objects that can be stored, regardless of w_class
var/list/w_class_override = list()
/// List of objects which this item can't store (in effect only if can_hold isn't set)
var/list/cant_hold = list()
/// List of objects which this item overrides the cant_hold list (used to negate cant_hold on specific items. Ex: Allowing Smuggler's Satchels (subtype of backpack) to be stored inside bags of holding.)
@@ -385,9 +387,17 @@
return FALSE
if(I.w_class > max_w_class)
if(!stop_messages)
to_chat(usr, "<span class='warning'>[I] is too big for [src].</span>")
return FALSE
if(length(w_class_override))
if(is_type_in_list(I, w_class_override))
return TRUE
else
if(!stop_messages)
to_chat(usr, "<span class='warning'>[I] is too big for [src].</span>")
return FALSE
else
if(!stop_messages)
to_chat(usr, "<span class='warning'>[I] is too big for [src].</span>")
return FALSE
var/sum_w_class = I.w_class
for(var/obj/item/item in contents)
@@ -11,6 +11,8 @@
throw_speed = 2
throw_range = 7
w_class = WEIGHT_CLASS_BULKY
max_w_class = WEIGHT_CLASS_NORMAL
max_combined_w_class = 18
materials = list(MAT_METAL = 500)
origin_tech = "combat=1;engineering=1"
attack_verb = list("robusted")
@@ -41,7 +43,7 @@
item_state = "toolbox_red"
/obj/item/storage/toolbox/emergency/populate_contents()
new /obj/item/crowbar/red(src)
new /obj/item/crowbar/small(src)
new /obj/item/weldingtool/mini(src)
new /obj/item/extinguisher/mini(src)
if(prob(50))
@@ -107,7 +109,7 @@
new /obj/item/screwdriver/nuke(src)
new /obj/item/wrench(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/crowbar/red(src)
new /obj/item/crowbar/small(src)
new /obj/item/wirecutters(src, "red")
new /obj/item/multitool/red(src)
new /obj/item/clothing/gloves/combat(src)