diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 162f1fc4418..f78bfd929a1 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -200,7 +200,6 @@ datum/hud/New(mob/owner)
blob_hud()
else if(mymob.mind && mymob.mind.vampire)
vampire_hud()
- human_hud('icons/mob/screen1_Vampire.dmi')
else if(isswarmer(mymob))
swarmer_hud()
else if(isguardian(mymob))
diff --git a/code/game/gamemodes/vampire/hud.dm b/code/game/gamemodes/vampire/hud.dm
index 06e956413ac..8df7e893273 100644
--- a/code/game/gamemodes/vampire/hud.dm
+++ b/code/game/gamemodes/vampire/hud.dm
@@ -1,9 +1,9 @@
-/datum/hud/proc/vampire_hud(ui_style = 'icons/mob/screen1_Vampire.dmi')
+/datum/hud/proc/vampire_hud(ui_style = 'icons/mob/screen1_Midnight.dmi')
vampire_blood_display = new /obj/screen()
vampire_blood_display.name = "Vampire Blood"
vampire_blood_display.icon_state = "dark128"
- vampire_blood_display.screen_loc = "EAST-1:28,CENTER+1:15"
+ vampire_blood_display.screen_loc = "WEST:6,CENTER-1:15"
vampire_blood_display.layer = 20
mymob.client.screen += list(vampire_blood_display)
\ No newline at end of file
diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm
index 553a971362c..3cdcab84d17 100644
--- a/code/game/gamemodes/vampire/vampire.dm
+++ b/code/game/gamemodes/vampire/vampire.dm
@@ -431,7 +431,6 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(hud_used)
if(!hud_used.vampire_blood_display)
hud_used.vampire_hud()
- hud_used.human_hud('icons/mob/screen1_Vampire.dmi')
hud_used.vampire_blood_display.maptext_width = 64
hud_used.vampire_blood_display.maptext_height = 26
hud_used.vampire_blood_display.maptext = "
U:[mind.vampire.bloodusable]
T:[mind.vampire.bloodtotal]
"
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index a096e8b0c8d..b984cc86719 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -57,13 +57,14 @@
return ..()
-/obj/item/device/radio/headset/receive_range(freq, level, aiOverride = 0)
- if (aiOverride)
- return ..(freq, level)
- if(ishuman(src.loc))
- var/mob/living/carbon/human/H = src.loc
+/obj/item/device/radio/headset/receive_range(freq, level)
+ if(ishuman(loc))
+ var/mob/living/carbon/human/H = loc
if(H.l_ear == src || H.r_ear == src)
return ..(freq, level)
+ else if(isanimal(loc))
+ // frankly, all the ones with inventory are small enough to not warrant snowflaking the slot check somehow
+ return ..(freq, level)
return -1
/obj/item/device/radio/headset/alt
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 44d29f118b7..47bc5b31b8f 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -680,7 +680,7 @@
/mob/living/simple_animal/parrot/Poly
name = "Poly"
desc = "Poly the Parrot. An expert on quantum cracker theory."
- speak = list("Poly wanna cracker!", ":e Check the singlo, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS FREE CALL THE SHUTTLE")
+ speak = list("Poly wanna cracker!", ":e Check the singlo, you chucklefucks!",":e Check the tesla, you shits!",":e STOP HOT-WIRING THE ENGINE, FUCKING CHRIST!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS FREE CALL THE SHUTTLE")
/mob/living/simple_animal/parrot/Poly/New()
ears = new /obj/item/device/radio/headset/headset_eng(src)
diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm
index f3f9c48b614..93fc4de5cc2 100644
--- a/code/modules/organs/blood.dm
+++ b/code/modules/organs/blood.dm
@@ -138,10 +138,6 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
var/word = pick("dizzy","woosey","faint")
src << "\red You feel extremely [word]"
if(0 to BLOOD_VOLUME_SURVIVE)
- // There currently is a strange bug here. If the mob is not below -100 health
- // when death() is called, apparently they will be just fine, and this way it'll
- // spam deathgasp. Adjusting toxloss ensures the mob will stay dead.
- toxloss += 300 // just to be safe!
death()
// Without enough blood you slowly go hungry.
diff --git a/html/changelogs/AutoChangeLog-pr-3297.yml b/html/changelogs/AutoChangeLog-pr-3297.yml
new file mode 100644
index 00000000000..6ec85f85392
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-3297.yml
@@ -0,0 +1,5 @@
+author: Tastyfish
+delete-after: True
+changes:
+ - rscadd: "Poly has taken a seminar on the latest trends in engine operations."
+ - rscadd: "Player-controller parrots can now hear their headsets."
diff --git a/html/changelogs/AutoChangeLog-pr-3305.yml b/html/changelogs/AutoChangeLog-pr-3305.yml
new file mode 100644
index 00000000000..8dd8c60a9a9
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-3305.yml
@@ -0,0 +1,5 @@
+author: Fox McCloud
+delete-after: True
+changes:
+ - rscdel: "Removes Vampire HUD"
+ - tweak: "moves the Vampire blood counter to a more easy to see location"
diff --git a/html/changelogs/AutoChangeLog-pr-3314.yml b/html/changelogs/AutoChangeLog-pr-3314.yml
new file mode 100644
index 00000000000..0e2e2aab2e6
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-3314.yml
@@ -0,0 +1,4 @@
+author: Fox McCloud
+delete-after: True
+changes:
+ - bugfix: "Fixes unnecessary toxin damage being dealt on severe bloodloss"
diff --git a/icons/mob/screen1_Vampire.dmi b/icons/mob/screen1_Vampire.dmi
deleted file mode 100644
index 6a30aa697d8..00000000000
Binary files a/icons/mob/screen1_Vampire.dmi and /dev/null differ