Merge pull request #8342 from BurgerLUA/Cult-Improvements-and-Fixes

Adds EMP Defensive Traps to Clockcult
This commit is contained in:
kevinz000
2019-05-11 22:19:46 -07:00
committed by GitHub
9 changed files with 59 additions and 5 deletions
+1 -1
View File
@@ -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)
@@ -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,11 +392,14 @@ 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 = 20, one_per_turf = TRUE, on_floor = TRUE, placement_checks = STACK_CHECK_CARDINALS), \
))
/obj/item/stack/tile/brass
@@ -0,0 +1,20 @@
//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."
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("<i>*click*</i>")
playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE)
activate()
@@ -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("<span class='danger'>A massive brass spike erupts from the ground!</span>")
var/obj/mecha/M = locate() in get_turf(src)
if(M)
M.take_damage(50,BRUTE,"melee")
M.visible_message("<span class='danger'>A massive brass spike erupts from the ground, penetrating \the [M] and shattering the trap into pieces!</span>")
addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1)
else
visible_message("<span class='danger'>A massive brass spike erupts from the ground!</span>")
playsound(src, 'sound/machines/clockcult/brass_skewer.ogg', 75, FALSE)
icon_state = "[initial(icon_state)]_extended"
density = TRUE //Skewers are one-use only
@@ -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 = "<span class='warning'>The power nullifier sparks, then slowly crumbles to debris!</span>"
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()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

After

Width:  |  Height:  |  Size: 124 KiB

+4 -1
View File
@@ -1 +1,4 @@
Stargazers have been removed. Integration cogs are now the primary way of creating power.
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.
+2
View File
@@ -229,6 +229,8 @@ 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.
+2
View File
@@ -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"