Skip to content

Commit

Permalink
Add ruach draining effect EoCs
Browse files Browse the repository at this point in the history
  • Loading branch information
Standing-Storm committed Oct 21, 2024
1 parent 1225cca commit a50ee70
Show file tree
Hide file tree
Showing 4 changed files with 201 additions and 8 deletions.
10 changes: 10 additions & 0 deletions data/mods/Xedra_Evolved/effects/effects.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
11 changes: 5 additions & 6 deletions data/mods/Xedra_Evolved/mutations/xe_lilin.json
Original file line number Diff line number Diff line change
Expand Up @@ -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)" ] }
}
]
Expand All @@ -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 } ]
}
]
},
Expand All @@ -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" ],
Expand All @@ -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,
Expand Down
3 changes: 2 additions & 1 deletion data/mods/Xedra_Evolved/scenario.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
185 changes: 184 additions & 1 deletion data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit a50ee70

Please sign in to comment.