From 5f8fcc10c3931e361547181a681238b0f3dd992c Mon Sep 17 00:00:00 2001 From: Lhars Date: Tue, 26 Nov 2024 13:12:21 -0400 Subject: [PATCH 1/2] The Great Big Religion Revert/Update Part 1 So! The Church is in a bad place in more then one way right now - Their miracles are weak and are very easily replicated by potions, surgery or even arcane spell casting, it's lore is being taken in a direction that doesn't align with the server vision and outside of some spiriting really haven't gotten the love they deserve. So lets fix that! Changes include: - Reverts Miracle to Lesser Miracle, it's original Ratwood version. Healing is a flat 25 (no more giant messy if trees) and it comes out instantly and onto a single body part. - Fortify returns to Miracle - Both lesser miracle and miracle have their fire damage and stun back. This may need to be tuned! - The return of churn, huzzah! - Removed abrogation from Necra's spell list. - Removed the chance of creating a rotman via Remove Rot use. --- code/__DEFINES/roguetown.dm | 2 +- code/datums/gods/patrons/divine_pantheon.dm | 53 +++---- code/datums/gods/patrons/inhumen_pantheon.dm | 6 +- .../jobs/job_types/roguetown/church/monk.dm | 6 + .../spells/roguetown/acolyte/general.dm | 136 +++++------------- .../spells/roguetown/acolyte/pestra.dm | 5 +- .../modules/spells/pantheon/Divine/noc.dm | 41 ++++++ roguetown.dme | 1 + 8 files changed, 116 insertions(+), 134 deletions(-) create mode 100644 modular_causticcove/code/modules/spells/pantheon/Divine/noc.dm diff --git a/code/__DEFINES/roguetown.dm b/code/__DEFINES/roguetown.dm index ce92bff13..cbf716488 100644 --- a/code/__DEFINES/roguetown.dm +++ b/code/__DEFINES/roguetown.dm @@ -148,7 +148,7 @@ #define ALL_PALADIN_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/necra, /datum/patron/divine/pestra, /datum/patron/divine/ravox, /datum/patron/divine/malum, /datum/patron/divine/eora, /datum/patron/old_god) -#define ALL_ACOLYTE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/pestra, /datum/patron/divine/eora, /datum/patron/divine/necra) +#define ALL_ACOLYTE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/pestra, /datum/patron/divine/eora, /datum/patron/divine/necra, /datum/patron/divine/malum) #define ALL_DIVINE_PATRONS list(/datum/patron/divine/astrata, /datum/patron/divine/noc, /datum/patron/divine/dendor, /datum/patron/divine/abyssor, /datum/patron/divine/ravox, /datum/patron/divine/necra, /datum/patron/divine/xylix, /datum/patron/divine/pestra, /datum/patron/divine/malum, /datum/patron/divine/eora) diff --git a/code/datums/gods/patrons/divine_pantheon.dm b/code/datums/gods/patrons/divine_pantheon.dm index d40f35c1b..315cb45bc 100644 --- a/code/datums/gods/patrons/divine_pantheon.dm +++ b/code/datums/gods/patrons/divine_pantheon.dm @@ -8,9 +8,9 @@ domain = "Twinned Goddess of the Sun, Day, and Order" desc = "The she-form of the Twinned Gods, the combined amalgam of single-bodied Astrata and Noc that opens her eyes at glorious Dae. Men bask under the gift of the Sun. A single form begets two Gods that shift at Dusk and Dawn but always endures, even at night." worshippers = "The Noble Hearted, Zealots and Farmers" - t1 = /obj/effect/proc_holder/spell/invoked/sacred_flame_rogue - t2 = /obj/effect/proc_holder/spell/invoked/heal - t3 = /obj/effect/proc_holder/spell/invoked/revive + t1 = list(/obj/effect/proc_holder/spell/invoked/sacred_flame_rogue) + t2 = list(/obj/effect/proc_holder/spell/invoked/heal) + t3 = list(/obj/effect/proc_holder/spell/invoked/revive) confess_lines = list( "ASTRATA IS MY LIGHT!", "ASTRATA BRINGS LAW!", @@ -23,8 +23,9 @@ desc = "The he-form of the Twinned Gods, the combined amalgam of single-bodied Noc and Astrata that opens his eyes during pondorous Night. He gifted man knowledge of divinity and magicks. A single form begets two Gods that shift at Dusk and Dawn but always endures, even at dae." worshippers = "Wizards and Scholars" mob_traits = list(TRAIT_NOCSIGHT) - t1 = /obj/effect/proc_holder/spell/invoked/blindness - t2 = /obj/effect/proc_holder/spell/invoked/invisibility + t1 = list(/obj/effect/proc_holder/spell/invoked/blindness) + //t2 = list(/obj/effect/proc_holder/spell/invoked/noc_blindsight) + t2 = list(/obj/effect/proc_holder/spell/invoked/invisibility) confess_lines = list( "NOC IS NIGHT!", "NOC SEES ALL!", @@ -37,10 +38,10 @@ desc = "The God of Wilds, born from Abyssor's feverish dreams. Spilt forth life from the oceans to land in a wild craze. The Father of Ground-Lyfe. Treefather." worshippers = "Druids, Beasts, Madmen" mob_traits = list(TRAIT_KNEESTINGER_IMMUNITY) - t1 = /obj/effect/proc_holder/spell/targeted/blesscrop - t2 = /obj/effect/proc_holder/spell/targeted/beasttame - t3 = /obj/effect/proc_holder/spell/targeted/conjure_glowshroom - t4 = /obj/effect/proc_holder/spell/self/howl/call_of_the_moon + t1 = list(/obj/effect/proc_holder/spell/targeted/blesscrop) + t2 = list(/obj/effect/proc_holder/spell/targeted/beasttame) + t3 = list(/obj/effect/proc_holder/spell/targeted/conjure_glowshroom) + t4 = list(/obj/effect/proc_holder/spell/self/howl/call_of_the_moon) confess_lines = list( "DENDOR PROVIDES!", "THE TREEFATHER BRINGS BOUNTY!", @@ -64,7 +65,7 @@ domain = "God of Justice, Glory, Battle" desc = "Stalwart warrior, glorious justicier; legends say he came down to the Basin to repel the vile hordes of demons with his own hands, and that he seeks warriors for his divine army among mortals." worshippers = "Warriors, Sellswords & those who seek Justice" - t1 = /obj/effect/proc_holder/spell/invoked/burden + t1 = list(/obj/effect/proc_holder/spell/invoked/burden) confess_lines = list( "RAVOX IS JUSTICE!", "THROUGH STRIFE, GRACE!", @@ -77,9 +78,9 @@ desc = "Veiled Lady of the underworld, equally feared and respected by mortals. She taught mortals the inevitability of death and cares for them as they reach the afterlife." worshippers = "The Dead, Mourners, Gravekeepers" mob_traits = list(TRAIT_SOUL_EXAMINE) - t1 = /obj/effect/proc_holder/spell/invoked/avert - t2 = /obj/effect/proc_holder/spell/targeted/abrogation - t3 = /obj/effect/proc_holder/spell/targeted/soulspeak + t1 = list(/obj/effect/proc_holder/spell/invoked/avert) + t2 = list(/obj/effect/proc_holder/spell/targeted/churn) + t3 = list(/obj/effect/proc_holder/spell/targeted/soulspeak) confess_lines = list( "ALL SOULS FIND THEIR WAY TO NECRA!", "THE UNDERMAIDEN IS OUR FINAL REPOSE!", @@ -111,11 +112,11 @@ desc = "Goddess that blessed many a saint with healing hands, Pestra taught man the arts of medicine and its benefits." worshippers = "The Sick, Phyicians, Apothecaries" mob_traits = list(TRAIT_EMPATH, TRAIT_ROT_EATER) - t0 = /obj/effect/proc_holder/spell/invoked/diagnose - t1 = /obj/effect/proc_holder/spell/invoked/lesser_heal - t2 = /obj/effect/proc_holder/spell/invoked/heal - t3 = /obj/effect/proc_holder/spell/invoked/attach_bodypart - t4 = /obj/effect/proc_holder/spell/invoked/cure_rot + t0 = list(/obj/effect/proc_holder/spell/invoked/diagnose) + t1 = list(/obj/effect/proc_holder/spell/invoked/lesser_heal) + t2 = list(/obj/effect/proc_holder/spell/invoked/heal) + t3 = list(/obj/effect/proc_holder/spell/invoked/attach_bodypart) + t4 = list(/obj/effect/proc_holder/spell/invoked/cure_rot) confess_lines = list( "PESTRA SOOTHES ALL ILLS!", "DECAY IS A CONTINUATION OF LIFE!", @@ -128,11 +129,11 @@ desc = "Opinionless god of the crafts. He teaches that great works for killing or saving are great works, either way. The well-oiled guillotine and the well-sharpened axe are tools, and there is no good and evil to their craft." worshippers = "Smiths, Miners, Engineers" mob_traits = list(TRAIT_MALUMSGRACE) - t1 = /obj/effect/proc_holder/spell/invoked/sacred_flame_rogue - t1 = /obj/effect/proc_holder/spell/invoked/vigorousexchange - t2 = /obj/effect/proc_holder/spell/invoked/heatmetal - t3 = /obj/effect/proc_holder/spell/invoked/hammerfall - t4 = /obj/effect/proc_holder/spell/invoked/craftercovenant + t1 = list(/obj/effect/proc_holder/spell/invoked/sacred_flame_rogue) + t1 = list(/obj/effect/proc_holder/spell/invoked/vigorousexchange) + t2 = list(/obj/effect/proc_holder/spell/invoked/heatmetal) + t3 = list(/obj/effect/proc_holder/spell/invoked/hammerfall) + t4 = list(/obj/effect/proc_holder/spell/invoked/craftercovenant) confess_lines = list( "MALUM IS MY MUSE!", "TRUE VALUE IS IN THE TOIL!", @@ -146,9 +147,9 @@ domain = "Goddess of Love, Life and Beauty" desc = "Baotha's fairer half, made from blind, unconditional love. She is without a shred of hate in her heart and taught mankind that true love that even transcends Necra's grasp." worshippers = "Lovers, the romantically inclined, and Doting Grandparents" - t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal - t1 = /obj/effect/proc_holder/spell/invoked/bud - t2 = /obj/effect/proc_holder/spell/invoked/eoracurse + t0 = list(/obj/effect/proc_holder/spell/invoked/lesser_heal) + t1 = list(/obj/effect/proc_holder/spell/invoked/bud) + t2 = list(/obj/effect/proc_holder/spell/invoked/eoracurse) t3 = null confess_lines = list( "EORA BRINGS US TOGETHER!", diff --git a/code/datums/gods/patrons/inhumen_pantheon.dm b/code/datums/gods/patrons/inhumen_pantheon.dm index 59b74ab9b..f2b5215cc 100644 --- a/code/datums/gods/patrons/inhumen_pantheon.dm +++ b/code/datums/gods/patrons/inhumen_pantheon.dm @@ -42,9 +42,9 @@ desc = "The Man who stole fire from the Underworld and gave it in exchange for worship; the first Transaction, cutting a hole in the firmament and flooding ontological reality with the fact of Wealth. Take from the wealthy, give to the worthless, empower." worshippers = "Highwaymen, Robbers, Downtrodden Peasants, Merchants" mob_traits = list(TRAIT_COMMIE) - t1 = /obj/effect/proc_holder/spell/invoked/appraise - t2 = /obj/effect/proc_holder/spell/invoked/transact - t3 = /obj/effect/proc_holder/spell/invoked/equalize + t1 = list(/obj/effect/proc_holder/spell/invoked/appraise) + t2 = list(/obj/effect/proc_holder/spell/invoked/transact) + t3 = list(/obj/effect/proc_holder/spell/invoked/equalize) //t3 = /obj/effect/proc_holder/spell/invoked/churnwealthy - maybe if i could think on how to nerf that. confess_lines = list( "MATTHIOS STEALS FROM THE WORTHLESS!", diff --git a/code/modules/jobs/job_types/roguetown/church/monk.dm b/code/modules/jobs/job_types/roguetown/church/monk.dm index baf147c54..cba839092 100644 --- a/code/modules/jobs/job_types/roguetown/church/monk.dm +++ b/code/modules/jobs/job_types/roguetown/church/monk.dm @@ -67,6 +67,12 @@ neck = /obj/item/clothing/neck/roguetown/psicross/eora shoes = /obj/item/clothing/shoes/roguetown/sandals armor = /obj/item/clothing/suit/roguetown/shirt/robe/eora + if(/datum/patron/divine/malum) + head = /obj/item/clothing/head/roguetown/roguehood/black + armor = /obj/item/clothing/suit/roguetown/shirt/robe + neck = /obj/item/clothing/neck/roguetown/psicross/malum + pants = /obj/item/clothing/under/roguetown/tights + shoes = /obj/item/clothing/shoes/roguetown/boots else head = /obj/item/clothing/head/roguetown/roguehood/astrata neck = /obj/item/clothing/neck/roguetown/psicross/astrata diff --git a/code/modules/spells/roguetown/acolyte/general.dm b/code/modules/spells/roguetown/acolyte/general.dm index 951dbe95c..7926b1a79 100644 --- a/code/modules/spells/roguetown/acolyte/general.dm +++ b/code/modules/spells/roguetown/acolyte/general.dm @@ -1,11 +1,11 @@ // Lesser miracle /obj/effect/proc_holder/spell/invoked/lesser_heal - name = "Miracle" + name = "Lesser Miracle" overlay_state = "lesserheal" releasedrain = 30 chargedrain = 0 chargetime = 0 - range = 4 + range = 7 warnie = "sydwarning" movement_interrupt = FALSE sound = 'sound/magic/heal.ogg' @@ -14,7 +14,7 @@ antimagic_allowed = TRUE charge_max = 10 SECONDS miracle = TRUE - devotion_cost = 10 + devotion_cost = 10 /obj/effect/proc_holder/spell/invoked/lesser_heal/cast(list/targets, mob/living/user) . = ..() @@ -22,146 +22,69 @@ var/mob/living/target = targets[1] if(user.patron?.undead_hater && (target.mob_biotypes & MOB_UNDEAD)) //positive energy harms the undead target.visible_message(span_danger("[target] is burned by holy light!"), span_userdanger("I'm burned by holy light!")) - target.adjustFireLoss(10) - target.fire_act(1,10) + target.adjustFireLoss(50) + target.Paralyze(30) + target.fire_act(1,5) return TRUE - var/conditional_buff = FALSE - var/situational_bonus = 1 //this if chain is stupid, replace with variables on /datum/patron when possible? switch(user.patron.type) if(/datum/patron/old_god) target.visible_message(span_info("A strange stirring feeling pours from [target]!"), span_notice("Sentimental thoughts drive away my pains!")) if(/datum/patron/divine/astrata) target.visible_message(span_info("A wreath of gentle light passes over [target]!"), span_notice("I'm bathed in holy light!")) - // during the day, heal 1 more (basic as fuck) - if (GLOB.tod == "day") - conditional_buff = TRUE if(/datum/patron/divine/noc) target.visible_message(span_info("A shroud of soft moonlight falls upon [target]!"), span_notice("I'm shrouded in gentle moonlight!")) - // during the night, heal 1 more (i wish this was more interesting but they're twins so whatever) - if (GLOB.tod == "night") - conditional_buff = TRUE if(/datum/patron/divine/dendor) target.visible_message(span_info("A rush of primal energy spirals about [target]!"), span_notice("I'm infused with primal energies!")) - var/list/natural_stuff = list(/obj/structure/flora/roguegrass, /obj/structure/flora/roguetree, /obj/structure/flora/rogueshroom, /obj/structure/soil) - situational_bonus = 0 - // the more natural stuff around US, the more we heal - for (var/obj/O in oview(5, user)) - if (O in natural_stuff) - situational_bonus = min(situational_bonus + 0.1, 2) - if (situational_bonus > 0) - conditional_buff = TRUE if(/datum/patron/divine/abyssor) target.visible_message(span_info("A mist of salt-scented vapour settles on [target]!"), span_notice("I'm invigorated by healing vapours!")) - // if our target is standing in water, heal a flat amount extra - if (istype(get_turf(target), /turf/open/water)) - conditional_buff = TRUE - situational_bonus = 1.5 if(/datum/patron/divine/ravox) target.visible_message(span_info("An air of righteous defiance rises near [target]!"), span_notice("I'm filled with an urge to fight on!")) - situational_bonus = 0 - // the bloodier the area around our target is, the more we heal - for (var/obj/effect/decal/cleanable/blood/O in oview(5, target)) - situational_bonus = min(situational_bonus + 0.1, 2) - conditional_buff = TRUE if(/datum/patron/divine/necra) target.visible_message(span_info("A sense of quiet respite radiates from [target]!"), span_notice("I feel the Undermaiden's gaze turn from me for now!")) - if (iscarbon(target)) - var/mob/living/carbon/C = target - // if the target is "close to death" (at or below 25% health) - if (C.health <= (C.maxHealth * 0.25)) - conditional_buff = TRUE - situational_bonus = 2.5 if(/datum/patron/divine/xylix) target.visible_message(span_info("A fugue seems to manifest briefly across [target]!"), span_notice("My wounds vanish as if they had never been there! ")) - // half of the time, heal a little (or a lot) more - flip the coin - if (prob(50)) - conditional_buff = TRUE - situational_bonus = rand(1, 2.5) if(/datum/patron/divine/pestra) - target.visible_message(span_info("An aura of clinical care encompasses [target]!"), span_notice("I'm sewn back together by sacred medicine!")) - // pestra always heals a little more toxin damage and restores a bit more blood - target.adjustToxLoss(-situational_bonus) - target.blood_volume += BLOOD_VOLUME_SURVIVE/2 + target.visible_message(span_info("A aura of clinical care encompasses [target]!"), span_notice("I'm sewn back together by sacred medicine!")) if(/datum/patron/divine/malum) target.visible_message("A tempering heat is discharged out of [target]!", "I feel the heat of a forge soothing my pains!") - var/list/firey_stuff = list(/obj/machinery/light/rogue/torchholder, /obj/machinery/light/rogue/campfire, /obj/machinery/light/rogue/hearth, /obj/machinery/light/rogue/wallfire, /obj/machinery/light/rogue/wallfire/candle, /obj/machinery/light/rogue/forge) - // extra healing for every source of fire/light near us - situational_bonus = 0 - for (var/obj/O in oview(5, user)) - if (O.type in firey_stuff) - situational_bonus = min(situational_bonus + 0.5, 2.5) - if (situational_bonus > 0) - conditional_buff = TRUE if(/datum/patron/divine/eora) - target.visible_message("An emanance of love blossoms around [target]!", "I'm filled with the restorative warmth of love!") - // if they're wearing an eoran bud (or are a pacifist), pretty much double the healing. if we're also wearing a bud at any point or a pacifist from any other source, apply another +15 bonus - situational_bonus = 0 - if (HAS_TRAIT(target, TRAIT_PACIFISM)) - conditional_buff = TRUE - situational_bonus = 2.5 - if (HAS_TRAIT(user, TRAIT_PACIFISM)) - conditional_buff = TRUE - situational_bonus += 1.5 + target.visible_message("A heady heat flushes the flesh of [target] and potent scents hit you!", "My ills drift away in a rush of narcotic pleasure!") if(/datum/patron/inhumen/zizo) target.visible_message(span_info("Vital energies are sapped towards [target]!"), span_notice("The life around me pales as I am restored!")) - // set up a ritual pile of bones (or just cast near a stack of bones whatever) around us for massive bonuses, cap at 50 for 75 healing total (wowie) - situational_bonus = 0 - for (var/obj/item/stack/sheet/bone/O in oview(5, user)) - situational_bonus += (O.amount * 0.5) - if (situational_bonus > 0) - conditional_buff = TRUE - situational_bonus = min(situational_bonus, 5) if(/datum/patron/inhumen/graggar) target.visible_message(span_info("Foul fumes billow outward as [target] is restored!"), span_notice("A noxious scent burns my nostrils, but I feel better!")) - // if you've got lingering toxin damage, you get healed more, but your bonus healing doesn't affect toxin - var/toxloss = target.getToxLoss() - if (toxloss >= 10) - conditional_buff = TRUE - situational_bonus = 2.5 - target.adjustToxLoss(situational_bonus) // remember we do a global toxloss adjust down below so this is okay if(/datum/patron/inhumen/matthios) - target.visible_message(span_info("A wreath of... strange light passes over [target]?"), span_notice("I'm bathed in a... strange holy light?")) - // COMRADES! WE MUST BAND TOGETHER! - if (HAS_TRAIT(target, TRAIT_COMMIE)) - conditional_buff = TRUE - situational_bonus = 2.5 - if(/datum/patron/inhumen/baotha) - target.visible_message(span_info("Hedonistic impulses and emotions throb all about from [target]."), span_notice("An intoxicating rush of narcotic delight wipes away my pains!")) - // i wanted to do something with pain here but it doesn't seem like pain is actually parameterized anywhere so... better necra it is - if they're below 50% health, they get 25 extra healing - if (iscarbon(target)) - var/mob/living/carbon/C = target - if (C.health <= (C.maxHealth * 0.5)) - conditional_buff = TRUE - situational_bonus = 2.5 + target.visible_message(span_info("A wreath of strange light passes over [target]!"), span_notice("I'm bathed in strange holy light?")) if(/datum/patron/godless) target.visible_message(span_info("Without any particular cause or reason, [target] is healed!"), span_notice("My wounds close without cause.")) else target.visible_message(span_info("A choral sound comes from above and [target] is healed!"), span_notice("I am bathed in healing choral hymns!")) - - var/healing = 2.5 - if (conditional_buff) - to_chat(user, "Channeling my patron's power is easier in these conditions!") - healing += situational_bonus - if(iscarbon(target)) var/mob/living/carbon/C = target - var/datum/status_effect/buff/healing/heal_effect = C.apply_status_effect(/datum/status_effect/buff/healing) - heal_effect.healing_on_tick = healing + var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) + if(affecting) + if(affecting.heal_damage(25, 25)) + C.update_damage_overlays() + if(affecting.heal_wounds(25)) + C.update_damage_overlays() else - target.adjustBruteLoss(-healing*10) - target.adjustFireLoss(-healing*10) + target.adjustBruteLoss(-25) + target.adjustFireLoss(-25) + target.adjustToxLoss(-25) + target.adjustOxyLoss(-25) + target.blood_volume += BLOOD_VOLUME_SURVIVE/2 return TRUE return FALSE // Miracle /obj/effect/proc_holder/spell/invoked/heal - name = "Fortify" + name = "Miracle" overlay_state = "astrata" releasedrain = 30 chargedrain = 0 chargetime = 0 - range = 4 + range = 7 warnie = "sydwarning" movement_interrupt = FALSE // chargedloop = /datum/looping_sound/invokeholy @@ -181,15 +104,24 @@ var/mob/living/target = targets[1] if(user.patron?.undead_hater && (target.mob_biotypes & MOB_UNDEAD)) //positive energy harms the undead target.visible_message(span_danger("[target] is burned by holy light!"), span_userdanger("I'm burned by holy light!")) - target.adjustFireLoss(25) - target.fire_act(1,10) + target.adjustFireLoss(100) + target.Paralyze(50) + target.fire_act(1,5) return TRUE target.visible_message(span_info("A wreath of gentle light passes over [target]!"), span_notice("I'm bathed in holy light!")) if(iscarbon(target)) var/mob/living/carbon/C = target - C.apply_status_effect(/datum/status_effect/buff/fortify) + var/obj/item/bodypart/affecting = C.get_bodypart(check_zone(user.zone_selected)) + if(affecting) + if(affecting.heal_damage(50, 50)) + C.update_damage_overlays() + if(affecting.heal_wounds(50)) + C.update_damage_overlays() else target.adjustBruteLoss(-50) target.adjustFireLoss(-50) + target.adjustToxLoss(-50) + target.adjustOxyLoss(-50) + target.blood_volume += BLOOD_VOLUME_SURVIVE return TRUE return FALSE diff --git a/code/modules/spells/roguetown/acolyte/pestra.dm b/code/modules/spells/roguetown/acolyte/pestra.dm index e59644d72..86030b43d 100644 --- a/code/modules/spells/roguetown/acolyte/pestra.dm +++ b/code/modules/spells/roguetown/acolyte/pestra.dm @@ -187,8 +187,9 @@ S.AOE_flash(user, range = 8) testing("curerot2") if(was_zombie) - if(was_zombie.become_rotman && prob(5)) //5% chance to NOT become a rotman - was_zombie.become_rotman = FALSE + //if(was_zombie.become_rotman && prob(5)) //5% chance to NOT become a rotman + // was_zombie.become_rotman = FALSE + // CC Update: Removing chance for players to become rotmen target.mind.remove_antag_datum(/datum/antagonist/zombie) target.Unconscious(20 SECONDS) target.emote("breathgasp") diff --git a/modular_causticcove/code/modules/spells/pantheon/Divine/noc.dm b/modular_causticcove/code/modules/spells/pantheon/Divine/noc.dm new file mode 100644 index 000000000..3cb1dd98f --- /dev/null +++ b/modular_causticcove/code/modules/spells/pantheon/Divine/noc.dm @@ -0,0 +1,41 @@ +/obj/effect/proc_holder/spell/targeted/touch/Nocdarkvision + name = "Darkvision" + overlay_state = "thaumaturgy" + desc = "Enhance the night vision of a target you touch for 15 minutes." + clothes_req = FALSE + drawmessage = "I prepare to grant Darkvision." + dropmessage = "I return my mind to the now." + school = "transmutation" + charge_max = 1 MINUTES + chargedloop = /datum/looping_sound/invokegen + associated_skill = /datum/skill/magic/holy + hand_path = /obj/item/melee/touch_attack/Nocdarkvision + xp_gain = TRUE + devotion_cost = 20 + +/obj/item/melee/touch_attack/Nocdarkvision + name = "\improper arcyne focus" + desc = "Touch a creature to grant them Darkvision for 15 minutes." + catchphrase = null + possible_item_intents = list(INTENT_HELP) + icon = 'icons/mob/roguehudgrabs.dmi' + icon_state = "pulling" + icon_state = "grabbing_greyscale" + color = "#3FBAFD" + +/obj/item/melee/touch_attack/Nocdarkvision/attack_self() + attached_spell.remove_hand() + +/obj/item/melee/touch_attack/Nocdarkvision/afterattack(atom/target, mob/living/carbon/user, proximity) + if(isliving(target)) + var/mob/living/spelltarget = target + if(!do_after(user, 5 SECONDS, target = spelltarget)) + return + spelltarget.apply_status_effect(/datum/status_effect/buff/darkvision) + user.rogfat_add(80) + if(spelltarget != user) + user.visible_message("[user] draws a glyph in the air and touches [spelltarget], their eyes briefly flashing with Noc's light.") + else + user.visible_message("[user] draws a glyph in the air and touches themselves, their eyes briefly flashing with Noc's light.") + attached_spell.remove_hand() + return diff --git a/roguetown.dme b/roguetown.dme index c97028b16..ba3900569 100644 --- a/roguetown.dme +++ b/roguetown.dme @@ -3631,6 +3631,7 @@ #include "modular_causticcove\code\modules\roguetown\roguecrafting\alchemy.dm" #include "modular_causticcove\code\modules\roguetown\roguejobs\alchemist\containers.dm" #include "modular_causticcove\code\modules\roguetown\roguejobs\alchemist\reagent.dm" +#include "modular_causticcove\code\modules\spells\pantheon\Divine\noc.dm" #include "modular_causticcove\code\modules\vore\persistence.dm" #include "modular_causticcove\code\modules\vore\SSbellies.dm" #include "modular_causticcove\code\modules\vore\eating\belly_dat_vr.dm" From f366daba4ab72c11445d3545303eb05d025fd392 Mon Sep 17 00:00:00 2001 From: Lhars Date: Tue, 26 Nov 2024 15:02:00 -0400 Subject: [PATCH 2/2] Error correction - Malum works now --- code/datums/gods/patrons/divine_pantheon.dm | 42 +++++++++---------- code/datums/gods/patrons/inhumen_pantheon.dm | 6 +-- .../jobs/job_types/roguetown/church/monk.dm | 2 +- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/code/datums/gods/patrons/divine_pantheon.dm b/code/datums/gods/patrons/divine_pantheon.dm index 315cb45bc..105552e47 100644 --- a/code/datums/gods/patrons/divine_pantheon.dm +++ b/code/datums/gods/patrons/divine_pantheon.dm @@ -8,9 +8,9 @@ domain = "Twinned Goddess of the Sun, Day, and Order" desc = "The she-form of the Twinned Gods, the combined amalgam of single-bodied Astrata and Noc that opens her eyes at glorious Dae. Men bask under the gift of the Sun. A single form begets two Gods that shift at Dusk and Dawn but always endures, even at night." worshippers = "The Noble Hearted, Zealots and Farmers" - t1 = list(/obj/effect/proc_holder/spell/invoked/sacred_flame_rogue) - t2 = list(/obj/effect/proc_holder/spell/invoked/heal) - t3 = list(/obj/effect/proc_holder/spell/invoked/revive) + t1 = /obj/effect/proc_holder/spell/invoked/sacred_flame_rogue + t2 = /obj/effect/proc_holder/spell/invoked/heal + t3 = /obj/effect/proc_holder/spell/invoked/revive confess_lines = list( "ASTRATA IS MY LIGHT!", "ASTRATA BRINGS LAW!", @@ -23,9 +23,9 @@ desc = "The he-form of the Twinned Gods, the combined amalgam of single-bodied Noc and Astrata that opens his eyes during pondorous Night. He gifted man knowledge of divinity and magicks. A single form begets two Gods that shift at Dusk and Dawn but always endures, even at dae." worshippers = "Wizards and Scholars" mob_traits = list(TRAIT_NOCSIGHT) - t1 = list(/obj/effect/proc_holder/spell/invoked/blindness) - //t2 = list(/obj/effect/proc_holder/spell/invoked/noc_blindsight) - t2 = list(/obj/effect/proc_holder/spell/invoked/invisibility) + t1 = /obj/effect/proc_holder/spell/invoked/blindness + t2 = /obj/effect/proc_holder/spell/targeted/touch/Nocdarkvision + t3 = /obj/effect/proc_holder/spell/invoked/invisibility confess_lines = list( "NOC IS NIGHT!", "NOC SEES ALL!", @@ -38,10 +38,10 @@ desc = "The God of Wilds, born from Abyssor's feverish dreams. Spilt forth life from the oceans to land in a wild craze. The Father of Ground-Lyfe. Treefather." worshippers = "Druids, Beasts, Madmen" mob_traits = list(TRAIT_KNEESTINGER_IMMUNITY) - t1 = list(/obj/effect/proc_holder/spell/targeted/blesscrop) - t2 = list(/obj/effect/proc_holder/spell/targeted/beasttame) - t3 = list(/obj/effect/proc_holder/spell/targeted/conjure_glowshroom) - t4 = list(/obj/effect/proc_holder/spell/self/howl/call_of_the_moon) + t1 = /obj/effect/proc_holder/spell/targeted/blesscrop + t2 = /obj/effect/proc_holder/spell/targeted/beasttame + t3 = /obj/effect/proc_holder/spell/targeted/conjure_glowshroom + t4 = /obj/effect/proc_holder/spell/self/howl/call_of_the_moon confess_lines = list( "DENDOR PROVIDES!", "THE TREEFATHER BRINGS BOUNTY!", @@ -78,9 +78,9 @@ desc = "Veiled Lady of the underworld, equally feared and respected by mortals. She taught mortals the inevitability of death and cares for them as they reach the afterlife." worshippers = "The Dead, Mourners, Gravekeepers" mob_traits = list(TRAIT_SOUL_EXAMINE) - t1 = list(/obj/effect/proc_holder/spell/invoked/avert) - t2 = list(/obj/effect/proc_holder/spell/targeted/churn) - t3 = list(/obj/effect/proc_holder/spell/targeted/soulspeak) + t1 = /obj/effect/proc_holder/spell/invoked/avert + t2 = /obj/effect/proc_holder/spell/targeted/churn + t3 = /obj/effect/proc_holder/spell/targeted/soulspeak confess_lines = list( "ALL SOULS FIND THEIR WAY TO NECRA!", "THE UNDERMAIDEN IS OUR FINAL REPOSE!", @@ -129,11 +129,11 @@ desc = "Opinionless god of the crafts. He teaches that great works for killing or saving are great works, either way. The well-oiled guillotine and the well-sharpened axe are tools, and there is no good and evil to their craft." worshippers = "Smiths, Miners, Engineers" mob_traits = list(TRAIT_MALUMSGRACE) - t1 = list(/obj/effect/proc_holder/spell/invoked/sacred_flame_rogue) - t1 = list(/obj/effect/proc_holder/spell/invoked/vigorousexchange) - t2 = list(/obj/effect/proc_holder/spell/invoked/heatmetal) - t3 = list(/obj/effect/proc_holder/spell/invoked/hammerfall) - t4 = list(/obj/effect/proc_holder/spell/invoked/craftercovenant) + t1 = /obj/effect/proc_holder/spell/invoked/sacred_flame_rogue + t1 = /obj/effect/proc_holder/spell/invoked/vigorousexchange + t2 = /obj/effect/proc_holder/spell/invoked/heatmetal + t3 = /obj/effect/proc_holder/spell/invoked/hammerfall + t4 = /obj/effect/proc_holder/spell/invoked/craftercovenant confess_lines = list( "MALUM IS MY MUSE!", "TRUE VALUE IS IN THE TOIL!", @@ -147,9 +147,9 @@ domain = "Goddess of Love, Life and Beauty" desc = "Baotha's fairer half, made from blind, unconditional love. She is without a shred of hate in her heart and taught mankind that true love that even transcends Necra's grasp." worshippers = "Lovers, the romantically inclined, and Doting Grandparents" - t0 = list(/obj/effect/proc_holder/spell/invoked/lesser_heal) - t1 = list(/obj/effect/proc_holder/spell/invoked/bud) - t2 = list(/obj/effect/proc_holder/spell/invoked/eoracurse) + t0 = /obj/effect/proc_holder/spell/invoked/lesser_heal + t1 = /obj/effect/proc_holder/spell/invoked/bud + t2 = /obj/effect/proc_holder/spell/invoked/eoracurse t3 = null confess_lines = list( "EORA BRINGS US TOGETHER!", diff --git a/code/datums/gods/patrons/inhumen_pantheon.dm b/code/datums/gods/patrons/inhumen_pantheon.dm index f2b5215cc..59b74ab9b 100644 --- a/code/datums/gods/patrons/inhumen_pantheon.dm +++ b/code/datums/gods/patrons/inhumen_pantheon.dm @@ -42,9 +42,9 @@ desc = "The Man who stole fire from the Underworld and gave it in exchange for worship; the first Transaction, cutting a hole in the firmament and flooding ontological reality with the fact of Wealth. Take from the wealthy, give to the worthless, empower." worshippers = "Highwaymen, Robbers, Downtrodden Peasants, Merchants" mob_traits = list(TRAIT_COMMIE) - t1 = list(/obj/effect/proc_holder/spell/invoked/appraise) - t2 = list(/obj/effect/proc_holder/spell/invoked/transact) - t3 = list(/obj/effect/proc_holder/spell/invoked/equalize) + t1 = /obj/effect/proc_holder/spell/invoked/appraise + t2 = /obj/effect/proc_holder/spell/invoked/transact + t3 = /obj/effect/proc_holder/spell/invoked/equalize //t3 = /obj/effect/proc_holder/spell/invoked/churnwealthy - maybe if i could think on how to nerf that. confess_lines = list( "MATTHIOS STEALS FROM THE WORTHLESS!", diff --git a/code/modules/jobs/job_types/roguetown/church/monk.dm b/code/modules/jobs/job_types/roguetown/church/monk.dm index cba839092..765f756b5 100644 --- a/code/modules/jobs/job_types/roguetown/church/monk.dm +++ b/code/modules/jobs/job_types/roguetown/church/monk.dm @@ -22,7 +22,7 @@ name = "Acolyte" jobtype = /datum/job/roguetown/monk - allowed_patrons = list(/datum/patron/divine/pestra, /datum/patron/divine/astrata, /datum/patron/divine/eora, /datum/patron/divine/noc, /datum/patron/divine/necra) //Eora content from Stonekeep + allowed_patrons = list(/datum/patron/divine/pestra, /datum/patron/divine/astrata, /datum/patron/divine/eora, /datum/patron/divine/noc, /datum/patron/divine/necra, /datum/patron/divine/malum) //Eora content from Stonekeep /datum/outfit/job/roguetown/monk/pre_equip(mob/living/carbon/human/H)