From 571a0953b415e87ce7ffcfa908aec28bf47daca5 Mon Sep 17 00:00:00 2001 From: tkdrg Date: Wed, 29 Oct 2014 20:17:16 -0300 Subject: [PATCH] Fixes chatroom runtime (thanks Gun Hog!), auto-adds # if the channel does not contain it already, obsoletes /new (its functionality is now included in /join) --- code/game/objects/items/devices/PDA/chatroom.dm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/PDA/chatroom.dm b/code/game/objects/items/devices/PDA/chatroom.dm index 5451314d326..a2d050d40a9 100644 --- a/code/game/objects/items/devices/PDA/chatroom.dm +++ b/code/game/objects/items/devices/PDA/chatroom.dm @@ -96,8 +96,6 @@ var/list/chatchannels = list(default_ntrc_chatroom.name = default_ntrc_chatroom) return register_auth(client,nick,cmd[2]) if("mute") return mute_nick(client,nick,cmd[2]) - if("new") - return new_channel(client,nick,cmd[2]) if("pass") return new_pass(client,nick,cmd[2]) @@ -140,6 +138,8 @@ var/list/chatchannels = list(default_ntrc_chatroom.name = default_ntrc_chatroom) return 0 /datum/chatroom/proc/channel_join(client,nick,channel) //join + if(!dd_hasprefix(channel,"#")) + channel = "#" + channel if(channel == name) if(nick in banned || nick in users) return 0 @@ -148,6 +148,10 @@ var/list/chatchannels = list(default_ntrc_chatroom.name = default_ntrc_chatroom) evlist[nick] = events.addEvent("msg_chat",client,"msg_chat") return 1 else + if(!(channel in chatchannels)) + var/ret = new_channel(client,nick,channel) + if(!ret) + return 0 channel_part(client,nick) var/datum/chatroom/C = chatchannels[channel] return C.parse_msg(client,nick,"/join [channel]") @@ -219,9 +223,10 @@ var/list/chatchannels = list(default_ntrc_chatroom.name = default_ntrc_chatroom) return 1 return 0 -/datum/chatroom/proc/new_channel(client,nick,target) //new - if(!(target in chatchannels)) - chatchannels[target] = new /datum/chatroom() +/datum/chatroom/proc/new_channel(client,nick,target) //called by join + if(target in chatchannels) + return 0 + chatchannels[target] = new /datum/chatroom() var/datum/chatroom/C = chatchannels[target] C.name = target C.operators += nick