From 9ce571b9c43306318dc1753c214b43643d640e03 Mon Sep 17 00:00:00 2001 From: antlersss Date: Wed, 17 Jun 2026 11:41:53 -0400 Subject: [PATCH 1/5] No Area --- code/game/objects/effects/effect_system/smoke.dm | 2 +- code/modules/projectiles/gun.dm | 4 ++-- .../guns/specialist/launcher/rocket_launcher.dm | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index df33523d468a..25a1ce72d83a 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -47,7 +47,7 @@ src.time_to_live += rand(-1,1) var/area/my_area = get_area(src) - if(my_area.flags_area & AREA_HEAVILY_VENTILATED) + if(my_area?.flags_area & AREA_HEAVILY_VENTILATED) var/new_amount = rand(1,3) src.time_to_live = min(new_amount, src.time_to_live) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 61a0a23525f5..f1c34505f7e1 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1351,7 +1351,7 @@ and you're good to go. if(before_fire_cancel & COMPONENT_HARD_CANCEL_GUN_BEFORE_FIRE) return NONE - apply_bullet_effects(projectile_to_fire, user, reflex, dual_wield) //User can be passed as null. + apply_bullet_effects(projectile_to_fire, user, target, reflex, dual_wield) //User can be passed as null. SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) projectile_to_fire.firer = user @@ -1888,7 +1888,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed to_chat(user, SPAN_DANGER("[current_mag.current_rounds][chambered ? "+1" : ""] / [current_mag.max_rounds] ROUNDS REMAINING.")) //This proc applies some bonus effects to the shot/makes the message when a bullet is actually fired. -/obj/item/weapon/gun/proc/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, reflex = 0, dual_wield = 0) +/obj/item/weapon/gun/proc/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, reflex = 0, dual_wield = 0) if(wield_delay > 0 && (world.time < wield_time || world.time < pull_time)) var/old_time = max(wield_time, pull_time) - wield_delay var/new_time = world.time diff --git a/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm index 6073a638695c..ef06cbc7e73a 100644 --- a/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm @@ -187,7 +187,7 @@ update_icon() //Adding in the rocket backblast. The tile behind the specialist gets blasted hard enough to down and slightly wound anyone -/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) var/mob/living/carbon/human/huser = user @@ -196,8 +196,8 @@ huser.emote("pain") huser.SetEarDeafness(max(user.ear_deaf,10)) - var/backblast_loc = get_turf(get_step(user.loc, turn(user.dir, 180))) - smoke.set_up(1, 0, backblast_loc, turn(user.dir, 180)) + var/backblast_loc = get_turf(get_step(user.loc, turn(user.dir, Get_Angle(user, target) + 180))) + smoke.set_up(1, 0, backblast_loc, turn(user.dir, Get_Angle(user, target) + 180)) smoke.start() playsound(src, 'sound/weapons/gun_rocketlauncher.ogg', 100, TRUE, 10) for(var/mob/living/carbon/mob in backblast_loc) @@ -411,7 +411,7 @@ Integrated.Attach(src) update_attachable(Integrated.slot) -/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) return From a4bd959f0dc734915a45c485eb277ded8422a1c9 Mon Sep 17 00:00:00 2001 From: antlersss Date: Sun, 21 Jun 2026 18:48:51 -0400 Subject: [PATCH 2/5] Sneaky call --- code/modules/projectiles/gun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f1c34505f7e1..d3c2a715f3bb 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1523,7 +1523,7 @@ and you're good to go. SPAN_WARNING("You fire [src] point blank at [attacked_mob]!"), null, null, CHAT_TYPE_WEAPON_USE) user.track_shot(initial(name)) - apply_bullet_effects(projectile_to_fire, user, bullets_fired, dual_wield) //We add any damage effects that we need. + apply_bullet_effects(projectile_to_fire, user, target, bullets_fired, dual_wield) //We add any damage effects that we need. SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) SEND_SIGNAL(user, COMSIG_BULLET_DIRECT_HIT, attacked_mob) From b823b1993f57a4053c4552b93a016123b85d03a9 Mon Sep 17 00:00:00 2001 From: antlersss Date: Sun, 21 Jun 2026 19:07:58 -0400 Subject: [PATCH 3/5] Clickdrag --- code/game/objects/structures/ladders.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 661bf05df666..85261742968b 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -223,6 +223,9 @@ if(usr.is_mob_incapacitated() || get_dist(usr, src) > 1 || usr.blinded || !usr.client) return + // Don't look if click drags are overrided + if (usr.client?.prefs.toggle_prefs & TOGGLE_COMBAT_CLICKDRAG_OVERRIDE && !HAS_TRAIT(usr, TRAIT_OVERRIDE_CLICKDRAG) && usr.a_intent & (INTENT_HARM | INTENT_DISARM)) + return if(isliving(usr)) var/mob/living/living_usr = usr From 2cf0832457bcc8e63c5ab939f0fde3cbf6738aa6 Mon Sep 17 00:00:00 2001 From: antlersss Date: Sun, 21 Jun 2026 19:11:22 -0400 Subject: [PATCH 4/5] Revert "Sneaky call" This reverts commit a4bd959f0dc734915a45c485eb277ded8422a1c9. --- code/modules/projectiles/gun.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index d3c2a715f3bb..f1c34505f7e1 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1523,7 +1523,7 @@ and you're good to go. SPAN_WARNING("You fire [src] point blank at [attacked_mob]!"), null, null, CHAT_TYPE_WEAPON_USE) user.track_shot(initial(name)) - apply_bullet_effects(projectile_to_fire, user, target, bullets_fired, dual_wield) //We add any damage effects that we need. + apply_bullet_effects(projectile_to_fire, user, bullets_fired, dual_wield) //We add any damage effects that we need. SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) SEND_SIGNAL(user, COMSIG_BULLET_DIRECT_HIT, attacked_mob) From c0cf865bfd93cf885ce46f0ec8d6a177498b8957 Mon Sep 17 00:00:00 2001 From: antlersss Date: Sun, 21 Jun 2026 19:11:36 -0400 Subject: [PATCH 5/5] Revert "No Area" This reverts commit 9ce571b9c43306318dc1753c214b43643d640e03. --- code/game/objects/effects/effect_system/smoke.dm | 2 +- code/modules/projectiles/gun.dm | 4 ++-- .../guns/specialist/launcher/rocket_launcher.dm | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index 25a1ce72d83a..df33523d468a 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -47,7 +47,7 @@ src.time_to_live += rand(-1,1) var/area/my_area = get_area(src) - if(my_area?.flags_area & AREA_HEAVILY_VENTILATED) + if(my_area.flags_area & AREA_HEAVILY_VENTILATED) var/new_amount = rand(1,3) src.time_to_live = min(new_amount, src.time_to_live) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f1c34505f7e1..61a0a23525f5 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1351,7 +1351,7 @@ and you're good to go. if(before_fire_cancel & COMPONENT_HARD_CANCEL_GUN_BEFORE_FIRE) return NONE - apply_bullet_effects(projectile_to_fire, user, target, reflex, dual_wield) //User can be passed as null. + apply_bullet_effects(projectile_to_fire, user, reflex, dual_wield) //User can be passed as null. SEND_SIGNAL(projectile_to_fire, COMSIG_BULLET_USER_EFFECTS, user) projectile_to_fire.firer = user @@ -1888,7 +1888,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed to_chat(user, SPAN_DANGER("[current_mag.current_rounds][chambered ? "+1" : ""] / [current_mag.max_rounds] ROUNDS REMAINING.")) //This proc applies some bonus effects to the shot/makes the message when a bullet is actually fired. -/obj/item/weapon/gun/proc/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, reflex = 0, dual_wield = 0) +/obj/item/weapon/gun/proc/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, reflex = 0, dual_wield = 0) if(wield_delay > 0 && (world.time < wield_time || world.time < pull_time)) var/old_time = max(wield_time, pull_time) - wield_delay var/new_time = world.time diff --git a/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm index ef06cbc7e73a..6073a638695c 100644 --- a/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/rocket_launcher.dm @@ -187,7 +187,7 @@ update_icon() //Adding in the rocket backblast. The tile behind the specialist gets blasted hard enough to down and slightly wound anyone -/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) var/mob/living/carbon/human/huser = user @@ -196,8 +196,8 @@ huser.emote("pain") huser.SetEarDeafness(max(user.ear_deaf,10)) - var/backblast_loc = get_turf(get_step(user.loc, turn(user.dir, Get_Angle(user, target) + 180))) - smoke.set_up(1, 0, backblast_loc, turn(user.dir, Get_Angle(user, target) + 180)) + var/backblast_loc = get_turf(get_step(user.loc, turn(user.dir, 180))) + smoke.set_up(1, 0, backblast_loc, turn(user.dir, 180)) smoke.start() playsound(src, 'sound/weapons/gun_rocketlauncher.ogg', 100, TRUE, 10) for(var/mob/living/carbon/mob in backblast_loc) @@ -411,7 +411,7 @@ Integrated.Attach(src) update_attachable(Integrated.slot) -/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, atom/target, i = 1, reflex = 0) +/obj/item/weapon/gun/launcher/rocket/upp/apply_bullet_effects(obj/projectile/projectile_to_fire, mob/user, i = 1, reflex = 0) . = ..() if(!HAS_TRAIT(user, TRAIT_EAR_PROTECTION) && ishuman(user)) return