diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 2ab214e6216..c7aa1e41405 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -827,8 +827,6 @@
sleeping += 1
Paralyse(5)
- confused = max(0, confused - 1)
-
// If you're dirty, your gloves will become dirty, too.
if(gloves && germ_level > gloves.germ_level && prob(10))
gloves.germ_level += 1
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index 7e7c3337269..b8a8eff6e2e 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -106,6 +106,9 @@
if(!weakened)
update_icons()
+ if(confused)
+ confused = max(0, confused - 1)
+
/mob/living/proc/handle_disabilities()
//Eyes
if(sdisabilities & BLIND || stat) //blindness from disability or unconsciousness doesn't get better on its own
diff --git a/code/modules/psionics/events/_psi.dm b/code/modules/psionics/events/_psi.dm
index 266a78a4303..d750bb2bd16 100644
--- a/code/modules/psionics/events/_psi.dm
+++ b/code/modules/psionics/events/_psi.dm
@@ -19,4 +19,4 @@
apply_psi_effect(thing)
/datum/event/psi/proc/apply_psi_effect(var/datum/psi_complexus/psi)
- return
+ return psi && ishuman(psi.owner)
diff --git a/code/modules/psionics/events/mini_spasm.dm b/code/modules/psionics/events/mini_spasm.dm
index 3b2a76ac7fb..385c6c43da6 100644
--- a/code/modules/psionics/events/mini_spasm.dm
+++ b/code/modules/psionics/events/mini_spasm.dm
@@ -34,9 +34,13 @@
/datum/event/minispasm/proc/do_spasm(var/mob/living/victim, var/obj/item/device/radio/source)
set waitfor = 0
+ playsound(source, 'sound/effects/narsie.ogg', 75) //LOUD AS FUCK BOY
+
+ if(!ishuman(victim))
+ to_chat(victim, "An annoying buzz passes through your head.")
+ return
if(victim.psi)
- playsound(source, 'sound/effects/narsie.ogg', 75) //LOUD AS FUCK BOY
to_chat(victim, span("danger", "A hauntingly familiar sound hisses from \icon[source] \the [source], and your vision flickers!"))
victim.psi.backblast(rand(5,15))
victim.Paralyse(5)
diff --git a/code/modules/psionics/events/psi_balm.dm b/code/modules/psionics/events/psi_balm.dm
index e3fa271f8a7..e7b7e115267 100644
--- a/code/modules/psionics/events/psi_balm.dm
+++ b/code/modules/psionics/events/psi_balm.dm
@@ -6,6 +6,7 @@
)
/datum/event/psi/balm/apply_psi_effect(var/datum/psi_complexus/psi)
+ ..()
var/soothed
if(psi.stun > 1)
psi.stun--
diff --git a/code/modules/psionics/events/psi_wail.dm b/code/modules/psionics/events/psi_wail.dm
index 7951dc9a228..2efbb0acfb6 100644
--- a/code/modules/psionics/events/psi_wail.dm
+++ b/code/modules/psionics/events/psi_wail.dm
@@ -6,6 +6,7 @@
)
/datum/event/psi/wail/apply_psi_effect(var/datum/psi_complexus/psi)
+ ..()
var/annoyed
if(prob(1))
psi.stunned(1)
diff --git a/code/modules/psionics/faculties/coercion.dm b/code/modules/psionics/faculties/coercion.dm
index e4d46e9ef7f..4df3bc7fd52 100644
--- a/code/modules/psionics/faculties/coercion.dm
+++ b/code/modules/psionics/faculties/coercion.dm
@@ -213,16 +213,17 @@
return TRUE
/datum/psionic_power/coercion/commune
- name = "Commune"
- cost = 10
- cooldown = 80
- use_melee = TRUE
- use_ranged = TRUE
- min_rank = PSI_RANK_OPERANT
- use_description = "Target the mouth and click on a creature on disarm intent to psionically send them a message."
+ name = "Commune"
+ cost = 10
+ cooldown = 15
+ use_melee = TRUE
+ use_ranged = TRUE
+ min_rank = PSI_RANK_OPERANT
+ use_sound = null
+ use_description = "Target the mouth and click on a creature on disarm intent to psionically send them a message."
/datum/psionic_power/coercion/commune/invoke(var/mob/living/user, var/mob/living/target)
- if(user.zone_sel.selecting != "mouth")
+ if((target == user) || user.zone_sel.selecting != BP_MOUTH)
return FALSE
. = ..()
if(.)
@@ -276,15 +277,17 @@
to_chat(H,"Your mind buzzes...")
/datum/psionic_power/coercion/psiping
- name = "Psi-ping"
- cost = 30
- cooldown = 250
- use_melee = TRUE
- min_rank = PSI_RANK_OPERANT
- use_description = "Click on yourself with an empty hand on disarm intent to detect nearby psionic signatures."
+ name = "Psi Ping"
+ cost = 5
+ cooldown = 30
+ use_melee = TRUE
+ use_manifest = TRUE
+ min_rank = PSI_RANK_OPERANT
+ use_sound = null
+ use_description = "Activate an empty hand on disarm intent to detect nearby psionic signatures."
/datum/psionic_power/coercion/psiping/invoke(var/mob/living/user, var/mob/living/target)
- if((target && user != target))
+ if((target && user != target) && user.a_intent != I_HELP)
return FALSE
. = ..()
if(.)
diff --git a/html/changelogs/mattatlas-psifixes.yml b/html/changelogs/mattatlas-psifixes.yml
new file mode 100644
index 00000000000..669d1c1e8b2
--- /dev/null
+++ b/html/changelogs/mattatlas-psifixes.yml
@@ -0,0 +1,44 @@
+################################
+# 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: MattAtlas
+
+# 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:
+ - tweak: "Psiping is now activated by activating an empty hand."
+ - tweak: "Commune is now activated by clicking on someone while aiming for the mouth."
+ - tweak: "Cooldowns have been lowered for both."
+ - tweak: "Psiping and Commune no longer make sounds."