Adds a New Ruin - Abandoned Clockwork Monastery (#27636)

* Construction

* tick

* tock

* ting

* Update clockwork_cult_site.dmm

* Update clockwork_cult_site.dmm

* clockwork construct

* Update paradise.dme

* Update clockwork_constructs

* continuation

* Update clockwork_cult_site.dmm

* finalization phase

* Update clockwork_constructs.dm

* update

* Update config.toml

* Send the dmm to prison for being illegal

* Update space_ruins.dm

* Update space_ruins.dm

* Update space_ruins.dm

* Update code/modules/mob/living/simple_animal/clockwork_constructs.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/clockwork_constructs.dm

Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>

* update based on code review

* Update config.toml

* Coggers

* New shiny lava

* Update clockwork_monastery.dmm

* Update lights.dm

* Update clockwork_monastery.dmm

* Update clockwork_monastery.dmm

* Update clockwork_monastery.dmm

---------

Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
This commit is contained in:
CRUNCH
2025-01-06 17:45:08 +00:00
committed by GitHub
parent 1277a01baa
commit a387c18e16
28 changed files with 3916 additions and 7 deletions
@@ -0,0 +1,123 @@
#define MARAUDER_SHIELD_MAX 4
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder
name = "clockwork marauder"
desc = "A brass machine of destruction,"
icon = 'icons/mob/clockwork_mobs.dmi'
icon_state = "clockwork_marauder"
icon_living = "clockwork_marauder"
icon_dead = "clockwork_marauder_dead"
a_intent = INTENT_HARM
stop_automated_movement = TRUE
see_in_dark = 8
health = 140
maxHealth = 140
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
initial_traits = list(TRAIT_FLYING)
move_resist = MOVE_FORCE_OVERPOWERING
mob_size = MOB_SIZE_LARGE
pass_flags = PASSTABLE
damage_coeff = list("brute" = 1, "fire" = 1, "tox" = 0, "clone" = 0, "stamina" = 0, "oxy" = 0)
obj_damage = 80
melee_damage_lower = 24
melee_damage_upper = 24
attacktext = "slices"
attack_sound = 'sound/weapons/bladeslice.ogg'
chat_color = "#CAA25B"
retreat_distance = 2 // Dodge in and out of combat.
faction = list("hostile") // We hate Nar'sie here, but no clockcult yet.
pressure_resistance = 100
universal_speak = TRUE
AIStatus = AI_OFF
loot = list(/obj/item/food/ectoplasm, /obj/item/clockwork/component/geis_capacitor/fallen_armor)
del_on_death = TRUE
deathmessage = "collapses in a shattered heap."
var/playstyle_string = "<b>You are a Marauder, an instrument of destruction built to fight those that oppose the will of Ratvar. \
You are a highly effective melee combatent but are vulnerable to holy weapons. \
You can block up to 4 ranged attacks with your shield. It requires a welder to be repaired.</b>"
var/list/construct_spells = list(/datum/spell/night_vision)
var/shield_health = MARAUDER_SHIELD_MAX
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/Initialize(mapload)
. = ..()
name = "[name] ([rand(1, 1000)])"
set_light(2, 3, l_color = LIGHT_COLOR_FIRE)
for(var/spell in construct_spells)
AddSpell(new spell(null))
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/death(gibbed)
new /obj/effect/temp_visual/cult/sparks(get_turf(src))
playsound(src, 'sound/effects/pylon_shatter.ogg', 40, TRUE)
return ..()
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/attacked_by__legacy__attackchain(obj/item/I, mob/living/user)
if(istype(I, /obj/item/nullrod))
adjustFireLoss(15)
if(shield_health > 0)
damage_shield()
playsound(src,'sound/hallucinations/veryfar_noise.ogg', 40, 1)
if((I.tool_behaviour == TOOL_WELDER) && (user.a_intent == INTENT_HELP))
welder_act(user, I)
return
. = ..()
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/bullet_act(obj/item/projectile/Proj)
if(shield_health > 0)
damage_shield()
to_chat(src, "<span class='danger'>Your shield blocks the attack!</span>")
return FALSE
return ..()
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/proc/damage_shield()
shield_health--
playsound(src, 'sound/magic/clockwork/anima_fragment_attack.ogg', 60, TRUE)
if(shield_health == 0)
to_chat(src, "<span class='userdanger'>Your shield breaks!</span>")
to_chat(src, "<span class='danger'>You require a welding tool to repair your damaged shield!</span>")
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/welder_act(mob/living/user, obj/item/I)
if(health >= maxHealth && shield_health >= MARAUDER_SHIELD_MAX)
to_chat(user, "<span class='notice'>[src] has no damage to repair.</span>")
return
playsound(loc, 'sound/items/welder.ogg', 150, TRUE)
adjustBruteLoss(-10)
user.visible_message(
"<span class='notice'>You repair some of [src]'s damage.</span>",
"<span class='notice'>[user] repairs some of [src]'s damage.</span>"
)
if(shield_health < MARAUDER_SHIELD_MAX)
shield_health ++
playsound(src, 'sound/magic/charge.ogg', 60, TRUE)
return TRUE
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/narsie_act()
visible_message(
"<span class='danger'>[src] is instantly crushed by an unholy aura!</span>",
"<span class='userdanger'>The uncaring gaze of a dark god looks down upon you for a single moment, and your shell is instantly pulverized into dust!</span>"
)
gib()
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE)
return FALSE
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/Life(seconds, times_fired)
if(holy_check(src))
throw_alert("holy_fire", /atom/movable/screen/alert/holy_fire, override = TRUE)
visible_message(
"<span class='danger'>[src] slowly crumbles to dust in this holy place!</span>", \
"<span class='danger'>Your shell burns as you crumble to dust in this holy place!</span>"
)
playsound(loc, 'sound/items/welder.ogg', 150, TRUE)
adjustBruteLoss(maxHealth/8)
else
clear_alert("holy_fire", clear_override = TRUE)
return ..()
/mob/living/simple_animal/hostile/clockwork_construct/clockwork_marauder/hostile
AIStatus = AI_ON
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
#undef MARAUDER_SHIELD_MAX
+7
View File
@@ -865,6 +865,13 @@
name = "Lava Field Observations"
info = "<center>Asteroid Core Observation Log 306</center><hr><br><i>We took some additional samples of the deep layers of the molten core of the asteroid. Undetermined trace elements were able to be identified in the solution. Its possible this is how the plasma remains so stable at these temperatures. None of our current filter methods have been able to properly extract it as of yet, but we're certain a breakthrough is on the horizon. We did it before, we can do it again.</i>"
/obj/item/paper/clockwork_cult_message
name = "Old handwritten note"
info = "<center>To any brothers and sisters that journey here from beyond the system:</center><br><br>\
The Nar'Sien dogs have failed, and we have gleaned the method by which we can awake His divine mechanism. The spark shall be turned into lightning and the gears shall once again turn.<br><br>\
We go now to purge the dogs from the hole we know they hide within, and then The Eminance shall then call us back to Reebe so that we may begin preperations for His awakening.<br><br>\
The guardians shall protect the monastery in our stead. Make use of its supplies and prepare for our return, together we shall all finalize His vison."
/obj/item/paper/zombie_cure
name = "paper - 'Research on Zombies'"
+1
View File
@@ -331,6 +331,7 @@
glow_icon_state = "clockwork_tube"
base_state = "clockwork_tube"
deconstruct_type = /obj/machinery/light_construct/clockwork
brightness_color = "#ffbb8d"
/obj/machinery/light/clockwork/small
icon_state = "clockwork_bulb1"
@@ -210,12 +210,15 @@
//Components: Used in scripture.
/obj/item/clockwork/component
name = "arbitrary clockwork component"
desc = "A strange artifact and powerful of Ratvar that should not exist. Make an issue report to GitHub if you see this."
icon = 'icons/obj/clockwork_objects.dmi'
icon_state = "dread_ipad" // So it's visible.
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
/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."
icon = 'icons/obj/clockwork_objects.dmi'
icon_state = "belligerent_eye"
/obj/item/clockwork/component/belligerent_eye/blind_eye
@@ -224,13 +227,70 @@
icon_state = "blind_eye"
w_class = WEIGHT_CLASS_NORMAL
/obj/item/clockwork/component/belligerent_eye/lens_gem
name = "lens gem"
desc = "A tiny pinkish gem. It catches the light oddly, almost glowing."
icon_state = "lens_gem"
w_class = WEIGHT_CLASS_TINY
light_range = 1.4
light_power = 0.4
light_color = "#F42B9D"
/obj/item/clockwork/component/vanguard_cogwheel
name = "vanguard_cogwheel"
desc = "A sturdy brass cog with a faintly glowing blue gem in its center."
icon_state = "vanguard_cogwheel"
/obj/item/clockwork/component/vanguard_cogwheel/onyx_prism
name = "onyx prism"
desc = "An onyx prism with a small aperture. It's very heavy."
icon_state = "onyx_prism"
w_class = WEIGHT_CLASS_NORMAL
/obj/item/clockwork/component/geis_capacitor
name = "geis capacitor"
desc = "A curiously cold brass doodad. It seems as though it really doesn't appreciate being held."
icon_state = "geis_capacitor"
/obj/item/clockwork/component/geis_capacitor/fallen_armor
name = "fallen armor"
desc = "Lifeless chunks of armor. They're designed in a strange way and won't fit on you."
icon = 'icons/obj/clockwork_objects.dmi'
icon_state = "fallen_armor"
w_class = WEIGHT_CLASS_NORMAL
/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."
icon_state = "mania_motor_antennae"
/obj/item/clockwork/component/replicant_alloy
name = "replicant alloy"
desc = "A seemingly strong but very malleable chunk of metal. It seems as though it wants to be molded into something greater."
icon_state = "replicant_alloy"
/obj/item/clockwork/component/replicant_alloy/smashed_anima_fragment
name = "smashed anima fragment"
desc = "Shattered chunks of metal. Damaged beyond repair and completely unusable."
icon_state = "smashed_anime_fragment"
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."
icon_state = "replication_plate"
w_class = WEIGHT_CLASS_NORMAL
/obj/item/clockwork/component/hierophant_ansible
name = "hierophant ansible"
desc = "Some sort of transmitter? It seems as though it's trying to say something."
icon_state = "hierophant_ansible"
/obj/item/clockwork/component/hierophant_ansible/obelisk
name = "obelisk prism"
desc = "A prism that occasionally glows brightly. It seems not-quite there."
icon_state = "obelisk_prism"
w_class = WEIGHT_CLASS_NORMAL
//Ratvarian spear
/obj/item/clockwork/weapon/ratvarian_spear
name = "ratvarian spear"