diff --git a/SQL/database_changelog.txt b/SQL/database_changelog.txt index 11cb5b4e3aa..9754c511d0f 100644 --- a/SQL/database_changelog.txt +++ b/SQL/database_changelog.txt @@ -1,3 +1,13 @@ +1 September 2016, by Jordie0608 + +Modified table 'notes', adding column 'secret'. + +ALTER TABLE `feedback`.`notes` ADD COLUMN `secret` TINYINT(1) NOT NULL DEFAULT '1' AFTER `server` + +Remember to add a prefix to the table name if you use them + +---------------------------------------------------- + 19 August 2016, by Shadowlight213 Changed appearance bans to be jobbans. diff --git a/SQL/tgstation_schema.sql b/SQL/tgstation_schema.sql index 666ae0a53af..d476d5202b9 100644 --- a/SQL/tgstation_schema.sql +++ b/SQL/tgstation_schema.sql @@ -361,6 +361,7 @@ CREATE TABLE `notes` ( `last_editor` varchar(32), `edits` text, `server` varchar(50) NOT NULL, + `secret` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/SQL/tgstation_schema_prefixed.sql b/SQL/tgstation_schema_prefixed.sql index 44b8b5da50a..f605339ee3d 100644 --- a/SQL/tgstation_schema_prefixed.sql +++ b/SQL/tgstation_schema_prefixed.sql @@ -356,6 +356,7 @@ CREATE TABLE `SS13_notes` ( `last_editor` varchar(32), `edits` text, `server` varchar(50) NOT NULL, + `secret` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm index cb50d1885d0..762e3df9dbe 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm @@ -3,7 +3,7 @@ /turf/template_noop, /area/template_noop) "b" = ( -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -22,7 +22,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "f" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/ruin/unpowered) "g" = ( @@ -36,14 +36,14 @@ sound = 'sound/hallucinations/turn_around1.ogg'; triggerer_only = 1 }, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "h" = ( /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -51,7 +51,7 @@ "i" = ( /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -68,7 +68,7 @@ "k" = ( /obj/effect/decal/remains/human, /obj/item/weapon/melee/cultblade, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -77,14 +77,14 @@ /obj/effect/decal/remains/human, /obj/item/clothing/shoes/cult, /obj/item/clothing/suit/cultrobes, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, /area/ruin/unpowered) "m" = ( /obj/effect/decal/remains/human, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -101,7 +101,7 @@ sound = 'sound/hallucinations/turn_around1.ogg'; triggerer_only = 1 }, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -124,7 +124,7 @@ message = "You've made a grave mistake, haven't you?"; name = "ohfuck" }, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -141,7 +141,7 @@ sound = 'sound/hallucinations/turn_around1.ogg'; triggerer_only = 1 }, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -151,7 +151,7 @@ /obj/item/clothing/shoes/cult, /obj/item/clothing/suit/cultrobes, /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, @@ -168,7 +168,7 @@ sound = 'sound/hallucinations/turn_around1.ogg'; triggerer_only = 1 }, -/turf/open/floor/plasteel/cult{ +/turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; initial_gas_mix = "o2=14;n2=23;TEMP=300" }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm new file mode 100644 index 00000000000..4426c66cab8 --- /dev/null +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm @@ -0,0 +1,64 @@ +"a" = (/turf/closed/indestructible/riveted/hierophant,/area/ruin/unpowered/hierophant) +"b" = (/obj/effect/decal/cleanable/blood/tracks,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"c" = (/obj/effect/decal/cleanable/cobweb,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"d" = (/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"e" = (/obj/effect/gibspawner/human,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"f" = (/obj/effect/decal/cleanable/blood/gibs/limb,/obj/effect/decal/cleanable/blood,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"g" = (/obj/effect/light_emitter{set_cap = 3; set_luminosity = 7},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"h" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (EAST)"; icon_state = "tracks"; dir = 4},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"i" = (/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (EAST)"; icon_state = "tracks"; dir = 4},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"j" = (/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/remains/human,/obj/effect/light_emitter{set_cap = 3; set_luminosity = 5},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"k" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (SOUTHWEST)"; icon_state = "tracks"; dir = 10},/obj/effect/decal/cleanable/blood,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"l" = (/obj/effect/light_emitter{set_cap = 3; set_luminosity = 5},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"m" = (/obj/effect/gibspawner/generic,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"n" = (/obj/effect/decal/cleanable/blood,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"o" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (NORTHEAST)"; icon_state = "tracks"; dir = 5},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"p" = (/obj/effect/light_emitter,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"q" = (/obj/effect/decal/cleanable/blood/old,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"r" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (NORTHWEST)"; icon_state = "tracks"; dir = 9},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"s" = (/obj/effect/decal/cleanable/blood/gibs/limb,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"t" = (/obj/effect/decal/cleanable/ash,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"u" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (SOUTHWEST)"; icon_state = "tracks"; dir = 10},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"v" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (NORTHEAST)"; icon_state = "tracks"; dir = 5},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"w" = (/obj/effect/gibspawner/human,/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (SOUTHEAST)"; icon_state = "tracks"; dir = 6},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"x" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (WEST)"; icon_state = "tracks"; dir = 8},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"y" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (WEST)"; icon_state = "tracks"; dir = 8},/obj/effect/light_emitter{set_cap = 3; set_luminosity = 7},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"z" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (NORTHWEST)"; icon_state = "tracks"; dir = 9},/obj/effect/decal/cleanable/blood,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"A" = (/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (SOUTHEAST)"; icon_state = "tracks"; dir = 6},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"B" = (/mob/living/simple_animal/hostile/megafauna/hierophant,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"C" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (WEST)"; icon_state = "tracks"; dir = 8},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"D" = (/obj/effect/decal/remains/human,/obj/effect/decal/cleanable/blood,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"E" = (/obj/effect/decal/cleanable/blood/gibs/up,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"F" = (/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/remains/human,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"G" = (/obj/effect/decal/cleanable/blood/gibs/core,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"H" = (/obj/effect/decal/cleanable/blood,/obj/effect/decal/cleanable/blood/tracks{tag = "icon-tracks (SOUTHWEST)"; icon_state = "tracks"; dir = 10},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"I" = (/obj/effect/gibspawner/human,/obj/effect/light_emitter{set_cap = 3; set_luminosity = 5},/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) +"J" = (/obj/effect/decal/cleanable/blood/gibs/down,/turf/open/indestructible/hierophant,/area/ruin/unpowered/hierophant) + +(1,1,1) = {" +aaaaaaaaaaaabaaaaaaaaaaaa +acdddddddddddddddddddddda +adeddfddddddgdddhhhdiddda +addjddddddddkhhddddddldda +adddadddaaaaaaaaadddaddda +addddmhdhddddddddddmddnda +adddddgdddddddddddgddodda +addddddddkdopddfdddbdddda +adqdadddddadddaddddbaddda +adddadddddrdddddddddaddda +adstadddadudhhdvadhwabdda +adddadrxxmddddduddddaddda +xxyoazApddddBddddpddadyxC +addbabddddddddtdddddaddda +addbabddadDdEdddadddafdda +adddabddddddndddddqdaddda +adddabddddadddadddddadnda +adqedbddsdddpddddddddddda +addddAgddddeddddddgFdddGa +addddmdddddHdehddxdedddda +adddadddaaaaaaaaadddaddda +addlddddddddrdddddAddIdda +adddddJdddddgdddqddddddda +adnddddddFddbdddddddnddda +aaaaaaaaaaaabaaaaaaaaaaaa +"} diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm index 5b722426566..56d0ad808d4 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_ww_vault.dmm @@ -9,7 +9,7 @@ /turf/open/floor/engine/cult, /area/ruin/powered) "d" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult, /area/ruin/powered) "e" = ( @@ -57,7 +57,7 @@ /turf/open/floor/plasteel/circuit/gcircuit/off, /area/ruin/powered) "o" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/circuit/gcircuit/off, /area/ruin/powered) "p" = ( @@ -69,7 +69,7 @@ /turf/open/floor/plasteel/circuit/gcircuit/off, /area/ruin/powered) "r" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/circuit/off, /area/ruin/powered) "s" = ( @@ -96,7 +96,7 @@ /turf/open/floor/engine/cult, /area/ruin/powered) "x" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/lava/smooth }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm index 75239b9ae53..04afc8e1fb7 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm @@ -615,7 +615,15 @@ "O" = ( /obj/structure/alien/weeds/node, /turf/template_noop, -/area/template_noop) +/area/awaycontent/a5{ + always_unpowered = 1; + has_gravity = 1; + name = "The Hive"; + power_environ = 0; + power_equip = 0; + power_light = 0; + poweralm = 0 + }) "P" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" @@ -644,13 +652,29 @@ "R" = ( /obj/structure/alien/weeds, /turf/template_noop, -/area/template_noop) +/area/awaycontent/a5{ + always_unpowered = 1; + has_gravity = 1; + name = "The Hive"; + power_environ = 0; + power_equip = 0; + power_light = 0; + poweralm = 0 + }) "S" = ( /obj/structure/alien/weeds{ icon_state = "weeds2" }, /turf/template_noop, -/area/template_noop) +/area/awaycontent/a5{ + always_unpowered = 1; + has_gravity = 1; + name = "The Hive"; + power_environ = 0; + power_equip = 0; + power_light = 0; + poweralm = 0 + }) "T" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, @@ -1468,7 +1492,7 @@ a a a a -P +c "} (26,1,1) = {" a @@ -1499,8 +1523,8 @@ c a a a -U -N +b +h "} (27,1,1) = {" a @@ -1529,10 +1553,10 @@ g q b c -N -P -T -R +h +c +y +g "} (28,1,1) = {" a @@ -1563,8 +1587,8 @@ q b O R -V -S +p +q "} (29,1,1) = {" a @@ -1595,8 +1619,8 @@ l b O S -V -R +p +g "} (30,1,1) = {" a @@ -1625,10 +1649,10 @@ h c b c -P -T -S -V +c +y +q +p "} (31,1,1) = {" a @@ -1658,9 +1682,9 @@ a a a a -P -R -S +c +g +q "} (32,1,1) = {" a @@ -1690,9 +1714,9 @@ a a a a -N -V -R +h +p +g "} (33,1,1) = {" a @@ -1721,9 +1745,9 @@ a a a a -P -P -S +c +c +q a "} (34,1,1) = {" @@ -1753,7 +1777,7 @@ a a a a -P +c a a a diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index 3a62b4a2686..4577417fc7b 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -235,7 +235,7 @@ /turf/open/floor/carpet, /area/awaymission/academy/headmaster) "aJ" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/weapon/dice/d20/fate, /turf/open/floor/wood, /area/awaymission/academy/headmaster) @@ -3429,7 +3429,7 @@ }, /area/awaymission/academy/academyaft) "jw" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/yellow/side{ dir = 10 }, @@ -3438,7 +3438,7 @@ /turf/open/floor/plasteel/yellow/side, /area/awaymission/academy/academyaft) "jy" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/yellow/side{ dir = 6 }, diff --git a/_maps/RandomZLevels/caves.dmm b/_maps/RandomZLevels/caves.dmm index 8e6daec7544..839dee842a4 100644 --- a/_maps/RandomZLevels/caves.dmm +++ b/_maps/RandomZLevels/caves.dmm @@ -92,7 +92,7 @@ name = "\improper BMP Asteroid Level 4" }) "an" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plating/asteroid/basalt/lava{ initial_gas_mix = "n2=23;o2=14" }, @@ -108,7 +108,7 @@ name = "\improper BMP Asteroid Level 4" }) "ap" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/lava/smooth; initial_gas_mix = "n2=23;o2=14" @@ -151,7 +151,7 @@ name = "\improper BMP Asteroid Level 4" }) "au" = ( -/obj/structure/cult/talisman, +/obj/structure/destructible/cult/talisman, /obj/effect/decal/remains/human, /obj/item/stack/sheet/runed_metal{ amount = 25 @@ -199,7 +199,7 @@ name = "\improper BMP Asteroid Level 4" }) "ay" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/weapon/tome, /obj/item/stack/sheet/runed_metal{ amount = 25 @@ -260,7 +260,7 @@ name = "\improper BMP Asteroid Level 4" }) "aE" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/stack/sheet/runed_metal{ amount = 25 }, @@ -497,7 +497,7 @@ name = "\improper BMP Asteroid Level 4" }) "ba" = ( -/obj/structure/cult/talisman, +/obj/structure/destructible/cult/talisman, /obj/item/weapon/plasma_fist_scroll, /turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/lava/smooth; @@ -700,7 +700,7 @@ name = "\improper BMP Asteroid Level 3" }) "bv" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plating/asteroid/basalt{ initial_gas_mix = "n2=23;o2=14" }, @@ -745,7 +745,7 @@ name = "\improper BMP Asteroid Level 4" }) "bA" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/device/necromantic_stone, /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ @@ -781,7 +781,7 @@ name = "\improper BMP Asteroid Level 3" }) "bE" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /obj/effect/decal/cleanable/blood, /turf/open/floor/engine/cult{ baseturf = /turf/open/floor/plating/lava/smooth; diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm index 5bd6c81ba20..025f32aeb63 100644 --- a/_maps/RandomZLevels/wildwest.dmm +++ b/_maps/RandomZLevels/wildwest.dmm @@ -9,7 +9,7 @@ /turf/open/floor/engine/cult, /area/awaymission/wwvault) "ad" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult, /area/awaymission/wwvault) "ae" = ( @@ -71,7 +71,7 @@ /turf/open/floor/plasteel/circuit/gcircuit/off, /area/awaymission/wwvault) "aq" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/circuit/gcircuit/off, /area/awaymission/wwvault) "ar" = ( @@ -131,7 +131,7 @@ /turf/open/floor/plasteel/circuit/gcircuit/off, /area/awaymission/wwvault) "aB" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/plasteel/circuit/off, /area/awaymission/wwvault) "aC" = ( diff --git a/_maps/map_files/DreamStation/dreamstation04.dmm b/_maps/map_files/DreamStation/dreamstation04.dmm index 1cc8b6c30e6..d3573c3e30b 100644 --- a/_maps/map_files/DreamStation/dreamstation04.dmm +++ b/_maps/map_files/DreamStation/dreamstation04.dmm @@ -42441,7 +42441,7 @@ /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bGN" = ( /obj/structure/table/wood, @@ -42459,7 +42459,7 @@ pixel_y = 20; tag = "NORTH" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bGO" = ( /obj/structure/table/wood, @@ -42469,7 +42469,7 @@ tag = "every single paper bin is edited to this" }, /obj/item/weapon/pen/invisible, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bGP" = ( /obj/structure/table, @@ -43659,19 +43659,19 @@ /turf/open/floor/wood, /area/library) "bIO" = ( -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bIP" = ( /obj/structure/chair/comfy/brown{ dir = 1 }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bIQ" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/clothing/under/suit_jacket/red, /obj/item/weapon/book/codex_gigas, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bIR" = ( /obj/structure/filingcabinet/chestdrawer/wheeled, @@ -44499,7 +44499,7 @@ name = "Private Study"; req_access_txt = "37" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bKs" = ( /obj/structure/cable/green{ diff --git a/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm b/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm index e454c0954b3..45e4e748284 100644 --- a/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm +++ b/_maps/map_files/EfficiencyStation/EfficiencyStation.dmm @@ -34136,7 +34136,7 @@ name = "Private Study"; req_access_txt = "37" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bqq" = ( /obj/structure/cable{ @@ -35086,13 +35086,13 @@ /obj/machinery/light/small{ dir = 8 }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bsg" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bsh" = ( /obj/structure/cable{ @@ -35658,7 +35658,7 @@ /obj/effect/landmark/start{ name = "Librarian" }, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "bts" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ @@ -35669,7 +35669,7 @@ pixel_x = 27 }, /obj/structure/table/wood, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "btt" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ @@ -36381,9 +36381,9 @@ /turf/open/floor/plasteel, /area/storage/art) "buT" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/weapon/book/codex_gigas, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "buU" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber{ @@ -36398,7 +36398,7 @@ }, /obj/item/weapon/pen/invisible, /obj/structure/table/wood, -/turf/open/floor/plasteel/cult, +/turf/open/floor/engine/cult, /area/library) "buV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 68ee5f769bb..1713fbaec40 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -35087,6 +35087,7 @@ d2 = 8; icon_state = "4-8" }, +/obj/machinery/portable_atmospherics/canister/water_vapor, /mob/living/simple_animal/hostile/lizard{ name = "Wags-His-Tail"; real_name = "Wags-His-Tail" @@ -49974,7 +49975,6 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel, /area/atmos) "bHQ" = ( @@ -49985,7 +49985,6 @@ dir = 2; on = 1 }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/black/corner{ dir = 2 }, @@ -54758,9 +54757,7 @@ name = "Private Study"; req_access_txt = "37" }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bQz" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -55651,22 +55648,18 @@ /turf/open/floor/wood, /area/library) "bSh" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/machinery/newscaster{ pixel_x = -30; pixel_y = 0 }, /obj/item/clothing/under/suit_jacket/red, /obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bSi" = ( /obj/structure/chair/comfy/brown, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bSj" = ( /obj/effect/landmark{ @@ -55679,9 +55672,7 @@ pixel_x = 30; pixel_y = 0 }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bSk" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -56427,9 +56418,7 @@ pixel_y = 7 }, /obj/item/weapon/pen/invisible, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bTy" = ( /obj/item/device/taperecorder{ @@ -56440,17 +56429,13 @@ pixel_y = -25 }, /obj/structure/table/wood, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bTz" = ( /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "bTA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, @@ -73570,7 +73555,6 @@ dir = 2; icon_state = "pipe-c" }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/warning{ dir = 4 }, @@ -74098,7 +74082,6 @@ /turf/open/floor/plasteel/bot, /area/toxins/storage) "cxf" = ( -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/warning{ dir = 8 }, @@ -74106,7 +74089,6 @@ "cxg" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/structure/disposalpipe/segment, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/warning{ dir = 4 }, diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 602803562ed..d6a019fa8e2 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -7375,20 +7375,15 @@ /turf/closed/wall/mineral/titanium/overspace, /area/shuttle/pod_1) "apG" = ( -/turf/open/space, -/turf/closed/wall/shuttle{ - dir = 2; - icon_state = "swall_f10"; - layer = 2 - }, -/area/shuttle/pod_1) +/obj/machinery/portable_atmospherics/canister/water_vapor, +/turf/open/floor/plasteel, +/area/janitor) "apH" = ( /obj/structure/grille, /obj/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/pod_1) "apI" = ( -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/floorgrime, /area/toxins/storage) "apJ" = ( @@ -18576,9 +18571,7 @@ /obj/structure/bookcase{ name = "Forbidden Knowledge" }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aPh" = ( /obj/structure/table/wood, @@ -18587,9 +18580,7 @@ pixel_y = 7 }, /obj/item/weapon/pen/invisible, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aPi" = ( /obj/structure/table/wood, @@ -18600,9 +18591,7 @@ /obj/item/device/radio/intercom{ pixel_y = 25 }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aPj" = ( /obj/machinery/light_switch{ @@ -19058,17 +19047,13 @@ /area/library) "aQr" = ( /obj/machinery/light/small, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aQs" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /obj/item/clothing/under/suit_jacket/red, /obj/item/weapon/book/codex_gigas, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aQt" = ( /obj/effect/landmark{ @@ -19077,9 +19062,7 @@ /obj/structure/chair/comfy/brown{ dir = 1 }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aQu" = ( /turf/open/floor/plasteel/chapel, @@ -19580,9 +19563,7 @@ name = "Private Study"; req_access_txt = "37" }, -/turf/open/floor/plasteel/cult{ - dir = 2 - }, +/turf/open/floor/engine/cult, /area/library) "aRR" = ( /obj/machinery/firealarm{ @@ -36609,7 +36590,6 @@ scrub_N2O = 0; scrub_Toxins = 0 }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/floorgrime, /area/toxins/storage) "bCY" = ( @@ -37059,7 +37039,6 @@ icon_state = "4-8"; pixel_y = 0 }, -/obj/machinery/portable_atmospherics/canister/freon, /mob/living/simple_animal/mouse, /turf/open/floor/plasteel/floorgrime, /area/toxins/storage) @@ -37109,7 +37088,6 @@ icon_state = "4-8"; pixel_y = 0 }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel/floorgrime, /area/toxins/storage) "bEd" = ( @@ -41843,7 +41821,6 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel, /area/atmos) "bNR" = ( @@ -41876,7 +41853,6 @@ scrub_N2O = 0; scrub_Toxins = 0 }, -/obj/machinery/portable_atmospherics/canister/freon, /turf/open/floor/plasteel, /area/atmos) "bNT" = ( @@ -91946,7 +91922,7 @@ aLY aLY bBx bCv -bDL +apG bFk bDs bCv diff --git a/_maps/map_files/generic/z2.dmm b/_maps/map_files/generic/z2.dmm index ce5d8e815ef..b9586bc48b5 100644 --- a/_maps/map_files/generic/z2.dmm +++ b/_maps/map_files/generic/z2.dmm @@ -2524,7 +2524,7 @@ }, /area/centcom/evac) "hL" = ( -/obj/structure/cult/talisman{ +/obj/structure/destructible/cult/talisman{ desc = "A altar dedicated to the Wizard's Federation" }, /obj/item/weapon/kitchen/knife/ritual, @@ -3969,7 +3969,7 @@ }, /area/wizard_station) "mp" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /turf/open/floor/plasteel/cult, /area/wizard_station) "mq" = ( @@ -4195,7 +4195,7 @@ /turf/open/floor/engine/cult, /area/wizard_station) "mW" = ( -/obj/structure/cult/pylon, +/obj/structure/destructible/cult/pylon, /turf/open/floor/engine/cult, /area/wizard_station) "mX" = ( @@ -4612,7 +4612,7 @@ /turf/open/floor/plating/beach/sand, /area/centcom/holding) "oo" = ( -/obj/structure/cult/forge{ +/obj/structure/destructible/cult/forge{ desc = "A engine used in powering the wizards ship"; name = "magma engine" }, @@ -5797,7 +5797,7 @@ /turf/open/floor/engine/cult, /area/wizard_station) "sb" = ( -/obj/structure/cult/tome, +/obj/structure/destructible/cult/tome, /turf/open/floor/engine/cult, /area/wizard_station) "sc" = ( @@ -5835,14 +5835,23 @@ /area/awaymission/errorroom) "tm" = ( /obj/item/rupee, -/turf/open/floor/mineral/abductor, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, /area/awaymission/errorroom) "tn" = ( -/turf/open/floor/mineral/abductor, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, /area/awaymission/errorroom) "to" = ( /obj/effect/landmark/error, -/turf/open/floor/mineral/abductor, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, /area/awaymission/errorroom) "tp" = ( /obj/structure/signpost/salvation{ @@ -5850,7 +5859,10 @@ icon_state = "ladder10"; invisibility = 100 }, -/turf/open/floor/mineral/abductor, +/turf/open/floor/plating/ashplanet/wateryrock{ + initial_gas_mix = "o2=22;n2=82;TEMP=293.15"; + planetary_atmos = 0 + }, /area/awaymission/errorroom) "tq" = ( /obj/structure/closet/cardboard, diff --git a/_maps/shuttles/emergency_wabbajack.dmm b/_maps/shuttles/emergency_wabbajack.dmm index 006d61c31c7..90473b6ac08 100644 --- a/_maps/shuttles/emergency_wabbajack.dmm +++ b/_maps/shuttles/emergency_wabbajack.dmm @@ -291,7 +291,7 @@ }, /area/shuttle/escape) "ba" = ( -/obj/structure/cult/forge{ +/obj/structure/destructible/cult/forge{ desc = "A engine used in powering the shuttle."; name = "magma engine" }, @@ -312,7 +312,7 @@ }, /area/shuttle/escape) "bd" = ( -/obj/structure/cult/forge{ +/obj/structure/destructible/cult/forge{ desc = "A engine used in powering the shuttle."; name = "magma engine" }, diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 50f83c2d947..a50bf74d557 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -51,6 +51,6 @@ #define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]" #define ADMIN_SET_SD_CODE "(SETCODE)" #define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]" -#define ADMIN_JMP(src) "(JMP)" +#define ADMIN_JMP(src) "(JMP)" #define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]" #define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 5baea0ba429..1e66100e551 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -16,6 +16,7 @@ #define ispodperson(A) (is_species(A, /datum/species/podperson)) #define isflyperson(A) (is_species(A, /datum/species/fly)) #define isslimeperson(A) (is_species(A, /datum/species/jelly/slime)) +#define isshadowperson(A) (is_species(A, /datum/species/shadow)) #define iszombie(A) (is_species(A, /datum/species/zombie)) #define ishumanbasic(A) (is_species(A, /datum/species/human)) diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index fb3b61cd80f..27a5a3f1034 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -2,7 +2,9 @@ //KEEP THESE IN A NICE ACSCENDING ORDER, PLEASE //#define TURF_LAYER 2 //For easy recordkeeping; this is a byond define -#define ABOVE_OPEN_TURF_LAYER 2.01 +#define MID_TURF_LAYER 2.02 +#define HIGH_TURF_LAYER 2.03 +#define ABOVE_OPEN_TURF_LAYER 2.04 #define CLOSED_TURF_LAYER 2.05 #define ABOVE_NORMAL_TURF_LAYER 2.08 #define LATTICE_LAYER 2.2 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index c859696ccb4..906a3b3498d 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -495,6 +495,7 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define COLOSSUS_SCORE "Colossus Killed" #define BUBBLEGUM_SCORE "Bubblegum Killed" #define DRAKE_SCORE "Drakes Killed" +#define BIRD_SCORE "Hierophants Killed" #define BOSS_SCORE "Bosses Killed" #define TENDRIL_CLEAR_SCORE "Tendrils Killed" @@ -524,4 +525,6 @@ var/global/list/ghost_others_options = list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE // Caps for NTNet logging. Less than 10 would make logging useless anyway, more than 500 may make the log browser too laggy. Defaults to 100 unless user changes it. #define MAX_NTNET_LOGS 300 -#define MIN_NTNET_LOGS 10 \ No newline at end of file +#define MIN_NTNET_LOGS 10 +//TODO Move to a pref +#define STATION_GOAL_BUDGET 1 diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index dc90e583805..39892a67e3a 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -966,12 +966,9 @@ var/list/WALLITEMS_INVERSE = list( tY = max(1, min(origin.y + 7 - tY, world.maxy)) return locate(tX, tY, tZ) -/proc/IsValidSrc(A) - if(istype(A, /datum)) - var/datum/B = A - return !qdeleted(B) - if(istype(A, /client)) - return 1 +/proc/IsValidSrc(datum/D) + if(istype(D)) + return !qdeleted(D) return 0 diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index b5014ec7c91..28e55d7e03f 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -23,5 +23,5 @@ var/global/list/apcs_list = list() //list of all Area Power Controller machi var/global/list/tracked_implants = list() //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented... var/global/list/poi_list = list() //list of points of interest for observe/follow var/global/list/pinpointer_list = list() //list of all pinpointers. Used to change stuff they are pointing to all at once. -// A list of all zombie_infection organs, for any mass "animation" -var/global/list/zombie_infection_list = list() +var/global/list/zombie_infection_list = list() // A list of all zombie_infection organs, for any mass "animation" +var/global/list/meteor_list = list() // List of all meteors. \ No newline at end of file diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index b0d8930bf70..2e99889a323 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -284,7 +284,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." desc += "[clockwork_daemons] Tinkerer's Daemons: [servants * 0.2 < clockwork_daemons ? "DISABLED":"ACTIVE"]
" else desc += "No Tinkerer's Daemons.
" - for(var/obj/structure/clockwork/massive/celestial_gateway/G in all_clockwork_objects) + for(var/obj/structure/destructible/clockwork/massive/celestial_gateway/G in all_clockwork_objects) var/area/gate_area = get_area(G) desc += "Ark Location: [uppertext(gate_area.map_name)]
" if(G.ratvar_portal) @@ -299,8 +299,8 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." var/nezbere_available = clockwork_generals_invoked["nezbere"] <= world.time var/nezcrentr_available = clockwork_generals_invoked["nzcrentr"] <= world.time if(inathneq_available || sevtug_available || nezbere_available || nezcrentr_available) - desc += "Generals available:
[inathneq_available ? "INATH-NEQ
":""][sevtug_available ? "SEVTUG
":""]\ - [nezbere_available ? "NEZBERE
":""][nezcrentr_available ? "NZCRENTR":""]

" + desc += "Generals available:[inathneq_available ? "
INATH-NEQ":""][sevtug_available ? "
SEVTUG":""]\ + [nezbere_available ? "
NEZBERE":""][nezcrentr_available ? "
NZCRENTR":""]

" else desc += "Generals available: NONE
" else diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index dcd14ee9663..0b050c9322f 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -121,15 +121,16 @@ var/const/tk_maxrange = 15 focus_object(target, user) return - if(focus.anchored) + if(focus.anchored || !isturf(focus.loc)) qdel(src) + return if(target == focus) target.attack_self_tk(user) return // todo: something like attack_self not laden with assumptions inherent to attack_self - if(!istype(target, /turf) && istype(focus,/obj/item) && target.Adjacent(focus)) + if(!isturf(target) && istype(focus,/obj/item) && target.Adjacent(focus)) var/obj/item/I = focus var/resolved = target.attackby(I, user, params) if(!resolved && target && I) @@ -139,7 +140,6 @@ var/const/tk_maxrange = 15 focus.throw_at(target, 10, 1,user) last_throw = world.time user.changeNext_move(CLICK_CD_MELEE) - return /proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus) var/d = get_dist(user, target) @@ -155,7 +155,7 @@ var/const/tk_maxrange = 15 /obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user) - if(!istype(target,/obj)) + if(!isobj(target)) return//Cant throw non objects atm might let it do mobs later if(target.anchored || !isturf(target.loc)) qdel(src) diff --git a/code/controllers/subsystem/server_maintenance.dm b/code/controllers/subsystem/server_maintenance.dm index 70c03b7591d..ee368c4c429 100644 --- a/code/controllers/subsystem/server_maintenance.dm +++ b/code/controllers/subsystem/server_maintenance.dm @@ -17,7 +17,7 @@ var/datum/subsystem/server_maint/SSserver if(!istype(C.mob, /mob/dead)) log_access("AFK: [key_name(C)]") C << "You have been inactive for more than 10 minutes and have been disconnected." - del(C) + qdel(C) if(config.sql_enabled) sql_poll_players() diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 450367ce2e7..cdc90a8bb3f 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -55,7 +55,6 @@ var/datum/subsystem/ticker/ticker var/maprotatechecked = 0 - /datum/subsystem/ticker/New() NEW_SS_GLOBAL(ticker) @@ -443,6 +442,8 @@ var/datum/subsystem/ticker/ticker for(var/i in total_antagonists) log_game("[i]s[total_antagonists[i]].") + mode.declare_station_goal_completion() + //Adds the del() log to world.log in a format condensable by the runtime condenser found in tools if(SSgarbage.didntgc.len) var/dellog = "" diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm index 164de5d5521..d939e23fba0 100644 --- a/code/controllers/subsystem/voting.dm +++ b/code/controllers/subsystem/voting.dm @@ -58,15 +58,20 @@ var/datum/subsystem/vote/SSvote greatest_votes = votes //default-vote for everyone who didn't vote if(!config.vote_no_default && choices.len) - var/non_voters = (clients.len - total_votes) - if(non_voters > 0) + var/list/non_voters = directory.Copy() + non_voters -= voted + for (var/non_voter_ckey in non_voters) + var/client/C = non_voters[non_voter_ckey] + if (!C || C.is_afk()) + non_voters -= non_voter_ckey + if(non_voters.len > 0) if(mode == "restart") - choices["Continue Playing"] += non_voters + choices["Continue Playing"] += non_voters.len if(choices["Continue Playing"] >= greatest_votes) greatest_votes = choices["Continue Playing"] else if(mode == "gamemode") if(master_mode in choices) - choices[master_mode] += non_voters + choices[master_mode] += non_voters.len if(choices[master_mode] >= greatest_votes) greatest_votes = choices[master_mode] //get all options with that many votes and return them in a list diff --git a/code/datums/action.dm b/code/datums/action.dm index 775e08f8e49..ed4f2416701 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -189,6 +189,40 @@ /datum/action/item_action/toggle_helmet_light name = "Toggle Helmet Light" +/datum/action/item_action/toggle_unfriendly_fire + name = "Toggle Friendly Fire \[ON\]" + desc = "Toggles if the staff causes friendly fire." + button_icon_state = "vortex_ff_on" + +/datum/action/item_action/toggle_unfriendly_fire/Trigger() + if(..()) + UpdateButtonIcon() + +/datum/action/item_action/toggle_unfriendly_fire/UpdateButtonIcon() + if(istype(target, /obj/item/weapon/hierophant_staff)) + var/obj/item/weapon/hierophant_staff/H = target + if(H.friendly_fire_check) + button_icon_state = "vortex_ff_off" + name = "Toggle Friendly Fire \[OFF\]" + button.name = name + else + button_icon_state = "vortex_ff_on" + name = "Toggle Friendly Fire \[ON\]" + button.name = name + ..() + +/datum/action/item_action/vortex_recall + name = "Vortex Recall" + desc = "Recall yourself, and anyone nearby, to an attuned hierophant rune at any time.
If no such rune exists, will produce a rune at your location." + button_icon_state = "vortex_recall" + +/datum/action/item_action/vortex_recall/IsAvailable() + if(istype(target, /obj/item/weapon/hierophant_staff)) + var/obj/item/weapon/hierophant_staff/H = target + if(H.teleporting) + return 0 + return ..() + /datum/action/item_action/clock background_icon_state = "bg_clock" buttontooltipstyle = "clockcult" diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm index f8f46c007d7..ed93eb9369a 100644 --- a/code/datums/datumvars.dm +++ b/code/datums/datumvars.dm @@ -4,10 +4,15 @@ var/global/list/internal_byond_list_vars = list("contents" = TRUE, "verbs" = TRU /datum var/var_edited = 0 //Warrenty void if seal is broken + var/datum/reagents/reagents = null + var/fingerprintslast = null /datum/proc/on_varedit(modified_var) //called whenever a var is edited var_edited = 1 +/datum/proc/on_reagent_change() + return + /client/proc/debug_variables(datum/D in world) set category = "Debug" set name = "View Variables" @@ -384,19 +389,20 @@ body else if (isfile(value)) html += "[html_encode(name)] = '[value]'" + else if (istype(value, /client)) + var/client/C = value + html += "[html_encode(name)] \ref[value] = [C] [C.type]" + else if (istype(value, /datum)) var/datum/D = value html += "[html_encode(name)] \ref[value] = [D.type]" - else if (istype(value, /client)) - var/client/C = value - html += "[html_encode(name)] \ref[value] = [C] [C.type]" -// else if (istype(value, /list)) var/list/L = value html += "[html_encode(name)] = /list ([L.len])" if (L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > 500)) + name = "[name]" //Needs to be a string or it will go out of bounds in the internal_byond_list_vars array html += "