From 193d929e4b7fdd8ebf558ade39ad63b8a8fac303 Mon Sep 17 00:00:00 2001 From: Ashe Higgs Date: Tue, 26 Sep 2017 20:58:45 -0400 Subject: [PATCH 1/4] Clockwork cult rework: Post-merge micro-patch --- .../clock_cult/clock_items/clockwork_slab.dm | 6 +- .../ark_of_the_clockwork_justicar.dm | 8 +++ .../carbon/human/species_types/golems.dm | 56 +++++++++++++++++++ 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index eecfec7780..62410c4831 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -647,7 +647,7 @@ data["scripture"] += list(temp_info) data["recollection"] = recollecting if(recollecting) - data["recollection_categories"] = list(\ + data["recollection_categories"] = GLOB.ratvar_awakens ? list() : list(\ list("name" = "Getting Started", "desc" = "First-time servant? Read this first."), \ list("name" = "Basics", "desc" = "A primer on how to play as a servant."), \ list("name" = "Terminology", "desc" = "Common acronyms, words, and terms."), \ @@ -657,8 +657,8 @@ list("name" = "Conversion", "desc" = "Converting the crew, cyborgs, and very walls to your cause."), \ ) data["rec_text"] = recollection() - data["rec_section"] = get_recollection_text(recollection_category) - data["rec_binds"] = get_recollection_quickbinds() + data["rec_section"] = GLOB.ratvar_awakens ? "" : get_recollection_text(recollection_category) + data["rec_binds"] = GLOB.ratvar_awakens ? "" : get_recollection_quickbinds() return data /obj/item/clockwork/slab/ui_act(action, params) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm index b684b854c1..f3ceae7020 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -65,6 +65,7 @@ /obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy() STOP_PROCESSING(SSprocessing, src) +<<<<<<< HEAD if(!purpose_fulfilled) var/area/gate_area = get_area(src) hierophant_message("An Ark of the Clockwork Justicar has fallen at [gate_area.map_name]!") @@ -73,6 +74,13 @@ SSshuttle.clearHostileEnvironment(src) if(!was_stranded && !purpose_fulfilled) priority_announce("Massive energy anomaly no longer on short-range scanners.","Anomaly Alert") +======= + SSshuttle.clearHostileEnvironment(src) + if(!purpose_fulfilled && istype(SSticker.mode, /datum/game_mode/clockwork_cult)) + hierophant_message("The Ark has fallen!") + sound_to_playing_players(null, channel = CHANNEL_JUSTICAR_ARK) + SSticker.force_ending = TRUE //rip +>>>>>>> 59e7559... Clockwork cult rework: Post-merge micro-patch (#31044) if(glow) qdel(glow) glow = null diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 5df45e2755..b0d22845b1 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -586,6 +586,62 @@ H.adjustFireLoss(-4) H.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM) +<<<<<<< HEAD +======= + +/datum/species/golem/clockwork + name = "Clockwork Golem" + id = "clockwork golem" + say_mod = "clicks" + limbs_id = "clockgolem" + info_text = "As a clockwork golem, you are faster than \ + other types of golem (being a machine), and are immune to electric shocks." + species_traits = list(NO_UNDERWEAR, NOTRANSSTING, NOBREATH, NOZOMBIE, VIRUSIMMUNE, RADIMMUNE, NOBLOOD, RESISTCOLD, RESISTPRESSURE) + armor = 40 //Reinforced, but also slim to allow for fast movement + attack_verb = "smash" + attack_sound = 'sound/magic/clockwork/anima_fragment_attack.ogg' + sexes = FALSE + speedmod = 0 + siemens_coeff = 0 + damage_overlay_type = "synth" + prefix = "Clockwork" + var/has_corpse + +/datum/species/golem/clockwork/on_species_gain(mob/living/carbon/human/H) + . = ..() + H.faction |= "ratvar" + +/datum/species/golem/clockwork/on_species_loss(mob/living/carbon/human/H) + if(!is_servant_of_ratvar(H)) + H.faction -= "ratvar" + . = ..() + +/datum/species/golem/clockwork/get_spans() + return SPAN_ROBOT //beep + +/datum/species/golem/clockwork/spec_death(gibbed, mob/living/carbon/human/H) + gibbed = !has_corpse ? FALSE : gibbed + . = ..() + if(!has_corpse) + var/turf/T = get_turf(H) + H.visible_message("[H]'s exoskeleton shatters, collapsing into a heap of scrap!") + playsound(H, 'sound/magic/clockwork/anima_fragment_death.ogg', 50, TRUE) + for(var/i in 1 to rand(3, 5)) + new/obj/item/clockwork/alloy_shards/small(T) + new/obj/item/clockwork/alloy_shards/clockgolem_remains(T) + qdel(H) + +/datum/species/golem/clockwork/no_scrap //These golems are created through the herald's beacon and leave normal corpses on death. + id = "clockwork golem servant" + armor = 15 //Balance reasons make this armor weak + no_equip = list() + nojumpsuit = FALSE + has_corpse = TRUE + blacklisted = TRUE + dangerous_existence = TRUE + + +>>>>>>> 59e7559... Clockwork cult rework: Post-merge micro-patch (#31044) /datum/species/golem/cloth name = "Cloth Golem" id = "cloth golem" From 3687ef2d331af4a426a81ccc097b3f31bfcd4ec9 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 27 Sep 2017 22:43:32 -0500 Subject: [PATCH 2/4] Update ark_of_the_clockwork_justicar.dm --- .../clock_structures/ark_of_the_clockwork_justicar.dm | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm index f3ceae7020..635413dcb4 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ark_of_the_clockwork_justicar.dm @@ -65,22 +65,11 @@ /obj/structure/destructible/clockwork/massive/celestial_gateway/Destroy() STOP_PROCESSING(SSprocessing, src) -<<<<<<< HEAD - if(!purpose_fulfilled) - var/area/gate_area = get_area(src) - hierophant_message("An Ark of the Clockwork Justicar has fallen at [gate_area.map_name]!") - sound_to_playing_players(channel = CHANNEL_JUSTICAR_ARK, S = sound(null, 0)) - var/was_stranded = SSshuttle.emergency.mode == SHUTTLE_STRANDED - SSshuttle.clearHostileEnvironment(src) - if(!was_stranded && !purpose_fulfilled) - priority_announce("Massive energy anomaly no longer on short-range scanners.","Anomaly Alert") -======= SSshuttle.clearHostileEnvironment(src) if(!purpose_fulfilled && istype(SSticker.mode, /datum/game_mode/clockwork_cult)) hierophant_message("The Ark has fallen!") sound_to_playing_players(null, channel = CHANNEL_JUSTICAR_ARK) SSticker.force_ending = TRUE //rip ->>>>>>> 59e7559... Clockwork cult rework: Post-merge micro-patch (#31044) if(glow) qdel(glow) glow = null From a8043202c2cab2154bd015cc29501cc26dc73e7c Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 27 Sep 2017 22:43:57 -0500 Subject: [PATCH 3/4] Update golems.dm --- .../mob/living/carbon/human/species_types/golems.dm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index b0d22845b1..0706e7ecfc 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -586,9 +586,6 @@ H.adjustFireLoss(-4) H.reagents.remove_reagent(chem.id, REAGENTS_METABOLISM) -<<<<<<< HEAD -======= - /datum/species/golem/clockwork name = "Clockwork Golem" id = "clockwork golem" @@ -639,9 +636,7 @@ has_corpse = TRUE blacklisted = TRUE dangerous_existence = TRUE - - ->>>>>>> 59e7559... Clockwork cult rework: Post-merge micro-patch (#31044) + /datum/species/golem/cloth name = "Cloth Golem" id = "cloth golem" From 9309f1e3b45e171f64ba0193375e18e456b127d3 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Wed, 27 Sep 2017 23:40:49 -0500 Subject: [PATCH 4/4] Update clock_components.dm --- .../clock_items/clock_components.dm | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_items/clock_components.dm b/code/game/gamemodes/clock_cult/clock_items/clock_components.dm index 06b3ac7885..b1409aae18 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clock_components.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clock_components.dm @@ -9,6 +9,20 @@ var/list/servant_of_ratvar_messages = list("ayy" = FALSE, "lmao" = TRUE) //Fluff, shown to servants of Ratvar on a low chance, if associated value is TRUE, will automatically apply ratvarian var/message_span = "heavy_brass" +/obj/item/clockwork/component/examine(mob/user) + . = ..() + if(is_servant_of_ratvar(user) || isobserver(user)) + to_chat(user, "You can activate this in your hand to break it down for power.") + +/obj/item/clockwork/component/attack_self(mob/living/user) + if(is_servant_of_ratvar(user)) + user.visible_message("[user] crushes [src] in their hand!", \ + "You crush [src], capturing its escaping energy for use as power.") + playsound(user, 'sound/effects/pop_expl.ogg', 50, TRUE) + adjust_clockwork_power(POWER_WALL_TOTAL) + user.drop_item() + qdel(src) + /obj/item/clockwork/component/pickup(mob/living/user) ..() if(iscultist(user) || (user.mind && user.mind.isholy)) @@ -22,11 +36,6 @@ var/pickedmessage = pick(servant_of_ratvar_messages) to_chat(user, "[servant_of_ratvar_messages[pickedmessage] ? "[text2ratvar(pickedmessage)]" : pickedmessage]") -/obj/item/clockwork/component/examine(mob/user) - ..() - if(is_servant_of_ratvar(user)) - to_chat(user, "You should put this in a slab or cache immediately.") - /obj/item/clockwork/component/belligerent_eye name = "belligerent eye" desc = "A brass construct with a rotating red center. It's as though it's looking for something to hurt." @@ -39,7 +48,7 @@ /obj/item/clockwork/component/belligerent_eye/blind_eye name = "blind eye" desc = "A heavy brass eye, its red iris fallen dark." - clockwork_desc = "A smashed ocular warden covered in dents. Serviceable as a substitute for a belligerent eye." + clockwork_desc = "A smashed ocular warden covered in dents." icon_state = "blind_eye" cultist_message = "The eye flickers at you with intense hate before falling dark." servant_of_ratvar_messages = list("The eye flickers before falling dark." = FALSE, "You feel watched." = FALSE, "\"...\"" = FALSE) @@ -48,7 +57,7 @@ /obj/item/clockwork/component/belligerent_eye/lens_gem name = "lens gem" desc = "A tiny pinkish gem. It catches the light oddly, almost glowing." - clockwork_desc = "The gem from an interdiction lens. Serviceable as a substitute for a belligerent eye." + clockwork_desc = "The gem from an interdiction lens." icon_state = "lens_gem" cultist_message = "The gem turns black and cold for a moment before its normal glow returns." servant_of_ratvar_messages = list("\"Disgusting failure.\"" = TRUE, "You feel scrutinized." = FALSE, "\"Weaklings.\"" = TRUE, "\"Pathetic defenses.\"" = TRUE) @@ -69,7 +78,7 @@ /obj/item/clockwork/component/vanguard_cogwheel/onyx_prism name = "onyx prism" desc = "An onyx prism with a small aperture. It's very heavy." - clockwork_desc = "A broken prism from a prolonging prism. Serviceable as a substitute for a vanguard cogwheel." + clockwork_desc = "A broken prism from a prolonging prism." icon_state = "onyx_prism" cultist_message = "The prism grows painfully hot in your hands." servant_of_ratvar_messages = list("The prism isn't getting any lighter." = FALSE, "\"So... you haven't failed yet. Have hope, child.\"" = TRUE, \ @@ -98,7 +107,7 @@ /obj/item/clockwork/component/geis_capacitor/antennae name = "mania motor antennae" desc = "A pair of dented and bent antennae. They constantly emit a static hiss." - clockwork_desc = "The antennae from a mania motor. Serviceable as a substitute for a geis capacitor." + clockwork_desc = "The antennae from a mania motor." icon_state = "mania_motor_antennae" cultist_message = "Your head is filled with a burst of static." servant_of_ratvar_messages = list("\"Who broke this.\"" = TRUE, "\"Did you break these off YOURSELF?\"" = TRUE, "\"Why did we give this to such simpletons, anyway?\"" = TRUE, \ @@ -117,16 +126,16 @@ /obj/item/clockwork/component/replicant_alloy/smashed_anima_fragment name = "smashed anima fragment" desc = "Shattered chunks of metal. Damaged beyond repair and completely unusable." - clockwork_desc = "The sad remains of an anima fragment. Serviceable as a substitute for replicant alloy." + clockwork_desc = "The sad remains of an anima fragment." icon_state = "smashed_anime_fragment" cultist_message = "The shards vibrate in your hands for a moment." - servant_of_ratvar_messages = list("\"...still fight...\"" = FALSE, "\"...where am I...?\"" = FALSE, "\"...put me... slab...\"" = FALSE) + servant_of_ratvar_messages = list("\"...still fight...\"" = FALSE, "\"...where am I...?\"" = FALSE, "\"...bring me... back...\"" = FALSE) w_class = WEIGHT_CLASS_NORMAL /obj/item/clockwork/component/replicant_alloy/replication_plate name = "replication plate" desc = "A flat, heavy disc of metal with a triangular formation on its surface." - clockwork_desc = "The replication plate from a tinkerer's daemon. Serviceable as a substitute for replicant alloy." + clockwork_desc = "The replication plate from a tinkerer's daemon." icon_state = "replication_plate" cultist_message = "The plate shudders in your hands, as though trying to get away." servant_of_ratvar_messages = list("\"Put this in a slab and get back to work.\"" = FALSE, "\"Worse servants than you have held these.\"" = TRUE, \ @@ -146,7 +155,7 @@ /obj/item/clockwork/component/hierophant_ansible/obelisk name = "obelisk prism" desc = "A prism that occasionally glows brightly. It seems not-quite there." - clockwork_desc = "The prism from a clockwork obelisk. Serviceable as a substitute for a hierophant ansible." + clockwork_desc = "The prism from a clockwork obelisk." cultist_message = "The prism flickers wildly in your hands before resuming its normal glow." servant_of_ratvar_messages = list("You hear the distinctive sound of the Hierophant Network for a moment." = FALSE, "\"Hieroph'ant Br'o'adcas't fail'ure.\"" = TRUE, \ "The obelisk flickers wildly, as if trying to open a gateway." = FALSE, "\"Spa'tial Ga'tewa'y fai'lure.\"" = TRUE) @@ -182,6 +191,13 @@ desc = "A broken shard of some oddly malleable metal. It occasionally moves and seems to glow." clockwork_desc = "A broken shard of replicant alloy." +/obj/item/clockwork/alloy_shards/clockgolem_remains + name = "clockwork golem scrap" + desc = "A pile of scrap metal. It seems damaged beyond repair." + clockwork_desc = "The sad remains of a clockwork golem. It's broken beyond repair." + icon_state = "clockgolem_dead" + sprite_shift = 0 + /obj/item/clockwork/alloy_shards/large w_class = WEIGHT_CLASS_TINY randomsinglesprite = TRUE