From 1bdcceabb8a7f29be57457253be9e962b25590a5 Mon Sep 17 00:00:00 2001
From: juniper <70682905+crunchypretzels@users.noreply.github.com>
Date: Sun, 23 Jul 2023 08:43:54 -0400
Subject: [PATCH] Fixes Shrapnel Pinning (#16822)
* yangechog
* always a smart one, that gem
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
* where would i be without better coders
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
* cangeyhog
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
---------
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
---
.../mob/living/carbon/human/human_defense.dm | 18 ++++----
html/changelogs/crunchypretzels-shrapnerf.yml | 41 +++++++++++++++++++
2 files changed, 52 insertions(+), 7 deletions(-)
create mode 100644 html/changelogs/crunchypretzels-shrapnerf.yml
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 31e09640383..11661ee1c5c 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -418,14 +418,18 @@ emp_act
if(!O || !src) return
- if(O.loc == src && O.sharp) //Projectile is embedded and suitable for pinning.
- var/turf/T = near_wall(dir,2)
+ if(O != ITEMSIZE_TINY)
+ if(O.loc == src && O.sharp) //Projectile is embedded and suitable for pinning.
+ var/turf/T = near_wall(dir,2)
- if(T)
- src.forceMove(T)
- visible_message("[src] is pinned to the wall by [O]!","You are pinned to the wall by [O]!")
- src.anchored = 1
- src.pinned += O
+ if(T)
+ src.forceMove(T)
+ visible_message(
+ SPAN_WARNING("\The [src] is pinned to the wall by \the [O]!"),
+ SPAN_WARNING("You are pinned to the wall by \the [O]!")
+ )
+ src.anchored = TRUE
+ src.pinned += O
else if(ishuman(AM))
var/mob/living/carbon/human/H = AM
H.Weaken(3)
diff --git a/html/changelogs/crunchypretzels-shrapnerf.yml b/html/changelogs/crunchypretzels-shrapnerf.yml
new file mode 100644
index 00000000000..bde03ed1b6c
--- /dev/null
+++ b/html/changelogs/crunchypretzels-shrapnerf.yml
@@ -0,0 +1,41 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: crunchypretzels
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Fixed shrapnel pinning people to walls."