diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index ff68f18408..e617407a1f 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -59,6 +59,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
//Human sub-species
#define isabductor(A) (is_species(A, /datum/species/abductor))
#define isgolem(A) (is_species(A, /datum/species/golem))
+#define isclockworkgolem(A) (is_species(A, /datum/species/golem/clockwork/no_scrap))
#define islizard(A) (is_species(A, /datum/species/lizard))
#define isplasmaman(A) (is_species(A, /datum/species/plasmaman))
#define ispodperson(A) (is_species(A, /datum/species/pod))
diff --git a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm
index d91e062a1c..4f4f91d6e2 100644
--- a/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm
+++ b/code/modules/antagonists/clockcult/clock_helpers/clock_rites.dm
@@ -232,9 +232,11 @@
. = ..()
if(!.)
return FALSE
+ if(isclockworkgolem(target))
+ return FALSE
target.visible_message("The robotic parts magnetize to [target], the new frame's eyes glowing in a brilliant yellow!")
var/mob/living/silicon/robot/R = target.Robotize()
- R.cell = new /obj/item/stock_parts/cell/upgraded/plus(R)
+ R.cell = new /obj/item/stock_parts/cell/super(R)//takes one to use the rite to begin with
new /obj/effect/temp_visual/ratvar/sigil/transmission(T,2)
/datum/clockwork_rite/golem_transform
diff --git a/code/modules/antagonists/clockcult/clock_items/clock_augments.dm b/code/modules/antagonists/clockcult/clock_items/clock_augments.dm
index 2131aa7160..ff19e8891b 100644
--- a/code/modules/antagonists/clockcult/clock_items/clock_augments.dm
+++ b/code/modules/antagonists/clockcult/clock_items/clock_augments.dm
@@ -5,7 +5,7 @@
name = "clock-themed arm-mounted implant"
var/clockwork_desc = "According to Ratvar, this really shouldn't exist. Tell Him about this immediately."
syndicate_implant = TRUE
- icon_state = "clock_arm_implant"
+ icon_state = "toolkit_implant"
/obj/item/organ/cyberimp/arm/clockwork/ui_action_click()
if(is_servant_of_ratvar(owner) || (obj_flags & EMAGGED)) //If you somehow manage to steal a clockie's implant AND have an emag AND manage to get it implanted for yourself, good on ya!
diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm
index cbc1f3634b..5060f516c7 100644
--- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm
+++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_guardian.dm
@@ -1,14 +1,14 @@
//Clockwork guardian: Slow but with high damage, resides inside of a servant. Created via the Memory Allocation scripture.
/mob/living/simple_animal/hostile/clockwork/guardian
name = "clockwork guardian"
- desc = "A stalwart apparition of a soldier, blazing with magenta flames. It's armed with a gladius and shield and stands ready by its master."
- icon_state = "clockwork_marauder"
+ desc = "A slow, armored clockwork machine, blazing with magenta flames. It's armed with a gladius and shield, and stands ready by its master."
+ icon_state = "clockwork_guardian"
health = 300
maxHealth = 300
speed = 1
obj_damage = 40
- melee_damage_lower = 12
- melee_damage_upper = 12
+ melee_damage_lower = 20//ranged attacks are the way to go for fighting these
+ melee_damage_upper = 20
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
diff --git a/code/modules/antagonists/clockcult/clock_scripture.dm b/code/modules/antagonists/clockcult/clock_scripture.dm
index af1fb5fdc3..6922c7cd81 100644
--- a/code/modules/antagonists/clockcult/clock_scripture.dm
+++ b/code/modules/antagonists/clockcult/clock_scripture.dm
@@ -16,9 +16,6 @@ Judgement 80k power or nine converts
var/chanting = FALSE //If the invocation's words are being spoken
var/channel_time = 10 //In deciseconds, how long a ritual takes to chant
var/power_cost = 5 //In watts, how much a scripture takes to invoke
- var/vitality_cost = 0 //how much vitality a scripture requires to be used
- var/special_vitality_text//if the scripture can use additional vitality to have a unique function, use this; put
- var/special_vitality_cost
var/special_power_text //If the scripture can use additional power to have a unique function, use this; put POWERCOST here to display the special power cost.
var/special_power_cost //This should be a define in __DEFINES/clockcult.dm, such as ABSCOND_ABDUCTION_COST
var/obj/item/clockwork/slab/slab //The parent clockwork slab
diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
index 9191d60b8e..85450dc152 100644
--- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
+++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
@@ -18,7 +18,7 @@
tier = SCRIPTURE_APPLICATION
one_per_tile = TRUE
primary_component = HIEROPHANT_ANSIBLE
- sort_priority = 1
+ sort_priority = 2
important = TRUE
quickbind = TRUE
quickbind_desc = "Creates a Sigil of Transmission, which can drain and will store power for clockwork structures."
@@ -72,7 +72,7 @@
tier = SCRIPTURE_APPLICATION
one_per_tile = TRUE
primary_component = HIEROPHANT_ANSIBLE
- sort_priority = 2
+ sort_priority = 5
quickbind = TRUE
quickbind_desc = "Creates a Mania Motor, which causes minor damage and negative mental effects in non-Servants."
requires_full_power = TRUE
@@ -112,7 +112,7 @@
usage_tip = "Guardians are useful as personal bodyguards and frontline warriors."
tier = SCRIPTURE_APPLICATION
primary_component = GEIS_CAPACITOR
- sort_priority = 5
+ sort_priority = 6
/datum/clockwork_scripture/memory_allocation/check_special_requirements()
for(var/mob/living/simple_animal/hostile/clockwork/guardian/M in GLOB.all_clockwork_mobs)
@@ -171,7 +171,7 @@
tier = SCRIPTURE_APPLICATION
one_per_tile = TRUE
primary_component = BELLIGERENT_EYE
- sort_priority = 6
+ sort_priority = 7
quickbind = TRUE
quickbind_desc = "Creates a clockwork marauder, used for frontline combat."
object_path = /obj/item/clockwork/construct_chassis/clockwork_marauder
@@ -223,7 +223,7 @@
object_path = /obj/mecha/combat/neovgre
tier = SCRIPTURE_APPLICATION
primary_component = BELLIGERENT_EYE
- sort_priority = 7
+ sort_priority = 8
creator_message = "Neovgre, the Anima Bulwark towers over you... your enemies reckoning has come."
/datum/clockwork_scripture/create_object/summon_arbiter/check_special_requirements()
diff --git a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
index 99f38bdddf..a481415cf5 100644
--- a/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
+++ b/code/modules/antagonists/clockcult/clock_structures/ark_of_the_clockwork_justicar.dm
@@ -81,7 +81,7 @@
priority_announce("Massive [Gibberish("bluespace", 100)] anomaly detected on all frequencies. All crew are directed to \
@!$, [text2ratvar("PURGE ALL UNTRUTHS")] <&. the anomalies and destroy their source to prevent further damage to corporate property. This is \
not a drill.", "Central Command Higher Dimensional Affairs", 'sound/magic/clockwork/ark_activation_sequence.ogg')
- set_security_level("red")
+ set_security_level("Delta")
for(var/V in SSticker.mode.servants_of_ratvar)
var/datum/mind/M = V
if(!M || !M.current)
diff --git a/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm
index 8f6aec400b..e5b9243c7e 100644
--- a/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm
+++ b/code/modules/antagonists/clockcult/clock_structures/ratvar_the_clockwork_justicar.dm
@@ -158,12 +158,11 @@
sleep(50)
priority_announce("Massive energy surge detected. Closest matching threat: Incoming supernova. All crew are advised to evacuate NAN lightyears away from blast zone","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg')
sleep(300)
- priority_announce("Gravitational anomalies detected on the station. Th$%e %o a& ad$&%al d%&-BZZZZZT.","Central Command Higher Dimensional Affairs", 'sound/magic/clockwork/ratvar_announce1.ogg')
+ priority_announce("Gravitational anomalies detected on the station. [Gibberish("There is no additional dat", 100)]-BZZZZZT.","Central Command Higher Dimensional Affairs", 'sound/magic/clockwork/ratvar_announce1.ogg')
sleep(80)
sound_to_playing_players(sound('sound/magic/clockwork/ratvar_announce2.ogg'))
send_to_playing_players("\"COME, ALL THOSE FAITHFUL! WITNESS THE RAYS OF JUSTICE CAST UPON THE HERETICS!\"")
sleep(50)
- set_security_level("delta")
SSshuttle.registerHostileEnvironment(src)
SSshuttle.lockdown = TRUE
sleep(250)
@@ -182,5 +181,5 @@
var/mob/living/L = M
L.fire_stacks = INFINITY
L.IgniteMob()
- sleep(50)
+ sleep(50)
SSticker.force_ending = 1
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index 6daf192fc3..fba6ecd40c 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -625,7 +625,7 @@
say_mod = "clicks"
limbs_id = "clockgolem"
info_text = "As a Clockwork Golem, you are faster than other types of golems, and are capable of using guns. On death, you will break down into scrap."
- species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES,NOGENITALS,NOAROUSAL)
+ species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYES,NOGENITALS,NOAROUSAL,ROBOTIC_LIMBS)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOFIRE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER)
inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 83e98e272e..adc7dbb5b6 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -514,7 +514,7 @@
/mob/living/ratvar_act()
if(status_flags & GODMODE)
return
- if(is_servant_of_ratvar(src))
+ if(stat != DEAD && !is_servant_of_ratvar(src))
return
if (is_eligible_servant(src))
add_servant_of_ratvar(src)
@@ -525,8 +525,10 @@
adjustFireLoss(35)
IgniteMob()
if(iscultist(src))
- to_chat(src, "\"[text2ratvar("DIE, BLOODSLAVE!")]\"")
- dust()
+ to_chat(src, "You resist Ratvar's influence... but not all of it! Run!")
+ adjustFireLoss(35)
+ if(src && reagents)
+ reagents.add_reagent(/datum/reagent/fuel/holyoil, 5)
return FALSE
diff --git a/icons/mob/clockwork_mobs.dmi b/icons/mob/clockwork_mobs.dmi
index 54690f6cac..b43f7f958e 100644
Binary files a/icons/mob/clockwork_mobs.dmi and b/icons/mob/clockwork_mobs.dmi differ