Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. Say(aaa as text)
  2. set category="Other"
  3. if(SayCD) return
  4. else SayCD=1
  5. spawn(1) SayCD=0
  6. //var/msg=input("Say something") as text
  7. var/icon/I = usr.getIconImage()
  8. aaa = copytext(sanitize(aaa), 1, MAX_MESSAGE_LEN)
  9. if(!aaa) return
  10. var/SQ=say_quote(aaa)
  11. SaveToSayLog("[aaa] ([usr.x], [usr.y], [usr.z])")
  12. var/IC=1
  13. if(findtext(SQ,"OOC")) IC=0
  14. //if(findtext(SQ,"thinks")) IC=0
  15. if(!IC&&!usr.CanOOC()) return
  16. if(IC) if(usr.KOd) if(prob(50)) aaa=stutter(aaa)
  17. if(IC) if(usr.Critical_Throat) if(prob(50)) aaa = "*Mumbles incoherently*..."
  18. var/SN=0
  19. var/mob/Sender=usr
  20. if(InFusion) for(var/mob/player/M)if(M.client&&M.FusionKey1==key||M.client&&M.FusionKey2==key) Sender=M
  21. if(InFusion) for(var/mob/player/M)if(M.client&&M.BodyKey1==key||M.client&&M.BodyKey2==key) Sender=M
  22. //usr<<"[msg] say"
  23. if(findtext(SQ,"exclaims"))
  24. for(var/mob/player/M in hearers(18,Sender))
  25. if(M.client)
  26. if(M==usr) SN=1
  27. 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>")
  28. for(var/obj/Contact/A in M.Contacts) if(A.Signature == Signature) SN=1
  29. var/Hear = 1
  30. if(M.Critical_Hearing)
  31. Hear = 0
  32. if(prob(60)) Hear=1
  33. if(Hear)
  34. if(M.client.holder)
  35. 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>")
  36. 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>")
  37. else
  38. 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>")
  39. 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>")
  40. M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]): [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
  41. else M.ICOut("<i>You hear a distant noise...</i>")
  42. Say_Spark()
  43. return
  44. else
  45. for(var/mob/player/M in hearers(12,Sender))
  46. if(M.client)
  47. if(M==usr)SN=1
  48. 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>")
  49. for(var/obj/Contact/A in M.Contacts) if(A.Signature == Signature) SN=1
  50. var/Hear = 1
  51. if(M.Critical_Hearing)
  52. Hear = 0
  53. if(prob(25)) Hear=1
  54. if(!IC) if(!findtext(SQ,"thinks")) if(M.listen_looc||findtext(aaa,"INF") )
  55. if(M.client.holder)
  56. 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>")
  57. //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>")
  58. else
  59. M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [OOCText(aaa)]</span>")
  60. //M.AllOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [OOCText(msg)]</span>")
  61. M.saveToLog("<font color=#CC3300>\n<span class=\"say\">[usr]([key]): OOC says [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
  62. if(findtext(SQ,"thinks"))
  63. if(M.client.holder)
  64. 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>")
  65. 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>")
  66. else
  67. if(!SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>??? [SQ] [ThinkText(aaa)]</span>")
  68. if(SN)M.ICOut("<BIG>\icon[I]</BIG><span class=\"say\"><font size=[M.TextSize] color=[TextColor]>[Sender.name] [SQ] [ThinkText(aaa)]</span>")
  69. M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]): thinks [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
  70. IC=0
  71. else if(Hear)
  72. if(IC)
  73. if(M.client.holder)
  74. 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>")
  75. 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>")
  76. else
  77. 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>")
  78. 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>")
  79. M.saveToLog("<font color=#FF00FF>\n<span class=\"say\">[usr]([key]) says [aaa] ([usr.x], [usr.y], [usr.z])</span>\n")
  80. else if(IC) M.ICOut("<i>You hear a distant noise...</i>")
  81. Say_Spark()
  82. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement