Newscaster code big cleanup.

Removes lots of copypaste.
Admin newscaster barely modified, they still are a gigantic copypaste from the topic.dm() of the newscaster object.
Printed diaries will now only report the information available when they were printed, including wanted status and the different types of censorship.
All datums are now under /datum/newscaster
Wanted is now a different type of datum, /datum/newscaster/wanted_message
Fixed a bug where you couldn't censor normal submissions, made by crewmembers.
Fixes #944
This commit is contained in:
Aranclanos
2015-05-19 09:32:46 -03:00
parent dbb2999c85
commit fe4d28a376
5 changed files with 560 additions and 640 deletions
+38 -60
View File
@@ -2304,7 +2304,7 @@
else if(href_list["ac_submit_new_channel"])
var/check = 0
for(var/datum/feed_channel/FC in news_network.network_channels)
for(var/datum/newscaster/feed_channel/FC in news_network.network_channels)
if(FC.channel_name == src.admincaster_feed_channel.channel_name)
check = 1
break
@@ -2321,22 +2321,22 @@
else if(href_list["ac_set_channel_receiving"])
var/list/available_channels = list()
for(var/datum/feed_channel/F in news_network.network_channels)
for(var/datum/newscaster/feed_channel/F in news_network.network_channels)
available_channels += F.channel_name
src.admincaster_feed_channel.channel_name = adminscrub(input(usr, "Choose receiving Feed Channel", "Network Channel Handler") in available_channels )
src.access_news_network()
else if(href_list["ac_set_new_message"])
src.admincaster_feed_message.body = adminscrub(input(usr, "Write your Feed story", "Network Channel Handler", ""))
while (findtext(src.admincaster_feed_message.body," ") == 1)
src.admincaster_feed_message.body = copytext(src.admincaster_feed_message.body,2,lentext(src.admincaster_feed_message.body)+1)
while (findtext(src.admincaster_feed_message.returnBody(-1)," ") == 1)
src.admincaster_feed_message.body = copytext(src.admincaster_feed_message.returnBody(-1),2,lentext(src.admincaster_feed_message.returnBody(-1))+1)
src.access_news_network()
else if(href_list["ac_submit_new_message"])
if(src.admincaster_feed_message.body =="" || src.admincaster_feed_message.body =="\[REDACTED\]" || src.admincaster_feed_channel.channel_name == "" )
if(src.admincaster_feed_message.returnBody(-1) =="" || src.admincaster_feed_message.returnBody(-1) =="\[REDACTED\]" || src.admincaster_feed_channel.channel_name == "" )
src.admincaster_screen = 6
else
news_network.SubmitArticle(src.admincaster_feed_message.body, src.admincaster_signature, src.admincaster_feed_channel.channel_name, null, 1)
news_network.SubmitArticle(src.admincaster_feed_message.returnBody(-1), src.admincaster_signature, src.admincaster_feed_channel.channel_name, null, 1)
feedback_inc("newscaster_stories",1)
src.admincaster_screen=4
@@ -2364,98 +2364,74 @@
else if(href_list["ac_menu_wanted"])
var/already_wanted = 0
if(news_network.wanted_issue)
if(news_network.wanted_issue.active)
already_wanted = 1
if(already_wanted)
src.admincaster_feed_message.author = news_network.wanted_issue.author
src.admincaster_feed_message.body = news_network.wanted_issue.body
src.admincaster_wanted_message.criminal = news_network.wanted_issue.criminal
src.admincaster_wanted_message.body = news_network.wanted_issue.body
src.admincaster_screen = 14
src.access_news_network()
else if(href_list["ac_set_wanted_name"])
src.admincaster_feed_message.author = adminscrub(input(usr, "Provide the name of the Wanted person", "Network Security Handler", ""))
while (findtext(src.admincaster_feed_message.author," ") == 1)
src.admincaster_feed_message.author = copytext(admincaster_feed_message.author,2,lentext(admincaster_feed_message.author)+1)
src.admincaster_wanted_message.criminal = adminscrub(input(usr, "Provide the name of the Wanted person", "Network Security Handler", ""))
while(findtext(src.admincaster_wanted_message.criminal," ") == 1)
src.admincaster_wanted_message.criminal = copytext(admincaster_wanted_message.criminal,2,lentext(admincaster_wanted_message.criminal)+1)
src.access_news_network()
else if(href_list["ac_set_wanted_desc"])
src.admincaster_feed_message.body = adminscrub(input(usr, "Provide the a description of the Wanted person and any other details you deem important", "Network Security Handler", ""))
while (findtext(src.admincaster_feed_message.body," ") == 1)
src.admincaster_feed_message.body = copytext(src.admincaster_feed_message.body,2,lentext(src.admincaster_feed_message.body)+1)
src.admincaster_wanted_message.body = adminscrub(input(usr, "Provide the a description of the Wanted person and any other details you deem important", "Network Security Handler", ""))
while (findtext(src.admincaster_wanted_message.body," ") == 1)
src.admincaster_wanted_message.body = copytext(src.admincaster_wanted_message.body,2,lentext(src.admincaster_wanted_message.body)+1)
src.access_news_network()
else if(href_list["ac_submit_wanted"])
var/input_param = text2num(href_list["ac_submit_wanted"])
if(src.admincaster_feed_message.author == "" || src.admincaster_feed_message.body == "")
if(src.admincaster_wanted_message.criminal == "" || src.admincaster_wanted_message.body == "")
src.admincaster_screen = 16
else
var/choice = alert("Please confirm Wanted Issue [(input_param==1) ? ("creation.") : ("edit.")]","Network Security Handler","Confirm","Cancel")
if(choice=="Confirm")
if(input_param==1) //If input_param == 1 we're submitting a new wanted issue. At 2 we're just editing an existing one. See the else below
var/datum/feed_message/WANTED = new /datum/feed_message
WANTED.author = src.admincaster_feed_message.author //Wanted name
WANTED.body = src.admincaster_feed_message.body //Wanted desc
WANTED.backup_author = src.admincaster_signature //Submitted by
WANTED.is_admin_message = 1
news_network.wanted_issue = WANTED
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
NEWSCASTER.newsAlert()
NEWSCASTER.update_icon()
news_network.submitWanted(admincaster_wanted_message.criminal, admincaster_wanted_message.body, admincaster_signature, null, 1, 1)
src.admincaster_screen = 15
else
news_network.wanted_issue.author = src.admincaster_feed_message.author
news_network.wanted_issue.body = src.admincaster_feed_message.body
news_network.wanted_issue.backup_author = src.admincaster_feed_message.backup_author
news_network.submitWanted(admincaster_wanted_message.criminal, admincaster_wanted_message.body, admincaster_signature)
src.admincaster_screen = 19
log_admin("[key_name(usr)] issued a Station-wide Wanted Notification for [src.admincaster_feed_message.author]!")
log_admin("[key_name(usr)] issued a Station-wide Wanted Notification for [src.admincaster_wanted_message.criminal]!")
src.access_news_network()
else if(href_list["ac_cancel_wanted"])
var/choice = alert("Please confirm Wanted Issue removal","Network Security Handler","Confirm","Cancel")
if(choice=="Confirm")
news_network.wanted_issue = null
for(var/obj/machinery/newscaster/NEWSCASTER in allCasters)
NEWSCASTER.update_icon()
news_network.deleteWanted()
src.admincaster_screen=17
src.access_news_network()
else if(href_list["ac_censor_channel_author"])
var/datum/feed_channel/FC = locate(href_list["ac_censor_channel_author"])
if(FC.author != "<B>\[REDACTED\]</B>")
FC.backup_author = FC.author
FC.author = "<B>\[REDACTED\]</B>"
else
FC.author = FC.backup_author
var/datum/newscaster/feed_channel/FC = locate(href_list["ac_censor_channel_author"])
FC.toggleCensorAuthor()
src.access_news_network()
else if(href_list["ac_censor_channel_story_author"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"])
if(MSG.author != "<B>\[REDACTED\]</B>")
MSG.backup_author = MSG.author
MSG.author = "<B>\[REDACTED\]</B>"
else
MSG.author = MSG.backup_author
var/datum/newscaster/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"])
MSG.toggleCensorAuthor()
src.access_news_network()
else if(href_list["ac_censor_channel_story_body"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"])
if(MSG.body != "<B>\[REDACTED\]</B>")
MSG.backup_body = MSG.body
MSG.body = "<B>\[REDACTED\]</B>"
else
MSG.body = MSG.backup_body
var/datum/newscaster/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"])
MSG.toggleCensorBody()
src.access_news_network()
else if(href_list["ac_pick_d_notice"])
var/datum/feed_channel/FC = locate(href_list["ac_pick_d_notice"])
var/datum/newscaster/feed_channel/FC = locate(href_list["ac_pick_d_notice"])
src.admincaster_feed_channel = FC
src.admincaster_screen=13
src.access_news_network()
else if(href_list["ac_toggle_d_notice"])
var/datum/feed_channel/FC = locate(href_list["ac_toggle_d_notice"])
FC.censored = !FC.censored
var/datum/newscaster/feed_channel/FC = locate(href_list["ac_toggle_d_notice"])
FC.toggleCensorDclass()
src.access_news_network()
else if(href_list["ac_view"])
@@ -2466,19 +2442,21 @@
src.admincaster_screen = text2num(href_list["ac_setScreen"])
if (src.admincaster_screen == 0)
if(src.admincaster_feed_channel)
src.admincaster_feed_channel = new /datum/feed_channel
src.admincaster_feed_channel = new /datum/newscaster/feed_channel
if(src.admincaster_feed_message)
src.admincaster_feed_message = new /datum/feed_message
src.admincaster_feed_message = new /datum/newscaster/feed_message
if(admincaster_wanted_message)
admincaster_wanted_message = new /datum/newscaster/wanted_message
src.access_news_network()
else if(href_list["ac_show_channel"])
var/datum/feed_channel/FC = locate(href_list["ac_show_channel"])
var/datum/newscaster/feed_channel/FC = locate(href_list["ac_show_channel"])
src.admincaster_feed_channel = FC
src.admincaster_screen = 9
src.access_news_network()
else if(href_list["ac_pick_censor_channel"])
var/datum/feed_channel/FC = locate(href_list["ac_pick_censor_channel"])
var/datum/newscaster/feed_channel/FC = locate(href_list["ac_pick_censor_channel"])
src.admincaster_feed_channel = FC
src.admincaster_screen = 12
src.access_news_network()
@@ -2491,13 +2469,13 @@
src.access_news_network()
else if(href_list["ac_del_comment"])
var/datum/feed_comment/FC = locate(href_list["ac_del_comment"])
var/datum/feed_message/FM = locate(href_list["ac_del_comment_msg"])
var/datum/newscaster/feed_comment/FC = locate(href_list["ac_del_comment"])
var/datum/newscaster/feed_message/FM = locate(href_list["ac_del_comment_msg"])
FM.comments -= FC
qdel(FC)
src.access_news_network()
else if(href_list["ac_lock_comment"])
var/datum/feed_message/FM = locate(href_list["ac_lock_comment"])
var/datum/newscaster/feed_message/FM = locate(href_list["ac_lock_comment"])
FM.locked ^= 1
src.access_news_network()