diff --git a/code/WorkInProgress/mapload/reader.dm b/code/WorkInProgress/mapload/reader.dm
index 57b76a4bd8..755b96fc2d 100644
--- a/code/WorkInProgress/mapload/reader.dm
+++ b/code/WorkInProgress/mapload/reader.dm
@@ -158,7 +158,7 @@ dmm_suite/preloader
set name = "LoadMap"
set desc = "Loads a map"
set hidden = 1
- if(src.authenticated && src.holder)
+ if(src.holder)
if(!src.mob)
return
if(src.holder.rank in list("Game Admin", "Game Master"))
diff --git a/code/datums/configuration.dm b/code/datums/configuration.dm
index d1fc6c29bd..a7d0350850 100644
--- a/code/datums/configuration.dm
+++ b/code/datums/configuration.dm
@@ -2,9 +2,6 @@
var/server_name = null // server name (for world name / status)
var/server_suffix = 0 // generate numeric suffix based on server port
- var/medal_hub = null // medal hub name
- var/medal_password = null // medal hub password
-
var/log_ooc = 0 // log OOC channek
var/log_access = 0 // log login/logout
var/log_say = 0 // log client say
@@ -27,13 +24,14 @@
var/vote_period = 60 // length of voting period (seconds, default 1 minute)
var/vote_no_default = 0 // vote does not default to nochange/norestart (tbi)
var/vote_no_dead = 0 // dead people can't vote (tbi)
- var/enable_authentication = 0 // goon authentication
+// var/enable_authentication = 0 // goon authentication
var/del_new_on_log = 1 // del's new players if they log before they spawn in
var/feature_object_spell_system = 0 //spawns a spellbook which gives object-type spells instead of verb-type spells for the wizard
- var/traitor_scaling = 0 //if amount of traitors scales based on amount of players
+ var/traitor_scaling = 0 //if amount of traitors scales based on amount of players
var/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other
var/Tensioner_Active = 0 // If the tensioner is running.
- var/allow_Metadata = 0 // Metadata is suported.
+ var/allow_Metadata = 0 // Metadata is supported.
+ var/popup_admin_pm = 0 //adminPMs to non-admins show in a pop-up 'reply' window when set to 1.
var/list/mode_names = list()
var/list/modes = list() // allowed modes
@@ -195,8 +193,8 @@
if ("allow_ai")
config.allow_ai = 1
- if ("authentication")
- config.enable_authentication = 1
+// if ("authentication")
+// config.enable_authentication = 1
if ("norespawn")
config.respawn = 0
@@ -207,12 +205,6 @@
if ("serversuffix")
config.server_suffix = 1
- if ("medalhub")
- config.medal_hub = value
-
- if ("medalpass")
- config.medal_password = value
-
if ("hostedby")
config.hostedby = value
@@ -288,6 +280,9 @@
if("forbid_singulo_possession")
forbid_singulo_possession = 1
+ if("popup_admin_pm")
+ config.popup_admin_pm = 1
+
if("useircbot")
useircbot = 1
diff --git a/code/defines/client.dm b/code/defines/client.dm
index bc2c682ac6..db41303a68 100644
--- a/code/defines/client.dm
+++ b/code/defines/client.dm
@@ -15,9 +15,9 @@
//END Admin Things
//Key auth things
- authenticate = 0
- var/authenticated = 0
- var/authenticating = 0
+// authenticate = 0
+// var/authenticated = 0
+// var/authenticating = 0
var/listen_ooc = 1
var/move_delay = 1
diff --git a/code/defines/global.dm b/code/defines/global.dm
index 89a353973b..77bcf63a7e 100644
--- a/code/defines/global.dm
+++ b/code/defines/global.dm
@@ -133,9 +133,7 @@ var
shuttlecoming = 0
join_motd = null
- auth_motd = null
rules = null
- no_auth_motd = null
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/defines/obj/storage.dm b/code/defines/obj/storage.dm
index 50ba6fdd04..8603cf88a8 100644
--- a/code/defines/obj/storage.dm
+++ b/code/defines/obj/storage.dm
@@ -233,27 +233,27 @@
icon_state = "firstaid"
/obj/item/weapon/storage/syringes
- name = "Syringes"
+ name = "syringes"
desc = "A box full of syringes."
desc = "A biohazard alert warning is printed on the box"
icon_state = "syringe"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
/obj/item/weapon/storage/firstaid/toxin
- name = "Toxin First Aid"
+ name = "toxin first aid"
desc = "Used to treat when you have a high amoutn of toxins in your body."
icon_state = "antitoxin"
item_state = "firstaid-toxin"
/obj/item/weapon/storage/firstaid/o2
- name = "Oxygen Deprivation First Aid"
+ name = "oxygen deprivation first aid"
desc = "A box full of oxygen goodies."
icon_state = "o2"
item_state = "firstaid-o2"
/obj/item/weapon/storage/flashbang_kit
- name = "Flashbangs (WARNING)"
- desc = "WARNING: Do not use without reading these preautions!\nThese devices are extremely dangerous and can cause blindness or deafness if used incorrectly.\nThe chemicals contained in these devices have been tuned for maximal effectiveness and due to\nextreme safety precuaiotn shave been incased in a tamper-proof pack. DO NOT ATTEMPT TO OPEN\nFLASH WARNING: Do not use continually. Excercise extreme care when detonating in closed spaces.\n\tMake attemtps not to detonate withing range of 2 meters of the intended target. It is imperative\n\tthat the targets visit a medical professional after usage. Damage to eyes increases extremely per\n\tuse and according to range. Glasses with flash resistant filters DO NOT always work on high powered\n\tflash devices such as this. EXERCISE CAUTION REGARDLESS OF CIRCUMSTANCES\nSOUND WARNING: Do not use continually. Visit a medical professional if hearing is lost.\n\tThere is a slight chance per use of complete deafness. Exercise caution and restraint.\nSTUN WARNING: If the intended or unintended target is too close to detonation the resulting sound\n\tand flash have been known to cause extreme sensory overload resulting in temporary\n\tincapacitation.\nDO NOT USE CONTINUALLY\nOperating Directions:\n\t1. Pull detonnation pin. ONCE THE PIN IS PULLED THE GRENADE CAN NOT BE DISARMED!\n\t2. Throw grenade. NEVER HOLD A LIVE FLASHBANG\n\t3. The grenade will detonste 10 seconds hafter being primed. EXCERCISE CAUTION\n\t-Never prime another grenade until after the first is detonated\nNote: Usage of this pyrotechnic device without authorization is an extreme offense and can\nresult in severe punishment upwards of 10 years in prison per use.\n\nDefault 3 second wait till from prime to detonation. This can be switched with a screwdriver\nto 10 seconds.\n\nCopyright of Nanotrasen Industries- Military Armnaments Division\nThis device was created by Nanotrasen Labs a member of the Expert Advisor Corporation"
+ name = "flashbangs (WARNING)"
+ desc = ""
icon_state = "flashbang"
item_state = "syringe_kit"
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
diff --git a/code/defines/procs/statistics.dm b/code/defines/procs/statistics.dm
index b1f8d8816c..08183aaf17 100644
--- a/code/defines/procs/statistics.dm
+++ b/code/defines/procs/statistics.dm
@@ -23,7 +23,7 @@ proc/sql_poll_admins()
return
var/admincount = 0
for (var/mob/M in world)
- if(M && M.client && M.client.holder && M.client.authenticated)
+ if(M && M.client && M.client.holder)
admincount += 1
var/DBConnection/dbcon = new()
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
diff --git a/code/defines/procs/time_stamp.dm b/code/defines/procs/time_stamp.dm
index d966a6c685..e9e72a9563 100644
--- a/code/defines/procs/time_stamp.dm
+++ b/code/defines/procs/time_stamp.dm
@@ -15,7 +15,7 @@ proc/time_stamp()
proc/isDay(var/month, var/day)
if(isnum(month) && isnum(day))
var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month
- var/DD = text2num(time2text(world.timeofday, "MM")) // get the current day
+ var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
if(month == MM && day == DD)
return 1
@@ -26,4 +26,3 @@ proc/isDay(var/month, var/day)
/* Check if it's april fools day */
proc/isAprilFools()
return isDay(4, 1)
-
diff --git a/code/game/cellautomata.dm b/code/game/cellautomata.dm
index 1d4e328131..1720428669 100644
--- a/code/game/cellautomata.dm
+++ b/code/game/cellautomata.dm
@@ -13,8 +13,6 @@
/world/proc/load_motd()
join_motd = file2text("config/motd.txt")
- auth_motd = file2text("config/motd-auth.txt")
- no_auth_motd = file2text("config/motd-noauth.txt")
/world/proc/load_rules()
rules = file2text("config/rules.html")
diff --git a/code/game/gamemodes/events/black_hole.dm b/code/game/gamemodes/events/black_hole.dm
index 4320e444e8..23de4b1c05 100644
--- a/code/game/gamemodes/events/black_hole.dm
+++ b/code/game/gamemodes/events/black_hole.dm
@@ -2,86 +2,87 @@
name = "black hole"
icon = 'objects.dmi'
desc = "FUCK FUCK FUCK AAAHHH"
- icon_state = "bhole2"
- opacity = 0
+ icon_state = "bhole3"
+ opacity = 1
unacidable = 1
density = 0
anchored = 1
- var/datum/effect/effect/system/harmless_smoke_spread/smoke
-
/obj/effect/bhole/New()
- src.smoke = new /datum/effect/effect/system/harmless_smoke_spread()
- src.smoke.set_up(5, 0, src)
- src.smoke.attach(src)
- src:life()
+ spawn(4)
+ controller()
+
+/obj/effect/bhole/proc/controller()
+ while(src)
+
+ if(!isturf(loc))
+ del(src)
+ return
+
+ //DESTROYING STUFF AT THE EPICENTER
+ for(var/mob/living/M in orange(1,src))
+ del(M)
+ for(var/obj/O in orange(1,src))
+ del(O)
+ for(var/turf/simulated/ST in orange(1,src))
+ ST.ReplaceWithSpace()
+
+ sleep(6)
+ grav(10, 4, 10, 0 )
+ sleep(6)
+ grav( 8, 4, 10, 0 )
+ sleep(6)
+ grav( 9, 4, 10, 0 )
+ sleep(6)
+ grav( 7, 3, 40, 1 )
+ sleep(6)
+ grav( 5, 3, 40, 1 )
+ sleep(6)
+ grav( 6, 3, 40, 1 )
+ sleep(6)
+ grav( 4, 2, 50, 6 )
+ sleep(6)
+ grav( 3, 2, 50, 6 )
+ sleep(6)
+ grav( 2, 2, 75,25 )
+ sleep(6)
-/obj/effect/bhole/Bumped(atom/A)
- if (istype(A,/mob/living))
- del(A)
- else
- A:ex_act(1.0)
-
-/obj/effect/bhole/proc/life() //Oh man , this will LAG
-
- if (prob(10))
- src.anchored = 0
- step(src,pick(alldirs))
- if (prob(30))
+ //MOVEMENT
+ if( prob(50) )
+ src.anchored = 0
step(src,pick(alldirs))
- src.anchored = 1
+ src.anchored = 1
- for (var/atom/X in orange(9,src))
- if ((istype(X,/obj) || istype(X,/mob/living)) && prob(7))
- if (!X:anchored)
- step_towards(X,src)
+/obj/effect/bhole/proc/grav(var/r, var/ex_act_force, var/pull_chance, var/turf_removal_chance)
+ if(!isturf(loc)) //blackhole cannot be contained inside anything. Weird stuff might happen
+ del(src)
+ return
+ for(var/t = -r, t < r, t++)
+ affect_coord(x+t, y-r, ex_act_force, pull_chance, turf_removal_chance)
+ affect_coord(x-t, y+r, ex_act_force, pull_chance, turf_removal_chance)
+ affect_coord(x+r, y+t, ex_act_force, pull_chance, turf_removal_chance)
+ affect_coord(x-r, y-t, ex_act_force, pull_chance, turf_removal_chance)
+ return
- for (var/atom/B in orange(7,src))
- if (istype(B,/obj))
- if (!B:anchored && prob(50))
- step_towards(B,src)
- if(prob(10)) B:ex_act(3.0)
+/obj/effect/bhole/proc/affect_coord(var/x, var/y, var/ex_act_force, var/pull_chance, var/turf_removal_chance)
+ //Get turf at coordinate
+ var/turf/T = locate(x, y, z)
+ if(isnull(T)) return
+
+ //Pulling and/or ex_act-ing movable atoms in that turf
+ if( prob(pull_chance) )
+ for(var/obj/O in T.contents)
+ if(O.anchored)
+ O.ex_act(ex_act_force)
else
- B:anchored = 0
- //step_towards(B,src)
- //B:anchored = 1
- if(prob(10)) B:ex_act(3.0)
- else if (istype(B,/turf))
- if (istype(B,/turf/simulated) && (prob(1) && prob(75)))
- src.smoke.start()
- B:ReplaceWithSpace()
- else if (istype(B,/mob/living))
- step_towards(B,src)
+ step_towards(O,src)
+ for(var/mob/living/M in T.contents)
+ step_towards(M,src)
-
- for (var/atom/A in orange(4,src))
- if (istype(A,/obj))
- if (!A:anchored && prob(90))
- step_towards(A,src)
- if(prob(30)) A:ex_act(2.0)
- else
- A:anchored = 0
- //step_towards(A,src)
- //A:anchored = 1
- if(prob(30)) A:ex_act(2.0)
- else if (istype(A,/turf))
- if (istype(A,/turf/simulated) && prob(1))
- src.smoke.start()
- A:ReplaceWithSpace()
- else if (istype(A,/mob/living))
- step_towards(A,src)
-
-
- for (var/atom/D in orange(1,src))
- //if (hascall(D,"blackholed"))
- // call(D,"blackholed")(null)
- // continue
- if (istype(D,/mob/living))
- del(D)
- else
- D:ex_act(1.0)
-
- spawn(17)
- life()
\ No newline at end of file
+ //Destroying the turf
+ if( T && istype(T,/turf/simulated) && prob(turf_removal_chance) )
+ var/turf/simulated/ST = T
+ ST.ReplaceWithSpace()
+ return
\ No newline at end of file
diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm
index e7ffe922c5..de354bd3d5 100644
--- a/code/game/gamemodes/events/space_ninja.dm
+++ b/code/game/gamemodes/events/space_ninja.dm
@@ -396,7 +396,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
set desc = "Spawns a space ninja for when you need a teenager with attitude."
set popup_menu = 0
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if(!ticker.mode)
diff --git a/code/game/gamemodes/events/wormholes.dm b/code/game/gamemodes/events/wormholes.dm
new file mode 100644
index 0000000000..7036a0cd16
--- /dev/null
+++ b/code/game/gamemodes/events/wormholes.dm
@@ -0,0 +1,63 @@
+/proc/wormhole_event()
+ spawn()
+ var/list/pick_turfs = list()
+ for(var/turf/simulated/floor/T in world)
+ if(T.z == 1)
+ pick_turfs += T
+
+ if(pick_turfs.len)
+ //All ready. Announce that bad juju is afoot.
+ command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
+ world << sound('spanomalies.ogg')
+
+ //prob(20) can be approximated to 1 wormhole every 5 turfs!
+ //admittedly less random but totally worth it >_<
+ var/event_duration = 3000 //~5 minutes in ticks
+ var/number_of_selections = (pick_turfs.len/5)+1 //+1 to avoid division by zero!
+ var/sleep_duration = round( event_duration / number_of_selections )
+ var/end_time = world.time + event_duration //the time by which the event should have ended
+
+ var/increment = max(1,round(number_of_selections/50))
+ world << "DEBUG: number_of_selections: [number_of_selections] | sleep_duration: [sleep_duration]"
+
+ var/i = 1
+ while( 1 )
+
+ //we've run into overtime. End the event
+ if( end_time < world.time )
+ world << "DEBUG: we've run into overtime. End the event"
+ return
+ if( !pick_turfs.len )
+ world << "DEBUG: we've run out of turfs to pick. End the event"
+ return
+
+ //loop it round
+ i += increment
+ i %= pick_turfs.len
+ i++
+
+ //get our enter and exit locations
+ var/turf/simulated/floor/enter = pick_turfs[i]
+ pick_turfs -= enter //remove it from pickable turfs list
+ if( !enter || !istype(enter) ) continue //sanity
+
+ var/turf/simulated/floor/exit = pick(pick_turfs)
+ pick_turfs -= exit
+ if( !exit || !istype(exit) ) continue //sanity
+
+ create_wormhole(enter,exit)
+
+ sleep(sleep_duration) //have a well deserved nap!
+
+
+//maybe this proc can even be used as an admin tool for teleporting players without ruining immulsions?
+/proc/create_wormhole(var/turf/enter as turf, var/turf/exit as turf)
+ var/obj/effect/portal/P = new /obj/effect/portal( enter )
+ P.target = exit
+ P.creator = null
+ P.icon = 'objects.dmi'
+ P.failchance = 0
+ P.icon_state = "anom"
+ P.name = "wormhole"
+ spawn(rand(300,600))
+ del(P)
\ No newline at end of file
diff --git a/code/game/gamemodes/sandbox/sandbox.dm b/code/game/gamemodes/sandbox/sandbox.dm
index cd2f20335c..668c58dab9 100644
--- a/code/game/gamemodes/sandbox/sandbox.dm
+++ b/code/game/gamemodes/sandbox/sandbox.dm
@@ -12,7 +12,7 @@
/datum/game_mode/sandbox/pre_setup()
for(var/mob/M in world)
- if(M.client && M.client.authenticated)
+ if(M.client)
M.CanBuild()
setup_sectors()
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index 7197649b34..33098ad8fe 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -787,15 +787,6 @@
src.visible_message("\red [src] drives over [H]!")
playsound(src.loc, 'splat.ogg', 50, 1)
- /*
- if(ismob(load))
- var/mob/M = load
- if(M.reagents.has_reagent("beer"))
- M.unlock_medal("DUI", 1)
- if(M.reagents.has_reagent("space_drugs") && istype(H) && H.wear_id.assignment == "Security Officer")
- M.unlock_medel("Ridin' Dirty",1)
- */
-
var/damage = rand(5,15)
H.apply_damage(2*damage, BRUTE, "head")
H.apply_damage(2*damage, BRUTE, "chest")
diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm
index 079c747c80..bfd829d5e6 100644
--- a/code/game/magic/cultist/ritual.dm
+++ b/code/game/magic/cultist/ritual.dm
@@ -496,7 +496,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
if(prob(C*5-105-(runedec-ticker.mode.cult.len)*5)) //including the useless rune at the secret room, shouldn't count against the limit - Urist
usr.emote("scream")
user << "\red A tear momentarily appears in reality. Before it closes, you catch a glimpse of that which lies beyond. That proves to be too much for your mind."
- usr.gib(1)
+ usr.gib()
return
if("No")
return
diff --git a/code/game/magic/cultist/runes.dm b/code/game/magic/cultist/runes.dm
index 632abd86ab..2a53af6861 100644
--- a/code/game/magic/cultist/runes.dm
+++ b/code/game/magic/cultist/runes.dm
@@ -294,7 +294,7 @@ var/list/sacrificed = list()
body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \
"\red You feel as your blood boils, tearing you apart.", \
"\red You hear a thousand voices, all crying in pain.")
- body_to_sacrifice.gib(1)
+ body_to_sacrifice.gib()
if (ticker.mode.name == "cult")
ticker.mode:add_cultist(body_to_sacrifice.mind)
else
@@ -560,7 +560,7 @@ var/list/sacrificed = list()
if(H.mind == ticker.mode:sacrifice_target)
if(cultsinrange.len >= 3)
sacrificed += H.mind
- H.gib(1)
+ H.gib()
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
else
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
@@ -573,7 +573,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, this soul was not enough to gain His favor."
- H.gib(1)
+ H.gib()
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
@@ -581,7 +581,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
- H.gib(1)
+ H.gib()
else
if(H.stat !=2)
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
@@ -592,7 +592,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
- H.gib(1)
+ H.gib()
else
if(cultsinrange.len >= 3)
if(H.stat !=2)
@@ -602,7 +602,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, this soul was not enough to gain His favor."
- H.gib(1)
+ H.gib()
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
@@ -610,7 +610,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
- H.gib(1)
+ H.gib()
else
if(H.stat !=2)
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
@@ -621,7 +621,7 @@ var/list/sacrificed = list()
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
- H.gib(1)
+ H.gib()
for(var/mob/living/carbon/monkey/M in src.loc)
if (ticker.mode.name == "cult")
if(M.mind == ticker.mode:sacrifice_target)
@@ -642,11 +642,11 @@ var/list/sacrificed = list()
usr << "\red The Geometer of Blood accepts your meager sacrifice."
if(prob(20))
ticker.mode.grant_runeword(usr)
- M.gib(1)
+ M.gib()
/* for(var/mob/living/carbon/alien/A)
for(var/mob/K in cultsinrange)
K.say("Barhah hra zar'garis!")
- A.dust() /// A.gib(1) doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need.
+ A.dust() /// A.gib() doesnt work for some reason, and dust() leaves that skull and bones thingy which we dont really need.
if (ticker.mode.name == "cult")
if(prob(75))
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
@@ -902,7 +902,7 @@ var/list/sacrificed = list()
M << "\red Your blood boils!"
if(prob(5))
spawn(5)
- M.gib(1)
+ M.gib()
for(var/obj/effect/rune/R in view(src))
if(prob(10))
explosion(R.loc, -1, 0, 1, 5)
diff --git a/code/game/topic.dm b/code/game/topic.dm
index db45c7d992..a8a22ff122 100644
--- a/code/game/topic.dm
+++ b/code/game/topic.dm
@@ -30,7 +30,7 @@
for(var/mob/M in world)
if(M.client)
- if(M.client.holder && M.client.authenticated)
+ if(M.client.holder)
if(!M.client.stealth)
admins++
diff --git a/code/game/verbs/authorize.dm b/code/game/verbs/authorize.dm
index 21638713c8..2129eb67d4 100644
--- a/code/game/verbs/authorize.dm
+++ b/code/game/verbs/authorize.dm
@@ -1,3 +1,4 @@
+/*
/client/proc/authorize()
set name = "Authorize"
@@ -41,6 +42,7 @@
src << "Try again using the Authorize command, sometimes the server will hiccup and not correctly authorize."
src << "\blue[no_auth_motd]"
src.authenticating = 0
+*/
/* The old goon auth/beta code is here
/client/proc/beta_tester_auth()
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 661bbfcd70..c1a210f5f8 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -12,7 +12,7 @@
/mob/verb/ooc(msg as text)
set name = "OOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite
set category = "OOC"
- if (!src.client.authenticated || IsGuestKey(src.key))
+ if (IsGuestKey(src.key))
src << "You are not authorized to communicate over these channels."
return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
@@ -38,17 +38,15 @@
for (var/client/C)
if (src.client.holder && (!src.client.stealth || C.holder))
-// C << "OOC: [src.key]: [msg]"
if (src.client.holder.rank == "Admin Observer")
- C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
+ C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
else if (src.client.holder.level >= 5)
- C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
+ C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
else
- C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
+ C << "OOC: [src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]: [msg]"
else if (C.listen_ooc)
- C << "OOC: [src.client.stealth ? src.client.fakekey : src.key]: [msg]"
-
+ C << "OOC: [src.client.stealth ? src.client.fakekey : src.key]: [msg]"
/*
/mob/verb/goonsay(msg as text)
set name = "Goonsay"
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index aedf61dbec..f0697bbf9e 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -6,24 +6,14 @@
var/list/peeps = list()
- if (config.enable_authentication)
- for (var/mob/M in world)
- if (!M.client)
- continue
+ for (var/mob/M in world)
+ if (!M.client)
+ continue
- if (M.client.authenticated && M.client.authenticated != 1)
- peeps += "\t[M.client] ([html_encode(M.client.authenticated)])"
- else
- peeps += "\t[M.client]"
- else
- for (var/mob/M in world)
- if (!M.client)
- continue
-
- if (M.client.stealth && !usr.client.holder)
- peeps += "\t[M.client.fakekey]"
- else
- peeps += "\t[M.client][M.client.stealth ? " (as [M.client.fakekey])" : ""]"
+ if (M.client.stealth && !usr.client.holder)
+ peeps += "\t[M.client.fakekey]"
+ else
+ peeps += "\t[M.client][M.client.stealth ? " (as [M.client.fakekey])" : ""]"
peeps = sortList(peeps)
@@ -39,7 +29,7 @@
usr << "Current Admins:"
for (var/mob/M in world)
- if(M && M.client && M.client.holder && M.client.authenticated)
+ if(M && M.client && M.client.holder)
if(usr.client.holder)
usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " (as [M.client.fakekey])" : ""]"
else if(!M.client.stealth)
diff --git a/code/game/vote.dm b/code/game/vote.dm
index 16eee1c563..0bcc5b3713 100644
--- a/code/game/vote.dm
+++ b/code/game/vote.dm
@@ -169,9 +169,6 @@
/mob/verb/vote()
set category = "OOC"
set name = "Vote"
- if(!usr.client.authenticated)
- usr << "You're not authenticated, you can't vote."
- return
usr.client.showvote = 1
@@ -324,7 +321,7 @@
for(var/mob/CM in world)
if(CM.client)
- if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2) || !CM.client.authenticated)
+ if( config.vote_no_default || (config.vote_no_dead && CM.stat == 2) )
CM.client.vote = "none"
else
CM.client.vote = "default"
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index d916303457..6c314fff63 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -7,7 +7,7 @@ var/global/BSACooldown = 0
var/rendered = "ADMIN LOG: [text]"
log_adminwarn(rendered)
for (var/mob/M in world)
- if (M && M.client && M.client.holder && M.client.authenticated)
+ if (M && M.client && M.client.holder)
if (admin_ref)
M << dd_replaceText(rendered, "%admin_ref%", "\ref[M]")
else
@@ -959,15 +959,15 @@ var/global/BSACooldown = 0
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
- if (href_list["adminauth"])
- if ((src.rank in list( "Admin Candidate", "Temporary Admin", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
- var/mob/M = locate(href_list["adminauth"])
- if (ismob(M) && !M.client.authenticated && !M.client.authenticating)
- M.client.verbs -= /client/proc/authorize
- M.client.authenticated = text("admin/[]", usr.client.authenticated)
- log_admin("[key_name(usr)] authorized [key_name(M)]")
- message_admins("\blue [key_name_admin(usr)] authorized [key_name_admin(M)]", 1)
- M.client << text("You have been authorized by []", usr.key)
+// if (href_list["adminauth"])
+// if ((src.rank in list( "Admin Candidate", "Temporary Admin", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
+// var/mob/M = locate(href_list["adminauth"])
+// if (ismob(M) && !M.client.authenticated && !M.client.authenticating)
+// M.client.verbs -= /client/proc/authorize
+// M.client.authenticated = text("admin/[]", usr.client.authenticated)
+// log_admin("[key_name(usr)] authorized [key_name(M)]")
+// message_admins("\blue [key_name_admin(usr)] authorized [key_name_admin(M)]", 1)
+// M.client << text("You have been authorized by []", usr.key)
if (href_list["revive"])
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
@@ -1803,32 +1803,16 @@ var/global/BSACooldown = 0
world << sound('granomalies.ogg')
var/turf/T = pick(blobstart)
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
- spawn(rand(50, 300))
+ spawn(rand(100, 600))
del(bh)
- if("timeanomalies")
+
+ if("timeanomalies") //dear god this code was awful :P Still needs further optimisation
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","STA")
- command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
- world << sound('spanomalies.ogg')
- var/list/turfs = list( )
- var/turf/picked
- for(var/turf/T in world)
- if(T.z == 1 && istype(T,/turf/simulated/floor) && !istype(T,/turf/space))
- turfs += T
- for(var/turf/T in world)
- set background = 1
- if(prob(20) && T.z == 1 && istype(T,/turf/simulated/floor))
- spawn(50+rand(0,3000))
- picked = pick(turfs)
- var/obj/effect/portal/P = new /obj/effect/portal( T )
- P.target = picked
- P.creator = null
- P.icon = 'objects.dmi'
- P.failchance = 0
- P.icon_state = "anom"
- P.name = "wormhole"
- spawn(rand(300,600))
- del(P)
+ //moved to its own dm so I could split it up and prevent the spawns copying variables over and over
+ //can be found in code\game\game_modes\events\wormholes.dm
+ wormhole_event()
+
if("goblob")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","BL")
@@ -2218,10 +2202,10 @@ var/global/BSACooldown = 0
var/dat = "
Options for [M.key]"
var/foo = "\[ "
if (ismob(M) && M.client)
- if(!M.client.authenticated && !M.client.authenticating)
- foo += text("Authorize | ")
- else
- foo += text("Authorized | ")
+// if(!M.client.authenticated && !M.client.authenticating)
+// foo += text("Authorize | ")
+// else
+// foo += text("Authorized | ")
foo += text("Promote/Demote | ")
if(!istype(M, /mob/new_player))
if(!ismonkey(M))
@@ -2518,14 +2502,14 @@ var/global/BSACooldown = 0
for(var/mob/CM in world)
if(CM.client)
- if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2) || !CM.client.authenticated)
+ if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2))
CM.client.vote = "none"
else
CM.client.vote = "default"
for(var/mob/CM in world)
if(CM.client)
- if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2) || !CM.client.authenticated)
+ if(config.vote_no_default || (config.vote_no_dead && CM.stat == 2))
CM.client.vote = "none"
else
CM.client.vote = "default"
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index f73084ccd4..f9bcb6ff3a 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -523,7 +523,7 @@
/client/proc/stealth()
set category = "Admin"
set name = "Stealth Mode"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
stealth = !stealth
@@ -546,7 +546,7 @@
set category = "Special Verbs"
set name = "Warn"
set desc = "Warn a player"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if(M.client && M.client.holder && (M.client.holder.level >= holder.level))
@@ -662,7 +662,7 @@
/client/proc/toggle_clickproc() //TODO ERRORAGE (This is a temporary verb here while I test the new clicking proc)
set name = "Toggle NewClickProc"
- set category = "Admin"
+ set category = "Debug"
if(!holder) return
using_new_click_proc = !using_new_click_proc
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index 7162aca1e5..4216c68fff 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -1,9 +1,6 @@
/mob/verb/adminhelp(msg as text)
set category = "Admin"
set name = "Adminhelp"
- if(!usr.client.authenticated)
- src << "Please authorize before sending these messages."
- return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm
index 3a63519082..3b38935c93 100644
--- a/code/modules/admin/verbs/adminjump.dm
+++ b/code/modules/admin/verbs/adminjump.dm
@@ -2,7 +2,7 @@
set name = "Jump to Area"
set desc = "Area to jump to"
set category = "Admin"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -17,7 +17,7 @@
/client/proc/jumptoturf(var/turf/T in world)
set name = "Jump to Turf"
set category = "Admin"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
@@ -32,7 +32,7 @@
set category = "Admin"
set name = "Jump to Mob"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -53,7 +53,7 @@
set category = "Admin"
set name = "Jump to Coordinate"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -72,7 +72,7 @@
set category = "Admin"
set name = "Jump to Key"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -94,7 +94,7 @@
set category = "Admin"
set name = "Get Mob"
set desc = "Mob to teleport"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
@@ -109,7 +109,7 @@
set name = "Get Key"
set desc = "Key to teleport"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -134,7 +134,7 @@
/client/proc/sendmob(var/mob/M in world, var/area/A in world)
set category = "Admin"
set name = "Send Mob"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(config.allow_admin_jump)
diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm
index ed389c44eb..58cdc97069 100644
--- a/code/modules/admin/verbs/adminsay.dm
+++ b/code/modules/admin/verbs/adminsay.dm
@@ -3,9 +3,7 @@
set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite
set hidden = 1
- // All admins should be authenticated, but... what if?
-
- if (!src.authenticated || !src.holder)
+ if (!src.holder)
src << "Only administrators may use this command."
return
@@ -23,7 +21,7 @@
for (var/mob/M in world)
if (M.client && M.client.holder)
if (src.holder.rank == "Admin Observer")
- M << "ADMIN: [key_name(usr, M)]: [msg]"
+ M << "ADMIN: [key_name(usr, M)]: [msg]"
else
- M << "ADMIN: [key_name(usr, M)] (JMP): [msg]"
+ M << "ADMIN: [key_name(usr, M)] (JMP): [msg]"
diff --git a/code/modules/admin/verbs/atmosdebug.dm b/code/modules/admin/verbs/atmosdebug.dm
index 352672e4d6..84910af33c 100644
--- a/code/modules/admin/verbs/atmosdebug.dm
+++ b/code/modules/admin/verbs/atmosdebug.dm
@@ -1,7 +1,7 @@
/client/proc/atmosscan()
set category = "Mapping"
set name = "Check Plumbing"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm
index 0b2afb5dd7..a9f2f1d4d1 100644
--- a/code/modules/admin/verbs/deadsay.dm
+++ b/code/modules/admin/verbs/deadsay.dm
@@ -3,7 +3,7 @@
set name = "Dsay" //Gave this shit a shorter name so you only have to time out "dsay" rather than "dead say" to use it --NeoFite
set hidden = 1
// All admins should be authenticated, but... what if?
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(!src.mob)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 3615dd0a69..b83aba8be2 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -1,7 +1,7 @@
/client/proc/Debug2()
set category = "Debug"
set name = "Debug-Game"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if(holder.rank == "Game Admin")
@@ -32,7 +32,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
/client/proc/callproc()
set category = "Debug"
set name = "Advanced ProcCall"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/target = null
diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm
index b317bd9966..2adb0e9f0b 100644
--- a/code/modules/admin/verbs/diagnostics.dm
+++ b/code/modules/admin/verbs/diagnostics.dm
@@ -180,7 +180,7 @@
jump_to_dead_group()
set name = "Jump to dead group"
set category = "Debug"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
@@ -199,7 +199,7 @@
set name = "Kill Local Airgroup"
set desc = "Use this to allow manual manupliation of atmospherics."
set category = "Debug"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
diff --git a/code/modules/admin/verbs/massmodvar.dm b/code/modules/admin/verbs/massmodvar.dm
index 72eb84dcda..3453283e25 100644
--- a/code/modules/admin/verbs/massmodvar.dm
+++ b/code/modules/admin/verbs/massmodvar.dm
@@ -23,7 +23,7 @@
/client/proc/massmodify_variables(var/atom/O, var/var_name = "", var/method = 0)
var/list/locked = list("vars", "key", "ckey", "client")
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
diff --git a/code/modules/admin/verbs/modifyvariables.dm b/code/modules/admin/verbs/modifyvariables.dm
index a14154bccc..1bf374c6a7 100644
--- a/code/modules/admin/verbs/modifyvariables.dm
+++ b/code/modules/admin/verbs/modifyvariables.dm
@@ -269,7 +269,7 @@ var/list/forbidden_varedit_object_types = list(
/client/proc/modify_variables(var/atom/O, var/param_var_name = null, var/autodetect_class = 0)
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "cuffed", "ka", "last_eaten", "urine", "poo", "icon", "icon_state")
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm
index db64d6811f..a2aeb5d72f 100644
--- a/code/modules/admin/verbs/playsound.dm
+++ b/code/modules/admin/verbs/playsound.dm
@@ -3,7 +3,7 @@
set name = "Play Global Sound"
//if(Debug2)
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -37,7 +37,7 @@
set category = "Fun"
set name = "Play Local Sound"
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
@@ -62,7 +62,7 @@
for(var/mob/living/carbon/human/CP in world)
if(CP.real_name=="Cuban Pete" && CP.key!="Rosham")
CP << "Your body can't contain the rhumba beat"
- CP.gib(1)
+ CP.gib()
/client/proc/bananaphone()
diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm
index 8f9de74638..69ffc12b83 100644
--- a/code/modules/admin/verbs/pray.dm
+++ b/code/modules/admin/verbs/pray.dm
@@ -1,9 +1,6 @@
/mob/verb/pray(msg as text)
set category = "IC"
set name = "Pray"
- if(!usr.client.authenticated)
- src << "Please authorize before sending these messages."
- return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index ba985b2d1c..85a8055ea2 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -1,7 +1,7 @@
/client/proc/cmd_admin_drop_everything(mob/M as mob in world)
set category = null
set name = "Drop Everything"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
for(var/obj/item/W in M)
@@ -13,7 +13,7 @@
/client/proc/cmd_admin_prison(mob/M as mob in world)
set category = "Admin"
set name = "Prison"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if (ismob(M))
@@ -41,7 +41,7 @@
set name = "Subtle Message"
if(!ismob(M)) return
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -61,7 +61,7 @@
set category = "Special Verbs"
set name = "Global Narrate"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -77,7 +77,7 @@
set category = "Special Verbs"
set name = "Direct Narrate"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/msg = input("Message:", text("Enter the text you wish to appear to your target:")) as text
@@ -89,7 +89,7 @@
/client/proc/cmd_admin_pm_context(mob/M as mob in world)
set category = null
set name = "Admin PM Mob"
- if(!authenticated || !holder)
+ if(!holder)
src << "\red Error: Admin-PM-Context: Only administrators may use this command."
return
if( !ismob(M) || !M.client ) return
@@ -99,7 +99,7 @@
/client/proc/cmd_admin_pm_panel()
set category = "Admin"
set name = "Admin PM"
- if(!authenticated || !holder)
+ if(!holder)
src << "\red Error: Admin-PM-Panel: Only administrators may use this command."
return
var/list/client/targets[0]
@@ -118,7 +118,7 @@
cmd_admin_pm(targets[target])
//takes input from cmd_admin_pm_context, cmd_admin_pm_panel or /client/Topic and sends them a PM after fetching a message to send.
-/client/proc/cmd_admin_pm(var/client/C = null)
+/client/proc/cmd_admin_pm(var/client/C = null, var/t = null)
if( !C || !istype(C,/client) )
src << "\red Error: Admin-PM: Client not found."
return
@@ -127,15 +127,17 @@
return
//get message text, limit it's length.and clean/escape html
- var/t = input("Message:", "Private message to [C.key]") as text|null
- if(!t) return
- if(!C)
- src << "\red Error: Admin PM: Client not found."
+ if(!t)
+ t = input("Message:", "Private message to [C.key]") as text|null
+ if(!t) return
+ if(!C)
+ src << "\red Error: Admin PM: Client not found."
+ return
-
- if( !holder || !(holder.rank in list("Game Admin", "Game Master")) ) //clean the message if it's not sent by a GA or GM
+ //clean the message if it's not sent by a GA or GM
+ if( !holder || !(holder.rank in list("Game Admin", "Game Master")) )
t = sanitize(copytext(t,1,500))
- if(!t) return
+ if(!t) return
if(C.holder)
@@ -161,6 +163,22 @@
//always play non-admin recipients the adminhelp sound
C << 'adminhelp.ogg'
+ //AdminPM popup for ApocStation and anybody else who wants to use it. Set it with POPUP_ADMIN_PM in config.txt ~Carn
+ if(config.popup_admin_pm)
+ spawn() //so we don't hold the caller proc up
+ var/sender = src
+ var/sendername = key
+ var/reply = input(C, t,"Admin PM from-[sendername]", "") as text|null //show message and await a reply
+ if(C && reply)
+ if(sender)
+ C.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them
+ else
+ for(var/client/X) //sender has left! find another admin to pm
+ if(X.holder)
+ return C.cmd_admin_pm(X,reply)
+ C << "Error: Admin PM: Client not found." //couldn't find one
+ return
+
else //neither are admins
src << "Error: Admin PM: Non-admin to non-admin PM communication is forbidden."
return
@@ -175,7 +193,7 @@
/client/proc/cmd_admin_godmode(mob/M as mob in world)
set category = "Special Verbs"
set name = "Godmode"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if (M.nodamage == 1)
@@ -191,7 +209,7 @@
/client/proc/cmd_admin_mute(mob/M as mob in world)
set category = "Special Verbs"
set name = "Admin Mute"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if (M.client && M.client.holder && (M.client.holder.level >= holder.level))
@@ -211,7 +229,7 @@
/client/proc/cmd_admin_add_random_ai_law()
set category = "Fun"
set name = "Add Random AI Law"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
log_admin("[key_name(src)] has added a random AI law.")
@@ -234,7 +252,7 @@
set desc = "Spawns a xenomorph for all those boring rounds, without having you to do so manually."
set popup_menu = 0
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
@@ -294,7 +312,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Respawn Character"
set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into."
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/input = input(src, "Please specify which key will be respawned.", "Key", "")
@@ -513,7 +531,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
/client/proc/cmd_admin_add_freeform_ai_law()
set category = "Fun"
set name = "Add Custom AI law"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null
@@ -540,8 +558,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in world)
set category = "Special Verbs"
set name = "Rejuvenate"
- // All admins should be authenticated, but... what if?
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
if(!mob)
@@ -577,7 +594,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
/client/proc/cmd_admin_create_centcom_report()
set category = "Special Verbs"
set name = "Create Command Report"
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null
@@ -601,7 +618,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Admin"
set name = "Delete"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -614,7 +631,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Admin"
set name = "List free slots"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
if(job_master)
@@ -625,7 +642,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Explosion"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -655,7 +672,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "EM Pulse"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -678,7 +695,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Gib"
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -736,7 +753,6 @@ Traitors and the like can also be revived with the previous role mostly intact.
return
if(M)
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
- M.unlock_medal("Banned", 1)
M << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]."
M << "\red This is a temporary ban, it will be removed in [mins] minutes."
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
@@ -752,7 +768,6 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!reason)
return
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
- M.unlock_medal("Banned", 1)
M << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]."
M << "\red This is a permanent ban."
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
@@ -779,7 +794,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
/client/proc/cmd_admin_remove_plasma()
set category = "Debug"
set name = "Stabilize Atmos."
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
// DEFERRED
@@ -824,7 +839,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if ((!( ticker ) || emergency_shuttle.location))
return
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
@@ -851,7 +866,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if ((!( ticker ) || emergency_shuttle.location || emergency_shuttle.direction == 0))
return
- if (!authenticated || !holder)
+ if (!holder)
src << "Only administrators may use this command."
return
diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm
index 51b62ba17f..41d73db4dd 100644
--- a/code/modules/admin/verbs/striketeam.dm
+++ b/code/modules/admin/verbs/striketeam.dm
@@ -6,7 +6,7 @@ var/global/sent_strike_team = 0
set category = "Fun"
set name = "Spawn Death Squad"
set desc = "Spawns a squad of commandos in CentCom if you want to run an admin event."
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(!ticker)
diff --git a/code/modules/admin/verbs/striketeam_syndicate.dm b/code/modules/admin/verbs/striketeam_syndicate.dm
index 8c601b3024..8c7d3758ff 100644
--- a/code/modules/admin/verbs/striketeam_syndicate.dm
+++ b/code/modules/admin/verbs/striketeam_syndicate.dm
@@ -6,7 +6,7 @@ var/global/sent_syndicate_strike_team = 0
set category = "Fun"
set name = "Spawn Syndicate Strike Team"
set desc = "Spawns a squad of commandos in the Syndicate Mothership if you want to run an admin event."
- if(!src.authenticated || !src.holder)
+ if(!src.holder)
src << "Only administrators may use this command."
return
if(!ticker)
diff --git a/code/modules/admin/verbs/ticklag.dm b/code/modules/admin/verbs/ticklag.dm
index 5bd914c275..dd3b1764d2 100644
--- a/code/modules/admin/verbs/ticklag.dm
+++ b/code/modules/admin/verbs/ticklag.dm
@@ -5,7 +5,7 @@
set name = "Set Ticklag"
set desc = "Sets a new tick lag. Recommend you don't mess with this too much! Stable, time-tested ticklag value is 0.9"
if(Debug2)
- if(src.authenticated && src.holder)
+ if(src.holder)
if(!src.mob) return
if(src.holder.rank in list("Game Admin", "Game Master"))
diff --git a/code/modules/mob/living/blob/blob.dm b/code/modules/mob/living/blob/blob.dm
index c7948526af..7c4cd8eeec 100644
--- a/code/modules/mob/living/blob/blob.dm
+++ b/code/modules/mob/living/blob/blob.dm
@@ -202,7 +202,7 @@
set desc = "Ghost into blobthing."
set hidden = 1
- if(!authenticated || !holder)
+ if(!holder)
src << "Only administrators may use this command."
return
var/input = input(src, "Please specify which key will be turned into a bloby.", "Key", "")
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 62035c47bd..af4462c5dd 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -90,7 +90,7 @@
flick("flash", flash)
if (stat == 2 && client)
- gib(1)
+ gib()
return
else if (stat == 2 && !client)
@@ -105,7 +105,7 @@
switch (severity)
if (1.0)
b_loss += 500
- gib(1)
+ gib()
return
if (2.0)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index eb27d1ffe6..8ed376f989 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -78,7 +78,7 @@
flick("flash", flash)
if (stat == 2 && client)
- gib(1)
+ gib()
return
else if (stat == 2 && !client)
@@ -91,7 +91,7 @@
switch (severity)
if (1.0)
b_loss += 500
- gib(1)
+ gib()
return
if (2.0)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 657ca1c1b5..62d8c39239 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -35,7 +35,7 @@
if(prob(src.getBruteLoss() - 50))
src.gib()
-/mob/living/carbon/gib(give_medal)
+/mob/living/carbon/gib()
for(var/mob/M in src)
if(M in src.stomach_contents)
src.stomach_contents.Remove(M)
@@ -43,7 +43,7 @@
for(var/mob/N in viewers(src, null))
if(N.client)
N.show_message(text("\red [M] bursts out of [src]!"), 2)
- . = ..(give_medal)
+ . = ..()
/mob/living/carbon/attack_hand(mob/M as mob)
if(!istype(M, /mob/living/carbon)) return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index f860fff48b..a4607f5299 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -247,7 +247,7 @@
// /obj/item/clothing/head/bomb_hood(src)
if (stat == 2 && client)
- gib(1)
+ gib()
return
else if (stat == 2 && !client)
@@ -262,7 +262,7 @@
if (1.0)
b_loss += 500
if (!prob(getarmor(null, "bomb")))
- gib(1)
+ gib()
return
else
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 0f2e027960..1df5e07c45 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -540,7 +540,7 @@
/mob/living/carbon/monkey/ex_act(severity)
flick("flash", flash)
if (stat == 2 && client)
- gib(1)
+ gib()
return
if (stat == 2 && !client)
@@ -573,7 +573,7 @@
if (prob(50))
Paralyse(10)
if (stat == DEAD && client)
- gib(1)
+ gib()
return
if (stat == DEAD && !client)
gibs(loc, viruses)
diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm
index 2ee69c5746..ed41014c0d 100644
--- a/code/modules/mob/living/silicon/robot/life.dm
+++ b/code/modules/mob/living/silicon/robot/life.dm
@@ -304,7 +304,7 @@
src << "\red Killswitch Activated"
killswitch = 0
spawn(5)
- gib(src)
+ gib()
process_locks()
if(weapon_lock)
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index d45fb2fa22..0dbf82863c 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -236,7 +236,7 @@
flick("flash", flash)
if (stat == 2 && client)
- gib(1)
+ gib()
return
else if (stat == 2 && !client)
@@ -248,7 +248,7 @@
if (stat != 2)
adjustBruteLoss(100)
adjustFireLoss(100)
- gib(1)
+ gib()
return
if(2.0)
if (stat != 2)
@@ -291,7 +291,6 @@
if(prob(20))
usr << "\red You fail to push [tmob]'s fat ass out of the way."
now_pushing = 0
- //unlock_medal("That's No Moon, That's A Gourmand!", 1)
return
if(tmob.nopush)
now_pushing = 0
@@ -1056,7 +1055,7 @@ Frequency:
return
/mob/living/silicon/robot/proc/self_destruct()
- gib(1)
+ gib()
return
/mob/living/silicon/robot/proc/UnlinkSelf()
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index fa8f15b266..ff4b45ea90 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -710,14 +710,14 @@
if (join_motd)
src << "[join_motd]
"
- authorize()
+// authorize() //old gooncode
if(admins.Find(ckey))
holder = new /obj/admins(src)
holder.rank = admins[ckey]
update_admins(admins[ckey])
- if(ticker && ticker.mode && ticker.mode.name =="sandbox" && authenticated)
+ if(ticker && ticker.mode && ticker.mode.name =="sandbox")
mob.CanBuild()
/client/Del()
@@ -746,7 +746,7 @@
for(var/mob/M in viewers())
M.see(message)
-//This is the proc for gibbing a mob. Cannot gib ghosts. Removed the medal reference,
+//This is the proc for gibbing a mob. Cannot gib ghosts.
//added different sort of gibs and animations. N
/mob/proc/gib()
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 548dae189e..4913040fb7 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -178,10 +178,6 @@
return 1
if(href_list["ready"])
- if (!client.authenticated)
- src << "You are not authorized to enter the game."
- return
-
if(!ready)
ready = 1
else
@@ -192,9 +188,6 @@
new_player_panel_proc()
if(href_list["observe"])
- if (!client.authenticated)
- src << "You are not authorized to enter the game."
- return
if(alert(src,"Are you sure you wish to observe? You will not be able to play this round!","Player Setup","Yes","No") == "Yes")
var/mob/dead/observer/observer = new()
@@ -222,9 +215,6 @@
LateChoices()
if(href_list["SelectedJob"])
- if(!client.authenticated)
- src << "You are not authorized to enter the game."
- return
if(!enter_allowed)
usr << "\blue There is an administrative lock on entering the game!"
diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm
index 2d6b279812..71b22d3264 100644
--- a/code/modules/power/antimatter/fuel.dm
+++ b/code/modules/power/antimatter/fuel.dm
@@ -75,7 +75,7 @@
/obj/item/weapon/fuel/proc/injest(mob/M as mob)
switch(content)
if("Anti-Hydrogen")
- M.gib(1)
+ M.gib()
if("Hydrogen")
M << "\blue You feel very light, as if you might just float away..."
del(src)
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index 5b0502cc92..89d18267c5 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -1,52 +1,35 @@
client/script = {""}
diff --git a/config/config.txt b/config/config.txt
index 0ada1e4187..fc060d92aa 100644
--- a/config/config.txt
+++ b/config/config.txt
@@ -101,8 +101,6 @@ VOTE_PERIOD 60
## allow AI job
ALLOW_AI
-## goon authentication
-#AUTHENTICATION
## disable abandon mob
NORESPAWN
@@ -137,5 +135,9 @@ FEATURE_OBJECT_SPELL_SYSTEM
##Remove the # mark infront of this to forbid admins from posssessing the singularity.
#FORBID_SINGULO_POSSESSION
+## Remove the # to show a popup 'reply to' window to every non-admin that recieves an adminPM.
+## The intention is to make adminPMs more visible. (although I fnd popups annoying so this defaults to off)
+#POPUP_ADMIN_PM
+
##Remove the # mark if you are going to use the SVN irc bot to relay adminhelps
#USEIRCBOT
\ No newline at end of file
diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi
index 2f3e86b36d..91db37b212 100644
Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 1871d56719..177f16f453 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -400,6 +400,7 @@
#include "code\game\gamemodes\events\ninja_equipment.dm"
#include "code\game\gamemodes\events\space_ninja.dm"
#include "code\game\gamemodes\events\spacevines.dm"
+#include "code\game\gamemodes\events\wormholes.dm"
#include "code\game\gamemodes\extended\extended.dm"
#include "code\game\gamemodes\malfunction\Malf_Modules.dm"
#include "code\game\gamemodes\malfunction\malfunction.dm"
@@ -724,7 +725,6 @@
#include "code\game\vehicles\airtight\land.dm"
#include "code\game\vehicles\airtight\space.dm"
#include "code\game\verbs\AI_status.dm"
-#include "code\game\verbs\authorize.dm"
#include "code\game\verbs\ooc.dm"
#include "code\game\verbs\sound.dm"
#include "code\game\verbs\suicide.dm"