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)