/mob/living/silicon/robot/emote(var/act) var/param = null if (findtext(act, "-", 1, null)) var/t1 = findtext(act, "-", 1, null) param = copytext(act, t1 + 1, length(act) + 1) act = copytext(act, 1, t1) var/m_type = 1 var/message switch(act) if ("salute") if (!src.buckled) var/M = null if (param) for (var/mob/A in view(null, null)) if (param == A.name) M = A break if (!M) param = null if (param) message = "[src] salutes to [param]." else message = "[src] salutes." m_type = 1 if ("bow") if (!src.buckled) var/M = null if (param) for (var/mob/A in view(null, null)) if (param == A.name) M = A break if (!M) param = null if (param) message = "[src] bows to [param]." else message = "[src] bows." m_type = 1 if ("clap") if (!src.restrained()) message = "[src] claps." m_type = 2 if ("flap") if (!src.restrained()) message = "[src] flaps his wings." m_type = 2 if ("aflap") if (!src.restrained()) message = "[src] flaps his wings ANGRILY!" m_type = 2 if ("custom") var/input = input("Choose an emote to display.") as text|null if (!input) return input = sanitize(input) var/input2 = input("Is this a visible or hearable emote?") in list("Visible","Hearable") if (input2 == "Visible") m_type = 1 else if (input2 == "Hearable") m_type = 2 else alert("Unable to use this emote, must be either hearable or visible.") return message = "[src] [input]" if ("twitch") message = "[src] twitches violently." m_type = 1 if ("twitch_s") message = "[src] twitches." m_type = 1 if ("nod") message = "[src] nods." m_type = 1 if ("deathgasp") message = "[src] shudders violently for a moment, then becomes motionless, its eyes slowly darkening." m_type = 1 if ("glare") var/M = null if (param) for (var/mob/A in view(null, null)) if (param == A.name) M = A break if (!M) param = null if (param) message = "[src] glares at [param]." else message = "[src] glares." if ("stare") var/M = null if (param) for (var/mob/A in view(null, null)) if (param == A.name) M = A break if (!M) param = null if (param) message = "[src] stares at [param]." else message = "[src] stares." if ("look") var/M = null if (param) for (var/mob/A in view(null, null)) if (param == A.name) M = A break if (!M) param = null if (param) message = "[src] looks at [param]." else message = "[src] looks." m_type = 1 else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) if (m_type & 1) for(var/mob/O in viewers(src, null)) O.show_message(message, m_type) else for(var/mob/O in hearers(src, null)) O.show_message(message, m_type) return