Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Say(aaa as text)
- set category="Other"
- if(SayCD) return
- else SayCD=1
- spawn(1) SayCD=0
- //var/msg=input("Say something") as text
- var/icon/I = usr.getIconImage()
- aaa = copytext(sanitize(aaa), 1, MAX_MESSAGE_LEN)
- if(!aaa) return
- var/SQ=say_quote(aaa)
- SaveToSayLog("[aaa] ([usr.x], [usr.y], [usr.z])")
- var/IC=1
- if(findtext(SQ,"OOC")) IC=0
- //if(findtext(SQ,"thinks")) IC=0
- if(!IC&&!usr.CanOOC()) return
- if(IC) if(usr.KOd) if(prob(50)) aaa=stutter(aaa)
- if(IC) if(usr.Critical_Throat) if(prob(50)) aaa = "*Mumbles incoherently*..."
- var/SN=0
- var/mob/Sender=usr
- if(InFusion) for(var/mob/player/M)if(M.client&&M.FusionKey1==key||M.client&&M.FusionKey2==key) Sender=M
- if(InFusion) for(var/mob/player/M)if(M.client&&M.BodyKey1==key||M.client&&M.BodyKey2==key) Sender=M
- //usr<<"[msg] say"
- if(findtext(SQ,"exclaims"))
- for(var/mob/player/M in hearers(18,Sender))
- if(M.client)
- if(M==usr) SN=1
- if(M.Observer) for(var/mob/player/S in Players) if(M.Observer==S.key) S.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[S.TextSize] color=[TextColor]><b>\[[lan]\]</b>(Observe) [Sender.name] [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,S)]\"</span>")
- for(var/obj/Contact/A in M.Contacts) if(A.Signature == Signature) SN=1
- var/Hear = 1
- if(M.Critical_Hearing)
- Hear = 0
- if(prob(60)) Hear=1
- if(Hear)
- if(M.client.holder)
- if(!SN) M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> ???([Sender.name]) (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- if(SN) M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> [Sender.name] (<A HREF='?usr=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- else
- if(!SN) M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> ??? [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- if(SN) M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> [Sender.name] [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]): [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
- else M.ICOut("<i>You hear a distant noise...</i>")
- Say_Spark()
- return
- else
- for(var/mob/player/M in hearers(12,Sender))
- if(M.client)
- if(M==usr)SN=1
- if(M.Observer) for(var/mob/player/S in Players) if(M.Observer==S.key) if(IC) S.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[S.TextSize] color=[TextColor]><b>\[[lan]\]</b>(Observe) [usr.name] [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,S)]\"</span>")
- for(var/obj/Contact/A in M.Contacts) if(A.Signature == Signature) SN=1
- var/Hear = 1
- if(M.Critical_Hearing)
- Hear = 0
- if(prob(25)) Hear=1
- if(!IC) if(!findtext(SQ,"thinks")) if(M.listen_looc||findtext(aaa,"INF") )
- if(M.client.holder)
- M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] [OOCText(aaa)]</span>")
- //M.AllOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] [OOCText(msg)]</span>")
- else
- M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [OOCText(aaa)]</span>")
- //M.AllOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [OOCText(msg)]</span>")
- M.saveToLog("<font color=#CC3300>\n<span class=\"say\">[usr]([key]): OOC says [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
- if(findtext(SQ,"thinks"))
- if(M.client.holder)
- if(!SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>???([Sender.name]) (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] [ThinkText(aaa)]</span>")
- if(SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] [ThinkText(aaa)]</span>")
- else
- if(!SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>??? [SQ] [ThinkText(aaa)]</span>")
- if(SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [ThinkText(aaa)]</span>")
- M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]): thinks [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
- IC=0
- else if(Hear)
- if(IC)
- if(M.client.holder)
- if(!SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> ???([Sender.name]) (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- if(SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> [Sender.name] (<A HREF='?src=\ref[M.client.holder];adminplayeropts=\ref[usr]'>X</A>) [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- else
- if(!SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> ??? [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- if(SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]><b>\[[lan]\]</b> [Sender.name] [SQ] \"[LanguageSay(aaa,lan,lan.Mastery,M)]\"</span>")
- M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]) says [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
- else if(IC) M.ICOut("<i>You hear a distant noise...</i>")
- Say_Spark()
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement