mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
visible_message() now affects objects. Holopads, pAIs, AI cards people in mecha should hence be able to see them
Tape recorders record hearable emotes and action messages Human and robot emotes now use custom_emote()
This commit is contained in:
@@ -113,6 +113,12 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
|
|||||||
master.show_message(rendered, 2)
|
master.show_message(rendered, 2)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/obj/machinery/hologram/holopad/show_message(msg, type, alt, alt_type)
|
||||||
|
for(var/mob/living/silicon/ai/master in masters)
|
||||||
|
var/rendered = "<i><span class='game say'>Holopad received, <span class='message'>[msg]</span></span></i>"
|
||||||
|
master.show_message(rendered, type)
|
||||||
|
return
|
||||||
|
|
||||||
/obj/machinery/hologram/holopad/proc/create_holo(mob/living/silicon/ai/A, turf/T = loc)
|
/obj/machinery/hologram/holopad/proc/create_holo(mob/living/silicon/ai/A, turf/T = loc)
|
||||||
var/obj/effect/overlay/hologram = new(T)//Spawn a blank effect at the location.
|
var/obj/effect/overlay/hologram = new(T)//Spawn a blank effect at the location.
|
||||||
hologram.icon = A.holo_icon
|
hologram.icon = A.holo_icon
|
||||||
|
|||||||
@@ -258,6 +258,12 @@
|
|||||||
occupant.show_message(rendered, 2)
|
occupant.show_message(rendered, 2)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/mecha/show_message(msg, type, alt, alt_type)
|
||||||
|
if(occupant && occupant.client)
|
||||||
|
var/rendered = "<span class='message'>[msg]</span>"
|
||||||
|
occupant.show_message(rendered, type)
|
||||||
|
..()
|
||||||
|
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
///// Action processing ////
|
///// Action processing ////
|
||||||
////////////////////////////
|
////////////////////////////
|
||||||
|
|||||||
@@ -160,6 +160,13 @@
|
|||||||
var/rendered = "<span class='message'>[text]</span>"
|
var/rendered = "<span class='message'>[text]</span>"
|
||||||
carded_ai.show_message(rendered, 2)
|
carded_ai.show_message(rendered, 2)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/item/device/aicard/show_message(msg, type, alt, alt_type)
|
||||||
|
if(carded_ai && carded_ai.client)
|
||||||
|
var/rendered = "<span class='message'>[msg]</span>"
|
||||||
|
carded_ai.show_message(rendered, type)
|
||||||
|
..()
|
||||||
|
|
||||||
/*
|
/*
|
||||||
/obj/item/device/aicard/relaymove(var/mob/user, var/direction)
|
/obj/item/device/aicard/relaymove(var/mob/user, var/direction)
|
||||||
if(src.loc && istype(src.loc.loc, /obj/item/rig_module))
|
if(src.loc && istype(src.loc.loc, /obj/item/rig_module))
|
||||||
|
|||||||
@@ -324,3 +324,9 @@
|
|||||||
var/rendered = "<span class='message'>[text]</span>"
|
var/rendered = "<span class='message'>[text]</span>"
|
||||||
pai.show_message(rendered, 2)
|
pai.show_message(rendered, 2)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/item/device/paicard/show_message(msg, type, alt, alt_type)
|
||||||
|
if(pai && pai.client)
|
||||||
|
var/rendered = "<span class='message'>[msg]</span>"
|
||||||
|
pai.show_message(rendered, type)
|
||||||
|
..()
|
||||||
@@ -29,6 +29,25 @@
|
|||||||
else
|
else
|
||||||
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [verb], \"[msg]\""
|
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [M.name] [verb], \"[msg]\""
|
||||||
|
|
||||||
|
/obj/item/device/taperecorder/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
|
if(emote_type != 2) //only hearable emotes
|
||||||
|
return
|
||||||
|
if(recording)
|
||||||
|
timestamp += timerecorded
|
||||||
|
storedinfo += "\[[time2text(timerecorded*10,"mm:ss")]\] [strip_html_properly(text)]"
|
||||||
|
|
||||||
|
/obj/item/device/taperecorder/show_message(msg, type, alt, alt_type)
|
||||||
|
var/recordedtext
|
||||||
|
if (msg && type == 2) //must be hearable
|
||||||
|
recordedtext = msg
|
||||||
|
else if (alt && alt_type == 2)
|
||||||
|
recordedtext = alt
|
||||||
|
else
|
||||||
|
return
|
||||||
|
if(recording)
|
||||||
|
timestamp += timerecorded
|
||||||
|
storedinfo += "*\[[time2text(timerecorded*10,"mm:ss")]\] *[strip_html_properly(recordedtext)]*" //"*" at front as a marker
|
||||||
|
|
||||||
/obj/item/device/taperecorder/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
/obj/item/device/taperecorder/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||||
..()
|
..()
|
||||||
if(istype(W, /obj/item/weapon/card/emag))
|
if(istype(W, /obj/item/weapon/card/emag))
|
||||||
@@ -146,7 +165,10 @@
|
|||||||
if(storedinfo.len < i)
|
if(storedinfo.len < i)
|
||||||
break
|
break
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
T.visible_message("<font color=Maroon><B>Tape Recorder</B>: [storedinfo[i]]</font>")
|
var/playedmessage = storedinfo[i]
|
||||||
|
if (findtextEx(playedmessage,"*",1,2)) //remove marker for action sounds
|
||||||
|
playedmessage = copytext(playedmessage,2)
|
||||||
|
T.visible_message("<font color=Maroon><B>Tape Recorder</B>: [playedmessage]</font>")
|
||||||
if(storedinfo.len < i+1)
|
if(storedinfo.len < i+1)
|
||||||
playsleepseconds = 1
|
playsleepseconds = 1
|
||||||
sleep(10)
|
sleep(10)
|
||||||
@@ -200,7 +222,10 @@
|
|||||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src))
|
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(get_turf(src))
|
||||||
var/t1 = "<B>Transcript:</B><BR><BR>"
|
var/t1 = "<B>Transcript:</B><BR><BR>"
|
||||||
for(var/i=1,storedinfo.len >= i,i++)
|
for(var/i=1,storedinfo.len >= i,i++)
|
||||||
t1 += "[storedinfo[i]]<BR>"
|
var/printedmessage = storedinfo[i]
|
||||||
|
if (findtextEx(printedmessage,"*",1,2)) //replace action sounds
|
||||||
|
printedmessage = "\[[time2text(timestamp[i]*10,"mm:ss")]\] (Unrecognized sound)"
|
||||||
|
t1 += "[printedmessage]<BR>"
|
||||||
P.info = t1
|
P.info = t1
|
||||||
P.name = "Transcript"
|
P.name = "Transcript"
|
||||||
canprint = 0
|
canprint = 0
|
||||||
|
|||||||
@@ -450,6 +450,18 @@
|
|||||||
var/obj/O = A
|
var/obj/O = A
|
||||||
O.hear_talk(M, text, verb, speaking)
|
O.hear_talk(M, text, verb, speaking)
|
||||||
|
|
||||||
|
/obj/item/weapon/storage/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
|
for (var/atom/A in src)
|
||||||
|
if(istype(A,/obj/))
|
||||||
|
var/obj/O = A
|
||||||
|
O.see_emote(M, text, emote_type)
|
||||||
|
|
||||||
|
/obj/item/weapon/storage/show_message(msg, type, alt, alt_type)
|
||||||
|
for (var/atom/A in src)
|
||||||
|
if(istype(A,/obj/))
|
||||||
|
var/obj/O = A
|
||||||
|
O.show_message(msg, type, alt, alt_type)
|
||||||
|
|
||||||
//Returns the storage depth of an atom. This is the number of storage items the atom is contained in before reaching toplevel (the area).
|
//Returns the storage depth of an atom. This is the number of storage items the atom is contained in before reaching toplevel (the area).
|
||||||
//Returns -1 if the atom was not found on container.
|
//Returns -1 if the atom was not found on container.
|
||||||
/atom/proc/storage_depth(atom/container)
|
/atom/proc/storage_depth(atom/container)
|
||||||
|
|||||||
@@ -141,3 +141,6 @@
|
|||||||
|
|
||||||
/obj/proc/see_emote(mob/M as mob, text, var/emote_type)
|
/obj/proc/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/obj/proc/show_message(msg, type, alt, alt_type)
|
||||||
|
return
|
||||||
@@ -302,6 +302,18 @@
|
|||||||
var/obj/O = A
|
var/obj/O = A
|
||||||
O.hear_talk(M, text, verb, speaking)
|
O.hear_talk(M, text, verb, speaking)
|
||||||
|
|
||||||
|
/obj/structure/closet/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
|
for (var/atom/A in src)
|
||||||
|
if(istype(A,/obj/))
|
||||||
|
var/obj/O = A
|
||||||
|
O.see_emote(M, text, emote_type)
|
||||||
|
|
||||||
|
/obj/structure/closet/show_message(msg, type, alt, alt_type)
|
||||||
|
for (var/atom/A in src)
|
||||||
|
if(istype(A,/obj/))
|
||||||
|
var/obj/O = A
|
||||||
|
O.show_message(msg, type, alt, alt_type)
|
||||||
|
|
||||||
/obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys", var/wallbreaker)
|
/obj/structure/closet/attack_generic(var/mob/user, var/damage, var/attack_message = "destroys", var/wallbreaker)
|
||||||
if(!damage || !wallbreaker)
|
if(!damage || !wallbreaker)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -33,6 +33,14 @@
|
|||||||
pockets.hear_talk(M, msg, verb, speaking)
|
pockets.hear_talk(M, msg, verb, speaking)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
|
pockets.see_emote(M, text, emote_type)
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/item/clothing/suit/storage/show_message(msg, type, alt, alt_type)
|
||||||
|
pockets.show_message(msg, type, alt, alt_type)
|
||||||
|
..()
|
||||||
|
|
||||||
//Jackets with buttons, used for labcoats, IA jackets, First Responder jackets, and brown jackets.
|
//Jackets with buttons, used for labcoats, IA jackets, First Responder jackets, and brown jackets.
|
||||||
/obj/item/clothing/suit/storage/toggle
|
/obj/item/clothing/suit/storage/toggle
|
||||||
var/icon_open
|
var/icon_open
|
||||||
|
|||||||
@@ -38,6 +38,14 @@
|
|||||||
hold.hear_talk(M, msg, verb, speaking)
|
hold.hear_talk(M, msg, verb, speaking)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/obj/item/clothing/accessory/storage/see_emote(mob/M as mob, text, var/emote_type)
|
||||||
|
hold.see_emote(M, text, emote_type)
|
||||||
|
..()
|
||||||
|
|
||||||
|
/obj/item/clothing/accessory/storage/show_message(msg, type, alt, alt_type)
|
||||||
|
hold.show_message(msg, type, alt, alt_type)
|
||||||
|
..()
|
||||||
|
|
||||||
/obj/item/clothing/accessory/storage/attack_self(mob/user as mob)
|
/obj/item/clothing/accessory/storage/attack_self(mob/user as mob)
|
||||||
user << "<span class='notice'>You empty [src].</span>"
|
user << "<span class='notice'>You empty [src].</span>"
|
||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
|
|||||||
@@ -32,9 +32,9 @@
|
|||||||
for(var/mob/M in src.contents)
|
for(var/mob/M in src.contents)
|
||||||
M.attackby(W,user)
|
M.attackby(W,user)
|
||||||
|
|
||||||
/obj/item/weapon/holder/proc/show_message(var/message, var/m_type)
|
/obj/item/weapon/holder/show_message(msg, type, alt, alt_type)
|
||||||
for(var/mob/living/M in contents)
|
for(var/mob/living/M in contents)
|
||||||
M.show_message(message,m_type)
|
M.show_message(msg,type)
|
||||||
|
|
||||||
//Mob procs and vars for scooping up
|
//Mob procs and vars for scooping up
|
||||||
/mob/living/var/holder_type
|
/mob/living/var/holder_type
|
||||||
|
|||||||
@@ -21,15 +21,15 @@
|
|||||||
switch(act)
|
switch(act)
|
||||||
if ("airguitar")
|
if ("airguitar")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> is strumming the air and headbanging like a safari chimp."
|
message = "is strumming the air and headbanging like a safari chimp."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("blink")
|
if ("blink")
|
||||||
message = "<B>[src]</B> blinks."
|
message = "blinks."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("blink_r")
|
if ("blink_r")
|
||||||
message = "<B>[src]</B> blinks rapidly."
|
message = "blinks rapidly."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("bow")
|
if ("bow")
|
||||||
@@ -44,9 +44,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> bows to [param]."
|
message = "bows to [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> bows."
|
message = "bows."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("custom")
|
if ("custom")
|
||||||
@@ -94,73 +94,73 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> salutes to [param]."
|
message = "salutes to [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</b> salutes."
|
message = "salutes."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("choke")
|
if ("choke")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> clutches his throat desperately!"
|
message = "clutches his throat desperately!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> chokes!"
|
message = "chokes!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a strong noise."
|
message = "makes a strong noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("clap")
|
if ("clap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> claps."
|
message = "claps."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
if ("flap")
|
if ("flap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> flaps \his wings."
|
message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("aflap")
|
if ("aflap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> flaps \his wings ANGRILY!"
|
message = "flaps [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] wings ANGRILY!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("drool")
|
if ("drool")
|
||||||
message = "<B>[src]</B> drools."
|
message = "drools."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("eyebrow")
|
if ("eyebrow")
|
||||||
message = "<B>[src]</B> raises an eyebrow."
|
message = "raises an eyebrow."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("chuckle")
|
if ("chuckle")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> appears to chuckle."
|
message = "appears to chuckle."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> chuckles."
|
message = "chuckles."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a noise."
|
message = "makes a noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("twitch")
|
if ("twitch")
|
||||||
message = "<B>[src]</B> twitches violently."
|
message = "twitches violently."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("twitch_s")
|
if ("twitch_s")
|
||||||
message = "<B>[src]</B> twitches."
|
message = "twitches."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("faint")
|
if ("faint")
|
||||||
message = "<B>[src]</B> faints."
|
message = "faints."
|
||||||
if(src.sleeping)
|
if(src.sleeping)
|
||||||
return //Can't faint while asleep
|
return //Can't faint while asleep
|
||||||
src.sleeping += 10 //Short-short nap
|
src.sleeping += 10 //Short-short nap
|
||||||
@@ -168,58 +168,58 @@
|
|||||||
|
|
||||||
if ("cough")
|
if ("cough")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> appears to cough!"
|
message = "appears to cough!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> coughs!"
|
message = "coughs!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a strong noise."
|
message = "makes a strong noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("frown")
|
if ("frown")
|
||||||
message = "<B>[src]</B> frowns."
|
message = "frowns."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("nod")
|
if ("nod")
|
||||||
message = "<B>[src]</B> nods."
|
message = "nods."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("blush")
|
if ("blush")
|
||||||
message = "<B>[src]</B> blushes."
|
message = "blushes."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("wave")
|
if ("wave")
|
||||||
message = "<B>[src]</B> waves."
|
message = "waves."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("gasp")
|
if ("gasp")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> appears to be gasping!"
|
message = "appears to be gasping!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> gasps!"
|
message = "gasps!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a weak noise."
|
message = "makes a weak noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("deathgasp")
|
if ("deathgasp")
|
||||||
message = "<B>[src]</B> [species.death_message]"
|
message = "[species.death_message]"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("giggle")
|
if ("giggle")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> giggles silently!"
|
message = "giggles silently!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> giggles."
|
message = "giggles."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a noise."
|
message = "makes a noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("glare")
|
if ("glare")
|
||||||
@@ -233,9 +233,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> glares at [param]."
|
message = "glares at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> glares."
|
message = "glares."
|
||||||
|
|
||||||
if ("stare")
|
if ("stare")
|
||||||
var/M = null
|
var/M = null
|
||||||
@@ -248,9 +248,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> stares at [param]."
|
message = "stares at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> stares."
|
message = "stares."
|
||||||
|
|
||||||
if ("look")
|
if ("look")
|
||||||
var/M = null
|
var/M = null
|
||||||
@@ -264,86 +264,86 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> looks at [param]."
|
message = "looks at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> looks."
|
message = "looks."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("grin")
|
if ("grin")
|
||||||
message = "<B>[src]</B> grins."
|
message = "grins."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("cry")
|
if ("cry")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> cries."
|
message = "cries."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> cries."
|
message = "cries."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a weak noise. \He frowns."
|
message = "makes a weak noise. [get_visible_gender() == MALE ? "He" : get_visible_gender() == FEMALE ? "She" : "They"] [get_visible_gender() == NEUTER ? "frown" : "frowns"]."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("sigh")
|
if ("sigh")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> sighs."
|
message = "sighs."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> sighs."
|
message = "sighs."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a weak noise."
|
message = "makes a weak noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("laugh")
|
if ("laugh")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> acts out a laugh."
|
message = "acts out a laugh."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> laughs."
|
message = "laughs."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a noise."
|
message = "makes a noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("mumble")
|
if ("mumble")
|
||||||
message = "<B>[src]</B> mumbles!"
|
message = "mumbles!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("grumble")
|
if ("grumble")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> grumbles!"
|
message = "grumbles!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> grumbles!"
|
message = "grumbles!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a noise."
|
message = "makes a noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("groan")
|
if ("groan")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> appears to groan!"
|
message = "appears to groan!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> groans!"
|
message = "groans!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a loud noise."
|
message = "makes a loud noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("moan")
|
if ("moan")
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> appears to moan!"
|
message = "appears to moan!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> moans!"
|
message = "moans!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("johnny")
|
if ("johnny")
|
||||||
@@ -354,10 +354,10 @@
|
|||||||
param = null
|
param = null
|
||||||
else
|
else
|
||||||
if(miming)
|
if(miming)
|
||||||
message = "<B>[src]</B> takes a drag from a cigarette and blows \"[M]\" out in smoke."
|
message = "takes a drag from a cigarette and blows \"[M]\" out in smoke."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> says, \"[M], please. He had a family.\" [src.name] takes a drag from a cigarette and blows his name out in smoke."
|
message = "says, \"[M], please. He had a family.\" [src.name] takes a drag from a cigarette and blows his name out in smoke."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("point")
|
if ("point")
|
||||||
@@ -370,26 +370,26 @@
|
|||||||
break
|
break
|
||||||
|
|
||||||
if (!M)
|
if (!M)
|
||||||
message = "<B>[src]</B> points."
|
message = "points."
|
||||||
else
|
else
|
||||||
pointed(M)
|
pointed(M)
|
||||||
|
|
||||||
if (M)
|
if (M)
|
||||||
message = "<B>[src]</B> points to [M]."
|
message = "points to [M]."
|
||||||
else
|
else
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("raise")
|
if ("raise")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> raises a hand."
|
message = "raises a hand."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if("shake")
|
if("shake")
|
||||||
message = "<B>[src]</B> shakes \his head."
|
message = "shakes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] head."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("shrug")
|
if ("shrug")
|
||||||
message = "<B>[src]</B> shrugs."
|
message = "shrugs."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("signal")
|
if ("signal")
|
||||||
@@ -397,85 +397,85 @@
|
|||||||
var/t1 = round(text2num(param))
|
var/t1 = round(text2num(param))
|
||||||
if (isnum(t1))
|
if (isnum(t1))
|
||||||
if (t1 <= 5 && (!src.r_hand || !src.l_hand))
|
if (t1 <= 5 && (!src.r_hand || !src.l_hand))
|
||||||
message = "<B>[src]</B> raises [t1] finger\s."
|
message = "raises [t1] finger\s."
|
||||||
else if (t1 <= 10 && (!src.r_hand && !src.l_hand))
|
else if (t1 <= 10 && (!src.r_hand && !src.l_hand))
|
||||||
message = "<B>[src]</B> raises [t1] finger\s."
|
message = "raises [t1] finger\s."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("smile")
|
if ("smile")
|
||||||
message = "<B>[src]</B> smiles."
|
message = "smiles."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("shiver")
|
if ("shiver")
|
||||||
message = "<B>[src]</B> shivers."
|
message = "shivers."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("pale")
|
if ("pale")
|
||||||
message = "<B>[src]</B> goes pale for a second."
|
message = "goes pale for a second."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("tremble")
|
if ("tremble")
|
||||||
message = "<B>[src]</B> trembles in fear!"
|
message = "trembles in fear!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("sneeze")
|
if ("sneeze")
|
||||||
if (miming)
|
if (miming)
|
||||||
message = "<B>[src]</B> sneezes."
|
message = "sneezes."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> sneezes."
|
message = "sneezes."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a strange noise."
|
message = "makes a strange noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("sniff")
|
if ("sniff")
|
||||||
message = "<B>[src]</B> sniffs."
|
message = "sniffs."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("snore")
|
if ("snore")
|
||||||
if (miming)
|
if (miming)
|
||||||
message = "<B>[src]</B> sleeps soundly."
|
message = "sleeps soundly."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> snores."
|
message = "snores."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a noise."
|
message = "makes a noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("whimper")
|
if ("whimper")
|
||||||
if (miming)
|
if (miming)
|
||||||
message = "<B>[src]</B> appears hurt."
|
message = "appears hurt."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> whimpers."
|
message = "whimpers."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a weak noise."
|
message = "makes a weak noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("wink")
|
if ("wink")
|
||||||
message = "<B>[src]</B> winks."
|
message = "winks."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("yawn")
|
if ("yawn")
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> yawns."
|
message = "yawns."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("collapse")
|
if ("collapse")
|
||||||
Paralyse(2)
|
Paralyse(2)
|
||||||
message = "<B>[src]</B> collapses!"
|
message = "collapses!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if(miming)
|
if(miming)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
@@ -493,9 +493,9 @@
|
|||||||
M = null
|
M = null
|
||||||
|
|
||||||
if (M)
|
if (M)
|
||||||
message = "<B>[src]</B> hugs [M]."
|
message = "hugs [M]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> hugs \himself."
|
message = "hugs [get_visible_gender() == MALE ? "himself" : get_visible_gender() == FEMALE ? "herself" : "themselves"]."
|
||||||
|
|
||||||
if ("handshake")
|
if ("handshake")
|
||||||
m_type = 1
|
m_type = 1
|
||||||
@@ -511,9 +511,9 @@
|
|||||||
|
|
||||||
if (M)
|
if (M)
|
||||||
if (M.canmove && !M.r_hand && !M.restrained())
|
if (M.canmove && !M.r_hand && !M.restrained())
|
||||||
message = "<B>[src]</B> shakes hands with [M]."
|
message = "shakes hands with [M]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> holds out \his hand to [M]."
|
message = "holds out [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] hand to [M]."
|
||||||
|
|
||||||
if("dap")
|
if("dap")
|
||||||
m_type = 1
|
m_type = 1
|
||||||
@@ -525,20 +525,20 @@
|
|||||||
M = A
|
M = A
|
||||||
break
|
break
|
||||||
if (M)
|
if (M)
|
||||||
message = "<B>[src]</B> gives daps to [M]."
|
message = "gives daps to [M]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> sadly can't find anybody to give daps to, and daps \himself. Shameful."
|
message = "sadly can't find anybody to give daps to, and daps [get_visible_gender() == MALE ? "himself" : get_visible_gender() == FEMALE ? "herself" : "themselves"]. Shameful."
|
||||||
|
|
||||||
if ("scream")
|
if ("scream")
|
||||||
if (miming)
|
if (miming)
|
||||||
message = "<B>[src]</B> acts out a scream!"
|
message = "acts out a scream!"
|
||||||
m_type = 1
|
m_type = 1
|
||||||
else
|
else
|
||||||
if (!muzzled)
|
if (!muzzled)
|
||||||
message = "<B>[src]</B> screams!"
|
message = "screams!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> makes a very loud noise."
|
message = "makes a very loud noise."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("help")
|
if ("help")
|
||||||
@@ -553,23 +553,7 @@
|
|||||||
|
|
||||||
if (message)
|
if (message)
|
||||||
log_emote("[name]/[key] : [message]")
|
log_emote("[name]/[key] : [message]")
|
||||||
|
custom_emote(m_type,message)
|
||||||
//Hearing gasp and such every five seconds is not good emotes were not global for a reason.
|
|
||||||
// Maybe some people are okay with that.
|
|
||||||
|
|
||||||
for(var/mob/M in dead_mob_list)
|
|
||||||
if(!M.client || istype(M, /mob/new_player))
|
|
||||||
continue //skip monkeys, leavers and new players
|
|
||||||
if(M.stat == DEAD && (M.client.prefs.toggles & CHAT_GHOSTSIGHT) && !(M in viewers(src,null)))
|
|
||||||
M.show_message(message)
|
|
||||||
|
|
||||||
|
|
||||||
if (m_type & 1)
|
|
||||||
for (var/mob/O in get_mobs_in_view(world.view,src))
|
|
||||||
O.show_message(message, m_type)
|
|
||||||
else if (m_type & 2)
|
|
||||||
for (var/mob/O in (hearers(src.loc, null) | get_mobs_in_view(world.view,src)))
|
|
||||||
O.show_message(message, m_type)
|
|
||||||
|
|
||||||
|
|
||||||
/mob/living/carbon/human/verb/pose()
|
/mob/living/carbon/human/verb/pose()
|
||||||
@@ -577,7 +561,7 @@
|
|||||||
set desc = "Sets a description which will be shown when someone examines you."
|
set desc = "Sets a description which will be shown when someone examines you."
|
||||||
set category = "IC"
|
set category = "IC"
|
||||||
|
|
||||||
pose = sanitize(input(usr, "This is [src]. \He is...", "Pose", null) as text)
|
pose = sanitize(input(usr, "This is [src]. [get_visible_gender() == MALE ? "He" : get_visible_gender() == FEMALE ? "She" : "They"] [get_visible_gender() == NEUTER ? "are" : "is"]...", "Pose", null) as text)
|
||||||
|
|
||||||
/mob/living/carbon/human/verb/set_flavor()
|
/mob/living/carbon/human/verb/set_flavor()
|
||||||
set name = "Set Flavour Text"
|
set name = "Set Flavour Text"
|
||||||
|
|||||||
@@ -38,9 +38,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> salutes to [param]."
|
message = "salutes to [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</b> salutes."
|
message = "salutes."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
if ("bow")
|
if ("bow")
|
||||||
if (!src.buckled)
|
if (!src.buckled)
|
||||||
@@ -54,39 +54,39 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> bows to [param]."
|
message = "bows to [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> bows."
|
message = "bows."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("clap")
|
if ("clap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> claps."
|
message = "claps."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
if ("flap")
|
if ("flap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> flaps his wings."
|
message = "flaps his wings."
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("aflap")
|
if ("aflap")
|
||||||
if (!src.restrained())
|
if (!src.restrained())
|
||||||
message = "<B>[src]</B> flaps his wings ANGRILY!"
|
message = "flaps his wings ANGRILY!"
|
||||||
m_type = 2
|
m_type = 2
|
||||||
|
|
||||||
if ("twitch")
|
if ("twitch")
|
||||||
message = "<B>[src]</B> twitches violently."
|
message = "twitches violently."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("twitch_s")
|
if ("twitch_s")
|
||||||
message = "<B>[src]</B> twitches."
|
message = "twitches."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("nod")
|
if ("nod")
|
||||||
message = "<B>[src]</B> nods."
|
message = "nods."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("deathgasp")
|
if ("deathgasp")
|
||||||
message = "<B>[src]</B> shudders violently for a moment, then becomes motionless, its eyes slowly darkening."
|
message = "shudders violently for a moment, then becomes motionless, its eyes slowly darkening."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if ("glare")
|
if ("glare")
|
||||||
@@ -100,9 +100,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> glares at [param]."
|
message = "glares at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> glares."
|
message = "glares."
|
||||||
|
|
||||||
if ("stare")
|
if ("stare")
|
||||||
var/M = null
|
var/M = null
|
||||||
@@ -115,9 +115,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> stares at [param]."
|
message = "stares at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> stares."
|
message = "stares."
|
||||||
|
|
||||||
if ("look")
|
if ("look")
|
||||||
var/M = null
|
var/M = null
|
||||||
@@ -131,9 +131,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> looks at [param]."
|
message = "looks at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> looks."
|
message = "looks."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if("beep")
|
if("beep")
|
||||||
@@ -147,9 +147,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> beeps at [param]."
|
message = "beeps at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> beeps."
|
message = "beeps."
|
||||||
playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0)
|
playsound(src.loc, 'sound/machines/twobeep.ogg', 50, 0)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
@@ -164,9 +164,9 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> pings at [param]."
|
message = "pings at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> pings."
|
message = "pings."
|
||||||
playsound(src.loc, 'sound/machines/ping.ogg', 50, 0)
|
playsound(src.loc, 'sound/machines/ping.ogg', 50, 0)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
@@ -181,15 +181,15 @@
|
|||||||
param = null
|
param = null
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
message = "<B>[src]</B> buzzes at [param]."
|
message = "buzzes at [param]."
|
||||||
else
|
else
|
||||||
message = "<B>[src]</B> buzzes."
|
message = "buzzes."
|
||||||
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
if("law")
|
if("law")
|
||||||
if (istype(module,/obj/item/weapon/robot_module/security))
|
if (istype(module,/obj/item/weapon/robot_module/security))
|
||||||
message = "<B>[src]</B> shows its legal authorization barcode."
|
message = "shows its legal authorization barcode."
|
||||||
|
|
||||||
playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0)
|
playsound(src.loc, 'sound/voice/biamthelaw.ogg', 50, 0)
|
||||||
m_type = 2
|
m_type = 2
|
||||||
@@ -211,10 +211,6 @@
|
|||||||
src << "\blue Unusable emote '[act]'. Say *help for a list."
|
src << "\blue Unusable emote '[act]'. Say *help for a list."
|
||||||
|
|
||||||
if ((message && src.stat == 0))
|
if ((message && src.stat == 0))
|
||||||
if (m_type & 1)
|
custom_emote(m_type,message)
|
||||||
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
|
return
|
||||||
@@ -51,6 +51,37 @@
|
|||||||
// blind_message (optional) is what blind people will hear e.g. "You hear something!"
|
// blind_message (optional) is what blind people will hear e.g. "You hear something!"
|
||||||
|
|
||||||
/mob/visible_message(var/message, var/self_message, var/blind_message)
|
/mob/visible_message(var/message, var/self_message, var/blind_message)
|
||||||
|
|
||||||
|
var/list/seeing_obj = list()
|
||||||
|
|
||||||
|
for(var/I in view(world.view, get_turf(usr))) //get_turf is needed to stop weirdness with x-ray.
|
||||||
|
if(istype(I, /mob/))
|
||||||
|
var/mob/M = I
|
||||||
|
for(var/obj/O in M.contents)
|
||||||
|
seeing_obj |= O
|
||||||
|
else if(istype(I, /obj/))
|
||||||
|
var/obj/O = I
|
||||||
|
seeing_obj |= O
|
||||||
|
|
||||||
|
for (var/mob/O in viewers(get_turf(src), null))
|
||||||
|
if(O.see_invisible < invisibility)
|
||||||
|
continue // Cannot view the invisible
|
||||||
|
var/msg = message
|
||||||
|
if(O.status_flags & PASSEMOTES)
|
||||||
|
for(var/obj/item/weapon/holder/H in O.contents)
|
||||||
|
H.show_message( msg, 1, blind_message, 2)
|
||||||
|
for(var/mob/living/M in O.contents)
|
||||||
|
M.show_message( msg, 1, blind_message, 2)
|
||||||
|
if(self_message && O==src)
|
||||||
|
msg = self_message
|
||||||
|
O.show_message( msg, 1, blind_message, 2)
|
||||||
|
|
||||||
|
for(var/obj/O in seeing_obj)
|
||||||
|
spawn(0)
|
||||||
|
if(O) //It's possible that it could be deleted in the meantime.
|
||||||
|
O.show_message( message, 1, blind_message, 2)
|
||||||
|
|
||||||
|
/*
|
||||||
for(var/mob/M in viewers(src))
|
for(var/mob/M in viewers(src))
|
||||||
if(M.see_invisible < invisibility)
|
if(M.see_invisible < invisibility)
|
||||||
continue // Cannot view the invisible
|
continue // Cannot view the invisible
|
||||||
@@ -58,14 +89,40 @@
|
|||||||
if(self_message && M==src)
|
if(self_message && M==src)
|
||||||
msg = self_message
|
msg = self_message
|
||||||
M.show_message( msg, 1, blind_message, 2)
|
M.show_message( msg, 1, blind_message, 2)
|
||||||
|
*/
|
||||||
|
|
||||||
// Show a message to all mobs in sight of this atom
|
// Show a message to all mobs in sight of this atom
|
||||||
// Use for objects performing visible actions
|
// Use for objects performing visible actions
|
||||||
// message is output to anyone who can see, e.g. "The [src] does something!"
|
// message is output to anyone who can see, e.g. "The [src] does something!"
|
||||||
// blind_message (optional) is what blind people will hear e.g. "You hear something!"
|
// blind_message (optional) is what blind people will hear e.g. "You hear something!"
|
||||||
/atom/proc/visible_message(var/message, var/blind_message)
|
/atom/proc/visible_message(var/message, var/blind_message)
|
||||||
for(var/mob/M in viewers(src))
|
|
||||||
M.show_message( message, 1, blind_message, 2)
|
var/list/seeing_obj = list()
|
||||||
|
|
||||||
|
for(var/I in view(world.view, get_turf(src))) //get_turf is needed to stop weirdness with x-ray.
|
||||||
|
if(istype(I, /mob/))
|
||||||
|
var/mob/M = I
|
||||||
|
for(var/obj/O in M.contents)
|
||||||
|
seeing_obj |= O
|
||||||
|
else if(istype(I, /obj/))
|
||||||
|
var/obj/O = I
|
||||||
|
seeing_obj |= O
|
||||||
|
|
||||||
|
for (var/mob/O in viewers(get_turf(src), null))
|
||||||
|
if(O.see_invisible < invisibility)
|
||||||
|
continue // Cannot view the invisible
|
||||||
|
var/msg = message
|
||||||
|
if(O.status_flags & PASSEMOTES)
|
||||||
|
for(var/obj/item/weapon/holder/H in O.contents)
|
||||||
|
H.show_message( msg, 1, blind_message, 2)
|
||||||
|
for(var/mob/living/M in O.contents)
|
||||||
|
M.show_message( msg, 1, blind_message, 2)
|
||||||
|
O.show_message( msg, 1, blind_message, 2)
|
||||||
|
|
||||||
|
for(var/obj/O in seeing_obj)
|
||||||
|
spawn(0)
|
||||||
|
if(O) //It's possible that it could be deleted in the meantime.
|
||||||
|
O.show_message( message, 1, blind_message, 2)
|
||||||
|
|
||||||
// Returns an amount of power drawn from the object (-1 if it's not viable).
|
// Returns an amount of power drawn from the object (-1 if it's not viable).
|
||||||
// If drain_check is set it will not actually drain power, just return a value.
|
// If drain_check is set it will not actually drain power, just return a value.
|
||||||
|
|||||||
Reference in New Issue
Block a user