mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Rewrote blackholes (gravitational anomalies) and wormholes to try and optimise them a little. If you have any concerns about how I've done so just give me a shout and I'll either rework them or revert my changes back. Wormholes especially seem a bit faster on my laptop. Smoke has temporarily been removed from the blackhole event until I get time to investigate why the hell effect_systems are using so much memory ( spark effects were using 40% of my processor a second ago D: ). To compensate this I made them a new sprite.
Commented out the authentication system. It was the remnants of the old goon authentication stuff (or maybe even older) and wasn't actually used in our code at all (at least not in any useful way, it was merely called and short-circuited to 1, so all those if(authenticated) were totally pointless. This has removed 3 unused variables from every client, a bunch of unused variables from the config and two empty text files! Committed (as a config option) a feature requested by Apoc station. It causes a 'reply to' window to popup when an admin PMs a non-admin player. It's meant to grab their attention so they can't say "I didn't see your PM". It defaults to off. To turn it on just uncomment the #POPUP_ADMIN_PM line in config/config.txt Fixed a derp in isday where it was fetching the month instead of the day. Removed medal references from Gib() Removed the medal_hub global variables because they aren't used in any way shape or form. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3444 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -158,7 +158,7 @@ dmm_suite/preloader
|
|||||||
set name = "LoadMap"
|
set name = "LoadMap"
|
||||||
set desc = "Loads a map"
|
set desc = "Loads a map"
|
||||||
set hidden = 1
|
set hidden = 1
|
||||||
if(src.authenticated && src.holder)
|
if(src.holder)
|
||||||
if(!src.mob)
|
if(!src.mob)
|
||||||
return
|
return
|
||||||
if(src.holder.rank in list("Game Admin", "Game Master"))
|
if(src.holder.rank in list("Game Admin", "Game Master"))
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
var/server_name = null // server name (for world name / status)
|
var/server_name = null // server name (for world name / status)
|
||||||
var/server_suffix = 0 // generate numeric suffix based on server port
|
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_ooc = 0 // log OOC channek
|
||||||
var/log_access = 0 // log login/logout
|
var/log_access = 0 // log login/logout
|
||||||
var/log_say = 0 // log client say
|
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_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_default = 0 // vote does not default to nochange/norestart (tbi)
|
||||||
var/vote_no_dead = 0 // dead people can't vote (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/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/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/protect_roles_from_antagonist = 0// If security and such can be tratior/cult/other
|
||||||
var/Tensioner_Active = 0 // If the tensioner is running.
|
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/mode_names = list()
|
||||||
var/list/modes = list() // allowed modes
|
var/list/modes = list() // allowed modes
|
||||||
@@ -195,8 +193,8 @@
|
|||||||
if ("allow_ai")
|
if ("allow_ai")
|
||||||
config.allow_ai = 1
|
config.allow_ai = 1
|
||||||
|
|
||||||
if ("authentication")
|
// if ("authentication")
|
||||||
config.enable_authentication = 1
|
// config.enable_authentication = 1
|
||||||
|
|
||||||
if ("norespawn")
|
if ("norespawn")
|
||||||
config.respawn = 0
|
config.respawn = 0
|
||||||
@@ -207,12 +205,6 @@
|
|||||||
if ("serversuffix")
|
if ("serversuffix")
|
||||||
config.server_suffix = 1
|
config.server_suffix = 1
|
||||||
|
|
||||||
if ("medalhub")
|
|
||||||
config.medal_hub = value
|
|
||||||
|
|
||||||
if ("medalpass")
|
|
||||||
config.medal_password = value
|
|
||||||
|
|
||||||
if ("hostedby")
|
if ("hostedby")
|
||||||
config.hostedby = value
|
config.hostedby = value
|
||||||
|
|
||||||
@@ -288,6 +280,9 @@
|
|||||||
if("forbid_singulo_possession")
|
if("forbid_singulo_possession")
|
||||||
forbid_singulo_possession = 1
|
forbid_singulo_possession = 1
|
||||||
|
|
||||||
|
if("popup_admin_pm")
|
||||||
|
config.popup_admin_pm = 1
|
||||||
|
|
||||||
if("useircbot")
|
if("useircbot")
|
||||||
useircbot = 1
|
useircbot = 1
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
//END Admin Things
|
//END Admin Things
|
||||||
|
|
||||||
//Key auth things
|
//Key auth things
|
||||||
authenticate = 0
|
// authenticate = 0
|
||||||
var/authenticated = 0
|
// var/authenticated = 0
|
||||||
var/authenticating = 0
|
// var/authenticating = 0
|
||||||
|
|
||||||
var/listen_ooc = 1
|
var/listen_ooc = 1
|
||||||
var/move_delay = 1
|
var/move_delay = 1
|
||||||
|
|||||||
@@ -133,9 +133,7 @@ var
|
|||||||
shuttlecoming = 0
|
shuttlecoming = 0
|
||||||
|
|
||||||
join_motd = null
|
join_motd = null
|
||||||
auth_motd = null
|
|
||||||
rules = null
|
rules = null
|
||||||
no_auth_motd = null
|
|
||||||
forceblob = 0
|
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.
|
//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.
|
||||||
|
|||||||
@@ -233,27 +233,27 @@
|
|||||||
icon_state = "firstaid"
|
icon_state = "firstaid"
|
||||||
|
|
||||||
/obj/item/weapon/storage/syringes
|
/obj/item/weapon/storage/syringes
|
||||||
name = "Syringes"
|
name = "syringes"
|
||||||
desc = "A box full of syringes."
|
desc = "A box full of syringes."
|
||||||
desc = "A biohazard alert warning is printed on the box"
|
desc = "A biohazard alert warning is printed on the box"
|
||||||
icon_state = "syringe"
|
icon_state = "syringe"
|
||||||
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||||
|
|
||||||
/obj/item/weapon/storage/firstaid/toxin
|
/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."
|
desc = "Used to treat when you have a high amoutn of toxins in your body."
|
||||||
icon_state = "antitoxin"
|
icon_state = "antitoxin"
|
||||||
item_state = "firstaid-toxin"
|
item_state = "firstaid-toxin"
|
||||||
|
|
||||||
/obj/item/weapon/storage/firstaid/o2
|
/obj/item/weapon/storage/firstaid/o2
|
||||||
name = "Oxygen Deprivation First Aid"
|
name = "oxygen deprivation first aid"
|
||||||
desc = "A box full of oxygen goodies."
|
desc = "A box full of oxygen goodies."
|
||||||
icon_state = "o2"
|
icon_state = "o2"
|
||||||
item_state = "firstaid-o2"
|
item_state = "firstaid-o2"
|
||||||
|
|
||||||
/obj/item/weapon/storage/flashbang_kit
|
/obj/item/weapon/storage/flashbang_kit
|
||||||
name = "Flashbangs (WARNING)"
|
name = "flashbangs (WARNING)"
|
||||||
desc = "<FONT color=red><B>WARNING: Do not use without reading these preautions!</B></FONT>\n<B>These devices are extremely dangerous and can cause blindness or deafness if used incorrectly.</B>\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. <B>EXERCISE CAUTION REGARDLESS OF CIRCUMSTANCES</B>\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.\n<B>DO NOT USE CONTINUALLY</B>\nOperating Directions:\n\t1. Pull detonnation pin. <B>ONCE THE PIN IS PULLED THE GRENADE CAN NOT BE DISARMED!</B>\n\t2. Throw grenade. <B>NEVER HOLD A LIVE FLASHBANG</B>\n\t3. The grenade will detonste 10 seconds hafter being primed. <B>EXCERCISE CAUTION</B>\n\t-<B>Never prime another grenade until after the first is detonated</B>\nNote: Usage of this pyrotechnic device without authorization is an extreme offense and can\nresult in severe punishment upwards of <B>10 years in prison per use</B>.\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"
|
desc = ""
|
||||||
icon_state = "flashbang"
|
icon_state = "flashbang"
|
||||||
item_state = "syringe_kit"
|
item_state = "syringe_kit"
|
||||||
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
foldable = /obj/item/stack/sheet/cardboard //BubbleWrap
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ proc/sql_poll_admins()
|
|||||||
return
|
return
|
||||||
var/admincount = 0
|
var/admincount = 0
|
||||||
for (var/mob/M in world)
|
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
|
admincount += 1
|
||||||
var/DBConnection/dbcon = new()
|
var/DBConnection/dbcon = new()
|
||||||
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
|
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ proc/time_stamp()
|
|||||||
proc/isDay(var/month, var/day)
|
proc/isDay(var/month, var/day)
|
||||||
if(isnum(month) && isnum(day))
|
if(isnum(month) && isnum(day))
|
||||||
var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month
|
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)
|
if(month == MM && day == DD)
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
@@ -26,4 +26,3 @@ proc/isDay(var/month, var/day)
|
|||||||
/* Check if it's april fools day */
|
/* Check if it's april fools day */
|
||||||
proc/isAprilFools()
|
proc/isAprilFools()
|
||||||
return isDay(4, 1)
|
return isDay(4, 1)
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,6 @@
|
|||||||
|
|
||||||
/world/proc/load_motd()
|
/world/proc/load_motd()
|
||||||
join_motd = file2text("config/motd.txt")
|
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()
|
/world/proc/load_rules()
|
||||||
rules = file2text("config/rules.html")
|
rules = file2text("config/rules.html")
|
||||||
|
|||||||
@@ -2,86 +2,87 @@
|
|||||||
name = "black hole"
|
name = "black hole"
|
||||||
icon = 'objects.dmi'
|
icon = 'objects.dmi'
|
||||||
desc = "FUCK FUCK FUCK AAAHHH"
|
desc = "FUCK FUCK FUCK AAAHHH"
|
||||||
icon_state = "bhole2"
|
icon_state = "bhole3"
|
||||||
opacity = 0
|
opacity = 1
|
||||||
unacidable = 1
|
unacidable = 1
|
||||||
density = 0
|
density = 0
|
||||||
anchored = 1
|
anchored = 1
|
||||||
var/datum/effect/effect/system/harmless_smoke_spread/smoke
|
|
||||||
|
|
||||||
|
|
||||||
/obj/effect/bhole/New()
|
/obj/effect/bhole/New()
|
||||||
src.smoke = new /datum/effect/effect/system/harmless_smoke_spread()
|
spawn(4)
|
||||||
src.smoke.set_up(5, 0, src)
|
controller()
|
||||||
src.smoke.attach(src)
|
|
||||||
src:life()
|
/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)
|
|
||||||
|
|
||||||
|
//MOVEMENT
|
||||||
/obj/effect/bhole/proc/life() //Oh man , this will LAG
|
if( prob(50) )
|
||||||
|
|
||||||
if (prob(10))
|
|
||||||
src.anchored = 0
|
src.anchored = 0
|
||||||
step(src,pick(alldirs))
|
step(src,pick(alldirs))
|
||||||
if (prob(30))
|
|
||||||
step(src,pick(alldirs))
|
|
||||||
src.anchored = 1
|
src.anchored = 1
|
||||||
|
|
||||||
for (var/atom/X in orange(9,src))
|
/obj/effect/bhole/proc/grav(var/r, var/ex_act_force, var/pull_chance, var/turf_removal_chance)
|
||||||
if ((istype(X,/obj) || istype(X,/mob/living)) && prob(7))
|
if(!isturf(loc)) //blackhole cannot be contained inside anything. Weird stuff might happen
|
||||||
if (!X:anchored)
|
del(src)
|
||||||
step_towards(X,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))
|
/obj/effect/bhole/proc/affect_coord(var/x, var/y, var/ex_act_force, var/pull_chance, var/turf_removal_chance)
|
||||||
if (istype(B,/obj))
|
//Get turf at coordinate
|
||||||
if (!B:anchored && prob(50))
|
var/turf/T = locate(x, y, z)
|
||||||
step_towards(B,src)
|
if(isnull(T)) return
|
||||||
if(prob(10)) B:ex_act(3.0)
|
|
||||||
|
//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
|
else
|
||||||
B:anchored = 0
|
step_towards(O,src)
|
||||||
//step_towards(B,src)
|
for(var/mob/living/M in T.contents)
|
||||||
//B:anchored = 1
|
step_towards(M,src)
|
||||||
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)
|
|
||||||
|
|
||||||
|
//Destroying the turf
|
||||||
for (var/atom/A in orange(4,src))
|
if( T && istype(T,/turf/simulated) && prob(turf_removal_chance) )
|
||||||
if (istype(A,/obj))
|
var/turf/simulated/ST = T
|
||||||
if (!A:anchored && prob(90))
|
ST.ReplaceWithSpace()
|
||||||
step_towards(A,src)
|
return
|
||||||
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()
|
|
||||||
@@ -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 desc = "Spawns a space ninja for when you need a teenager with attitude."
|
||||||
set popup_menu = 0
|
set popup_menu = 0
|
||||||
|
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(!ticker.mode)
|
if(!ticker.mode)
|
||||||
|
|||||||
63
code/game/gamemodes/events/wormholes.dm
Normal file
63
code/game/gamemodes/events/wormholes.dm
Normal file
@@ -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)
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
/datum/game_mode/sandbox/pre_setup()
|
/datum/game_mode/sandbox/pre_setup()
|
||||||
for(var/mob/M in world)
|
for(var/mob/M in world)
|
||||||
if(M.client && M.client.authenticated)
|
if(M.client)
|
||||||
M.CanBuild()
|
M.CanBuild()
|
||||||
|
|
||||||
setup_sectors()
|
setup_sectors()
|
||||||
|
|||||||
@@ -787,15 +787,6 @@
|
|||||||
src.visible_message("\red [src] drives over [H]!")
|
src.visible_message("\red [src] drives over [H]!")
|
||||||
playsound(src.loc, 'splat.ogg', 50, 1)
|
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)
|
var/damage = rand(5,15)
|
||||||
H.apply_damage(2*damage, BRUTE, "head")
|
H.apply_damage(2*damage, BRUTE, "head")
|
||||||
H.apply_damage(2*damage, BRUTE, "chest")
|
H.apply_damage(2*damage, BRUTE, "chest")
|
||||||
|
|||||||
@@ -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
|
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")
|
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."
|
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
|
return
|
||||||
if("No")
|
if("No")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -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!", \
|
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 feel as your blood boils, tearing you apart.", \
|
||||||
"\red You hear a thousand voices, all crying in pain.")
|
"\red You hear a thousand voices, all crying in pain.")
|
||||||
body_to_sacrifice.gib(1)
|
body_to_sacrifice.gib()
|
||||||
if (ticker.mode.name == "cult")
|
if (ticker.mode.name == "cult")
|
||||||
ticker.mode:add_cultist(body_to_sacrifice.mind)
|
ticker.mode:add_cultist(body_to_sacrifice.mind)
|
||||||
else
|
else
|
||||||
@@ -560,7 +560,7 @@ var/list/sacrificed = list()
|
|||||||
if(H.mind == ticker.mode:sacrifice_target)
|
if(H.mind == ticker.mode:sacrifice_target)
|
||||||
if(cultsinrange.len >= 3)
|
if(cultsinrange.len >= 3)
|
||||||
sacrificed += H.mind
|
sacrificed += H.mind
|
||||||
H.gib(1)
|
H.gib()
|
||||||
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
||||||
else
|
else
|
||||||
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
|
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
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, this soul was not enough to gain His favor."
|
usr << "\red However, this soul was not enough to gain His favor."
|
||||||
H.gib(1)
|
H.gib()
|
||||||
else
|
else
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
@@ -581,7 +581,7 @@ var/list/sacrificed = list()
|
|||||||
else
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
H.gib(1)
|
H.gib()
|
||||||
else
|
else
|
||||||
if(H.stat !=2)
|
if(H.stat !=2)
|
||||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
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
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
H.gib(1)
|
H.gib()
|
||||||
else
|
else
|
||||||
if(cultsinrange.len >= 3)
|
if(cultsinrange.len >= 3)
|
||||||
if(H.stat !=2)
|
if(H.stat !=2)
|
||||||
@@ -602,7 +602,7 @@ var/list/sacrificed = list()
|
|||||||
else
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, this soul was not enough to gain His favor."
|
usr << "\red However, this soul was not enough to gain His favor."
|
||||||
H.gib(1)
|
H.gib()
|
||||||
else
|
else
|
||||||
if(prob(40))
|
if(prob(40))
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
@@ -610,7 +610,7 @@ var/list/sacrificed = list()
|
|||||||
else
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||||
H.gib(1)
|
H.gib()
|
||||||
else
|
else
|
||||||
if(H.stat !=2)
|
if(H.stat !=2)
|
||||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
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
|
else
|
||||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
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)
|
for(var/mob/living/carbon/monkey/M in src.loc)
|
||||||
if (ticker.mode.name == "cult")
|
if (ticker.mode.name == "cult")
|
||||||
if(M.mind == ticker.mode:sacrifice_target)
|
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."
|
usr << "\red The Geometer of Blood accepts your meager sacrifice."
|
||||||
if(prob(20))
|
if(prob(20))
|
||||||
ticker.mode.grant_runeword(usr)
|
ticker.mode.grant_runeword(usr)
|
||||||
M.gib(1)
|
M.gib()
|
||||||
/* for(var/mob/living/carbon/alien/A)
|
/* for(var/mob/living/carbon/alien/A)
|
||||||
for(var/mob/K in cultsinrange)
|
for(var/mob/K in cultsinrange)
|
||||||
K.say("Barhah hra zar'garis!")
|
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 (ticker.mode.name == "cult")
|
||||||
if(prob(75))
|
if(prob(75))
|
||||||
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
|
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
|
||||||
@@ -902,7 +902,7 @@ var/list/sacrificed = list()
|
|||||||
M << "\red Your blood boils!"
|
M << "\red Your blood boils!"
|
||||||
if(prob(5))
|
if(prob(5))
|
||||||
spawn(5)
|
spawn(5)
|
||||||
M.gib(1)
|
M.gib()
|
||||||
for(var/obj/effect/rune/R in view(src))
|
for(var/obj/effect/rune/R in view(src))
|
||||||
if(prob(10))
|
if(prob(10))
|
||||||
explosion(R.loc, -1, 0, 1, 5)
|
explosion(R.loc, -1, 0, 1, 5)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
for(var/mob/M in world)
|
for(var/mob/M in world)
|
||||||
|
|
||||||
if(M.client)
|
if(M.client)
|
||||||
if(M.client.holder && M.client.authenticated)
|
if(M.client.holder)
|
||||||
if(!M.client.stealth)
|
if(!M.client.stealth)
|
||||||
admins++
|
admins++
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
/*
|
||||||
/client/proc/authorize()
|
/client/proc/authorize()
|
||||||
set name = "Authorize"
|
set name = "Authorize"
|
||||||
|
|
||||||
@@ -41,6 +42,7 @@
|
|||||||
src << "Try again using the <b>Authorize</b> command, sometimes the server will hiccup and not correctly authorize."
|
src << "Try again using the <b>Authorize</b> command, sometimes the server will hiccup and not correctly authorize."
|
||||||
src << "\blue[no_auth_motd]"
|
src << "\blue[no_auth_motd]"
|
||||||
src.authenticating = 0
|
src.authenticating = 0
|
||||||
|
*/
|
||||||
|
|
||||||
/* The old goon auth/beta code is here
|
/* The old goon auth/beta code is here
|
||||||
/client/proc/beta_tester_auth()
|
/client/proc/beta_tester_auth()
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
/mob/verb/ooc(msg as text)
|
/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 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"
|
set category = "OOC"
|
||||||
if (!src.client.authenticated || IsGuestKey(src.key))
|
if (IsGuestKey(src.key))
|
||||||
src << "You are not authorized to communicate over these channels."
|
src << "You are not authorized to communicate over these channels."
|
||||||
return
|
return
|
||||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||||
@@ -38,17 +38,15 @@
|
|||||||
|
|
||||||
for (var/client/C)
|
for (var/client/C)
|
||||||
if (src.client.holder && (!src.client.stealth || C.holder))
|
if (src.client.holder && (!src.client.stealth || C.holder))
|
||||||
// C << "<span class=\"adminooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key]:</span> <span class=\"message\">[msg]</span></span>"
|
|
||||||
if (src.client.holder.rank == "Admin Observer")
|
if (src.client.holder.rank == "Admin Observer")
|
||||||
C << "<span class=\"gfartooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
C << "<span class='observerooc'><span class='prefix'>OOC:</span> <EM>[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</EM> <span class='message'>[msg]</span></span>"
|
||||||
else if (src.client.holder.level >= 5)
|
else if (src.client.holder.level >= 5)
|
||||||
C << "<font color=[src.client.ooccolor]><b><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></b></font>"
|
C << "<font color=[src.client.ooccolor]><b><span class='prefix'>OOC:</span> <EM>[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</EM> <span class='message'>[msg]</span></b></font>"
|
||||||
else
|
else
|
||||||
C << "<span class=\"adminooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</span> <span class=\"message\">[msg]</span></span>"
|
C << "<span class='adminooc'><span class='prefix'>OOC:</span> <EM>[src.key][src.client.stealth ? "/([src.client.fakekey])" : ""]:</EM> <span class='message'>[msg]</span></span>"
|
||||||
|
|
||||||
else if (C.listen_ooc)
|
else if (C.listen_ooc)
|
||||||
C << "<span class=\"ooc\"><span class=\"prefix\">OOC:</span> <span class=\"name\">[src.client.stealth ? src.client.fakekey : src.key]:</span> <span class=\"message\">[msg]</span></span>"
|
C << "<span class='ooc'><span class='prefix'>OOC:</span> <EM>[src.client.stealth ? src.client.fakekey : src.key]:</EM> <span class='message'>[msg]</span></span>"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
/mob/verb/goonsay(msg as text)
|
/mob/verb/goonsay(msg as text)
|
||||||
set name = "Goonsay"
|
set name = "Goonsay"
|
||||||
|
|||||||
@@ -6,16 +6,6 @@
|
|||||||
|
|
||||||
var/list/peeps = list()
|
var/list/peeps = list()
|
||||||
|
|
||||||
if (config.enable_authentication)
|
|
||||||
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)
|
for (var/mob/M in world)
|
||||||
if (!M.client)
|
if (!M.client)
|
||||||
continue
|
continue
|
||||||
@@ -39,7 +29,7 @@
|
|||||||
usr << "<b>Current Admins:</b>"
|
usr << "<b>Current Admins:</b>"
|
||||||
|
|
||||||
for (var/mob/M in world)
|
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)
|
if(usr.client.holder)
|
||||||
usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " <i>(as [M.client.fakekey])</i>" : ""]"
|
usr << "[M.key] is a [M.client.holder.rank][M.client.stealth ? " <i>(as [M.client.fakekey])</i>" : ""]"
|
||||||
else if(!M.client.stealth)
|
else if(!M.client.stealth)
|
||||||
|
|||||||
@@ -169,9 +169,6 @@
|
|||||||
/mob/verb/vote()
|
/mob/verb/vote()
|
||||||
set category = "OOC"
|
set category = "OOC"
|
||||||
set name = "Vote"
|
set name = "Vote"
|
||||||
if(!usr.client.authenticated)
|
|
||||||
usr << "You're not authenticated, you can't vote."
|
|
||||||
return
|
|
||||||
usr.client.showvote = 1
|
usr.client.showvote = 1
|
||||||
|
|
||||||
|
|
||||||
@@ -324,7 +321,7 @@
|
|||||||
|
|
||||||
for(var/mob/CM in world)
|
for(var/mob/CM in world)
|
||||||
if(CM.client)
|
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"
|
CM.client.vote = "none"
|
||||||
else
|
else
|
||||||
CM.client.vote = "default"
|
CM.client.vote = "default"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ var/global/BSACooldown = 0
|
|||||||
var/rendered = "<span class=\"admin\"><span class=\"prefix\">ADMIN LOG:</span> <span class=\"message\">[text]</span></span>"
|
var/rendered = "<span class=\"admin\"><span class=\"prefix\">ADMIN LOG:</span> <span class=\"message\">[text]</span></span>"
|
||||||
log_adminwarn(rendered)
|
log_adminwarn(rendered)
|
||||||
for (var/mob/M in world)
|
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)
|
if (admin_ref)
|
||||||
M << dd_replaceText(rendered, "%admin_ref%", "\ref[M]")
|
M << dd_replaceText(rendered, "%admin_ref%", "\ref[M]")
|
||||||
else
|
else
|
||||||
@@ -959,15 +959,15 @@ var/global/BSACooldown = 0
|
|||||||
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
|
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)
|
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
|
||||||
|
|
||||||
if (href_list["adminauth"])
|
// if (href_list["adminauth"])
|
||||||
if ((src.rank in list( "Admin Candidate", "Temporary Admin", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
// if ((src.rank in list( "Admin Candidate", "Temporary Admin", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||||
var/mob/M = locate(href_list["adminauth"])
|
// var/mob/M = locate(href_list["adminauth"])
|
||||||
if (ismob(M) && !M.client.authenticated && !M.client.authenticating)
|
// if (ismob(M) && !M.client.authenticated && !M.client.authenticating)
|
||||||
M.client.verbs -= /client/proc/authorize
|
// M.client.verbs -= /client/proc/authorize
|
||||||
M.client.authenticated = text("admin/[]", usr.client.authenticated)
|
// M.client.authenticated = text("admin/[]", usr.client.authenticated)
|
||||||
log_admin("[key_name(usr)] authorized [key_name(M)]")
|
// log_admin("[key_name(usr)] authorized [key_name(M)]")
|
||||||
message_admins("\blue [key_name_admin(usr)] authorized [key_name_admin(M)]", 1)
|
// message_admins("\blue [key_name_admin(usr)] authorized [key_name_admin(M)]", 1)
|
||||||
M.client << text("You have been authorized by []", usr.key)
|
// M.client << text("You have been authorized by []", usr.key)
|
||||||
|
|
||||||
if (href_list["revive"])
|
if (href_list["revive"])
|
||||||
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
if ((src.rank in list( "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||||
@@ -1803,32 +1803,16 @@ var/global/BSACooldown = 0
|
|||||||
world << sound('granomalies.ogg')
|
world << sound('granomalies.ogg')
|
||||||
var/turf/T = pick(blobstart)
|
var/turf/T = pick(blobstart)
|
||||||
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
|
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
|
||||||
spawn(rand(50, 300))
|
spawn(rand(100, 600))
|
||||||
del(bh)
|
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_inc("admin_secrets_fun_used",1)
|
||||||
feedback_add_details("admin_secrets_fun_used","STA")
|
feedback_add_details("admin_secrets_fun_used","STA")
|
||||||
command_alert("Space-time anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
//moved to its own dm so I could split it up and prevent the spawns copying variables over and over
|
||||||
world << sound('spanomalies.ogg')
|
//can be found in code\game\game_modes\events\wormholes.dm
|
||||||
var/list/turfs = list( )
|
wormhole_event()
|
||||||
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)
|
|
||||||
if("goblob")
|
if("goblob")
|
||||||
feedback_inc("admin_secrets_fun_used",1)
|
feedback_inc("admin_secrets_fun_used",1)
|
||||||
feedback_add_details("admin_secrets_fun_used","BL")
|
feedback_add_details("admin_secrets_fun_used","BL")
|
||||||
@@ -2218,10 +2202,10 @@ var/global/BSACooldown = 0
|
|||||||
var/dat = "<html><head><title>Options for [M.key]</title></head>"
|
var/dat = "<html><head><title>Options for [M.key]</title></head>"
|
||||||
var/foo = "\[ "
|
var/foo = "\[ "
|
||||||
if (ismob(M) && M.client)
|
if (ismob(M) && M.client)
|
||||||
if(!M.client.authenticated && !M.client.authenticating)
|
// if(!M.client.authenticated && !M.client.authenticating)
|
||||||
foo += text("<A HREF='?src=\ref[src];adminauth=\ref[M]'>Authorize</A> | ")
|
// foo += text("<A HREF='?src=\ref[src];adminauth=\ref[M]'>Authorize</A> | ")
|
||||||
else
|
// else
|
||||||
foo += text("<B>Authorized</B> | ")
|
// foo += text("<B>Authorized</B> | ")
|
||||||
foo += text("<A HREF='?src=\ref[src];prom_demot=\ref[M.client]'>Promote/Demote</A> | ")
|
foo += text("<A HREF='?src=\ref[src];prom_demot=\ref[M.client]'>Promote/Demote</A> | ")
|
||||||
if(!istype(M, /mob/new_player))
|
if(!istype(M, /mob/new_player))
|
||||||
if(!ismonkey(M))
|
if(!ismonkey(M))
|
||||||
@@ -2518,14 +2502,14 @@ var/global/BSACooldown = 0
|
|||||||
|
|
||||||
for(var/mob/CM in world)
|
for(var/mob/CM in world)
|
||||||
if(CM.client)
|
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"
|
CM.client.vote = "none"
|
||||||
else
|
else
|
||||||
CM.client.vote = "default"
|
CM.client.vote = "default"
|
||||||
|
|
||||||
for(var/mob/CM in world)
|
for(var/mob/CM in world)
|
||||||
if(CM.client)
|
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"
|
CM.client.vote = "none"
|
||||||
else
|
else
|
||||||
CM.client.vote = "default"
|
CM.client.vote = "default"
|
||||||
|
|||||||
@@ -523,7 +523,7 @@
|
|||||||
/client/proc/stealth()
|
/client/proc/stealth()
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Stealth Mode"
|
set name = "Stealth Mode"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
stealth = !stealth
|
stealth = !stealth
|
||||||
@@ -546,7 +546,7 @@
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Warn"
|
set name = "Warn"
|
||||||
set desc = "Warn a player"
|
set desc = "Warn a player"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(M.client && M.client.holder && (M.client.holder.level >= holder.level))
|
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)
|
/client/proc/toggle_clickproc() //TODO ERRORAGE (This is a temporary verb here while I test the new clicking proc)
|
||||||
set name = "Toggle NewClickProc"
|
set name = "Toggle NewClickProc"
|
||||||
set category = "Admin"
|
set category = "Debug"
|
||||||
|
|
||||||
if(!holder) return
|
if(!holder) return
|
||||||
using_new_click_proc = !using_new_click_proc
|
using_new_click_proc = !using_new_click_proc
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
/mob/verb/adminhelp(msg as text)
|
/mob/verb/adminhelp(msg as text)
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Adminhelp"
|
set name = "Adminhelp"
|
||||||
if(!usr.client.authenticated)
|
|
||||||
src << "Please authorize before sending these messages."
|
|
||||||
return
|
|
||||||
|
|
||||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
set name = "Jump to Area"
|
set name = "Jump to Area"
|
||||||
set desc = "Area to jump to"
|
set desc = "Area to jump to"
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
/client/proc/jumptoturf(var/turf/T in world)
|
/client/proc/jumptoturf(var/turf/T in world)
|
||||||
set name = "Jump to Turf"
|
set name = "Jump to Turf"
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(config.allow_admin_jump)
|
if(config.allow_admin_jump)
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Jump to Mob"
|
set name = "Jump to Mob"
|
||||||
|
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Jump to Coordinate"
|
set name = "Jump to Coordinate"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Jump to Key"
|
set name = "Jump to Key"
|
||||||
|
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Get Mob"
|
set name = "Get Mob"
|
||||||
set desc = "Mob to teleport"
|
set desc = "Mob to teleport"
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(config.allow_admin_jump)
|
if(config.allow_admin_jump)
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
set name = "Get Key"
|
set name = "Get Key"
|
||||||
set desc = "Key to teleport"
|
set desc = "Key to teleport"
|
||||||
|
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
/client/proc/sendmob(var/mob/M in world, var/area/A in world)
|
/client/proc/sendmob(var/mob/M in world, var/area/A in world)
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Send Mob"
|
set name = "Send Mob"
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(config.allow_admin_jump)
|
if(config.allow_admin_jump)
|
||||||
|
|||||||
@@ -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 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
|
set hidden = 1
|
||||||
|
|
||||||
// All admins should be authenticated, but... what if?
|
if (!src.holder)
|
||||||
|
|
||||||
if (!src.authenticated || !src.holder)
|
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -23,7 +21,7 @@
|
|||||||
for (var/mob/M in world)
|
for (var/mob/M in world)
|
||||||
if (M.client && M.client.holder)
|
if (M.client && M.client.holder)
|
||||||
if (src.holder.rank == "Admin Observer")
|
if (src.holder.rank == "Admin Observer")
|
||||||
M << "<span class=\"gfartadmin\"><span class=\"prefix\">ADMIN:</span> <span class=\"name\">[key_name(usr, M)]:</span> <span class=\"message\">[msg]</span></span>"
|
M << "<span class='adminobserver'><span class='prefix'>ADMIN:</span> <EM>[key_name(usr, M)]:</EM> <span class='message'>[msg]</span></span>"
|
||||||
else
|
else
|
||||||
M << "<span class=\"admin\"><span class=\"prefix\">ADMIN:</span> <span class=\"name\">[key_name(usr, M)]</span> (<A HREF='?src=\ref[M.client.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class=\"message\">[msg]</span></span>"
|
M << "<span class='admin'><span class='prefix'>ADMIN:</span> <EM>[key_name(usr, M)]</EM> (<A HREF='?src=\ref[M.client.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>"
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/client/proc/atmosscan()
|
/client/proc/atmosscan()
|
||||||
set category = "Mapping"
|
set category = "Mapping"
|
||||||
set name = "Check Plumbing"
|
set name = "Check Plumbing"
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -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 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
|
set hidden = 1
|
||||||
// All admins should be authenticated, but... what if?
|
// All admins should be authenticated, but... what if?
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(!src.mob)
|
if(!src.mob)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/client/proc/Debug2()
|
/client/proc/Debug2()
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
set name = "Debug-Game"
|
set name = "Debug-Game"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(holder.rank == "Game Admin")
|
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()
|
/client/proc/callproc()
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
set name = "Advanced ProcCall"
|
set name = "Advanced ProcCall"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/target = null
|
var/target = null
|
||||||
|
|||||||
@@ -180,7 +180,7 @@
|
|||||||
jump_to_dead_group()
|
jump_to_dead_group()
|
||||||
set name = "Jump to dead group"
|
set name = "Jump to dead group"
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -199,7 +199,7 @@
|
|||||||
set name = "Kill Local Airgroup"
|
set name = "Kill Local Airgroup"
|
||||||
set desc = "Use this to allow manual manupliation of atmospherics."
|
set desc = "Use this to allow manual manupliation of atmospherics."
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
/client/proc/massmodify_variables(var/atom/O, var/var_name = "", var/method = 0)
|
/client/proc/massmodify_variables(var/atom/O, var/var_name = "", var/method = 0)
|
||||||
var/list/locked = list("vars", "key", "ckey", "client")
|
var/list/locked = list("vars", "key", "ckey", "client")
|
||||||
|
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
/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")
|
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."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
set name = "Play Global Sound"
|
set name = "Play Global Sound"
|
||||||
|
|
||||||
//if(Debug2)
|
//if(Debug2)
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Play Local Sound"
|
set name = "Play Local Sound"
|
||||||
|
|
||||||
if(!src.authenticated || !src.holder)
|
if(!src.holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
for(var/mob/living/carbon/human/CP in world)
|
for(var/mob/living/carbon/human/CP in world)
|
||||||
if(CP.real_name=="Cuban Pete" && CP.key!="Rosham")
|
if(CP.real_name=="Cuban Pete" && CP.key!="Rosham")
|
||||||
CP << "Your body can't contain the rhumba beat"
|
CP << "Your body can't contain the rhumba beat"
|
||||||
CP.gib(1)
|
CP.gib()
|
||||||
|
|
||||||
|
|
||||||
/client/proc/bananaphone()
|
/client/proc/bananaphone()
|
||||||
|
|||||||
@@ -1,9 +1,6 @@
|
|||||||
/mob/verb/pray(msg as text)
|
/mob/verb/pray(msg as text)
|
||||||
set category = "IC"
|
set category = "IC"
|
||||||
set name = "Pray"
|
set name = "Pray"
|
||||||
if(!usr.client.authenticated)
|
|
||||||
src << "Please authorize before sending these messages."
|
|
||||||
return
|
|
||||||
|
|
||||||
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/client/proc/cmd_admin_drop_everything(mob/M as mob in world)
|
/client/proc/cmd_admin_drop_everything(mob/M as mob in world)
|
||||||
set category = null
|
set category = null
|
||||||
set name = "Drop Everything"
|
set name = "Drop Everything"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
for(var/obj/item/W in M)
|
for(var/obj/item/W in M)
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
/client/proc/cmd_admin_prison(mob/M as mob in world)
|
/client/proc/cmd_admin_prison(mob/M as mob in world)
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Prison"
|
set name = "Prison"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if (ismob(M))
|
if (ismob(M))
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
set name = "Subtle Message"
|
set name = "Subtle Message"
|
||||||
|
|
||||||
if(!ismob(M)) return
|
if(!ismob(M)) return
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Global Narrate"
|
set name = "Global Narrate"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Direct Narrate"
|
set name = "Direct Narrate"
|
||||||
|
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/msg = input("Message:", text("Enter the text you wish to appear to your target:")) as text
|
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)
|
/client/proc/cmd_admin_pm_context(mob/M as mob in world)
|
||||||
set category = null
|
set category = null
|
||||||
set name = "Admin PM Mob"
|
set name = "Admin PM Mob"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "\red Error: Admin-PM-Context: Only administrators may use this command."
|
src << "\red Error: Admin-PM-Context: Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if( !ismob(M) || !M.client ) return
|
if( !ismob(M) || !M.client ) return
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
/client/proc/cmd_admin_pm_panel()
|
/client/proc/cmd_admin_pm_panel()
|
||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "Admin PM"
|
set name = "Admin PM"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "\red Error: Admin-PM-Panel: Only administrators may use this command."
|
src << "\red Error: Admin-PM-Panel: Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/list/client/targets[0]
|
var/list/client/targets[0]
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
cmd_admin_pm(targets[target])
|
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.
|
//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) )
|
if( !C || !istype(C,/client) )
|
||||||
src << "\red Error: Admin-PM: Client not found."
|
src << "\red Error: Admin-PM: Client not found."
|
||||||
return
|
return
|
||||||
@@ -127,13 +127,15 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
//get message text, limit it's length.and clean/escape html
|
//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)
|
||||||
|
t = input("Message:", "Private message to [C.key]") as text|null
|
||||||
if(!t) return
|
if(!t) return
|
||||||
if(!C)
|
if(!C)
|
||||||
src << "\red Error: Admin PM: Client not found."
|
src << "\red Error: Admin PM: Client not found."
|
||||||
|
return
|
||||||
|
|
||||||
|
//clean the message if it's not sent by a GA or GM
|
||||||
if( !holder || !(holder.rank in list("Game Admin", "Game Master")) ) //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))
|
t = sanitize(copytext(t,1,500))
|
||||||
if(!t) return
|
if(!t) return
|
||||||
|
|
||||||
@@ -161,6 +163,22 @@
|
|||||||
//always play non-admin recipients the adminhelp sound
|
//always play non-admin recipients the adminhelp sound
|
||||||
C << 'adminhelp.ogg'
|
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 << "<font class='red'>Error: Admin PM: Client not found.</font>" //couldn't find one
|
||||||
|
return
|
||||||
|
|
||||||
else //neither are admins
|
else //neither are admins
|
||||||
src << "<font class='red'>Error: Admin PM: Non-admin to non-admin PM communication is forbidden.</font>"
|
src << "<font class='red'>Error: Admin PM: Non-admin to non-admin PM communication is forbidden.</font>"
|
||||||
return
|
return
|
||||||
@@ -175,7 +193,7 @@
|
|||||||
/client/proc/cmd_admin_godmode(mob/M as mob in world)
|
/client/proc/cmd_admin_godmode(mob/M as mob in world)
|
||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Godmode"
|
set name = "Godmode"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if (M.nodamage == 1)
|
if (M.nodamage == 1)
|
||||||
@@ -191,7 +209,7 @@
|
|||||||
/client/proc/cmd_admin_mute(mob/M as mob in world)
|
/client/proc/cmd_admin_mute(mob/M as mob in world)
|
||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Admin Mute"
|
set name = "Admin Mute"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if (M.client && M.client.holder && (M.client.holder.level >= holder.level))
|
if (M.client && M.client.holder && (M.client.holder.level >= holder.level))
|
||||||
@@ -211,7 +229,7 @@
|
|||||||
/client/proc/cmd_admin_add_random_ai_law()
|
/client/proc/cmd_admin_add_random_ai_law()
|
||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Add Random AI Law"
|
set name = "Add Random AI Law"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
log_admin("[key_name(src)] has added a random AI law.")
|
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 desc = "Spawns a xenomorph for all those boring rounds, without having you to do so manually."
|
||||||
set popup_menu = 0
|
set popup_menu = 0
|
||||||
|
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -294,7 +312,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Respawn Character"
|
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."
|
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."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/input = input(src, "Please specify which key will be respawned.", "Key", "")
|
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()
|
/client/proc/cmd_admin_add_freeform_ai_law()
|
||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Add Custom AI law"
|
set name = "Add Custom AI law"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null
|
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)
|
/client/proc/cmd_admin_rejuvenate(mob/living/M as mob in world)
|
||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Rejuvenate"
|
set name = "Rejuvenate"
|
||||||
// All admins should be authenticated, but... what if?
|
if(!holder)
|
||||||
if(!authenticated || !holder)
|
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(!mob)
|
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()
|
/client/proc/cmd_admin_create_centcom_report()
|
||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Create Command Report"
|
set name = "Create Command Report"
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null
|
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 category = "Admin"
|
||||||
set name = "Delete"
|
set name = "Delete"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -614,7 +631,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
set category = "Admin"
|
set category = "Admin"
|
||||||
set name = "List free slots"
|
set name = "List free slots"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(job_master)
|
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 category = "Special Verbs"
|
||||||
set name = "Explosion"
|
set name = "Explosion"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -655,7 +672,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "EM Pulse"
|
set name = "EM Pulse"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -678,7 +695,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
set category = "Special Verbs"
|
set category = "Special Verbs"
|
||||||
set name = "Gib"
|
set name = "Gib"
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -736,7 +753,6 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
return
|
return
|
||||||
if(M)
|
if(M)
|
||||||
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
|
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
|
||||||
M.unlock_medal("Banned", 1)
|
|
||||||
M << "\red<BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG>"
|
M << "\red<BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG>"
|
||||||
M << "\red This is a temporary ban, it will be removed in [mins] minutes."
|
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/"
|
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)
|
if(!reason)
|
||||||
return
|
return
|
||||||
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
|
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
|
||||||
M.unlock_medal("Banned", 1)
|
|
||||||
M << "\red<BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG>"
|
M << "\red<BIG><B>You have been banned by [usr.client.ckey].\nReason: [reason].</B></BIG>"
|
||||||
M << "\red This is a permanent ban."
|
M << "\red This is a permanent ban."
|
||||||
M << "\red To try to resolve this matter head to http://ss13.donglabs.com/forum/"
|
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()
|
/client/proc/cmd_admin_remove_plasma()
|
||||||
set category = "Debug"
|
set category = "Debug"
|
||||||
set name = "Stabilize Atmos."
|
set name = "Stabilize Atmos."
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
// DEFERRED
|
// DEFERRED
|
||||||
@@ -824,7 +839,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
|||||||
if ((!( ticker ) || emergency_shuttle.location))
|
if ((!( ticker ) || emergency_shuttle.location))
|
||||||
return
|
return
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
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))
|
if ((!( ticker ) || emergency_shuttle.location || emergency_shuttle.direction == 0))
|
||||||
return
|
return
|
||||||
|
|
||||||
if (!authenticated || !holder)
|
if (!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ var/global/sent_strike_team = 0
|
|||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Spawn Death Squad"
|
set name = "Spawn Death Squad"
|
||||||
set desc = "Spawns a squad of commandos in CentCom if you want to run an admin event."
|
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."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(!ticker)
|
if(!ticker)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ var/global/sent_syndicate_strike_team = 0
|
|||||||
set category = "Fun"
|
set category = "Fun"
|
||||||
set name = "Spawn Syndicate Strike Team"
|
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."
|
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."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
if(!ticker)
|
if(!ticker)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
set name = "Set Ticklag"
|
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"
|
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(Debug2)
|
||||||
if(src.authenticated && src.holder)
|
if(src.holder)
|
||||||
if(!src.mob) return
|
if(!src.mob) return
|
||||||
|
|
||||||
if(src.holder.rank in list("Game Admin", "Game Master"))
|
if(src.holder.rank in list("Game Admin", "Game Master"))
|
||||||
|
|||||||
@@ -202,7 +202,7 @@
|
|||||||
set desc = "Ghost into blobthing."
|
set desc = "Ghost into blobthing."
|
||||||
set hidden = 1
|
set hidden = 1
|
||||||
|
|
||||||
if(!authenticated || !holder)
|
if(!holder)
|
||||||
src << "Only administrators may use this command."
|
src << "Only administrators may use this command."
|
||||||
return
|
return
|
||||||
var/input = input(src, "Please specify which key will be turned into a bloby.", "Key", "")
|
var/input = input(src, "Please specify which key will be turned into a bloby.", "Key", "")
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
flick("flash", flash)
|
flick("flash", flash)
|
||||||
|
|
||||||
if (stat == 2 && client)
|
if (stat == 2 && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
else if (stat == 2 && !client)
|
else if (stat == 2 && !client)
|
||||||
@@ -105,7 +105,7 @@
|
|||||||
switch (severity)
|
switch (severity)
|
||||||
if (1.0)
|
if (1.0)
|
||||||
b_loss += 500
|
b_loss += 500
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
if (2.0)
|
if (2.0)
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
flick("flash", flash)
|
flick("flash", flash)
|
||||||
|
|
||||||
if (stat == 2 && client)
|
if (stat == 2 && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
else if (stat == 2 && !client)
|
else if (stat == 2 && !client)
|
||||||
@@ -91,7 +91,7 @@
|
|||||||
switch (severity)
|
switch (severity)
|
||||||
if (1.0)
|
if (1.0)
|
||||||
b_loss += 500
|
b_loss += 500
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
if (2.0)
|
if (2.0)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
if(prob(src.getBruteLoss() - 50))
|
if(prob(src.getBruteLoss() - 50))
|
||||||
src.gib()
|
src.gib()
|
||||||
|
|
||||||
/mob/living/carbon/gib(give_medal)
|
/mob/living/carbon/gib()
|
||||||
for(var/mob/M in src)
|
for(var/mob/M in src)
|
||||||
if(M in src.stomach_contents)
|
if(M in src.stomach_contents)
|
||||||
src.stomach_contents.Remove(M)
|
src.stomach_contents.Remove(M)
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
for(var/mob/N in viewers(src, null))
|
for(var/mob/N in viewers(src, null))
|
||||||
if(N.client)
|
if(N.client)
|
||||||
N.show_message(text("\red <B>[M] bursts out of [src]!</B>"), 2)
|
N.show_message(text("\red <B>[M] bursts out of [src]!</B>"), 2)
|
||||||
. = ..(give_medal)
|
. = ..()
|
||||||
|
|
||||||
/mob/living/carbon/attack_hand(mob/M as mob)
|
/mob/living/carbon/attack_hand(mob/M as mob)
|
||||||
if(!istype(M, /mob/living/carbon)) return
|
if(!istype(M, /mob/living/carbon)) return
|
||||||
|
|||||||
@@ -247,7 +247,7 @@
|
|||||||
// /obj/item/clothing/head/bomb_hood(src)
|
// /obj/item/clothing/head/bomb_hood(src)
|
||||||
|
|
||||||
if (stat == 2 && client)
|
if (stat == 2 && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
else if (stat == 2 && !client)
|
else if (stat == 2 && !client)
|
||||||
@@ -262,7 +262,7 @@
|
|||||||
if (1.0)
|
if (1.0)
|
||||||
b_loss += 500
|
b_loss += 500
|
||||||
if (!prob(getarmor(null, "bomb")))
|
if (!prob(getarmor(null, "bomb")))
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
|
var/atom/target = get_edge_target_turf(src, get_dir(src, get_step_away(src, src)))
|
||||||
|
|||||||
@@ -540,7 +540,7 @@
|
|||||||
/mob/living/carbon/monkey/ex_act(severity)
|
/mob/living/carbon/monkey/ex_act(severity)
|
||||||
flick("flash", flash)
|
flick("flash", flash)
|
||||||
if (stat == 2 && client)
|
if (stat == 2 && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
if (stat == 2 && !client)
|
if (stat == 2 && !client)
|
||||||
@@ -573,7 +573,7 @@
|
|||||||
if (prob(50))
|
if (prob(50))
|
||||||
Paralyse(10)
|
Paralyse(10)
|
||||||
if (stat == DEAD && client)
|
if (stat == DEAD && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
if (stat == DEAD && !client)
|
if (stat == DEAD && !client)
|
||||||
gibs(loc, viruses)
|
gibs(loc, viruses)
|
||||||
|
|||||||
@@ -304,7 +304,7 @@
|
|||||||
src << "\red <B>Killswitch Activated"
|
src << "\red <B>Killswitch Activated"
|
||||||
killswitch = 0
|
killswitch = 0
|
||||||
spawn(5)
|
spawn(5)
|
||||||
gib(src)
|
gib()
|
||||||
|
|
||||||
process_locks()
|
process_locks()
|
||||||
if(weapon_lock)
|
if(weapon_lock)
|
||||||
|
|||||||
@@ -236,7 +236,7 @@
|
|||||||
flick("flash", flash)
|
flick("flash", flash)
|
||||||
|
|
||||||
if (stat == 2 && client)
|
if (stat == 2 && client)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
else if (stat == 2 && !client)
|
else if (stat == 2 && !client)
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
if (stat != 2)
|
if (stat != 2)
|
||||||
adjustBruteLoss(100)
|
adjustBruteLoss(100)
|
||||||
adjustFireLoss(100)
|
adjustFireLoss(100)
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
if(2.0)
|
if(2.0)
|
||||||
if (stat != 2)
|
if (stat != 2)
|
||||||
@@ -291,7 +291,6 @@
|
|||||||
if(prob(20))
|
if(prob(20))
|
||||||
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||||
now_pushing = 0
|
now_pushing = 0
|
||||||
//unlock_medal("That's No Moon, That's A Gourmand!", 1)
|
|
||||||
return
|
return
|
||||||
if(tmob.nopush)
|
if(tmob.nopush)
|
||||||
now_pushing = 0
|
now_pushing = 0
|
||||||
@@ -1056,7 +1055,7 @@ Frequency:
|
|||||||
return
|
return
|
||||||
|
|
||||||
/mob/living/silicon/robot/proc/self_destruct()
|
/mob/living/silicon/robot/proc/self_destruct()
|
||||||
gib(1)
|
gib()
|
||||||
return
|
return
|
||||||
|
|
||||||
/mob/living/silicon/robot/proc/UnlinkSelf()
|
/mob/living/silicon/robot/proc/UnlinkSelf()
|
||||||
|
|||||||
@@ -710,14 +710,14 @@
|
|||||||
if (join_motd)
|
if (join_motd)
|
||||||
src << "<div class=\"motd\">[join_motd]</div>"
|
src << "<div class=\"motd\">[join_motd]</div>"
|
||||||
|
|
||||||
authorize()
|
// authorize() //old gooncode
|
||||||
|
|
||||||
if(admins.Find(ckey))
|
if(admins.Find(ckey))
|
||||||
holder = new /obj/admins(src)
|
holder = new /obj/admins(src)
|
||||||
holder.rank = admins[ckey]
|
holder.rank = admins[ckey]
|
||||||
update_admins(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()
|
mob.CanBuild()
|
||||||
|
|
||||||
/client/Del()
|
/client/Del()
|
||||||
@@ -746,7 +746,7 @@
|
|||||||
for(var/mob/M in viewers())
|
for(var/mob/M in viewers())
|
||||||
M.see(message)
|
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
|
//added different sort of gibs and animations. N
|
||||||
/mob/proc/gib()
|
/mob/proc/gib()
|
||||||
|
|
||||||
|
|||||||
@@ -178,10 +178,6 @@
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
if(href_list["ready"])
|
if(href_list["ready"])
|
||||||
if (!client.authenticated)
|
|
||||||
src << "You are not authorized to enter the game."
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!ready)
|
if(!ready)
|
||||||
ready = 1
|
ready = 1
|
||||||
else
|
else
|
||||||
@@ -192,9 +188,6 @@
|
|||||||
new_player_panel_proc()
|
new_player_panel_proc()
|
||||||
|
|
||||||
if(href_list["observe"])
|
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")
|
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()
|
var/mob/dead/observer/observer = new()
|
||||||
@@ -222,9 +215,6 @@
|
|||||||
LateChoices()
|
LateChoices()
|
||||||
|
|
||||||
if(href_list["SelectedJob"])
|
if(href_list["SelectedJob"])
|
||||||
if(!client.authenticated)
|
|
||||||
src << "You are not authorized to enter the game."
|
|
||||||
return
|
|
||||||
|
|
||||||
if(!enter_allowed)
|
if(!enter_allowed)
|
||||||
usr << "\blue There is an administrative lock on entering the game!"
|
usr << "\blue There is an administrative lock on entering the game!"
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
/obj/item/weapon/fuel/proc/injest(mob/M as mob)
|
/obj/item/weapon/fuel/proc/injest(mob/M as mob)
|
||||||
switch(content)
|
switch(content)
|
||||||
if("Anti-Hydrogen")
|
if("Anti-Hydrogen")
|
||||||
M.gib(1)
|
M.gib()
|
||||||
if("Hydrogen")
|
if("Hydrogen")
|
||||||
M << "\blue You feel very light, as if you might just float away..."
|
M << "\blue You feel very light, as if you might just float away..."
|
||||||
del(src)
|
del(src)
|
||||||
|
|||||||
@@ -1,52 +1,35 @@
|
|||||||
client/script = {"<style>
|
client/script = {"<style>
|
||||||
body
|
body {font-family: Verdana, sans-serif;}
|
||||||
{font-family: Verdana, sans-serif;}
|
|
||||||
|
|
||||||
h1, h2, h3, h4, h5, h6
|
h1, h2, h3, h4, h5, h6 {color: #0000ff; font-family: Georgia, Verdana, sans-serif;}
|
||||||
{color: #0000ff; font-family: Georgia, Verdana, sans-serif;}
|
|
||||||
|
|
||||||
em
|
em {font-style: normal; font-weight: bold;}
|
||||||
{font-style: normal; font-weight: bold;}
|
|
||||||
|
|
||||||
.motd
|
|
||||||
{color: #638500; font-family: Verdana, sans-serif;}
|
|
||||||
|
|
||||||
|
.motd {color: #638500; font-family: Verdana, sans-serif;}
|
||||||
.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6
|
.motd h1, .motd h2, .motd h3, .motd h4, .motd h5, .motd h6
|
||||||
{color: #638500; text-decoration: underline;}
|
{color: #638500; text-decoration: underline;}
|
||||||
|
|
||||||
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover
|
.motd a, .motd a:link, .motd a:visited, .motd a:active, .motd a:hover
|
||||||
{color: #638500;}
|
{color: #638500;}
|
||||||
|
|
||||||
.prefix { font-weight: bold;}
|
.prefix { font-weight: bold;}
|
||||||
|
|
||||||
.ooc {color: #002eb8; font-weight: bold;}
|
.ooc {color: #002eb8; font-weight: bold;}
|
||||||
|
.adminobserverooc {color: #0099cc; font-weight: bold;}
|
||||||
.adminooc {color: #b82e00; font-weight: bold;}
|
.adminooc {color: #b82e00; font-weight: bold;}
|
||||||
|
|
||||||
|
.adminobserver {color: #996600; font-weight: bold;}
|
||||||
.admin {color: #386aff; font-weight: bold;}
|
.admin {color: #386aff; font-weight: bold;}
|
||||||
|
|
||||||
.gfartooc {color: #0099cc; font-weight: bold;}
|
|
||||||
|
|
||||||
.gfartadmin {color: #996600; font-weight: bold;}
|
|
||||||
|
|
||||||
.medal {color: #808000; font-weight: bold;}
|
|
||||||
|
|
||||||
.name { font-weight: bold;}
|
.name { font-weight: bold;}
|
||||||
|
|
||||||
.say {}
|
.say {}
|
||||||
|
|
||||||
.deadsay {color: #5c00e6;}
|
.deadsay {color: #5c00e6;}
|
||||||
|
|
||||||
.radio {color: #008000;}
|
.radio {color: #008000;}
|
||||||
|
|
||||||
.deptradio {color: #993399;}
|
.deptradio {color: #993399;}
|
||||||
|
|
||||||
.comradio {color: #ACA82D;}
|
.comradio {color: #ACA82D;}
|
||||||
|
|
||||||
.syndradio {color: #6D3F40;}
|
.syndradio {color: #6D3F40;}
|
||||||
|
|
||||||
.alert {color: #ff0000;}
|
.alert {color: #ff0000;}
|
||||||
|
|
||||||
h1.alert, h2.alert {color: #000000;}
|
h1.alert, h2.alert {color: #000000;}
|
||||||
|
|
||||||
.emote { font-style: italic;}
|
.emote { font-style: italic;}
|
||||||
@@ -63,7 +46,6 @@ h1.alert, h2.alert {color: #000000;}
|
|||||||
.notice {color: #000099;}
|
.notice {color: #000099;}
|
||||||
|
|
||||||
.alien {color: #543354;}
|
.alien {color: #543354;}
|
||||||
|
|
||||||
.newscaster {color: #800000;}
|
.newscaster {color: #800000;}
|
||||||
|
|
||||||
</style>"}
|
</style>"}
|
||||||
|
|||||||
@@ -101,8 +101,6 @@ VOTE_PERIOD 60
|
|||||||
## allow AI job
|
## allow AI job
|
||||||
ALLOW_AI
|
ALLOW_AI
|
||||||
|
|
||||||
## goon authentication
|
|
||||||
#AUTHENTICATION
|
|
||||||
|
|
||||||
## disable abandon mob
|
## disable abandon mob
|
||||||
NORESPAWN
|
NORESPAWN
|
||||||
@@ -137,5 +135,9 @@ FEATURE_OBJECT_SPELL_SYSTEM
|
|||||||
##Remove the # mark infront of this to forbid admins from posssessing the singularity.
|
##Remove the # mark infront of this to forbid admins from posssessing the singularity.
|
||||||
#FORBID_SINGULO_POSSESSION
|
#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
|
##Remove the # mark if you are going to use the SVN irc bot to relay adminhelps
|
||||||
#USEIRCBOT
|
#USEIRCBOT
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 93 KiB |
@@ -400,6 +400,7 @@
|
|||||||
#include "code\game\gamemodes\events\ninja_equipment.dm"
|
#include "code\game\gamemodes\events\ninja_equipment.dm"
|
||||||
#include "code\game\gamemodes\events\space_ninja.dm"
|
#include "code\game\gamemodes\events\space_ninja.dm"
|
||||||
#include "code\game\gamemodes\events\spacevines.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\extended\extended.dm"
|
||||||
#include "code\game\gamemodes\malfunction\Malf_Modules.dm"
|
#include "code\game\gamemodes\malfunction\Malf_Modules.dm"
|
||||||
#include "code\game\gamemodes\malfunction\malfunction.dm"
|
#include "code\game\gamemodes\malfunction\malfunction.dm"
|
||||||
@@ -724,7 +725,6 @@
|
|||||||
#include "code\game\vehicles\airtight\land.dm"
|
#include "code\game\vehicles\airtight\land.dm"
|
||||||
#include "code\game\vehicles\airtight\space.dm"
|
#include "code\game\vehicles\airtight\space.dm"
|
||||||
#include "code\game\verbs\AI_status.dm"
|
#include "code\game\verbs\AI_status.dm"
|
||||||
#include "code\game\verbs\authorize.dm"
|
|
||||||
#include "code\game\verbs\ooc.dm"
|
#include "code\game\verbs\ooc.dm"
|
||||||
#include "code\game\verbs\sound.dm"
|
#include "code\game\verbs\sound.dm"
|
||||||
#include "code\game\verbs\suicide.dm"
|
#include "code\game\verbs\suicide.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user