diff --git a/Scopes Files/admin/secrets.dm b/Scopes Files/admin/secrets.dm
new file mode 100644
index 00000000..d6739986
--- /dev/null
+++ b/Scopes Files/admin/secrets.dm
@@ -0,0 +1,109 @@
+/datum/admins/proc/Secrets()
+ if(!check_rights(0)) return
+
+ var/dat = "The first rule of adminbuse is: you don't talk about the adminbuse.
"
+
+ if(check_rights(R_ADMIN,0))
+ dat += {"
+ Admin Secrets
+
+ Bombing List
+ Show current traitors and objectives
+ Show last [length(lastsignalers)] signalers
+ Show last [length(lawchanges)] law changes
+ Show AI Laws
+ Show Game Mode
+ Show Crew Manifest
+ List DNA (Blood)
+ List Fingerprints
+
+ "}
+
+ if(check_rights(R_FUN,0))
+ dat += {"
+ 'Random' Events
+
+ Toggle station artificial gravity
+ Spawn a wave of meteors (aka lagocolyptic shower)
+ Spawn a gravitational anomaly (aka lagitational anomolag)
+ Spawn wormholes
+ Spawn blob
+ Trigger a Xenomorph infestation
+ Trigger a Cortical Borer infestation
+ Spawn an Alien silently
+ Trigger a Spider infestation
+ Send in a space ninja
+ Send in a strike team
+ Trigger an Carp migration
+ Irradiate the station
+ Trigger a Prison Break
+ Trigger a Virus Outbreak
+ Spawn an Immovable Rod
+ Toggle a "lights out" event
+ Spawn an Ion Storm
+ Spawn Space-Vines
+ Trigger a communication blackout
+
+ Shuttles
+
+ Launch a shuttle
+ Force launch a shuttle
+ "}
+ if(check_rights(R_DEBUG,0))
+ dat += {"
+ These shouldn't be used in game
+ Jump a shuttle
+ Move a shuttle
+ "}
+ if(check_rights(R_FUN,0))
+ dat += {"
+
+ Fun Secrets
+
+ Remove 'internal' clothing
+ Remove ALL clothing
+ Turn all humans into monkeys
+ Remove firesuits, grilles, and pods
+ Make all areas powered
+ Make all areas unpowered
+ Power all SMES
+ Toggle Prison Shuttle Status(Use with S/R)
+ Send Prison Shuttle
+ Return Prison Shuttle
+ Warp all Players to Prison
+ Triple AI mode (needs to be used in the lobby)
+ Everyone is the traitor
+ There can only be one!
+ Ghost Mode
+ Make all players retarded
+ Make all items look like guns
+ Japanese Animes Mode
+ Egalitarian Station Mode
+ Break all lights
+ Fix all lights
+ Best Friend AI
+ The floor is lava! (DANGEROUS: extremely lame)
+ "}
+
+ if(check_rights(R_SERVER,0))
+ dat += "Toggle bomb cap
"
+
+ dat += "
"
+
+ if(check_rights(R_DEBUG|R_DEV,0))
+ dat += {"
+ Security Level Elevated
+
+ Change all maintenance doors to engie/brig access only
+ Change all maintenance doors to brig access only
+ Remove cap on security officers
+
+ Coder Secrets
+
+ Show Job Debug
+ Admin Log
+
+ "}
+
+ usr << browse(dat, "window=secrets")
+ return
\ No newline at end of file
diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm
index 271b76da..083ce666 100644
--- a/code/__HELPERS/logging.dm
+++ b/code/__HELPERS/logging.dm
@@ -108,4 +108,15 @@
C << msg
if(R_ADMIN & C.holder.rights)
if(C.prefs.toggles & CHAT_SCOPES_DEBUG)
- C << msg
\ No newline at end of file
+ C << msg
+
+/proc/msg_scopes_list(var/thing, var/name = "")
+ if(!thing)
+ return
+
+ var/output = "[name]: "
+ for(var/line in thing)
+ output += "[line]"
+ output += " :: "
+
+ msg_scopes(output)
diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm
index ed49a995..02c222fa 100644
--- a/code/game/gamemodes/autotraitor/autotraitor.dm
+++ b/code/game/gamemodes/autotraitor/autotraitor.dm
@@ -43,6 +43,8 @@
if(!possible_traitors.len)
return 0
+ msg_scopes_list(possible_traitors, "possible_traitors")
+
if(config.traitor_scaling)
num_traitors = max_traitors - 1 + prob(traitor_prob)
log_game("Number of traitors: [num_traitors]")
@@ -100,7 +102,7 @@
if(istype(player, "/mob/living/silicon/robot/drone"))
possible_traitors -= player
scopesdebug++
- msg_scopes("possible_traitors [possible_traitors.len]")
+ msg_scopes_list(possible_traitors, "possible_traitors")
if(scopesdebug) //4464-45
diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm
index 034a85cd..9fa8af2f 100644
--- a/code/game/gamemodes/changeling/changeling_powers.dm
+++ b/code/game/gamemodes/changeling/changeling_powers.dm
@@ -695,7 +695,7 @@ var/list/datum/dna/hivemind_bank = list()
var/list/victims = list()
for(var/mob/living/carbon/C in oview(changeling.sting_range))
- if(C.isipc())
+ if(C.get_species() == "Machine")
continue
victims += C
var/mob/living/carbon/T = input(src, "Who will we sting?") as null|anything in victims
diff --git a/code/game/gamemodes/mutiny/mutiny.dm b/code/game/gamemodes/mutiny/mutiny.dm
index 3b968315..a80f4a58 100644
--- a/code/game/gamemodes/mutiny/mutiny.dm
+++ b/code/game/gamemodes/mutiny/mutiny.dm
@@ -266,19 +266,19 @@ datum/game_mode/mutiny
/datum/game_mode/mutiny/pre_setup()
var/list/loyalist_candidates = get_head_loyalist_candidates()
- msg_scopes("Loyalist candidates: [loyalist_candidates]")
+ msg_scopes_list(loyalist_candidates, "Loyalist candidates:")
if(!loyalist_candidates || loyalist_candidates.len == 0)
world << "\red Mutiny mode aborted: no valid candidates for head loyalist."
return 0
var/list/mutineer_candidates = get_head_mutineer_candidates()
- msg_scopes("Mutineer candidates: [mutineer_candidates]")
+ msg_scopes_list(mutineer_candidates, "Mutineer candidates")
if(!mutineer_candidates || mutineer_candidates.len == 0)
world << "\red Mutiny mode aborted: no valid candidates for head mutineer."
return 0
var/list/directive_candidates = get_directive_candidates()
- msg_scopes("Directive candidates: [directive_candidates]")
+ msg_scopes_list(directive_candidates, "Directive candidates")
if(!directive_candidates || directive_candidates.len == 0)
world << "\red Mutiny mode aborted: no valid candidates for Directive X."
return 0
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 08fcc563..379fc577 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -23,9 +23,14 @@
/datum/game_mode/nuclear/announce()
- world << "The current game mode is - Nuclear Emergency!"
- world << "A [syndicate_name()] Strike Force is approaching [station_name()]!"
- world << "A nuclear explosive was being transported by Nanotrasen to a military base. The transport ship mysteriously lost contact with Space Traffic Control (STC). About that time a strange disk was discovered around [station_name()]. It was identified by Nanotrasen as a nuclear auth. disk and now Syndicate Operatives have arrived to retake the disk and detonate SS13! Also, most likely Syndicate star ships are in the vicinity so take care not to lose the disk!\nSyndicate: Reclaim the disk and detonate the nuclear bomb anywhere on SS13.\nPersonnel: Hold the disk and escape with the disk on the shuttle!"
+ if(!config.objectives_disabled)
+ world << "The current game mode is - Nuclear Emergency!"
+ world << "A [syndicate_name()] Strike Force is approaching [station_name()]!"
+ world << "A nuclear explosive was being transported by Nanotrasen to a military base. The transport ship mysteriously lost contact with Space Traffic Control (STC). About that time a strange disk was discovered around [station_name()]. It was identified by Nanotrasen as a nuclear auth. disk and now Syndicate Operatives have arrived to retake the disk and detonate SS13! Also, most likely Syndicate star ships are in the vicinity so take care not to lose the disk!\nSyndicate: Reclaim the disk and detonate the nuclear bomb anywhere on SS13.\nPersonnel: Hold the disk and escape with the disk on the shuttle!"
+ else
+ world << "The current game mode is - Nuclear Emergency!"
+ world << "A [syndicate_name()] is approaching [station_name()]"
+ world << "What are they here for, who knows?"
/datum/game_mode/nuclear/can_start()//This could be better, will likely have to recode it later
if(!..())
diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm
index d903c7c3..5fc4a3c3 100644
--- a/code/game/gamemodes/vampire/vampire_powers.dm
+++ b/code/game/gamemodes/vampire/vampire_powers.dm
@@ -41,7 +41,7 @@
//Chaplains are resistant to vampire powers
if(mind && mind.assigned_role == "Chaplain")
return 0
- if(mind && mind.current.isipc())//Not sure if this should be here but we can easily override.
+ if(get_species() == "Machine")
return 0
//Vampires who have reached their full potential can affect nearly everything
if(M && M.vampire && (VAMP_FULL in M.vampire.powers))
@@ -154,7 +154,7 @@
if(C==usr)
M.current << "\red You can't do that to yourself"
return
- if(C.isipc())
+ if(C.get_species() == "Machine")
M.current << "\red You can't to that to a machine"
return
if(!M.current.vampire_can_reach(C, 1))
@@ -216,7 +216,7 @@
return
for(var/mob/living/carbon/C in view(1))
if(!C.vampire_affected(M))
- if(!C.isipc())
+ if(!C.get_species() == "Machine")
continue
if(!M.current.vampire_can_reach(C, 1)) continue
// C.Stun(8)
@@ -251,7 +251,7 @@
if(C == M.current) continue
if(ishuman(C) && (C:l_ear || C:r_ear) && istype((C:l_ear || C:r_ear), /obj/item/clothing/ears/earmuffs)) continue
if(!C.vampire_affected(M))
- if(!C.isipc())
+ if(!C.get_species() == "Machine")
continue
C << "You hear a ear piercing shriek and your senses dull!"
C.Weaken(5)
@@ -277,7 +277,7 @@
if(C==usr)
M.current << "\red You can't do that to yourself"
return
- if(C.isipc())
+ if(C.get_species() == "Machine")
M.current << "\red You can only enthrall humans"
return
M.current.visible_message("\red [M.current.name] bites [C.name]'s neck!", "\red You bite [C.name]'s neck and begin the flow of power.")
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index fbd50ddf..0d36b253 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -833,8 +833,8 @@
M << "\red You have been kicked from the server"
else
M << "\red You have been kicked from the server: [reason]"
- log_admin("[key_name(usr)] booted [key_name(M)].")
- message_admins("\blue [key_name_admin(usr)] booted [key_name_admin(M)].", 1)
+ log_admin("[key_name(usr)] booted [key_name(M)]for : [reason].")
+ message_admins("\blue [key_name_admin(usr)] booted [key_name_admin(M)] for: [reason].", 1)
//M.client = null
del(M.client)
/*
diff --git a/code/modules/aurora/bluespacetech.dm b/code/modules/aurora/bluespacetech.dm
index 88de98fc..eaaed2e5 100644
--- a/code/modules/aurora/bluespacetech.dm
+++ b/code/modules/aurora/bluespacetech.dm
@@ -59,8 +59,14 @@
bst.equip_to_slot_or_del(new /obj/item/weapon/storage/box/ids(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/t_scanner(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/signaltool(bst.back), slot_in_backpack)
- bst.equip_to_slot_or_del(new /obj/item/device/multitool(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/pda/captain/bst(bst.back), slot_in_backpack)
+ bst.equip_to_slot_or_del(new /obj/item/device/multitool(bst.back), slot_in_backpack)
+
+ var/obj/item/weapon/storage/box/pills = new /obj/item/weapon/storage/box
+ pills.name = "adminordrazine"
+ for(var/i = 1, i < 12, i++)
+ new /obj/item/weapon/reagent_containers/pill/adminordrazine(pills)
+ bst.equip_to_slot_or_del(pills, slot_in_backpack)
//Implant because access
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(bst)
@@ -99,11 +105,6 @@
bst.add_language("Robot Talk")
bst.add_language("Drone Talk")
-/* bst.bluespace_trail.set_up(src)
- bst.bluespace_trail.start()
- spawn(100)
- bst.bluepsace_trail.stop()
-*/
spawn(5)
s.start()
bst.anchored = 0
@@ -117,7 +118,6 @@
/mob/living/carbon/human/bst
universal_understand = 1
status_flags = GODMODE
- var/bluespace_trail = new /datum/effect/effect/system/ion_trail_follow
can_inject(var/mob/user, var/error_msg, var/target_zone)
user << "The [src] disarms you before you can inject them."
@@ -271,6 +271,22 @@
src << "\blue You will no-longer phase through solid matter."
return
+ verb/bstrecover()
+ set name = "Rejuv"
+ set desc = "Use the bluespace within you to restore your health"
+ set category = "BST"
+ set popup_menu = 0
+
+ src.revive()
+
+ verb/bstawake()
+ set name = "Wake up"
+ set desc = "This is a quick fix to the reloging sleep bug"
+ set category = "BST"
+ set popup_menu = 0
+
+ src.sleeping = 0
+
//Equipment. All should have canremove set to 0
//All items with a /bst need the attack_hand() proc overrided to stop people getting overpowered items.
@@ -421,4 +437,5 @@
..()
/mob/living/carbon/human/bst/restrained()
- return 0
\ No newline at end of file
+ return 0
+
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index a18e79a0..d231544e 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -39,12 +39,7 @@
/mob/living/carbon/human/machine/New(var/new_loc)
h_style = "blue IPC screen"
..(new_loc, "Machine")
-*/
-/mob/living/carbon/human/machine/isipc()
- return 1
-
-/*
/mob/living/carbon/human/kocasslani/New(var/new_loc)
h_style = "Bald"
..(new_loc, "Kocasslani")
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 612f26bd..855d256b 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -130,7 +130,7 @@
if(mind && mind.vampire && (mind in ticker.mode.vampires))
M << "\red Your fangs fail to pierce [src.name]'s cold flesh"
return 0
- if(isipc())
+ if(get_species() == "Machine")
M << "\red They have no blood"
return 0
//we're good to suck the blood, blaah
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index fc752310..946e0bfe 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -217,10 +217,4 @@
if(fire_stacks > 9 && !on_fire)
IgniteMob()
-//Mobs on Fire end
-
-//Why did I place it here?
-//Remind me to place this somewhere else
-//I sware this uses less memory
-/mob/living/proc/isipc()
- return 0
+//Mobs on Fire end
\ No newline at end of file