diff --git a/baystation12.dme b/baystation12.dme
index 90daa241aea..6b2c923ebf9 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -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"
diff --git a/code/ATMOSPHERICS/components/unary/unary_base.dm b/code/ATMOSPHERICS/components/unary/unary_base.dm
index 230296a9f48..b755071487e 100644
--- a/code/ATMOSPHERICS/components/unary/unary_base.dm
+++ b/code/ATMOSPHERICS/components/unary/unary_base.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
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index 03a79934b0c..3388cfd9667 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -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
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index a55e38140b1..6c427baab38 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -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
diff --git a/code/ATMOSPHERICS/pipes.dm b/code/ATMOSPHERICS/pipes.dm
index da136715a58..71d9490160a 100644
--- a/code/ATMOSPHERICS/pipes.dm
+++ b/code/ATMOSPHERICS/pipes.dm
@@ -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)
diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
index e40eff552a7..8645d0dc62b 100755
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm
@@ -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)
diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm
index 0d617c0f471..f7bae4ad200 100644
--- a/code/defines/obj/machinery.dm
+++ b/code/defines/obj/machinery.dm
@@ -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"
diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm
index 0f3dad8132f..cc1940219ee 100755
--- a/code/defines/obj/supplypacks.dm
+++ b/code/defines/obj/supplypacks.dm
@@ -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"
diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm
index 00ac66c93cc..68746bfc60d 100644
--- a/code/defines/obj/toy.dm
+++ b/code/defines/obj/toy.dm
@@ -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"
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index d04d7105ddb..eda6fa3a31c 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -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
diff --git a/code/defines/obj/window.dm b/code/defines/obj/window.dm
index 62174ece4f3..5b4bdf29698 100644
--- a/code/defines/obj/window.dm
+++ b/code/defines/obj/window.dm
@@ -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
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index 9cef526ae52..9a9b2d577a7 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -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 Rebooting due to destruction of station in [restart_timeout/10] seconds"
else
- feedback_set_details("end_proper","proper completion")
+ //feedback_set_details("end_proper","proper completion")
world << "\blue Restarting in [restart_timeout/10] seconds"
// send2irc(world.url,"Server Rebooting!")
- feedback_set_details("round_end","[time2text(world.realtime)]")
+
if(blackbox)
blackbox.save_all_data_to_sql()
diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm
index 7d37ad039e3..42ea617dba7 100644
--- a/code/game/gamemodes/malfunction/malfunction.dm
+++ b/code/game/gamemodes/malfunction/malfunction.dm
@@ -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 << "AI Victory"
world << "Everyone was killed by the self-destruct!"
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 << "Neutral Victory"
world << "The AI has been killed! 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 << "AI Victory"
world << "The AI has chosen not to explode you all!"
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 << "Neutral Victory"
world << "Everyone was killed by the nuclear blast!"
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 << "Human Victory"
world << "The AI has been killed! 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 << "Neutral Victory"
world << "The Corporation has lose [station_name()]! All survived personnel will be fired!"
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 << "Neutral Victory"
world << "Round was mysteriously interrupted!"
..()
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index 3e35b675abb..e13d4cd37a2 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -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 << "Resetting in 30 seconds!"
- 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)
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index dc513705e96..c37c7937b90 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -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")
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index 083c12c5378..f01c55134a8 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -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~
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index ea8c3f2ff36..9c9d6c675af 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -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 << " [department] announcement: [html_encode(message)]"
+ world << "[department] announcement: [html_encode(message)]"
announceAuth = 0
message = ""
screen = 0
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index fa3f10211c7..f696f28e9f5 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -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))
diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm
index 26139627de7..a5741d8e00f 100755
--- a/code/game/objects/devices/PDA/PDA.dm
+++ b/code/game/objects/devices/PDA/PDA.dm
@@ -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
diff --git a/code/game/objects/devices/PDA/cart.dm b/code/game/objects/devices/PDA/cart.dm
index 2461604742a..9f8c9529d27 100644
--- a/code/game/objects/devices/PDA/cart.dm
+++ b/code/game/objects/devices/PDA/cart.dm
@@ -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
diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm
index 54fef1dd26b..ddbff34c407 100644
--- a/code/game/objects/devices/flashlight.dm
+++ b/code/game/objects/devices/flashlight.dm
@@ -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)
\ No newline at end of file
diff --git a/code/game/objects/devices/scanners.dm b/code/game/objects/devices/scanners.dm
index 103d7c2a990..2c7815de4c8 100644
--- a/code/game/objects/devices/scanners.dm
+++ b/code/game/objects/devices/scanners.dm
@@ -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
diff --git a/code/game/objects/grille.dm b/code/game/objects/grille.dm
index 23a05cf7be3..b584f5ec996 100644
--- a/code/game/objects/grille.dm
+++ b/code/game/objects/grille.dm
@@ -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))
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 908418e501d..45c7100ece6 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -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)
diff --git a/code/game/objects/secstorage/secstorage.dm b/code/game/objects/secstorage/secstorage.dm
index 0193fcb3977..e2d6a2599f8 100644
--- a/code/game/objects/secstorage/secstorage.dm
+++ b/code/game/objects/secstorage/secstorage.dm
@@ -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
diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm
index a43a1d6e6eb..4a463a51e99 100644
--- a/code/game/objects/storage/storage.dm
+++ b/code/game/objects/storage/storage.dm
@@ -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 )
diff --git a/code/game/objects/toys.dm b/code/game/objects/toys.dm
index 499d0cb1540..1100fa13a1e 100644
--- a/code/game/objects/toys.dm
+++ b/code/game/objects/toys.dm
@@ -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."
diff --git a/code/game/objects/window.dm b/code/game/objects/window.dm
index e2d53d0c6ae..f1cd181fc4f 100644
--- a/code/game/objects/window.dm
+++ b/code/game/objects/window.dm
@@ -315,6 +315,8 @@
health = 40
if(opacity)
icon_state = "twindow"
+ else
+ icon_state = "window"
update_nearby_tiles(need_rebuild=1)
relativewindow()
diff --git a/code/game/verbs/sound.dm b/code/game/verbs/sound.dm
index 2e64eabf73b..0ba65de787d 100644
--- a/code/game/verbs/sound.dm
+++ b/code/game/verbs/sound.dm
@@ -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
-*/
+*/
\ No newline at end of file
diff --git a/code/game/vials.dm b/code/game/vials.dm
deleted file mode 100644
index 9e127e4baba..00000000000
--- a/code/game/vials.dm
+++ /dev/null
@@ -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, iWorld will reboot in 10 seconds"
- 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 World will reboot in 5 seconds"
- 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()
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 93483db048b..769dd0d59f3 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -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 << "\redYou have been un-jobbanned by [usr.client.ckey] from [job]."
- 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 << "\redYou have been jobbanned by [usr.client.ckey] from [job]."
M << "\red The reason is: [reason]"
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 << "\redYou have been banned by [usr.client.ckey].\nReason: [reason]."
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 Transit signature detected."
world << "\blue Incoming shuttle."
/*
@@ -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 You suddenly feel stupid."
@@ -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("Jobban")
dat += text("[foo]