@@ -382,7 +382,6 @@
|
||||
#include "code\game\throwing.dm"
|
||||
#include "code\game\topic.dm"
|
||||
#include "code\game\turf.dm"
|
||||
#include "code\game\vials.dm"
|
||||
#include "code\game\vote.dm"
|
||||
#include "code\game\area\ai_monitored.dm"
|
||||
#include "code\game\area\areas.dm"
|
||||
@@ -785,6 +784,7 @@
|
||||
#include "code\modules\admin\verbs\modifyvariables.dm"
|
||||
#include "code\modules\admin\verbs\onlyone.dm"
|
||||
#include "code\modules\admin\verbs\playsound.dm"
|
||||
#include "code\modules\admin\verbs\possess.dm"
|
||||
#include "code\modules\admin\verbs\pray.dm"
|
||||
#include "code\modules\admin\verbs\randomverbs.dm"
|
||||
#include "code\modules\admin\verbs\striketeam.dm"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/obj/machinery/atmospherics/unary
|
||||
dir = SOUTH
|
||||
initialize_directions = SOUTH
|
||||
layer = TURF_LAYER+0.1
|
||||
|
||||
var/datum/gas_mixture/air_contents
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
desc = "Has a valve and pump attached to it"
|
||||
|
||||
level = 1
|
||||
layer = TURF_LAYER
|
||||
var/area_uid
|
||||
var/id_tag = null
|
||||
power_channel = ENVIRON
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
desc = "Has a valve and pump attached to it"
|
||||
|
||||
level = 1
|
||||
layer = TURF_LAYER
|
||||
|
||||
var/id_tag = null
|
||||
var/frequency = 1439
|
||||
|
||||
@@ -6,7 +6,7 @@ obj/machinery/atmospherics/pipe
|
||||
var/volume = 0
|
||||
var/force = 20
|
||||
|
||||
layer = 2.4 //under wires with their 2.5
|
||||
layer = 2.4 //under wires with their 2.44
|
||||
|
||||
var/alert_pressure = 80*ONE_ATMOSPHERE
|
||||
//minimum pressure before check_pressure(...) should be called
|
||||
@@ -605,6 +605,7 @@ obj/machinery/atmospherics/pipe
|
||||
var/obj/machinery/atmospherics/node3
|
||||
|
||||
level = 1
|
||||
layer = 2.4 //under wires with their 2.44
|
||||
|
||||
New()
|
||||
switch(dir)
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/clothing/suit/storage/labcoat(src)
|
||||
new /obj/item/clothing/gloves/black(src)
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
new /obj/item/device/radio/headset/headset_rob(src)
|
||||
new /obj/item/clothing/shoes/black(src)
|
||||
new /obj/item/clothing/under/rank/roboticist(src)
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/obj/machinery/camera
|
||||
name = "security camera"
|
||||
desc = "This is used to monitor rooms."
|
||||
desc = "It's used to monitor rooms."
|
||||
icon = 'monitors.dmi'
|
||||
icon_state = "camera"
|
||||
var/network = "SS13"
|
||||
|
||||
@@ -313,18 +313,11 @@
|
||||
containertype = "/obj/structure/closet/crate"
|
||||
containername = "Janitorial supplies"
|
||||
|
||||
/obj/item/weapon/storage/lightbox/tubes
|
||||
|
||||
/datum/supply_packs/lightbulbs
|
||||
name = "Replacement lights"
|
||||
contains = list("/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/tubes",
|
||||
"/obj/item/weapon/storage/lightbox/bulbs",
|
||||
"/obj/item/weapon/storage/lightbox/bulbs")
|
||||
contains = list("/obj/item/weapon/storage/lightbox/mixed",
|
||||
"/obj/item/weapon/storage/lightbox/mixed",
|
||||
"/obj/item/weapon/storage/lightbox/mixed")
|
||||
cost = 5
|
||||
containertype = "/obj/structure/closet/crate"
|
||||
containername = "Replacement lights"
|
||||
|
||||
@@ -241,12 +241,16 @@
|
||||
user.Weaken(5)
|
||||
return
|
||||
|
||||
/obj/item/toy/crayonbox
|
||||
/obj/item/weapon/storage/crayonbox
|
||||
name = "box of crayons"
|
||||
desc = "A box of crayons for all your drawing needs."
|
||||
desc = "A box of crayons for all your rune drawing needs."
|
||||
icon = 'crayons.dmi'
|
||||
icon_state = "crayonbox"
|
||||
w_class = 2.0
|
||||
storage_slots = 6
|
||||
can_hold = list(
|
||||
"/obj/item/toy/crayon"
|
||||
)
|
||||
|
||||
/obj/item/toy/crayon
|
||||
name = "crayon"
|
||||
|
||||
@@ -560,7 +560,6 @@
|
||||
var/access = list()
|
||||
var/registered_name = null
|
||||
var/assignment = null
|
||||
var/obj/item/weapon/photo/PHOTO = null
|
||||
var/over_jumpsuit = 1 // If set to 0, it won't display on top of the mob's jumpsuit
|
||||
var/dorm = 0 // determines if this ID has claimed a dorm already
|
||||
|
||||
|
||||
@@ -23,30 +23,6 @@
|
||||
/obj/structure/window/basic
|
||||
icon_state = "window"
|
||||
|
||||
/obj/structure/window/basic/north
|
||||
dir = NORTH
|
||||
|
||||
/obj/structure/window/basic/east
|
||||
dir = EAST
|
||||
|
||||
/obj/structure/window/basic/west
|
||||
dir = WEST
|
||||
|
||||
/obj/structure/window/basic/south
|
||||
dir = SOUTH
|
||||
|
||||
/obj/structure/window/basic/northwest
|
||||
dir = NORTHWEST
|
||||
|
||||
/obj/structure/window/basic/northeast
|
||||
dir = NORTHEAST
|
||||
|
||||
/obj/structure/window/basic/southwest
|
||||
dir = SOUTHWEST
|
||||
|
||||
/obj/structure/window/basic/southeast
|
||||
dir = SOUTHEAST
|
||||
|
||||
// Reinforced
|
||||
|
||||
/obj/structure/window/reinforced
|
||||
|
||||
@@ -177,14 +177,14 @@ var/datum/roundinfo/roundinfo = new()
|
||||
|
||||
spawn(50)
|
||||
if (mode.station_was_nuked)
|
||||
feedback_set_details("end_proper","nuke")
|
||||
//feedback_set_details("end_proper","nuke")
|
||||
world << "\blue <B>Rebooting due to destruction of station in [restart_timeout/10] seconds</B>"
|
||||
else
|
||||
feedback_set_details("end_proper","proper completion")
|
||||
//feedback_set_details("end_proper","proper completion")
|
||||
world << "\blue <B>Restarting in [restart_timeout/10] seconds</B>"
|
||||
// send2irc(world.url,"Server Rebooting!")
|
||||
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
world << "Uh oh, its malfunction and there is no AI! Please report this."
|
||||
world << "Rebooting world in 5 seconds."
|
||||
|
||||
feedback_set_details("end_error","malf - no AI")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","malf - no AI")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
sleep(50)
|
||||
@@ -203,37 +203,37 @@
|
||||
var/crew_evacuated = (emergency_shuttle.location==2)
|
||||
|
||||
if ( station_captured && station_was_nuked)
|
||||
feedback_set_details("round_end_result","win - AI win - nuke")
|
||||
//feedback_set_details("round_end_result","win - AI win - nuke")
|
||||
world << "<FONT size = 3><B>AI Victory</B></FONT>"
|
||||
world << "<B>Everyone was killed by the self-destruct!</B>"
|
||||
|
||||
else if ( station_captured && malf_dead && !station_was_nuked)
|
||||
feedback_set_details("round_end_result","halfwin - AI killed, staff lost control")
|
||||
//feedback_set_details("round_end_result","halfwin - AI killed, staff lost control")
|
||||
world << "<FONT size = 3><B>Neutral Victory</B></FONT>"
|
||||
world << "<B>The AI has been killed!</B> The staff has lose control over the station."
|
||||
|
||||
else if ( station_captured && !malf_dead && !station_was_nuked)
|
||||
feedback_set_details("round_end_result","win - AI win - no explosion")
|
||||
//feedback_set_details("round_end_result","win - AI win - no explosion")
|
||||
world << "<FONT size = 3><B>AI Victory</B></FONT>"
|
||||
world << "<B>The AI has chosen not to explode you all!</B>"
|
||||
|
||||
else if (!station_captured && station_was_nuked)
|
||||
feedback_set_details("round_end_result","halfwin - everyone killed by nuke")
|
||||
//feedback_set_details("round_end_result","halfwin - everyone killed by nuke")
|
||||
world << "<FONT size = 3><B>Neutral Victory</B></FONT>"
|
||||
world << "<B>Everyone was killed by the nuclear blast!</B>"
|
||||
|
||||
else if (!station_captured && malf_dead && !station_was_nuked)
|
||||
feedback_set_details("round_end_result","loss - staff win")
|
||||
//feedback_set_details("round_end_result","loss - staff win")
|
||||
world << "<FONT size = 3><B>Human Victory</B></FONT>"
|
||||
world << "<B>The AI has been killed!</B> The staff is victorious."
|
||||
|
||||
else if (!station_captured && !malf_dead && !station_was_nuked && crew_evacuated)
|
||||
feedback_set_details("round_end_result","halfwin - evacuated")
|
||||
//feedback_set_details("round_end_result","halfwin - evacuated")
|
||||
world << "<FONT size = 3><B>Neutral Victory</B></FONT>"
|
||||
world << "<B>The Corporation has lose [station_name()]! All survived personnel will be fired!</B>"
|
||||
|
||||
else if (!station_captured && !malf_dead && !station_was_nuked && !crew_evacuated)
|
||||
feedback_set_details("round_end_result","nalfwin - interrupted")
|
||||
//feedback_set_details("round_end_result","nalfwin - interrupted")
|
||||
world << "<FONT size = 3><B>Neutral Victory</B></FONT>"
|
||||
world << "<B>Round was mysteriously interrupted!</B>"
|
||||
..()
|
||||
|
||||
@@ -217,8 +217,7 @@
|
||||
if(!ticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is
|
||||
world << "<B>Resetting in 30 seconds!</B>"
|
||||
|
||||
feedback_set_details("end_error","nuke - unhandled ending")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","nuke - unhandled ending")
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
sleep(300)
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
if("Geneticist")
|
||||
return list(access_medical, access_morgue, access_medlab)
|
||||
if("Station Engineer")
|
||||
return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks)
|
||||
return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
|
||||
if("Assistant")
|
||||
return list()
|
||||
if("Chaplain")
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
new /obj/item/clothing/suit/syndicatefake(src.loc)
|
||||
new /obj/item/clothing/head/syndicatefake(src.loc)
|
||||
if(8)
|
||||
new /obj/item/toy/crayonbox(src.loc)
|
||||
new /obj/item/weapon/storage/crayonbox(src.loc)
|
||||
if(9)
|
||||
new /obj/item/toy/spinningtoy(src.loc)
|
||||
// if(10) //Commented out on Urist-chan's orders~
|
||||
|
||||
@@ -19,7 +19,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
// 1 = assistance
|
||||
// 2 = supplies
|
||||
// 3 = info
|
||||
// 4 = ass + sup
|
||||
// 4 = ass + sup //Erro goddamn you just HAD to shorten "assistance" down to "ass"
|
||||
// 5 = ass + info
|
||||
// 6 = sup + info
|
||||
// 7 = ass + sup + info
|
||||
@@ -217,7 +217,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
|
||||
announceAuth = 0;
|
||||
screen = 0
|
||||
if(href_list["sendAnnouncement"])
|
||||
world << "<b><font size = 3> <font color = red>[department] announcement:</font color> [html_encode(message)]</font size></b>"
|
||||
world << "<b><font size = 3><font color = red>[department] announcement:</font color> [html_encode(message)]</font size></b>"
|
||||
announceAuth = 0
|
||||
message = ""
|
||||
screen = 0
|
||||
|
||||
@@ -50,7 +50,6 @@ To combat this, I changed the window name. -- Doohl
|
||||
//Add hidden inventory
|
||||
src.build_inventory(temp_hidden,temp_hiddenprices,1)
|
||||
src.build_inventory(temp_coin,temp_coin_amt, 0, 1)
|
||||
|
||||
power_change()
|
||||
return
|
||||
|
||||
@@ -302,18 +301,21 @@ To combat this, I changed the window name. -- Doohl
|
||||
FOLKS IN IRC RULED THAT THIS WAS SHITTY -- Doohl
|
||||
No more delays! Go nuts~~~~~~~~~~~
|
||||
|
||||
if(((src.last_reply + (src.vend_delay + 200)) <= world.time) && src.vend_reply)
|
||||
A 20 second delay is stupid, a 2 second delay however, is not. -- Nodrak
|
||||
No more greyshirts intentionally crashing clients through vended item spam!
|
||||
*/
|
||||
|
||||
if(((src.last_reply + (src.vend_delay + 50)) <= world.time) && src.vend_reply)
|
||||
spawn(0)
|
||||
src.speak(src.vend_reply)
|
||||
src.last_reply = world.time
|
||||
*/
|
||||
|
||||
use_power(5)
|
||||
if (src.icon_vend) //Show the vending animation if needed
|
||||
flick(src.icon_vend,src)
|
||||
|
||||
// spawn(src.vend_delay) NOPE.jpg
|
||||
//src.vend_ready = 1
|
||||
spawn(src.vend_delay)
|
||||
src.vend_ready = 1
|
||||
|
||||
if(R.price <= points)
|
||||
new product_path(get_turf(src))
|
||||
|
||||
@@ -567,7 +567,7 @@
|
||||
|
||||
playsound(P.loc, 'twobeep.ogg', 50, 1)
|
||||
|
||||
// log_pda("[usr] (PDA: [src.name]) sent \"[t]\" to [P.name]")
|
||||
log_pda("[usr] (PDA: [src.name]) sent \"[t]\" to [P.name]")
|
||||
|
||||
|
||||
if("Send Honk")//Honk virus
|
||||
|
||||
@@ -564,7 +564,7 @@ Code:
|
||||
/obj/item/weapon/cartridge/Topic(href, href_list)
|
||||
..()
|
||||
|
||||
if (usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
if (!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr))
|
||||
usr.machine = null
|
||||
usr << browse(null, "window=pda")
|
||||
return
|
||||
|
||||
@@ -13,18 +13,36 @@
|
||||
icon_on = "flight1"
|
||||
icon_off = "flight0"
|
||||
|
||||
/obj/item/device/flashlight/initialize()
|
||||
..()
|
||||
if (on)
|
||||
icon_state = icon_on
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
else
|
||||
icon_state = icon_off
|
||||
src.sd_SetLuminosity(0)
|
||||
|
||||
/obj/item/device/flashlight/proc/update_brightness(var/mob/user = null)
|
||||
if (on)
|
||||
icon_state = icon_on
|
||||
if(src.loc == user)
|
||||
user.total_luminosity += brightness_on
|
||||
else if (isturf(src.loc))
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
|
||||
else
|
||||
icon_state = icon_off
|
||||
if(src.loc == user)
|
||||
user.total_luminosity -= brightness_on
|
||||
else if (isturf(src.loc))
|
||||
src.sd_SetLuminosity(0)
|
||||
|
||||
/obj/item/device/flashlight/attack_self(mob/user)
|
||||
if(!isturf(user.loc))
|
||||
user << "You cannot turn the light on while in this [user.loc]" //To prevent some lighting anomalities.
|
||||
return
|
||||
on = !on
|
||||
if (on)
|
||||
icon_state = icon_on
|
||||
user.total_luminosity += brightness_on
|
||||
else
|
||||
icon_state = icon_off
|
||||
user.total_luminosity -= brightness_on
|
||||
update_brightness(user)
|
||||
return
|
||||
|
||||
|
||||
@@ -64,8 +82,8 @@
|
||||
|
||||
/obj/item/device/flashlight/pickup(mob/user)
|
||||
if(on)
|
||||
src.sd_SetLuminosity(0)
|
||||
user.total_luminosity += brightness_on
|
||||
src.sd_SetLuminosity(0)
|
||||
|
||||
|
||||
/obj/item/device/flashlight/dropped(mob/user)
|
||||
@@ -136,10 +154,20 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/hardhat/pickup(mob/user)
|
||||
if(on)
|
||||
src.sd_SetLuminosity(0)
|
||||
user.total_luminosity += brightness_on
|
||||
user.UpdateLuminosity()
|
||||
src.sd_SetLuminosity(0)
|
||||
|
||||
/obj/item/clothing/head/helmet/hardhat/dropped(mob/user)
|
||||
if(on)
|
||||
user.total_luminosity -= brightness_on
|
||||
user.UpdateLuminosity()
|
||||
src.sd_SetLuminosity(brightness_on)
|
||||
|
||||
/obj/item/device/flashlight/lamp/verb/toggle_light()
|
||||
set name = "Toggle light"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
|
||||
if(!usr.stat)
|
||||
attack_self(usr)
|
||||
@@ -290,7 +290,7 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob)
|
||||
user.show_message(text("\blue \t Damage Specifics: []-[]-[]-[]", M.getOxyLoss() > 50 ? "\red [M.getOxyLoss()]" : M.getOxyLoss(), M.getToxLoss() > 50 ? "\red [M.getToxLoss()]" : M.getToxLoss(), M.getFireLoss() > 50 ? "\red[M.getFireLoss()]" : M.getFireLoss(), M.getBruteLoss() > 50 ? "\red[M.getBruteLoss()]" : M.getBruteLoss()), 1)
|
||||
user.show_message("\blue Key: Suffocation/Toxin/Burns/Brute", 1)
|
||||
user.show_message("\blue Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1)
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(mode == 1 && istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/list/damaged = H.get_damaged_organs(1,1)
|
||||
user.show_message("\blue Localized Damage, Brute/Burn:",1)
|
||||
@@ -299,6 +299,7 @@ proc/analyze_health_less_info(mob/living/carbon/M as mob, mob/user as mob)
|
||||
user.show_message(text("\blue \t []: []\blue-[]",capitalize(org.getDisplayName()),(org.brute_dam > 0)?"\red [org.brute_dam]":0,(org.burn_dam > 0)?"\red [org.burn_dam]":0),1)
|
||||
else
|
||||
user.show_message("\blue \t Limbs are OK.",1)
|
||||
|
||||
if((M.changeling && M.changeling.changeling_fakedeath) || (M.reagents && M.reagents.has_reagent("zombiepowder")))
|
||||
user.show_message(text("\blue [] | [] | [] | []", fake_oxy > 50 ? "\red Severe oxygen deprivation detected\blue" : "Subject bloodstream oxygen level normal", M.getToxLoss() > 50 ? "\red Dangerous amount of toxins detected\blue" : "Subject bloodstream toxin level minimal", M.getFireLoss() > 50 ? "\red Severe burn damage detected\blue" : "Subject burn injury status O.K", M.getBruteLoss() > 50 ? "\red Severe anatomical damage detected\blue" : "Subject brute-force injury status O.K"), 1)
|
||||
else
|
||||
|
||||
@@ -117,6 +117,49 @@
|
||||
for(var/mob/O in oviewers())
|
||||
O << text("\red [user] [src.anchored ? "fastens" : "unfastens"] the grille.")
|
||||
return
|
||||
else if( istype(W,/obj/item/stack/sheet/rglass) || istype(W,/obj/item/stack/sheet/glass) )
|
||||
var/dir_to_set = 1
|
||||
if(src.loc == usr.loc)
|
||||
dir_to_set = usr.dir
|
||||
else
|
||||
if( ( src.x == usr.x ) || (src.y == usr.y) ) //Only supposed to work for cardinal directions.
|
||||
if( src.x == usr.x )
|
||||
if( src.y > usr.y )
|
||||
dir_to_set = 2
|
||||
else
|
||||
dir_to_set = 1
|
||||
else if( src.y == usr.y )
|
||||
if( src.x > usr.x )
|
||||
dir_to_set = 8
|
||||
else
|
||||
dir_to_set = 4
|
||||
else
|
||||
usr << "\red You can't reach there.."
|
||||
return //Only works for cardinal direcitons, diagonals aren't supposed to work like this.
|
||||
for(var/obj/structure/window/WINDOW in src.loc)
|
||||
if(WINDOW.dir == dir_to_set)
|
||||
usr << "\red There is already a window facing this way there."
|
||||
return
|
||||
usr << "\blue You start placing the window"
|
||||
if(do_after(user,20))
|
||||
if(!src) return //Grille destroyed while waiting
|
||||
for(var/obj/structure/window/WINDOW in src.loc)
|
||||
if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting.
|
||||
usr << "\red There is already a window facing this way there."
|
||||
return
|
||||
var/obj/structure/window/WD
|
||||
if(istype(W,/obj/item/stack/sheet/rglass))
|
||||
WD = new/obj/structure/window(src.loc,1) //reinforced window
|
||||
else
|
||||
WD = new/obj/structure/window(src.loc,0) //normal window
|
||||
WD.dir = dir_to_set
|
||||
WD.ini_dir = dir_to_set
|
||||
WD.anchored = 0
|
||||
WD.state = 0
|
||||
var/obj/item/stack/ST = W
|
||||
ST.use(1)
|
||||
usr << "\blue You place the [WD] on the [src]"
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/shard))
|
||||
src.health -= W.force * 0.1
|
||||
else if(!shock(user, 70))
|
||||
|
||||
@@ -253,11 +253,6 @@
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/screen/close/DblClick()
|
||||
if (src.master)
|
||||
src.master:close(usr)
|
||||
return
|
||||
|
||||
|
||||
//What the fuck is this code Looks to be the parrying code. If you're grabbing someone, it might hit them instead... or something.--SkyMarshal
|
||||
/mob/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
if (cx > mx)
|
||||
cx = tx
|
||||
cy--
|
||||
//Foreach goto(56)
|
||||
src.closer.screen_loc = text("[],[]", mx, my)
|
||||
return
|
||||
|
||||
@@ -94,7 +95,7 @@
|
||||
|
||||
/obj/item/weapon/secstorage/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
if ((istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (src.locked == 1) && (!src.emagged))
|
||||
if ( (istype(W, /obj/item/weapon/card/emag)||istype(W, /obj/item/weapon/melee/energy/blade)) && (src.locked == 1) && (!src.emagged))
|
||||
if(istype(W, /obj/item/weapon/card/emag))
|
||||
var/obj/item/weapon/card/emag/E = W
|
||||
if(E.uses)
|
||||
@@ -260,7 +261,3 @@
|
||||
src.orient_objs(7, 8, 10, 7)
|
||||
return
|
||||
return
|
||||
|
||||
/obj/screen/storage/attackby(W, mob/user as mob)
|
||||
src.master.attackby(W, user)
|
||||
return
|
||||
|
||||
@@ -244,9 +244,6 @@
|
||||
O.emp_act(severity)
|
||||
..()
|
||||
|
||||
/obj/screen/storage/attackby(W, mob/user as mob)
|
||||
src.master.attackby(W, user)
|
||||
return
|
||||
// BubbleWrap - A box can be folded up to make card
|
||||
/obj/item/weapon/storage/attack_self(mob/user as mob)
|
||||
if ( contents.len )
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//CONTAINS
|
||||
CRAYONS
|
||||
--------*/
|
||||
/obj/item/toy/crayonbox/New()
|
||||
/obj/item/weapon/storage/crayonbox/New()
|
||||
..()
|
||||
new /obj/item/toy/crayon/red(src)
|
||||
new /obj/item/toy/crayon/orange(src)
|
||||
@@ -12,13 +12,13 @@ CRAYONS
|
||||
new /obj/item/toy/crayon/purple(src)
|
||||
updateIcon()
|
||||
|
||||
/obj/item/toy/crayonbox/proc/updateIcon()
|
||||
/obj/item/weapon/storage/crayonbox/proc/updateIcon()
|
||||
overlays = list() //resets list
|
||||
overlays += image('crayons.dmi',"crayonbox")
|
||||
for(var/obj/item/toy/crayon/crayon in contents)
|
||||
overlays += image('crayons.dmi',crayon.colourName)
|
||||
|
||||
/obj/item/toy/crayonbox/attackby(obj/item/W as obj, mob/user as mob)
|
||||
/obj/item/weapon/storage/crayonbox/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W,/obj/item/toy/crayon))
|
||||
switch(W:colourName)
|
||||
if("mime")
|
||||
@@ -27,34 +27,37 @@ CRAYONS
|
||||
if("rainbow")
|
||||
usr << "This crayon is too powerful to be contained in this box."
|
||||
return
|
||||
else
|
||||
usr << "You add the crayon to the box."
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
add_fingerprint(user)
|
||||
updateIcon()
|
||||
return
|
||||
else
|
||||
..()
|
||||
..()
|
||||
updateIcon()
|
||||
|
||||
/obj/item/toy/crayonbox/attack_hand(mob/user as mob)
|
||||
if(user.r_hand == src || user.l_hand == src)
|
||||
if(!contents.len)
|
||||
user << "\red You're out of crayons!"
|
||||
/obj/item/weapon/storage/crayonbox/attack_hand(mob/user as mob)
|
||||
updateIcon()
|
||||
..()
|
||||
|
||||
/obj/item/weapon/storage/crayonbox/MouseDrop(obj/over_object as obj)
|
||||
|
||||
if (ishuman(usr) || ismonkey(usr))
|
||||
var/mob/M = usr
|
||||
if (!( istype(over_object, /obj/screen) ))
|
||||
return ..()
|
||||
if ((!( M.restrained() ) && !( M.stat )))
|
||||
if (over_object.name == "r_hand")
|
||||
if (!( M.r_hand ))
|
||||
M.u_equip(src)
|
||||
M.r_hand = src
|
||||
else
|
||||
if (over_object.name == "l_hand")
|
||||
if (!( M.l_hand ))
|
||||
M.u_equip(src)
|
||||
M.l_hand = src
|
||||
M.update_clothing()
|
||||
src.add_fingerprint(usr)
|
||||
return
|
||||
if(over_object == usr && in_range(src, usr) || usr.contents.Find(src))
|
||||
if (usr.s_active)
|
||||
usr.s_active.close(usr)
|
||||
src.show_to(usr)
|
||||
return
|
||||
else
|
||||
var/list/crayons = new()
|
||||
for(var/obj/item/toy/crayon/C in contents)
|
||||
crayons[C:colourName] = C
|
||||
var/choice = input(user, "Pick a color:", "Crayon Box") in crayons as text|null
|
||||
if(choice)
|
||||
var/obj/crayon = crayons[choice]
|
||||
user.put_in_hand(crayon)
|
||||
user << "You take the [crayon:colourName] crayon out of the box."
|
||||
updateIcon()
|
||||
else
|
||||
return ..()
|
||||
icon_state = "crayonbox[contents.len]"
|
||||
return
|
||||
|
||||
/obj/item/toy/crayon/red
|
||||
@@ -157,6 +160,14 @@ CRAYONS
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/toy/crayon/attack_hand(mob/user as mob)
|
||||
var/obj/item/weapon/storage/crayonbox/CB
|
||||
if(istype(src.loc, /obj/item/weapon/storage/crayonbox))
|
||||
CB = src.loc
|
||||
..()
|
||||
if(CB)
|
||||
CB.updateIcon()
|
||||
|
||||
/obj/effect/decal/cleanable/crayon
|
||||
name = "rune"
|
||||
desc = "A rune drawn in crayon."
|
||||
|
||||
@@ -315,6 +315,8 @@
|
||||
health = 40
|
||||
if(opacity)
|
||||
icon_state = "twindow"
|
||||
else
|
||||
icon_state = "window"
|
||||
|
||||
update_nearby_tiles(need_rebuild=1)
|
||||
relativewindow()
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
return
|
||||
|
||||
/* why is something that only is usable in the lobby a mob verb?
|
||||
|
||||
/mob/verb/toggletitlemusic()
|
||||
set category = "Special Verbs"
|
||||
set name = "Toggle Pregame Music"
|
||||
@@ -27,4 +28,4 @@
|
||||
M << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jamsz
|
||||
|
||||
return
|
||||
*/
|
||||
*/
|
||||
@@ -1,314 +0,0 @@
|
||||
//NOTE:
|
||||
//This file contains the worst code ive ever written.
|
||||
//I dont fucking care. It looks pretty awesome.
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
/obj/effect/dummy/liquid
|
||||
name = "water"
|
||||
icon = 'effects.dmi'
|
||||
icon_state = "nothing"
|
||||
invisibility = 101
|
||||
var/canmove = 1
|
||||
density = 0
|
||||
anchored = 1
|
||||
|
||||
/obj/item/weapon/vial
|
||||
name = "glass vial"
|
||||
icon = 'chemical.dmi'
|
||||
desc = "a glass vial filled with a strange liquid"
|
||||
icon_state = "vialgreen"
|
||||
item_state = "vialgreen"
|
||||
throwforce = 3.0
|
||||
throw_speed = 1
|
||||
throw_range = 8
|
||||
force = 3.0
|
||||
w_class = 1.0
|
||||
|
||||
/obj/item/weapon/vial/green
|
||||
name = "glass vial"
|
||||
icon = 'chemical.dmi'
|
||||
desc = "a glass vial filled with a strange green liquid"
|
||||
icon_state = "vialgreen"
|
||||
item_state = "vialgreen"
|
||||
|
||||
/obj/item/weapon/vial/blue
|
||||
name = "glass vial"
|
||||
icon = 'chemical.dmi'
|
||||
desc = "a glass vial filled with a shimmering blue liquid"
|
||||
icon_state = "vialblue"
|
||||
item_state = "vialblue"
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////***
|
||||
/obj/item/weapon/vial/attack(target as mob, mob/user as mob)
|
||||
if(target == user) return attack_self(user)
|
||||
user << "\blue The vial shatters."
|
||||
src.shatter()
|
||||
/obj/item/weapon/vial/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
..()
|
||||
user << "\blue The vial shatters."
|
||||
src.shatter()
|
||||
/obj/item/weapon/vial/attack_self(mob/user as mob)
|
||||
user << "\blue You uncork the vial and drink the liquid."
|
||||
src.drink(user)
|
||||
/obj/item/weapon/vial/proc/shatter()
|
||||
return
|
||||
/obj/item/weapon/vial/proc/drink(user)
|
||||
return
|
||||
///////////////////////////////////////////////////////***
|
||||
|
||||
/////////////////////////////////////////////////////green
|
||||
/obj/item/weapon/vial/green/drink(mob/living/user as mob)
|
||||
var/A = src
|
||||
src = null
|
||||
del(A)
|
||||
switch(pick(1,2,3))
|
||||
if(1)
|
||||
spawn(300)
|
||||
user.gib()
|
||||
if(2)
|
||||
user.Weaken(5)
|
||||
user.contract_disease(new /datum/disease/gbs,1)
|
||||
if(3)
|
||||
spawn(200)
|
||||
user.contract_disease(new /datum/disease/gbs,1)
|
||||
|
||||
/obj/item/weapon/vial/green/shatter()
|
||||
var/A = src
|
||||
var/atom/sourceloc = get_turf(src.loc)
|
||||
src = null
|
||||
del(A)
|
||||
var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc )
|
||||
var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc )
|
||||
O.name = "green liquid"
|
||||
O.density = 0
|
||||
O.anchored = 1
|
||||
O.icon = 'effects.dmi'
|
||||
O.icon_state = "greenshatter"
|
||||
O2.name = "broken bits of glass"
|
||||
O2.density = 0
|
||||
O2.anchored = 1
|
||||
O2.icon = 'objects.dmi'
|
||||
O2.icon_state = "shards"
|
||||
for(var/mob/living/carbon/human/H in view(5, sourceloc))
|
||||
H.contract_disease(new /datum/disease/gbs,1)
|
||||
var/i
|
||||
for(i=0, i<5, i++)
|
||||
for(var/mob/living/carbon/human/H in view(5, sourceloc))
|
||||
H.contract_disease(new /datum/disease/gbs,1)
|
||||
sleep(20)
|
||||
flick("greenshatter2",O)
|
||||
O.icon_state = "nothing"
|
||||
sleep(5)
|
||||
del(O)
|
||||
/////////////////////////////////////////////////////green
|
||||
|
||||
/////////////////////////////////////////////////////blue
|
||||
/obj/item/weapon/vial/blue/drink(user)
|
||||
var/A = src
|
||||
var/atom/sourceloc = get_turf(src.loc)
|
||||
src = null
|
||||
del(A)
|
||||
|
||||
var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc )
|
||||
var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc )
|
||||
|
||||
O.name = "green liquid"
|
||||
O.density = 0
|
||||
O.anchored = 1
|
||||
O.icon = 'effects.dmi'
|
||||
O.icon_state = "blueshatter"
|
||||
O2.name = "broken bits of glass"
|
||||
O2.density = 0
|
||||
O2.anchored = 1
|
||||
O2.icon = 'objects.dmi'
|
||||
O2.icon_state = "shards"
|
||||
|
||||
liquify(user)
|
||||
|
||||
sleep(20)
|
||||
flick("blueshatter2",O)
|
||||
O.icon_state = "nothing"
|
||||
sleep(5)
|
||||
del(O)
|
||||
|
||||
/obj/item/weapon/vial/blue/shatter()
|
||||
|
||||
var/A = src
|
||||
var/atom/sourceloc = get_turf(src.loc)
|
||||
src = null
|
||||
del(A)
|
||||
|
||||
var/obj/effect/overlay/O = new /obj/effect/overlay( sourceloc )
|
||||
var/obj/effect/overlay/O2 = new /obj/effect/overlay( sourceloc )
|
||||
|
||||
O.name = "green liquid"
|
||||
O.density = 0
|
||||
O.anchored = 1
|
||||
O.icon = 'effects.dmi'
|
||||
O.icon_state = "blueshatter"
|
||||
O2.name = "broken bits of glass"
|
||||
O2.density = 0
|
||||
O2.anchored = 1
|
||||
O2.icon = 'objects.dmi'
|
||||
O2.icon_state = "shards"
|
||||
|
||||
for(var/mob/living/carbon/human/H in view(1, sourceloc))
|
||||
liquify(H)
|
||||
|
||||
sleep(20)
|
||||
flick("blueshatter2",O)
|
||||
O.icon_state = "nothing"
|
||||
sleep(5)
|
||||
|
||||
del(O)
|
||||
|
||||
/proc/liquify(var/mob/H, time = 150)
|
||||
|
||||
if(H.stat) return
|
||||
spawn(0)
|
||||
var/mobloc = get_turf(H.loc)
|
||||
var/obj/effect/dummy/liquid/holder = new /obj/effect/dummy/liquid( mobloc )
|
||||
var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc )
|
||||
animation.name = "water"
|
||||
animation.density = 0
|
||||
animation.anchored = 1
|
||||
animation.icon = 'mob.dmi'
|
||||
animation.icon_state = "liquify"
|
||||
animation.layer = 5
|
||||
animation.master = holder
|
||||
flick("liquify",animation)
|
||||
H.canmove = 0
|
||||
sleep(4)
|
||||
H.loc = holder
|
||||
H.canmove = 1
|
||||
H.client.eye = holder
|
||||
spawn(0)
|
||||
var/i
|
||||
for(i=0, i<10, i++)
|
||||
spawn(0)
|
||||
var/obj/effect/effect/water/water1 = new /obj/effect/effect/water( mobloc )
|
||||
var/direction = pick(alldirs)
|
||||
water1.name = "water"
|
||||
water1.density = 0
|
||||
water1.icon = 'water.dmi'
|
||||
water1.icon_state = "extinguish"
|
||||
for(i=0, i<pick(1,2,3), i++)
|
||||
sleep(5)
|
||||
step(water1,direction)
|
||||
spawn(20)
|
||||
del(water1)
|
||||
|
||||
sleep(time)
|
||||
H.canmove = 0
|
||||
mobloc = get_turf(H.loc)
|
||||
animation.loc = mobloc
|
||||
var/b
|
||||
for(b=0, b<10, b++)
|
||||
spawn(0)
|
||||
var/turf = mobloc
|
||||
var/direction = pick(alldirs)
|
||||
var/c
|
||||
for(c=0, c<pick(1,2,3), c++)
|
||||
turf = get_step(turf,direction)
|
||||
var/obj/effect/effect/water/water2 = new /obj/effect/effect/water( turf )
|
||||
water2.name = "water"
|
||||
water2.icon = 'water.dmi'
|
||||
water2.icon_state = "extinguish"
|
||||
walk_to(water2,mobloc,-1,5)
|
||||
sleep(20)
|
||||
del(water2)
|
||||
|
||||
sleep(20)
|
||||
flick("reappear",animation)
|
||||
sleep(5)
|
||||
H.loc = mobloc
|
||||
H.canmove = 1
|
||||
H.client.eye = H
|
||||
del(animation)
|
||||
del(holder)
|
||||
|
||||
|
||||
/obj/effect/dummy/liquid/relaymove(var/mob/user, direction)
|
||||
if (!src.canmove) return
|
||||
//writing my own movement because step is broken.
|
||||
switch(direction)
|
||||
if(NORTH)
|
||||
src.y++
|
||||
if(SOUTH)
|
||||
src.y--
|
||||
if(EAST)
|
||||
src.x++
|
||||
if(WEST)
|
||||
src.x--
|
||||
if(NORTHEAST)
|
||||
src.y++
|
||||
src.x++
|
||||
if(NORTHWEST)
|
||||
src.y++
|
||||
src.x--
|
||||
if(SOUTHEAST)
|
||||
src.y--
|
||||
src.x++
|
||||
if(SOUTHWEST)
|
||||
src.y--
|
||||
src.x--
|
||||
src.canmove = 0
|
||||
spawn(20) canmove = 1
|
||||
|
||||
/obj/effect/dummy/liquid/ex_act(blah)
|
||||
return
|
||||
/obj/effect/dummy/liquid/bullet_act(blah,blah)
|
||||
return
|
||||
|
||||
|
||||
///atom/relaymove - change to obj to restore
|
||||
|
||||
/obj/relaymove(var/mob/user, direction) //testing something
|
||||
//if(anchored) return
|
||||
//step(src, direction)
|
||||
|
||||
/proc/possess(obj/O as obj in world)
|
||||
set name = "Possess Obj"
|
||||
set category = "Object"
|
||||
var/turf/T = get_turf(O)
|
||||
|
||||
if(T)
|
||||
log_admin("[key_name(usr)] has possessed [O] ([O.type]) at ([T.x], [T.y], [T.z])")
|
||||
message_admins("[key_name(usr)] has possessed [O] ([O.type]) at ([T.x], [T.y], [T.z])", 1)
|
||||
else
|
||||
log_admin("[key_name(usr)] has possessed [O] ([O.type]) at an unknown location")
|
||||
message_admins("[key_name(usr)] has possessed [O] ([O.type]) at an unknown location", 1)
|
||||
|
||||
if(!usr.control_object) //If you're not already possessing something...
|
||||
usr.name_archive = usr.real_name
|
||||
|
||||
usr.loc = O
|
||||
usr.real_name = O.name
|
||||
usr.name = O.name
|
||||
usr.client.eye = O
|
||||
usr.control_object = O
|
||||
|
||||
/proc/release(obj/O as obj in world)
|
||||
set name = "Release Obj"
|
||||
set category = "Object"
|
||||
//usr.loc = get_turf(usr)
|
||||
|
||||
if(usr.control_object && usr.name_archive) //if you have a name archived and if you are actually relassing an object
|
||||
usr.real_name = usr.name_archive
|
||||
usr.name = usr.real_name
|
||||
usr.update_clothing() //So the name is updated properly
|
||||
|
||||
usr.loc = O.loc // Appear where the object you were controlling is -- TLE
|
||||
usr.client.eye = usr
|
||||
usr.control_object = null
|
||||
|
||||
|
||||
/proc/givetestverbs(mob/M as mob in world)
|
||||
set desc = "Give this guy possess/release verbs"
|
||||
set category = "Debug"
|
||||
set name = "Give Possessing Verbs"
|
||||
M.verbs += /proc/possess
|
||||
M.verbs += /proc/release
|
||||
|
||||
/////////////////////////////////////////////////////blue
|
||||
@@ -87,8 +87,8 @@
|
||||
if(ticker && ticker.mode)
|
||||
world <<"\red <B>World will reboot in 10 seconds</B>"
|
||||
|
||||
feedback_set_details("end_error","mode vote - [winner]")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","mode vote - [winner]")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
@@ -108,8 +108,8 @@
|
||||
|
||||
world <<"\red <B>World will reboot in 5 seconds</B>"
|
||||
|
||||
feedback_set_details("end_error","restart vote")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","restart vote")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
|
||||
@@ -189,7 +189,7 @@ var/global/BSACooldown = 0
|
||||
Banlist["minutes"] << (mins + CMinutes)
|
||||
Banlist["bannedby"] << usr.ckey
|
||||
Banlist.cd = "/base"
|
||||
feedback_inc("ban_edit",1)
|
||||
//feedback_inc("ban_edit",1)
|
||||
unbanpanel()
|
||||
|
||||
/////////////////////////////////////new ban stuff
|
||||
@@ -253,7 +253,7 @@ var/global/BSACooldown = 0
|
||||
log_admin("[key_name(usr)] unbanned [key_name(M)] from [job]")
|
||||
ban_unban_log_save("[key_name(usr)] unjobbanned [key_name(M)] from [job]")
|
||||
M << "\red<BIG><B>You have been un-jobbanned by [usr.client.ckey] from [job].</B></BIG>"
|
||||
feedback_inc("ban_job_unban",1)
|
||||
//feedback_inc("ban_job_unban",1)
|
||||
message_admins("\blue [key_name_admin(usr)] unbanned [key_name_admin(M)] from [job]", 1)
|
||||
jobban_unban(M, job)
|
||||
href_list["jobban2"] = 1
|
||||
@@ -263,7 +263,7 @@ var/global/BSACooldown = 0
|
||||
return
|
||||
ban_unban_log_save("[key_name(usr)] jobbanned [key_name(M)] from [job]. reason: [reason]")
|
||||
log_admin("[key_name(usr)] banned [key_name(M)] from [job]")
|
||||
feedback_inc("ban_job",1)
|
||||
//feedback_inc("ban_job",1)
|
||||
M << "\red<BIG><B>You have been jobbanned by [usr.client.ckey] from [job].</B></BIG>"
|
||||
M << "\red <B>The reason is: [reason]</B>"
|
||||
M << "\red Jobban can be lifted only on demand."
|
||||
@@ -320,7 +320,8 @@ var/global/BSACooldown = 0
|
||||
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.")
|
||||
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."
|
||||
feedback_inc("ban_tmp",1)
|
||||
//feedback_inc("ban_tmp",1)
|
||||
//feedback_inc("ban_tmp_mins",mins)
|
||||
if(config.appeal_address)
|
||||
M << "\red You may try to appeal this at [config.appeal_address]"
|
||||
else
|
||||
@@ -344,7 +345,7 @@ var/global/BSACooldown = 0
|
||||
ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.")
|
||||
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
|
||||
message_admins("\blue[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
|
||||
feedback_inc("ban_perma",1)
|
||||
//feedback_inc("ban_perma",1)
|
||||
|
||||
del(M.client)
|
||||
//del(M)
|
||||
@@ -422,7 +423,8 @@ var/global/BSACooldown = 0
|
||||
else
|
||||
M << "\red No ban appeals URL has been set."
|
||||
ban_unban_log_save("[usr.client.ckey] has jobbanned [M.ckey] from [job]. - Reason: [reason] - This will be removed in [mins] minutes.")
|
||||
feedback_inc("ban_job",1)
|
||||
//feedback_inc("ban_job",1)
|
||||
//feedback_add_details("ban_job","- [job]")
|
||||
log_admin("[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis will be removed in [mins] minutes.")
|
||||
message_admins("\blue[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis will be removed in [mins] minutes.")
|
||||
|
||||
@@ -440,7 +442,8 @@ var/global/BSACooldown = 0
|
||||
else
|
||||
M << "\red No ban appeals URL has been set."
|
||||
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey] from [job]. - Reason: [reason] - This is a permanent ban.")
|
||||
feedback_inc("ban_job_tmp",1)
|
||||
//feedback_inc("ban_job_tmp",1)
|
||||
//feedback_add_details("ban_job_tmp","- [job]")
|
||||
log_admin("[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis is a permanent ban.")
|
||||
message_admins("\blue[usr.client.ckey] has banned [M.ckey] from [job].\nReason: [reason]\nThis is a permanent ban.")
|
||||
|
||||
@@ -1263,14 +1266,20 @@ var/global/BSACooldown = 0
|
||||
var/ok = 0
|
||||
switch(href_list["secretsfun"])
|
||||
if("sec_clothes")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","SC")
|
||||
for(var/obj/item/clothing/under/O in world)
|
||||
del(O)
|
||||
ok = 1
|
||||
if("sec_all_clothes")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","SAC")
|
||||
for(var/obj/item/clothing/O in world)
|
||||
del(O)
|
||||
ok = 1
|
||||
if("sec_classic1")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","SC1")
|
||||
for(var/obj/item/clothing/suit/fire/O in world)
|
||||
del(O)
|
||||
for(var/obj/structure/grille/O in world)
|
||||
@@ -1284,7 +1293,10 @@ var/global/BSACooldown = 0
|
||||
del(O)
|
||||
ok = 1*/
|
||||
if("toxic")
|
||||
/* for(var/obj/machinery/atmoalter/siphs/fullairsiphon/O in world)
|
||||
/*
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","T")
|
||||
for(var/obj/machinery/atmoalter/siphs/fullairsiphon/O in world)
|
||||
O.t_status = 3
|
||||
for(var/obj/machinery/atmoalter/siphs/scrubbers/O in world)
|
||||
O.t_status = 1
|
||||
@@ -1298,26 +1310,34 @@ var/global/BSACooldown = 0
|
||||
*/
|
||||
usr << "HEH"
|
||||
if("monkey")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","M")
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
spawn(0)
|
||||
H.monkeyize()
|
||||
ok = 1
|
||||
if("corgi")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","M")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","M")
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
spawn(0)
|
||||
H.corgize()
|
||||
ok = 1
|
||||
if("power")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","P")
|
||||
log_admin("[key_name(usr)] made all areas powered", 1)
|
||||
message_admins("\blue [key_name_admin(usr)] made all areas powered", 1)
|
||||
power_restore()
|
||||
if("unpower")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","UP")
|
||||
log_admin("[key_name(usr)] made all areas unpowered", 1)
|
||||
message_admins("\blue [key_name_admin(usr)] made all areas unpowered", 1)
|
||||
power_failure()
|
||||
if("activateprison")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","AP")
|
||||
world << "\blue <B>Transit signature detected.</B>"
|
||||
world << "\blue <B>Incoming shuttle.</B>"
|
||||
/*
|
||||
@@ -1329,6 +1349,8 @@ var/global/BSACooldown = 0
|
||||
message_admins("\blue [key_name_admin(usr)] sent the prison shuttle to the station.", 1)
|
||||
if("deactivateprison")
|
||||
/*
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","DP")
|
||||
var/A = locate(/area/shuttle_prison)
|
||||
for(var/atom/movable/AM as mob|obj in A)
|
||||
AM.z = 2
|
||||
@@ -1336,6 +1358,8 @@ var/global/BSACooldown = 0
|
||||
*/
|
||||
message_admins("\blue [key_name_admin(usr)] sent the prison shuttle back.", 1)
|
||||
if("toggleprisonstatus")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","TPS")
|
||||
for(var/obj/machinery/computer/prison_shuttle/PS in world)
|
||||
PS.allowedtocall = !(PS.allowedtocall)
|
||||
message_admins("\blue [key_name_admin(usr)] toggled status of prison shuttle to [PS.allowedtocall].", 1)
|
||||
@@ -1343,6 +1367,8 @@ var/global/BSACooldown = 0
|
||||
if(!ticker)
|
||||
alert("The game hasn't started yet!", null, null, null, null, null)
|
||||
return
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","PW")
|
||||
message_admins("\blue [key_name_admin(usr)] teleported all players to the prison station.", 1)
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
var/turf/loc = find_loc(H)
|
||||
@@ -1385,6 +1411,8 @@ var/global/BSACooldown = 0
|
||||
var/objective = input("Enter an objective")
|
||||
if(!objective)
|
||||
return
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","TA([objective])")
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
if(H.stat == 2 || !H.client || !H.mind) continue
|
||||
if(is_special_character(H)) continue
|
||||
@@ -1415,6 +1443,8 @@ var/global/BSACooldown = 0
|
||||
if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||
if(mining_shuttle_moving)
|
||||
return
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","ShM")
|
||||
move_mining_shuttle()
|
||||
message_admins("\blue [key_name_admin(usr)] moved mining shuttle", 1)
|
||||
log_admin("[key_name(usr)] moved the mining shuttle")
|
||||
@@ -1422,6 +1452,8 @@ var/global/BSACooldown = 0
|
||||
alert("You're not of a high enough rank to do this")
|
||||
if("moveadminshuttle")
|
||||
if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","ShA")
|
||||
move_admin_shuttle()
|
||||
message_admins("\blue [key_name_admin(usr)] moved the centcom administration shuttle", 1)
|
||||
log_admin("[key_name(usr)] moved the centcom administration shuttle")
|
||||
@@ -1429,6 +1461,8 @@ var/global/BSACooldown = 0
|
||||
alert("You're not of a high enough rank to do this")
|
||||
if("moveferry")
|
||||
if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","ShF")
|
||||
move_ferry()
|
||||
message_admins("\blue [key_name_admin(usr)] moved the centcom ferry", 1)
|
||||
log_admin("[key_name(usr)] moved the centcom ferry")
|
||||
@@ -1436,12 +1470,16 @@ var/global/BSACooldown = 0
|
||||
alert("You're not of a high enough rank to do this")
|
||||
if("movealienship")
|
||||
if ((src.rank in list( "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","ShX")
|
||||
move_alien_ship()
|
||||
message_admins("\blue [key_name_admin(usr)] moved the alien dinghy", 1)
|
||||
log_admin("[key_name(usr)] moved the alien dinghy")
|
||||
else
|
||||
alert("You're not of a high enough rank to do this")
|
||||
if("flicklights")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","FL")
|
||||
while(!usr.stat)
|
||||
//knock yourself out to stop the ghosts
|
||||
for(var/mob/M in world)
|
||||
@@ -1513,6 +1551,8 @@ var/global/BSACooldown = 0
|
||||
sleep(rand(30,400))
|
||||
Wall.ex_act(rand(2,1)) */
|
||||
if("wave")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","MW")
|
||||
if ((src.rank in list("Trial Admin", "Badmin", "Game Admin", "Game Master" )))
|
||||
meteor_wave()
|
||||
message_admins("[key_name_admin(usr)] has spawned meteors", 1)
|
||||
@@ -1522,6 +1562,8 @@ var/global/BSACooldown = 0
|
||||
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
|
||||
return
|
||||
if("gravanomalies")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","GA")
|
||||
command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
||||
world << sound('granomalies.ogg')
|
||||
var/turf/T = pick(blobstart)
|
||||
@@ -1551,41 +1593,61 @@ var/global/BSACooldown = 0
|
||||
spawn(rand(300,600))
|
||||
del(P)
|
||||
if("goblob")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","BL")
|
||||
mini_blob_event()
|
||||
message_admins("[key_name_admin(usr)] has spawned blob", 1)
|
||||
if("aliens")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","AL")
|
||||
if(aliens_allowed)
|
||||
Force_Event(/datum/event/alieninfestation)
|
||||
message_admins("[key_name_admin(usr)] has spawned aliens", 1)
|
||||
if("spaceninja")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","SN")
|
||||
if(toggle_space_ninja)
|
||||
if(space_ninja_arrival())//If the ninja is actually spawned. They may not be depending on a few factors.
|
||||
message_admins("[key_name_admin(usr)] has sent in a space ninja", 1)
|
||||
if("carp")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","C")
|
||||
var/choice = input("You sure you want to spawn carp?") in list("Badmin", "Cancel")
|
||||
if(choice == "Badmin")
|
||||
message_admins("[key_name_admin(usr)] has spawned carp.", 1)
|
||||
Force_Event(/datum/event/spacecarp)
|
||||
if("radiation")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","R")
|
||||
message_admins("[key_name_admin(usr)] has has irradiated the station", 1)
|
||||
Force_Event(/datum/event/radiation)
|
||||
if("immovable")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","IR")
|
||||
message_admins("[key_name_admin(usr)] has sent an immovable rod to the station", 1)
|
||||
immovablerod()
|
||||
if("prison_break")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","PB")
|
||||
message_admins("[key_name_admin(usr)] has allowed a prison break", 1)
|
||||
Force_Event(/datum/event/prisonbreak)
|
||||
if("electric")
|
||||
message_admins("[key_name_admin(usr)] has triggered an electrical storm", 1)
|
||||
Force_Event(/datum/event/electricalstorm)
|
||||
if("lightsout")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","LO")
|
||||
message_admins("[key_name_admin(usr)] has broke a lot of lights", 1)
|
||||
lightsout(1,2)
|
||||
if("blackout")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","BO")
|
||||
message_admins("[key_name_admin(usr)] broke all lights", 1)
|
||||
SpawnEvent()
|
||||
lightsout(0,0)
|
||||
if("virus")
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","V")
|
||||
var/answer = alert("Do you want this to be a random disease or do you have something in mind?",,"Virus2","Random","Choose")
|
||||
if(answer=="Random")
|
||||
Force_Event(/datum/event/viralinfection)
|
||||
@@ -1608,6 +1670,8 @@ var/global/BSACooldown = 0
|
||||
trigger_armed_response_team(1)
|
||||
if("retardify")
|
||||
if (src.rank in list("Badmin", "Game Admin", "Game Master"))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","RET")
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
if(H.client)
|
||||
H << "\red <B>You suddenly feel stupid.</B>"
|
||||
@@ -1618,6 +1682,8 @@ var/global/BSACooldown = 0
|
||||
return
|
||||
if("fakeguns")
|
||||
if (src.rank in list("Badmin", "Game Admin", "Game Master"))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","FG")
|
||||
for(var/obj/item/W in world)
|
||||
if(istype(W, /obj/item/clothing) || istype(W, /obj/item/weapon/card/id) || istype(W, /obj/item/weapon/disk) || istype(W, /obj/item/weapon/tank))
|
||||
continue
|
||||
@@ -1636,6 +1702,8 @@ var/global/BSACooldown = 0
|
||||
return*/
|
||||
if("dorf")
|
||||
if (src.rank in list("Badmin","Game Admin", "Game Master"))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","DF")
|
||||
for(var/mob/living/carbon/human/B in world)
|
||||
B.face_icon_state = "facial_wise"
|
||||
B.update_face()
|
||||
@@ -1645,6 +1713,8 @@ var/global/BSACooldown = 0
|
||||
return
|
||||
if("ionstorm")
|
||||
if (src.rank in list("Badmin","Game Admin", "Game Master"))
|
||||
//feedback_inc("admin_secrets_fun_used",1)
|
||||
//feedback_add_details("admin_secrets_fun_used","I")
|
||||
Force_Event(/datum/event/ionstorm)
|
||||
message_admins("[key_name_admin(usr)] triggered an ion storm")
|
||||
var/show_log = alert(usr, "Show ion message?", "Message", "Yes", "No")
|
||||
@@ -1922,7 +1992,7 @@ var/global/BSACooldown = 0
|
||||
log_admin("[user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.")
|
||||
ban_unban_log_save("[user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.")
|
||||
message_admins("\blue [user.ckey] warned [M.ckey], resulting in a [AUTOBANTIME] minute autoban.")
|
||||
feedback_inc("ban_warn",1)
|
||||
//feedback_inc("ban_warn",1)
|
||||
|
||||
del(M.client)
|
||||
|
||||
@@ -1989,6 +2059,7 @@ var/global/BSACooldown = 0
|
||||
foo += text("<A href='?src=\ref[src];jobban2=\ref[M]'>Jobban</A>")
|
||||
dat += text("<body>[foo]</body></html>")
|
||||
usr << browse(dat, "window=adminplayeropts;size=480x150")
|
||||
//feedback_add_details("admin_verb","SPP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/datum/player_info/var
|
||||
@@ -2345,6 +2416,7 @@ var/global/BSACooldown = 0
|
||||
CM.client.vote = "none"
|
||||
else
|
||||
CM.client.vote = "default"
|
||||
//feedback_add_details("admin_verb","SV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/votekill()
|
||||
set category = "Server"
|
||||
@@ -2365,6 +2437,7 @@ var/global/BSACooldown = 0
|
||||
if(M.client)
|
||||
M << browse(null, "window=vote")
|
||||
M.client.showvote = 0
|
||||
//feedback_add_details("admin_verb","AV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/voteres()
|
||||
set category = "Server"
|
||||
@@ -2387,6 +2460,7 @@ var/global/BSACooldown = 0
|
||||
|
||||
if(config.allow_vote_mode)
|
||||
vote.nextvotetime = world.timeofday
|
||||
//feedback_add_details("admin_verb","TV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/restart()
|
||||
set category = "Server"
|
||||
@@ -2401,8 +2475,9 @@ var/global/BSACooldown = 0
|
||||
world << "\red <b>Restarting world!</b> \blue Initiated by [usr.client.stealth ? "Admin" : usr.key]!"
|
||||
log_admin("[key_name(usr)] initiated a reboot.")
|
||||
|
||||
feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]")
|
||||
//feedback_add_details("admin_verb","R") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
//send2irc(world.url,"Server Rebooting!")
|
||||
@@ -2419,6 +2494,7 @@ var/global/BSACooldown = 0
|
||||
message = adminscrub(message,500)
|
||||
world << "\blue <b>[usr.client.stealth ? "Administrator" : usr.key] Announces:</b>\n \t [message]"
|
||||
log_admin("Announce: [key_name(usr)] : [message]")
|
||||
//feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggleooc()
|
||||
set category = "Server"
|
||||
@@ -2431,6 +2507,7 @@ var/global/BSACooldown = 0
|
||||
world << "<B>The OOC channel has been globally disabled!</B>"
|
||||
log_admin("[key_name(usr)] toggled OOC.")
|
||||
message_admins("[key_name_admin(usr)] toggled OOC.", 1)
|
||||
//feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggleoocdead()
|
||||
set category = "Server"
|
||||
@@ -2440,6 +2517,7 @@ var/global/BSACooldown = 0
|
||||
|
||||
log_admin("[key_name(usr)] toggled OOC.")
|
||||
message_admins("[key_name_admin(usr)] toggled Dead OOC.", 1)
|
||||
//feedback_add_details("admin_verb","TDOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggletraitorscaling()
|
||||
set category = "Server"
|
||||
@@ -2448,6 +2526,7 @@ var/global/BSACooldown = 0
|
||||
traitor_scaling = !traitor_scaling
|
||||
log_admin("[key_name(usr)] toggled Traitor Scaling to [traitor_scaling].")
|
||||
message_admins("[key_name_admin(usr)] toggled Traitor Scaling [traitor_scaling ? "on" : "off"].", 1)
|
||||
//feedback_add_details("admin_verb","TTS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/startnow()
|
||||
set category = "Server"
|
||||
@@ -2460,9 +2539,10 @@ var/global/BSACooldown = 0
|
||||
ticker.current_state = GAME_STATE_SETTING_UP
|
||||
log_admin("[usr.key] has started the game.")
|
||||
message_admins("<font color='blue'>[usr.key] has started the game.</font>")
|
||||
//feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return 1
|
||||
else
|
||||
alert("Game has already started you fucking jerk, stop spamming up the chat :ARGH:")
|
||||
usr << "<font color='red'>Error: Start Now: Game has already started.</font>"
|
||||
return 0
|
||||
|
||||
/obj/admins/proc/toggleenter()
|
||||
@@ -2477,6 +2557,7 @@ var/global/BSACooldown = 0
|
||||
log_admin("[key_name(usr)] toggled new player game entering.")
|
||||
message_admins("\blue [key_name_admin(usr)] toggled new player game entering.", 1)
|
||||
world.update_status()
|
||||
//feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggleAI()
|
||||
set category = "Server"
|
||||
@@ -2489,6 +2570,7 @@ var/global/BSACooldown = 0
|
||||
world << "<B>The AI job is chooseable now.</B>"
|
||||
log_admin("[key_name(usr)] toggled AI allowed.")
|
||||
world.update_status()
|
||||
//feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggleaban()
|
||||
set category = "Server"
|
||||
@@ -2502,6 +2584,7 @@ var/global/BSACooldown = 0
|
||||
message_admins("\blue [key_name_admin(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].", 1)
|
||||
log_admin("[key_name(usr)] toggled respawn to [abandon_allowed ? "On" : "Off"].")
|
||||
world.update_status()
|
||||
//feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggle_aliens()
|
||||
set category = "Server"
|
||||
@@ -2510,6 +2593,7 @@ var/global/BSACooldown = 0
|
||||
aliens_allowed = !aliens_allowed
|
||||
log_admin("[key_name(usr)] toggled Aliens to [aliens_allowed].")
|
||||
message_admins("[key_name_admin(usr)] toggled Aliens [aliens_allowed ? "on" : "off"].", 1)
|
||||
//feedback_add_details("admin_verb","TA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/toggle_space_ninja()
|
||||
set category = "Server"
|
||||
@@ -2518,6 +2602,7 @@ var/global/BSACooldown = 0
|
||||
toggle_space_ninja = !toggle_space_ninja
|
||||
log_admin("[key_name(usr)] toggled Space Ninjas to [toggle_space_ninja].")
|
||||
message_admins("[key_name_admin(usr)] toggled Space Ninjas [toggle_space_ninja ? "on" : "off"].", 1)
|
||||
//feedback_add_details("admin_verb","TSN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/delay()
|
||||
set category = "Server"
|
||||
@@ -2538,6 +2623,7 @@ var/global/BSACooldown = 0
|
||||
else
|
||||
world << "<b>The game will start soon.</b>"
|
||||
log_admin("[key_name(usr)] removed the delay.")
|
||||
//feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/adjump()
|
||||
set category = "Server"
|
||||
@@ -2545,6 +2631,7 @@ var/global/BSACooldown = 0
|
||||
set name="Toggle Jump"
|
||||
config.allow_admin_jump = !(config.allow_admin_jump)
|
||||
message_admins("\blue Toggled admin jumping to [config.allow_admin_jump].")
|
||||
//feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/adspawn()
|
||||
set category = "Server"
|
||||
@@ -2552,6 +2639,7 @@ var/global/BSACooldown = 0
|
||||
set name="Toggle Spawn"
|
||||
config.allow_admin_spawning = !(config.allow_admin_spawning)
|
||||
message_admins("\blue Toggled admin item spawning to [config.allow_admin_spawning].")
|
||||
//feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/adrev()
|
||||
set category = "Server"
|
||||
@@ -2559,6 +2647,7 @@ var/global/BSACooldown = 0
|
||||
set name="Toggle Revive"
|
||||
config.allow_admin_rev = !(config.allow_admin_rev)
|
||||
message_admins("\blue Toggled reviving to [config.allow_admin_rev].")
|
||||
//feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/immreboot()
|
||||
set category = "Server"
|
||||
@@ -2569,8 +2658,9 @@ var/global/BSACooldown = 0
|
||||
world << "\red <b>Rebooting world!</b> \blue Initiated by [usr.client.stealth ? "Admin" : usr.key]!"
|
||||
log_admin("[key_name(usr)] initiated an immediate reboot.")
|
||||
|
||||
feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]")
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]")
|
||||
//feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.stealth ? "(stealth)" : ""]")
|
||||
//feedback_add_details("admin_verb","IR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
@@ -2586,6 +2676,7 @@ var/global/BSACooldown = 0
|
||||
else
|
||||
deadchat = 0
|
||||
usr << "Deadchat turned off"
|
||||
//feedback_add_details("admin_verb","TDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggleprayers()
|
||||
set category = "Admin"
|
||||
@@ -2597,6 +2688,7 @@ var/global/BSACooldown = 0
|
||||
else
|
||||
seeprayers = 0
|
||||
usr << "Prayer visibility turned off"
|
||||
//feedback_add_details("admin_verb","TP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/obj/admins/proc/unprison(var/mob/M in world)
|
||||
set category = "Admin"
|
||||
@@ -2610,6 +2702,7 @@ var/global/BSACooldown = 0
|
||||
alert("Admin jumping disabled")
|
||||
else
|
||||
alert("[M.name] is not prisoned.")
|
||||
//feedback_add_details("admin_verb","UP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS
|
||||
|
||||
@@ -2704,10 +2797,10 @@ var/global/BSACooldown = 0
|
||||
|
||||
log_admin("[key_name(usr)] spawned [chosen] at ([usr.x],[usr.y],[usr.z])")
|
||||
|
||||
|
||||
else
|
||||
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
|
||||
return
|
||||
//feedback_add_details("admin_verb","SA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/obj/admins/proc/show_traitor_panel(var/mob/M in world)
|
||||
@@ -2719,6 +2812,7 @@ var/global/BSACooldown = 0
|
||||
usr << "Sorry, this mob has no mind!"
|
||||
return
|
||||
M.mind.edit_memory()
|
||||
//feedback_add_details("admin_verb","STP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/obj/admins/proc/toggletintedweldhelmets()
|
||||
@@ -2732,6 +2826,7 @@ var/global/BSACooldown = 0
|
||||
world << "<B>The tinted_weldhelh has been disabled!</B>"
|
||||
log_admin("[key_name(usr)] toggled tinted_weldhelh.")
|
||||
message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1)
|
||||
//feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/*
|
||||
/obj/admins/proc/toggleguests()
|
||||
@@ -2745,6 +2840,7 @@ var/global/BSACooldown = 0
|
||||
world << "<B>Guests may now enter the game.</B>"
|
||||
log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.")
|
||||
message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1)
|
||||
//feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
*/
|
||||
|
||||
|
||||
@@ -2766,6 +2862,7 @@ var/global/BSACooldown = 0
|
||||
</html>"}
|
||||
usr << browse(output,"window=server_logfile")
|
||||
onclose(usr,"server_logfile")
|
||||
//feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/obj/admins/proc/view_atk_log()
|
||||
@@ -2793,6 +2890,7 @@ var/global/BSACooldown = 0
|
||||
set category = "Admin"
|
||||
if (src.holder)
|
||||
src.holder.unjobbanpanel()
|
||||
//feedback_add_details("admin_verb","UJBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return*/
|
||||
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
// verbs += /client/proc/radio_report //for radio debugging dont think its been used in a very long time
|
||||
// verbs += /client/proc/fix_next_move //has not been an issue in a very very long time
|
||||
|
||||
|
||||
// Mapping helpers added via enable_mapping_debug verb
|
||||
// Mapping helpers added via enable_debug_verbs verb
|
||||
// verbs += /client/proc/do_not_use_these
|
||||
// verbs += /client/proc/camera_view
|
||||
// verbs += /client/proc/sec_camera_report
|
||||
@@ -40,38 +39,23 @@
|
||||
|
||||
switch (rank)
|
||||
if ("Game Master")
|
||||
deadchat = 1
|
||||
seeprayers = 1
|
||||
holder.level = 6
|
||||
|
||||
|
||||
if ("Game Admin")
|
||||
deadchat = 1
|
||||
seeprayers = 1
|
||||
holder.level = 5
|
||||
|
||||
|
||||
if ("Badmin")
|
||||
deadchat = 1
|
||||
seeprayers = 1
|
||||
holder.level = 4
|
||||
|
||||
|
||||
if ("Trial Admin")
|
||||
deadchat = 1
|
||||
seeprayers = 1
|
||||
holder.level = 3
|
||||
|
||||
if(holder.state == 2) // if observing
|
||||
// Debug
|
||||
verbs += /client/proc/debug_variables
|
||||
//verbs += /client/proc/cmd_modify_object_variables --Merged with view variables
|
||||
verbs += /client/proc/cmd_modify_ticker_variables
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
|
||||
// Admin helpers
|
||||
verbs += /client/proc/toggle_view_range
|
||||
|
||||
// Admin game intrusion
|
||||
verbs += /client/proc/Getmob
|
||||
verbs += /client/proc/Getkey
|
||||
@@ -84,36 +68,32 @@
|
||||
verbs += /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs += /client/proc/cmd_admin_rejuvenate
|
||||
verbs += /client/proc/cmd_admin_drop_everything
|
||||
|
||||
//verbs += /client/proc/cmd_modify_object_variables --Merged with view variables
|
||||
|
||||
if ("Admin Candidate")
|
||||
holder.level = 2
|
||||
if(holder.state == 2) // if observing
|
||||
deadchat = 1
|
||||
// Settings
|
||||
verbs += /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
// Admin helpers
|
||||
//verbs += /client/proc/cmd_admin_attack_log //Use view variables
|
||||
verbs += /client/proc/cmd_admin_check_contents
|
||||
// Admin game intrusion
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
|
||||
//verbs += /client/proc/cmd_admin_attack_log --Merged with view variables
|
||||
|
||||
if ("Temporary Admin")
|
||||
holder.level = 1
|
||||
|
||||
|
||||
if ("Moderator")
|
||||
holder.level = 0
|
||||
|
||||
|
||||
if ("Admin Observer")
|
||||
holder.level = -1
|
||||
|
||||
|
||||
if ("Banned")
|
||||
holder.level = -2
|
||||
del(src)
|
||||
@@ -126,139 +106,31 @@
|
||||
del(holder)
|
||||
return
|
||||
|
||||
if (holder)//Slightly easier to edit way of granting powers
|
||||
if (holder) //THE BELOW handles granting powers. The above is for special cases only!
|
||||
holder.owner = src
|
||||
if (holder.level >= 6)//Game Master********************************************************************
|
||||
verbs += /client/proc/callproc
|
||||
verbs += /obj/admins/proc/adjump
|
||||
verbs += /client/proc/get_admin_state
|
||||
verbs += /client/proc/reload_admins
|
||||
verbs += /client/proc/kill_air
|
||||
verbs += /client/proc/cmd_debug_make_powernets
|
||||
verbs += /client/proc/enable_mapping_debug
|
||||
verbs += /client/proc/everyone_random
|
||||
verbs += /client/proc/only_one // Fateweaver suggested I do this - Doohl
|
||||
verbs += /client/proc/callprocgen
|
||||
verbs += /client/proc/callprocobj
|
||||
verbs += /client/proc/rnd_check_designs
|
||||
verbs += /client/proc/CarbonCopy
|
||||
verbs += /client/proc/getruntimelog //used by coders to retrieve runtime logs
|
||||
|
||||
if (holder.level >= 5)//Game Admin********************************************************************
|
||||
verbs += /obj/admins/proc/view_txt_log
|
||||
verbs += /obj/admins/proc/view_atk_log
|
||||
//verbs += /client/proc/cmd_mass_modify_object_variables --Merged with view variables
|
||||
verbs += /client/proc/cmd_admin_list_open_jobs
|
||||
verbs += /client/proc/cmd_admin_direct_narrate
|
||||
verbs += /client/proc/cmd_admin_world_narrate
|
||||
verbs += /client/proc/cmd_debug_del_all
|
||||
verbs += /client/proc/cmd_debug_tog_aliens
|
||||
verbs += /client/proc/ticklag
|
||||
verbs += /client/proc/mapload
|
||||
verbs += /obj/admins/proc/spawn_atom
|
||||
verbs += /client/proc/check_words
|
||||
verbs += /client/proc/drop_bomb
|
||||
//verbs += /client/proc/give_spell --moved to view variables
|
||||
//verbs += /client/proc/cmd_admin_ninjafy --now in view vars
|
||||
verbs += /client/proc/cmd_admin_grantfullaccess
|
||||
//verbs += /client/proc/cmd_admin_explosion --now in view vars
|
||||
//verbs += /client/proc/cmd_admin_emp --now in view vars
|
||||
verbs += /client/proc/jump_to_dead_group
|
||||
verbs += /client/proc/cmd_admin_drop_everything
|
||||
verbs += /client/proc/make_sound
|
||||
verbs += /client/proc/play_local_sound
|
||||
verbs += /client/proc/send_space_ninja
|
||||
verbs += /client/proc/restartcontroller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri
|
||||
verbs += /client/proc/Blobize//I need to remember to move/remove this later
|
||||
verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested)
|
||||
verbs += /client/proc/toggle_gravity_on
|
||||
verbs += /client/proc/toggle_gravity_off
|
||||
verbs += /client/proc/toggle_random_events
|
||||
// Moved over from tg's Game Master:
|
||||
verbs += /client/proc/colorooc
|
||||
verbs += /obj/admins/proc/toggle_aliens //toggle aliens
|
||||
verbs += /obj/admins/proc/toggle_space_ninja //toggle ninjas
|
||||
verbs += /client/proc/triple_ai
|
||||
verbs += /client/proc/object_talk
|
||||
verbs += /client/proc/strike_team
|
||||
verbs += /client/proc/admin_invis
|
||||
verbs += /client/proc/cmd_admin_godmode
|
||||
verbs += /client/proc/delbook
|
||||
verbs += /client/proc/Force_Event_admin
|
||||
verbs += /client/proc/radioalert
|
||||
verbs += /client/proc/make_tajaran
|
||||
verbs += /client/proc/CarbonCopy
|
||||
//Admin Observer
|
||||
if (holder.level >= -1)
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
verbs += /client/proc/cmd_admin_gib_self
|
||||
verbs += /client/proc/deadmin_self
|
||||
else if (holder.level == -3) // Retired Admin
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
return
|
||||
else return
|
||||
|
||||
if (holder.level >= 4)//Badmin********************************************************************
|
||||
verbs += /obj/admins/proc/adrev //toggle admin revives
|
||||
verbs += /obj/admins/proc/adspawn //toggle admin item spawning
|
||||
verbs += /client/proc/debug_variables
|
||||
//verbs += /client/proc/cmd_modify_object_variables --Merged with view variables
|
||||
verbs += /client/proc/cmd_modify_ticker_variables
|
||||
verbs += /client/proc/Debug2 //debug toggle switch
|
||||
verbs += /client/proc/toggle_view_range
|
||||
verbs += /client/proc/Getmob
|
||||
verbs += /client/proc/Getkey
|
||||
verbs += /client/proc/sendmob
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
verbs += /client/proc/jumptoturf
|
||||
verbs += /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
//verbs += /client/proc/cmd_admin_godmode --now in view variables
|
||||
verbs += /client/proc/cmd_admin_rejuvenate
|
||||
//verbs += /client/proc/cmd_admin_gib --View vars menu
|
||||
verbs += /client/proc/cmd_admin_delete
|
||||
//verbs += /proc/togglebuildmode --now in view vars
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
verbs += /client/proc/togglebuildmodeself
|
||||
verbs += /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/tension_report
|
||||
verbs += /client/proc/jumptocoord
|
||||
|
||||
if (holder.level >= 3)//Trial Admin********************************************************************
|
||||
verbs += /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs += /client/proc/cmd_admin_remove_plasma
|
||||
verbs += /client/proc/admin_call_shuttle
|
||||
verbs += /client/proc/admin_cancel_shuttle
|
||||
verbs += /client/proc/admin_deny_shuttle
|
||||
verbs += /obj/admins/proc/show_traitor_panel
|
||||
verbs += /client/proc/cmd_admin_dress
|
||||
verbs += /client/proc/cmd_admin_christmas
|
||||
verbs += /client/proc/respawn_character
|
||||
verbs += /client/proc/spawn_xeno
|
||||
verbs += /proc/possess
|
||||
verbs += /proc/release
|
||||
verbs += /client/proc/toggleprayers
|
||||
verbs += /client/proc/editappear
|
||||
|
||||
if (holder.level >= 2)//Admin Candidate********************************************************************
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs += /client/proc/secrets
|
||||
verbs += /client/proc/play_sound
|
||||
verbs += /client/proc/stealth
|
||||
|
||||
|
||||
if (holder.level >= 1)//Temp Admin********************************************************************
|
||||
//verbs += /client/proc/cmd_admin_attack_log //use view variables
|
||||
verbs += /client/proc/cmd_admin_check_contents
|
||||
verbs += /obj/admins/proc/delay //game start delay
|
||||
verbs += /obj/admins/proc/immreboot //immediate reboot
|
||||
verbs += /obj/admins/proc/restart //restart
|
||||
verbs += /client/proc/cmd_admin_create_centcom_report
|
||||
verbs += /client/proc/toggle_hear_deadcast
|
||||
verbs += /client/proc/toggle_hear_radio
|
||||
verbs += /client/proc/cmd_admin_change_custom_event
|
||||
|
||||
if (holder.level >= 0)//Mod********************************************************************
|
||||
verbs += /obj/admins/proc/toggleAI //Toggle the AI
|
||||
verbs += /obj/admins/proc/toggleenter //Toggle enterting
|
||||
// verbs += /obj/admins/proc/toggleguests //Toggle guests entering
|
||||
verbs += /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
|
||||
verbs += /obj/admins/proc/voteres //toggle votes
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
//Moderator
|
||||
if (holder.level >= 0)
|
||||
verbs += /obj/admins/proc/toggleAI //Toggle the AI
|
||||
verbs += /obj/admins/proc/toggleenter //Toggle enterting
|
||||
// verbs += /obj/admins/proc/toggleguests //Toggle guests entering
|
||||
verbs += /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
|
||||
verbs += /obj/admins/proc/voteres //toggle votes
|
||||
verbs += /obj/admins/proc/vmode
|
||||
verbs += /obj/admins/proc/votekill
|
||||
verbs += /obj/admins/proc/show_player_panel
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /client/proc/cmd_admin_mute
|
||||
verbs += /client/proc/cmd_admin_pm
|
||||
verbs += /client/proc/cmd_admin_subtle_message
|
||||
@@ -274,36 +146,192 @@
|
||||
verbs += /client/proc/unban_panel
|
||||
verbs += /client/proc/jobbans
|
||||
verbs += /client/proc/playernotes
|
||||
verbs += /obj/admins/proc/show_skills
|
||||
verbs += /obj/admins/proc/vmode
|
||||
verbs += /obj/admins/proc/votekill
|
||||
verbs += /client/proc/voting
|
||||
verbs += /obj/admins/proc/show_player_panel
|
||||
//verbs += /client/proc/cmd_admin_prison --in player panel
|
||||
//verbs += /obj/admins/proc/unprison --in player panel
|
||||
verbs += /client/proc/hide_verbs
|
||||
verbs += /client/proc/general_report
|
||||
verbs += /client/proc/air_report
|
||||
verbs += /client/proc/deadmin_self
|
||||
//verbs += /client/proc/cmd_admin_prison --Merged with player panel
|
||||
//verbs += /obj/admins/proc/unprison --Merged with player panel
|
||||
verbs += /obj/admins/proc/show_skills
|
||||
else return
|
||||
|
||||
//Temporary Admin
|
||||
if (holder.level >= 1)
|
||||
verbs += /obj/admins/proc/delay //game start delay
|
||||
verbs += /obj/admins/proc/immreboot //immediate reboot
|
||||
verbs += /obj/admins/proc/restart //restart
|
||||
verbs += /client/proc/cmd_admin_check_contents
|
||||
verbs += /client/proc/cmd_admin_create_centcom_report
|
||||
verbs += /client/proc/toggle_hear_deadcast
|
||||
verbs += /client/proc/toggle_hear_radio
|
||||
verbs += /client/proc/deadmin_self
|
||||
//verbs += /client/proc/cmd_admin_attack_log --Merged with view variables
|
||||
verbs += /client/proc/cmd_admin_change_custom_event
|
||||
else return
|
||||
|
||||
if (holder.level >= -1)//Admin Observer
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
verbs += /client/proc/cmd_admin_gib_self
|
||||
//Admin Candidate
|
||||
if (holder.level >= 2)
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs += /client/proc/secrets
|
||||
verbs += /client/proc/play_sound
|
||||
verbs += /client/proc/stealth
|
||||
verbs += /client/proc/deadmin_self
|
||||
else return
|
||||
|
||||
if (holder.level == -3)//Retired Admin, skips banned
|
||||
verbs += /client/proc/cmd_admin_say
|
||||
//Trial Admin
|
||||
if (holder.level >= 3)
|
||||
deadchat = 1
|
||||
seeprayers = 1
|
||||
|
||||
verbs += /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs += /obj/admins/proc/show_traitor_panel
|
||||
verbs += /client/proc/cmd_admin_remove_plasma
|
||||
verbs += /client/proc/admin_call_shuttle
|
||||
verbs += /client/proc/admin_cancel_shuttle
|
||||
verbs += /client/proc/cmd_admin_dress
|
||||
verbs += /client/proc/respawn_character
|
||||
verbs += /client/proc/spawn_xeno
|
||||
verbs += /client/proc/toggleprayers
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /proc/possess
|
||||
verbs += /proc/release
|
||||
verbs += /client/proc/admin_deny_shuttle
|
||||
verbs += /client/proc/cmd_admin_christmas
|
||||
verbs += /client/proc/editappear
|
||||
else return
|
||||
|
||||
//Badmin
|
||||
if (holder.level >= 4)
|
||||
verbs += /obj/admins/proc/adrev //toggle admin revives
|
||||
verbs += /obj/admins/proc/adspawn //toggle admin item spawning
|
||||
verbs += /client/proc/debug_variables
|
||||
verbs += /client/proc/cmd_modify_ticker_variables
|
||||
verbs += /client/proc/Debug2 //debug toggle switch
|
||||
verbs += /client/proc/toggle_view_range
|
||||
verbs += /client/proc/Getmob
|
||||
verbs += /client/proc/Getkey
|
||||
verbs += /client/proc/sendmob
|
||||
verbs += /client/proc/Jump
|
||||
verbs += /client/proc/jumptokey
|
||||
verbs += /client/proc/jumptomob
|
||||
verbs += /client/proc/jumptoturf
|
||||
verbs += /client/proc/cmd_admin_delete
|
||||
verbs += /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs += /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs += /client/proc/cmd_admin_rejuvenate
|
||||
verbs += /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/jumptocoord
|
||||
verbs += /client/proc/deadmin_self
|
||||
//verbs += /client/proc/cmd_admin_godmode --Merged with view variables
|
||||
//verbs += /client/proc/cmd_admin_gib --Merged with view variables
|
||||
//verbs += /proc/togglebuildmode --Merged with view variables
|
||||
//verbs += /client/proc/cmd_modify_object_variables --Merged with view variables
|
||||
verbs += /client/proc/togglebuildmodeself
|
||||
verbs += /client/proc/tension_report
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
else return
|
||||
|
||||
//Game Admin
|
||||
if (holder.level >= 5)
|
||||
verbs += /obj/admins/proc/spawn_atom
|
||||
verbs += /obj/admins/proc/view_txt_log
|
||||
verbs += /obj/admins/proc/view_atk_log
|
||||
verbs += /client/proc/cmd_admin_list_open_jobs
|
||||
verbs += /client/proc/cmd_admin_direct_narrate
|
||||
verbs += /client/proc/colorooc
|
||||
verbs += /client/proc/cmd_admin_world_narrate
|
||||
verbs += /client/proc/cmd_debug_del_all
|
||||
verbs += /client/proc/cmd_debug_tog_aliens
|
||||
verbs += /client/proc/ticklag
|
||||
verbs += /client/proc/mapload
|
||||
verbs += /client/proc/check_words
|
||||
verbs += /client/proc/drop_bomb
|
||||
verbs += /client/proc/cmd_admin_grantfullaccess
|
||||
verbs += /client/proc/cmd_admin_drop_everything
|
||||
verbs += /client/proc/make_sound
|
||||
verbs += /client/proc/play_local_sound
|
||||
verbs += /client/proc/send_space_ninja
|
||||
verbs += /client/proc/restartcontroller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri
|
||||
verbs += /client/proc/Blobize //I need to remember to move/remove this later
|
||||
verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the new clickproc is being tested)
|
||||
verbs += /client/proc/toggle_gravity_on
|
||||
verbs += /client/proc/toggle_gravity_off
|
||||
verbs += /client/proc/toggle_random_events
|
||||
verbs += /client/proc/deadmin_self
|
||||
//verbs += /client/proc/cmd_mass_modify_object_variables --Merged with view variables
|
||||
//verbs += /client/proc/cmd_admin_explosion --Merged with view variables
|
||||
//verbs += /client/proc/cmd_admin_emp --Merged with view variables
|
||||
//verbs += /client/proc/give_spell --Merged with view variables
|
||||
//verbs += /client/proc/cmd_admin_ninjafy --Merged with view variables
|
||||
// Moved over from tg's Game Master:
|
||||
verbs += /obj/admins/proc/toggle_aliens //toggle aliens
|
||||
verbs += /obj/admins/proc/toggle_space_ninja //toggle ninjas
|
||||
verbs += /client/proc/triple_ai
|
||||
verbs += /client/proc/object_talk
|
||||
verbs += /client/proc/strike_team
|
||||
verbs += /client/proc/admin_invis
|
||||
verbs += /client/proc/cmd_admin_godmode
|
||||
verbs += /client/proc/delbook
|
||||
verbs += /client/proc/Force_Event_admin
|
||||
verbs += /client/proc/radioalert
|
||||
verbs += /client/proc/make_tajaran
|
||||
verbs += /client/proc/CarbonCopy
|
||||
verbs += /client/proc/jump_to_dead_group
|
||||
else return
|
||||
|
||||
//Game Master
|
||||
if (holder.level >= 6)
|
||||
verbs += /obj/admins/proc/adjump
|
||||
verbs += /client/proc/callproc
|
||||
verbs += /client/proc/get_admin_state
|
||||
verbs += /client/proc/reload_admins
|
||||
verbs += /client/proc/cmd_debug_make_powernets
|
||||
verbs += /client/proc/everyone_random
|
||||
verbs += /client/proc/only_one
|
||||
verbs += /client/proc/deadmin_self
|
||||
verbs += /client/proc/getruntimelog //used by coders to retrieve runtime logs
|
||||
verbs += /client/proc/enable_mapping_debug
|
||||
verbs += /client/proc/kill_air
|
||||
verbs += /client/proc/callprocgen
|
||||
verbs += /client/proc/callprocobj
|
||||
verbs += /client/proc/rnd_check_designs
|
||||
verbs += /client/proc/CarbonCopy
|
||||
else return
|
||||
return
|
||||
|
||||
|
||||
/client/proc/clear_admin_verbs()
|
||||
deadchat = 0
|
||||
|
||||
verbs -= /obj/admins/proc/vmode
|
||||
verbs -= /obj/admins/proc/votekill
|
||||
verbs -= /obj/admins/proc/announce
|
||||
verbs -= /obj/admins/proc/startnow
|
||||
verbs -= /obj/admins/proc/toggleAI //Toggle the AI
|
||||
verbs -= /obj/admins/proc/toggleenter //Toggle enterting
|
||||
// verbs -= /obj/admins/proc/toggleguests //Toggle guests entering
|
||||
verbs -= /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs -= /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
|
||||
verbs -= /obj/admins/proc/voteres //toggle votes
|
||||
verbs -= /obj/admins/proc/delay //game start delay
|
||||
verbs -= /obj/admins/proc/immreboot //immediate reboot
|
||||
verbs -= /obj/admins/proc/restart //restart
|
||||
verbs -= /obj/admins/proc/show_traitor_panel
|
||||
verbs -= /obj/admins/proc/show_player_panel
|
||||
verbs -= /obj/admins/proc/toggle_aliens //toggle aliens
|
||||
verbs -= /obj/admins/proc/toggle_space_ninja //toggle ninjas
|
||||
verbs -= /obj/admins/proc/adjump
|
||||
verbs -= /obj/admins/proc/view_txt_log
|
||||
verbs -= /obj/admins/proc/view_atk_log
|
||||
verbs -= /obj/admins/proc/spawn_atom
|
||||
verbs -= /obj/admins/proc/adrev //toggle admin revives
|
||||
verbs -= /obj/admins/proc/adspawn //toggle admin item spawning
|
||||
verbs -= /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs -= /client/proc/hide_verbs
|
||||
verbs -= /client/proc/hide_most_verbs
|
||||
verbs -= /client/proc/show_verbs
|
||||
verbs -= /client/proc/colorooc
|
||||
verbs -= /obj/admins/proc/toggle_aliens //toggle aliens
|
||||
verbs -= /obj/admins/proc/toggle_space_ninja //toggle ninjas
|
||||
verbs -= /obj/admins/proc/adjump
|
||||
verbs -= /client/proc/triple_ai
|
||||
verbs -= /client/proc/get_admin_state
|
||||
verbs -= /client/proc/reload_admins
|
||||
@@ -311,8 +339,6 @@
|
||||
verbs -= /client/proc/cmd_debug_make_powernets
|
||||
verbs -= /client/proc/object_talk
|
||||
verbs -= /client/proc/strike_team
|
||||
verbs -= /obj/admins/proc/view_txt_log
|
||||
//verbs -= /client/proc/cmd_mass_modify_object_variables --Merged with view variables
|
||||
verbs -= /client/proc/cmd_admin_list_open_jobs
|
||||
verbs -= /client/proc/cmd_admin_direct_narrate
|
||||
verbs -= /client/proc/cmd_admin_world_narrate
|
||||
@@ -322,25 +348,16 @@
|
||||
verbs -= /client/proc/cmd_debug_tog_aliens
|
||||
verbs -= /client/proc/ticklag
|
||||
verbs -= /client/proc/mapload
|
||||
verbs -= /obj/admins/proc/spawn_atom
|
||||
verbs -= /client/proc/check_words
|
||||
verbs -= /client/proc/drop_bomb
|
||||
//verbs -= /client/proc/give_spell --moved to view variables
|
||||
//verbs -= /client/proc/cmd_admin_ninjafy --now in view vars
|
||||
verbs -= /client/proc/cmd_admin_grantfullaccess
|
||||
//verbs -= /client/proc/cmd_admin_explosion --now in view vars
|
||||
//verbs -= /client/proc/cmd_admin_emp --now in view vars
|
||||
verbs -= /client/proc/cmd_admin_drop_everything
|
||||
verbs -= /client/proc/make_sound
|
||||
verbs -= /client/proc/only_one
|
||||
verbs -= /client/proc/send_space_ninja
|
||||
verbs -= /obj/admins/proc/adrev //toggle admin revives
|
||||
verbs -= /obj/admins/proc/adspawn //toggle admin item spawning
|
||||
verbs -= /obj/admins/proc/toggleaban //abandon mob
|
||||
verbs -= /client/proc/debug_variables
|
||||
//verbs -= /client/proc/cmd_modify_object_variables --merged with view variables
|
||||
verbs -= /client/proc/cmd_modify_ticker_variables
|
||||
verbs -= /client/proc/Debug2 //debug toggle switch
|
||||
verbs -= /client/proc/Debug2 //debug toggle switch
|
||||
verbs -= /client/proc/toggle_view_range
|
||||
verbs -= /client/proc/Getmob
|
||||
verbs -= /client/proc/Getkey
|
||||
@@ -351,64 +368,35 @@
|
||||
verbs -= /client/proc/jumptoturf
|
||||
verbs -= /client/proc/cmd_admin_add_freeform_ai_law
|
||||
verbs -= /client/proc/cmd_admin_add_random_ai_law
|
||||
//verbs -= /client/proc/cmd_admin_godmode --now in view variables
|
||||
verbs -= /client/proc/cmd_admin_rejuvenate
|
||||
//verbs -= /client/proc/cmd_admin_gib --view vars menu
|
||||
verbs -= /client/proc/cmd_admin_delete
|
||||
//verbs -= /proc/togglebuildmode --now in view vars
|
||||
verbs -= /client/proc/toggleadminhelpsound
|
||||
verbs -= /client/proc/togglebuildmodeself
|
||||
verbs -= /client/proc/cmd_admin_remove_plasma
|
||||
verbs -= /client/proc/admin_call_shuttle
|
||||
verbs -= /client/proc/admin_cancel_shuttle
|
||||
verbs -= /client/proc/admin_deny_shuttle
|
||||
verbs -= /obj/admins/proc/show_traitor_panel
|
||||
verbs -= /client/proc/cmd_admin_dress
|
||||
verbs -= /client/proc/cmd_admin_christmas
|
||||
verbs -= /client/proc/respawn_character
|
||||
verbs -= /client/proc/spawn_xeno
|
||||
verbs -= /proc/possess
|
||||
verbs -= /proc/release
|
||||
verbs -= /client/proc/cmd_admin_add_random_ai_law
|
||||
verbs -= /client/proc/secrets
|
||||
verbs -= /client/proc/play_sound
|
||||
verbs -= /client/proc/stealth
|
||||
//verbs -= /client/proc/cmd_admin_attack_log //use view variables
|
||||
verbs -= /client/proc/cmd_admin_check_contents
|
||||
verbs -= /obj/admins/proc/delay //game start delay
|
||||
verbs -= /obj/admins/proc/immreboot //immediate reboot
|
||||
verbs -= /obj/admins/proc/restart //restart
|
||||
verbs -= /client/proc/cmd_admin_create_centcom_report
|
||||
verbs -= /obj/admins/proc/toggleAI //Toggle the AI
|
||||
verbs -= /obj/admins/proc/toggleenter //Toggle enterting
|
||||
// verbs -= /obj/admins/proc/toggleguests //Toggle guests entering
|
||||
verbs -= /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs -= /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
|
||||
verbs -= /obj/admins/proc/voteres //toggle votes
|
||||
verbs -= /client/proc/deadchat //toggles deadchat
|
||||
verbs -= /client/proc/deadchat //toggles deadchat
|
||||
verbs -= /client/proc/cmd_admin_mute
|
||||
verbs -= /client/proc/cmd_admin_pm
|
||||
verbs -= /client/proc/cmd_admin_say
|
||||
verbs -= /client/proc/cmd_admin_subtle_message
|
||||
verbs -= /client/proc/warn
|
||||
verbs -= /obj/admins/proc/announce
|
||||
verbs -= /obj/admins/proc/startnow
|
||||
verbs -= /client/proc/dsay
|
||||
verbs -= /client/proc/admin_play
|
||||
verbs -= /client/proc/admin_observe
|
||||
verbs -= /client/proc/game_panel
|
||||
// verbs -= /client/proc/player_panel
|
||||
verbs -= /client/proc/player_panel_new
|
||||
verbs -= /client/proc/unban_panel
|
||||
verbs -= /client/proc/jobbans
|
||||
verbs -= /client/proc/playernotes
|
||||
verbs -= /obj/admins/proc/show_skills
|
||||
verbs -= /obj/admins/proc/vmode
|
||||
verbs -= /obj/admins/proc/votekill
|
||||
verbs -= /client/proc/voting
|
||||
verbs -= /obj/admins/proc/show_player_panel
|
||||
//verbs -= /client/proc/cmd_admin_prison --in player panel
|
||||
//verbs -= /obj/admins/proc/unprison --in player panel
|
||||
verbs -= /client/proc/hide_verbs
|
||||
verbs -= /client/proc/general_report
|
||||
verbs -= /client/proc/air_report
|
||||
@@ -416,18 +404,19 @@
|
||||
verbs -= /client/proc/cmd_admin_gib_self
|
||||
verbs -= /client/proc/restartcontroller
|
||||
verbs -= /client/proc/play_local_sound
|
||||
verbs -= /client/proc/enable_mapping_debug
|
||||
verbs -= /client/proc/toggleprayers
|
||||
verbs -= /client/proc/editappear
|
||||
verbs -= /client/proc/jump_to_dead_group
|
||||
verbs -= /client/proc/Blobize
|
||||
verbs -= /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested)
|
||||
verbs -= /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested)
|
||||
verbs -= /client/proc/toggle_hear_deadcast
|
||||
verbs -= /client/proc/toggle_hear_radio
|
||||
verbs -= /client/proc/tension_report
|
||||
verbs -= /client/proc/player_panel_new
|
||||
verbs -= /client/proc/toggle_gravity_on
|
||||
verbs -= /client/proc/toggle_gravity_off
|
||||
verbs -= /client/proc/toggle_random_events
|
||||
verbs -= /client/proc/deadmin_self
|
||||
verbs -= /client/proc/jumptocoord
|
||||
verbs -= /client/proc/everyone_random
|
||||
verbs -= /client/proc/cmd_admin_change_custom_event
|
||||
verbs -= /client/proc/admin_invis
|
||||
verbs -= /client/proc/callprocgen
|
||||
@@ -440,6 +429,29 @@
|
||||
verbs -= /client/proc/make_tajaran
|
||||
verbs -= /client/proc/CarbonCopy
|
||||
verbs -= /client/proc/getruntimelog //used by coders to retrieve runtime logs
|
||||
verbs -= /proc/possess
|
||||
verbs -= /proc/release
|
||||
//verbs -= /client/proc/give_spell --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_ninjafy --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_modify_object_variables --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_explosion --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_emp --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_godmode --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_gib --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_mass_modify_object_variables --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_attack_log --Merged with view variables
|
||||
//verbs -= /proc/togglebuildmode --Merged with view variables
|
||||
//verbs -= /client/proc/cmd_admin_prison --Merged with player panel
|
||||
//verbs -= /obj/admins/proc/unprison --Merged with player panel
|
||||
//verbs -= /client/proc/cmd_switch_radio --removed because tcommsat is staying
|
||||
verbs -= /client/proc/togglebuildmodeself
|
||||
verbs -= /client/proc/admin_deny_shuttle
|
||||
verbs -= /client/proc/cmd_admin_christmas
|
||||
verbs -= /client/proc/editappear
|
||||
verbs -= /client/proc/jump_to_dead_group
|
||||
verbs -= /client/proc/playernotes
|
||||
verbs -= /obj/admins/proc/show_skills
|
||||
verbs -= /client/proc/enable_mapping_debug
|
||||
return
|
||||
|
||||
|
||||
@@ -461,6 +473,7 @@
|
||||
mob.admin_observing = 1
|
||||
mob.adminghostize(1)
|
||||
src << "\blue You are now observing"
|
||||
// feedback_add_details("admin_verb","O") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/admin_play()
|
||||
set category = "Admin"
|
||||
@@ -478,6 +491,7 @@
|
||||
if(istype(mob, /mob/dead/observer))
|
||||
mob:reenter_corpse()
|
||||
src << "\blue You are now playing"
|
||||
// feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/get_admin_state()
|
||||
set name = "Get Admin State"
|
||||
@@ -490,20 +504,24 @@
|
||||
src << "[M.key] is observing - [M.client.holder.state]"
|
||||
else
|
||||
src << "[M.key] is undefined - [M.client.holder.state]"
|
||||
// feedback_add_details("admin_verb","GAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
///client/proc/player_panel()
|
||||
// set name = "Player Panel-Old"
|
||||
// set category = "Admin"
|
||||
// if(holder)
|
||||
// holder.player_panel_old()
|
||||
// return
|
||||
|
||||
/*
|
||||
/client/proc/player_panel()
|
||||
set name = "Player Panel-Old"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.player_panel_old()
|
||||
// feedback_add_details("admin_verb","PP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
*/
|
||||
/client/proc/player_panel_new()
|
||||
set name = "Player Panel"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.player_panel_new()
|
||||
// feedback_add_details("admin_verb","PPN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/jobbans()
|
||||
@@ -511,27 +529,23 @@
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.Jobbans()
|
||||
return
|
||||
|
||||
/client/proc/playernotes()
|
||||
set name = "Show Player Info"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.PlayerNotes()
|
||||
// feedback_add_details("admin_verb","VJB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/unban_panel()
|
||||
set name = "Unban Panel"
|
||||
set category = "Admin"
|
||||
if (holder)
|
||||
if(holder)
|
||||
holder.unbanpanel()
|
||||
// feedback_add_details("admin_verb","UBP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/game_panel()
|
||||
set name = "Game Panel"
|
||||
set category = "Admin"
|
||||
if (holder)
|
||||
if(holder)
|
||||
holder.Game()
|
||||
// feedback_add_details("admin_verb","GP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/secrets()
|
||||
@@ -539,6 +553,7 @@
|
||||
set category = "Admin"
|
||||
if (holder)
|
||||
holder.Secrets()
|
||||
// feedback_add_details("admin_verb","S") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/voting()
|
||||
@@ -546,11 +561,13 @@
|
||||
set category = "Admin"
|
||||
if (holder)
|
||||
holder.Voting()
|
||||
// feedback_add_details("admin_verb","VO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/colorooc()
|
||||
set category = "Fun"
|
||||
set name = "OOC Text Color"
|
||||
ooccolor = input(src, "Please select your OOC colour.", "OOC colour") as color
|
||||
// feedback_add_details("admin_verb","OC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/stealth()
|
||||
@@ -573,6 +590,14 @@
|
||||
fakekey = null
|
||||
log_admin("[key_name(usr)] has turned stealth mode [stealth ? "ON" : "OFF"]")
|
||||
message_admins("[key_name_admin(usr)] has turned stealth mode [stealth ? "ON" : "OFF"]", 1)
|
||||
// feedback_add_details("admin_verb","SM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/playernotes()
|
||||
set name = "Show Player Info"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
holder.PlayerNotes()
|
||||
return
|
||||
|
||||
#define AUTOBANTIME 10
|
||||
/client/proc/warn(var/mob/M in world)
|
||||
@@ -600,6 +625,7 @@
|
||||
feedback_inc("ban_warn",1)
|
||||
|
||||
del(M.client)
|
||||
// feedback_add_details("admin_verb","WARN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE
|
||||
@@ -626,6 +652,7 @@
|
||||
var/flash_range = input("Flash range (in tiles):") as num
|
||||
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range)
|
||||
message_admins("\blue [ckey] creating an admin explosion at [epicenter.loc].")
|
||||
// feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/give_spell(mob/T as mob in world) // -- Urist
|
||||
set category = "Fun"
|
||||
@@ -634,6 +661,7 @@
|
||||
var/obj/effect/proc_holder/spell/S = input("Choose the spell to give to that guy", "ABRAKADABRA") as null|anything in spells
|
||||
if(!S) return
|
||||
T.spell_list += new S
|
||||
// feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/make_sound(var/obj/O in world) // -- TLE
|
||||
set category = "Special Verbs"
|
||||
@@ -645,12 +673,16 @@
|
||||
return
|
||||
for (var/mob/V in hearers(O))
|
||||
V.show_message(message, 2)
|
||||
// feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/togglebuildmodeself()
|
||||
set name = "Toggle Build Mode Self"
|
||||
set category = "Special Verbs"
|
||||
if(src.mob)
|
||||
togglebuildmode(src.mob)
|
||||
// feedback_add_details("admin_verb","TBMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/toggleadminhelpsound()
|
||||
set name = "Toggle Adminhelp Sound"
|
||||
@@ -660,6 +692,7 @@
|
||||
usr << "You will now hear a sound when adminhelps arrive"
|
||||
else
|
||||
usr << "You will no longer hear a sound when adminhelps arrive"
|
||||
// feedback_add_details("admin_verb","AHS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/object_talk(var/msg as text) // -- TLE
|
||||
set category = "Special Verbs"
|
||||
@@ -670,6 +703,7 @@
|
||||
return
|
||||
for (var/mob/V in hearers(mob.control_object))
|
||||
V.show_message("<b>[mob.control_object.name]</b> says: \"" + msg + "\"", 2)
|
||||
// feedback_add_details("admin_verb","OT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/kill_air() // -- TLE
|
||||
set category = "Debug"
|
||||
@@ -681,6 +715,7 @@
|
||||
else
|
||||
kill_air = 1
|
||||
usr << "<b>Disabled air processing.</b>"
|
||||
// feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/show_verbs()
|
||||
set name = "Toggle admin verb visibility"
|
||||
@@ -691,14 +726,16 @@
|
||||
clear_admin_verbs()
|
||||
update_admins(holder.rank)
|
||||
deadchat = temp
|
||||
// feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new 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 category = "Admin"
|
||||
set category = "Debug"
|
||||
|
||||
if(!holder) return
|
||||
using_new_click_proc = !using_new_click_proc
|
||||
world << "Testing of new click proc [using_new_click_proc ? "enabled" : "disabled"]"
|
||||
// feedback_add_details("admin_verb","TNCP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_hear_deadcast()
|
||||
set name = "Toggle Hear Deadcast"
|
||||
@@ -706,7 +743,8 @@
|
||||
|
||||
if(!holder) return
|
||||
STFU_ghosts = !STFU_ghosts
|
||||
usr << "You will now [STFU_ghosts ? "hear" : "not hear"] ghosts"
|
||||
usr << "You will now [STFU_ghosts ? "not hear" : "hear"] ghosts"
|
||||
// feedback_add_details("admin_verb","THDC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/toggle_hear_radio()
|
||||
set name = "Toggle Hear Radio"
|
||||
@@ -714,7 +752,24 @@
|
||||
|
||||
if(!holder) return
|
||||
STFU_radio = !STFU_radio
|
||||
usr << "You will now [STFU_radio ? "hear" : "not hear"] radio chatter from nearby radios or speakers"
|
||||
usr << "You will now [STFU_radio ? "not hear" : "hear"] radio chatter from nearby radios or speakers"
|
||||
// feedback_add_details("admin_verb","THR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/deadmin_self()
|
||||
set name = "De-admin self"
|
||||
set category = "Admin"
|
||||
|
||||
if(src.holder)
|
||||
if(alert("Confirm self-deadmin for the round? You can't re-admin yourself without someont promoting you.",,"Yes","No") == "Yes")
|
||||
del(holder)
|
||||
log_admin("[src] deadmined themself.")
|
||||
message_admins("[src] deadmined themself.", 1)
|
||||
src.clear_admin_verbs()
|
||||
src.update_admins(null)
|
||||
admins.Remove(src.ckey)
|
||||
usr << "You are now a normal player."
|
||||
// feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
|
||||
set name = "Toggle most admin verb visibility"
|
||||
@@ -728,7 +783,7 @@
|
||||
verbs -= /client/proc/hide_most_verbs
|
||||
verbs += /client/proc/show_verbs
|
||||
|
||||
if(holder.level >= 6)//Game Master********************************************************************
|
||||
if(holder.level >= 5)//Game Admin********************************************************************
|
||||
verbs += /client/proc/colorooc
|
||||
|
||||
if(holder.level >= 4)//Badmin********************************************************************
|
||||
@@ -752,6 +807,7 @@
|
||||
verbs += /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /client/proc/cmd_admin_say//asay
|
||||
verbs += /client/proc/toggleadminhelpsound
|
||||
// feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
|
||||
@@ -770,6 +826,7 @@
|
||||
verbs += /client/proc/deadchat //toggles deadchat
|
||||
verbs += /obj/admins/proc/toggleooc //toggle ooc
|
||||
verbs += /client/proc/cmd_admin_say//asay
|
||||
// feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
return
|
||||
|
||||
/client/proc/admin_invis()
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/proc/possess(obj/O as obj in world)
|
||||
set name = "Possess Obj"
|
||||
set category = "Object"
|
||||
|
||||
if(istype(O,/obj/machinery/singularity))
|
||||
if(config.forbid_singulo_possession)
|
||||
usr << "It is forbidden to possess singularities."
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(O)
|
||||
|
||||
if(T)
|
||||
log_admin("[key_name(usr)] has possessed [O] ([O.type]) at ([T.x], [T.y], [T.z])")
|
||||
message_admins("[key_name(usr)] has possessed [O] ([O.type]) at ([T.x], [T.y], [T.z])", 1)
|
||||
else
|
||||
log_admin("[key_name(usr)] has possessed [O] ([O.type]) at an unknown location")
|
||||
message_admins("[key_name(usr)] has possessed [O] ([O.type]) at an unknown location", 1)
|
||||
|
||||
if(!usr.control_object) //If you're not already possessing something...
|
||||
usr.name_archive = usr.real_name
|
||||
|
||||
usr.loc = O
|
||||
usr.real_name = O.name
|
||||
usr.name = O.name
|
||||
usr.client.eye = O
|
||||
usr.control_object = O
|
||||
feedback_add_details("admin_verb","PO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/proc/release(obj/O as obj in world)
|
||||
set name = "Release Obj"
|
||||
set category = "Object"
|
||||
//usr.loc = get_turf(usr)
|
||||
|
||||
if(usr.control_object && usr.name_archive) //if you have a name archived and if you are actually relassing an object
|
||||
usr.real_name = usr.name_archive
|
||||
usr.name = usr.real_name
|
||||
usr.update_clothing() //So the name is updated properly
|
||||
|
||||
usr.loc = O.loc // Appear where the object you were controlling is -- TLE
|
||||
usr.client.eye = usr
|
||||
usr.control_object = null
|
||||
feedback_add_details("admin_verb","RO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/proc/givetestverbs(mob/M as mob in world)
|
||||
set desc = "Give this guy possess/release verbs"
|
||||
set category = "Debug"
|
||||
set name = "Give Possessing Verbs"
|
||||
M.verbs += /proc/possess
|
||||
M.verbs += /proc/release
|
||||
feedback_add_details("admin_verb","GPV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -122,7 +122,7 @@
|
||||
world << "Aborting world restart!"
|
||||
return
|
||||
|
||||
feedback_set_details("end_error","no live players")
|
||||
//feedback_set_details("end_error","no live players")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
@@ -214,6 +214,8 @@
|
||||
observer.real_name = observer.name
|
||||
observer.original_name = observer.name //Original name is only used in ghost chat! It is not to be edited by anything!
|
||||
|
||||
preferences.copy_to_observer(observer)
|
||||
|
||||
del(src)
|
||||
return 1
|
||||
|
||||
|
||||
@@ -300,15 +300,21 @@ datum/preferences
|
||||
dat += "[copytext(flavor_text, 1, 37)]..."
|
||||
|
||||
dat += "<hr>"
|
||||
if(!jobban_isbanned(user, "Syndicate"))
|
||||
if(jobban_isbanned(user, "Syndicate"))
|
||||
dat += "<b>You are banned from antagonist roles.</b>"
|
||||
src.be_special = 0
|
||||
else
|
||||
var/n = 0
|
||||
for (var/i in special_roles)
|
||||
if(special_roles[i]) //if mode is available on the server
|
||||
dat += "<b>Be [i]:</b> <a href=\"byond://?src=\ref[user];preferences=1;be_special=[n]\"><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
|
||||
if(jobban_isbanned(user, i))
|
||||
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
|
||||
else if(i == "pai candidate")
|
||||
if(jobban_isbanned(user, "pAI"))
|
||||
dat += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
|
||||
else
|
||||
dat += "<b>Be [i]:</b> <a href=\"byond://?src=\ref[user];preferences=1;be_special=[n]\"><b>[src.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
|
||||
n++
|
||||
else
|
||||
dat += "<b>You are banned from being Syndicate.</b>"
|
||||
src.be_special = 0
|
||||
dat += "<hr>"
|
||||
|
||||
// slot options
|
||||
@@ -599,12 +605,23 @@ datum/preferences
|
||||
switch(link_tags["real_name"])
|
||||
if("input")
|
||||
new_name = input(user, "Please select a name:", "Character Generation") as text
|
||||
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "[", "]", "{", "}", "|", "\\")
|
||||
var/list/bad_characters = list("_", "'", "\"", "<", ">", ";", "\[", "\]", "{", "}", "|", "\\","0","1","2","3","4","5","6","7","8","9")
|
||||
for(var/c in bad_characters)
|
||||
new_name = dd_replacetext(new_name, c, "")
|
||||
if(!new_name || (new_name == "Unknown") || (new_name == "floor") || (new_name == "wall") || (new_name == "r-wall"))
|
||||
alert("Don't do this")
|
||||
alert("Invalid name. Don't do that!")
|
||||
return
|
||||
if(length(new_name) >= 26)
|
||||
alert("That name is too long.")
|
||||
return
|
||||
|
||||
//Carn: To fix BYOND text-parsing errors caused by people using dumb capitalisation in their names.
|
||||
var/tempname
|
||||
for(var/N in dd_text2list(new_name, " "))
|
||||
if(N && tempname) //if both aren't null strings
|
||||
tempname += " "
|
||||
tempname += capitalize(lowertext(N))
|
||||
new_name = tempname
|
||||
|
||||
if("random")
|
||||
randomize_name()
|
||||
@@ -617,9 +634,9 @@ datum/preferences
|
||||
if(link_tags["age"])
|
||||
switch(link_tags["age"])
|
||||
if("input")
|
||||
var/new_age = input(user, "Please select type in age: 20-45", "Character Generation") as num
|
||||
var/new_age = input(user, "Please select type in age: 15-45", "Character Generation") as num
|
||||
if(new_age)
|
||||
age = max(min(round(text2num(new_age)), 45), 20)
|
||||
age = max(min(round(text2num(new_age)), 45), 15)
|
||||
if("random")
|
||||
age = rand (20, 45)
|
||||
|
||||
@@ -761,7 +778,8 @@ datum/preferences
|
||||
UI = UI_OLD
|
||||
|
||||
if(link_tags["midis"])
|
||||
midis = (midis+1)%2
|
||||
midis = !midis
|
||||
|
||||
if(link_tags["ghost_ears"])
|
||||
ghost_ears = !ghost_ears
|
||||
|
||||
@@ -947,8 +965,6 @@ datum/preferences
|
||||
backbag = 1 //Same as above
|
||||
character.backbag = backbag
|
||||
|
||||
character.underwear = underwear == 1 ? pick(1,2,3,4,5) : 0
|
||||
|
||||
character.used_skillpoints = used_skillpoints
|
||||
character.skill_specialization = skill_specialization
|
||||
character.skills = skills
|
||||
@@ -959,11 +975,22 @@ datum/preferences
|
||||
if(!safety)//To prevent run-time errors due to null datum when using randomize_appearance_for()
|
||||
spawn(10)
|
||||
if(character&&character.client)
|
||||
character.client.midis = midis
|
||||
character.client.ooccolor = ooccolor
|
||||
character.client.be_alien = be_special&BE_ALIEN
|
||||
character.client.be_pai = be_special&BE_PAI
|
||||
character.client.be_syndicate = be_special
|
||||
setup_client(character.client)
|
||||
|
||||
proc/copy_to_observer(mob/dead/observer/character)
|
||||
spawn(10)
|
||||
if(character && character.client)
|
||||
setup_client(character.client)
|
||||
|
||||
proc/setup_client(var/client/C)
|
||||
if(C)
|
||||
C.midis = src.midis
|
||||
C.ooccolor = src.ooccolor
|
||||
C.be_alien = be_special & BE_ALIEN
|
||||
C.be_pai = be_special & BE_PAI
|
||||
C.be_syndicate = be_special
|
||||
if(isnull(src.ghost_ears)) src.ghost_ears = 1 //There were problems where the default was null before someone saved their profile.
|
||||
C.ghost_ears = src.ghost_ears
|
||||
|
||||
proc/copydisabilities(mob/living/carbon/human/character)
|
||||
if(disabilities & 1)
|
||||
|
||||
@@ -11,6 +11,11 @@
|
||||
name = "close"
|
||||
master = null
|
||||
|
||||
/obj/screen/close/DblClick()
|
||||
if (src.master)
|
||||
src.master:close(usr)
|
||||
return
|
||||
|
||||
/obj/screen/grab
|
||||
name = "grab"
|
||||
master = null
|
||||
@@ -19,6 +24,10 @@
|
||||
name = "storage"
|
||||
master = null
|
||||
|
||||
/obj/screen/storage/attackby(W, mob/user as mob)
|
||||
src.master.attackby(W, user)
|
||||
return
|
||||
|
||||
/obj/screen/zone_sel
|
||||
name = "Damage Zone"
|
||||
icon = 'zone_sel.dmi'
|
||||
|
||||
@@ -271,6 +271,8 @@
|
||||
if ("grab")
|
||||
if (M == src)
|
||||
return
|
||||
if (nopush)
|
||||
return
|
||||
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M )
|
||||
G.assailant = M
|
||||
if (M.hand)
|
||||
|
||||
@@ -172,7 +172,6 @@
|
||||
|
||||
/obj/machinery/light/attackby(obj/item/W, mob/user)
|
||||
|
||||
|
||||
// attempt to insert light
|
||||
if(istype(W, /obj/item/weapon/light))
|
||||
if(status != LIGHT_EMPTY)
|
||||
@@ -457,7 +456,7 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
force = 2
|
||||
throwforce = 5
|
||||
w_class = 2
|
||||
w_class = 1
|
||||
var/status = 0 // LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
|
||||
var/base_state
|
||||
var/switchcount = 0 // number of times switched
|
||||
@@ -476,6 +475,7 @@
|
||||
brightness = 8
|
||||
|
||||
large
|
||||
w_class = 2
|
||||
name = "large light tube"
|
||||
brightness = 15
|
||||
|
||||
@@ -524,6 +524,7 @@
|
||||
// also repairing them with wire and screwdriver
|
||||
// and glass if it's broken
|
||||
/obj/item/weapon/light/attackby(var/obj/item/I, var/mob/user)
|
||||
|
||||
if(istype(I, /obj/item/weapon/reagent_containers/syringe))
|
||||
var/obj/item/weapon/reagent_containers/syringe/S = I
|
||||
|
||||
@@ -600,13 +601,8 @@
|
||||
|
||||
/obj/item/weapon/storage/lightbox/bulbs/New()
|
||||
..()
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
for(var/i = 0; i < 21; i++)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
|
||||
/obj/item/weapon/storage/lightbox/tubes
|
||||
name = "replacement tubes"
|
||||
@@ -614,13 +610,19 @@
|
||||
|
||||
/obj/item/weapon/storage/lightbox/tubes/New()
|
||||
..()
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
for(var/i = 0; i < 21; i++)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
/obj/item/weapon/storage/lightbox/mixed
|
||||
name = "replacement lights"
|
||||
icon_state = "lightmixed"
|
||||
|
||||
/obj/item/weapon/storage/lightbox/mixed/New()
|
||||
..()
|
||||
for(var/i = 0; i < 14; i++)
|
||||
new /obj/item/weapon/light/tube(src)
|
||||
for(var/i = 0; i < 7; i++)
|
||||
new /obj/item/weapon/light/bulb(src)
|
||||
|
||||
/obj/structure/light_frame
|
||||
name = "Light Fixture Frame"
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
|
||||
// attack with item, place item on conveyor
|
||||
/obj/machinery/conveyor/attackby(var/obj/item/I, mob/user)
|
||||
if(isrobot(user)) return //Carn: fix for borgs dropping their modules on conveyor belts
|
||||
user.drop_item()
|
||||
if(I && I.loc) I.loc = src.loc
|
||||
return
|
||||
@@ -263,6 +264,26 @@
|
||||
S.position = position
|
||||
S.update()
|
||||
|
||||
/obj/machinery/conveyor_switch/oneway
|
||||
var/convdir = 1 //Set to 1 or -1 depending on which way you want the convayor to go. (In other words keep at 1 and set the proper dir on the belts.)
|
||||
desc = "A conveyor control switch. It appears to only go in one direction."
|
||||
|
||||
// attack with hand, switch position
|
||||
/obj/machinery/conveyor_switch/oneway/attack_hand(mob/user)
|
||||
if(position == 0)
|
||||
position = convdir
|
||||
else
|
||||
position = 0
|
||||
|
||||
operated = 1
|
||||
update()
|
||||
|
||||
// find any switches with same id as this one, and set their positions to match us
|
||||
for(var/obj/machinery/conveyor_switch/S in world)
|
||||
if(S.id == src.id)
|
||||
S.position = position
|
||||
S.update()
|
||||
|
||||
// converyor diverter
|
||||
// extendable arm that can be switched so items on the conveyer are diverted sideways
|
||||
// situate in same turf as conveyor
|
||||
|
||||
@@ -45,6 +45,9 @@
|
||||
if(stat & BROKEN || !I || !user)
|
||||
return
|
||||
|
||||
if(isrobot(user) && !istype(I, /obj/item/weapon/trashbag))
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/melee/energy/blade))
|
||||
user << "You can't place that item inside the disposal unit."
|
||||
return
|
||||
@@ -58,10 +61,6 @@
|
||||
update()
|
||||
return
|
||||
|
||||
//robots shouldn't be able to grab/carry stuff anyway
|
||||
if(isrobot(user))
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/ashtray) && (I.health > 0))
|
||||
user << "\blue You empty the ashtray into [src]."
|
||||
for(var/obj/item/O in I.contents)
|
||||
@@ -103,6 +102,11 @@
|
||||
GM.client.eye = src
|
||||
GM.loc = src
|
||||
for (var/mob/C in viewers(src))
|
||||
|
||||
log_attack("<font color='red'>[usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.</font>")
|
||||
log_admin("ATTACK: [usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.")
|
||||
message_admins("ATTACK: [usr] ([usr.ckey]) placed [GM] ([GM.ckey]) in a disposals unit.")
|
||||
|
||||
C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3)
|
||||
del(G)
|
||||
else
|
||||
@@ -144,9 +148,19 @@
|
||||
if(!do_after(usr, 20))
|
||||
return
|
||||
if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) // if drop self, then climbed in // must be awake, not stunned or whatever
|
||||
|
||||
log_attack("<font color='red'>[user] ([user.ckey]) climbed into a disposals unit.</font>")
|
||||
log_admin("ATTACK: [user] ([user.ckey]) climbed into in a disposals unit.")
|
||||
message_admins("ATTACK: [user] ([user.ckey]) climbed into in a disposals unit.")
|
||||
|
||||
msg = "[user.name] climbs into the [src]."
|
||||
user << "You climb into the [src]."
|
||||
else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis)
|
||||
|
||||
log_attack("<font color='red'>[user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.</font>")
|
||||
log_admin("ATTACK: [user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.")
|
||||
message_admins("ATTACK: [user] ([user.ckey]) placed [target] ([target.ckey]) in a disposals unit.")
|
||||
|
||||
msg = "[user.name] stuffs [target.name] into the [src]!"
|
||||
user << "You stuff [target.name] into the [src]!"
|
||||
else
|
||||
@@ -239,10 +253,14 @@
|
||||
|
||||
// human interact with machine
|
||||
attack_hand(mob/user as mob)
|
||||
if(user && user.loc == src)
|
||||
usr << "\red You cannot reach the controls from inside."
|
||||
return
|
||||
interact(user, 0)
|
||||
|
||||
// user interaction
|
||||
proc/interact(mob/user, var/ai=0)
|
||||
|
||||
src.add_fingerprint(user)
|
||||
if(stat & BROKEN)
|
||||
user.machine = null
|
||||
@@ -277,6 +295,9 @@
|
||||
// handle machine interaction
|
||||
|
||||
Topic(href, href_list)
|
||||
if(usr.loc == src)
|
||||
usr << "\red You cannot reach the controls from inside."
|
||||
return
|
||||
..()
|
||||
src.add_fingerprint(usr)
|
||||
if(stat & BROKEN)
|
||||
|
||||
@@ -132,19 +132,19 @@ var/obj/machinery/blackbox_recorder/blackbox
|
||||
use_power = 1
|
||||
idle_power_usage = 10
|
||||
active_power_usage = 100
|
||||
var/messages = list()
|
||||
var/messages_admin = list()
|
||||
var/list/messages = list() //Stores messages of non-standard frequencies
|
||||
var/list/messages_admin = list()
|
||||
|
||||
var/msg_common = list()
|
||||
var/msg_science = list()
|
||||
var/msg_command = list()
|
||||
var/msg_medical = list()
|
||||
var/msg_engineering = list()
|
||||
var/msg_security = list()
|
||||
var/msg_deathsquad = list()
|
||||
var/msg_syndicate = list()
|
||||
var/msg_mining = list()
|
||||
var/msg_cargo = list()
|
||||
var/list/msg_common = list()
|
||||
var/list/msg_science = list()
|
||||
var/list/msg_command = list()
|
||||
var/list/msg_medical = list()
|
||||
var/list/msg_engineering = list()
|
||||
var/list/msg_security = list()
|
||||
var/list/msg_deathsquad = list()
|
||||
var/list/msg_syndicate = list()
|
||||
var/list/msg_mining = list()
|
||||
var/list/msg_cargo = list()
|
||||
|
||||
var/list/datum/feedback_variable/feedback = new()
|
||||
|
||||
@@ -155,6 +155,28 @@ var/obj/machinery/blackbox_recorder/blackbox
|
||||
del(src)
|
||||
blackbox = src
|
||||
|
||||
Del()
|
||||
var/turf/T = locate(1,1,2)
|
||||
if(T)
|
||||
blackbox = null
|
||||
var/obj/machinery/blackbox_recorder/BR = new/obj/machinery/blackbox_recorder(T)
|
||||
BR.msg_common = msg_common
|
||||
BR.msg_science = msg_science
|
||||
BR.msg_command = msg_command
|
||||
BR.msg_medical = msg_medical
|
||||
BR.msg_engineering = msg_engineering
|
||||
BR.msg_security = msg_security
|
||||
BR.msg_deathsquad = msg_deathsquad
|
||||
BR.msg_syndicate = msg_syndicate
|
||||
BR.msg_mining = msg_mining
|
||||
BR.msg_cargo = msg_cargo
|
||||
BR.feedback = feedback
|
||||
BR.messages = messages
|
||||
BR.messages_admin = messages_admin
|
||||
if(blackbox != BR)
|
||||
blackbox = BR
|
||||
..()
|
||||
|
||||
proc/find_feedback_datum(var/variable)
|
||||
for(var/datum/feedback_variable/FV in feedback)
|
||||
if(FV.get_variable() == variable)
|
||||
@@ -166,10 +188,43 @@ var/obj/machinery/blackbox_recorder/blackbox
|
||||
proc/get_round_feedback()
|
||||
return feedback
|
||||
|
||||
proc/round_end_data_gathering()
|
||||
|
||||
var/pda_msg_amt = 0
|
||||
var/rc_msg_amt = 0
|
||||
|
||||
for(var/obj/machinery/message_server/MS in world)
|
||||
if(MS.pda_msgs.len > pda_msg_amt)
|
||||
pda_msg_amt = MS.pda_msgs.len
|
||||
if(MS.rc_msgs.len > rc_msg_amt)
|
||||
rc_msg_amt = MS.rc_msgs.len
|
||||
/*
|
||||
feedback_set_details("radio_usage","")
|
||||
|
||||
feedback_add_details("radio_usage","COM-[msg_common.len]")
|
||||
feedback_add_details("radio_usage","SCI-[msg_science.len]")
|
||||
feedback_add_details("radio_usage","HEA-[msg_command.len]")
|
||||
feedback_add_details("radio_usage","MED-[msg_medical.len]")
|
||||
feedback_add_details("radio_usage","ENG-[msg_engineering.len]")
|
||||
feedback_add_details("radio_usage","SEC-[msg_security.len]")
|
||||
feedback_add_details("radio_usage","DTH-[msg_deathsquad.len]")
|
||||
feedback_add_details("radio_usage","SYN-[msg_syndicate.len]")
|
||||
feedback_add_details("radio_usage","MIN-[msg_mining.len]")
|
||||
feedback_add_details("radio_usage","CAR-[msg_cargo.len]")
|
||||
feedback_add_details("radio_usage","OTH-[messages.len]")
|
||||
feedback_add_details("radio_usage","PDA-[pda_msg_amt]")
|
||||
feedback_add_details("radio_usage","RC-[rc_msg_amt]")
|
||||
|
||||
|
||||
feedback_set_details("round_end","[time2text(world.realtime)]") //This one MUST be the last one that gets set.
|
||||
*/
|
||||
|
||||
//This proc is only to be called at round end.
|
||||
proc/save_all_data_to_sql()
|
||||
if(!feedback) return
|
||||
|
||||
round_end_data_gathering() //round_end time logging and some other data processing
|
||||
|
||||
var/user = sqlfdbklogin
|
||||
var/pass = sqlfdbkpass
|
||||
var/db = sqlfdbkdb
|
||||
|
||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 21 KiB |
@@ -873,7 +873,7 @@
|
||||
"aqO" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "carpet"},/area/crew_quarters)
|
||||
"aqP" = (/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqQ" = (/obj/structure/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqR" = (/obj/structure/table/woodentable,/obj/item/toy/crayonbox,/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqR" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/crayonbox,/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqS" = (/obj/structure/table/woodentable,/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqT" = (/obj/structure/table/woodentable,/obj/item/weapon/rag,/turf/simulated/floor,/area/crew_quarters)
|
||||
"aqU" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only{dir = 8},/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"},/turf/simulated/floor,/area/crew_quarters/fitness)
|
||||
@@ -6388,7 +6388,7 @@
|
||||
"csR" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
|
||||
"csS" = (/obj{anchored = 1; icon = 'shuttle.dmi'; icon_state = "floor"; layer = 1; name = "floor"},/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2; tag = "icon-swall_f10"},/area/shuttle/escape/centcom)
|
||||
"csT" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/shuttle/escape/centcom)
|
||||
"csU" = (/obj/structure/rack,/obj/item/toy/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
|
||||
"csU" = (/obj/structure/rack,/obj/item/weapon/storage/crayonbox,/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
|
||||
"csV" = (/obj/machinery/vending/coffee,/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "cafeteria"; dir = 2},/area/centcom/holding)
|
||||
"csW" = (/obj/effect/overlay{anchored = 1; icon = 'beach.dmi'; icon_state = "crab"; name = "crab"},/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding)
|
||||
"csX" = (/turf/unsimulated/floor{icon = 'icons/misc/beach2.dmi'; icon_state = "sandwater"},/area/centcom/holding)
|
||||
|
||||