Minor deadchat control improvements (#21162)

* Add resist, improves attack

* Make emotes intentional too

* fix a qdel loop

* Add "help" command, start deadchat control with existing followers as well

* Minor messaging improvements
This commit is contained in:
Luc
2023-06-02 12:12:10 -07:00
committed by GitHub
parent 09132de5a6
commit b4cba9f981
4 changed files with 53 additions and 17 deletions
+14 -3
View File
@@ -47,7 +47,12 @@
if(!ismob(parent) && !(parent in GLOB.poi_list))
GLOB.poi_list |= parent
generated_point_of_interest = TRUE
message_admins("[parent] has been given deadchat control in [deadchat_mode == DEADCHAT_ANARCHY_MODE ? "anarchy" : "democracy"] mode with a cooldown of [input_cooldown SECONDS] second\s.")
message_admins("[parent] has been given deadchat control in [deadchat_mode == DEADCHAT_ANARCHY_MODE ? "anarchy" : "democracy"] mode with a cooldown of [input_cooldown] second\s.")
var/atom/A = parent
for(var/mob/dead/observer/ghost in A.get_orbiters())
// get started with anyone who's already following
orbit_begin(A, ghost)
/datum/component/deadchat_control/Destroy(force, silent)
var/message = "<span class='deadsay italics bold'>[parent] is no longer controllable.</span>"
@@ -145,6 +150,8 @@
to_chat(O, "<span class='deadsay'>You have deadchat muted, and as such will not receive messages related to, nor be able to participate in, controlling this object.</span>")
to_chat(O, "<span class='notice'>If you would like to participate, unmute deadchat and follow this object again.</span>")
return
else
to_chat(O, "<span class='deadsay'>[parent] is deadchat-controllable! Examine [parent] to see possible commands you can use while orbiting [parent.p_them()] to control [parent.p_their()] behavior!</span>")
RegisterSignal(orbiter, COMSIG_MOB_DEADSAY, PROC_REF(deadchat_react))
RegisterSignal(orbiter, COMSIG_MOB_AUTOMUTE_CHECK, PROC_REF(waive_automute))
@@ -190,6 +197,11 @@
examine_list += "<span class='deadsay'>As you have deadchat disabled, you will not see vote messages, nor be able to participate in voting.</span>"
return
if(!(user in orbiters))
examine_list += "<span class='deadsay bold'>Orbit [A.p_them()] and examine [A.p_them()] again to see the list of possible commands.</span>"
return
if(deadchat_mode & DEADCHAT_DEMOCRACY_MODE)
examine_list += "<span class='notice'>Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s.</span>"
else if(deadchat_mode & DEADCHAT_ANARCHY_MODE)
@@ -197,8 +209,7 @@
var/extended_examine = "<span class='notice'>Command list:"
for(var/possible_input in inputs)
extended_examine += " [possible_input]"
extended_examine += english_list(inputs)
extended_examine += ".</span>"