mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 16:07:40 +00:00
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
//The code execution of the emote datum is located at code/datums/emotes.dm
|
|
/mob/proc/emote(act, m_type = null, message = null, intentional = FALSE)
|
|
act = lowertext(act)
|
|
var/param = message
|
|
var/custom_param = findchar(act, " ")
|
|
if(custom_param)
|
|
param = copytext(act, custom_param + length(act[custom_param]))
|
|
act = copytext(act, 1, custom_param)
|
|
|
|
var/datum/emote/E
|
|
E = E.emote_list[act]
|
|
if(!E)
|
|
to_chat(src, "<span class='notice'>Unusable emote '[act]'. Say *help for a list.</span>")
|
|
return
|
|
E.run_emote(src, param, m_type, intentional)
|
|
|
|
/datum/emote/flip
|
|
key = "flip"
|
|
key_third_person = "flips"
|
|
restraint_check = TRUE
|
|
mob_type_allowed_typecache = list(/mob/living, /mob/dead/observer)
|
|
mob_type_ignore_stat_typecache = list(/mob/dead/observer)
|
|
|
|
/datum/emote/flip/run_emote(mob/user, params)
|
|
. = ..()
|
|
if(.)
|
|
user.SpinAnimation(7,1)
|
|
|
|
/datum/emote/spin
|
|
key = "spin"
|
|
key_third_person = "spins"
|
|
restraint_check = TRUE
|
|
mob_type_allowed_typecache = list(/mob/living, /mob/dead/observer)
|
|
mob_type_ignore_stat_typecache = list(/mob/dead/observer)
|
|
|
|
/datum/emote/spin/run_emote(mob/user)
|
|
. = ..()
|
|
if(.)
|
|
user.spin(20, 1)
|
|
|
|
if(iscyborg(user) && user.has_buckled_mobs())
|
|
var/mob/living/silicon/robot/R = user
|
|
var/datum/component/riding/riding_datum = R.GetComponent(/datum/component/riding)
|
|
if(riding_datum)
|
|
for(var/mob/M in R.buckled_mobs)
|
|
riding_datum.force_dismount(M)
|
|
else
|
|
R.unbuckle_all_mobs()
|