Merge remote-tracking branch 'refs/remotes/Citadel-Station-13/master'
This commit is contained in:
@@ -279,6 +279,8 @@ var/datum/controller/subsystem/shuttle/SSshuttle
|
||||
log_game("There is no means of calling the shuttle anymore. Shuttle automatically called.")
|
||||
message_admins("All the communications consoles were destroyed and all AIs are inactive. Shuttle called.")
|
||||
|
||||
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/registerHostileEnvironment(datum/bad)
|
||||
hostileEnvironments[bad] = TRUE
|
||||
checkHostileEnvironment()
|
||||
@@ -349,6 +351,14 @@ var/datum/controller/subsystem/shuttle/SSshuttle
|
||||
if(!(M in transit_requesters))
|
||||
transit_requesters += M
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/autoEnd()
|
||||
if(world.time > 108000 && EMERGENCY_IDLE_OR_RECALLED) //3 hours
|
||||
SSshuttle.emergency.request(null, 1.5)
|
||||
priority_announce("The shift has come to an end and the shuttle called.")
|
||||
log_game("Round time limit reached. Shuttle has been auto-called.")
|
||||
message_admins("Round time limit reached. Shuttle called.")
|
||||
|
||||
|
||||
/datum/controller/subsystem/shuttle/proc/generate_transit_dock(obj/docking_port/mobile/M)
|
||||
// First, determine the size of the needed zone
|
||||
// Because of shuttle rotation, the "width" of the shuttle is not
|
||||
|
||||
@@ -125,6 +125,7 @@ var/datum/controller/subsystem/ticker/ticker
|
||||
check_queue()
|
||||
check_maprotate()
|
||||
scripture_states = scripture_unlock_alert(scripture_states)
|
||||
SSshuttle.autoEnd()
|
||||
|
||||
if(!mode.explosion_in_progress && mode.check_finished() || force_ending)
|
||||
current_state = GAME_STATE_FINISHED
|
||||
|
||||
@@ -79,12 +79,12 @@ var/datum/controller/subsystem/timer/SStimer
|
||||
do
|
||||
var/datum/callback/callBack = timer.callBack
|
||||
if (!callBack)
|
||||
message_admins("The timer SS has crashed because a timer did not return a callback. MC restarted automatically. Timer hash: [timer.hash]")
|
||||
qdel(timer)
|
||||
bucket_resolution = null //force bucket recreation
|
||||
CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||QDELETED(timer)=[QDELETED(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
|
||||
//Temporary fix
|
||||
Recreate_MC()
|
||||
message_admins("The timer SS has crashed. A full report can be found in the runtime viewer. MC restarted automatically.")
|
||||
//I really don't know if I should keep this crash log in; I feel like it might cause problems.
|
||||
// CRASH("Invalid timer: timer.timeToRun=[timer.timeToRun]||QDELETED(timer)=[QDELETED(timer)]||world.time=[world.time]||head_offset=[head_offset]||practical_offset=[practical_offset]||timer.spent=[timer.spent]")
|
||||
|
||||
if (!timer.spent)
|
||||
spent += timer
|
||||
|
||||
@@ -184,6 +184,16 @@
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack(src)
|
||||
|
||||
/obj/item/weapon/storage/box/medipens/survival
|
||||
name = "Survival pen bundle"
|
||||
desc = "a box with several survival pens inside, welcome to immortality!!"
|
||||
illustration = "syringe"
|
||||
|
||||
/obj/item/weapon/storage/box/medipens/survival/New()
|
||||
..()
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/medipen/survival(src)
|
||||
|
||||
/obj/item/weapon/storage/box/beakers
|
||||
name = "box of beakers"
|
||||
illustration = "beaker"
|
||||
|
||||
@@ -133,7 +133,6 @@ var/list/preferences_datums = list()
|
||||
|
||||
//Mob preview
|
||||
var/icon/preview_icon = null
|
||||
var/icon/nude_preview_icon = null
|
||||
|
||||
//Jobs, uses bitflags
|
||||
var/job_civilian_high = 0
|
||||
|
||||
@@ -423,6 +423,7 @@
|
||||
var/list/ammo_copy_vars
|
||||
var/list/gun_copy_vars
|
||||
var/badmin_mode = FALSE
|
||||
var/static/list/blacklisted_vars = list("locs", "loc", "contents", "x", "y", "z")
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/chameleon/New()
|
||||
..()
|
||||
@@ -449,13 +450,18 @@
|
||||
chameleon_ammo_vars = list()
|
||||
chameleon_gun_vars = list()
|
||||
chameleon_projectile_vars = list()
|
||||
for(var/V in chambered.vars)
|
||||
chambered.vars[V] = initial(chambered.vars[V])
|
||||
qdel(chambered.BB)
|
||||
if(chambered)
|
||||
for(var/v in ammo_copy_vars)
|
||||
if(v in blacklisted_vars) //Just in case admins go crazy.
|
||||
continue
|
||||
chambered.vars[v] = initial(chambered.vars[v])
|
||||
for(var/v in gun_copy_vars)
|
||||
if(v in blacklisted_vars)
|
||||
continue
|
||||
vars[v] = initial(vars[v])
|
||||
if(chambered.BB)
|
||||
qdel(chambered.BB)
|
||||
chambered.newshot()
|
||||
for(var/V in vars)
|
||||
vars[V] = initial(vars[V])
|
||||
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
|
||||
if(!istype(AC))
|
||||
@@ -464,7 +470,7 @@
|
||||
for(var/V in ammo_copy_vars)
|
||||
if(AC.vars[V])
|
||||
chameleon_ammo_vars[V] = AC.vars[V]
|
||||
if(chambered.vars[V])
|
||||
if(chambered && chambered.vars[V])
|
||||
chambered.vars[V] = AC.vars[V]
|
||||
if(passthrough)
|
||||
var/obj/item/projectile/P = AC.BB
|
||||
|
||||
@@ -51,6 +51,10 @@
|
||||
new /datum/data/mining_equipment("Drone Ranged Upgrade",/obj/item/device/mine_bot_ugprade/cooldown, 600),
|
||||
new /datum/data/mining_equipment("Drone AI Upgrade", /obj/item/slimepotion/sentience/mining, 1000),
|
||||
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
|
||||
new /datum/data/mining_equipment("Survival Knife", /obj/item/weapon/kitchen/knife/combat/survival, 350),
|
||||
new /datum/data/mining_equipment("Survival Pen Economy Pack",/obj/item/weapon/storage/box/medipens/survival, 2000),
|
||||
new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 250),
|
||||
new /datum/data/mining_equipment("Stimpack Economy Pack",/obj/item/weapon/storage/box/medipens/utility, 1000)
|
||||
)
|
||||
|
||||
/datum/data/mining_equipment
|
||||
|
||||
+1
-1
@@ -14,8 +14,8 @@
|
||||
|
||||
// BEGIN_INCLUDE
|
||||
#include "_maps\basemap.dm"
|
||||
#include "_maps\citadelstation.dm"
|
||||
#include "_maps\loadallmaps.dm"
|
||||
#include "_maps\tgstation2.dm"
|
||||
#include "code\_compile_options.dm"
|
||||
#include "code\world.dm"
|
||||
#include "code\__DATASTRUCTURES\heap.dm"
|
||||
|
||||
Reference in New Issue
Block a user