diff --git a/code/defines/global.dm b/code/defines/global.dm
index 0e76f2c2160..692720f086c 100644
--- a/code/defines/global.dm
+++ b/code/defines/global.dm
@@ -133,7 +133,6 @@ var/wavesecret = 0
var/shuttlecoming = 0
var/join_motd = null
-var/rules = null
var/forceblob = 0
//airlockWireColorToIndex takes a number representing the wire color, e.g. the orange wire is always 1, the dark red wire is always 2, etc. It returns the index for whatever that wire does.
diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm
index 894c7819b79..6c035ffc08f 100644
--- a/code/game/cellautomata.dm
+++ b/code/game/cellautomata.dm
@@ -14,10 +14,6 @@
/world/proc/load_motd()
join_motd = file2text("config/motd.txt")
-/world/proc/load_rules()
- rules = file2text("config/rules.html")
- if (!rules)
- rules = "
RulesThere are no rules! Go nuts!"
/world/proc/load_admins()
var/text = file2text("config/admins.txt")
@@ -77,7 +73,6 @@
src.load_mode()
src.load_motd()
- src.load_rules()
src.load_admins()
investigate_reset()
if (config.usewhitelist)
diff --git a/code/modules/admin/admin_investigate.dm b/code/modules/admin/admin_investigate.dm
index b2d7975584b..f38fb42ba74 100644
--- a/code/modules/admin/admin_investigate.dm
+++ b/code/modules/admin/admin_investigate.dm
@@ -25,7 +25,7 @@
if(!message) return
var/F = investigate_subject2file(subject)
if(!F) return
- F << "[src] \ref[src] ([x],[y],[z]) [message]
"
+ F << "[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
"
@@ -38,6 +38,6 @@
if(!F)
src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed."
return
- src << browse(F,"window=investigate;title='investigate [subject]'")
+ src << browse(F,"window=investigate;size=800x300")
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index b21a9cc7ca6..941ee737595 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -424,11 +424,6 @@
M.Login()
return
-/mob/verb/cmd_rules()
- set name = "Rules"
- set category = "OOC"
- src << browse(rules, "window=rules;size=480x320")
-
/mob/verb/changes()
set name = "Changelog"
set category = "OOC"
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 1912a7a10ea..84755edda04 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -20,6 +20,7 @@
process()
if(P)
if(P.air_contents.toxins <= 0)
+ investigate_log("out of fuel.","singulo")
P.air_contents.toxins = 0
eject()
else
@@ -33,7 +34,7 @@
toggle_power()
user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \
"You turn the [src.name] [active? "on":"off"].")
- investigate_log("turned [active?"on":"off"] by [user.key]. [P?"It contains [P]":"It is empty"].","singulo")
+ investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.toxins/0.29)]%":"It is empty"].","singulo")
return
else
user << "\red The controls are locked!"
@@ -98,47 +99,47 @@
return ..()
- proc
- eject()
- var/obj/item/weapon/tank/plasma/Z = src.P
- if (!Z)
- return
- Z.loc = get_turf(src)
- Z.layer = initial(Z.layer)
- src.P = null
- if(active)
- toggle_power()
- else
- updateicon()
-
- receive_pulse(var/pulse_strength)
- if(P && active)
- var/power_produced = 0
- power_produced = P.air_contents.toxins*pulse_strength*20
- add_avail(power_produced)
- last_power = power_produced
- return
+ proc/eject()
+ locked = 0
+ var/obj/item/weapon/tank/plasma/Z = src.P
+ if (!Z)
return
-
-
- updateicon()
- overlays = null
- if(P)
- overlays += image('singularity.dmi', "ptank")
- if(stat & (NOPOWER|BROKEN))
- return
- if(active)
- overlays += image('singularity.dmi', "on")
-
-
- toggle_power()
- active = !active
- if(active)
- icon_state = "ca_on"
- flick("ca_active", src)
- else
- icon_state = "ca"
- flick("ca_deactive", src)
+ Z.loc = get_turf(src)
+ Z.layer = initial(Z.layer)
+ src.P = null
+ if(active)
+ toggle_power()
+ else
updateicon()
- return
+
+ proc/receive_pulse(var/pulse_strength)
+ if(P && active)
+ var/power_produced = 0
+ power_produced = P.air_contents.toxins*pulse_strength*20
+ add_avail(power_produced)
+ last_power = power_produced
+ return
+ return
+
+
+ proc/updateicon()
+ overlays = null
+ if(P)
+ overlays += image('singularity.dmi', "ptank")
+ if(stat & (NOPOWER|BROKEN))
+ return
+ if(active)
+ overlays += image('singularity.dmi', "on")
+
+
+ proc/toggle_power()
+ active = !active
+ if(active)
+ icon_state = "ca_on"
+ flick("ca_active", src)
+ else
+ icon_state = "ca"
+ flick("ca_deactive", src)
+ updateicon()
+ return
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 57514f85985..ec8d8f30f6c 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -87,7 +87,6 @@
strength = 2
else
investigate_log("increased to [strength] by [usr.key]","singulo")
- strength = min(2,strength+1)
for(var/obj/structure/particle_accelerator/part in connected_parts)
part.strength = strength
part.update_icon()
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 82edb57622c..24bc148cbc4 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -182,6 +182,7 @@ var/global/list/uneatable = list(
consume_range = 4
dissipate = 0 //It cant go smaller due to e loss
if(current_size == allowed_size)
+ investigate_log("grew to size [current_size]","singulo")
return 1
else if(current_size < (--temp_allowed_size))
expand(temp_allowed_size)
diff --git a/config/rules.html b/config/rules.html
index 388d3b34fda..85e80fe72e9 100644
--- a/config/rules.html
+++ b/config/rules.html
@@ -1,7 +1,5 @@
-
-
-
+Server Rules
There are a few notable rules we have here. If you disagree with them, drop by the forums and contribute to the "Server Rules - You Decide" thread.
@@ -26,6 +24,6 @@
The way we play the game isn't everyone's cup of tea. We understand that and we don't fault you if you enjoy more a competitive style of play, but we do expect you to go elsewhere for that.
This is not a comprehensive list. You're using my server and my bandwidth, and as Draconian as it sounds I have the final say on who stays and who goes.
-
+
\ No newline at end of file
diff --git a/interface/interface.dm b/interface/interface.dm
index 0bf2d0ac8bb..f51298e93f0 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -20,4 +20,11 @@
src << link(config.forumurl)
else
src << "\red The forum URL is not set in the server configuration."
- return
\ No newline at end of file
+ return
+
+#define RULES_FILE "config/rules.html"
+/client/verb/rules()
+ set name = "Rules"
+ set desc = "Show Server Rules."
+ set hidden = 1
+ src << browse(file(RULES_FILE), "window=rules;size=480x320")
\ No newline at end of file
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 50dacdae554..5be993d49c7 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -1045,6 +1045,7 @@ window "mapwindow"
text-mode = false
on-show = ".winset\"mainwindow.mainvsplit.left=mapwindow\""
on-hide = ".winset\"mainwindow.mainvsplit.left=\""
+ style = ""
window "outputwindow"
elem "outputwindow"
@@ -1179,6 +1180,34 @@ window "rpane"
splitter = 50
show-splitter = true
lock = none
+ elem "rulesb"
+ type = BUTTON
+ pos = 369,0
+ size = 60x16
+ anchor1 = none
+ anchor2 = none
+ font-family = ""
+ font-size = 0
+ font-style = "bold"
+ text-color = #ffffff
+ background-color = #8080ff
+ is-visible = true
+ is-disabled = false
+ is-transparent = false
+ is-default = false
+ border = none
+ drop-zone = false
+ right-click = false
+ saved-params = "is-checked"
+ on-size = ""
+ text = "Rules"
+ image = ""
+ command = "rules"
+ is-flat = false
+ stretch = false
+ is-checked = false
+ group = "rpanemode"
+ button-type = pushbutton
elem "forumb"
type = BUTTON
pos = 304,0