diff --git a/code/ZAS/ZAS_Zones.dm b/code/ZAS/ZAS_Zones.dm index 17867abf266..a6d76a91f70 100644 --- a/code/ZAS/ZAS_Zones.dm +++ b/code/ZAS/ZAS_Zones.dm @@ -409,7 +409,7 @@ zone/proc/Rebuild() // var/list/turfs_to_consider = contents.Copy() - while(!sample.CanPass(null, sample, 1.5, 1)) + while(!sample || !sample.CanPass(null, sample, 1.5, 1)) if(sample) turfs_to_consider.Remove(sample) sample = locate() in turfs_to_consider diff --git a/code/controllers/_DynamicAreaLighting_TG.dm b/code/controllers/_DynamicAreaLighting_TG.dm index c8f52ef9365..baed6adaf4f 100644 --- a/code/controllers/_DynamicAreaLighting_TG.dm +++ b/code/controllers/_DynamicAreaLighting_TG.dm @@ -236,18 +236,24 @@ turf/proc/update_lumcount(amount) turf/proc/shift_to_subarea() lighting_changed = 0 - var/area/Area = loc + if(!istype(Area) || !Area.lighting_use_dynamic) return // change the turf's area depending on its brightness // restrict light to valid levels var/light = min(max(round(lighting_lumcount,1),0),lighting_controller.lighting_states) - var/new_tag = "[Area.type]sd_L[light]" + + var/find = findtextEx(Area.tag, "sd_L") + var/new_tag = copytext(Area.tag, 1, find) + new_tag += "sd_L[light]" if(Area.tag!=new_tag) //skip if already in this area + var/area/A = locate(new_tag) // find an appropriate area + if(!A) + A = new Area.type() // create area if it wasn't found // replicate vars for(var/V in Area.vars) @@ -362,6 +368,7 @@ atom return brightness + #undef LIGHTING_MAX_LUMINOSITY #undef LIGHTING_MAX_LUMINOSITY_MOB #undef LIGHTING_LAYER diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index ea7727b1bb9..a57e5af2665 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -618,8 +618,7 @@ "/obj/item/weapon/reagent_containers/glass/paint/remover", "/obj/item/weapon/wrapping_paper", "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/wrapping_paper", - "/obj/item/weapon/contraband/poster") + "/obj/item/weapon/wrapping_paper") cost = 5 containertype = "/obj/structure/closet/crate" containername = "Arts and Crafts crate" @@ -628,8 +627,9 @@ /datum/supply_packs/randomised/contraband num_contained = 5 contains = list("/obj/item/seeds/bloodtomatoseed", - "/obj/item/weapon/storage/pill_bottle/zoom", - "/obj/item/weapon/storage/pill_bottle/happy", + //"/obj/item/weapon/storage/pill_bottle/zoom", + //"/obj/item/weapon/storage/pill_bottle/happy",, + "/obj/item/weapon/contraband/poster", "/obj/item/weapon/reagent_containers/food/drinks/bottle/absinthe") name = "Contraband crate" cost = 30 @@ -659,12 +659,12 @@ "/obj/item/weapon/surgicaldrill", "/obj/item/clothing/mask/breath/medical", "/obj/item/weapon/tank/anesthetic", - "/obj/item/weapon/FixOVein", + //"/obj/item/weapon/FixOVein", "/obj/item/weapon/hemostat", "/obj/item/weapon/scalpel", - "/obj/item/weapon/surgical_tool/bonegel", + //"/obj/item/weapon/surgical_tool/bonegel", "/obj/item/weapon/retractor", - "/obj/item/weapon/surgical_tool/bonesetter", + //"/obj/item/weapon/surgical_tool/bonesetter", "/obj/item/weapon/circular_saw") cost = 25 containertype = "/obj/structure/closet/crate/secure" diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 23fd8ab112a..2549d62b2ff 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -313,7 +313,10 @@ var/global/datum/controller/gameticker/ticker if(!delay_end) sleep(restart_timeout) - world.Reboot() + if(!delay_end) + world.Reboot() + else + world << "\blue An admin has delayed the round end" else world << "\blue An admin has delayed the round end" diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 5ce14b361ec..ce9a25b0602 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -130,6 +130,12 @@ move an amendment to the drawing.

A.power_light = 0 A.power_environ = 0 move_turfs_to_area(turfs, A) + + A.always_unpowered = 0 + for(var/turf/T in A.contents) + T.lighting_changed = 1 + lighting_controller.changed_turfs += T + spawn(5) //ma = A.master ? "[A.master]" : "(null)" //world << "DEBUG: create_area(5):
A.name=[A.name]
A.tag=[A.tag]
A.master=[ma]" diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 791b6d2c172..315dd7363e5 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -213,12 +213,12 @@ /turf/proc/ReplaceWithFloor(explode=0) var/prior_icon = icon_old var/old_dir = dir - var/aoxy = 0//Holders to assimilate air from nearby turfs + /*var/aoxy = 0//Holders to assimilate air from nearby turfs var/anitro = 0 var/aco = 0 var/atox = 0 var/atemp = 0 - var/turf_count = 0 + var/turf_count = 0*/ var/old_lumcount = lighting_lumcount - initial(lighting_lumcount) var/turf/simulated/floor/W = new /turf/simulated/floor( locate(src.x, src.y, src.z) ) @@ -228,6 +228,7 @@ lighting_controller.changed_turfs += W //////Assimilate Air////// + /* for(var/direction in cardinal)//Only use cardinals to cut down on lag var/turf/T = get_step(src,direction) if(istype(T,/turf/space))//Counted as no air @@ -247,6 +248,7 @@ W.air.carbon_dioxide = (aco/max(turf_count,1)) W.air.toxins = (atox/max(turf_count,1)) W.air.temperature = (atemp/max(turf_count,1))//Trace gases can get bant + */ W.RemoveLattice() W.dir = old_dir @@ -259,12 +261,12 @@ /turf/proc/ReplaceWithPlating() var/prior_icon = icon_old var/old_dir = dir - var/aoxy = 0//Holders to assimilate air from nearby turfs + /*var/aoxy = 0//Holders to assimilate air from nearby turfs var/anitro = 0 var/aco = 0 var/atox = 0 var/atemp = 0 - var/turf_count = 0 + var/turf_count = 0*/ //////Assimilate Air////// var/old_lumcount = lighting_lumcount - initial(lighting_lumcount) @@ -274,6 +276,7 @@ W.lighting_changed = 1 lighting_controller.changed_turfs += W + /* for(var/direction in cardinal) var/turf/T = get_step(src,direction) if(istype(T,/turf/space)) @@ -293,6 +296,7 @@ W.air.carbon_dioxide = (aco/max(turf_count,1)) W.air.toxins = (atox/max(turf_count,1)) W.air.temperature = (atemp/max(turf_count,1)) + */ W.RemoveLattice() W.dir = old_dir @@ -321,6 +325,11 @@ /turf/proc/ReplaceWithSpace() var/old_dir = dir + var/zone/Z + if(src.zone) + Z = src.zone + Z.RemoveTurf(src) + var/old_lumcount = lighting_lumcount - initial(lighting_lumcount) var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) ) S.lighting_lumcount += old_lumcount @@ -328,6 +337,11 @@ S.lighting_changed = 1 lighting_controller.changed_turfs += S + if(Z) + //Z.AddTurf(S) + for(var/turf/simulated/T in orange(src,1)) + air_master.tiles_to_update.Add(T) + S.dir = old_dir S.levelupdate() return S diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 7a14927c057..2d956d6928a 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -799,10 +799,16 @@ var/global/floorIsLava = 0 /datum/admins/proc/delay() set category = "Server" - set desc="Delay the game start" + set desc="Delay the game start/end" set name="Delay" if (!ticker || ticker.current_state != GAME_STATE_PREGAME) - return alert("Too late... The game has already started!", null, null, null, null, null) + if (src.rank in list("Badmin", "Game Admin", "Game Master")) + ticker.delay_end = !ticker.delay_end + log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") + message_admins("\blue [key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + else + usr << "\red You are not a high enough rank." + return //alert("Round end delayed", null, null, null, null, null) going = !( going ) if (!( going )) world << "The game start has been delayed." diff --git a/code/modules/clothing/spacesuits/rig.dm b/code/modules/clothing/spacesuits/rig.dm index ff07fc01983..ba900e828f2 100644 --- a/code/modules/clothing/spacesuits/rig.dm +++ b/code/modules/clothing/spacesuits/rig.dm @@ -102,6 +102,7 @@ armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen) + //Security rig /obj/item/clothing/head/helmet/space/rig/security name = "security hardsuit helmet" @@ -118,6 +119,7 @@ armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10) allowed = list(/obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse_rifle, /obj/item/device/flashlight, /obj/item/weapon/tank/emergency_oxygen, /obj/item/weapon/gun/energy/taser, /obj/item/weapon/melee/baton) + //Wizard Rig /obj/item/clothing/head/helmet/space/rig/wizard name = "gem-encrusted hardsuit helmet" @@ -143,21 +145,10 @@ icon_state = "rig0-atmos" item_state = "atmos_helm" color = "atmos" - flags = STOPSPRESSUREDMAGE armor = list(melee = 40, bullet = 0, laser = 0, energy = 0, bomb = 25, bio = 100, rad = 0) - gas_transfer_coefficient = 0 - permeability_coefficient = 0 - heat_protection = HEAD - max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE /obj/item/clothing/suit/space/rig/atmos icon_state = "rig-atmos" name = "atmospherics pressure suit" item_state = "atmos_hardsuit" - flags = STOPSPRESSUREDMAGE armor = list(melee = 40, bullet = 0, laser = 0, energy = 0, bomb = 25, bio = 100, rad = 0) - gas_transfer_coefficient = 0 - permeability_coefficient = 0 - slowdown = 1.0 - heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECITON_TEMPERATURE \ No newline at end of file diff --git a/config/admins.txt b/config/admins.txt index 4467f45452c..e7a1cb9781d 100644 --- a/config/admins.txt +++ b/config/admins.txt @@ -3,7 +3,9 @@ arcalane - Game Admin asanadas - Game Admin bobbehluvspropane - Game Admin cacophony - Game Admin +caelaislinn - Game Master cajoes - Game Admin +chinsky - Game Master cib - Retired Admin compactninja - Retired Admin duntadaman - Game Admin diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index 3dae01cfc85..f165af0475d 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 1a3675622fc..32e655af310 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ