From 22cc36345f6f9c9fc8a7c7ba4f1e448aaa048956 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sun, 26 Mar 2017 01:30:32 -0700 Subject: [PATCH 1/8] Update chameleon.dm --- code/modules/clothing/chameleon.dm | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 54d158386c..4d013ce2c8 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -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,17 @@ 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]) + 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 +469,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 @@ -492,7 +497,7 @@ return FALSE for(var/V in gun_copy_vars) if(vars[V] && G.vars[V]) - chameleon_gun_vars[V] = G.vars[V] + chameleon_gun_vars[V] = G.vars[V]! vars[V] = G.vars[V] if(passthrough) if(istype(G, /obj/item/weapon/gun/ballistic)) From 2a8fcb3929073e1fdf4bc89c05b9b0eea5721d9e Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sun, 26 Mar 2017 01:31:57 -0700 Subject: [PATCH 2/8] Update chameleon.dm --- code/modules/clothing/chameleon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 4d013ce2c8..1bead5fded 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -497,7 +497,7 @@ return FALSE for(var/V in gun_copy_vars) if(vars[V] && G.vars[V]) - chameleon_gun_vars[V] = G.vars[V]! + chameleon_gun_vars[V] = G.vars[V] vars[V] = G.vars[V] if(passthrough) if(istype(G, /obj/item/weapon/gun/ballistic)) From 5688b6b3066bce9ef22ab125a95717491cdece36 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sun, 26 Mar 2017 03:41:21 -0700 Subject: [PATCH 3/8] Update chameleon.dm --- code/modules/clothing/chameleon.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 1bead5fded..3f9cd74916 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -459,7 +459,8 @@ if(v in blacklisted_vars) continue vars[v] = initial(vars[v]) - qdel(chambered.BB) + if(chambered.BB) + qdel(chambered.BB) chambered.newshot() /obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE) From c432ec08594aa523bcb9959bd7609019148ebc56 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Sun, 26 Mar 2017 13:14:16 -0700 Subject: [PATCH 4/8] Update chameleon.dm --- code/modules/clothing/chameleon.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index 3f9cd74916..b33f1c29d5 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -460,7 +460,7 @@ continue vars[v] = initial(vars[v]) if(chambered.BB) - qdel(chambered.BB) + qdel(chambered.BB) chambered.newshot() /obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE) From 6b91c9281d1692f18f263c10b09db577155fff1f Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 27 Mar 2017 17:07:10 -0500 Subject: [PATCH 5/8] shuttle auto call after 3 hours --- code/controllers/subsystem/shuttles.dm | 10 ++++++++++ code/controllers/subsystem/ticker.dm | 1 + 2 files changed, 11 insertions(+) diff --git a/code/controllers/subsystem/shuttles.dm b/code/controllers/subsystem/shuttles.dm index dd6140f6eb..924b77bdb1 100644 --- a/code/controllers/subsystem/shuttles.dm +++ b/code/controllers/subsystem/shuttles.dm @@ -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 diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 9ffebe0911..0e228b0f3c 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -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 From e1c78ab92c427d3bd42500c33445150dbac96a0f Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 27 Mar 2017 17:11:06 -0500 Subject: [PATCH 6/8] box station by default --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 767886c540..46d56db0e0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -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" From 0b45e97b3d30e52094c7a5554e8cc74ebbb66d08 Mon Sep 17 00:00:00 2001 From: TalkingCactus Date: Tue, 28 Mar 2017 07:29:59 -0400 Subject: [PATCH 7/8] Automatic MC Re-Starter 9001 (#322) * fixed runtime in air.dm fix was made in LINDA_turf_tile.dm though * fixes runtime in corpse.dm * fixes runtime in species.dm * automatically restarts the MC sometimes When the timer SS crashes, here's the fix hardcoded with love * supermatter area icon * better admin logs * better mentorhelp message for admins * fixes map * removes depreciated var * MC rebooter 9001 --- code/controllers/subsystem/timer.dm | 6 +++--- code/modules/client/preferences.dm | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/code/controllers/subsystem/timer.dm b/code/controllers/subsystem/timer.dm index 35ed031ba2..c3bcb0e9b0 100644 --- a/code/controllers/subsystem/timer.dm +++ b/code/controllers/subsystem/timer.dm @@ -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 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 74ee5f9e47..20a57f2d0e 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -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 From 31d0f4cb1fea75299051ad4f3bd650f243fa496a Mon Sep 17 00:00:00 2001 From: katnep Date: Wed, 29 Mar 2017 22:11:00 +0100 Subject: [PATCH 8/8] Mining Vendor Redo (#298) * Mining Vendor Redo basically Re adds all the stuff i added back at the start of 6th port, also re added stimpacks to the lsit becuase i don't see why they needed to be removed from it * whetstone removed whetstone removed * price balances just tweaked the prices of the new bundles to make them actually worth purchasing following a 5 for the price of 4 standard * The final change finishes the requested changes * removes excessive line spacing * removes trailing comma --- code/game/objects/items/weapons/storage/boxes.dm | 10 ++++++++++ code/modules/mining/machine_vending.dm | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index 8345f3346c..ecad2dd215 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -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" diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 3f5d284fcf..ea64e5b912 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -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