From d97bf47b955357c4902f679dcc43fd0497db2cd7 Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Fri, 10 May 2019 18:12:36 -0700 Subject: [PATCH 1/4] Added --- code/game/objects/empulse.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 2 ++ .../trap_triggers/pressure_sensor_mech.dm | 20 ++++++++++++++++++ .../clock_structures/traps/brass_skewer.dm | 9 +++++++- .../clock_structures/traps/power_null.dm | 17 +++++++++++++++ icons/obj/clockwork_objects.dmi | Bin 126566 -> 126871 bytes strings/tips.txt | 1 + tgstation.dme | 2 ++ 8 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm create mode 100644 code/modules/antagonists/clockcult/clock_structures/traps/power_null.dm diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index 16e13a9fe2..56e47ed6f5 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -9,7 +9,7 @@ message_admins("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") - if(heavy_range > 1) + if(heavy_range >= 1) new /obj/effect/temp_visual/emp/pulse(epicenter) if(heavy_range > light_range) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index e63ddd1c02..f03117c777 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -397,6 +397,8 @@ GLOBAL_LIST_INIT(brass_recipes, list ( \ null, new/datum/stack_recipe("receiver - brass skewer", /obj/structure/destructible/clockwork/trap/brass_skewer, 2, time = 20, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_ADJACENT), \ new/datum/stack_recipe("receiver - steam vent", /obj/structure/destructible/clockwork/trap/steam_vent, 3, time = 30, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \ + new/datum/stack_recipe("receiver - power nullifier", /obj/structure/destructible/clockwork/trap/power_nullifier, 5, time = 30, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \ + )) /obj/item/stack/tile/brass diff --git a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm new file mode 100644 index 0000000000..7d55dedee3 --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm @@ -0,0 +1,20 @@ +/obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech + name = "mech sensor" + desc = "A thin plate of brass, barely visible but clearly distinct." + clockwork_desc = "A trigger that will activate when a mech controlled by a non-servant runs across it." + max_integrity = 5 + icon_state = "pressure_sensor" + alpha = 75 + + +/obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech/Crossed(atom/movable/AM) + + if(!istype(AM,/obj/mecha/)) + return + + var/obj/mecha/M = AM + if(!M.occupant || is_servant_of_ratvar(M.occupant)) + return + audible_message("*click*") + playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE) + activate() \ No newline at end of file diff --git a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm index 6312228447..ebfb219c9a 100644 --- a/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/traps/brass_skewer.dm @@ -68,7 +68,14 @@ mouse_opacity = MOUSE_OPACITY_OPAQUE //So players can interact with the tile it's on to pull them off buckle_mob(squirrel, TRUE) else - visible_message("A massive brass spike erupts from the ground!") + var/obj/mecha/M = locate() in get_turf(src) + if(M) + M.take_damage(50,BRUTE,"melee") + M.visible_message("A massive brass spike erupts from the ground, penetrating \the [M] and shattering the trap into pieces!") + addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1) + else + visible_message("A massive brass spike erupts from the ground!") + playsound(src, 'sound/machines/clockcult/brass_skewer.ogg', 75, FALSE) icon_state = "[initial(icon_state)]_extended" density = TRUE //Skewers are one-use only diff --git a/code/modules/antagonists/clockcult/clock_structures/traps/power_null.dm b/code/modules/antagonists/clockcult/clock_structures/traps/power_null.dm new file mode 100644 index 0000000000..6c8477ab5b --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_structures/traps/power_null.dm @@ -0,0 +1,17 @@ +/obj/structure/destructible/clockwork/trap/power_nullifier + name = "power nullifier" + desc = "A well hidden set of wires and connections." + clockwork_desc = "When triggered, it sets off a 3x3 emp pulse with the center suffering a stronger pulse." + icon_state = "electric_trap" + break_message = "The power nullifier sparks, then slowly crumbles to debris!" + max_integrity = 40 + density = FALSE + var/activated = FALSE + +/obj/structure/destructible/clockwork/trap/power_nullifier/activate() + if(!activated) + activated = TRUE + empulse(get_turf(src),1,1,TRUE) + +/obj/structure/destructible/clockwork/trap/power_nullifier/emp_act(var/strength=1) + activate() diff --git a/icons/obj/clockwork_objects.dmi b/icons/obj/clockwork_objects.dmi index 5b8fc246cb71e16ad97629e2bf49433e11cfce1f..56cfdf468b39ff34eb63400441094800d05c4946 100644 GIT binary patch delta 8915 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 D#KG+? diff --git a/strings/tips.txt b/strings/tips.txt index 9571527853..fb6c277164 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -263,3 +263,4 @@ When crafting most items, you can either manually combine parts or use the craft Suit storage units not only remove blood and dirt from clothing, but also radiation! Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. Laser pointers can be upgraded by replacing its micro laser with a better one from RnD! Use a screwdriver on it to remove the old laser. Upgrading the laser pointer gives you better odds of stunning a cyborg, and even blinding people with sunglasses. +You can bypass clockwork cult pressure sensors if you walk instead of jog on them. Alternatively, you can also become a clockwork cultist. diff --git a/tgstation.dme b/tgstation.dme index 9e9c6fe593..01d40b61f4 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1236,8 +1236,10 @@ #include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm" #include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm" #include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor.dm" +#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor_mech.dm" #include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\repeater.dm" #include "code\modules\antagonists\clockcult\clock_structures\traps\brass_skewer.dm" +#include "code\modules\antagonists\clockcult\clock_structures\traps\power_null.dm" #include "code\modules\antagonists\clockcult\clock_structures\traps\steam_vent.dm" #include "code\modules\antagonists\cult\blood_magic.dm" #include "code\modules\antagonists\cult\cult.dm" From 4aba11739b81df863f2ffee06ac6a2adebbb9258 Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Fri, 10 May 2019 19:15:42 -0700 Subject: [PATCH 2/4] Finishing touches. --- code/game/objects/items/stacks/sheets/sheet_types.dm | 7 ++++--- .../clock_structures/trap_triggers/pressure_sensor_mech.dm | 2 +- strings/clockwork_cult_changelog.txt | 5 ++++- strings/tips.txt | 4 +++- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index f03117c777..89d939e505 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -382,8 +382,8 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ GLOBAL_LIST_INIT(brass_recipes, list ( \ new/datum/stack_recipe("wall gear", /obj/structure/destructible/clockwork/wall_gear, 3, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ null, - new/datum/stack_recipe("pinion airlock", /obj/machinery/door/airlock/clockwork, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("brass pinion airlock", /obj/machinery/door/airlock/clockwork/brass, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("brass pinion airlock", /obj/machinery/door/airlock/clockwork, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("brass pinion airlock - windowed", /obj/machinery/door/airlock/clockwork/brass, 5, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("brass windoor", /obj/machinery/door/window/clockwork, 2, time = 30, on_floor = TRUE, window_checks = TRUE), \ null, new/datum/stack_recipe("directional brass window", /obj/structure/window/reinforced/clockwork/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \ @@ -392,12 +392,13 @@ GLOBAL_LIST_INIT(brass_recipes, list ( \ new/datum/stack_recipe("brass table frame", /obj/structure/table_frame/brass, 1, time = 5, one_per_turf = TRUE, on_floor = TRUE), \ null, new/datum/stack_recipe("sender - pressure sensor", /obj/structure/destructible/clockwork/trap/trigger/pressure_sensor, 2, time = 20, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("sender - mech sensor", /obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech, 2, time = 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("sender - lever", /obj/structure/destructible/clockwork/trap/trigger/lever, 1, time = 10, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("sender - repeater", /obj/structure/destructible/clockwork/trap/trigger/repeater, 2, time = 20, one_per_turf = TRUE, on_floor = TRUE), \ null, new/datum/stack_recipe("receiver - brass skewer", /obj/structure/destructible/clockwork/trap/brass_skewer, 2, time = 20, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_ADJACENT), \ new/datum/stack_recipe("receiver - steam vent", /obj/structure/destructible/clockwork/trap/steam_vent, 3, time = 30, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \ - new/datum/stack_recipe("receiver - power nullifier", /obj/structure/destructible/clockwork/trap/power_nullifier, 5, time = 30, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \ + new/datum/stack_recipe("receiver - power nullifier", /obj/structure/destructible/clockwork/trap/power_nullifier, 5, time = 20, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \ )) diff --git a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm index 7d55dedee3..2c939abdc3 100644 --- a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm +++ b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm @@ -1,3 +1,4 @@ +//Mech sensor: Activates when stepped on by a mech /obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech name = "mech sensor" desc = "A thin plate of brass, barely visible but clearly distinct." @@ -6,7 +7,6 @@ icon_state = "pressure_sensor" alpha = 75 - /obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech/Crossed(atom/movable/AM) if(!istype(AM,/obj/mecha/)) diff --git a/strings/clockwork_cult_changelog.txt b/strings/clockwork_cult_changelog.txt index c963ca91d1..3c5e5f5ef6 100644 --- a/strings/clockwork_cult_changelog.txt +++ b/strings/clockwork_cult_changelog.txt @@ -1 +1,4 @@ -Stargazers have been removed. Integration cogs are now the primary way of creating power. \ No newline at end of file +Stargazers have been removed. Integration cogs are now the primary way of creating power. +Brass Skewers now deal damage to mechs. +Mech Sensors are now available. They're similar to pressure sensors, but trigger if a mech steps on them, and can be built the same way. +Power nullifiers are now available. Upon triggering, they send out a small 3x3 EMP, affecting cultists and enemies alike. diff --git a/strings/tips.txt b/strings/tips.txt index fb6c277164..bb5b180a0b 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -229,6 +229,9 @@ As a Servant, wraith spectacles let you see everything through walls at virtuall As a Servant, declaring war empowers a huge amount of your tools and constructs, and makes you into a spaceproof, armored clockwork automaton. As a Servant, converting or sabotaging Science and Genetics can make defending the Ark much easier. As a Servant, the Clockwork Armaments scripture allows you to summon armor and/or a weapon at will. Use it whenever you unlock it! +As a Servant, Brass created from your replica fabricators can be ground down in reagent grinders for teslium and iron. +You can bypass Servant created pressure sensors if you walk instead of jog on them. Alternatively, you can also become a Servant of Ratvar. + You can deconvert Cultists of Nar-Sie and Servants of Ratvar by feeding them large amounts of holy water. Unlike revolutionaries, implanting them with mindshield implants won't do it! Tiles sprayed with holy water will permanently block Servants of Ratvar from teleporting onto them. As a Wizard, you can turn people to stone, then animate the resulting statue with a staff of animation to create an extremely powerful minion, for all of 5 minutes at least. @@ -263,4 +266,3 @@ When crafting most items, you can either manually combine parts or use the craft Suit storage units not only remove blood and dirt from clothing, but also radiation! Remote devices will work when used through cameras. For example: Bluespace RPEDs and door remotes. Laser pointers can be upgraded by replacing its micro laser with a better one from RnD! Use a screwdriver on it to remove the old laser. Upgrading the laser pointer gives you better odds of stunning a cyborg, and even blinding people with sunglasses. -You can bypass clockwork cult pressure sensors if you walk instead of jog on them. Alternatively, you can also become a clockwork cultist. From f66326ab5105bc18c2223d4aac4b595c2e6878a3 Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Fri, 10 May 2019 19:19:42 -0700 Subject: [PATCH 3/4] Fixes an potential AI exploit. --- .../clock_structures/trap_triggers/pressure_sensor_mech.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm index 2c939abdc3..3eac1b9fef 100644 --- a/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm +++ b/code/modules/antagonists/clockcult/clock_structures/trap_triggers/pressure_sensor_mech.dm @@ -13,7 +13,7 @@ return var/obj/mecha/M = AM - if(!M.occupant || is_servant_of_ratvar(M.occupant)) + if(M.occupant && is_servant_of_ratvar(M.occupant)) return audible_message("*click*") playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE) From 8463163faa7654da20193382ad0a22f141386b79 Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Fri, 10 May 2019 19:22:09 -0700 Subject: [PATCH 4/4] NEWLINE --- strings/tips.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/strings/tips.txt b/strings/tips.txt index bb5b180a0b..e9c1350469 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -231,7 +231,6 @@ As a Servant, converting or sabotaging Science and Genetics can make defending t As a Servant, the Clockwork Armaments scripture allows you to summon armor and/or a weapon at will. Use it whenever you unlock it! As a Servant, Brass created from your replica fabricators can be ground down in reagent grinders for teslium and iron. You can bypass Servant created pressure sensors if you walk instead of jog on them. Alternatively, you can also become a Servant of Ratvar. - You can deconvert Cultists of Nar-Sie and Servants of Ratvar by feeding them large amounts of holy water. Unlike revolutionaries, implanting them with mindshield implants won't do it! Tiles sprayed with holy water will permanently block Servants of Ratvar from teleporting onto them. As a Wizard, you can turn people to stone, then animate the resulting statue with a staff of animation to create an extremely powerful minion, for all of 5 minutes at least.