mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Aliens have hivemind now, used via 'say :a'.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@48 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -6,4 +6,6 @@
|
|||||||
|
|
||||||
toxloss = 250
|
toxloss = 250
|
||||||
var/alien_invis = 0.0
|
var/alien_invis = 0.0
|
||||||
var/max_plasma = 500
|
var/max_plasma = 500
|
||||||
|
|
||||||
|
alien_talk_understand = 1
|
||||||
@@ -168,6 +168,7 @@
|
|||||||
var/obj/control_object // Hacking in to control objects -- TLE
|
var/obj/control_object // Hacking in to control objects -- TLE
|
||||||
|
|
||||||
var/robot_talk_understand = 0
|
var/robot_talk_understand = 0
|
||||||
|
var/alien_talk_understand = 0
|
||||||
|
|
||||||
// Ruby mode
|
// Ruby mode
|
||||||
var/incorporeal_move = 0
|
var/incorporeal_move = 0
|
||||||
@@ -3,9 +3,68 @@
|
|||||||
return 1
|
return 1
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
|
/mob/living/carbon/alien/say(var/message)
|
||||||
|
|
||||||
|
if (length(message) >= 2)
|
||||||
|
if (copytext(message, 1, 3) == ":a")
|
||||||
|
message = copytext(message, 3)
|
||||||
|
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||||
|
src.alien_talk(message)
|
||||||
|
else
|
||||||
|
return ..(message)
|
||||||
|
else
|
||||||
|
|
||||||
// ~lol~
|
// ~lol~
|
||||||
/mob/living/carbon/alien/say_quote(var/text)
|
/mob/living/carbon/alien/say_quote(var/text)
|
||||||
// var/ending = copytext(text, length(text))
|
// var/ending = copytext(text, length(text))
|
||||||
|
|
||||||
return "hisses, \"[text]\"";
|
return "hisses, \"[text]\"";
|
||||||
|
|
||||||
|
/mob/living/proc/alien_talk(var/message)
|
||||||
|
|
||||||
|
log_say("[key_name(src)] : [message]")
|
||||||
|
|
||||||
|
message = trim(message)
|
||||||
|
|
||||||
|
if (!message)
|
||||||
|
return
|
||||||
|
|
||||||
|
var/message_a = src.say_quote(message)
|
||||||
|
var/rendered = "<i><span class='game say'>Hivemind, <span class='name'>[src.name]</span> <span class='message'>[message_a]</span></span></i>"
|
||||||
|
for (var/mob/living/S in world)
|
||||||
|
if(!S.stat)
|
||||||
|
if(S.alien_talk_understand)
|
||||||
|
if(S.alien_talk_understand == src.alien_talk_understand)
|
||||||
|
S.show_message(rendered, 2)
|
||||||
|
|
||||||
|
var/list/listening = hearers(1, src)
|
||||||
|
listening -= src
|
||||||
|
listening += src
|
||||||
|
|
||||||
|
var/list/heard = list()
|
||||||
|
for (var/mob/M in listening)
|
||||||
|
if(!istype(M, /mob/living/carbon/alien) && !M.alien_talk_understand)
|
||||||
|
heard += M
|
||||||
|
|
||||||
|
|
||||||
|
if (length(heard))
|
||||||
|
var/message_b
|
||||||
|
|
||||||
|
message_b = "hsssss"
|
||||||
|
message_b = src.say_quote(message_b)
|
||||||
|
message_b = "<i>[message_b]</i>"
|
||||||
|
|
||||||
|
rendered = "<i><span class='game say'><span class='name'>[src.voice_name]</span> <span class='message'>[message_b]</span></span></i>"
|
||||||
|
|
||||||
|
for (var/mob/M in heard)
|
||||||
|
M.show_message(rendered, 2)
|
||||||
|
|
||||||
|
message = src.say_quote(message)
|
||||||
|
|
||||||
|
rendered = "<i><span class='game say'>Hivemind, <span class='name'>[src.name]</span> <span class='message'>[message_a]</span></span></i>"
|
||||||
|
|
||||||
|
for (var/mob/M in world)
|
||||||
|
if (istype(M, /mob/new_player))
|
||||||
|
continue
|
||||||
|
if (M.stat > 1)
|
||||||
|
M.show_message(rendered, 2)
|
||||||
Reference in New Issue
Block a user