diff --git a/Scopes Files/gravitygenerator.dm b/Scopes Files/gravitygenerator.dm
index 245449aa..18d1e09b 100644
--- a/Scopes Files/gravitygenerator.dm
+++ b/Scopes Files/gravitygenerator.dm
@@ -346,6 +346,8 @@ var/list/gravity_field_generators = list() // We will keep track of this by addi
gravity_is_on = 0
investigate_log("was brought offline and there is now no gravity for this level.", "gravity")
message_admins("The gravity generator was brought offline with no backup generator. ([area.name])")
+ message_mods("The gravity generator was brought offline with no backup generator. ([area.name])")
+
update_icon()
update_list()
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index c8391ce3..6d65fcec 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -933,7 +933,6 @@ client
if(amount != 0)
log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
message_admins("\blue [key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
- msg_scopes("\blue [key_name(usr)] dealt [amount] amount of [Text] damage to [L] ", 1)
href_list["datumrefresh"] = href_list["mobToDamage"]
if(href_list["datumrefresh"])
diff --git a/code/game/gamemodes/revolution/rp-revolution.dm b/code/game/gamemodes/revolution/rp-revolution.dm
index 2fdf8af2..25858c30 100644
--- a/code/game/gamemodes/revolution/rp-revolution.dm
+++ b/code/game/gamemodes/revolution/rp-revolution.dm
@@ -296,6 +296,7 @@ mob/living/carbon/human/proc
src << "\red Attempting to convert [M]..."
log_admin("[src]([src.ckey]) attempted to convert [M].")
message_admins("\red [src]([src.ckey]) attempted to convert [M].")
+ message_mods("\red [src]([src.ckey]) attempted to convert [M].")
var/choice = alert(M,"Asked by [src]: Do you want to join the revolution?","Align Thyself with the Revolution!","No!","Yes!")
if(choice == "Yes!")
ticker.mode:add_revolutionary(M.mind)
diff --git a/code/game/gamemodes/revolution/rp_revolution.dm b/code/game/gamemodes/revolution/rp_revolution.dm
index fa64d90b..88ca9af0 100644
--- a/code/game/gamemodes/revolution/rp_revolution.dm
+++ b/code/game/gamemodes/revolution/rp_revolution.dm
@@ -186,6 +186,7 @@
src << "\red Attempting to convert [M]..."
log_admin("[src]([src.ckey]) attempted to convert [M].")
message_admins("\red [src]([src.ckey]) attempted to convert [M].")
+ message_mods("\red [src]([src.ckey]) attempted to convert [M].")
var/choice = alert(M,"Asked by [src]: Do you want to join the revolution?","Align Thyself with the Revolution!","No!","Yes!")
if(choice == "Yes!")
ticker.mode:add_revolutionary(M.mind)
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index f4a80c0a..9647d427 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -148,9 +148,11 @@
emagged = !emagged
if(emagged)
message_admins("[key_name_admin(usr)] overrode the holodeck's safeties")
+ message_mods("[key_name_admin(usr)] overrode the holodeck's safeties")
log_game("[key_name(usr)] overrided the holodeck's safeties")
else
message_admins("[key_name_admin(usr)] restored the holodeck's safeties")
+ message_mods("[key_name_admin(usr)] restored the holodeck's safeties")
log_game("[key_name(usr)] restored the holodeck's safeties")
src.add_fingerprint(usr)
@@ -447,7 +449,7 @@
if(isrobot(user))
return
-
+
..()
/obj/structure/table/holotable/wood
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 4cc773c5..ac066bf5 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -158,6 +158,7 @@
new /obj/effect/spawner/newbomb/timer/syndicate(src.loc)
new /obj/item/clothing/head/collectable/petehat(src.loc)
message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
+ message_mods("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
log_game("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.")
src.New()
emagged = 0
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 157e9622..4ddb45ad 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -552,6 +552,7 @@
emergency_shuttle.incall(2)
log_game("All the AIs, comm consoles and boards are destroyed. Shuttle called.")
message_admins("All the AIs, comm consoles and boards are destroyed. Shuttle called.", 1)
+ message_mods("All the AIs, comm consoles and boards are destroyed. Shuttle called.")
captain_announce("The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.")
world << sound('sound/AI/shuttlecalled.ogg')
diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index cdce6fdf..ed7c05d4 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -122,6 +122,7 @@
if(src.check_access(I))
if (!status)
message_admins("\blue [key_name_admin(usr)] has initiated the global cyborg killswitch!")
+ message_mods("\blue [key_name_admin(usr)] has initiated the global cyborg killswitch!")
log_game("\blue [key_name(usr)] has initiated the global cyborg killswitch!")
src.status = 1
src.start_sequence()
@@ -167,6 +168,7 @@
else
message_admins("\blue [key_name_admin(usr)] detonated [R.name]!")
+ message_mods("\blue [key_name_admin(usr)] detonated [R.name]!")
log_game("\blue [key_name_admin(usr)] detonated [R.name]!")
R.self_destruct()
else
@@ -180,6 +182,7 @@
if(choice == "Confirm")
if(R && istype(R))
message_admins("\blue [key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!")
+ message_mods("\blue [key_name_admin(usr)] [R.canmove ? "locked down" : "released"] [R.name]!")
log_game("[key_name(usr)] [R.canmove ? "locked down" : "released"] [R.name]!")
R.canmove = !R.canmove
if (R.lockcharge)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 2f85c5f2..88649b08 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -324,6 +324,7 @@ obj/machinery/computer/cryopod/Topic(href, href_list)
// Book keeping!
log_admin("[key_name_admin(M)] has entered a stasis pod.")
message_admins("\blue [key_name_admin(M)] has entered a stasis pod.")
+ message_mods("\blue [key_name_admin(M)] has entered a stasis pod.")
//Despawning occurs when process() is called with an occupant without a client.
src.add_fingerprint(M)
diff --git a/code/game/objects/effects/chemsmoke.dm b/code/game/objects/effects/chemsmoke.dm
index 4c245b78..9e107ebb 100644
--- a/code/game/objects/effects/chemsmoke.dm
+++ b/code/game/objects/effects/chemsmoke.dm
@@ -86,7 +86,7 @@
message_admins("A chemical smoke reaction has taken place in ([whereLink])[contained]. Last associated key is [carry.my_atom.fingerprintslast][more].", 0, 1)
log_game("A chemical smoke reaction has taken place in ([where])[contained]. Last associated key is [carry.my_atom.fingerprintslast].")
else
- message_admins("A chemical smoke reaction has taken place in ([whereLink]). No associated key.", 0, 1)
+ message_admins("A chemical smoke reaction has taken place in ([whereLink])[contained]. No associated key.", 0, 1)
log_game("A chemical smoke reaction has taken place in ([where])[contained]. No associated key.")
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 6b6c45ab..9538cd81 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -760,10 +760,12 @@ var/global/list/obj/item/device/pda/PDAs = list()
detonate_act(src)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge but failed, blowing themselves up")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed.", 1)
+ message_mods("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge but failed.")
else
U.show_message("\blue Success!", 1)
log_admin("[key_name(U)] just attempted to blow up [P] with the Detomatix cartridge and succeeded")
message_admins("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeeded.", 1)
+ message_mods("[key_name_admin(U)] just attempted to blow up [P] with the Detomatix cartridge and succeeded.")
detonate_act(P)
else
U << "No charges left."
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 7baa2e98..7c7a7153 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -52,6 +52,7 @@
bombers += "[key_name(user)] attached a [item] to a transfer valve."
message_admins("[key_name_admin(user)] attached a [item] to a transfer valve.")
+ message_mods("[key_name_admin(user)] attached a [item] to a transfer valve.")
log_game("[key_name_admin(user)] attached a [item] to a transfer valve.")
attacher = user
nanomanager.update_uis(src) // update all UIs attached to src
@@ -66,7 +67,7 @@
/obj/item/device/transfer_valve/attack_self(mob/user as mob)
ui_interact(user)
-
+
/obj/item/device/transfer_valve/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
// this is the data which will be sent to the ui
@@ -77,13 +78,13 @@
data["valveOpen"] = valve_open ? 1 : 0
// update the ui if it exists, returns null if no ui is passed/found
- ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
+ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data)
if (!ui)
// the ui does not exist, so we'll create a new() one
// for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm
ui = new(user, src, ui_key, "transfer_valve.tmpl", "Tank Transfer Valve", 460, 280)
// when the ui is first opened this is the data it will use
- ui.set_initial_data(data)
+ ui.set_initial_data(data)
// open the new ui window
ui.open()
// auto update every Master Controller tick
@@ -191,6 +192,7 @@
log_str += " Last touched by: [src.fingerprintslast][last_touch_info]"
bombers += log_str
message_admins(log_str, 0, 1)
+ message_mods(log_str)
log_game(log_str)
merge_gases()
spawn(20) // In case one tank bursts
diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm
index 39598e61..e65abf26 100644
--- a/code/game/objects/items/weapons/dna_injector.dm
+++ b/code/game/objects/items/weapons/dna_injector.dm
@@ -128,6 +128,7 @@
testing("Isolated block [block] injector with contents: [GetValue()]")
if (GetState() && block == MONKEYBLOCK && istype(M, /mob/living/carbon/human) )
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
+ message_mods("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name] (MONKEY)")
log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
else
@@ -136,6 +137,7 @@
testing("DNA injector with contents: [english_list(buf.dna.SE)]")
if (GetState(MONKEYBLOCK) && istype(M, /mob/living/carbon/human) )
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
+ message_mods("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
log_attack("[key_name(user)] injected [key_name(M)] with the [name] (MONKEY)")
log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
else
@@ -163,6 +165,7 @@
testing("Isolated block [block] injector with contents: [GetValue()]")
if (GetState() && block == MONKEYBLOCK && istype(M, /mob/living/carbon/human) )
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
+ message_mods("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
log_attack("[key_name(user)] injected [key_name(M)] with the Isolated [name] (MONKEY)")
log_game("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] \red(MONKEY)")
else
@@ -171,6 +174,7 @@
testing("DNA injector with contents: [english_list(buf.dna.SE)]")
if (GetState(MONKEYBLOCK) && istype(M, /mob/living/carbon/human))
message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
+ message_mods("[key_name_admin(user)] injected [key_name_admin(M)] with the [name] \red(MONKEY)")
log_game("[key_name(user)] injected [key_name(M)] with the [name] (MONKEY)")
else
// message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the [name]")
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index 0a7e2a51..eb98d587 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -163,6 +163,7 @@ Implant Specifics:
"}
if(istype(imp_in, /mob/))
var/mob/T = imp_in
message_admins("Explosive implant triggered in [T] ([T.key]). (JMP) ")
+ message_mods("Explosive implant triggered in [T] ([T.key]). (JMP) ")
log_game("Explosive implant triggered in [T] ([T.key]).")
need_gib = 1
diff --git a/code/game/objects/items/weapons/syndie.dm b/code/game/objects/items/weapons/syndie.dm
index 4593bf93..a4da7142 100644
--- a/code/game/objects/items/weapons/syndie.dm
+++ b/code/game/objects/items/weapons/syndie.dm
@@ -77,6 +77,7 @@
src.bomb.detonate()
log_admin("[user.real_name]([user.ckey]) has triggered [src.bomb] with [src].")
message_admins("\red [user.real_name]([user.ckey]) has triggered [src.bomb] with [src].")
+ message_mods("\red [user.real_name]([user.ckey]) has triggered [src.bomb] with [src].")
if("Close the lighter.")
src.icon_state = "c-4detonator_0"
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index d1e94df9..9c8dd739 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -27,7 +27,7 @@
src.air_contents.volume = volume //liters
src.air_contents.temperature = T20C
- processing_objects.Add(src)
+ processing_objects.Add(src)
return
/obj/item/weapon/tank/Del()
@@ -141,8 +141,8 @@
data["defaultReleasePressure"] = round(TANK_DEFAULT_RELEASE_PRESSURE)
data["maxReleasePressure"] = round(TANK_MAX_RELEASE_PRESSURE)
data["valveOpen"] = using_internal ? 1 : 0
-
- data["maskConnected"] = 0
+
+ data["maskConnected"] = 0
if(istype(loc,/mob/living/carbon))
var/mob/living/carbon/location = loc
if(location.internal == src || (location.wear_mask && (location.wear_mask.flags & MASKINTERNALS)))
@@ -239,6 +239,7 @@
if(pressure > TANK_FRAGMENT_PRESSURE)
if(!istype(src.loc,/obj/item/device/transfer_valve))
message_admins("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
+ message_mods("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
log_game("Explosive tank rupture! last key to touch the tank was [src.fingerprintslast].")
//world << "\blue[x],[y] tank is exploding: [pressure] kPa"
//Give the gas a chance to build up more pressure through reacting
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index eb922967..974655df 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -260,6 +260,7 @@
tank.armed = 1
user.visible_message("[user] begins heating the [O].", "You start to heat the [O].")
message_admins("[key_name_admin(user)] is attempting a welder bomb at ([loc.x],[loc.y],[loc.z]) - JMP")
+ message_mods("[key_name_admin(user)] is attempting a welder bomb at ([loc.x],[loc.y],[loc.z]) - JMP")
if(do_after(user,100))
// var/obj/structure/reagent_dispensers/fueltank/tank = O
if(tank.defuse)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index c0619058..3380fd58 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -14,7 +14,7 @@ var/global/floorIsLava = 0
/proc/message_mods(var/msg)
msg = "MOD LOG: [msg]"
for(var/client/C in admins)
- if(R_MOD & C.holder.rights)
+ if(R_MOD & C.holder.rights && !(R_ADMIN & C.holder.rights))
C << msg
/proc/msg_admin_attack(var/text) //Toggleable Attack Messages
@@ -872,6 +872,7 @@ var/global/floorIsLava = 0
ticker.delay_end = !ticker.delay_end
log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
+ message_mods("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
return //alert("Round end delayed", null, null, null, null, null)
going = !( going )
if (!( going ))
@@ -1249,6 +1250,7 @@ proc/move_alien_ship()
log_admin("[key_name(usr)] winded [key_name(M)]!")
message_admins("[key_name_admin(usr)] winded [key_name_admin(M)]!", 1)
+ message_mods("[key_name_admin(usr)] winded [key_name_admin(M)]!")
// feedback_add_details("admin_verb","WIND") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
// Chop chop.
return
@@ -1261,4 +1263,5 @@ proc/move_alien_ship()
log_admin("[key_name(usr)] unwinded [key_name(M)]!")
message_admins("[key_name_admin(usr)] unwinded [key_name_admin(M)]!", 1)
+ message_mods("[key_name_admin(usr)] unwinded [key_name_admin(M)]!", 1)
return
\ No newline at end of file
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 25ad7724..a36c1aa6 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -546,18 +546,22 @@ var/list/admin_verbs_mod = list(
ban_unban_log_save("[ckey] warned [warned_ckey], resulting in a [AUTOBANTIME] minute autoban.")
if(C)
message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.")
+ message_mods("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.")
C << "You have been autobanned due to a warning by [ckey].
This is a temporary ban, it will be removed in [AUTOBANTIME] minutes."
del(C)
else
message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.")
+ message_mods("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.")
AddBan(warned_ckey, D.last_id, "Autobanning due to too many formal warnings", ckey, 1, AUTOBANTIME)
feedback_inc("ban_warn",1)
else
if(C)
C << "You have been formally warned by an administrator.
Further warnings will result in an autoban."
message_admins("[key_name_admin(src)] has warned [key_name_admin(C)]. They have [MAX_WARNS-D.warns] strikes remaining.")
+ message_mods("[key_name_admin(src)] has warned [key_name_admin(C)]. They have [MAX_WARNS-D.warns] strikes remaining.")
else
message_admins("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
+ message_mods("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
feedback_add_details("admin_verb","WARN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 0962598b..17dd1f06 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -248,6 +248,7 @@
ticker.delay_end = !ticker.delay_end
log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
+ message_mods("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
href_list["secretsadmin"] = "check_antagonist"
else if(href_list["simplemake"])
@@ -1524,6 +1525,7 @@
src.owner << "Message reply to transmitted successfully."
log_admin("[key_name(src.owner)] replied to a fax message from [key_name(H)]: [input]")
message_admins("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)]", 1)
+ message_mods("[key_name_admin(src.owner)] replied to a fax message from [key_name_admin(H)]")
else if(href_list["jumpto"])
diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm
index 303b1140..7d4e05f9 100644
--- a/code/modules/assembly/bomb.dm
+++ b/code/modules/assembly/bomb.dm
@@ -46,6 +46,7 @@
status = 1
bombers += "[key_name(user)] welded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]"
message_admins("[key_name_admin(user)] welded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]")
+ message_mods("[key_name_admin(user)] welded a single tank bomb. Temp: [bombtank.air_contents.temperature-T0C]")
user << "A pressure hole has been bored to [bombtank] valve. \The [bombtank] can now be ignited."
else
status = 0
diff --git a/code/modules/aurora/weldbackpack.dm b/code/modules/aurora/weldbackpack.dm
index 1bbedce2..7d7c9d61 100644
--- a/code/modules/aurora/weldbackpack.dm
+++ b/code/modules/aurora/weldbackpack.dm
@@ -18,6 +18,7 @@
var/obj/item/weapon/weldingtool/T = W
if(T.welding & prob(50))
message_admins("[key_name_admin(user)] triggered a welderpack explosion at ([loc.x],[loc.y],[loc.z]) - JMP")
+ message_mods("[key_name_admin(user)] triggered a welderpack explosion at ([loc.x],[loc.y],[loc.z]) - JMP")
log_game("[key_name(user)] triggered a fueltank explosion.")
user << "\red That was stupid of you."
explosion(get_turf(src),-1,0,2)
diff --git a/code/modules/mob/living/silicon/ai/death.dm b/code/modules/mob/living/silicon/ai/death.dm
index 52b59873..d95f9c19 100644
--- a/code/modules/mob/living/silicon/ai/death.dm
+++ b/code/modules/mob/living/silicon/ai/death.dm
@@ -42,6 +42,7 @@
emergency_shuttle.incall(2)
log_game("All the AIs, comm consoles and boards are destroyed. Shuttle called.")
message_admins("All the AIs, comm consoles and boards are destroyed. Shuttle called.", 1)
+ message_mods("All the AIs, comm consoles and boards are destroyed. Shuttle called.")
captain_announce("The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes.")
world << sound('sound/AI/shuttlecalled.ogg')
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm
index 82ee8c50..73727f8e 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm
@@ -90,6 +90,7 @@
if(D.stat != 2)
usr << "\red You issue a kill command for the unfortunate drone."
message_admins("[key_name_admin(usr)] issued kill order for drone [key_name_admin(D)] from control console.")
+ message_mods("[key_name_admin(usr)] issued kill order for drone [key_name_admin(D)] from control console.")
log_game("[key_name(usr)] issued kill order for [key_name(src)] from control console.")
D.shut_down()
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 407ef126..16a3b62a 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -731,6 +731,7 @@
connected_ai = null
user << "You emag [src]'s interface."
message_admins("[key_name_admin(user)] emagged cyborg [key_name_admin(src)]. Laws overridden.")
+ message_mods("[key_name_admin(user)] emagged cyborg [key_name_admin(src)]. Laws overridden.")
log_game("[key_name(user)] emagged cyborg [key_name(src)]. Laws overridden.")
clear_supplied_laws()
clear_inherent_laws()
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index 2460285a..77cfef8b 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -7,6 +7,7 @@
var/admins_number = admins.len
message_admins("Admin logout: [key_name(src)]")
+ message_mods("Staff logout: [key_name(src)]")
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
send2adminirc("[key_name(src)] logged out - no more admins online.")
..()
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 03fddfb8..1d374f73 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -82,7 +82,8 @@
rigged = 1
log_admin("LOG: [user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
- message_admins("LOG: [user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
+ message_admins("[user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
+ message_mods("[user.name] ([user.ckey]) injected a power cell with plasma, rigging it to explode.")
S.reagents.clear_reagents()
@@ -108,7 +109,8 @@
//explosion(T, 0, 1, 2, 2)
log_admin("LOG: Rigged power cell explosion, last touched by [fingerprintslast]")
- message_admins("LOG: Rigged power cell explosion, last touched by [fingerprintslast]")
+ message_admins("Rigged power cell explosion, last touched by [fingerprintslast]")
+ message_mods("Rigged power cell explosion, last touched by [fingerprintslast]")
explosion(T, devastation_range, heavy_impact_range, light_impact_range, flash_range)
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 357f3587..2197fc5c 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -287,7 +287,8 @@
if(status == LIGHT_OK && trigger)
log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast]")
- message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast]")
+ message_admins("Rigged light explosion, last touched by [fingerprintslast]")
+ message_mods("Rigged light explosion, last touched by [fingerprintslast]")
explode()
else if( prob( min(60, switchcount*switchcount*0.01) ) )
@@ -365,7 +366,8 @@
if(on && rigged)
log_admin("LOG: Rigged light explosion, last touched by [fingerprintslast]")
- message_admins("LOG: Rigged light explosion, last touched by [fingerprintslast]")
+ message_admins("Rigged light explosion, last touched by [fingerprintslast]")
+ message_mods("Rigged light explosion, last touched by [fingerprintslast]")
explode()
else
@@ -723,7 +725,8 @@
if(S.reagents.has_reagent("plasma", 5))
log_admin("LOG: [user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
- message_admins("LOG: [user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
+ message_admins("[user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
+ message_mods("[user.name] ([user.ckey]) injected a light with plasma, rigging it to explode.")
rigged = 1
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index cbacdd7b..0a22877d 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -41,6 +41,7 @@
/obj/machinery/power/emitter/Del()
message_admins("Emitter deleted at ([x],[y],[z] - JMP)",0,1)
+ message_mods("Emitter deleted at ([x],[y],[z] - JMP)",0,1)
log_game("Emitter deleted at ([x],[y],[z])")
investigate_log("deleted at ([x],[y],[z])","singulo")
..()
@@ -63,6 +64,7 @@
src.active = 0
user << "You turn off the [src]."
message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ message_mods("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Emitter turned off by [user.ckey]([user]) in ([x],[y],[z])")
investigate_log("turned off by [user.key]","singulo")
else
@@ -71,6 +73,7 @@
src.shot_number = 0
src.fire_delay = 100
message_admins("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ message_mods("Emitter turned on by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1)
log_game("Emitter turned on by [user.ckey]([user]) in ([x],[y],[z])")
investigate_log("turned on by [user.key]","singulo")
update_icon()
diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm
index 599d0af3..cdc4013d 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_control.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_control.dm
@@ -88,6 +88,7 @@
src.toggle_power()
investigate_log("turned [active?"ON":"OFF"] by [usr.key]","singulo")
message_admins("PA Control Computer turned [active?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ message_mods("PA Control Computer turned [active?"ON":"OFF"] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)")
log_game("PA Control Computer turned [active?"ON":"OFF"] by [usr.ckey]([usr]) in ([x],[y],[z])")
else if(href_list["scan"])
src.part_scan()
@@ -97,6 +98,7 @@
strength = 2
else
message_admins("PA Control Computer increased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ message_mods("PA Control Computer increased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)")
log_game("PA Control Computer increased to [strength] by [usr.ckey]([usr]) in ([x],[y],[z])")
investigate_log("increased to [strength] by [usr.key]","singulo")
for(var/obj/structure/particle_accelerator/part in connected_parts)
@@ -109,6 +111,7 @@
strength = 0
else
message_admins("PA Control Computer decreased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)",0,1)
+ message_mods("PA Control Computer decreased to [strength] by [key_name(usr, usr.client)](?) in ([x],[y],[z] - JMP)")
log_game("PA Control Computer decreased to [strength] by [usr.ckey]([usr]) in ([x],[y],[z])")
investigate_log("decreased to [strength] by [usr.key]","singulo")
for(var/obj/structure/particle_accelerator/part in connected_parts)
diff --git a/code/modules/projectiles/guns/projectile/rocket.dm b/code/modules/projectiles/guns/projectile/rocket.dm
index a1575b93..bcf183cf 100644
--- a/code/modules/projectiles/guns/projectile/rocket.dm
+++ b/code/modules/projectiles/guns/projectile/rocket.dm
@@ -45,6 +45,7 @@
M.primed = 1
M.throw_at(target, missile_range, missile_speed)
message_admins("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]).")
+ message_mods("[key_name_admin(user)] fired a rocket from a rocket launcher ([src.name]).")
log_game("[key_name_admin(user)] used a rocket launcher ([src.name]).")
rockets -= I
del(I)
diff --git a/code/modules/reagents/grenade_launcher.dm b/code/modules/reagents/grenade_launcher.dm
index 0ea66d79..ce8c7f2e 100644
--- a/code/modules/reagents/grenade_launcher.dm
+++ b/code/modules/reagents/grenade_launcher.dm
@@ -58,6 +58,7 @@
F.loc = user.loc
F.throw_at(target, 30, 2)
message_admins("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
+ message_mods("[key_name_admin(user)] fired a grenade ([F.name]) from a grenade launcher ([src.name]).")
log_game("[key_name_admin(user)] used a grenade ([src.name]).")
F.active = 1
F.icon_state = initial(icon_state) + "_active"
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index fe6e1dd0..70908cfe 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -122,6 +122,7 @@
modded = modded ? 0 : 1
if (modded)
message_admins("[key_name_admin(user)] opened fueltank at ([loc.x],[loc.y],[loc.z]) - JMP.")
+ message_mods("[key_name_admin(user)] opened fueltank at ([loc.x],[loc.y],[loc.z]) - JMP.")
leak_fuel(amount_per_transfer_from_this)
if (istype(W,/obj/item/device/assembly_holder))
if (rig)
@@ -134,6 +135,7 @@
var/obj/item/device/assembly_holder/H = W
if (istype(H.a_left,/obj/item/device/assembly/igniter) || istype(H.a_right,/obj/item/device/assembly/igniter))
message_admins("[key_name_admin(user)] rigged fueltank at ([loc.x],[loc.y],[loc.z]) for explosion - JMP.")
+ message_mods("[key_name_admin(user)] rigged fueltank at ([loc.x],[loc.y],[loc.z]) for explosion - JMP.")
log_game("[key_name(user)] rigged fueltank at ([loc.x],[loc.y],[loc.z]) for explosion.")
rig = W
@@ -153,10 +155,12 @@
if(!src.defuse && user.client.holder)
src.defuse = 1
message_admins("[key_name_admin(user)] defused fueltank at ([loc.x],[loc.y],[loc.z]).")
+ message_mods("[key_name_admin(user)] defused fueltank at ([loc.x],[loc.y],[loc.z]).")
else
if(!src.armed && user.client.holder)
src.defuse = 0
message_admins("[key_name_admin(user)] reset fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
+ message_mods("[key_name_admin(user)] reset fuse on fueltank at ([loc.x],[loc.y],[loc.z]).")
/obj/structure/reagent_dispensers/fueltank/bullet_act(var/obj/item/projectile/Proj)
if(istype(Proj ,/obj/item/projectile/beam)||istype(Proj,/obj/item/projectile/bullet))
diff --git a/html/changelog.html b/html/changelog.html
index f9e4209e..7684c358 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -57,16 +57,32 @@ should be listed in the changelog upon commit though. Thanks. -->
-
13 September 2014
+
17 September 2014
SoundScopes updated:
- Forensics
+ - Admin - Area make sound
+ - Admin - Mod Logs similar to admin logs for better modding abillitys
+ - All staff get a message if a chat channel is muted when they login
- Custom Loadout - Berets
- Custom Loadout - Universal Recorder
- Custom Loadout - Camera
- Custom Loadout - Clipboard
+ - Custom Loadout - Briefcase
+ - Custom Loadout - Zippo lighter
+ - Custom Loadout - Flask
+ - Custom Loadout - Red and Blue pens
- Poisonous plants you'll now eat in a single bite
- Death nettles buffed significantly
+ - Vampire - Hypnotize now a free power with increased cooldown time
+ - Vampire - Vampjaunt brought back down to thirty
+ - Vampire - Holy water ignites and burns vamps
+ - Vampire - Health and Damage lowered on bats
+ - All energy weapons made more accurate.
+ - AI's can only message centcom every 10 minutes.
+ - Tajaran & Unathi Medical Hardsuit Helmet actually go on their head
+ - IPC's can't be vamps or changelings (Actual fix)
+ - medical hardsuit helmet
- Tcomms runtime fix. NOTE: Rest of Tcomms does not actually work
- New hairstyles