diff --git a/data/mods/Xedra_Evolved/effects/effects.json b/data/mods/Xedra_Evolved/effects/effects.json
index 8f68691d17647..7e052b7463c1b 100644
--- a/data/mods/Xedra_Evolved/effects/effects.json
+++ b/data/mods/Xedra_Evolved/effects/effects.json
@@ -904,12 +904,13 @@
"name": [ "Evil Eye" ],
"desc": [ "Something is definitely wrong." ],
"rating": "bad",
+ "immune_flags": [ "EVIL_EYE_IMMUNE", "EVIL_EYE_IMMUNE_MONSTER" ],
"show_in_info": true,
"max_intensity": 5,
"show_intensity": false,
"base_mods": {
- "hit_mod": [ -3 ],
- "dodge_mod": [ -4 ],
+ "hit_mod": [ -2 ],
+ "dodge_mod": [ -2 ],
"per_mod": [ -2 ],
"health_chance": [ 20 ],
"health_tick": [ 30 ],
@@ -2306,8 +2307,15 @@
},
{
"type": "effect_type",
- "id": "effect_lilin_temmporary_glorious",
- "//": "Hidden effects, tracking whether you have EOC_LILIN_TEMPORARY_GLORIOUS active",
+ "id": "effect_lilin_temporary_glorious",
+ "//": "Hidden effects, tracking whether you have EOC_LILIN_TEMPORARY_GLORIOUS active.",
+ "name": [ "" ],
+ "desc": [ "" ]
+ },
+ {
+ "type": "effect_type",
+ "id": "effect_lilin_bonus_healing_active",
+ "//": "Hidden effects, tracking whether you have LILIN_BONUS_HEALING_ACTIVE active.",
"name": [ "" ],
"desc": [ "" ]
},
@@ -2460,5 +2468,76 @@
{ "limb_score": "vision", "modifier": 1.5 }
],
"flags": [ "EFFECT_LIMB_SCORE_MOD" ]
+ },
+ {
+ "type": "effect_type",
+ "id": "effect_lilin_aoe_daze",
+ "name": [ "Disoriented" ],
+ "desc": [ { "str": "A loud noise fueled by a curse has sent you reeling." } ],
+ "rating": "bad",
+ "max_duration": "5 m",
+ "base_mods": { "hit_mod": [ -1 ], "dodge_mod": [ -2 ] },
+ "show_in_info": true,
+ "enchantments": [ { "values": [ { "value": "SPEED", "multiply": -0.15 } ] } ]
+ },
+ {
+ "type": "effect_type",
+ "id": "effect_lilin_supernatural_disease",
+ "name": [ "Miasma" ],
+ "desc": [ { "str": "You are infected by a supernatural disease." } ],
+ "rating": "bad",
+ "max_duration": "5 h",
+ "base_mods": { "hit_mod": [ -1 ], "dodge_mod": [ -2 ] },
+ "show_in_info": true,
+ "enchantments": [
+ {
+ "values": [
+ { "value": "SPEED", "multiply": -0.1 },
+ { "value": "ARMOR_ALL", "multiply": 0.05 },
+ { "value": "VISION_RANGE", "multiply": -0.15 },
+ { "value": "REGEN_HP", "multiply": -0.5 }
+ ]
+ }
+ ],
+ "limb_score_mods": [
+ { "limb_score": "balance", "modifier": 0.8 },
+ { "limb_score": "breathing", "modifier": 0.75 },
+ { "limb_score": "lift", "modifier": 0.75 },
+ { "limb_score": "grip", "modifier": 0.6 },
+ { "limb_score": "reaction", "modifier": 0.85 },
+ { "limb_score": "block", "modifier": 0.8 },
+ { "limb_score": "vision", "modifier": 0.85 }
+ ],
+ "flags": [ "EFFECT_LIMB_SCORE_MOD" ]
+ },
+ {
+ "type": "effect_type",
+ "id": "effect_lilin_supernatural_disease_focused",
+ "name": [ "Devouring Plague" ],
+ "desc": [ { "str": "You are infected by a supernatural disease." } ],
+ "rating": "bad",
+ "max_duration": "5 m",
+ "base_mods": { "hit_mod": [ -2 ], "dodge_mod": [ -4 ] },
+ "show_in_info": true,
+ "enchantments": [
+ {
+ "values": [
+ { "value": "SPEED", "multiply": -0.25 },
+ { "value": "ARMOR_ALL", "multiply": 0.1 },
+ { "value": "VISION_RANGE", "multiply": -0.35 },
+ { "value": "REGEN_HP", "multiply": -0.95 }
+ ]
+ }
+ ],
+ "limb_score_mods": [
+ { "limb_score": "balance", "modifier": 0.6 },
+ { "limb_score": "breathing", "modifier": 0.5 },
+ { "limb_score": "lift", "modifier": 0.65 },
+ { "limb_score": "grip", "modifier": 0.6 },
+ { "limb_score": "reaction", "modifier": 0.65 },
+ { "limb_score": "block", "modifier": 0.5 },
+ { "limb_score": "vision", "modifier": 0.55 }
+ ],
+ "flags": [ "EFFECT_LIMB_SCORE_MOD" ]
}
]
diff --git a/data/mods/Xedra_Evolved/flags.json b/data/mods/Xedra_Evolved/flags.json
index 659f5a6fa3369..1ac98330f5733 100644
--- a/data/mods/Xedra_Evolved/flags.json
+++ b/data/mods/Xedra_Evolved/flags.json
@@ -33,5 +33,14 @@
"id": "BLESSED_WEAPON",
"type": "json_flag",
"info": "This weapon does extra damage against creatures of the Nether."
+ },
+ {
+ "id": "EVIL_EYE_IMMUNE",
+ "type": "json_flag",
+ "info": "You are immune to the evil eye."
+ },
+ {
+ "id": "EVIL_EYE_IMMUNE_MONSTER",
+ "type": "monster_flag"
}
]
diff --git a/data/mods/Xedra_Evolved/monsters/elementals.json b/data/mods/Xedra_Evolved/monsters/elementals.json
index 09bfa8f549058..477478d4dd40c 100644
--- a/data/mods/Xedra_Evolved/monsters/elementals.json
+++ b/data/mods/Xedra_Evolved/monsters/elementals.json
@@ -979,7 +979,8 @@
"NO_BREATHE",
"NOGIB",
"PLASTIC",
- "HIT_AND_RUN"
+ "HIT_AND_RUN",
+ "EVIL_EYE_IMMUNE_MONSTER"
]
}
]
diff --git a/data/mods/Xedra_Evolved/monsters/monster.json b/data/mods/Xedra_Evolved/monsters/monster.json
index 20dac64f97a10..da501d8de0f11 100644
--- a/data/mods/Xedra_Evolved/monsters/monster.json
+++ b/data/mods/Xedra_Evolved/monsters/monster.json
@@ -234,16 +234,18 @@
"copy-from": "mon_flaming_eye",
"type": "MONSTER",
"name": { "str": "flaming eye" },
- "special_attacks": [
- { "type": "spell", "id": "stare_att", "spell_data": { "id": "stare" }, "monster_message": "", "cooldown": 12 },
- {
- "type": "spell",
- "id": "evil_att",
- "spell_data": { "id": "mon_flaming_eye_evil_spell", "min_level": 1 },
- "cooldown": 20,
- "monster_message": "%1$s stares at you and you feel a sense of doom!"
- }
- ]
+ "extend": {
+ "special_attacks": [
+ {
+ "type": "spell",
+ "id": "evil_att",
+ "spell_data": { "id": "mon_flaming_eye_evil_spell", "min_level": 1 },
+ "cooldown": 20,
+ "monster_message": "%1$s stares at you and you feel a sense of doom!"
+ }
+ ],
+ "flags": [ "EVIL_EYE_IMMUNE_MONSTER" ]
+ }
},
{
"id": "mon_triffid_heart",
diff --git a/data/mods/Xedra_Evolved/mutations/mutations.json b/data/mods/Xedra_Evolved/mutations/mutations.json
index 47b447c8a4230..4d9172cb5768d 100644
--- a/data/mods/Xedra_Evolved/mutations/mutations.json
+++ b/data/mods/Xedra_Evolved/mutations/mutations.json
@@ -125,6 +125,35 @@
"description": "Your dreams can change reality.",
"vitamin_rates": [ [ "dream", -8640000 ] ]
},
+ {
+ "type": "mutation",
+ "id": "INFRESIST",
+ "copy-from": "INFRESIST",
+ "extend": { "category": [ "LILIN" ] }
+ },
+ {
+ "type": "mutation",
+ "id": "INFIMMUNE",
+ "copy-from": "INFIMMUNE",
+ "extend": { "category": [ "LILIN" ] }
+ },
+ {
+ "type": "mutation",
+ "id": "DEFT",
+ "copy-from": "DEFT",
+ "extend": { "category": [ "LILIN" ] }
+ },
+ {
+ "type": "mutation",
+ "id": "GENERIC_UNCANNY_DODGE_TRAIT",
+ "name": { "str": "The Trait That Gives you Uncanny Dodge" },
+ "description": "The Uncanny Dodge flag only works on traits or bionics, so this is a trait for powers that grant it.",
+ "points": 1,
+ "starting_trait": false,
+ "purifiable": false,
+ "player_display": false,
+ "flags": [ "UNCANNY_DODGE" ]
+ },
{
"type": "mutation",
"id": "VAMPIRE",
diff --git a/data/mods/Xedra_Evolved/mutations/temporary.json b/data/mods/Xedra_Evolved/mutations/temporary.json
index 07dcf5288a393..179ada9d9aa1b 100644
--- a/data/mods/Xedra_Evolved/mutations/temporary.json
+++ b/data/mods/Xedra_Evolved/mutations/temporary.json
@@ -288,7 +288,7 @@
"id": "TURN_INTO_OWL_TRAITS",
"name": { "str": "Owl Form" },
"points": 98,
- "description": "You are am owl. This provides the actual effects of owl form. Should not be player-visible.",
+ "description": "You are an owl. This provides the actual effects of owl form. Should not be player-visible.",
"starting_trait": false,
"purifiable": false,
"valid": false,
@@ -333,6 +333,62 @@
"//2": "override below is because apparently we have no owls in the game",
"override_look": { "id": "mon_albino_penguin", "tile_category": "monster" }
},
+ {
+ "type": "mutation",
+ "id": "LILIN_WAR_OWL_FORM_TRAITS",
+ "name": { "str": "Strix Form" },
+ "points": 98,
+ "ugliness": 30,
+ "visibility": 30,
+ "description": "You are in strix form. This provides the actual effects of strix form. Should not be player-visible.",
+ "starting_trait": false,
+ "purifiable": false,
+ "valid": false,
+ "player_display": false,
+ "//": "The second enchantment, as well as bodytemp modifiers, takes into account the effects of the mutations added by the first enchantment, whose own enchantments do not transfer over due to bug #74994. If that bug is fixed, it can be deleted.",
+ "bodytemp_modifiers": [ 500, 1200 ],
+ "enchantments": [
+ {
+ "condition": "ALWAYS",
+ "values": [
+ { "value": "MAX_HP", "multiply": 1.25 },
+ { "value": "SPEED", "multiply": 0.1 },
+ { "value": "STRENGTH", "add": 2 },
+ { "value": "DEXTERITY", "add": 6 },
+ { "value": "PERCEPTION", "add": 6 },
+ { "value": "NIGHT_VIS", "add": 8 },
+ { "value": "CRAFTING_SPEED_MULTIPLIER", "multiply": -0.6 }
+ ],
+ "skills": [ { "value": "dodge", "add": 4 }, { "value": "unarmed", "add": 1 } ],
+ "mutations": [ "BEAK", "BIRD_EYE", "BIRD_LEGS", "DOWN", "EAGLEEYED", "HOLLOW_BONES", "LIGHTEATER", "SCREECH", "WINGS_BIRD" ]
+ },
+ {
+ "condition": "ALWAYS",
+ "values": [
+ { "value": "PERCEPTION", "add": 4 },
+ { "value": "BODYTEMP_SLEEP", "add": 0.5 },
+ { "value": "OVERMAP_SIGHT", "add": 4 },
+ { "value": "METABOLISM", "multiply": -0.2 },
+ { "value": "EXTRA_BASH", "multiply": 0.8 },
+ { "value": "MOVE_COST", "multiply": -0.2 },
+ { "value": "ATTACK_SPEED", "multiply": -0.2 },
+ { "value": "CARRY_WEIGHT", "multiply": -0.1 },
+ { "value": "SOCIAL_INTIMIDATE", "add": 10 },
+ { "value": "SOCIAL_LIE", "add": -20 },
+ { "value": "SOCIAL_PERSUADE", "add": -10 }
+ ]
+ }
+ ],
+ "attacks": {
+ "attack_text_u": "You rip into %s with your beak!",
+ "attack_text_npc": "%1$s rips into %2$s with their beak!",
+ "body_part": "mouth",
+ "chance": 15,
+ "strength_damage": { "damage_type": "cut", "amount": 3 }
+ },
+ "flags": [ "TEMPORARY_SHAPESHIFT", "SHAPESHIFT_SIZE_LARGE", "WINGS_2", "WING_GLIDE" ],
+ "integrated_armor": [ "integrated_feathers", "integrated_talons" ]
+ },
{
"type": "mutation",
"id": "TURN_INTO_RAVEN_TRAITS",
diff --git a/data/mods/Xedra_Evolved/mutations/xe_lilin.json b/data/mods/Xedra_Evolved/mutations/xe_lilin.json
index c16401e857f05..5eec16d449c29 100644
--- a/data/mods/Xedra_Evolved/mutations/xe_lilin.json
+++ b/data/mods/Xedra_Evolved/mutations/xe_lilin.json
@@ -1,12 +1,35 @@
[
{
+ "//": "Lilin powers should deal with darkness, disease, night, the moon, and owls. They specifically should not have powers that make them physically tougher, such as armor- or hp-increasing powers, or powers that do large amounts of direct damage.",
+ "//2": "The push and pull of Lilin powers is that they have active powers that require them to spend ruach, and passive powers that scale based on how much ruach they have (some active powers also do this)",
"type": "mutation",
"id": "THRESH_LILIN",
"name": { "str": "One with the Night" },
"points": 0,
- "description": "You have ascended in power and can rival the mighty night-creatures of old.",
+ "description": "You have ascended in power and can rival the mighty night-creatures of old. The night is your home, now, out of the light of the sun.",
"purifiable": false,
- "threshold": true
+ "threshold": true,
+ "//3": "An umbrella cannot protect you because this is a mystical weakness.",
+ "enchantments": [
+ {
+ "condition": { "and": [ "is_day", "u_is_outside" ] },
+ "values": [
+ { "value": "STRENGTH", "add": -1 },
+ { "value": "DEXTERITY", "add": -1 },
+ { "value": "INTELLIGENCE", "add": -1 },
+ { "value": "PERCEPTION", "add": -1 }
+ ]
+ },
+ {
+ "condition": { "and": [ "is_day", "u_is_outside", { "or": [ { "is_weather": "sunny" }, { "is_weather": "clear" } ] } ] },
+ "values": [
+ { "value": "STRENGTH", "add": -2 },
+ { "value": "DEXTERITY", "add": -2 },
+ { "value": "INTELLIGENCE", "add": -2 },
+ { "value": "PERCEPTION", "add": -2 }
+ ]
+ }
+ ]
},
{
"type": "mutation",
@@ -79,6 +102,27 @@
"category": [ "LILIN" ],
"spells_learned": [ [ "lilin_change_weather_fog_spell", 1 ] ]
},
+ {
+ "type": "mutation",
+ "id": "LILIN_THE_EVIL_EYE",
+ "name": { "str": "The Evil Eye" },
+ "points": 2,
+ "description": "With a baleful gaze and a heart full of malice, curse a single target with misfortune.",
+ "category": [ "LILIN" ],
+ "spells_learned": [ [ "lilin_evil_eye_spell", 1 ] ],
+ "flags": [ "EVIL_EYE_IMMUNE" ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_AOE_DAZE",
+ "name": { "str": "Cry of the Night-Bird" },
+ "points": 3,
+ "description": "Let out a piercing cry, disorienting both enemies and allies nearby.",
+ "prereqs": [ "LILIN_THE_EVIL_EYE" ],
+ "prereqs2": [ "LILIN_NIGHT_VISION" ],
+ "category": [ "LILIN" ],
+ "spells_learned": [ [ "lilin_aoe_daze_spell", 1 ] ]
+ },
{
"type": "mutation",
"id": "LILIN_TURN_INTO_OWL",
@@ -90,10 +134,52 @@
"active": true,
"activated_is_setup": true,
"prereqs": [ "LILIN_HOLD_MORE_RUACH_2", "LILIN_HOLD_MORE_RUACH_3" ],
+ "prereqs2": [ "LILIN_AVOID_SLEEP" ],
"category": [ "LILIN" ],
"activated_eocs": [ "EOC_LILIN_TURN_INTO_OWL_activated" ],
"deactivated_eocs": [ "EOC_LILIN_TURN_INTO_OWL_deactivated" ]
},
+ {
+ "type": "mutation",
+ "id": "LILIN_SLEEP_EASY_DURING_DAY",
+ "name": { "//~": "This is a reference to Genesis 1:5", "str": "And There Was Evening" },
+ "points": 2,
+ "description": "You were born to walk the night, and have a much easier time sleeping during the day.",
+ "category": [ "LILIN" ],
+ "enchantments": [ { "condition": "is_day", "values": [ { "value": "SLEEPY", "add": 50 } ] } ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_AVOID_SLEEP",
+ "name": { "//~": "This is a reference to Psalms 121:4", "str": "Neither Sleep Nor Slumber" },
+ "points": 4,
+ "description": "While sleep is restful, the ruach you gain fills you with more energy than even a good night's rest. You may spend ruach to alleviate your sleepiness.",
+ "prereqs": [ "LILIN_SLEEP_EASY_DURING_DAY" ],
+ "category": [ "LILIN" ],
+ "spells_learned": [ [ "lilin_avoid_sleep_spell", 1 ] ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_AOE_LINE_DISEASE",
+ "name": { "str": "Unleash the Night-Wind" },
+ "points": 4,
+ "description": "You may unleash a foul miasma on your enemies, sickening them.",
+ "prereqs": [ "DISRESISTANT", "DISIMMUNE" ],
+ "prereqs2": [ "LILIN_DRAIN_RUACH_DISTANCE", "LILIN_DRAIN_RUACH_LONG_DISTANCE" ],
+ "category": [ "LILIN" ],
+ "spells_learned": [ [ "lilin_aoe_line_disease_spell", 1 ] ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_DISEASE_ENHANCEMENT_DAMAGE",
+ "name": { "str": "Devoured by Pestilence" },
+ "points": 6,
+ "description": "You may greatly enhance the power of the miasma from Unleash the Night-Wind, doing serious damage and crippling your target.",
+ "prereqs": [ "LILIN_AOE_LINE_DISEASE" ],
+ "prereqs2": [ "LILIN_STEALTH_MODIFIER_IN_DARKNESS" ],
+ "category": [ "LILIN" ],
+ "spells_learned": [ [ "lilin_disease_enhancement_damage_spell", 1 ] ]
+ },
{
"type": "mutation",
"id": "LILIN_TEMPORARY_GLORIOUS",
@@ -156,21 +242,21 @@
"id": "LILIN_UNARMED_EXTRA_DAMAGE",
"name": { "//~": "This is a reference to Proverbs 30:15", "str": "Alukah's Daughter" },
"description": "You can drain essence from your targets with your unarmed attacks. Not well enough to absorb their ruach, should they have any, but enough to cause additional damage at night. This damage is strongest during the half to full moon and weakest during the new moon. It functions only slightly during the day.",
- "points": 2,
+ "points": 3,
"purifiable": false,
"player_display": false,
"prereqs": [ "LILIN_ATTRIBUTE_BONUSES_STRENGTH" ],
"prereqs2": [ "LILIN_DRAIN_RUACH_DISTANCE", "LILIN_DRAIN_RUACH_LONG_DISTANCE" ],
"category": [ "LILIN" ],
- "//": "Use a more appropriate damage type once enchantments support custom damage types",
+ "//": "Use a more appropriate damage type once enchantments support custom damage types. Also, a light level check wound be better than is_day/is_outside",
"enchantments": [
{
"condition": {
"and": [
{ "not": "u_has_weapon" },
- { "not": "is_day" },
+ { "not": { "and": [ "is_day", "u_is_outside" ] } },
{
- "or": [ { "math": [ "moon_phase() == 2" ] }, { "math": [ "moon_phase() == 3" ] }, { "math": [ "moon_phase() == 4" ] } ]
+ "or": [ { "math": [ "moon_phase() == 3" ] }, { "math": [ "moon_phase() == 4" ] }, { "math": [ "moon_phase() == 5" ] } ]
}
]
},
@@ -187,10 +273,10 @@
"condition": {
"and": [
{ "not": "u_has_weapon" },
- { "not": "is_day" },
+ { "not": { "and": [ "is_day", "u_is_outside" ] } },
{
"or": [
- { "math": [ "moon_phase() == 5" ] },
+ { "math": [ "moon_phase() == 2" ] },
{ "math": [ "moon_phase() == 6" ] },
{ "math": [ "moon_phase() == 7" ] },
{ "math": [ "moon_phase() == 1" ] }
@@ -208,11 +294,13 @@
]
},
{
- "condition": { "and": [ { "not": "u_has_weapon" }, { "not": "is_day" }, { "math": [ "moon_phase() == 8" ] } ] },
+ "condition": {
+ "and": [ { "not": "u_has_weapon" }, { "not": { "and": [ "is_day", "u_is_outside" ] } }, { "math": [ "moon_phase() == 8" ] } ]
+ },
"values": [ { "value": "ITEM_DAMAGE_BIO", "add": { "math": [ "1 + (u_vitamin('lilin_ruach_vitamin') / 3000)" ] } } ]
},
{
- "condition": { "and": [ { "not": "u_has_weapon" }, "is_day" ] },
+ "condition": { "and": [ { "not": "u_has_weapon" }, { "not": { "and": [ "is_day", "u_is_outside" ] } } ] },
"values": [ { "value": "ITEM_DAMAGE_BIO", "add": 1 } ]
}
]
@@ -237,9 +325,22 @@
"starting_trait": false,
"purifiable": false,
"prereqs": [ "LILIN_ATTRIBUTE_BONUSES_DEXTERITY" ],
+ "prereqs2": [ "DEFT" ],
"category": [ "LILIN" ],
"spells_learned": [ [ "lilin_speed_dodge_boost_spell", 1 ] ]
},
+ {
+ "type": "mutation",
+ "id": "LILIN_UNCANNY_DODGE_WHILE_REAPING",
+ "name": { "str": "From Shadow to Shadow" },
+ "description": "You can leap away from attacks like shadows dancing in candlelight. You gain Uncanny Dodge while under the effects of Reaping the Whirlwind.",
+ "points": 6,
+ "starting_trait": false,
+ "purifiable": false,
+ "prereqs": [ "LILIN_SPEED_DODGE_BOOST" ],
+ "prereqs2": [ "LILIN_UNARMED_EXTRA_DAMAGE" ],
+ "category": [ "LILIN" ]
+ },
{
"type": "mutation",
"id": "LILIN_ATTRIBUTE_BONUSES_PERCEPTION",
@@ -256,9 +357,10 @@
"id": "LILIN_NIGHT_VISION",
"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,
+ "points": 3,
"purifiable": false,
"prereqs": [ "LILIN_ATTRIBUTE_BONUSES_PERCEPTION" ],
+ "prereqs2": [ "LILIN_THE_EVIL_EYE" ],
"category": [ "LILIN" ],
"enchantments": [
{
@@ -268,9 +370,122 @@
{
"condition": { "not": "u_is_outside" },
"values": [ { "value": "NIGHT_VIS", "add": { "math": [ "u_val('perception') * 0.75" ] } } ]
+ },
+ {
+ "condition": { "and": [ "u_is_outside", { "not": "is_day" } ] },
+ "values": [ { "value": "OVERMAP_SIGHT", "add": { "math": [ "6 + (u_val('perception') / 5)" ] } } ]
}
]
},
+ {
+ "type": "mutation",
+ "id": "LILIN_GAIN_MORE_FOCUS",
+ "name": { "str": "Owl's Wisdom" },
+ "description": "The owl is a symbol of wisdom in culture after culture, and you are the heir to that wisdom. You find it easier to learn things, and even easier the more ruach you're holding on to.",
+ "points": 1,
+ "purifiable": false,
+ "prereqs": [ "LILIN_SLEEP_EASY_DURING_DAY" ],
+ "category": [ "LILIN" ],
+ "enchantments": [
+ {
+ "condition": "ALWAYS",
+ "values": [
+ {
+ "value": "LEARNING_FOCUS",
+ "add": {
+ "math": [
+ "5 + clamp( (u_vitamin('lilin_ruach_vitamin') / 100 ), 0, 10) + clamp( ( (u_vitamin('lilin_ruach_vitamin') - 1000) / 250 ), 0, 10) + clamp( ( (u_vitamin('lilin_ruach_vitamin') - 3000) / 500 ), 0, 10)"
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_STEALTH_MODIFIER_IN_DARKNESS",
+ "name": { "//~": "This is a reference to Psalms 91:6", "str": "The Pestilence that Stalks in Darkness" },
+ "description": "You are at home in the darkness and it clings to you to cover your movements. In a half- or smaller moon, and when out of the daylight, it is harder for your enemies to spots you.",
+ "points": 3,
+ "purifiable": false,
+ "prereqs": [ "LILIN_AVOID_SLEEP" ],
+ "category": [ "LILIN" ],
+ "//": "A light level check would be better than is_day/is_outside",
+ "enchantments": [
+ {
+ "condition": {
+ "and": [
+ { "not": { "and": [ "is_day", "u_is_outside" ] } },
+ { "or": [ { "math": [ "moon_phase() ==6" ] }, { "math": [ "moon_phase() == 2" ] } ] }
+ ]
+ },
+ "values": [ { "value": "STEALTH_MODIFIER", "add": { "math": [ "10 + (u_vitamin('lilin_ruach_vitamin') / 500)" ] } } ]
+ },
+ {
+ "condition": {
+ "and": [
+ { "not": { "and": [ "is_day", "u_is_outside" ] } },
+ { "or": [ { "math": [ "moon_phase() == 7" ] }, { "math": [ "moon_phase() == 1" ] } ] }
+ ]
+ },
+ "values": [ { "value": "STEALTH_MODIFIER", "add": { "math": [ "25 + (u_vitamin('lilin_ruach_vitamin') / 400)" ] } } ]
+ },
+ {
+ "condition": { "and": [ { "not": { "and": [ "is_day", "u_is_outside" ] } }, { "math": [ "moon_phase() == 0" ] } ] },
+ "values": [ { "value": "STEALTH_MODIFIER", "add": { "math": [ "40 + (u_vitamin('lilin_ruach_vitamin') / 300)" ] } } ]
+ }
+ ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_RESIST_COLD",
+ "name": { "//~": "This is a reference to Psalm 147:17", "str": "Stand Before the Cold" },
+ "description": "As a hunter in the night, you are well-conditioned to the cold after the sun goes down. You are resistant to chill temperatures, and more so the more ruach you have.",
+ "points": 2,
+ "starting_trait": false,
+ "purifiable": false,
+ "category": [ "LILIN" ],
+ "enchantments": [
+ {
+ "condition": "ALWAYS",
+ "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": { "math": [ "15 + (u_vitamin('lilin_ruach_vitamin') / 100)" ] } } ]
+ }
+ ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_BONUS_HEALING",
+ "name": { "str": "Warm Breath" },
+ "description": "Your stolen ruach speeds your healing in proportion to how much of it you have.",
+ "points": 3,
+ "starting_trait": false,
+ "purifiable": false,
+ "prereqs": [ "LILIN_SLEEP_EASY_DURING_DAY" ],
+ "category": [ "LILIN" ],
+ "enchantments": [
+ {
+ "condition": "ALWAYS",
+ "values": [ { "value": "REGEN_HP", "multiply": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 250)" ] } } ]
+ }
+ ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_BONUS_HEALING_ACTIVE",
+ "name": { "str": "The Night's Caress" },
+ "description": "Sometimes, you cannot passively wait for your ruach to heal your wounds, you need it to happen immediately. You may activate this trait to greatly speed your healing at a continual cost of ruach.",
+ "points": 5,
+ "starting_trait": false,
+ "purifiable": false,
+ "active": true,
+ "activated_is_setup": true,
+ "prereqs": [ "LILIN_BONUS_HEALING" ],
+ "prereqs2": [ "LILIN_ATTRIBUTE_BONUSES_STRENGTH" ],
+ "category": [ "LILIN" ],
+ "activated_eocs": [ "EOC_LILIN_BONUS_HEALING_ACTIVE_activated" ],
+ "deactivated_eocs": [ "EOC_LILIN_BONUS_HEALING_ACTIVE_deactivated" ]
+ },
{
"type": "mutation",
"id": "LILIN_HOLD_MORE_RUACH",
@@ -279,6 +494,7 @@
"points": 2,
"starting_trait": false,
"purifiable": false,
+ "prereqs": [ "LILIN_GAIN_MORE_FOCUS" ],
"changes_to": [ "LILIN_HOLD_MORE_RUACH_2" ],
"category": [ "LILIN" ]
},
@@ -307,6 +523,19 @@
"category": [ "LILIN" ],
"threshreq": [ "THRESH_LILIN" ]
},
+ {
+ "type": "mutation",
+ "id": "LILIN_READ_CRAFT_IN_DARKNESS",
+ "name": { "//~": "This is a reference to Psalms 139:12", "str": "The Night Shines Like the Day" },
+ "description": "You have adapted so well to the night that it doesn't hinder your actions at all. You can read and craft in any light levels.",
+ "points": 4,
+ "purifiable": false,
+ "player_display": false,
+ "prereqs": [ "LILIN_NIGHT_VISION" ],
+ "category": [ "LILIN" ],
+ "threshreq": [ "THRESH_LILIN" ],
+ "flags": [ "CRAFT_IN_DARKNESS", "READ_IN_DARKNESS" ]
+ },
{
"type": "mutation",
"id": "LILIN_LIMB_SCORE_BONUSES_AT_NIGHT",
@@ -315,13 +544,8 @@
"points": 8,
"starting_trait": false,
"purifiable": false,
- "prereqs": [
- "LILIN_ATTRIBUTE_BONUSES_STRENGTH",
- "LILIN_UNARMED_EXTRA_DAMAGE",
- "LILIN_ATTRIBUTE_BONUSES_DEXTERITY",
- "LILIN_SPEED_DODGE_BOOST"
- ],
- "prereqs2": [ "LILIN_ATTRIBUTE_BONUSES_PERCEPTION", "LILIN_NIGHT_VISION" ],
+ "prereqs": [ "LILIN_UNARMED_EXTRA_DAMAGE", "LILIN_SPEED_DODGE_BOOST" ],
+ "prereqs2": [ "LILIN_READ_CRAFT_IN_DARKNESS" ],
"category": [ "LILIN" ],
"threshreq": [ "THRESH_LILIN" ],
"enchantments": [
@@ -330,5 +554,57 @@
"ench_effects": [ { "effect": "effect_lilin_limb_score_bonuses_at_night", "intensity": 1 } ]
}
]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_TRANSFORM_INTO_WAR_OWL_FORM",
+ "name": { "str": "The Strix's Wrath" },
+ "points": 10,
+ "description": "You can combine your forms, transforming into a large owl-human hybrid with wings, rending talons, and a deadly beak.",
+ "starting_trait": false,
+ "purifiable": false,
+ "active": true,
+ "activated_is_setup": true,
+ "prereqs": [ "LILIN_SPEED_DODGE_BOOST" ],
+ "prereqs2": [ "LILIN_TURN_INTO_OWL" ],
+ "category": [ "LILIN" ],
+ "threshreq": [ "THRESH_LILIN" ],
+ "activated_eocs": [ "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_activated" ],
+ "deactivated_eocs": [ "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_deactivated" ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_WAR_OWL_FORM_LEAPER",
+ "name": { "str": "Strix's Leap" },
+ "description": "While you cannot fly, with your bird-like legs and your wings, you can leap quite a distance.",
+ "valid": false,
+ "points": 0,
+ "active": true,
+ "activated_is_setup": false,
+ "activated_eocs": [ "EOC_LILIN_STRIX_LEAP" ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_DISEASE_MELEE_STRIKES",
+ "name": { "str": "Touch of Contagion" },
+ "description": "When you wish it, your very touch bears the contamination of plague. Your unarmed attacks have a chance to infect your targets, scaling with the amount of ruach you have.",
+ "points": 10,
+ "purifiable": false,
+ "player_display": false,
+ "prereqs": [ "LILIN_DISEASE_ENHANCEMENT_DAMAGE" ],
+ "category": [ "LILIN" ],
+ "threshreq": [ "THRESH_LILIN" ]
+ },
+ {
+ "type": "mutation",
+ "id": "LILIN_INSTANT_HEAL",
+ "name": { "str": "The Moon to Rule the Night" },
+ "points": 9,
+ "description": "At night, under the moonlight, you can knit grievous wounds together in seconds with a great expenditure of ruach.",
+ "prereqs": [ "LILIN_LIMB_SCORE_BONUSES_AT_NIGHT" ],
+ "prereqs2": [ "LILIN_BONUS_HEALING_ACTIVE" ],
+ "category": [ "LILIN" ],
+ "threshreq": [ "THRESH_LILIN" ],
+ "spells_learned": [ [ "lilin_instant_heal_spell", 1 ] ]
}
]
diff --git a/data/mods/Xedra_Evolved/mutations/xe_lilin_eocs.json b/data/mods/Xedra_Evolved/mutations/xe_lilin_eocs.json
index d55f1e6f499a9..085758a5d2626 100644
--- a/data/mods/Xedra_Evolved/mutations/xe_lilin_eocs.json
+++ b/data/mods/Xedra_Evolved/mutations/xe_lilin_eocs.json
@@ -3,8 +3,15 @@
"type": "effect_on_condition",
"id": "EOC_LILIN_RUACH_DRAIN_SELF",
"recurrence": [ "6 minutes", "6 minutes" ],
- "condition": { "and": [ { "u_has_trait": "LILIN_TRAITS" }, { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "1" ] } ] },
+ "condition": { "u_has_trait": "LILIN_TRAITS" },
+ "//": "Split EoC to allow the deactivate_condition to run",
"deactivate_condition": { "not": { "u_has_trait": "LILIN_TRAITS" } },
+ "effect": [ { "run_eocs": "EOC_LILIN_RUACH_DRAIN_SELF_2" } ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_RUACH_DRAIN_SELF_2",
+ "condition": { "and": [ { "u_has_trait": "LILIN_TRAITS" }, { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "1" ] } ] },
"effect": [
{ "u_lose_effect": "effect_lilin_no_ruach" },
{ "math": [ "u_vitamin('lilin_ruach_vitamin')", "--" ] },
@@ -95,7 +102,13 @@
{ "u_mutate": 0 },
{ "math": [ "u_vitamin('mutagen_lilin')", "-=", "2500" ] },
{ "math": [ "u_vitamin('mutagen')", "-=", "1000" ] },
- { "math": [ "u_lilin_new_power_delay_timer", "+=", "86400" ] },
+ {
+ "math": [
+ "u_lilin_new_power_delay_timer",
+ "=",
+ "min( (rand(86400) + (u_sum_traits_of_category_char_has('LILIN') * 1200) ),604800)"
+ ]
+ },
{ "u_add_effect": "effect_gained_lilin_power", "duration": { "math": [ "u_lilin_new_power_delay_timer" ] } },
{ "math": [ "u_lilin_amount_of_ruach_spent_for_powers", "=", "0" ] },
{ "math": [ "u_lilin_amount_of_ruach_spent_for_powers_increaser", "=", "1" ] }
@@ -112,6 +125,30 @@
"condition": { "compare_string": [ "LILIN_DRAIN_RUACH_LONG_DISTANCE", { "context_val": "trait" } ] },
"effect": [ { "math": [ "u_spell_level('lilin_drain_ruach_short_ranged_spell')", "=", "-1" ] } ]
},
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_DRAIN_RUACH_INCREASE_DISTANCE_FALLBACK",
+ "recurrence": [ "6 minutes", "6 minutes" ],
+ "condition": { "u_has_trait": "LILIN_TRAITS" },
+ "//": "Split EoC to allow the deactivate_condition to run",
+ "deactivate_condition": {
+ "or": [
+ { "math": [ "u_spell_level('lilin_drain_ruach_long_ranged_spell')", ">=", "0" ] },
+ { "not": { "u_has_trait": "LILIN_TRAITS" } }
+ ]
+ },
+ "effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_DRAIN_RUACH_INCREASE_DISTANCE_FALLBACK_2",
+ "condition": { "math": [ "u_spell_level('lilin_drain_ruach_long_ranged_spell')", ">=", "0" ] },
+ "effect": [ { "math": [ "u_spell_level('lilin_drain_ruach_short_ranged_spell')", "=", "-1" ] } ]
+ }
+ ]
+ }
+ ]
+ },
{
"type": "effect_on_condition",
"id": "EOC_LILIN_GAINS_STRENGTH_TO_STRENGTH_CHOOSE_INITIAL",
diff --git a/data/mods/Xedra_Evolved/mutations/xe_lilin_trait_eocs.json b/data/mods/Xedra_Evolved/mutations/xe_lilin_trait_eocs.json
index 61b6f25d0072f..51a6f852ea349 100644
--- a/data/mods/Xedra_Evolved/mutations/xe_lilin_trait_eocs.json
+++ b/data/mods/Xedra_Evolved/mutations/xe_lilin_trait_eocs.json
@@ -14,7 +14,7 @@
"effect": [
{ "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "60" ] },
{ "u_add_trait": "BEAUTIFUL3" },
- { "u_add_effect": "effect_lilin_temmporary_glorious", "duration": "PERMANENT" },
+ { "u_add_effect": "effect_lilin_temporary_glorious", "duration": "PERMANENT" },
{ "u_message": "You spin a beguiling web of illusion around yourself.", "type": "good" },
{
"queue_eocs": [ "EOC_LILIN_TEMPORARY_GLORIOUS_maintenance" ],
@@ -234,5 +234,215 @@
"id": "EOC_LILIN_TURN_INTO_OWL_deactivate_future",
"//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work",
"effect": { "u_deactivate_trait": "LILIN_TURN_INTO_OWL" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_BONUS_HEALING_ACTIVE_activated",
+ "condition": { "not": { "u_has_effect": "effect_lilin_bonus_healing_active" } },
+ "effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_BONUS_HEALING_ACTIVE_activated_2",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "50" ] },
+ "effect": [
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "50" ] },
+ { "u_add_effect": "effect_lilin_bonus_healing_active", "duration": "PERMANENT" },
+ { "u_message": "You pour ruach into your wounds and your body begins healing.", "type": "good" },
+ { "queue_eocs": [ "EOC_LILIN_BONUS_HEALING_ACTIVE_maintenance" ], "time_in_future": [ 8, 15 ] }
+ ],
+ "false_effect": [
+ { "u_message": "You don't have enough ruach to heal your wounds.", "type": "bad" },
+ { "queue_eocs": "EOC_LILIN_BONUS_HEALING_deactivate_future", "time_in_future": 0 }
+ ]
+ }
+ ]
+ }
+ ],
+ "false_effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_BONUS_HEALING_ACTIVE_deactivated",
+ "condition": { "u_has_effect": "effect_lilin_bonus_healing_active" },
+ "effect": [
+ { "u_message": "Your accelerated healing slows to a stop.", "type": "neutral" },
+ { "u_lose_effect": "effect_lilin_bonus_healing_active" }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_BONUS_HEALING_deactivate_future",
+ "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work",
+ "effect": [ { "u_deactivate_trait": "LILIN_BONUS_HEALING_ACTIVE" } ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_BONUS_HEALING_ACTIVE_maintenance",
+ "condition": { "u_has_effect": "effect_lilin_bonus_healing_active" },
+ "effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_BONUS_HEALING_ACTIVE_maintenance_2",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "50" ] },
+ "effect": [
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "50" ] },
+ { "u_message": "You feel icy pinpricks on your skin as your wounds heal.", "type": "mixed" },
+ {
+ "if": { "math": [ "u_hp('torso')", "<", "u_hp_max('torso')" ] },
+ "then": { "math": [ "u_hp('torso')", "++" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('head')", "<", "u_hp_max('head')" ] },
+ "then": { "math": [ "u_hp('head')", "++" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('arm_l')", "<", "u_hp_max('arm_l')" ] },
+ "then": { "math": [ "u_hp('arm_l')", "++" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('arm_r')", "<", "u_hp_max('arm_r')" ] },
+ "then": { "math": [ "u_hp('arm_r')", "++" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('leg_l')", "<", "u_hp_max('leg_l')" ] },
+ "then": { "math": [ "u_hp('leg_l')", "++" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('leg_r')", "<", "u_hp_max('leg_r')" ] },
+ "then": { "math": [ "u_hp('leg_r')", "++" ] }
+ },
+ { "queue_eocs": [ "EOC_LILIN_BONUS_HEALING_ACTIVE_maintenance" ], "time_in_future": [ 8, 15 ] }
+ ],
+ "false_effect": [
+ { "u_message": "You don't have enough ruach accelerate your healing.", "type": "neutral" },
+ { "queue_eocs": "EOC_LILIN_BONUS_HEALING_deactivate_future", "time_in_future": 0 }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_DISEASE_MELEE_STRIKES_CHARACTER_ATTACK",
+ "eoc_type": "EVENT",
+ "required_event": "character_melee_attacks_character",
+ "condition": {
+ "and": [
+ { "u_has_trait": "LILIN_DISEASE_MELEE_STRIKES" },
+ { "x_in_y_chance": { "x": { "math": [ "max( (u_vitamin('lilin_ruach_vitamin') / 1000) , 1)" ] }, "y": 10 } },
+ { "not": "u_has_weapon" },
+ { "math": [ "_hits", "!=", "false" ] }
+ ]
+ },
+ "effect": [
+ {
+ "npc_add_effect": "effect_lilin_supernatural_disease",
+ "duration": [
+ { "math": [ "1 + (u_vitamin('lilin_ruach_vitamin') * 0.09)" ] },
+ { "math": [ "15 + (u_vitamin('lilin_ruach_vitamin') * 0.24)" ] }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_DISEASE_MELEE_STRIKES_MONSTER_ATTACK",
+ "eoc_type": "EVENT",
+ "required_event": "character_melee_attacks_monster",
+ "condition": {
+ "and": [
+ { "u_has_trait": "LILIN_DISEASE_MELEE_STRIKES" },
+ { "x_in_y_chance": { "x": { "math": [ "max( (u_vitamin('lilin_ruach_vitamin') / 1000) , 1)" ] }, "y": 10 } },
+ { "not": "u_has_weapon" },
+ { "math": [ "_hits", "!=", "false" ] }
+ ]
+ },
+ "effect": [
+ {
+ "npc_add_effect": "effect_lilin_supernatural_disease",
+ "duration": [
+ { "math": [ "1 + (u_vitamin('lilin_ruach_vitamin') * 0.09)" ] },
+ { "math": [ "15 + (u_vitamin('lilin_ruach_vitamin') * 0.24)" ] }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_activated",
+ "condition": { "not": { "u_has_trait": "LILIN_WAR_OWL_FORM_TRAITS" } },
+ "effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_activated_2",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "480" ] },
+ "effect": [
+ { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 1.5 },
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "480" ] },
+ { "u_add_trait": "LILIN_WAR_OWL_FORM_TRAITS" },
+ { "u_add_trait": "LILIN_WAR_OWL_FORM_LEAPER" },
+ { "math": [ "u_calories('dont_affect_weariness': true)", "*=", "1.5" ] },
+ {
+ "u_message": "Wings erupt from your shoulders and talons grow from your fingers as you assume the strix form.",
+ "type": "good"
+ }
+ ],
+ "false_effect": [
+ { "u_message": "You don't have enough ruach to transform into a strix.", "type": "bad" },
+ { "queue_eocs": "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_deactivate_future", "time_in_future": 0 }
+ ]
+ }
+ ]
+ }
+ ],
+ "false_effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_deactivated",
+ "condition": { "u_has_trait": "LILIN_WAR_OWL_FORM_TRAITS" },
+ "effect": [
+ { "u_message": "Your wings, feathers, and talons all vanish as you return to your human form.", "type": "neutral" },
+ { "u_lose_trait": "LILIN_WAR_OWL_FORM_TRAITS" },
+ { "u_lose_trait": "LILIN_WAR_OWL_FORM_LEAPER" },
+ { "math": [ "u_calories('dont_affect_weariness': true)", "/=", "1.5" ] }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_TRANSFORM_INTO_WAR_OWL_FORM_deactivate_future",
+ "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work",
+ "effect": { "u_deactivate_trait": "LILIN_TRANSFORM_INTO_WAR_OWL_FORM" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_STRIX_LEAP",
+ "effect": [
+ {
+ "run_eoc_with": "EOC_GENERIC_SPELL_MUTATION",
+ "variables": {
+ "energy_amount": "2000",
+ "prep_time": "1",
+ "spell_to_cast": "lilin_strix_leap_spell",
+ "message_success": {
+ "i18n": true,
+ "str": "You squat down, build up tension in your legs, then with a mighty beat of your wings, you leap."
+ },
+ "message_fail": { "i18n": true, "str": "Your legs are too tired to perform a jump." }
+ }
+ }
+ ]
}
]
diff --git a/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json b/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json
index 2e9b2898a42d9..027ad3c8d910c 100644
--- a/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json
+++ b/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json
@@ -16,5 +16,12 @@
"id": "devil_tail_eff",
"name": [ "" ],
"desc": [ "" ]
+ },
+ {
+ "type": "effect_type",
+ "id": "effect_lilin_temmporary_glorious",
+ "//": "typo id and non-typo id were both mentioned, so the typo id is being obsoleted",
+ "name": [ "" ],
+ "desc": [ "" ]
}
]
diff --git a/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json b/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json
index e076d834b418e..8559f8cd51070 100644
--- a/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json
+++ b/data/mods/Xedra_Evolved/spells/lilin_spell_eocs.json
@@ -215,6 +215,154 @@
}
]
},
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_EVIL_EYE",
+ "condition": { "math": [ "n_vitamin('lilin_ruach_vitamin')", ">=", "60" ] },
+ "effect": [
+ { "math": [ "n_vitamin('lilin_ruach_vitamin')", "-=", "60" ] },
+ {
+ "npc_message": "You glare balefully at and project all of your malice into your gaze.",
+ "type": "neutral"
+ },
+ {
+ "u_add_effect": "effect_evil_eye",
+ "duration": [
+ {
+ "math": [
+ "10 + ( (u_vitamin('lilin_ruach_vitamin') * 0.08) * ((u_has_trait('LILIN_LIMB_SCORE_BONUSES_AT_NIGHT') * 0.5) + 1) * ((u_has_trait('LILIN_NIGHT_VISION') * 0.3) + 1) )"
+ ]
+ },
+ {
+ "math": [
+ "50 + ( (u_vitamin('lilin_ruach_vitamin') * 0.19) * ((u_has_trait('LILIN_LIMB_SCORE_BONUSES_AT_NIGHT') * 0.5) + 1) * ((u_has_trait('LILIN_NIGHT_VISION') * 0.3) + 1) )"
+ ]
+ }
+ ]
+ }
+ ],
+ "false_effect": { "npc_message": "You don't have enough ruach for your malice to affect your target.", "type": "bad" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_AOE_DAZE",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "160" ] },
+ "effect": [
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "160" ] },
+ { "u_cast_spell": { "id": "lilin_aoe_daze_spell_real", "hit_self": false } },
+ { "u_make_sound": "You let out a piercing cry!", "type": "alert", "volume": 20 },
+ { "u_make_sound": "You let out a piercing cry!", "type": "alert", "volume": 20 },
+ { "u_message": "You let out a piercing cry!", "type": "neutral" }
+ ],
+ "false_effect": { "u_message": "You don't have enough ruach to let out the night-cry!", "type": "bad" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_AOE_LINE_DISEASE",
+ "condition": { "math": [ "n_vitamin('lilin_ruach_vitamin')", ">=", "240" ] },
+ "effect": [
+ { "math": [ "n_vitamin('lilin_ruach_vitamin')", "-=", "240" ] },
+ { "npc_message": "You summon a wind filled with pestilence.", "type": "neutral" },
+ {
+ "u_add_effect": "effect_lilin_supernatural_disease",
+ "duration": [
+ {
+ "math": [
+ "1 + ( (u_vitamin('lilin_ruach_vitamin') * 0.09) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ },
+ {
+ "math": [
+ "15 + ( (u_vitamin('lilin_ruach_vitamin') * 0.24) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ }
+ ]
+ }
+ ],
+ "false_effect": { "npc_message": "You don't have enough ruach to summon the miasma!", "type": "bad" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_DISEASE_ENHANCEMENT_DAMAGE",
+ "condition": { "math": [ "n_vitamin('lilin_ruach_vitamin')", ">=", "180" ] },
+ "effect": [
+ { "math": [ "n_vitamin('lilin_ruach_vitamin')", "-=", "180" ] },
+ { "npc_message": "You infuse your ruach into the plague-infected .", "type": "neutral" },
+ {
+ "u_add_effect": "effect_lilin_supernatural_disease_focused",
+ "duration": [
+ {
+ "math": [
+ "1 + ( (u_vitamin('lilin_ruach_vitamin') * 0.03) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ },
+ {
+ "math": [
+ "15 + ( (u_vitamin('lilin_ruach_vitamin') * 0.09) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ }
+ ]
+ },
+ {
+ "if": "u_is_character",
+ "then": [
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "head"
+ },
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "arm_l"
+ },
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "arm_r"
+ },
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "torso"
+ },
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "leg_r"
+ },
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(4,8) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] },
+ "bodypart": "leg_l"
+ }
+ ],
+ "else": [
+ {
+ "u_deal_damage": "biological",
+ "amount": { "math": [ "rng(10,35) * max( (u_vitamin('lilin_ruach_vitamin') / 3000), 1)" ] }
+ }
+ ]
+ }
+ ],
+ "false_effect": { "npc_message": "You don't have enough ruach to summon the miasma!", "type": "bad" }
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_AVOID_SLEEP",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "300" ] },
+ "effect": [
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "300" ] },
+ { "math": [ "u_val('sleepiness')", "-=", "rng(200,350)" ] },
+ {
+ "if": { "math": [ "u_val('sleepiness')", "<", "0" ] },
+ "then": { "math": [ "u_val('sleepiness')", "=", "0" ] }
+ },
+ { "math": [ "u_val('sleep_deprivation')", "=", "0" ] },
+ { "u_message": "As a cool breeze touches your skin, you feel much more awake.", "type": "good" }
+ ],
+ "false_effect": [ { "u_message": "You don't have enough ruach to spare any to alleviate your tiredness.", "type": "bad" } ]
+ },
{
"type": "effect_on_condition",
"id": "EOC_LILIN_CHANGE_WEATHER_DENSE_FOG",
@@ -224,9 +372,9 @@
"run_eocs": [
{
"id": "EOC_LILIN_CHANGE_WEATHER_DENSE_FOG_2",
- "condition": { "math": [ "n_vitamin('lilin_ruach_vitamin')", ">=", "240" ] },
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "240" ] },
"effect": [
- { "math": [ "n_vitamin('lilin_ruach_vitamin')", "-=", "240" ] },
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "240" ] },
{ "u_message": "A thick fog begins to rise.", "type": "neutral" },
{ "math": [ "magic_weather_dense_fog", "=", "1" ] },
{ "u_add_effect": "effect_controlling_weather_fog", "duration": "6 hours" },
@@ -273,15 +421,111 @@
{
"type": "effect_on_condition",
"id": "EOC_LILIN_SPEED_BOOST",
- "condition": { "math": [ "n_vitamin('lilin_ruach_vitamin')", ">=", "120" ] },
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "360" ] },
"effect": [
- { "math": [ "n_vitamin('lilin_ruach_vitamin')", "-=", "120" ] },
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "360" ] },
{
"u_add_effect": "effect_lilin_speed_boost",
- "duration": { "math": [ "30 + (u_has_trait('THRESH_LILIN') * 30) + (u_vitamin('lilin_ruach_vitamin') / 24)" ] }
+ "duration": {
+ "math": [
+ "(15 + (u_has_trait('THRESH_LILIN') * 15) + (u_vitamin('lilin_ruach_vitamin') / 24)) * (u_effect_intensity('effect_lilin_attribute_bonuses') > 0 ? 1.25 : 1) * (u_effect_intensity('effect_lilin_limb_score_bonuses_at_night') > 0 ? 1.25 : 1)"
+ ]
+ }
},
{ "u_message": "The world around you slows down immensely.", "type": "good" }
],
- "false_effect": [ { "npc_message": "You don't have enough ruach to reap the whirlwind.", "type": "bad" } ]
+ "false_effect": [ { "u_message": "You don't have enough ruach to reap the whirlwind.", "type": "bad" } ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_SPEED_BOOST_UNCANNY_DODGE_ON",
+ "eoc_type": "EVENT",
+ "required_event": "character_gains_effect",
+ "condition": {
+ "and": [
+ { "compare_string": [ "effect_lilin_speed_boost", { "context_val": "effect" } ] },
+ { "u_has_trait": "LILIN_UNCANNY_DODGE_WHILE_REAPING" }
+ ]
+ },
+ "effect": [ { "u_add_trait": "GENERIC_UNCANNY_DODGE_TRAIT" } ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_SPEED_BOOST_UNCANNY_DODGE_OFF",
+ "eoc_type": "EVENT",
+ "required_event": "character_loses_effect",
+ "condition": {
+ "and": [
+ { "compare_string": [ "effect_lilin_speed_boost", { "context_val": "effect" } ] },
+ { "u_has_trait": "LILIN_UNCANNY_DODGE_WHILE_REAPING" }
+ ]
+ },
+ "effect": [ { "u_lose_trait": "GENERIC_UNCANNY_DODGE_TRAIT" } ]
+ },
+ {
+ "type": "effect_on_condition",
+ "id": "EOC_LILIN_INSTANT_HEAL",
+ "condition": {
+ "and": [
+ "u_is_outside",
+ { "not": "is_day" },
+ { "not": { "math": [ "moon_phase()", "==", "0" ] } },
+ { "or": [ { "is_weather": "sunny" }, { "is_weather": "clear" } ] }
+ ]
+ },
+ "effect": [
+ {
+ "run_eocs": [
+ {
+ "id": "EOC_LILIN_INSTANT_HEAL_2",
+ "condition": { "math": [ "u_vitamin('lilin_ruach_vitamin')", ">=", "1200" ] },
+ "effect": [
+ { "math": [ "u_vitamin('lilin_ruach_vitamin')", "-=", "1200" ] },
+ { "npc_message": "Your wounded flesh knits together in moments.", "type": "neutral" },
+ {
+ "if": { "math": [ "u_hp('torso')", "<", "u_hp_max('torso')" ] },
+ "then": { "math": [ "u_hp('torso')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('head')", "<", "u_hp_max('head')" ] },
+ "then": { "math": [ "u_hp('head')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('arm_l')", "<", "u_hp_max('arm_l')" ] },
+ "then": { "math": [ "u_hp('arm_l')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('arm_r')", "<", "u_hp_max('arm_r')" ] },
+ "then": { "math": [ "u_hp('arm_r')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('leg_l')", "<", "u_hp_max('leg_l')" ] },
+ "then": { "math": [ "u_hp('leg_l')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ },
+ {
+ "if": { "math": [ "u_hp('leg_r')", "<", "u_hp_max('leg_r')" ] },
+ "then": { "math": [ "u_hp('leg_r')", "+=", "25 * min( (u_vitamin('lilin_ruach_vitamin') / 4000),1)" ] }
+ }
+ ],
+ "false_effect": { "u_message": "You don't have enough ruach to to heal yourself!", "type": "bad" }
+ }
+ ]
+ }
+ ],
+ "false_effect": [
+ {
+ "if": { "math": [ "moon_phase()", "==", "0" ] },
+ "then": { "u_message": "You cannot heal yourself during the new moon!", "type": "bad" },
+ "else": {
+ "if": { "or": [ { "not": "u_is_outside" }, "is_day" ] },
+ "then": { "u_message": "You must be outside in direct moonlight to heal yourself!", "type": "bad" },
+ "else": {
+ "if": { "not": { "or": [ { "is_weather": "sunny" }, { "is_weather": "clear" } ] } },
+ "then": { "u_message": "The moon is obscured by clouds and you cannot draw on its light to heal yourself!", "type": "bad" },
+ "else": { "u_message": "[Debug] For some unknown reason you cannot heal yourself.", "type": "bad" }
+ }
+ }
+ }
+ ]
}
]
diff --git a/data/mods/Xedra_Evolved/spells/lilin_spells.json b/data/mods/Xedra_Evolved/spells/lilin_spells.json
index c9753f5d33b1b..3b6db0a5d6fb8 100644
--- a/data/mods/Xedra_Evolved/spells/lilin_spells.json
+++ b/data/mods/Xedra_Evolved/spells/lilin_spells.json
@@ -60,6 +60,173 @@
"base_energy_cost": 2000,
"base_casting_time": 150
},
+ {
+ "id": "lilin_evil_eye_spell",
+ "type": "SPELL",
+ "name": "The Evil Eye",
+ "description": "Curse a single nearby target with misfortune.",
+ "message": "",
+ "valid_targets": [ "hostile", "ally" ],
+ "flags": [ "SILENT", "NO_FAIL", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_EVIL_EYE",
+ "shape": "blast",
+ "min_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 600) + 4" ] },
+ "max_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 600) + 4" ] },
+ "min_duration": {
+ "math": [
+ "1000 + ( (u_vitamin('lilin_ruach_vitamin') * 8) * ((u_has_trait('LILIN_LIMB_SCORE_BONUSES_AT_NIGHT') * 0.5) + 1) * ((u_has_trait('LILIN_NIGHT_VISION') * 0.3) + 1) )"
+ ]
+ },
+ "max_duration": {
+ "math": [
+ "5000 + ( (u_vitamin('lilin_ruach_vitamin') * 19) * ((u_has_trait('LILIN_LIMB_SCORE_BONUSES_AT_NIGHT') * 0.5) + 1) * ((u_has_trait('LILIN_NIGHT_VISION') * 0.3) + 1) )"
+ ]
+ },
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 25,
+ "ignored_monster_species": [ "ROBOT", "ROBOT_FLYING", "NETHER_EMANATION", "SLIME" ]
+ },
+ {
+ "id": "lilin_aoe_daze_spell",
+ "type": "SPELL",
+ "name": "Cry of the Night-bird",
+ "description": "Let out a piercing cry, disorienting all nearby enemies and allies. Of necessity, this is a very loud course of action.",
+ "message": "",
+ "valid_targets": [ "self" ],
+ "flags": [ "SILENT", "NO_FAIL" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_AOE_DAZE",
+ "shape": "blast",
+ "min_aoe": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 500) + 6" ] },
+ "max_aoe": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 500) + 6" ] },
+ "min_duration": { "math": [ "(u_vitamin('lilin_ruach_vitamin') * 5) * (u_has_trait('THRESH_LILIN') + 1)" ] },
+ "max_duration": { "math": [ "(u_vitamin('lilin_ruach_vitamin') * 12) * (u_has_trait('THRESH_LILIN') + 1)" ] },
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 50
+ },
+ {
+ "id": "lilin_aoe_daze_spell_real",
+ "type": "SPELL",
+ "name": "Cry of the Night-bird Real",
+ "description": "The actual Cry of the Night-bird that applies the effect. It's a bug if you have it.",
+ "message": "",
+ "valid_targets": [ "ally", "hostile" ],
+ "flags": [ "SILENT", "NO_FAIL", "RANDOM_DURATION", "NO_EXPLOSION_SFX" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "attack",
+ "effect_str": "effect_lilin_aoe_daze",
+ "shape": "blast",
+ "min_aoe": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 500) + 6" ] },
+ "max_aoe": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 500) + 6" ] },
+ "min_duration": { "math": [ "(u_vitamin('lilin_ruach_vitamin') * 5) * (u_has_trait('THRESH_LILIN') + 1)" ] },
+ "max_duration": { "math": [ "(u_vitamin('lilin_ruach_vitamin') * 12) * (u_has_trait('THRESH_LILIN') + 1)" ] },
+ "ignored_monster_species": [ "ROBOT", "ROBOT_FLYING", "NETHER_EMANATION", "SLIME" ]
+ },
+ {
+ "id": "lilin_aoe_line_disease_spell",
+ "type": "SPELL",
+ "name": "Unleash the Night-Wind",
+ "description": "Summon a miasma filled with pestilence to infect your enemies. This supernatural disease can even strike zombies or stranger creatures.",
+ "message": "",
+ "//": "Need to target a specific target in order to display the values in the UI. Hopefully someday we'll be able to target arbitrary ground areas with EoC-based spells",
+ "valid_targets": [ "hostile", "ally" ],
+ "flags": [ "SILENT", "NO_FAIL", "RANDOM_DURATION" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_AOE_LINE_DISEASE",
+ "shape": "line",
+ "min_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 400) + 6" ] },
+ "max_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 400) + 6" ] },
+ "min_aoe": 2,
+ "max_aoe": 2,
+ "min_duration": {
+ "math": [
+ "100 + ( (u_vitamin('lilin_ruach_vitamin') * 9) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ },
+ "max_duration": {
+ "math": [
+ "1500 + ( (u_vitamin('lilin_ruach_vitamin') * 24) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ },
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 75,
+ "ignored_monster_species": [ "ROBOT", "ROBOT_FLYING", "NETHER_EMANATION", "SLIME" ]
+ },
+ {
+ "id": "lilin_disease_enhancement_damage_spell",
+ "type": "SPELL",
+ "name": "Devoured by Pestilence",
+ "description": "Enhance the power of the miasma from Unleash the Night-Wind, doing serious damage and crippling your target.",
+ "message": "",
+ "valid_targets": [ "hostile", "ally" ],
+ "flags": [ "SILENT", "NO_FAIL", "RANDOM_DURATION", "RANDOM_DAMAGE", "NO_EXPLOSION_SFX" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_DISEASE_ENHANCEMENT_DAMAGE",
+ "damage_type": "biological",
+ "shape": "blast",
+ "min_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 350) + 7" ] },
+ "max_range": { "math": [ "(u_vitamin('lilin_ruach_vitamin') / 350) + 7" ] },
+ "min_dot": {
+ "math": [
+ "min( ( ( (u_vitamin('lilin_ruach_vitamin') / 12000) * (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) ), 0.2)"
+ ]
+ },
+ "max_dot": {
+ "math": [
+ "min( ( ( (u_vitamin('lilin_ruach_vitamin') / 9000) * (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) ), 0.5)"
+ ]
+ },
+ "min_duration": {
+ "math": [
+ "100 + ( (u_vitamin('lilin_ruach_vitamin') * 3) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1) )"
+ ]
+ },
+ "max_duration": {
+ "math": [
+ "1500 + ( (u_vitamin('lilin_ruach_vitamin') * 9) * ( (u_has_trait('INFIMMUNE') * 0.25) + 1) * ( (u_has_trait('DISIMMUNE') * 0.25) + 1) * ( (u_has_trait('LILIN_DISEASE_DAMAGE_STRIKES') * 0.35) + 1))"
+ ]
+ },
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 25,
+ "ignored_monster_species": [ "ROBOT", "ROBOT_FLYING", "NETHER_EMANATION", "SLIME" ]
+ },
+ {
+ "id": "lilin_avoid_sleep_spell",
+ "type": "SPELL",
+ "name": "Neither Sleep Nor Slumber",
+ "description": "Spend ruach to alleviate your sleepiness.",
+ "message": "",
+ "valid_targets": [ "self" ],
+ "flags": [ "SILENT", "NO_FAIL" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_AVOID_SLEEP",
+ "shape": "blast",
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 1500
+ },
{
"id": "lilin_change_weather_fog_spell",
"type": "SPELL",
@@ -105,5 +272,40 @@
"energy_source": "NONE",
"base_energy_cost": 0,
"base_casting_time": 75
+ },
+ {
+ "type": "SPELL",
+ "id": "lilin_strix_leap_spell",
+ "name": "Strix Leap",
+ "description": "You squat down, build up tension in your legs, then with a mighty beat of your wings, you leap.",
+ "valid_targets": [ "ground" ],
+ "flags": [ "SILENT", "NO_LEGS", "NO_HANDS", "NO_EXPLOSION_SFX" ],
+ "skill": "deduction",
+ "effect": "dash",
+ "shape": "cone",
+ "min_damage": 0,
+ "max_damage": 0,
+ "damage_increment": 0,
+ "damage_type": "bash",
+ "min_range": 5,
+ "max_range": 5
+ },
+ {
+ "type": "SPELL",
+ "id": "lilin_instant_heal_spell",
+ "name": "The Moon to Rule the Night",
+ "description": "At night under the moon, you can greatly speed your healing, knitting together grievous wounds in moments. This requires direct moonlight; clouds, rain, or being indoors will prevent this power from working.",
+ "message": "",
+ "valid_targets": [ "self" ],
+ "flags": [ "SILENT", "NO_PROJECTILE", "NO_FAIL", "SOMATIC" ],
+ "spell_class": "LILIN_TRAITS",
+ "max_level": 1,
+ "skill": "deduction",
+ "effect": "effect_on_condition",
+ "effect_str": "EOC_LILIN_INSTANT_HEAL",
+ "shape": "blast",
+ "energy_source": "NONE",
+ "base_energy_cost": 0,
+ "base_casting_time": 125
}
]
diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt
index 79fe1f87128be..da89d2dab5629 100644
--- a/tools/spell_checker/dictionary.txt
+++ b/tools/spell_checker/dictionary.txt
@@ -5913,6 +5913,7 @@ streetwear
stressfully
striders
strigoi
+strix
strobing
strobus
Stromer