From 0187b8827847a468f9b86c1cfb6e67605a0521a6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 26 Nov 2019 15:40:31 -0700 Subject: [PATCH 01/11] Update scripture_applications.dm --- .../scripture_applications.dm | 37 +++++++------------ 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index 3d467350ff..12fad2b7e0 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -87,9 +87,18 @@ object_path = /obj/item/clockwork/construct_chassis/clockwork_marauder construct_type = /mob/living/simple_animal/hostile/clockwork/marauder combat_construct = TRUE - var/static/recent_marauders = 0 - var/static/time_since_last_marauder = 0 - var/static/scaled_recital_time = 0 + var/static/last_marauder = 0 + +/datum/clockwork_scripture/create_object/construct/clockwork_marauder/post_recital() + last_marauder = world.time + return ..() + +/datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() + if(!is_reebe(invoker.z) && (world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)))) + to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \ + You must wait another [DisplayTimeText((last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)) - world.time, TRUE)]!") + return FALSE + return ..() /datum/clockwork_scripture/create_object/construct/clockwork_marauder/update_construct_limit() var/human_servants = 0 @@ -98,27 +107,7 @@ var/mob/living/L = M.current if(ishuman(L) && L.stat != DEAD) human_servants++ - construct_limit = round(CLAMP((human_servants / 4), 1, 3)) - recent_marauders //1 per 4 human servants, maximum of 3, reduced by recent marauder creation - if(recent_marauders) - to_chat(invoker, "The Hierophant Network is depleted by a summoning in the last [DisplayTimeText(MARAUDER_SCRIPTURE_SCALING_THRESHOLD, TRUE)] - limiting the number of available marauders by [recent_marauders]!") - -/datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() - channel_time = initial(channel_time) - if(recent_marauders) - scaled_recital_time = min(recent_marauders * MARAUDER_SCRIPTURE_SCALING_TIME, MARAUDER_SCRIPTURE_SCALING_MAX) - to_chat(invoker, "The Hierophant Network is under strain from repeated summoning, making this scripture [DisplayTimeText(scaled_recital_time)] slower!") - channel_time += scaled_recital_time - return TRUE - -/datum/clockwork_scripture/create_object/construct/clockwork_marauder/scripture_effects() - . = ..() - recent_marauders++ - addtimer(CALLBACK(GLOBAL_PROC, .proc/marauder_reset),MARAUDER_SCRIPTURE_SCALING_THRESHOLD) - -/proc/marauder_reset() - var/datum/clockwork_scripture/create_object/construct/clockwork_marauder/CM = new() - CM.recent_marauders-- - qdel(CM) + construct_limit = round(CLAMP((human_servants / 4), 1, 3)) //1 per 4 human servants, maximum of 3 //Summon Neovgre: Summon a very powerful combat mech that explodes when destroyed for massive damage. /datum/clockwork_scripture/create_object/summon_arbiter From cf141c3a927fc728b395ab3c042b0f903a1d24c5 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 26 Nov 2019 15:41:32 -0700 Subject: [PATCH 02/11] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fdddbda344..ee46842743 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -379,3 +379,7 @@ /datum/config_entry/number/auto_transfer_delay config_entry_value = 72000 min_val = 0 + +/datum/config_entry/number/marauder_delay_non_reebe + config_entry_value = 1800 + min_val = 0 From 2f58e4527a9279376d5cf9989333f64c93c65938 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 26 Nov 2019 15:47:04 -0700 Subject: [PATCH 03/11] Update clockwork_marauder.dm --- .../clockcult/clock_mobs/clockwork_marauder.dm | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index 42ca9e07e2..6c2a7b5f71 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -1,5 +1,6 @@ #define MARAUDER_SLOWDOWN_PERCENTAGE 0.40 //Below this percentage of health, marauders will become slower #define MARAUDER_SHIELD_REGEN_TIME 200 //In deciseconds, how long it takes for shields to regenerate after breaking +#define MARAUDER_SPACE_DAMAGE 4 //amount of damage taking per Life() tick from space. //Clockwork marauder: A well-rounded frontline construct. Only one can exist for every two human servants. /mob/living/simple_animal/hostile/clockwork/marauder @@ -20,12 +21,14 @@ movement_type = FLYING a_intent = INTENT_HARM loot = list(/obj/item/clockwork/component/geis_capacitor/fallen_armor) - light_range = 2 - light_power = 1.1 + light_range = 3 + light_power = 1.7 playstyle_string = "You are a clockwork marauder, a well-rounded frontline construct of Ratvar. Although you have no \ unique abilities, you're a fearsome fighter in one-on-one combat, and your shield protects from projectiles!

Obey the Servants and do as they \ - tell you. Your primary goal is to defend the Ark from destruction; they are your allies in this, and should be protected from harm.
" + tell you. Your primary goal is to defend the Ark from destruction; they are your allies in this, and should be protected from harm. \ + Be warned, however, that you will rapidly decay near the void of space." empower_string = "The Anima Bulwark's power flows through you! Your weapon will strike harder, your armor is sturdier, and your shield is more durable." + var/default_speed = 0 var/max_shield_health = 3 var/shield_health = 3 //Amount of projectiles that can be deflected within var/shield_health_regen = 0 //When world.time equals this, shield health will regenerate @@ -36,10 +39,14 @@ /mob/living/simple_animal/hostile/clockwork/marauder/Life() ..() + var/turf/open/space/S = locate() in view(1) + if(S) + to_chat(src, "The void of space drains Ratvar's Light from you! You feel yourself rapidly decaying. It would be wise to get back inside!") + adjustBruteLoss(MARAUDER_SPACE_DAMAGE) if(!GLOB.ratvar_awakens && health / maxHealth <= MARAUDER_SLOWDOWN_PERCENTAGE) - speed = initial(speed) + 1 //Yes, this slows them down + speed = default_speed + 1 //Yes, this slows them down else - speed = initial(speed) + speed = default_speed if(shield_health < max_shield_health && world.time >= shield_health_regen) shield_health_regen = world.time + MARAUDER_SHIELD_REGEN_TIME to_chat(src, "Your shield has recovered, [shield_health] blocks remaining!") From ff5e07ac675bea56c36027aec7d757df51195da8 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 26 Nov 2019 15:54:15 -0700 Subject: [PATCH 04/11] Update clockwork_marauder.dm --- .../clockcult/clock_mobs/clockwork_marauder.dm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index 6c2a7b5f71..a8d4ad6790 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -1,6 +1,7 @@ #define MARAUDER_SLOWDOWN_PERCENTAGE 0.40 //Below this percentage of health, marauders will become slower #define MARAUDER_SHIELD_REGEN_TIME 200 //In deciseconds, how long it takes for shields to regenerate after breaking -#define MARAUDER_SPACE_DAMAGE 4 //amount of damage taking per Life() tick from space. +#define MARAUDER_SPACE_DIRECT_DAMAGE 6 //amount of damage per life tick while inside space +#define MARAUDER_SPACE_NEAR_DAMAGE 4 //amount of damage taking per Life() tick from being next to space. //Clockwork marauder: A well-rounded frontline construct. Only one can exist for every two human servants. /mob/living/simple_animal/hostile/clockwork/marauder @@ -39,10 +40,17 @@ /mob/living/simple_animal/hostile/clockwork/marauder/Life() ..() - var/turf/open/space/S = locate() in view(1) + var/turf/T = get_turf(src) + var/turf/open/space/S = isspaceturf(T)? T : null + var/less_space_damage + if(!istype(S)) + var/turf/open/space/nearS = locate() in oview(1) + if(nearS) + S = nearS + less_space_damage = TRUE if(S) to_chat(src, "The void of space drains Ratvar's Light from you! You feel yourself rapidly decaying. It would be wise to get back inside!") - adjustBruteLoss(MARAUDER_SPACE_DAMAGE) + adjustBruteLoss(less_space_damage? MARAUDER_SPACE_NEAR_DAMAGE : MARAUDER_SPACE_FULL_DAMAGE) if(!GLOB.ratvar_awakens && health / maxHealth <= MARAUDER_SLOWDOWN_PERCENTAGE) speed = default_speed + 1 //Yes, this slows them down else From 00bc22d3750f5a3836f872d180e236637c7d8f5b Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 26 Nov 2019 19:27:05 -0700 Subject: [PATCH 05/11] Update clockwork_marauder.dm --- .../antagonists/clockcult/clock_mobs/clockwork_marauder.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm index a8d4ad6790..311f552467 100644 --- a/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm +++ b/code/modules/antagonists/clockcult/clock_mobs/clockwork_marauder.dm @@ -1,6 +1,6 @@ #define MARAUDER_SLOWDOWN_PERCENTAGE 0.40 //Below this percentage of health, marauders will become slower #define MARAUDER_SHIELD_REGEN_TIME 200 //In deciseconds, how long it takes for shields to regenerate after breaking -#define MARAUDER_SPACE_DIRECT_DAMAGE 6 //amount of damage per life tick while inside space +#define MARAUDER_SPACE_FULL_DAMAGE 6 //amount of damage per life tick while inside space #define MARAUDER_SPACE_NEAR_DAMAGE 4 //amount of damage taking per Life() tick from being next to space. //Clockwork marauder: A well-rounded frontline construct. Only one can exist for every two human servants. From f776db7ab1a5294fbc514fb554a94c3988343aa7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 27 Nov 2019 21:16:42 -0700 Subject: [PATCH 06/11] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index ee46842743..d72d7393a5 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -383,3 +383,6 @@ /datum/config_entry/number/marauder_delay_non_reebe config_entry_value = 1800 min_val = 0 + +/datum/config_entry/flag/allow_clockwork_marauder + config_entry_value = TRUE From 4719de2830368c7ba2171bc31f70578126bcc612 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 27 Nov 2019 21:19:51 -0700 Subject: [PATCH 07/11] Update scripture_applications.dm --- .../clock_scriptures/scripture_applications.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index 12fad2b7e0..ccf4aa45f1 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -94,10 +94,15 @@ return ..() /datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() - if(!is_reebe(invoker.z) && (world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)))) - to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \ - You must wait another [DisplayTimeText((last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)) - world.time, TRUE)]!") - return FALSE + if(!is_reebe(invoker.z)) + if(!CONFIG_GET(flag/allow_clockwork_marauder_on_station)) + to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here \ + ((OOC NOTE: Station marauders are config-disabled.))") + return FALSE + if(world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe))) + to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \ + You must wait another [DisplayTimeText((last_marauder + CONFIG_GET(number/marauder_delay_non_reebe)) - world.time, TRUE)]!") + return FALSE return ..() /datum/clockwork_scripture/create_object/construct/clockwork_marauder/update_construct_limit() From 9fef2343a72a1261b8ab086b5a6939c9429c5948 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 27 Nov 2019 21:20:12 -0700 Subject: [PATCH 08/11] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index d72d7393a5..e263b1dd36 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -384,5 +384,5 @@ config_entry_value = 1800 min_val = 0 -/datum/config_entry/flag/allow_clockwork_marauder +/datum/config_entry/flag/allow_station_clockwork_marauder config_entry_value = TRUE From 4551a795e41957483702b10b3f1ebc59a1fd90d6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Wed, 27 Nov 2019 21:20:33 -0700 Subject: [PATCH 09/11] Update game_options.dm --- code/controllers/configuration/entries/game_options.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index e263b1dd36..21d9d4e093 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -384,5 +384,5 @@ config_entry_value = 1800 min_val = 0 -/datum/config_entry/flag/allow_station_clockwork_marauder +/datum/config_entry/flag/allow_clockwork_marauder_on_station config_entry_value = TRUE From daf099388e32e88fedcbcf61543eebb75349b747 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 21 Dec 2019 16:37:28 +0100 Subject: [PATCH 10/11] Unnecessary OOC note. --- .../clockcult/clock_scriptures/scripture_applications.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index ccf4aa45f1..5a473d4778 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -96,8 +96,7 @@ /datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() if(!is_reebe(invoker.z)) if(!CONFIG_GET(flag/allow_clockwork_marauder_on_station)) - to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here \ - ((OOC NOTE: Station marauders are config-disabled.))") + to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here.) return FALSE if(world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe))) to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \ From 2a76743747e7003205d69279df6500350710c598 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 21 Dec 2019 16:42:27 +0100 Subject: [PATCH 11/11] I'm playing dirty because we have too many PRs to merge anyway. --- .../clockcult/clock_scriptures/scripture_applications.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm index 5a473d4778..13b1b9975e 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_applications.dm @@ -96,7 +96,7 @@ /datum/clockwork_scripture/create_object/construct/clockwork_marauder/pre_recital() if(!is_reebe(invoker.z)) if(!CONFIG_GET(flag/allow_clockwork_marauder_on_station)) - to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here.) + to_chat(invoker, "This particular station is too far from the influence of the Hierophant Network. You can not summon a marauder here.") return FALSE if(world.time < (last_marauder + CONFIG_GET(number/marauder_delay_non_reebe))) to_chat(invoker, "The hierophant network is still strained from the last summoning of a marauder on a plane without the strong energy connection of Reebe to support it. \