From b24726f0ab8fba359be0f4bfe4eff7d155de394a Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:14:50 +0300 Subject: [PATCH 1/7] e --- code/__DEFINES/lighting.dm | 1 + .../clockcult/clock_structures/stargazer.dm | 191 ++++++++++++++++++ 2 files changed, 192 insertions(+) create mode 100644 code/modules/antagonists/clockcult/clock_structures/stargazer.dm diff --git a/code/__DEFINES/lighting.dm b/code/__DEFINES/lighting.dm index d42cd4c9059c..1549afd6c5c8 100644 --- a/code/__DEFINES/lighting.dm +++ b/code/__DEFINES/lighting.dm @@ -66,6 +66,7 @@ #define LIGHT_COLOR_HOLY_MAGIC "#FFF743" /// deep crimson #define LIGHT_COLOR_BLOOD_MAGIC "#D00000" +#define LIGHT_COLOR_CLOCKWORK "#BE8700" //These ones aren't a direct colour like the ones above, because nothing would fit /// Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25) 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 000000000000..8af8a9d2a997 --- /dev/null +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -0,0 +1,191 @@ +//==================================// +// ! Stargazer ! // +//==================================// +/datum/clockwork_scripture/create_object/construct/stargazer + descname = "Structure, Stargazer" + name = "Stargazer" + desc = "Allows you to enchant your weapons and armor, however enchanting can have risky side effects." + usage_tip = "Make your gear more powerful by enchanting them with stargazers." + power_cost = 600 + channel_time = 8 SECONDS + invocations = list("A light of Engine shall empower my armaments!") + object_path = /obj/structure/destructible/clockwork/gear_base/stargazer + one_per_tile = TRUE + primary_component = HIEROPHANT_ANSIBLE + tier = SCRIPTURE_SCRIPT + +//Stargazer light + +/obj/effect/stargazer_light + icon = 'icons/obj/clockwork_objects.dmi' + icon_state = "stargazer_closed" + pixel_y = 10 + layer = FLY_LAYER + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + alpha = 160 + var/active_timer + +/obj/effect/stargazer_light/ex_act() + return + +/obj/effect/stargazer_light/Destroy(force) + cancel_timer() + . = ..() + +/obj/effect/stargazer_light/proc/finish_opening() + icon_state = "stargazer_light" + active_timer = null + +/obj/effect/stargazer_light/proc/finish_closing() + icon_state = "stargazer_closed" + active_timer = null + +/obj/effect/stargazer_light/proc/open() + icon_state = "stargazer_opening" + cancel_timer() + active_timer = addtimer(CALLBACK(src, .proc/finish_opening), 2, TIMER_STOPPABLE | TIMER_UNIQUE) + +/obj/effect/stargazer_light/proc/close() + icon_state = "stargazer_closing" + cancel_timer() + active_timer = addtimer(CALLBACK(src, .proc/finish_closing), 2, TIMER_STOPPABLE | TIMER_UNIQUE) + +/obj/effect/stargazer_light/proc/cancel_timer() + if(active_timer) + deltimer(active_timer) + +#define STARGAZER_COOLDOWN 1800 + +//Stargazer structure +/obj/structure/destructible/clockwork/stargazer + name = "stargazer" + desc = "A small pedestal, glowing with a divine energy." + clockwork_desc = "A small pedestal, glowing with a divine energy. Used to provide special powers and abilities to items." + icon_state = "stargazer" + anchored = TRUE + break_message = "The stargazer collapses." + var/cooldowntime = 0 + var/mobs_in_range = FALSE + var/fading = FALSE + var/obj/effect/stargazer_light/sg_light + +/obj/structure/destructible/clockwork/stargazer/Initialize() + . = ..() + sg_light = new(get_turf(src)) + START_PROCESSING(SSobj, src) + +/obj/structure/destructible/clockwork/stargazer/Destroy() + STOP_PROCESSING(SSobj, src) + if(!QDELETED(sg_light)) + qdel(sg_light) + . = ..() + +/obj/structure/destructible/clockwork/stargazer/process() + if(QDELETED(sg_light)) + return + var/mob_nearby = FALSE + for(var/mob/living/M in view(2, get_turf(src))) + if(is_servant_of_ratvar(M)) + mob_nearby = TRUE + break + if(mob_nearby && !mobs_in_range) + sg_light.open() + mobs_in_range = TRUE + else if(!mob_nearby && mobs_in_range) + mobs_in_range = FALSE + sg_light.close() + +/obj/structure/destructible/clockwork/stargazer/attackby(obj/item/I, mob/living/user, params) + if(user.a_intent != INTENT_HELP) + return ..() + if(!anchored) + to_chat(user, "You need to anchor [src] to the floor first.") + return + if(cooldowntime > world.time) + to_chat(user, "[src] is still warming up, it will be ready in [DisplayTimeText(cooldowntime - world.time)].") + return + if(HAS_TRAIT(I, TRAIT_STARGAZED)) + to_chat(user, "[I] has already been enhanced!") + return + to_chat(user, "You begin placing [I] onto [src].") + if(do_after(user, 60, target=I)) + if(cooldowntime > world.time) + to_chat(user, "[src] is still warming up, it will be ready in [DisplayTimeText(cooldowntime - world.time)].") + return + if(HAS_TRAIT(I, TRAIT_STARGAZED)) + to_chat(user, "[I] has already been enhanced!") + return + if(istype(I, /obj/item)) + upgrade_weapon(I, user) + cooldowntime = world.time + STARGAZER_COOLDOWN + return + to_chat(user, "You cannot upgrade [I].") + +/obj/structure/destructible/clockwork/stargazer/proc/upgrade_weapon(obj/item/I, mob/living/user) + ADD_TRAIT(I, TRAIT_STARGAZED, STARGAZER_TRAIT) + switch(rand(1, 10)) + if(1) + to_chat(user, "You feel [I] tighten to your hand.") + ADD_TRAIT(I, TRAIT_NODROP, STARGAZER_TRAIT) + return + if(2) + to_chat(user, "[I] looks as if it could cut through anything.") + I.force += 6 + return + if(3) + I.w_class = WEIGHT_CLASS_TINY + to_chat(user, "[I] suddenly shrinks!") + return + if(4) + I.light_power = 3 + I.light_range = 2 + I.light_color = LIGHT_COLOR_CLOCKWORK + to_chat(user, "[I] shines with a brilliant light!") + return + if(5) + I.damtype = BURN + I.force += 2 + I.light_power = 1.5 + I.light_range = 2 + I.light_color = LIGHT_COLOR_FIRE + to_chat(user, "[I] emits off an intense heat!") + return + if(6) + I.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + to_chat(user, "[I] becomes unbreakable!") + return + if(7) + to_chat(user, "You feel [I] attempting to communicate with you.") + var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the spirit of [user.real_name]'s [I]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_POSSESSED_BLADE) + if(LAZYLEN(candidates)) + var/mob/dead/observer/C = pick(candidates) + var/mob/living/simple_animal/shade/S = new(src) + S.ckey = C.ckey + S.fully_replace_character_name(null, "The spirit of [name]") + S.status_flags |= GODMODE + S.copy_languages(user, LANGUAGE_MASTER) //Make sure the sword can understand and communicate with the user. + S.update_atom_languages() + S.grant_all_languages(FALSE, FALSE, TRUE) //Grants omnitongue + var/input = sanitize_name(stripped_input(S,"What are you named?", ,"", MAX_NAME_LEN)) + + if(src && input) + name = input + S.fully_replace_character_name(null, "The spirit of [input]") + else + to_chat(user, "The [I] stops talking to you...") + REMOVE_TRAIT(I, TRAIT_STARGAZED, STARGAZER_TRAIT) + return + if(8) + to_chat(user, "[I] goes blunt.") + I.force = max(I.force - 4, 0) + return + if(9) + to_chat(user, "Your scriptures seem to bend around [I], it is protecting you from magic!") + I.AddComponent(/datum/component/anti_magic, TRUE, TRUE) + return + if(10) + to_chat(user, "[I] suddenly transforms, gaining the magical properties of shungite, it will protect your from all the evil forces!") + I.AddComponent(/datum/component/empprotection) + I.AddComponent(/datum/component/anti_magic, TRUE, TRUE) + I.color = COLOR_ALMOST_BLACK + return \ No newline at end of file From e81e787306d9a3e4c315b746f21167602e772350 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:23:59 +0300 Subject: [PATCH 2/7] pog --- code/__DEFINES/traits.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index b1b820eaf30e..72e62c8682af 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -328,6 +328,7 @@ #define HIVEMIND_ONE_MIND_TRAIT "one_mind" #define VR_ZONE_TRAIT "vr_zone_trait" #define GUARDIAN_TRAIT "guardian_trait" +#define STARGAZER_TRAIT "stargazer" #define RANDOM_BLACKOUTS "random_blackouts" #define MADE_UNCLONEABLE "made-uncloneable" #define BLOODSUCKER_TRAIT "bloodsucker_trait" From cd9f7ce6ac702dc9f717a2ba8d135a6e08838ac7 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:35:17 +0300 Subject: [PATCH 3/7] --- yogstation.dme | 1 + 1 file changed, 1 insertion(+) diff --git a/yogstation.dme b/yogstation.dme index 099447857462..5518a3d7d52a 100644 --- a/yogstation.dme +++ b/yogstation.dme @@ -1528,6 +1528,7 @@ #include "code\modules\antagonists\clockcult\clock_structures\mania_motor.dm" #include "code\modules\antagonists\clockcult\clock_structures\ocular_warden.dm" #include "code\modules\antagonists\clockcult\clock_structures\ratvar_the_clockwork_justicar.dm" +#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm" #include "code\modules\antagonists\clockcult\clock_structures\taunting_trail.dm" #include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm" #include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm" From f51bb5a6f8ca3e524272c25964a10652eefd8ef0 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:41:16 +0300 Subject: [PATCH 4/7] --- .../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 8af8a9d2a997..6d6aa5673a48 100644 --- a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -173,7 +173,7 @@ S.fully_replace_character_name(null, "The spirit of [input]") else to_chat(user, "The [I] stops talking to you...") - REMOVE_TRAIT(I, TRAIT_STARGAZED, STARGAZER_TRAIT) + REMOVE_TRAIT(I, TRAIT_STARGAZED, STARGAZER_TRAIT) return if(8) to_chat(user, "[I] goes blunt.") From d3ec0533f816f53d425bbf6e3aa7320ed9907cf4 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:47:39 +0300 Subject: [PATCH 5/7] trait --- code/__DEFINES/traits.dm | 1 + .../modules/antagonists/clockcult/clock_structures/stargazer.dm | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 72e62c8682af..1d3d553c276a 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -264,6 +264,7 @@ #define TRAIT_SHIFTY_EYES "shifty_eyes" #define TRAIT_ANXIOUS "anxious" #define TRAIT_SEE_REAGENTS "see_reagents" +#define TRAIT_STARGAZED "stargazed" // common trait sources #define TRAIT_GENERIC "generic" diff --git a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm index 6d6aa5673a48..d445d53a3211 100644 --- a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -9,7 +9,7 @@ power_cost = 600 channel_time = 8 SECONDS invocations = list("A light of Engine shall empower my armaments!") - object_path = /obj/structure/destructible/clockwork/gear_base/stargazer + object_path = /obj/structure/destructible/clockwork/stargazer one_per_tile = TRUE primary_component = HIEROPHANT_ANSIBLE tier = SCRIPTURE_SCRIPT From 5edfe604899e374f5ec521dcfe2e0a4ef79a9b49 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Sat, 3 Sep 2022 12:38:52 +0300 Subject: [PATCH 6/7] Add files via upload --- icons/obj/clockwork_objects.dmi | Bin 128481 -> 128900 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/clockwork_objects.dmi b/icons/obj/clockwork_objects.dmi index 69d496b9388d30ffce4feefbc267611bc19fe695..e109c2e9566aa2ae3e4113ced311ece001148f3e 100644 GIT binary patch delta 10977 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 TgrPi Date: Sat, 3 Sep 2022 12:42:48 +0300 Subject: [PATCH 7/7] Update stargazer.dm --- .../antagonists/clockcult/clock_structures/stargazer.dm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm index d445d53a3211..9b0d92a8fec5 100644 --- a/code/modules/antagonists/clockcult/clock_structures/stargazer.dm +++ b/code/modules/antagonists/clockcult/clock_structures/stargazer.dm @@ -180,12 +180,11 @@ I.force = max(I.force - 4, 0) return if(9) - to_chat(user, "Your scriptures seem to bend around [I], it is protecting you from magic!") - I.AddComponent(/datum/component/anti_magic, TRUE, TRUE) + to_chat(user, "You feel bloodlust starting to emanate from [I]!") + I.AddComponent(/datum/component/lifesteal, 4) return if(10) - to_chat(user, "[I] suddenly transforms, gaining the magical properties of shungite, it will protect your from all the evil forces!") + to_chat(user, "[I] suddenly transforms, gaining the magical properties of shungite, it will protect your from EMPs!") I.AddComponent(/datum/component/empprotection) - I.AddComponent(/datum/component/anti_magic, TRUE, TRUE) I.color = COLOR_ALMOST_BLACK - return \ No newline at end of file + return