From a50ee70558562481f6475c2a047dba1a206782a9 Mon Sep 17 00:00:00 2001 From: "Standing-StormStanding-Storm git config --global user.name Standing-Storm git config --global user.name Standing-Storm" Date: Mon, 21 Oct 2024 11:36:36 -0500 Subject: [PATCH] Add ruach draining effect EoCs --- data/mods/Xedra_Evolved/effects/effects.json | 10 + .../Xedra_Evolved/mutations/xe_lilin.json | 11 +- data/mods/Xedra_Evolved/scenario.json | 3 +- .../spells/lilin_spell_eocs.json | 185 +++++++++++++++++- 4 files changed, 201 insertions(+), 8 deletions(-) diff --git a/data/mods/Xedra_Evolved/effects/effects.json b/data/mods/Xedra_Evolved/effects/effects.json index d99e12575ecb9..5a0d6f650bfbc 100644 --- a/data/mods/Xedra_Evolved/effects/effects.json +++ b/data/mods/Xedra_Evolved/effects/effects.json @@ -2311,6 +2311,16 @@ "name": [ "" ], "desc": [ "" ] }, + { + "type": "effect_type", + "id": "effect_lilin_ruach_drain_side_effects", + "name": [ "Ruach-drained" ], + "desc": [ "A lilit has drained away some of your life-force." ], + "max_intensity": 14, + "int_decay_step": -1, + "int_decay_tick": 259200, + "show_in_info": true + }, { "type": "effect_type", "id": "effect_lilin_no_ruach", diff --git a/data/mods/Xedra_Evolved/mutations/xe_lilin.json b/data/mods/Xedra_Evolved/mutations/xe_lilin.json index 83b24a9c87590..55f433579c8da 100644 --- a/data/mods/Xedra_Evolved/mutations/xe_lilin.json +++ b/data/mods/Xedra_Evolved/mutations/xe_lilin.json @@ -162,7 +162,7 @@ }, "values": [ { - "value": "ITEM_DAMAGE_PURE", + "value": "ITEM_DAMAGE_BIO", "add": { "math": [ "3 + (u_has_effect('effect_lilin_attribute_bonuses') * 3) + (u_vitamin('lilin_ruach_vitamin') / 1000)" ] } } ] @@ -184,18 +184,18 @@ }, "values": [ { - "value": "ITEM_DAMAGE_PURE", + "value": "ITEM_DAMAGE_BIO", "add": { "math": [ "2 + (u_has_effect('effect_lilin_attribute_bonuses') * 2) + (u_vitamin('lilin_ruach_vitamin') / 2000)" ] } } ] }, { "condition": { "and": [ { "not": "u_has_weapon" }, { "not": "is_day" }, { "math": [ "moon_phase() == 8" ] } ] }, - "values": [ { "value": "ITEM_DAMAGE_PURE", "add": { "math": [ "1 + (u_vitamin('lilin_ruach_vitamin') / 3000)" ] } } ] + "values": [ { "value": "ITEM_DAMAGE_BIO", "add": { "math": [ "1 + (u_vitamin('lilin_ruach_vitamin') / 3000)" ] } } ] }, { "condition": { "and": [ { "not": "u_has_weapon" }, "is_day" ] }, - "values": [ { "value": "ITEM_DAMAGE_PURE", "add": 1 } ] + "values": [ { "value": "ITEM_DAMAGE_BIO", "add": 1 } ] } ] }, @@ -216,7 +216,6 @@ "name": { "str": "Reaping the Whirlwind" }, "description": "With an expenditure of ruach you can drastically enhance your speed for a short period of time.", "points": 4, - "valid": false, "starting_trait": false, "purifiable": false, "prereqs": [ "LILIN_ATTRIBUTE_BONUSES_DEXTERITY" ], @@ -237,7 +236,7 @@ { "type": "mutation", "id": "LILIN_NIGHT_VISION", - "name": { "str": "Owl's Gaze" }, + "name": { "str": "Strigine Gaze" }, "description": "Your eyes have adapted to the darkness of the night, allowing you to see further through the shadows. This is most effective out under the moon but still has an effect indoors.", "points": 2, "purifiable": false, diff --git a/data/mods/Xedra_Evolved/scenario.json b/data/mods/Xedra_Evolved/scenario.json index 8a2973a251d89..ad79c019ef3cd 100644 --- a/data/mods/Xedra_Evolved/scenario.json +++ b/data/mods/Xedra_Evolved/scenario.json @@ -117,7 +117,8 @@ { "type": "scenario", "id": "xe_lilin_scenario", - "name": { "//~": "Name is a reference to Isaiah 34:14", "str": "The Owl's Abode" }, + "//": "Name below is a reference to Isaiah 34:14", + "name": "The Owl's Abode", "points": 0, "description": "For most or all of your life, you've had a secret; you are a predator. While you don't need to drink blood or eat flesh or anything so crude, you must absorb the spiritual essence, the ruach of living beings in order to maintain your health and vitality. You had to hide your condition before the Cataclysm, especially as things became stranger in the years leading up to it, but now you don't have to hide anymore. On the other hand, your potential ruach supply has take a drastic decline.", "start_name": "Away from town", diff --git a/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json b/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json index 43cccb94d6240..1b70ee3fb53d1 100644 --- a/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json +++ b/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json @@ -2,8 +2,191 @@ { "type": "effect_on_condition", "id": "EOC_LILIN_RUACH_DRAIN", + "//": "Humans and humanlike fae give about one day's worth (240) ruach, aliens give a totally random amount, Nether creatures are a huge gamble (they could give you tons of ruach but could also absorb some from you), inhuman fae and vampires give a random amount within a few hours (20-60), animals and cyborgs give an hour's worth (5-15), insects give half of what animals give (2-7), nothing else gives any.", "condition": "u_is_character", - "effect": [ ] + "effect": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(200,300)" ] }, + { "npc_message": "You feel a rush of warmth as you absorb the ruach.", "type": "good" }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "false_effect": [ + { + "if": { + "and": [ + { "not": { "u_has_species": "ZOMBIE" } }, + { + "or": [ + { "u_has_species": "CHANGELING" }, + { "u_has_species": "HOMULLUS" }, + { "u_has_species": "FERAL" }, + { "u_has_species": "HUMAN" }, + { "u_has_species": "RENFIELD" } + ] + } + ] + }, + "then": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(200,300)" ] }, + { "npc_message": "You feel a rush of warmth as you absorb the ruach.", "type": "good" }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "else": { + "if": { "or": [ { "u_has_species": "PLANT" }, { "u_has_species": "MIGO" } ] }, + "then": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(1,400)" ] }, + { + "npc_message": "You feel a rush of warmth as you absorb the ruach, though your skin breaks out in goosebumps afterward.", + "type": "good" + }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "else": { + "if": { "u_has_species": "NETHER" }, + "then": [ + { "math": [ "u_ruach_random_nether_amount", "=", "rng(-600,1200)" ] }, + { + "if": { "math": [ "u_ruach_random_nether_amount", ">", "0" ] }, + "then": [ { "npc_message": "You feel a moment of white heat as you absorb the ruach.", "type": "good" } ], + "else": [ + { + "npc_message": "You attempt to absorb the being's ruach but encounter only a yawning void that drains some of your own ruach back to it!", + "type": "bad" + } + ] + }, + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "u_ruach_random_nether_amount" ] }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "else": { + "if": { + "or": [ + { "u_has_species": "IERDE" }, + { "u_has_species": "ARVORE" }, + { "u_has_species": "UNDINE" }, + { "u_has_species": "SYLPH" }, + { "u_has_species": "SALAMANDER" }, + { "u_has_species": "VAMPIRE" } + ] + }, + "then": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(20,60)" ] }, + { "npc_message": "You feel a moment of warmth as you absorb the ruach.", "type": "good" }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "else": { + "if": { + "or": [ + { "u_has_species": "CYBORG" }, + { "u_has_species": "MAMMAL" }, + { "u_has_species": "AMPHIBIAN" }, + { "u_has_species": "BIRD" }, + { "u_has_species": "REPTILE" }, + { "u_has_species": "FISH" }, + { "u_has_species": "KRAKEN" } + ] + }, + "then": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(5,15)" ] }, + { + "npc_message": "You feel a brief tingle as you absorb the animal's ruach. Weak, but better than nothing.", + "type": "good" + }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ], + "else": { + "if": { + "or": [ + { "u_has_species": "INSECT" }, + { "u_has_species": "CENTIPEDE" }, + { "u_has_species": "INSECT_FLYING" }, + { "u_has_species": "SPIDER" } + ] + }, + "then": [ + { "math": [ "n_vitamin('lilin_ruach_vitamin')", "+=", "rng(2,7)" ] }, + { + "npc_message": "You feel a slight prickling as you absorb the insect's ruach. Barely worth bothering with.", + "type": "good" + }, + { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS" } + ] + } + } + } + } + } + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_LILIN_RUACH_DRAIN_SIDE_EFFECTS", + "effect": [ + { + "u_add_effect": "effect_lilin_ruach_drain_side_effects", + "intensity": { "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects') + 1" ] }, + "duration": [ "72 h", "72 h" ] + }, + { + "if": "u_is_character", + "then": [ + { "math": [ "n_npc_fear()", "+=", "1 + (u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 3)" ] }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "head" + }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "arm_l" + }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "arm_r" + }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "torso" + }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "leg_r" + }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') / 2)- 3), 0 )" ] }, + "bodypart": "leg_l" + }, + { + "if": { "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects')", ">=", "4" ] }, + "then": { + "u_add_effect": "staggered_character", + "intensity": 1, + "duration": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') - 3) * 2), 0 )" ] } + } + } + ], + "else": [ + { "math": [ "u_val('morale')", "-=", "5 + (u_effect_intensity('effect_lilin_ruach_drain_side_effects') * 3)" ] }, + { + "u_deal_damage": "biological", + "amount": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') * 1.5 )- 3), 0 )" ] } + }, + { + "if": { "math": [ "u_effect_intensity('effect_lilin_ruach_drain_side_effects')", ">=", "4" ] }, + "then": { + "u_add_effect": "staggered", + "intensity": 1, + "duration": { "math": [ "max(((u_effect_intensity('effect_lilin_ruach_drain_side_effects') - 3) * 2), 0 )" ] } + } + } + ] + } + ] }, { "type": "effect_on_condition",