From c0717561ff05871d0f098e04c9165db314c3c752 Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:20:29 -0600 Subject: [PATCH 1/8] puts back stargazer DM x --- .../clockcult/clock_structures/stargazer.dm | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 code/modules/antagonists/clockcult/clock_structures/stargazer.dm diff --git a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm new file mode 100644 index 0000000000..4f04fcb82b --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -0,0 +1,70 @@ +#define STARGAZER_RANGE 3 //How many tiles the stargazer can see out to +#define STARGAZER_POWER 20 //How many watts will be produced per second when the stargazer sees starlight + +//Stargazer: A very fragile but cheap generator that creates power from starlight. +/obj/structure/destructible/clockwork/stargazer + name = "stargazer" + desc = "A large lantern-shaped machine made of thin brass. It looks fragile." + clockwork_desc = "A lantern-shaped generator that produces power when near starlight." + icon_state = "stargazer" + unanchored_icon = "stargazer_unwrenched" + max_integrity = 40 + construction_value = 5 + layer = WALL_OBJ_LAYER + break_message = "The stargazer's fragile body shatters into pieces!" + resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF + light_color = "#DAAA18" + var/star_light_star_bright = FALSE //If this stargazer can see starlight + +/obj/structure/destructible/clockwork/stargazer/Initialize() + . = ..() + START_PROCESSING(SSprocessing, src) + +/obj/structure/destructible/clockwork/stargazer/Destroy() + STOP_PROCESSING(SSprocessing, src) + . = ..() + +/obj/structure/destructible/clockwork/stargazer/examine(mob/user) + ..() + if(is_servant_of_ratvar(user)) + to_chat(user, "Generates [DisplayPower(STARGAZER_POWER)] per second while viewing starlight within [STARGAZER_RANGE] tiles.") + if(star_light_star_bright) + to_chat(user, "[is_servant_of_ratvar(user) ? "It can see starlight!" : "It's shining brilliantly!"]") + +/obj/structure/destructible/clockwork/stargazer/process() + star_light_star_bright = check_starlight() + if(star_light_star_bright) + adjust_clockwork_power(STARGAZER_POWER) + +/obj/structure/destructible/clockwork/stargazer/update_anchored(mob/living/user, damage) + . = ..() + star_light_star_bright = check_starlight() + +/obj/structure/destructible/clockwork/stargazer/proc/check_starlight() + var/old_status = star_light_star_bright + var/has_starlight + if(!anchored) + has_starlight = FALSE + else + for(var/turf/T in view(3, src)) + if(isspaceturf(T)) + has_starlight = TRUE + break + if(has_starlight && anchored) + var/area/A = get_area(src) + if(A.outdoors || A.map_name == "Space" || !A.blob_allowed) + has_starlight = FALSE + if(old_status != has_starlight) + if(has_starlight) + visible_message("[src] hums and shines brilliantly!") + playsound(src, 'sound/machines/clockcult/stargazer_activate.ogg', 50, TRUE) + add_overlay("stargazer_light") + set_light(1.5, 5) + else + if(anchored) //We lost visibility somehow + visible_message("[src] flickers, and falls dark.") + else + visible_message("[src] whooshes quietly as it slides into a less bulky form.") + cut_overlays() + set_light(0) + return has_starlight From d0970e327c5d7381205d6b407b3d3f074928bcd2 Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:21:17 -0600 Subject: [PATCH 2/8] Update stargazer.dm --- .../modules/antagonists/clockcult/clock_structures/stargazer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm index 4f04fcb82b..de1cf2e297 100644 --- a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -1,5 +1,5 @@ #define STARGAZER_RANGE 3 //How many tiles the stargazer can see out to -#define STARGAZER_POWER 20 //How many watts will be produced per second when the stargazer sees starlight +#define STARGAZER_POWER 15 //How many watts will be produced per second when the stargazer sees starlight //Stargazer: A very fragile but cheap generator that creates power from starlight. /obj/structure/destructible/clockwork/stargazer From 8f04c3c20a0dd54ad66c231458ca3a94d7b39f96 Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:25:26 -0600 Subject: [PATCH 3/8] reading stargazer x --- tgstation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/tgstation.dme b/tgstation.dme index 9e9c6fe593..5a83c85569 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -1226,6 +1226,7 @@ #include "code\modules\antagonists\clockcult\clock_scriptures\scripture_scripts.dm" #include "code\modules\antagonists\clockcult\clock_structures\_trap_object.dm" #include "code\modules\antagonists\clockcult\clock_structures\ark_of_the_clockwork_justicar.dm" +#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm" #include "code\modules\antagonists\clockcult\clock_structures\clockwork_obelisk.dm" #include "code\modules\antagonists\clockcult\clock_structures\eminence_spire.dm" #include "code\modules\antagonists\clockcult\clock_structures\heralds_beacon.dm" From 0c6d84d50e6c09c4449ed91055329d3bdae8abaf Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:29:50 -0600 Subject: [PATCH 4/8] Reading stargazers because why not --- .../clock_scriptures/scripture_drivers.dm | 46 +++++++++++++++---- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm index 6415d9f91a..0a9a4315ad 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm @@ -2,6 +2,32 @@ // DRIVERS // ///////////// +//Stargazer: Creates a stargazer, a cheap power generator that utilizes starlight. +/datum/clockwork_scripture/create_object/stargazer + descname = "Generates Power From Starlight - Important!" + name = "Stargazer" + desc = "Forms a weak structure that generates power every second while within three tiles of starlight." + invocations = list("Capture their inferior light for us!") + channel_time = 50 + power_cost = 50 + object_path = /obj/structure/destructible/clockwork/stargazer + creator_message = "You form a stargazer, which will generate power near starlight." + observer_message = "A large lantern-shaped machine forms!" + usage_tip = "For obvious reasons, make sure to place this near a window or somewhere else that can see space!" + tier = SCRIPTURE_DRIVER + one_per_tile = TRUE + primary_component = HIEROPHANT_ANSIBLE + sort_priority = 1 + quickbind = TRUE + quickbind_desc = "Creates a stargazer, which generates power when near starlight." + +/datum/clockwork_scripture/create_object/stargazer/check_special_requirements() + var/area/A = get_area(invoker) + if(A.outdoors || A.map_name == "Space" || !A.blob_allowed) + to_chat(invoker, "Stargazers can't be built off-station.") + return + return ..() + //Integration Cog: Creates an integration cog that can be inserted into APCs to passively siphon power. /datum/clockwork_scripture/create_object/integration_cog @@ -18,7 +44,7 @@ tier = SCRIPTURE_DRIVER space_allowed = TRUE primary_component = HIEROPHANT_ANSIBLE - sort_priority = 1 + sort_priority = 2 important = TRUE quickbind = TRUE quickbind_desc = "Creates an integration cog, which can be used to siphon power from an open APC." @@ -39,7 +65,7 @@ tier = SCRIPTURE_DRIVER one_per_tile = TRUE primary_component = HIEROPHANT_ANSIBLE - sort_priority = 2 + sort_priority = 3 quickbind = TRUE quickbind_desc = "Creates a Sigil of Transgression, which will briefly stun and slow the next non-Servant to cross it." @@ -59,7 +85,7 @@ tier = SCRIPTURE_DRIVER one_per_tile = TRUE primary_component = HIEROPHANT_ANSIBLE - sort_priority = 3 + sort_priority = 4 quickbind = TRUE quickbind_desc = "Creates a Sigil of Submission, which will convert non-Servants that remain on it." @@ -76,7 +102,7 @@ usage_tip = "The light can be used from up to two tiles away. Damage taken will GREATLY REDUCE the stun's duration." tier = SCRIPTURE_DRIVER primary_component = BELLIGERENT_EYE - sort_priority = 4 + sort_priority = 5 slab_overlay = "volt" ranged_type = /obj/effect/proc_holder/slab/kindle ranged_message = "You charge the clockwork slab with divine energy.\n\ @@ -100,7 +126,7 @@ usage_tip = "The manacles are about as strong as zipties, and break when removed." tier = SCRIPTURE_DRIVER primary_component = BELLIGERENT_EYE - sort_priority = 5 + sort_priority = 6 ranged_type = /obj/effect/proc_holder/slab/hateful_manacles slab_overlay = "hateful_manacles" ranged_message = "You charge the clockwork slab with divine energy.\n\ @@ -124,7 +150,7 @@ usage_tip = "You cannot reactivate Vanguard while still shielded by it." tier = SCRIPTURE_DRIVER primary_component = VANGUARD_COGWHEEL - sort_priority = 6 + sort_priority = 7 quickbind = TRUE quickbind_desc = "Allows you to temporarily have quickly regenerating stamina and absorb stuns. All stuns absorbed will affect you when disabled." @@ -156,7 +182,7 @@ usage_tip = "The Compromise is very fast to invoke, and will remove holy water from the target Servant." tier = SCRIPTURE_DRIVER primary_component = VANGUARD_COGWHEEL - sort_priority = 7 + sort_priority = 8 quickbind = TRUE quickbind_desc = "Allows you to convert a Servant's brute, burn, and oxygen damage to half toxin damage.
Click your slab to disable." slab_overlay = "compromise" @@ -180,7 +206,7 @@ usage_tip = "This can't be used while on Reebe, for obvious reasons." tier = SCRIPTURE_DRIVER primary_component = GEIS_CAPACITOR - sort_priority = 8 + sort_priority = 9 important = TRUE quickbind = TRUE quickbind_desc = "Returns you to Reebe." @@ -238,7 +264,7 @@ tier = SCRIPTURE_DRIVER space_allowed = TRUE primary_component = GEIS_CAPACITOR - sort_priority = 9 + sort_priority = 10 important = TRUE quickbind = TRUE quickbind_desc = "Creates a new Clockwork Slab." @@ -259,6 +285,6 @@ tier = SCRIPTURE_DRIVER space_allowed = TRUE primary_component = GEIS_CAPACITOR - sort_priority = 10 + sort_priority = 11 quickbind = TRUE quickbind_desc = "Creates a pair of Wraith Spectacles, which grant true sight but cause gradual vision loss." From e8299db245a4ac1900670855951959d5ecef961d Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:44:39 -0600 Subject: [PATCH 5/8] Readding stargazer --- .../clockcult/clock_items/clockwork_slab.dm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm index d7ae0c7fc6..ec712f2eec 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_slab.dm @@ -44,12 +44,13 @@ /obj/item/clockwork/slab/cyborg //three scriptures, plus a spear and fabricator clockwork_desc = "A divine link to the Celestial Derelict, allowing for limited recital of scripture." - quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard) + quickbound = list(/datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/ranged_ability/linked_vanguard, \ + /datum/clockwork_scripture/create_object/stargazer) maximum_quickbound = 6 //we usually have one or two unique scriptures, so if ratvar is up let us bind one more actions_types = list() -/obj/item/clockwork/slab/cyborg/engineer //two scriptures, plus a fabricator - quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission) +/obj/item/clockwork/slab/cyborg/engineer //three scriptures, plus a fabricator + quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transmission, /datum/clockwork_scripture/create_object/stargazer) /obj/item/clockwork/slab/cyborg/medical //five scriptures, plus a spear quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/ranged_ability/sentinels_compromise, \ @@ -61,12 +62,12 @@ /obj/item/clockwork/slab/cyborg/peacekeeper //two scriptures, plus a spear quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/ranged_ability/hateful_manacles, /datum/clockwork_scripture/ranged_ability/judicial_marker) -/obj/item/clockwork/slab/cyborg/janitor //five scriptures, plus a fabricator +/obj/item/clockwork/slab/cyborg/janitor //six scriptures, plus a fabricator quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transgression, \ - /datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor) + /datum/clockwork_scripture/create_object/stargazer, /datum/clockwork_scripture/create_object/ocular_warden, /datum/clockwork_scripture/create_object/mania_motor) -/obj/item/clockwork/slab/cyborg/service //five scriptures, plus xray vision - quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant, \ +/obj/item/clockwork/slab/cyborg/service //six scriptures, plus xray vision + quickbound = list(/datum/clockwork_scripture/abscond, /datum/clockwork_scripture/create_object/replicant,/datum/clockwork_scripture/create_object/stargazer, \ /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/create_object/clockwork_obelisk) /obj/item/clockwork/slab/cyborg/miner //two scriptures, plus a spear and xray vision From 6e3722fede96fc86d5c54e02e941cceaf2aa8083 Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Wed, 8 May 2019 07:49:07 -0600 Subject: [PATCH 6/8] increased costs of power with stargazers coming back I need to jack up these values in order to compensate for the severe buff --- code/__DEFINES/clockcult.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/clockcult.dm b/code/__DEFINES/clockcult.dm index 070b92acc7..47b00e67f7 100644 --- a/code/__DEFINES/clockcult.dm +++ b/code/__DEFINES/clockcult.dm @@ -28,9 +28,9 @@ GLOBAL_LIST_EMPTY(all_scripture) //a list containing scripture instances; not us #define SCRIPTURE_APPLICATION "Application" //Various costs related to power. -#define MAX_CLOCKWORK_POWER 50000 //The max power in W that the cult can stockpile -#define SCRIPT_UNLOCK_THRESHOLD 25000 //Scripts will unlock if the total power reaches this amount -#define APPLICATION_UNLOCK_THRESHOLD 40000 //Applications will unlock if the total powre reaches this amount +#define MAX_CLOCKWORK_POWER 80000 //The max power in W that the cult can stockpile +#define SCRIPT_UNLOCK_THRESHOLD 35000 //Scripts will unlock if the total power reaches this amount +#define APPLICATION_UNLOCK_THRESHOLD 50000 //Applications will unlock if the total powre reaches this amount #define ABSCOND_ABDUCTION_COST 95 From 9fd61b660d840f0c3116c8fead428aa5ffb6e207 Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Fri, 10 May 2019 01:55:25 -0600 Subject: [PATCH 7/8] modifying to make it take far more power to produce x --- .../clockcult/clock_scriptures/scripture_drivers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm index 0a9a4315ad..552a747651 100644 --- a/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm +++ b/code/modules/antagonists/clockcult/clock_scriptures/scripture_drivers.dm @@ -4,12 +4,12 @@ //Stargazer: Creates a stargazer, a cheap power generator that utilizes starlight. /datum/clockwork_scripture/create_object/stargazer - descname = "Generates Power From Starlight - Important!" + descname = "Generates Power From Starlight" name = "Stargazer" desc = "Forms a weak structure that generates power every second while within three tiles of starlight." invocations = list("Capture their inferior light for us!") channel_time = 50 - power_cost = 50 + power_cost = 200 object_path = /obj/structure/destructible/clockwork/stargazer creator_message = "You form a stargazer, which will generate power near starlight." observer_message = "A large lantern-shaped machine forms!" From 7a8adff8e057fcf07a3b1cd4e25a45fc333088cf Mon Sep 17 00:00:00 2001 From: Scorpion-117 <33163527+Scorpion-117@users.noreply.github.com> Date: Fri, 10 May 2019 01:58:53 -0600 Subject: [PATCH 8/8] testing a value of 7 x --- .../modules/antagonists/clockcult/clock_structures/stargazer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm index de1cf2e297..57f83c55aa 100644 --- a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -1,5 +1,5 @@ #define STARGAZER_RANGE 3 //How many tiles the stargazer can see out to -#define STARGAZER_POWER 15 //How many watts will be produced per second when the stargazer sees starlight +#define STARGAZER_POWER 7 //How many watts will be produced per second when the stargazer sees starlight //Stargazer: A very fragile but cheap generator that creates power from starlight. /obj/structure/destructible/clockwork/stargazer