adding the ability for the stylesheet to be modified on a live server

+ timestamps
This commit is contained in:
ririchiyo
2015-01-10 14:58:14 -05:00
parent 6772018b2e
commit e6ea3b7c5f
9 changed files with 44 additions and 40 deletions

View File

@@ -1,6 +1,7 @@
/datum/configuration
var/server_name = null // server name (for world name / status)
var/server_suffix = 0 // generate numeric suffix based on server port
var/world_style_config = world_style
var/nudge_script_path = "nudge.py" // where the nudge.py script is located

View File

@@ -156,6 +156,8 @@ var/list/admin_verbs_debug = list(
/client/proc/qdel_toggle, // /vg/
/client/proc/cmd_admin_dump_instances, // /vg/
/client/proc/disable_bloodvirii, // /vg/
/client/proc/reload_style_sheet,
/client/proc/reset_style_sheet,
/client/proc/configFood,
/client/proc/debug_reagents,
/client/proc/make_invulnerable,

View File

@@ -87,7 +87,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
if(!mob) return //this doesn't happen
var/ref_mob = "\ref[mob]"
msg = "\blue <b><font color=red>HELP: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=[ref_mob]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?_src_=holder;check_antagonist=1'>CA</A>) [ai_found ? " (<A HREF='?_src_=holder;adminchecklaws=[ref_mob]'>CL</A>)" : ""]:</b> [msg]"
msg = "\[[time_stamp()]] \blue <b><font color=red>HELP: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=[ref_mob]'>SM</A>) (<A HREF='?_src_=holder;adminplayerobservejump=[ref_mob]'>JMP</A>) (<A HREF='?_src_=holder;check_antagonist=1'>CA</A>) [ai_found ? " (<A HREF='?_src_=holder;adminchecklaws=[ref_mob]'>CL</A>)" : ""]:</b> [msg]"
//send this msg to all admins
var/admin_number_afk = 0
@@ -104,7 +104,7 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey","
//show it to the person adminhelping too
if(src.prefs.special_popup)
src << output("<span class='info'>PM to - <b>Admins</b>: [original_msg]</span>", "window1.msay_output")
src << output("\[[time_stamp()]] <span class='info'>PM to - <b>Admins</b>: [original_msg]</span>", "window1.msay_output")
else
src << "<font color='blue'>PM to-<b>Admins</b>: [original_msg]</font>"

View File

@@ -111,13 +111,13 @@
adminhelp(reply) //sender has left, adminhelp instead
return
recieve_message = "<font color='[recieve_color]'>[recieve_pm_type] PM from-<b>[key_name(src, C, C.holder ? 1 : 0)]</b>: [msg]</font>"
recieve_message = "\[[time_stamp()]] <font color='[recieve_color]'>[recieve_pm_type] PM from-<b>[key_name(src, C, C.holder ? 1 : 0)]</b>: [msg]</font>"
if(C.prefs.special_popup)
C << output(recieve_message, "window1.msay_output")
else
C << recieve_message
if(src.prefs.special_popup)
src << output("<font color='blue'>[send_pm_type]PM to-<b>[key_name(C, src, holder ? 1 : 0)]</b>: [msg]</font>", "window1.msay_output")
src << output("\[[time_stamp()]] <font color='blue'>[send_pm_type]PM to-<b>[key_name(C, src, holder ? 1 : 0)]</b>: [msg]</font>", "window1.msay_output")
else
src << "<font color='blue'>[send_pm_type]PM to-<b>[key_name(C, src, holder ? 1 : 0)]</b>: [msg]</font>"
@@ -189,4 +189,7 @@
if(X == C || X == src)
continue
if(X.key!=key && X.key!=C.key && (X.holder.rights & R_ADMIN) || (X.holder.rights & R_MOD) )
if(X.prefs.special_popup)
X << output("\[[time_stamp()]] <B><font color='blue'>PM: [key_name(src, X, 0)]-&gt;[key_name(C, X, 0)]:</B> \blue [msg]</font>", "window1.msay_output") //inform X
else
X << "<B><font color='blue'>PM: [key_name(src, X, 0)]-&gt;[key_name(C, X, 0)]:</B> \blue [msg]</font>" //inform X

View File

@@ -43,6 +43,6 @@
for(var/client/C in admins)
if((R_ADMIN|R_MOD) & C.holder.rights)
if(C.prefs.special_popup)
C << output("<span class='[color]'>[key_name(src,1)] (<A HREF='?src=\ref[C.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>", "window1.msay_output")
C << output("\[[time_stamp()]] <span style='color:[color];'><b>[key_name(src,1)]</b> (<A HREF='?src=\ref[C.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='modooc'>[msg]</span></span>", "window1.msay_output")
else
C << "<span class='prefix'>MOD: </span><span class='[color]'><EM>[key_name(src,1)]</EM> (<A HREF='?src=\ref[C.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>"

View File

@@ -1162,6 +1162,24 @@ var/global/blood_virus_spreading_disabled = 0
else
message_admins("[src.ckey] enabled findAirborneVirii.")
/client/proc/reload_style_sheet()
set category = "Server"
set name = "Reload Style Sheet"
set desc = "Reload the Style Sheet (be careful)."
for(var/client/C in clients)
winset(C, null, "outputwindow.output.style=[config.world_style_config];")
message_admins("The style sheet has been reloaded by [src.ckey]")
/client/proc/reset_style_sheet()
set category = "Server"
set name = "Reset Style Sheet"
set desc = "Reset the Style Sheet (restore to default)."
for(var/client/C in clients)
winset(C, null, "outputwindow.output.style=[world_style];")
message_admins("The style sheet has been reset by [src.ckey]")
/client/proc/cmd_admin_cluwneize(var/mob/M in mob_list)
set category = "Fun"
set name = "Make Cluwne"

View File

@@ -65,11 +65,11 @@
if(config.automute_on && !holder && src.last_message == message)
src.last_message_count++
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
src << "\red You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
src << "<span class='warning'>You have exceeded the spam filter limit for identical messages. An auto-mute was applied.</span>"
cmd_admin_mute(src.mob, mute_type, 1)
return 1
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
src << "\red You are nearing the spam filter limit for identical messages."
src << "<span class='warning'>You are nearing the spam filter limit for identical messages.</span>"
return 0
else
last_message = message
@@ -95,6 +95,11 @@
//CONNECT//
///////////
/client/New(TopicData)
if(config)
winset(src, null, "outputwindow.output.style=[config.world_style_config];")
winset(src, null, "window1.msay_output.style=[config.world_style_config];") // it isn't possible to set two window elements in the same winset so we need to call it for each element we're assigning a stylesheet.
else
src << "<span class='warning'>The stylesheet wasn't properly setup call an administrator to reload the stylesheet or relog.</span>"
TopicData = null //Prevent calls to client.Topic from connect
if(connection != "seeker") //Invalid connection type.
@@ -112,7 +117,7 @@
src.preload_rsc = pick(config.resource_urls)
else src.preload_rsc = 1 // If config.resource_urls is not set, preload like normal.
src << "\red If the title screen is black, resources are still downloading. Please be patient until the title screen appears."
src << "<span class='warning'>If the title screen is black, resources are still downloading. Please be patient until the title screen appears.</span>"
clients += src
directory[ckey] = src

View File

@@ -1,28 +1,19 @@
client/script = {"<style>
body {font-family: Verdana, sans-serif;}
h1, h2, h3, h4, h5, h6 {color: #0000ff; font-family: Georgia, Verdana, sans-serif;}
#define world_style {"\"body {font-family: Verdana, sans-serif;}
h1, h2, h3, h4, h5, h6 {color: #0000ff;font-family: Georgia, Verdana, sans-serif;}
em {font-style: normal; font-weight: bold;}
.motd {color: #638500; font-family: Verdana, sans-serif;}
.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6
{color: #638500; text-decoration: underline;}
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover
{color: #638500;}
.prefix { font-weight: bold;}
.ooc { font-weight: bold;}
.adminobserverooc {color: #0099cc; font-weight: bold;}
.adminooc {color: #b82e00; font-weight: bold;}
.adminobserver {color: #996600; font-weight: bold;}
.admin {color: #386aff; font-weight: bold;}
.adminsay {color: #9611D4; font-weight: bold;}
.name { font-weight: bold;}
.say {}
.deadsay {color: #5c00e6;}
.radio {color: #008000;}
@@ -30,27 +21,21 @@ em {font-style: normal; font-weight: bold;}
.comradio {color: #193A7A;}
.syndradio {color: #6D3F40;}
.centradio {color: #5C5C8A;}
.secradio {color: #A30000;}
.engradio {color: #A66300;}
.medradio {color: #008160;}
.sciradio {color: #993399;}
.supradio {color: #5F4519;}
.serradio {color: #3399CC;}
.mommi {color: navy;}
.alert {color: #ff0000;}
h1.alert, h2.alert {color: #000000;}
.emote { font-style: italic;}
.selecteddna {color: #FFFFFF; background-color: #001B1B}
.attack {color: #ff0000;}
.moderate {color: #CC0000;}
.disarm {color: #990000;}
.passive {color: #660000;}
.danger {color: #ff0000; font-weight: bold;}
.warning {color: #ff0000; font-style: italic;}
.sinister {color: #800080; font-weight: bold; font-style: italic;} /* /vg/ */
@@ -61,10 +46,8 @@ h1.alert, h2.alert {color: #000000;}
.notice {color: #000099;}
.bnotice {color: #000099; font-weight: bold;}
.sans {font-family: "Comic Sans MS", cursive, sans-serif;}
.alien {color: #543354;}
.newscaster {color: #800000;}
.mod {color: #735638; font-weight: bold;}
.modooc {color: #184880; font-weight: bold;}
.adminmod {color: #402A14; font-weight: bold;}
@@ -74,15 +57,7 @@ h1.alert, h2.alert {color: #000000;}
.vox {color: #AA00AA;}
.rough {font-family: "Trebuchet MS", cursive, sans-serif;}
.say_quote {font-family: Georgia, Verdana, sans-serif;}
.interface {color: #330033;}
/* /vg/ */
/* Recruiting stuff */
.recruit {
color: #5c00e6;
font-weight: bold;
font-style: italic;
}
</style>"}
.recruit {color: #5c00e6; font-weight: bold; font-style: italic;}\""}

View File

@@ -1352,7 +1352,7 @@ window "outputwindow"
on-size = ""
link-color = #0000ff
visited-color = #ff00ff
style = ".system {color:#ff0000;}"
style = ""
enable-http-images = false
max-lines = 1000
image = ""