mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +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
|
||||
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/robot_talk_understand = 0
|
||||
var/alien_talk_understand = 0
|
||||
|
||||
// Ruby mode
|
||||
var/incorporeal_move = 0
|
||||
@@ -3,9 +3,68 @@
|
||||
return 1
|
||||
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~
|
||||
/mob/living/carbon/alien/say_quote(var/text)
|
||||
// var/ending = copytext(text, length(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