From 35ca7004dc7ae2ffac329f546de507217920e1af Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 20:48:42 +0000
Subject: [PATCH 1/6] i'm the entire circus today
---
code/game/objects/items.dm | 5 ++++-
code/game/objects/obj.dm | 1 -
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index e61d13a64890..4239cb4f9034 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -111,7 +111,10 @@
var/damage_tier = MELEE_TIER_MEDIUM
/// damage_mode bitfield - see [code/__DEFINES/combat/damage.dm]
var/damage_mode = NONE
- // todo: port over damtype
+ /// DAMAGE_TYPE_* enum
+ ///
+ /// * This is the primary damage type this object does on usage as a melee / thrown weapon.
+ var/damage_type = DAMAGE_TYPE_BRUTE
//* Storage *//
/// storage cost for volumetric storage
diff --git a/code/game/objects/obj.dm b/code/game/objects/obj.dm
index f58e08f536e6..8784f12371f3 100644
--- a/code/game/objects/obj.dm
+++ b/code/game/objects/obj.dm
@@ -211,7 +211,6 @@
var/pry = 0 //Used in attackby() to open doors
//! LEGACY: DO NOT USE
var/in_use = 0 // If we have a user using us, this will be set on. We will check if the user has stopped using us, and thus stop updating and LAGGING EVERYTHING!
- var/damtype = "brute"
// todo: /obj/item level, /obj/projectile level, how to deal with armor?
var/armor_penetration = 0
var/show_messages
From 0df2b5f5fd2d448329a7f85732046cb8e37af393 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 20:51:05 +0000
Subject: [PATCH 2/6] regex
---
code/game/objects/items/devices/flashlight.dm | 4 ++--
code/game/objects/items/melee/types/misc.dm | 8 ++++----
code/game/objects/items/tools/weldingtool.dm | 4 ++--
code/game/objects/items/weapons/cigs_lighters.dm | 4 ++--
code/game/objects/items/weapons/surgery_tools.dm | 6 +++---
code/modules/clothing/head/misc_special.dm | 4 ++--
code/modules/mining/tools/mine_items.dm | 2 +-
7 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 0e34f154c131..81b850937000 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -368,14 +368,14 @@
if(.)
user.visible_message(SPAN_NOTICE("[user] activates the flare."), SPAN_NOTICE("You pull the cord on the flare, activating it!"))
src.damage_force = on_damage
- src.damtype = "fire"
+ src.damage_type = DAMAGE_TYPE_BURN
START_PROCESSING(SSobj, src)
/obj/item/flashlight/flare/proc/ignite() //Used for flare launchers.
on = !on
update_appearance()
damage_force = on_damage
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
START_PROCESSING(SSobj, src)
return TRUE
diff --git a/code/game/objects/items/melee/types/misc.dm b/code/game/objects/items/melee/types/misc.dm
index ec2cf5250f4c..1b5cacd7ce1b 100644
--- a/code/game/objects/items/melee/types/misc.dm
+++ b/code/game/objects/items/melee/types/misc.dm
@@ -281,7 +281,7 @@
to_chat(user, "You ignite the [src]'s sacred flame.")
playsound(loc, 'sound/weapons/gun_flamethrower3.ogg', 50, 1)
src.damage_force = 20
- src.damtype = "fire"
+ src.damage_type = DAMAGE_TYPE_BURN
src.set_weight_class(WEIGHT_CLASS_BULKY)
src.attack_sound = 'sound/weapons/gun_flamethrower2.ogg'
active = 1
@@ -291,7 +291,7 @@
to_chat(user, "You douse \the [src]'s sacred flame.")
playsound(loc, 'sound/weapons/gun_flamethrower1.ogg', 50, 1)
src.damage_force = 20
- src.damtype = "brute"
+ src.damage_type = DAMAGE_TYPE_BRUTE
src.set_weight_class(initial(src.w_class))
src.attack_sound = initial(src.attack_sound)
src.active = 0
@@ -526,7 +526,7 @@
T.visible_message("\The [src] turns on.")
playsound(loc, acti_sound, 50, 1)
src.damage_force = 15
- src.damtype = "fire"
+ src.damage_type = DAMAGE_TYPE_BURN
src.set_weight_class(WEIGHT_CLASS_BULKY)
src.attack_sound = 'sound/items/welder.ogg'
src.sharp = 1
@@ -545,7 +545,7 @@
T.visible_message("\The [src] turns off.")
playsound(loc, deac_sound, 50, 1)
src.damage_force = 3
- src.damtype = "brute"
+ src.damage_type = DAMAGE_TYPE_BRUTE
src.set_weight_class(initial(src.w_class))
src.active = 0
src.sharp = 0
diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm
index adf07cc03b87..751956b1c58d 100644
--- a/code/game/objects/items/tools/weldingtool.dm
+++ b/code/game/objects/items/tools/weldingtool.dm
@@ -253,7 +253,7 @@
T.visible_message("\The [src] turns on.")
playsound(loc, acti_sound, 50, 1)
src.damage_force = 15
- src.damtype = "fire"
+ src.damage_type = DAMAGE_TYPE_BURN
src.set_weight_class(WEIGHT_CLASS_BULKY)
src.attack_sound = 'sound/items/welder.ogg'
welding = 1
@@ -275,7 +275,7 @@
T.visible_message("\The [src] turns off.")
playsound(loc, deac_sound, 50, 1)
src.damage_force = 3
- src.damtype = "brute"
+ src.damage_type = DAMAGE_TYPE_BRUTE
src.set_weight_class(initial(src.w_class))
src.welding = 0
src.attack_sound = initial(src.attack_sound)
diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm
index b2f43649dee3..fda7029206aa 100644
--- a/code/game/objects/items/weapons/cigs_lighters.dm
+++ b/code/game/objects/items/weapons/cigs_lighters.dm
@@ -64,7 +64,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/flame/match/proc/burn_out()
lit = 0
burnt = 1
- damtype = "brute"
+ damage_type = DAMAGE_TYPE_BRUTE
icon_state = "match_burnt"
item_state = "cigoff"
name = "burnt match"
@@ -160,7 +160,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/proc/light(var/flavor_text = "[usr] lights the [name].")
if(!src.lit)
src.lit = 1
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
if(reagents.get_reagent_amount("phoron")) // the phoron explodes when exposed to fire
var/datum/effect_system/reagents_explosion/e = new()
e.set_up(round(reagents.get_reagent_amount("phoron") / 2.5, 1), get_turf(src), 0, 0)
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index fb75f705c9a6..06092ee4fcee 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -106,20 +106,20 @@
name = "laser scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks basic and could be improved."
icon_state = "scalpel_laser1_on"
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
/obj/item/surgical/scalpel/laser2
name = "laser scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks somewhat advanced."
icon_state = "scalpel_laser2_on"
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
damage_force = 12.0
/obj/item/surgical/scalpel/laser3
name = "laser scalpel"
desc = "A scalpel augmented with a directed laser, for more precise cutting without blood entering the field. This one looks to be the pinnacle of precision energy cutlery!"
icon_state = "scalpel_laser3_on"
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
damage_force = 15.0
/obj/item/surgical/scalpel/manager
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index dec04a45a3c4..f6b34b2f2729 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -150,12 +150,12 @@
onfire = !(onfire)
if (onfire)
damage_force = 3
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
icon_state = "cake1"
START_PROCESSING(SSobj, src)
else
damage_force = 0
- damtype = "brute"
+ damage_type = DAMAGE_TYPE_BRUTE
icon_state = "cake0"
return
diff --git a/code/modules/mining/tools/mine_items.dm b/code/modules/mining/tools/mine_items.dm
index 8b8f630d436a..0f5ad496300e 100644
--- a/code/modules/mining/tools/mine_items.dm
+++ b/code/modules/mining/tools/mine_items.dm
@@ -94,7 +94,7 @@
icon_state = "plasmacutter"
item_state = "gun"
w_class = WEIGHT_CLASS_NORMAL //it is smaller than the pickaxe
- damtype = "fire"
+ damage_type = DAMAGE_TYPE_BURN
digspeed = 20 //Can slice though normal walls, all girders, or be used in reinforced wall deconstruction/ light thermite on fire
origin_tech = list(TECH_MATERIAL = 4, TECH_PHORON = 3, TECH_ENGINEERING = 3)
desc = "A rock cutter that uses bursts of hot plasma. You could use it to cut limbs off of xenos! Or, you know, mine stuff."
From d7aab7eece515b9a2aeb86fc03f59429ef1a8ac5 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 20:54:24 +0000
Subject: [PATCH 3/6] regex
---
code/game/atoms/atom-defense.dm | 22 +++++++++----------
code/game/click/items.dm | 8 +++----
code/game/objects/items/devices/flashlight.dm | 2 +-
.../objects/items/melee/types/transforming.dm | 4 ++--
code/game/objects/items/storage/boxes.dm | 2 +-
code/game/objects/items/weapons/nullrod.dm | 2 +-
.../objects/items/weapons/surgery_tools.dm | 2 +-
.../objects/items/weapons/swords_axes_etc.dm | 10 ++++-----
code/game/objects/obj-defense.dm | 6 ++---
.../structures/props/projectile_lock.dm | 2 +-
.../objects/structures/props/puzzledoor.dm | 2 +-
code/modules/holodeck/HolodeckControl.dm | 4 ++--
code/modules/holodeck/HolodeckObjects.dm | 2 +-
code/modules/paperwork/pen.dm | 4 ++--
.../projectiles/projectile/projectile.dm | 4 ++--
code/modules/spells/artifacts.dm | 2 +-
code/modules/vore/fluffstuff/custom_items.dm | 6 ++---
17 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/code/game/atoms/atom-defense.dm b/code/game/atoms/atom-defense.dm
index 0ee92140df2c..b12756c9b08d 100644
--- a/code/game/atoms/atom-defense.dm
+++ b/code/game/atoms/atom-defense.dm
@@ -157,13 +157,13 @@
. = I.attacksound_override(src, ATTACK_TYPE_MELEE)
if(!isnull(.))
return
- . = hitsound_override(I.damtype, I.damage_mode, ATTACK_TYPE_MELEE, I)
+ . = hitsound_override(I.damage_type, I.damage_mode, ATTACK_TYPE_MELEE, I)
if(.)
return
- . = (I.damtype == DAMAGE_TYPE_BURN? hit_sound_burn : hit_sound_brute) || I.attack_sound
+ . = (I.damage_type == DAMAGE_TYPE_BURN? hit_sound_burn : hit_sound_brute) || I.attack_sound
if(.)
return
- switch(I.damtype)
+ switch(I.damage_type)
if(DAMAGE_TYPE_BRUTE)
return "swing_hit"
if(DAMAGE_TYPE_BURN)
@@ -173,7 +173,7 @@
/atom/proc/hitsound_projectile(obj/projectile/P)
//? todo: projectile gets final say
- . = hitsound_override(P.damtype, P.damage_mode, ATTACK_TYPE_PROJECTILE, P)
+ . = hitsound_override(P.damage_type, P.damage_mode, ATTACK_TYPE_PROJECTILE, P)
if(.)
return
return islist(P.impact_sounds)? pick(P.impact_sounds) : P.impact_sounds
@@ -182,13 +182,13 @@
. = I.attacksound_override(src, ATTACK_TYPE_THROWN)
if(!isnull(.))
return
- . = hitsound_override(I.damtype, I.damage_mode, ATTACK_TYPE_THROWN, I)
+ . = hitsound_override(I.damage_type, I.damage_mode, ATTACK_TYPE_THROWN, I)
if(.)
return
- . = (I.damtype == DAMAGE_TYPE_BURN? hit_sound_burn : hit_sound_brute) || I.attack_sound
+ . = (I.damage_type == DAMAGE_TYPE_BURN? hit_sound_burn : hit_sound_brute) || I.attack_sound
if(.)
return
- switch(I.damtype)
+ switch(I.damage_type)
if(DAMAGE_TYPE_BRUTE)
return "swing_hit"
if(DAMAGE_TYPE_BURN)
@@ -248,7 +248,7 @@
*
* @params
* * damage - raw damage
- * * damtype - damage type
+ * * damage_type - damage type
* * tier - penetration / attack tier
* * flag - armor flag as seen in [code/__DEFINES/combat/armor.dm]
* * mode - damage_mode
@@ -278,7 +278,7 @@
*
* @params
* * damage - raw damage
- * * damtype - damage type
+ * * damage_type - damage type
* * tier - penetration / attack tier
* * flag - armor flag as seen in [code/__DEFINES/combat/armor.dm]
* * mode - damage_mode
@@ -315,7 +315,7 @@
*
* @params
* * damage - raw damage
- * * damtype - damage type
+ * * damage_type - damage type
* * damage_tier - penetration / attack tier
* * damage_flag - armor flag as seen in [code/__DEFINES/combat/armor.dm]
* * damage_mode - damage_mode
@@ -350,7 +350,7 @@
*
* @params
* * damage - raw damage
- * * damtype - damage type
+ * * damage_type - damage type
* * damage_tier - penetration / attack tier
* * damage_flag - armor flag as seen in [code/__DEFINES/combat/armor.dm]
* * damage_mode - damage_mode
diff --git a/code/game/click/items.dm b/code/game/click/items.dm
index 2e3111c6c0e3..598a10344357 100644
--- a/code/game/click/items.dm
+++ b/code/game/click/items.dm
@@ -216,10 +216,10 @@
if(!hit_zone)
// missed
// log
- add_attack_logs(user, L, "missed with [src] DT [damtype] F [damage_force] I [user.a_intent]")
+ add_attack_logs(user, L, "missed with [src] DT [damage_type] F [damage_force] I [user.a_intent]")
return melee_mob_miss(L, user, clickchain_flags, params, mult, target_zone, intent)
// log
- add_attack_logs(user, L, "attacked with [src] DT [damtype] F [damage_force] I [user.a_intent]")
+ add_attack_logs(user, L, "attacked with [src] DT [damage_type] F [damage_force] I [user.a_intent]")
// hit
return melee_mob_hit(L, user, clickchain_flags, params, mult, target_zone, intent)
@@ -298,7 +298,7 @@
if(isliving(target))
var/mob/living/casted = target
newhp = casted.health
- log_attack(key_name(src), key_name(target), "attacked with [src] [src.damtype]-[src.damage_force]=[src.damage_tier] newhp ~[newhp || "unknown"]")
+ log_attack(key_name(src), key_name(target), "attacked with [src] [src.damage_type]-[src.damage_force]=[src.damage_tier] newhp ~[newhp || "unknown"]")
return NONE
@@ -430,7 +430,7 @@
// todo: better logging
// todo: entity ids?
var/newhp = target.integrity
- log_attack(key_name(src), "[target] ([ref(target)])", "attacked with [src] [src.damtype]-[src.damage_force]=[src.damage_tier] newhp ~[newhp || "unknown"]")
+ log_attack(key_name(src), "[target] ([ref(target)])", "attacked with [src] [src.damage_type]-[src.damage_force]=[src.damage_tier] newhp ~[newhp || "unknown"]")
return NONE
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 81b850937000..dcaf2099f39b 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -351,7 +351,7 @@
/obj/item/flashlight/flare/proc/turn_off()
on = FALSE
src.damage_force = initial(src.damage_force)
- src.damtype = initial(src.damtype)
+ src.damage_type = initial(src.damage_type)
update_appearance()
/obj/item/flashlight/flare/attack_self(mob/user)
diff --git a/code/game/objects/items/melee/types/transforming.dm b/code/game/objects/items/melee/types/transforming.dm
index fe7f4160f939..edeb4b2fd4f4 100644
--- a/code/game/objects/items/melee/types/transforming.dm
+++ b/code/game/objects/items/melee/types/transforming.dm
@@ -133,7 +133,7 @@
damage_force = VALUE_OR_DEFAULT(active_damage_force, initial(damage_force))
damage_tier = VALUE_OR_DEFAULT(active_damage_tier, initial(damage_tier))
damage_mode = VALUE_OR_DEFAULT(active_damage_mode, initial(damage_mode))
- damtype = VALUE_OR_DEFAULT(active_damage_type, initial(damtype))
+ damage_type = VALUE_OR_DEFAULT(active_damage_type, initial(damtype))
throw_force = VALUE_OR_DEFAULT(active_throw_force, initial(throw_force))
throw_resist = VALUE_OR_DEFAULT(active_throw_resist, initial(throw_resist))
@@ -159,7 +159,7 @@
damage_force = VALUE_OR_DEFAULT(inactive_damage_force, initial(damage_force))
damage_tier = VALUE_OR_DEFAULT(inactive_damage_tier, initial(damage_tier))
damage_mode = VALUE_OR_DEFAULT(inactive_damage_mode, initial(damage_mode))
- damtype = VALUE_OR_DEFAULT(inactive_damage_type, initial(damtype))
+ damage_type = VALUE_OR_DEFAULT(inactive_damage_type, initial(damtype))
throw_force = VALUE_OR_DEFAULT(inactive_throw_force, initial(throw_force))
throw_resist = VALUE_OR_DEFAULT(inactive_throw_resist, initial(throw_resist))
diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm
index a8d3e994287a..7f22e5e14750 100644
--- a/code/game/objects/items/storage/boxes.dm
+++ b/code/game/objects/items/storage/boxes.dm
@@ -449,7 +449,7 @@
/obj/item/storage/box/matches/attackby(obj/item/flame/match/W as obj, mob/user as mob)
if(istype(W) && !W.lit && !W.burnt)
W.lit = 1
- W.damtype = "burn"
+ W.damage_type = "burn"
W.icon_state = "match_lit"
START_PROCESSING(SSobj, W)
W.update_icon()
diff --git a/code/game/objects/items/weapons/nullrod.dm b/code/game/objects/items/weapons/nullrod.dm
index 97a0eb0fd077..2e836696ca4c 100644
--- a/code/game/objects/items/weapons/nullrod.dm
+++ b/code/game/objects/items/weapons/nullrod.dm
@@ -109,7 +109,7 @@
item_state = "disintegrate"
name = "god hand"
desc = "This hand of yours glows with an awesome power!"
- damtype = DAMAGE_TYPE_BURN
+ damage_type = DAMAGE_TYPE_BURN
attack_verb = list("punched", "cross countered", "pummeled")
/obj/item/nullrod/godhand/Initialize(mapload)
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index 06092ee4fcee..8877442b964b 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -162,7 +162,7 @@
icon_state = "adv_saw"
item_state = "saw3"
attack_sound = 'sound/weapons/emitter2.ogg'
- damtype = DAMAGE_TYPE_SEARING
+ damage_type = DAMAGE_TYPE_SEARING
w_class = WEIGHT_CLASS_BULKY
origin_tech = list(TECH_BIO = 4, TECH_MATERIAL = 6, TECH_MAGNET = 6)
materials_base = list(MAT_STEEL = 12500)
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index c04b902bdcdd..63b12ff5d9c0 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -110,15 +110,15 @@
var/mob/living/L = user
L.take_random_targeted_damage(brute = 2*damage_force)
return
- var/old_damtype = damtype
+ var/old_damage_type = damage_type
var/old_attack_verb = attack_verb
var/old_force = damage_force
if(user.a_intent != INTENT_HARM)
- damtype = DAMAGE_TYPE_HALLOSS
+ damage_type = DAMAGE_TYPE_HALLOSS
attack_verb = list("suppressed")
damage_force = on_pain_force
. = ..()
- damtype = old_damtype
+ damage_type = old_damage_type
attack_verb = old_attack_verb
damage_force = old_force
else
@@ -221,7 +221,7 @@
desc = "A training sword made of wood and shaped like a katana."
icon_state = "bokken"
slot_flags = SLOT_BELT | SLOT_BACK
- damtype = DAMAGE_TYPE_HALLOSS
+ damage_type = DAMAGE_TYPE_HALLOSS
damage_force = 5
throw_force = 5
attack_verb = list("whacked", "smacked", "struck")
@@ -351,7 +351,7 @@
desc = "A heavy wooden club reinforced with metal studs. Ancient Terran Oni were often depicted carrying this weapon."
icon_state = "kanabo"
slot_flags = SLOT_BACK
- damtype = DAMAGE_TYPE_BRUTE
+ damage_type = DAMAGE_TYPE_BRUTE
damage_force = 15
throw_force = 5
attack_verb = list("battered", "hammered", "struck")
diff --git a/code/game/objects/obj-defense.dm b/code/game/objects/obj-defense.dm
index d8046405874a..c6882bfe39b4 100644
--- a/code/game/objects/obj-defense.dm
+++ b/code/game/objects/obj-defense.dm
@@ -20,7 +20,7 @@
// todo: maybe the item side should handle this?
run_damage_instance(
weapon.damage_force * (clickchain ? clickchain.damage_multiplier : 1),
- weapon.damtype,
+ weapon.damage_type,
weapon.damage_tier,
weapon.damage_flag,
weapon.damage_mode,
@@ -96,7 +96,7 @@
/obj/hitsound_melee(obj/item/I)
if(!isnull(material_primary))
var/datum/material/primary = get_primary_material()
- . = I.damtype == DAMAGE_TYPE_BURN? primary.sound_melee_burn : primary.sound_melee_brute
+ . = I.damage_type == DAMAGE_TYPE_BURN? primary.sound_melee_burn : primary.sound_melee_brute
if(!isnull(.))
return
return ..()
@@ -104,7 +104,7 @@
/obj/hitsound_throwhit(obj/item/I)
if(!isnull(material_primary))
var/datum/material/primary = get_primary_material()
- . = I.damtype == DAMAGE_TYPE_BURN? primary.sound_melee_burn : primary.sound_melee_brute
+ . = I.damage_type == DAMAGE_TYPE_BURN? primary.sound_melee_burn : primary.sound_melee_brute
if(!isnull(.))
return
return ..()
diff --git a/code/game/objects/structures/props/projectile_lock.dm b/code/game/objects/structures/props/projectile_lock.dm
index 505cc3b263b2..a0257faf72db 100644
--- a/code/game/objects/structures/props/projectile_lock.dm
+++ b/code/game/objects/structures/props/projectile_lock.dm
@@ -48,7 +48,7 @@
if(timing)
return PROJECTILE_IMPACT_DELETE
- if(istype(proj, /obj/projectile/beam/heavylaser/cannon) || istype(proj, /obj/projectile/beam/emitter) || (proj.damage_force >= 80 && proj.damtype == DAMAGE_TYPE_BURN))
+ if(istype(proj, /obj/projectile/beam/heavylaser/cannon) || istype(proj, /obj/projectile/beam/emitter) || (proj.damage_force >= 80 && proj.damage_type == DAMAGE_TYPE_BURN))
toggle_lock()
visible_message("\The [src] [enabled ? "disengages" : "engages"] its locking mechanism.")
diff --git a/code/game/objects/structures/props/puzzledoor.dm b/code/game/objects/structures/props/puzzledoor.dm
index 951eb64f86dc..861ed2074b4f 100644
--- a/code/game/objects/structures/props/puzzledoor.dm
+++ b/code/game/objects/structures/props/puzzledoor.dm
@@ -77,7 +77,7 @@
else if(src.density && (user.a_intent == INTENT_HARM))
var/obj/item/W = C
user.setClickCooldown(user.get_attack_speed(W))
- if(W.damtype == DAMAGE_TYPE_BRUTE || W.damtype == DAMAGE_TYPE_BURN)
+ if(W.damage_type == DAMAGE_TYPE_BRUTE || W.damage_type == DAMAGE_TYPE_BURN)
user.do_attack_animation(src)
user.visible_message("\The [user] hits \the [src] with \the [W] with no visible effect.")
diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm
index 60f78010bae2..5e3ddcefea06 100644
--- a/code/modules/holodeck/HolodeckControl.dm
+++ b/code/modules/holodeck/HolodeckControl.dm
@@ -173,11 +173,11 @@
if (safety_disabled)
item_power_usage = 2500
for(var/obj/item/holo/esword/H in linkedholodeck)
- H.damtype = DAMAGE_TYPE_BRUTE
+ H.damage_type = DAMAGE_TYPE_BRUTE
else
item_power_usage = initial(item_power_usage)
for(var/obj/item/holo/esword/H in linkedholodeck)
- H.damtype = initial(H.damtype)
+ H.damage_type = initial(H.damage_type)
for(var/mob/living/simple_mob/animal/space/carp/holodeck/C in holographic_mobs)
C.set_safety(!safety_disabled)
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 493c9a42ddfd..9160f19cc590 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -213,7 +213,7 @@
return
/obj/item/holo
- damtype = DAMAGE_TYPE_HALLOSS
+ damage_type = DAMAGE_TYPE_HALLOSS
/obj/item/holo/esword
desc = "May the force be within you. Sorta."
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 21443c6f6e00..7315a0a90a86 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -192,7 +192,7 @@
edge = 1
set_weight_class(active_w_class)
playsound(src, 'sound/weapons/saberon.ogg', 15, 1)
- damtype = DAMAGE_TYPE_SEARING
+ damage_type = DAMAGE_TYPE_SEARING
item_flags |= ITEM_THROW_UNCATCHABLE
attack_verb |= list(\
@@ -214,7 +214,7 @@
sharp = initial(sharp)
edge = initial(edge)
set_weight_class(initial(w_class))
- damtype = DAMAGE_TYPE_BRUTE
+ damage_type = DAMAGE_TYPE_BRUTE
item_flags &= ~ITEM_THROW_UNCATCHABLE
/obj/item/pen/blade/blue
diff --git a/code/modules/projectiles/projectile/projectile.dm b/code/modules/projectiles/projectile/projectile.dm
index 184778fbc77f..29762896baad 100644
--- a/code/modules/projectiles/projectile/projectile.dm
+++ b/code/modules/projectiles/projectile/projectile.dm
@@ -289,7 +289,7 @@
var/damage_force = 10
/// damage tier - goes hand in hand with [damage_armor]
var/damage_tier = BULLET_TIER_DEFAULT
- /// todo: legacy - BRUTE, BURN, TOX, OXY, CLONE, HALLOSS, ELECTROCUTE, BIOACID are the only things that should be in here
+ /// damage type - DAMAGE_TYPE_* define
var/damage_type = DAMAGE_TYPE_BRUTE
/// armor flag for damage - goes hand in hand with [damage_tier]
var/damage_flag = ARMOR_BULLET
@@ -604,7 +604,7 @@
return fire(angle_override, direct_target)
/**
- * Standard proc to determine damage when impacting something. This does not affect the special damage variables/effect variables, only damage and damtype.
+ * Standard proc to determine damage when impacting something. This does not affect the special damage variables/effect variables, only damage and damage_type.
* May or may not be called before/after armor calculations.
*
* @params
diff --git a/code/modules/spells/artifacts.dm b/code/modules/spells/artifacts.dm
index d906ee6de3cf..6f636dcf872d 100644
--- a/code/modules/spells/artifacts.dm
+++ b/code/modules/spells/artifacts.dm
@@ -8,7 +8,7 @@
throw_speed = 3
throw_range = 7
throw_force = 10
- damtype = DAMAGE_TYPE_BURN
+ damage_type = DAMAGE_TYPE_BURN
damage_force = 10
attack_sound = 'sound/items/welder2.ogg'
diff --git a/code/modules/vore/fluffstuff/custom_items.dm b/code/modules/vore/fluffstuff/custom_items.dm
index 44bf48d4b155..efcccd152050 100644
--- a/code/modules/vore/fluffstuff/custom_items.dm
+++ b/code/modules/vore/fluffstuff/custom_items.dm
@@ -169,7 +169,7 @@
damage_force = 10
throw_force = 3
w_class = WEIGHT_CLASS_NORMAL
- damtype = DAMAGE_TYPE_HALLOSS
+ damage_type = DAMAGE_TYPE_HALLOSS
attack_verb = list("flogged", "whipped", "lashed", "disciplined", "chastised", "flayed")
//General use
@@ -1308,7 +1308,7 @@
item_icons = list(SLOT_ID_LEFT_HAND = 'icons/mob/items/lefthand_melee.dmi', SLOT_ID_RIGHT_HAND = 'icons/mob/items/righthand_melee.dmi', SLOT_ID_BACK = 'icons/vore/custom_items_vr.dmi', SLOT_ID_SUIT = 'icons/vore/custom_items_vr.dmi')
var/active_state = "wolfgirlsword"
allowed = list(/obj/item/shield/fluff/wolfgirlshield)
- damtype = DAMAGE_TYPE_HALLOSS
+ damage_type = DAMAGE_TYPE_HALLOSS
/obj/item/melee/fluffstuff/wolfgirlsword/dropped(mob/user, flags, atom/newLoc)
..()
@@ -1324,7 +1324,7 @@
sharp = 1
edge = 1
icon_state = "[active_state]_sharp"
- damtype = DAMAGE_TYPE_BRUTE
+ damage_type = DAMAGE_TYPE_BRUTE
/obj/item/melee/fluffstuff/wolfgirlsword/deactivate(mob/living/user)
From f4d01c56c0dc8ab9c9b9475f25324b3dfaaaa044 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 21:00:31 +0000
Subject: [PATCH 4/6] regex
---
code/game/objects/items/melee/types/transforming.dm | 4 ++--
code/game/turfs/simulated/wall/wall-defense.dm | 2 +-
code/modules/blob2/blobs/base_blob.dm | 4 ++--
code/modules/mob/living/carbon/carbon_defense.dm | 12 ++++++------
.../mob/living/carbon/human/human-defense-legacy.dm | 12 ++++++------
code/modules/mob/living/living-defense-legacy.dm | 6 +++---
code/modules/mob/living/simple_mob/defense.dm | 2 +-
.../simple_mob/subtypes/slime/xenobio/subtypes.dm | 4 ++--
.../vehicles/sealed/mecha/equipment/tools/drill.dm | 2 +-
code/modules/vehicles_legacy/vehicle.dm | 4 ++--
10 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/code/game/objects/items/melee/types/transforming.dm b/code/game/objects/items/melee/types/transforming.dm
index edeb4b2fd4f4..837f697309d9 100644
--- a/code/game/objects/items/melee/types/transforming.dm
+++ b/code/game/objects/items/melee/types/transforming.dm
@@ -133,7 +133,7 @@
damage_force = VALUE_OR_DEFAULT(active_damage_force, initial(damage_force))
damage_tier = VALUE_OR_DEFAULT(active_damage_tier, initial(damage_tier))
damage_mode = VALUE_OR_DEFAULT(active_damage_mode, initial(damage_mode))
- damage_type = VALUE_OR_DEFAULT(active_damage_type, initial(damtype))
+ damage_type = VALUE_OR_DEFAULT(active_damage_type, initial(damage_type))
throw_force = VALUE_OR_DEFAULT(active_throw_force, initial(throw_force))
throw_resist = VALUE_OR_DEFAULT(active_throw_resist, initial(throw_resist))
@@ -159,7 +159,7 @@
damage_force = VALUE_OR_DEFAULT(inactive_damage_force, initial(damage_force))
damage_tier = VALUE_OR_DEFAULT(inactive_damage_tier, initial(damage_tier))
damage_mode = VALUE_OR_DEFAULT(inactive_damage_mode, initial(damage_mode))
- damage_type = VALUE_OR_DEFAULT(inactive_damage_type, initial(damtype))
+ damage_type = VALUE_OR_DEFAULT(inactive_damage_type, initial(damage_type))
throw_force = VALUE_OR_DEFAULT(inactive_throw_force, initial(throw_force))
throw_resist = VALUE_OR_DEFAULT(inactive_throw_resist, initial(throw_resist))
diff --git a/code/game/turfs/simulated/wall/wall-defense.dm b/code/game/turfs/simulated/wall/wall-defense.dm
index 98c80c6ec0dd..e1d7eec2bbd8 100644
--- a/code/game/turfs/simulated/wall/wall-defense.dm
+++ b/code/game/turfs/simulated/wall/wall-defense.dm
@@ -47,7 +47,7 @@
// todo: maybe the item side should handle this?
run_damage_instance(
weapon.damage_force * (clickchain ? clickchain.damage_multiplier : 1),
- weapon.damtype,
+ weapon.damage_type,
weapon.damage_tier,
weapon.damage_flag,
weapon.damage_mode,
diff --git a/code/modules/blob2/blobs/base_blob.dm b/code/modules/blob2/blobs/base_blob.dm
index 40d129452082..505d6c155dab 100644
--- a/code/modules/blob2/blobs/base_blob.dm
+++ b/code/modules/blob2/blobs/base_blob.dm
@@ -226,7 +226,7 @@ var/list/blobs = list()
playsound(loc, 'sound/effects/attackblob.ogg', 50, 1)
visible_message("\The [src] has been attacked with \the [W][(user ? " by [user]." : ".")]")
var/damage = W.damage_force
- switch(W.damtype)
+ switch(W.damage_type)
if(DAMAGE_TYPE_BURN)
if(overmind)
damage *= overmind.blob_type.burn_multiplier
@@ -248,7 +248,7 @@ var/list/blobs = list()
else
playsound(src, 'sound/weapons/tap.ogg', 50, 1)
if(overmind)
- damage = overmind.blob_type.on_received_damage(src, damage, W.damtype, user)
+ damage = overmind.blob_type.on_received_damage(src, damage, W.damage_type, user)
adjust_integrity_blob(-damage)
return
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 5cf584d5efe3..039154fa083a 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -27,10 +27,10 @@
weapon_edge = 0
hit_embed_chance = I.damage_force/(I.w_class*3)
- apply_damage(effective_force, I.damtype, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
+ apply_damage(effective_force, I.damage_type, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
//Melee weapon embedded object code.
- if (I && I.damtype == DAMAGE_TYPE_BRUTE && !I.anchored && !is_robot_module(I) && I.embed_chance > 0)
+ if (I && I.damage_type == DAMAGE_TYPE_BRUTE && !I.anchored && !is_robot_module(I) && I.embed_chance > 0)
var/damage = effective_force
if (blocked)
damage *= (100 - blocked)/100
@@ -102,7 +102,7 @@
// Knifing
/mob/living/carbon/proc/attack_throat(obj/item/W, obj/item/grab/G, mob/user)
- if(!((W.damage_mode & DAMAGE_MODE_EDGE) || W.edge) || !W.damage_force || W.damtype != DAMAGE_TYPE_BRUTE)
+ if(!((W.damage_mode & DAMAGE_MODE_EDGE) || W.edge) || !W.damage_force || W.damage_type != DAMAGE_TYPE_BRUTE)
return 0 //unsuitable weapon
user.visible_message("\The [user] begins to slit [src]'s throat with \the [W]!")
@@ -123,7 +123,7 @@
var/total_damage = 0
for(var/i in 1 to 3)
var/damage = min(W.damage_force*1.5, 20)*damage_mod
- apply_damage(damage, W.damtype, "head", 0, sharp=W.sharp||(W.damage_mode & DAMAGE_MODE_EDGE), edge=W.edge||(W.damage_mode & DAMAGE_MODE_EDGE))
+ apply_damage(damage, W.damage_type, "head", 0, sharp=W.sharp||(W.damage_mode & DAMAGE_MODE_EDGE), edge=W.edge||(W.damage_mode & DAMAGE_MODE_EDGE))
total_damage += damage
var/oxyloss = total_damage
@@ -150,13 +150,13 @@
/mob/living/carbon/proc/shank_attack(obj/item/W, obj/item/grab/G, mob/user, hit_zone)
- if(!(W.sharp || (W.damage_mode & DAMAGE_MODE_SHARP)) || !W.damage_force || W.damtype != DAMAGE_TYPE_BRUTE)
+ if(!(W.sharp || (W.damage_mode & DAMAGE_MODE_SHARP)) || !W.damage_force || W.damage_type != DAMAGE_TYPE_BRUTE)
return 0 //unsuitable weapon
user.visible_message("\The [user] plunges \the [W] into \the [src]!")
var/damage = shank_armor_helper(W, G, user)
- apply_damage(damage, W.damtype, "torso", 0, sharp=W.sharp||(W.damage_mode & DAMAGE_MODE_EDGE), edge=W.edge||(W.damage_mode & DAMAGE_MODE_EDGE))
+ apply_damage(damage, W.damage_type, "torso", 0, sharp=W.sharp||(W.damage_mode & DAMAGE_MODE_EDGE), edge=W.edge||(W.damage_mode & DAMAGE_MODE_EDGE))
if(W.attack_sound)
playsound(loc, W.attack_sound, 50, 1, -1)
diff --git a/code/modules/mob/living/carbon/human/human-defense-legacy.dm b/code/modules/mob/living/carbon/human/human-defense-legacy.dm
index 7438b3dc2cf4..b8b782830d22 100644
--- a/code/modules/mob/living/carbon/human/human-defense-legacy.dm
+++ b/code/modules/mob/living/carbon/human/human-defense-legacy.dm
@@ -227,7 +227,7 @@
forcesay(hit_appends) //forcesay checks stat already
if(prob(25 + (effective_force * 2)))
- if(!((I.damtype == DAMAGE_TYPE_BRUTE) || (I.damtype == DAMAGE_TYPE_HALLOSS)))
+ if(!((I.damage_type == DAMAGE_TYPE_BRUTE) || (I.damage_type == DAMAGE_TYPE_HALLOSS)))
return
if(!(I.atom_flags & NOBLOODY))
@@ -274,7 +274,7 @@
if(!organ || (organ.dislocated == 2) || (organ.dislocated == -1) || blocked >= 100)
return 0
- if(W.damtype != DAMAGE_TYPE_BRUTE)
+ if(W.damage_type != DAMAGE_TYPE_BRUTE)
return 0
if(soaked >= round(effective_force*0.8))
@@ -317,7 +317,7 @@
throw_mode_off()
return
- var/dtype = O.damtype
+ var/dtype = O.damage_type
var/throw_damage = O.throw_force * TT.get_damage_multiplier(src)
var/zone
@@ -473,10 +473,10 @@
w_uniform.add_blood(source)
update_inv_w_uniform(0)
-/mob/living/carbon/human/proc/handle_suit_punctures(var/damtype, var/damage, var/def_zone)
+/mob/living/carbon/human/proc/handle_suit_punctures(var/damage_type, var/damage, var/def_zone)
// Tox and oxy don't matter to suits.
- if(damtype != DAMAGE_TYPE_BURN && damtype != DAMAGE_TYPE_BRUTE) return
+ if(damage_type != DAMAGE_TYPE_BURN && damage_type != DAMAGE_TYPE_BRUTE) return
// The hardsuit might soak this hit, if we're wearing one.
if(back && istype(back,/obj/item/hardsuit))
@@ -488,7 +488,7 @@
if(!istype(wear_suit,/obj/item/clothing/suit/space)) return
var/obj/item/clothing/suit/space/SS = wear_suit
var/penetrated_dam = max(0,(damage - SS.breach_threshold))
- if(penetrated_dam) SS.create_breaches(damtype, penetrated_dam)
+ if(penetrated_dam) SS.create_breaches(damage_type, penetrated_dam)
/mob/living/carbon/human/reagent_permeability()
var/perm = 0
diff --git a/code/modules/mob/living/living-defense-legacy.dm b/code/modules/mob/living/living-defense-legacy.dm
index 008761bdc1c4..2d13f1081993 100644
--- a/code/modules/mob/living/living-defense-legacy.dm
+++ b/code/modules/mob/living/living-defense-legacy.dm
@@ -192,7 +192,7 @@
standard_weapon_hit_effects(I, user, effective_force, blocked, soaked, hit_zone)
- if(I.damtype == DAMAGE_TYPE_BRUTE && prob(33)) // Added blood for whacking non-humans too
+ if(I.damage_type == DAMAGE_TYPE_BRUTE && prob(33)) // Added blood for whacking non-humans too
var/turf/simulated/location = get_turf(src)
if(istype(location)) location.add_blood_floor(src)
@@ -214,7 +214,7 @@
weapon_sharp = 0
weapon_edge = 0
- apply_damage(effective_force, I.damtype, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
+ apply_damage(effective_force, I.damage_type, hit_zone, blocked, soaked, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
return 1
@@ -222,7 +222,7 @@
/mob/living/throw_impacted(atom/movable/AM, datum/thrownthing/TT)
if(istype(AM, /obj))
var/obj/O = AM
- var/dtype = O.damtype
+ var/dtype = O.damage_type
var/throw_damage = O.throw_force * TT.get_damage_multiplier(src)
var/miss_chance = 15
diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm
index cc18761c9935..3ea0519d6c51 100644
--- a/code/modules/mob/living/simple_mob/defense.dm
+++ b/code/modules/mob/living/simple_mob/defense.dm
@@ -75,7 +75,7 @@
effective_force = O.damage_force
//Animals can't be stunned(?)
- if(O.damtype == DAMAGE_TYPE_HALLOSS)
+ if(O.damage_type == DAMAGE_TYPE_HALLOSS)
effective_force = 0
if(supernatural && istype(O,/obj/item/nullrod))
effective_force *= 2
diff --git a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
index c8e5ab414ba7..4f6526c96aa0 100644
--- a/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/slime/xenobio/subtypes.dm
@@ -207,7 +207,7 @@
ignite()
/mob/living/simple_mob/slime/xenobio/dark_purple/attackby(var/obj/item/W, var/mob/user)
- if(istype(W) && W.damage_force && W.damtype == DAMAGE_TYPE_BURN)
+ if(istype(W) && W.damage_force && W.damage_type == DAMAGE_TYPE_BURN)
log_and_message_admins("[src] ignited due to being hit with a burning weapon ([W]) by [key_name(user)].")
ignite()
else
@@ -661,7 +661,7 @@
explode()
/mob/living/simple_mob/slime/xenobio/oil/attackby(obj/item/W, mob/living/user)
- if(istype(W) && W.damage_force && W.damtype == DAMAGE_TYPE_BURN)
+ if(istype(W) && W.damage_force && W.damage_type == DAMAGE_TYPE_BURN)
log_and_message_admins("[src] exploded due to being hit with a burning weapon ([W]) by [key_name(user)].")
explode()
else
diff --git a/code/modules/vehicles/sealed/mecha/equipment/tools/drill.dm b/code/modules/vehicles/sealed/mecha/equipment/tools/drill.dm
index b71d64411122..f0b3e4b7cb38 100644
--- a/code/modules/vehicles/sealed/mecha/equipment/tools/drill.dm
+++ b/code/modules/vehicles/sealed/mecha/equipment/tools/drill.dm
@@ -56,7 +56,7 @@
return 1
/obj/item/mecha_parts/mecha_equipment/tool/drill/proc/drill_mob(mob/living/target, mob/user)
- add_attack_logs(user, target, "attacked", "[name]", "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
+ add_attack_logs(user, target, "attacked", "[name]", "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(DAMAGE_TYPE_BRUTE)])")
var/drill_force = damage_force //Couldn't manage it otherwise.
if(ishuman(target))
target.apply_damage(drill_force, DAMAGE_TYPE_BRUTE)
diff --git a/code/modules/vehicles_legacy/vehicle.dm b/code/modules/vehicles_legacy/vehicle.dm
index 80de4b285178..d6878ded82be 100644
--- a/code/modules/vehicles_legacy/vehicle.dm
+++ b/code/modules/vehicles_legacy/vehicle.dm
@@ -111,9 +111,9 @@
else
to_chat(user, "Unable to repair while [src] is off.")
- else if(hasvar(W,"damage_force") && hasvar(W,"damtype"))
+ else if(hasvar(W,"damage_force") && hasvar(W,"damage_type"))
user.setClickCooldown(user.get_attack_speed(W))
- switch(W.damtype)
+ switch(W.damage_type)
if("fire")
health -= W.damage_force * fire_dam_coeff
if("brute")
From 19fd335af5ce1477e18f043e4faa61b52fc51abf Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 21:02:12 +0000
Subject: [PATCH 5/6] sigh
---
code/modules/mob/living/living-defense-legacy.dm | 5 ++++-
code/modules/vehicles/sealed/mecha/mecha.dm | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/code/modules/mob/living/living-defense-legacy.dm b/code/modules/mob/living/living-defense-legacy.dm
index 2d13f1081993..f6e64eaed3a5 100644
--- a/code/modules/mob/living/living-defense-legacy.dm
+++ b/code/modules/mob/living/living-defense-legacy.dm
@@ -222,7 +222,10 @@
/mob/living/throw_impacted(atom/movable/AM, datum/thrownthing/TT)
if(istype(AM, /obj))
var/obj/O = AM
- var/dtype = O.damage_type
+ var/dtype = DAMAGE_TYPE_BRUTE
+ if(isitem(AM))
+ var/obj/item/impacting_item = AM
+ dtype = impacting_item.damage_type
var/throw_damage = O.throw_force * TT.get_damage_multiplier(src)
var/miss_chance = 15
diff --git a/code/modules/vehicles/sealed/mecha/mecha.dm b/code/modules/vehicles/sealed/mecha/mecha.dm
index 07953a03cb30..8af15004add4 100644
--- a/code/modules/vehicles/sealed/mecha/mecha.dm
+++ b/code/modules/vehicles/sealed/mecha/mecha.dm
@@ -144,6 +144,9 @@
var/max_equip = 2
var/datum/events/events
+ /// outgoing melee damage (legacy var)
+ var/damtype
+
//mechaequipt2 stuffs
var/list/hull_equipment = new
var/list/weapon_equipment = new
@@ -1351,7 +1354,7 @@
pass_damage = (pass_damage*pass_damage_reduc_mod) //Apply the reduction of damage from not having enough armor penetration. This is not regular armor values at play.
for(var/obj/item/mecha_parts/mecha_equipment/ME in equipment)
pass_damage = ME.handle_projectile_contact(W, user, pass_damage)
- src.take_damage_legacy(pass_damage,W.damtype) //The take_damage_legacy() proc handles armor values
+ src.take_damage_legacy(pass_damage, W.damage_type) //The take_damage_legacy() proc handles armor values
if(pass_damage > internal_damage_minimum) //Only decently painful attacks trigger a chance of mech damage.
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
return
From 64bd0cfd9d3d17b697efe092a1b5017244335b24 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 10 Sep 2024 21:03:07 +0000
Subject: [PATCH 6/6] finish damtype
---
.../modules/mob/living/carbon/human/human-defense-legacy.dm | 6 +++++-
code/modules/shieldgen/energy_shield.dm | 4 ++--
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/human-defense-legacy.dm b/code/modules/mob/living/carbon/human/human-defense-legacy.dm
index b8b782830d22..cc719d39f3cf 100644
--- a/code/modules/mob/living/carbon/human/human-defense-legacy.dm
+++ b/code/modules/mob/living/carbon/human/human-defense-legacy.dm
@@ -317,7 +317,11 @@
throw_mode_off()
return
- var/dtype = O.damage_type
+ var/dtype = DAMAGE_TYPE_BRUTE
+ if(isitem(AM))
+ var/obj/item/impacting_item = AM
+ dtype = impacting_item.damage_type
+
var/throw_damage = O.throw_force * TT.get_damage_multiplier(src)
var/zone
diff --git a/code/modules/shieldgen/energy_shield.dm b/code/modules/shieldgen/energy_shield.dm
index 4416de28d33b..1b6748953484 100644
--- a/code/modules/shieldgen/energy_shield.dm
+++ b/code/modules/shieldgen/energy_shield.dm
@@ -254,9 +254,9 @@
if(gen.check_flag(MODEFLAG_HYPERKINETIC))
user.visible_message("\The [user] hits \the [src] with \the [I]!")
- if(I.damtype == DAMAGE_TYPE_BURN)
+ if(I.damage_type == DAMAGE_TYPE_BURN)
take_damage_legacy(I.damage_force, SHIELD_DAMTYPE_HEAT)
- else if (I.damtype == DAMAGE_TYPE_BRUTE)
+ else if (I.damage_type == DAMAGE_TYPE_BRUTE)
take_damage_legacy(I.damage_force, SHIELD_DAMTYPE_PHYSICAL)
else
take_damage_legacy(I.damage_force, SHIELD_DAMTYPE_EM)