, a living extension of Sevtug's will. As a guardian, you are somewhat slow, but may block attacks, \
and have a chance to also counter blocked melee attacks for extra damage, in addition to being immune to extreme temperatures and pressures. \
- Your primary goal is to serve the creature that you are now a part of. You can use :b to communicate silently with your master, \
+ Your primary goal is to serve the creature that you are now a part of, as well as The Clockwork Justiciar, Ratvar. You can use The Hierophant Network to communicate silently with your master and their allies, \
but can only exit if your master calls your true name or if they are exceptionally damaged. \
\n\n\
Stay near your host to protect and heal them; being too far from your host will rapidly cause you massive damage. Recall to your host if you are too weak and believe you cannot continue \
@@ -162,7 +164,7 @@
. = ..()
true_name = pick(possible_true_names)
-/mob/living/simple_animal/hostile/clockwork/marauder/guardianLife()
+/mob/living/simple_animal/hostile/clockwork/marauder/guardian/BiologicalLife(seconds, times_fired)
..()
if(is_in_host())
if(!is_servant_of_ratvar(host))
@@ -251,9 +253,9 @@
if(!new_host)
return FALSE
host = new_host
- var/datum/action/innate/summon_marauder/guardian/SM = new()
- SM.linked_guardian = src
- SM.Grant(host)
+ var/datum/action/innate/summon_guardian/SG = new()
+ SG.linked_guardian = src
+ SG.Grant(host)
var/datum/action/innate/linked_minds/LM = new()
LM.linked_guardian = src
LM.Grant(host)
@@ -261,8 +263,8 @@
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/unbind_from_host()
if(host)
- for(var/datum/action/innate/summon_marauder/guardian/SM in host.actions)
- qdel(SM)
+ for(var/datum/action/innate/summon_guardian/SG in host.actions)
+ qdel(SG)
for(var/datum/action/innate/linked_minds/LM in host.actions)
qdel(LM)
host = null
@@ -294,8 +296,8 @@
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/update_health_hud()
if(hud_used && hud_used.healths)
- if(istype(hud_used, /datum/hud/guardian))
- var/datum/hud/guardian/M = hud_used
+ if(istype(hud_used, /datum/hud/marauder))
+ var/datum/hud/marauder/G = hud_used
var/resulthealth
if(host)
if(iscarbon(host))
@@ -304,7 +306,7 @@
resulthealth = "[round((host.health / host.maxHealth) * 100, 0.5)]%"
else
resulthealth = "NONE"
- M.hosthealth.maptext = "HOST
[resulthealth]
"
+ G.hosthealth.maptext = "HOST
[resulthealth]
"
hud_used.healths.maptext = "[round((health / maxHealth) * 100, 0.5)]%"
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/update_stats()
@@ -312,7 +314,7 @@
speed = 0
melee_damage_lower = 20
melee_damage_upper = 20
- attacktext = "devastates"
+ attack_verb_continuous = "devastates"
else
var/healthpercent = (health/maxHealth) * 100
switch(healthpercent)
@@ -320,32 +322,32 @@
speed = 0
melee_damage_lower = 16
melee_damage_upper = 16
- attacktext = "viciously slashes"
+ attack_verb_continuous = "viciously slashes"
if(70 to 40)
speed = initial(speed)
melee_damage_lower = initial(melee_damage_lower)
melee_damage_upper = initial(melee_damage_upper)
- attacktext = initial(attacktext)
+ attack_verb_continuous = initial(attack_verb_continuous)
if(40 to 30) //Damage decrease, but not speed
speed = initial(speed)
melee_damage_lower = 10
melee_damage_upper = 10
- attacktext = "lightly slashes"
+ attack_verb_continuous = "lightly slashes"
if(30 to 20) //Speed decrease
speed = 2
melee_damage_lower = 8
melee_damage_upper = 8
- attacktext = "lightly slashes"
+ attack_verb_continuous = "lightly slashes"
if(20 to 10) //Massive speed decrease and weak melee attacks
speed = 3
melee_damage_lower = 6
melee_damage_upper = 6
- attacktext = "weakly slashes"
+ attack_verb_continuous = "weakly slashes"
if(10 to 0) //We are super weak and going to die
speed = 4
melee_damage_lower = 4
melee_damage_upper = 4
- attacktext = "taps"
+ attack_verb_continuous = "taps"
//ATTACKING, BLOCKING, and COUNTERING
@@ -404,10 +406,10 @@
if(target && Adjacent(target))
if(prob(counterchance))
counterchance = initial(counterchance)
- var/previousattacktext = attacktext
- attacktext = "counters"
+ var/previousattack_verb_continuous = attack_verb_continuous
+ attack_verb_continuous = "counters"
UnarmedAttack(target)
- attacktext = previousattacktext
+ attack_verb_continuous = previousattack_verb_continuous
else
counterchance = min(counterchance + initial(counterchance), 100)
else
@@ -417,13 +419,13 @@
counterchance = 90
//COMMUNICATION and EMERGENCE
-
+/*
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/handle_inherent_channels(message, message_mode)
if(host && (is_in_host() || message_mode == MODE_BINARY))
guardian_comms(message)
return TRUE
return ..()
-
+*/
/mob/living/simple_animal/hostile/clockwork/marauder/guardian/proc/guardian_comms(message)
var/name_part = "[src] ([true_name])"
message = "\"[message]\"" //Processed output
@@ -494,7 +496,7 @@
//HOST ACTIONS
//Summon guardian action: Calls forth or recalls your guardian
-/datum/action/innate/summon_marauder
+/datum/action/innate/summon_guardian
name = "Force Guardian to Emerge/Recall"
desc = "Allows you to force your clockwork guardian to emerge or recall as required."
button_icon_state = "clockwork_marauder"
@@ -502,10 +504,10 @@
check_flags = AB_CHECK_CONSCIOUS
buttontooltipstyle = "clockcult"
var/mob/living/simple_animal/hostile/clockwork/marauder/guardian/linked_guardian
- var/static/list/defend_phrases = list("Defend me", "Come forth", "Assist me", "Protect me", "Give aid", "Help me")
- var/static/list/return_phrases = list("Return", "Return to me", "Your job is done", "You have served", "Come back", "Retreat")
+ var/list/defend_phrases = list("Defend me", "Come forth", "Assist me", "Protect me", "Give aid", "Help me")
+ var/list/return_phrases = list("Return", "Return to me", "Your job is done", "You have served", "Come back", "Retreat")
-/datum/action/innate/summon_marauder/IsAvailable()
+/datum/action/innate/summon_guardian/IsAvailable()
if(!linked_guardian)
return FALSE
if(isliving(owner))
@@ -554,4 +556,3 @@
var/link = FOLLOW_LINK(M, src)
to_chat(M, "[link] [name_part] (to [linked_guardian] ([linked_guardian.true_name])): [message]")
return TRUE
-*/
\ No newline at end of file
diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
index d796502e68..18ef51f4a3 100644
--- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
+++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm
@@ -23,7 +23,7 @@
quickbind = TRUE
quickbind_desc = "Creates a Sigil of Transmission, which can drain and will store power for clockwork structures."
-//Prolonging Prism: Creates a prism that will delay the shuttle at a power cost
+/*//Prolonging Prism: Creates a prism that will delay the shuttle at a power cost
/datum/clockwork_scripture/create_object/prolonging_prism
descname = "Powered Structure, Delay Emergency Shuttles"
name = "Prolonging Prism"
@@ -54,7 +54,7 @@
to_chat(invoker, "\"You must be on the station to construct one of these, champion.\"")
return FALSE
return ..()
-
+*/
//Mania Motor: Creates a malevolent transmitter that will broadcast the whispers of Sevtug into the minds of nearby nonservants, causing a variety of mental effects at a power cost.
/datum/clockwork_scripture/create_object/mania_motor
@@ -99,31 +99,9 @@
quickbind = TRUE
quickbind_desc = "Creates a Clockwork Obelisk, which can send messages or open Spatial Gateways with power."
-/*//Tinkerer's Cache: Creates a tinkerer's cache, allowing global component storage.
-/datum/clockwork_scripture/create_object/tinkerers_cache
- descname = "Necessary Structure, Shares Components"
- name = "Tinkerer's Cache"
- desc = "Forms a cache that can store an infinite amount of components. All caches are linked and will provide components to slabs. \
- Striking a cache with a slab will transfer that slab's components to the global cache."
- invocations = list("Constructing...", "...a cache!")
- channel_time = 50
- consumed_components = list(BELLIGERENT_EYE = 0, VANGUARD_COGWHEEL = 0, GEIS_CAPACITOR = 0, REPLICANT_ALLOY = 1, HIEROPHANT_ANSIBLE = 0)
- object_path = /obj/structure/destructible/clockwork/cache
- creator_message = "You form a tinkerer's cache, which is capable of storing components, which will automatically be used by slabs."
- observer_message = "A hollow brass spire rises and begins to blaze!"
- usage_tip = "Slabs will draw components from the global cache after the slab's own repositories, making caches extremely useful."
- tier = SCRIPTURE_DRIVER
- one_per_tile = TRUE
- primary_component = REPLICANT_ALLOY
- sort_priority = 8
- quickbind = TRUE
- quickbind_desc = "Creates a Tinkerer's Cache, which stores components globally for slab access."
- var/static/prev_cost = 0
- */
-
-/*//Memory Allocation: Finds a willing ghost and makes them into a clockwork guardian for the invoker.
+//Memory Allocation: Finds a willing ghost and makes them into a clockwork guardian for the invoker.
/datum/clockwork_scripture/memory_allocation
- descname = "Guardian"
+ descname = "Personal Guardian, A Peice Of Your Mind."
name = "Memory Allocation"
desc = "Allocates part of your consciousness to a Clockwork Guardian, a variant of Marauder that lives within you, able to be \
called forth by Speaking its True Name or if you become exceptionally low on health.
\
@@ -154,9 +132,8 @@
if(!do_after(invoker, 50, target = invoker))
invoker.visible_message("The tendril, covered in blood, retracts from [invoker]'s head and back into the [slab.name]!", \
"Total agony overcomes you as the tendril is forced out early!")
- //invoker.notransform = FALSE
invoker.Knockdown(100)
- invoker.apply_damage(20, BRUTE, "head")//Sevtug leaves a gaping hole in your face if interrupted.
+ invoker.apply_damage(50, BRUTE, "head")//Sevtug leaves a gaping hole in your face if interrupted.
slab.busy = null
return FALSE
clockwork_say(invoker, text2ratvar("...the mind made..."))
@@ -180,7 +157,7 @@
invoker.visible_message("The tendril retracts from [invoker]'s head, sealing the entry wound as it does so!", \
"[M.true_name], a clockwork guardian, has taken up residence in your mind. Communicate with it via the \"Linked Minds\" action button.")
return TRUE
-*/
+
//Clockwork Marauder: Creates a construct shell for a clockwork marauder, a well-rounded frontline fighter.
/datum/clockwork_scripture/create_object/construct/clockwork_marauder
descname = "Well-Rounded Combat Construct"
@@ -230,14 +207,13 @@
/datum/clockwork_scripture/create_object/summon_arbiter
descname = "Powerful Assault Mech"
name = "Summon Neovgre, the Anima Bulwark"
- desc = "Calls forth the mighty Anima Bulwark, a weapon of unmatched power,\
- mech with superior defensive and offensive capabilities. It will \
+ desc = "Calls forth the mighty Anima Bulwark, a mech with superior defensive and offensive capabilities. It will \
steadily regenerate HP and triple its regeneration speed while standing \
on a clockwork tile. It will automatically draw power from nearby sigils of \
transmission should the need arise. Its Arbiter laser cannon can decimate foes \
from a range and is capable of smashing through any barrier presented to it. \
- Be warned, choosing to pilot Neovgre is a lifetime commitment, once you are \
- in you cannot leave and when it is destroyed it will explode catastrophically with you inside."
+ Be warned however, choosing to pilot Neovgre is a lifetime commitment, once you are \
+ in you cannot leave and when it is destroyed it will explode catastrophically, with you inside."
invocations = list("By the strength of the alloy...!!", "...call forth the Arbiter!!")
channel_time = 200 // This is a strong fucking weapon, 20 seconds channel time is getting off light I tell ya.
power_cost = 75000 //75 KW
@@ -247,7 +223,7 @@
object_path = /obj/mecha/combat/neovgre
tier = SCRIPTURE_APPLICATION
primary_component = BELLIGERENT_EYE
- sort_priority = 2
+ sort_priority = 5
creator_message = "Neovgre, the Anima Bulwark towers over you... your enemies reckoning has come."
/datum/clockwork_scripture/create_object/summon_arbiter/check_special_requirements()