diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 6d59ad2de81..13fd36b39eb 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -25,6 +25,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed var/multiple_invokers_used = FALSE //If scripture requires more than one invoker var/multiple_invokers_optional = FALSE //If scripture can have multiple invokers to bolster its effects var/tier = SCRIPTURE_PERIPHERAL //The scripture's tier + var/logname = "XX" //what the scripture logs as when recited; make sure this is unique for each scripture! //components the scripture used from a slab var/list/used_slab_components = list("belligerent_eye" = 0, "vanguard_cogwheel" = 0, "guvax_capacitor" = 0, "replicant_alloy" = 0, "hierophant_ansible" = 0) @@ -59,6 +60,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed for(var/i in used_cache_components) if(used_cache_components[i]) clockwork_component_cache[i] += consumed_components[i] + else if(slab && !slab.no_cost) //if the slab exists and isn't debug, log the scripture as being used + feedback_add_details("clockcult_scripture_recited", log_name) if(slab) slab.busy = null qdel(src) @@ -192,6 +195,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed required_components = list("belligerent_eye" = 1) usage_tip = "Useful for crowd control in a populated area and disrupting mass movement." tier = SCRIPTURE_DRIVER + logname = "BEL" /datum/clockwork_scripture/channeled/belligerent/chant_effects(chant_number) for(var/mob/living/carbon/C in hearers(7, invoker)) @@ -223,6 +227,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed creator_message = "You form a judicial visor, which is capable of smiting the unworthy." usage_tip = "The visor has a thirty-second cooldown once used, and the marker it creates has a delay of 3 seconds before exploding." tier = SCRIPTURE_DRIVER + logname = "JV" @@ -236,6 +241,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed required_components = list("vanguard_cogwheel" = 1) usage_tip = "You cannot reactivate Vanguard while still shielded by it." tier = SCRIPTURE_DRIVER + logname = "VAN" var/total_duration = 200 /datum/clockwork_scripture/vanguard/check_special_requirements() @@ -284,6 +290,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("vanguard_cogwheel" = 1) usage_tip = "The Compromise is very fast to invoke." tier = SCRIPTURE_DRIVER + logname = "SC" /datum/clockwork_scripture/sentinels_compromise/scripture_effects() var/list/nearby_cultists = list() @@ -326,6 +333,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed required_components = list("guvax_capacitor" = 1) usage_tip = "Only works on those in melee range and does not penetrate mindshield implants. Much more efficient than a Sigil of Submission at low Servant amounts." tier = SCRIPTURE_DRIVER + logname = "GUV" /datum/clockwork_scripture/guvax/run_scripture() var/servants = 0 @@ -361,6 +369,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("guvax_capacitor" = 1) usage_tip = "Useful for fleeing attackers, as few will be able to follow someone using this scripture." tier = SCRIPTURE_DRIVER + logname = "TT" var/flee_time = 47 //allow fleeing for 5 seconds var/grace_period = 3 //very short grace period so you don't have to stop immediately var/datum/progressbar/progbar @@ -401,6 +410,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed whispered = TRUE usage_tip = "This is inefficient as a way to produce components, as the slab produced must be held by someone with no other slabs to produce components." tier = SCRIPTURE_DRIVER + logname = "REP" /datum/clockwork_scripture/replicant/scripture_effects() invoker << "You copy a piece of replicant alloy and command it into a new slab." //No visible message, for stealth purposes @@ -424,6 +434,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Slabs will draw components from the global cache after the slab's own repositories, making caches very efficient." tier = SCRIPTURE_DRIVER one_per_tile = TRUE + logname = "TC" /datum/clockwork_scripture/create_object/tinkerers_cache/New() var/cache_cost_increase = min(round(clockwork_caches*0.2), 5) @@ -449,6 +460,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed creator_message = "You form a pair of wraith spectacles, which will grant true sight when worn." usage_tip = "\"True sight\" means that you are able to see through walls and in darkness." tier = SCRIPTURE_DRIVER + logname = "WS" @@ -466,6 +478,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "The sigil, while fairly powerful in its stun, does not induce muteness in its victim." tier = SCRIPTURE_DRIVER one_per_tile = TRUE + logname = "SoT" ///////////// // SCRIPTS // @@ -485,6 +498,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Although powerful, the warden is very weak and should optimally be placed behind barricades." tier = SCRIPTURE_SCRIPT one_per_tile = TRUE + logname = "OW" /datum/clockwork_scripture/create_object/ocular_warden/check_special_requirements() for(var/obj/structure/clockwork/ocular_warden/W in range(3, invoker)) @@ -504,6 +518,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("guvax_capacitor" = 1, "hierophant_ansible" = 1) usage_tip = "If standing on a Sigil of Transmission, will transfer power to it. Augumented limbs will also be healed unless above a very high threshhold." tier = SCRIPTURE_SCRIPT + logname = "VV" var/total_power_drained = 0 var/power_damage_threshhold = 3000 var/augument_damage_threshhold = 6000 @@ -593,6 +608,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed creator_message = "You form a clockwork proselytizer, which is already pre-loaded with a small amount of replicant alloy." usage_tip = "Clockwork walls cause adjacent tinkerer's caches to generate components passively, making them a vital tool. Clockwork floors heal servants standing on them." tier = SCRIPTURE_SCRIPT + logname = "CP" @@ -607,6 +623,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1) usage_tip = "Before using, advise adjacent allies to remove their helmets, external suits, gloves, and shoes." tier = SCRIPTURE_SCRIPT + logname = "FA" multiple_invokers_used = TRUE multiple_invokers_optional = TRUE @@ -642,6 +659,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed whispered = TRUE usage_tip = "You can impale human targets with the spear by pulling them, then attacking. Throwing the spear at a mob will do massive damage and stun them, but break the spear." tier = SCRIPTURE_SCRIPT + logname = "FC" /datum/clockwork_scripture/function_call/check_special_requirements() for(var/datum/action/innate/function_call/F in invoker.actions) @@ -670,6 +688,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed multiple_invokers_optional = TRUE usage_tip = "This gateway is strictly one-way and will only allow things through the invoker's portal." tier = SCRIPTURE_SCRIPT + logname = "SG" /datum/clockwork_scripture/spatial_gateway/check_special_requirements() if(!isturf(invoker.loc)) @@ -713,6 +732,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed creator_message = "You form a soul vessel, which can be used in-hand to attract spirits, or used on an unconscious or dead human to extract their consciousness." usage_tip = "The vessel can be used as a teleport target for Spatial Gateway, though it is generally better-used by placing it in a shell." tier = SCRIPTURE_SCRIPT + logname = "SV" @@ -729,6 +749,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed observer_message = "The slab disgorges a puddle of black metal that contracts and forms into a strange shell!" usage_tip = "Useless without a soul vessel and should not be created without one." tier = SCRIPTURE_SCRIPT + logname = "COG" @@ -746,6 +767,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "This is not a primary conversion method - use Guvax for that. It is advantageous as a trap, however, as it will transmit the name of the newly-converted." tier = SCRIPTURE_SCRIPT one_per_tile = TRUE + logname = "SoS" ////////////////// @@ -766,6 +788,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed observer_message = "The slab disgorges a puddle of black metal that expands and forms into a strange shell!" usage_tip = "Useless without a soul vessel and should not be created without one." tier = SCRIPTURE_APPLICATION + logname = "AF" @@ -785,6 +808,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "It will remain after converting a target, unless that target has a mindshield implant, which it will break to convert them, but consume itself in the process." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "SoA" @@ -802,6 +826,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Can be recharged by using Volt Void while standing on it." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "SoT" @@ -820,6 +845,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "To revive a servant, the sigil must have 20 vitality plus the target servant's non-oxygen damage. It will still heal dead servants if it lacks the vitality to outright revive them." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "VM" /datum/clockwork_scripture/memory_allocation //Memory Allocation: Finds a willing ghost and makes them into a clockwork marauders for the invoker. @@ -835,6 +861,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "guvax_capacitor" = 2) usage_tip = "Marauders are useful as personal bodyguards and frontline warriors, although they do little damage." tier = SCRIPTURE_APPLICATION + logname = "MA" /datum/clockwork_scripture/memory_allocation/check_special_requirements() for(var/mob/living/simple_animal/hostile/clockwork/marauder/M in living_mob_list) @@ -905,6 +932,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "If it fails to funnel power into a nearby Sigil of Transmission and fails to disable even one thing, it will disable itself for two minutes." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "IL" @@ -924,6 +952,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Powerful healing but power use is very inefficient, and its alloy use is little better." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "MEM" @@ -943,6 +972,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Producing a gateway has a high power cost. Gateways to or between clockwork obelisks recieve double duration and uses." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "CO" @@ -962,6 +992,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Eligible human servants next to the motor will be converted at an additional power cost. It will also cure hallucinations and brain damage in nearby servants." tier = SCRIPTURE_APPLICATION one_per_tile = TRUE + logname = "MAM" @@ -977,6 +1008,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed creator_message = "You form a daemon shell. Attach it to a tinkerer's cache to increase its rate of production." usage_tip = "Vital to your success!" tier = SCRIPTURE_APPLICATION + logname = "TD" /datum/clockwork_scripture/create_object/tinkerers_daemon/check_special_requirements() var/servants = 0 @@ -1008,6 +1040,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Ocular wardens will become empowered, clockwork proselytizers will require no alloy, tinkerer's daemons will produce twice as quickly, \ and interdiction lenses, mending motors, mania motors, and clockwork obelisks will all require no power." tier = SCRIPTURE_REVENANT + logname = "INBE" /datum/clockwork_scripture/invoke_nezbere/check_special_requirements() if(!slab.no_cost && clockwork_generals_invoked["nezbere"] > world.time) @@ -1059,6 +1092,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("belligerent_eye" = 3, "vanguard_cogwheel" = 3, "guvax_capacitor" = 6, "hierophant_ansible" = 3) usage_tip = "Causes brain damage, hallucinations, confusion, and dizziness in massive amounts." tier = SCRIPTURE_REVENANT + logname = "ISFP" invokers_required = 3 multiple_invokers_used = TRUE var/list/mindbreaksayings = list("\"Oh, great. I get to shatter some minds.\"", "\"More minds to crush.\"", \ @@ -1129,6 +1163,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed consumed_components = list("belligerent_eye" = 3, "guvax_capacitor" = 3, "replicant_alloy" = 3, "hierophant_ansible" = 6) usage_tip = "Struck targets will also be knocked down for about sixteen seconds." tier = SCRIPTURE_REVENANT + logname = "INET" /datum/clockwork_scripture/invoke_nzcrentr/check_special_requirements() if(!slab.no_cost && clockwork_generals_invoked["nzcrentr"] > world.time) @@ -1191,6 +1226,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "Those affected by this scripture are only weak to things that outright destroy bodies, such as bombs or the singularity." tier = SCRIPTURE_REVENANT var/total_duration = 150 + logname = "IIRC" /datum/clockwork_scripture/invoke_inathneq/check_special_requirements() if(!slab.no_cost && clockwork_generals_invoked["inath-neq"] > world.time) @@ -1241,6 +1277,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed usage_tip = "The gateway is completely vulnerable to attack during its five-minute duration. It will periodically give indication of its general position to everyone on the station \ as well as being loud enough to be heard throughout the entire sector. Defend it with your life!" tier = SCRIPTURE_JUDGEMENT + logname = "AoCJ" /datum/clockwork_scripture/ark_of_the_clockwork_justiciar/New() if(ticker && ticker.mode && ticker.mode.clockwork_objective != CLOCKCULT_GATEWAY)