Merge commit '179a607a90ad7ec62bdaff4e6fe72af60ee56442' of https://github.com/tgstation/tgstation into upstream-24-10b

This commit is contained in:
Majkl-J
2024-10-23 23:27:16 -07:00
4642 changed files with 25352 additions and 14167 deletions
+13 -13
View File
@@ -6,8 +6,8 @@
inhand_icon_state = "crowbar"
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
usesound = 'sound/items/crowbar.ogg'
operating_sound = 'sound/items/crowbar_prying.ogg'
usesound = 'sound/items/tools/crowbar.ogg'
operating_sound = 'sound/items/tools/crowbar_prying.ogg'
obj_flags = CONDUCTS_ELECTRICITY
slot_flags = ITEM_SLOT_BELT
force = 5
@@ -15,8 +15,8 @@
demolition_mod = 1.25
w_class = WEIGHT_CLASS_SMALL
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.5)
drop_sound = 'sound/items/handling/crowbar_drop.ogg'
pickup_sound = 'sound/items/handling/crowbar_pickup.ogg'
drop_sound = 'sound/items/handling/tools/crowbar_drop.ogg'
pickup_sound = 'sound/items/handling/tools/crowbar_pickup.ogg'
attack_verb_continuous = list("attacks", "bashes", "batters", "bludgeons", "whacks")
attack_verb_simple = list("attack", "bash", "batter", "bludgeon", "whack")
@@ -35,7 +35,7 @@
/obj/item/crowbar/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1)
playsound(loc, 'sound/items/weapons/genhit.ogg', 50, TRUE, -1)
return BRUTELOSS
/obj/item/crowbar/red
@@ -47,7 +47,7 @@
name = "alien crowbar"
desc = "A hard-light crowbar. It appears to pry by itself, without any effort required."
icon = 'icons/obj/antags/abductor.dmi'
usesound = 'sound/weapons/sonic_jackhammer.ogg'
usesound = 'sound/items/weapons/sonic_jackhammer.ogg'
custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT, /datum/material/titanium =SHEET_MATERIAL_AMOUNT, /datum/material/diamond =SHEET_MATERIAL_AMOUNT)
icon_state = "crowbar"
belt_icon_state = "crowbar_alien"
@@ -115,7 +115,7 @@
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*2.25, /datum/material/silver = SHEET_MATERIAL_AMOUNT*1.25, /datum/material/titanium = SHEET_MATERIAL_AMOUNT*1.75)
usesound = 'sound/items/jaws_pry.ogg'
usesound = 'sound/items/tools/jaws_pry.ogg'
force = 15
w_class = WEIGHT_CLASS_NORMAL
toolspeed = 0.7
@@ -152,7 +152,7 @@
tool_behaviour = (active ? TOOL_WIRECUTTER : TOOL_CROWBAR)
if(user)
balloon_alert(user, "attached [active ? "cutting" : "prying"]")
playsound(src, 'sound/items/change_jaws.ogg', 50, TRUE)
playsound(src, 'sound/items/tools/change_jaws.ogg', 50, TRUE)
if(tool_behaviour == TOOL_CROWBAR)
RemoveElement(/datum/element/cuffsnapping, snap_time_weak_handcuffs, snap_time_strong_handcuffs)
else
@@ -174,10 +174,10 @@
/obj/item/crowbar/power/suicide_act(mob/living/user)
if(tool_behaviour == TOOL_CROWBAR)
user.visible_message(span_suicide("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/items/jaws_pry.ogg', 50, TRUE, -1)
playsound(loc, 'sound/items/tools/jaws_pry.ogg', 50, TRUE, -1)
else
user.visible_message(span_suicide("[user] is wrapping \the [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!"))
playsound(loc, 'sound/items/jaws_cut.ogg', 50, TRUE, -1)
playsound(loc, 'sound/items/tools/jaws_cut.ogg', 50, TRUE, -1)
if(iscarbon(user))
var/mob/living/carbon/suicide_victim = user
var/obj/item/bodypart/target_bodypart = suicide_victim.get_bodypart(BODY_ZONE_HEAD)
@@ -192,7 +192,7 @@
icon = 'icons/obj/items_cyborg.dmi'
icon_state = "toolkit_engiborg_crowbar"
worn_icon_state = "toolkit_engiborg_crowbar" //error sprite - this shouldn't have been dropped
usesound = 'sound/items/jaws_pry.ogg'
usesound = 'sound/items/tools/jaws_pry.ogg'
force = 10
toolspeed = 0.5
@@ -234,7 +234,7 @@
user.log_message("tried to pry open [mech], located at [loc_name(mech)], which is currently occupied by [mech.occupants.Join(", ")].", LOG_ATTACK)
var/mech_dir = mech.dir
mech.balloon_alert(user, "prying open...")
playsound(mech, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE)
playsound(mech, 'sound/machines/airlock/airlock_alien_prying.ogg', 100, TRUE)
if(!use_tool(mech, user, (mech.mecha_flags & IS_ENCLOSED) ? 5 SECONDS : 3 SECONDS, volume = 0, extra_checks = CALLBACK(src, PROC_REF(extra_checks), mech, mech_dir)))
mech.balloon_alert(user, "interrupted!")
return
@@ -243,7 +243,7 @@
if(isAI(occupant))
continue
mech.mob_exit(occupant, randomstep = TRUE)
playsound(mech, 'sound/machines/airlockforced.ogg', 75, TRUE)
playsound(mech, 'sound/machines/airlock/airlockforced.ogg', 75, TRUE)
/obj/item/crowbar/mechremoval/proc/extra_checks(obj/vehicle/sealed/mecha/mech, mech_dir)
return HAS_TRAIT(src, TRAIT_WIELDED) && LAZYLEN(mech.occupants) && mech.dir == mech_dir
+12 -12
View File
@@ -20,14 +20,14 @@
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.75)
attack_verb_continuous = list("stabs")
attack_verb_simple = list("stab")
hitsound = 'sound/weapons/bladeslice.ogg'
usesound = list('sound/items/screwdriver.ogg', 'sound/items/screwdriver2.ogg')
operating_sound = 'sound/items/screwdriver_operating.ogg'
hitsound = 'sound/items/weapons/bladeslice.ogg'
usesound = list('sound/items/tools/screwdriver.ogg', 'sound/items/tools/screwdriver2.ogg')
operating_sound = 'sound/items/tools/screwdriver_operating.ogg'
tool_behaviour = TOOL_SCREWDRIVER
toolspeed = 1
armor_type = /datum/armor/item_screwdriver
drop_sound = 'sound/items/handling/screwdriver_drop.ogg'
pickup_sound = 'sound/items/handling/screwdriver_pickup.ogg'
drop_sound = 'sound/items/handling/tools/screwdriver_drop.ogg'
pickup_sound = 'sound/items/handling/tools/screwdriver_pickup.ogg'
sharpness = SHARP_POINTY
greyscale_config = /datum/greyscale_config/screwdriver
greyscale_config_inhand_left = /datum/greyscale_config/screwdriver_inhand_left
@@ -68,7 +68,7 @@
icon_state = "screwdriver_a"
inhand_icon_state = "screwdriver_nuke"
custom_materials = list(/datum/material/iron=HALF_SHEET_MATERIAL_AMOUNT*5, /datum/material/silver=SHEET_MATERIAL_AMOUNT*1.25, /datum/material/plasma =HALF_SHEET_MATERIAL_AMOUNT, /datum/material/titanium =SHEET_MATERIAL_AMOUNT, /datum/material/diamond =SHEET_MATERIAL_AMOUNT)
usesound = 'sound/items/pshoom.ogg'
usesound = 'sound/items/pshoom/pshoom.ogg'
toolspeed = 0.1
random_color = FALSE
greyscale_config_inhand_left = null
@@ -93,8 +93,8 @@
throw_range = 3//it's heavier than a screw driver/wrench, so it does more damage, but can't be thrown as far
attack_verb_continuous = list("drills", "screws", "jabs", "whacks")
attack_verb_simple = list("drill", "screw", "jab", "whack")
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
hitsound = 'sound/items/tools/drill_hit.ogg'
usesound = 'sound/items/tools/drill_use.ogg'
w_class = WEIGHT_CLASS_NORMAL
toolspeed = 0.7
random_color = FALSE
@@ -130,7 +130,7 @@
tool_behaviour = (active ? TOOL_WRENCH : TOOL_SCREWDRIVER)
if(user)
balloon_alert(user, "attached [active ? "bolt bit" : "screw bit"]")
playsound(src, 'sound/items/change_drill.ogg', 50, TRUE)
playsound(src, 'sound/items/tools/change_drill.ogg', 50, TRUE)
return COMPONENT_NO_DEFAULT_MESSAGE
/obj/item/screwdriver/power/examine()
@@ -142,7 +142,7 @@
user.visible_message(span_suicide("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!"))
else
user.visible_message(span_suicide("[user] is pressing [src] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/items/drill_use.ogg', 50, TRUE, -1)
playsound(loc, 'sound/items/tools/drill_use.ogg', 50, TRUE, -1)
return BRUTELOSS
/obj/item/screwdriver/cyborg
@@ -150,8 +150,8 @@
desc = "A powerful automated screwdriver, designed to be both precise and quick."
icon = 'icons/obj/items_cyborg.dmi'
icon_state = "toolkit_engiborg_screwdriver"
hitsound = 'sound/items/drill_hit.ogg'
usesound = 'sound/items/drill_use.ogg'
hitsound = 'sound/items/tools/drill_hit.ogg'
usesound = 'sound/items/tools/drill_use.ogg'
toolspeed = 0.5
random_color = FALSE
+1 -1
View File
@@ -68,7 +68,7 @@
update_tool_parameters()
update_appearance(UPDATE_ICON_STATE)
playsound(src, 'sound/weapons/empty.ogg', 50, TRUE)
playsound(src, 'sound/items/weapons/empty.ogg', 50, TRUE)
/// Used to pick random tool behavior for the knife
/obj/item/spess_knife/proc/pick_tool()
+13 -14
View File
@@ -1,5 +1,3 @@
/// How many seconds between each fuel depletion tick ("use" proc)
#define WELDER_FUEL_BURN_INTERVAL 5
/obj/item/weldingtool
name = "welding tool"
desc = "A standard edition welder provided by Nanotrasen."
@@ -14,9 +12,9 @@
force = 3
throwforce = 5
hitsound = SFX_SWING_HIT
usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg')
drop_sound = 'sound/items/handling/weldingtool_drop.ogg'
pickup_sound = 'sound/items/handling/weldingtool_pickup.ogg'
usesound = list('sound/items/tools/welder.ogg', 'sound/items/tools/welder2.ogg')
drop_sound = 'sound/items/handling/tools/weldingtool_drop.ogg'
pickup_sound = 'sound/items/handling/tools/weldingtool_pickup.ogg'
light_system = OVERLAY_LIGHT
light_range = 2
light_power = 1.5
@@ -48,8 +46,8 @@
/// When fuel was last removed.
var/burned_fuel_for = 0
var/activation_sound = 'sound/items/welderactivate.ogg'
var/deactivation_sound = 'sound/items/welderdeactivate.ogg'
var/activation_sound = 'sound/items/tools/welderactivate.ogg'
var/deactivation_sound = 'sound/items/tools/welderdeactivate.ogg'
/datum/armor/item_weldingtool
fire = 100
@@ -89,7 +87,7 @@
force = 15
damtype = BURN
burned_fuel_for += seconds_per_tick
if(burned_fuel_for >= WELDER_FUEL_BURN_INTERVAL)
if(burned_fuel_for >= TOOL_FUEL_BURN_INTERVAL)
use(TRUE)
update_appearance()
@@ -244,7 +242,7 @@
playsound(loc, activation_sound, 50, TRUE)
force = 15
damtype = BURN
hitsound = 'sound/items/welder.ogg'
hitsound = 'sound/items/tools/welder.ogg'
update_appearance()
START_PROCESSING(SSobj, src)
else
@@ -276,16 +274,17 @@
return welding
/// If welding tool ran out of fuel during a construction task, construction fails.
/obj/item/weldingtool/tool_use_check(mob/living/user, amount)
/obj/item/weldingtool/tool_use_check(mob/living/user, amount, heat_required)
if(!isOn() || !check_fuel())
to_chat(user, span_warning("[src] has to be on to complete this task!"))
return FALSE
if(get_fuel() >= amount)
return TRUE
else
if(get_fuel() < amount)
to_chat(user, span_warning("You need more welding fuel to complete this task!"))
return FALSE
if(heat < heat_required)
to_chat(user, span_warning("[src] is not hot enough to complete this task!"))
return FALSE
return TRUE
/// Ran when the welder is attacked by a screwdriver.
/obj/item/weldingtool/proc/flamethrower_screwdriver(obj/item/tool, mob/user)
+5 -5
View File
@@ -22,11 +22,11 @@
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*0.8)
attack_verb_continuous = list("pinches", "nips")
attack_verb_simple = list("pinch", "nip")
hitsound = 'sound/items/wirecutter.ogg'
usesound = 'sound/items/wirecutter.ogg'
operating_sound = 'sound/items/wirecutter_cut.ogg'
drop_sound = 'sound/items/handling/wirecutter_drop.ogg'
pickup_sound = 'sound/items/handling/wirecutter_pickup.ogg'
hitsound = 'sound/items/tools/wirecutter.ogg'
usesound = 'sound/items/tools/wirecutter.ogg'
operating_sound = 'sound/items/tools/wirecutter_cut.ogg'
drop_sound = 'sound/items/handling/tools/wirecutter_drop.ogg'
pickup_sound = 'sound/items/handling/tools/wirecutter_pickup.ogg'
tool_behaviour = TOOL_WIRECUTTER
toolspeed = 1
armor_type = /datum/armor/item_wirecutters
+6 -6
View File
@@ -13,11 +13,11 @@
throwforce = 7
demolition_mod = 1.25
w_class = WEIGHT_CLASS_SMALL
usesound = 'sound/items/ratchet.ogg'
operating_sound = list('sound/items/ratchet_fast.ogg', 'sound/items/ratchet_slow.ogg')
usesound = 'sound/items/tools/ratchet.ogg'
operating_sound = list('sound/items/tools/ratchet_fast.ogg', 'sound/items/tools/ratchet_slow.ogg')
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*1.5)
drop_sound = 'sound/items/handling/wrench_drop.ogg'
pickup_sound = 'sound/items/handling/wrench_pickup.ogg'
drop_sound = 'sound/items/handling/tools/wrench_drop.ogg'
pickup_sound = 'sound/items/handling/tools/wrench_pickup.ogg'
attack_verb_continuous = list("bashes", "batters", "bludgeons", "whacks")
attack_verb_simple = list("bash", "batter", "bludgeon", "whack")
@@ -35,7 +35,7 @@
/obj/item/wrench/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] is beating [user.p_them()]self to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/weapons/genhit.ogg', 50, TRUE, -1)
playsound(loc, 'sound/items/weapons/genhit.ogg', 50, TRUE, -1)
return BRUTELOSS
/obj/item/wrench/abductor
@@ -124,7 +124,7 @@
tool_behaviour = active ? TOOL_WRENCH : initial(tool_behaviour)
if(user)
balloon_alert(user, "[name] [active ? "active, woe!":"restrained"]")
playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE)
playsound(src, active ? 'sound/items/weapons/saberon.ogg' : 'sound/items/weapons/saberoff.ogg', 5, TRUE)
return COMPONENT_NO_DEFAULT_MESSAGE
/obj/item/wrench/bolter