diff --git a/data/mods/Xedra_Evolved/effects/effects.json b/data/mods/Xedra_Evolved/effects/effects.json index df33b06a54e64..f5126b49574cd 100644 --- a/data/mods/Xedra_Evolved/effects/effects.json +++ b/data/mods/Xedra_Evolved/effects/effects.json @@ -455,12 +455,89 @@ { "type": "effect_type", "id": "eyegleam", - "name": [ "Eye gleam" ], + "name": [ "Eye Gleam" ], "desc": [ "You can see in the dark." ], - "apply_message": "Your sight adjusts to the darkness.", - "remove_message": "The darkness loses its shape.", "rating": "good", - "flags": [ "NIGHT_VISION" ] + "enchantments": [ + { + "values": [ + { + "value": "NIGHT_VIS", + "add": { + "math": [ + "5 + (vampire_total_tier_one_traits() * 1) + (vampire_total_tier_two_traits() * 2) + (vampire_total_tier_three_traits() * 3) + + (vampire_total_tier_four_traits() * 4)" + ] + } + } + ] + } + ] + }, + { + "type": "effect_type", + "id": "effect_vampiric_strength", + "name": [ "Vigor Mortis" ], + "desc": [ "You have the strength of the damned." ], + "rating": "good", + "enchantments": [ + { + "values": [ + { + "value": "STRENGTH", + "add": { + "math": [ + "1 + (vampire_total_tier_one_traits() * 0.25) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + + (vampire_total_tier_four_traits() * 0.75)" + ] + } + } + ] + } + ] + }, + { + "type": "effect_type", + "id": "effect_vampiric_resilience", + "name": [ "Sanguine Resilience" ], + "desc": [ "You have the fortitude of the grave." ], + "rating": "good", + "enchantments": [ + { + "values": [ + { + "value": "ARMOR_BASH", + "multiply": { + "math": [ + "max(((vampire_total_tier_one_traits() * -0.01) + (vampire_total_tier_two_traits() * -0.02) + (vampire_total_tier_three_traits() * -0.04) + + (vampire_total_tier_four_traits() * -0.06)), -0.66)" + ] + } + }, + { + "value": "ARMOR_CUT", + "multiply": { + "math": [ + "max(((vampire_total_tier_one_traits() * -0.005) + (vampire_total_tier_two_traits() * -0.01) + (vampire_total_tier_three_traits() * -0.02) + + (vampire_total_tier_four_traits() * -0.03)), -0.33)" + ] + } + }, + { + "value": "ARMOR_STAB", + "multiply": { + "math": [ + "max(((vampire_total_tier_one_traits() * -0.003) + (vampire_total_tier_two_traits() * -0.007) + (vampire_total_tier_three_traits() * -0.015) + + (vampire_total_tier_four_traits() * -0.025)), -0.25)" + ] + } + }, + { + "value": "ARMOR_BULLET", + "multiply": { + "math": [ + "max(((vampire_total_tier_one_traits() * -0.012) + (vampire_total_tier_two_traits() * -0.025) + (vampire_total_tier_three_traits() * -0.05) + + (vampire_total_tier_four_traits() * -0.075)), -0.85)" + ] + } + } + ] + } + ] }, { "type": "effect_type", @@ -480,7 +557,47 @@ "health_chance": [ 4 ], "stamina_min": [ 40 ], "stamina_chance": [ 2 ] - } + }, + "flags": [ "BLEED_IMMUNE" ] + }, + { + "type": "effect_type", + "id": "effect_vampiric_dodge", + "name": [ "Flow Like Blood" ], + "desc": [ "You can move so quickly you might even be able to dodge bullets." ], + "rating": "good", + "blocks_effects": [ "grabbed" ], + "enchantments": [ + { + "values": [ + { + "value": "EVASION", + "add": { + "math": [ + "min(0.15 + ((vampire_total_tier_one_traits() * 0.012) + (vampire_total_tier_two_traits() * 0.025) + (vampire_total_tier_three_traits() * 0.05) + + (vampire_total_tier_four_traits() * 0.075)), 0.7)" + ] + } + }, + { + "value": "DODGE_CHANCE", + "add": { + "math": [ + "min(1 + ((vampire_total_tier_one_traits() * 0.25) + (vampire_total_tier_two_traits() * 0.45) + (vampire_total_tier_three_traits() * 0.65) + + (vampire_total_tier_four_traits() * 0.95)), 15)" + ] + } + }, + { "value": "BONUS_DODGE", "add": 2 } + ] + } + ], + "flags": [ "HARDTOHIT" ] + }, + { + "type": "effect_type", + "id": "effect_vampire_fear_gazed", + "//": "Hidden effect, used to prevent spamming fear gaze repeatedly.", + "name": [ "" ], + "desc": [ "" ] }, { "id": "eater_lump_pool", diff --git a/data/mods/Xedra_Evolved/effects/vampvirus.json b/data/mods/Xedra_Evolved/effects/vampvirus.json index e05a9e5a1e6f2..ae09365e88f07 100644 --- a/data/mods/Xedra_Evolved/effects/vampvirus.json +++ b/data/mods/Xedra_Evolved/effects/vampvirus.json @@ -23,6 +23,12 @@ { "u_lose_trait": "STAMINAFORBLOOD" }, { "u_lose_trait": "BLOODBANK" }, { "u_lose_trait": "COMMUNE_NIGHT" }, + { "u_lose_trait": "VAMPIRIC_STRENGTH" }, + { "u_lose_trait": "VAMPIRIC_RESILIENCE" }, + { "u_lose_trait": "VAMPIRE_HEIGHTENED_SENSES" }, + { "u_lose_trait": "VAMPIRE_SILENT_MOVE" }, + { "math": [ "u_spell_level('vampire_smell_nearby_blood_spell')", "=", "-1" ] }, + { "math": [ "u_spell_level('vampire_stamina_for_blood_spell')", "=", "-1" ] }, { "u_message": "The light seems less bright and the air fresher.", "type": "good" } ] }, @@ -34,6 +40,13 @@ { "u_lose_trait": "VAMPIRE2" }, { "u_lose_trait": "COAGULANTWEAVE" }, { "u_lose_trait": "BLOODHEAL" }, + { "u_lose_trait": "VAMPIRIC_DODGE" }, + { "u_lose_trait": "VAMPIRE_FEAR_GAZE" }, + { "u_lose_trait": "VAMPIRE_WALK_ON_WALLS" }, + { "u_lose_trait": "VAMPIRE_BEAST_CLAWS" }, + { "u_lose_trait": "VAMPIRE_SEE_HEAT" }, + { "math": [ "u_spell_level('spell_blood_heal')", "=", "-1" ] }, + { "math": [ "u_spell_level('vampire_fear_gaze_spell')", "=", "-1" ] }, { "u_message": "You seem to be feeling a little better, but the thirst for blood remains.", "type": "good" @@ -49,6 +62,10 @@ { "u_lose_trait": "BLOODBANK" }, { "u_lose_trait": "HYPNOTIC_GAZE" }, { "u_lose_trait": "BLOODHASTE" }, + { "u_lose_trait": "VAMPIRE_COMMAND_BEAST" }, + { "u_lose_trait": "VAMPIRE_EARTH_SLUMBER" }, + { "math": [ "u_spell_level('spell_hypnotic_gaze')", "=", "-1" ] }, + { "math": [ "u_spell_level('vampire_command_beast_spell')", "=", "-1" ] }, { "u_message": "You no longer instantly turn red in sunlight, but your skin is still concerningly pale.", "type": "good" @@ -114,13 +131,13 @@ { "type": "effect_on_condition", "id": "EOC_ADD_VAMPIRUS_INTENSITY1", - "condition": { "and": [ { "u_has_trait": "EYEGLEAM" }, { "u_has_trait": "STAMINAFORBLOOD" }, { "u_has_trait": "COMMUNE_NIGHT" } ] }, + "condition": { "math": [ "vampire_total_tier_one_traits()", ">=", "4" ] }, "effect": { "u_add_effect": "vampire_virus", "intensity": 2, "duration": "PERMANENT" } }, { "type": "effect_on_condition", "id": "EOC_ADD_VAMPIRUS_INTENSITY2", - "condition": { "and": [ { "u_has_trait": "COAGULANTWEAVE" }, { "u_has_trait": "BLOODHEAL" } ] }, + "condition": { "math": [ "vampire_total_tier_two_traits()", ">=", "4" ] }, "effect": { "u_add_effect": "vampire_virus", "intensity": 3, "duration": "PERMANENT" } }, { @@ -136,7 +153,6 @@ "//": "This EOC controls the speed at which vampires mutate and evolve.", "recurrence": [ "48 hours", "72 hours 15 minutes" ], "condition": { "and": [ { "u_has_effect": "vampire_virus" }, { "not": { "u_has_effect": "blood_treatment" } } ] }, - "deactivate_condition": { "not": { "u_has_effect": "vampire_virus" } }, "effect": { "run_eocs": [ { @@ -149,23 +165,39 @@ }, "effect": { "run_eocs": { - "id": "eoc_vampvirus_1_trait", - "condition": { "u_has_trait": "VAMPIRE" }, - "effect": [ - { - "u_roll_remainder": [ "EYEGLEAM", "STAMINAFORBLOOD", "COMMUNE_NIGHT" ], - "type": "mutation", - "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], - "false_eocs": [ "EOC_COMPLETED_ROLL_REMAINDER_VAMPVIRUS", "EOC_VAMPVIRUS1" ] - }, - { "queue_eocs": "EOC_ADD_VAMPIRUS_INTENSITY1", "time_in_future": [ "5 days", "8 hours" ] } - ], - "false_effect": [ - { "u_add_trait": "VAMPIRE" }, - { - "u_message": "You suddenly understand that drinking someones blood will make you feel better than you've ever felt before in your life." - } - ] + "id": "eoc_vampvirus_1_math_checker", + "condition": { "math": [ "vampire_total_tier_one_traits()", "<", "4" ] }, + "effect": { + "run_eocs": [ + { + "id": "eoc_vampvirus_1_trait", + "condition": { "u_has_trait": "VAMPIRE" }, + "effect": [ + { + "u_roll_remainder": [ + "EYEGLEAM", + "STAMINAFORBLOOD", + "COMMUNE_NIGHT", + "VAMPIRIC_STRENGTH", + "VAMPIRIC_RESILIENCE", + "VAMPIRE_HEIGHTENED_SENSES", + "VAMPIRE_SILENT_MOVE" + ], + "type": "mutation", + "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], + "false_eocs": [ "EOC_COMPLETED_ROLL_REMAINDER_VAMPVIRUS", "EOC_VAMPVIRUS1" ] + }, + { "queue_eocs": "EOC_ADD_VAMPIRUS_INTENSITY1", "time_in_future": [ "5 days", "8 hours" ] } + ], + "false_effect": [ + { "u_add_trait": "VAMPIRE" }, + { + "u_message": "You suddenly understand that drinking someones blood will make you feel better than you've ever felt before in your life." + } + ] + } + ] + } } } }, @@ -179,23 +211,37 @@ }, "effect": { "run_eocs": { - "id": "eoc_vampvirus_2_trait", - "condition": { "u_has_trait": "VAMPIRE2" }, - "effect": [ - { - "u_roll_remainder": [ "BLOODHEAL", "COAGULANTWEAVE" ], - "type": "mutation", - "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], - "false_eocs": [ "EOC_COMPLETED_ROLL_REMAINDER_VAMPVIRUS", "EOC_VAMPVIRUS2" ] - }, - { "queue_eocs": "EOC_ADD_VAMPIRUS_INTENSITY2", "time_in_future": [ "15 days", "8 hours" ] } - ], - "false_effect": [ - { "u_add_trait": "VAMPIRE2" }, - { - "u_message": "With a popping sound several of your teeth fall out but when you put a finger into your mouth to feel the hole, there are new sharp fangs where you expected nothing." + "id": "eoc_vampvirus_2_math_checker", + "condition": { "math": [ "vampire_total_tier_two_traits()", "<", "4" ] }, + "effect": { + "run_eocs": { + "id": "eoc_vampvirus_2_trait", + "condition": { "u_has_trait": "VAMPIRE2" }, + "effect": [ + { + "u_roll_remainder": [ + "BLOODHEAL", + "COAGULANTWEAVE", + "VAMPIRIC_DODGE", + "VAMPIRE_FEAR_GAZE", + "VAMPIRE_WALK_ON_WALLS", + "VAMPIRE_BEAST_CLAWS", + "VAMPIRE_SEE_HEAT" + ], + "type": "mutation", + "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], + "false_eocs": [ "EOC_COMPLETED_ROLL_REMAINDER_VAMPVIRUS", "EOC_VAMPVIRUS2" ] + }, + { "queue_eocs": "EOC_ADD_VAMPIRUS_INTENSITY2", "time_in_future": [ "15 days", "8 hours" ] } + ], + "false_effect": [ + { "u_add_trait": "VAMPIRE2" }, + { + "u_message": "With a popping sound several of your teeth fall out but when you put a finger into your mouth to feel the hole, there are new sharp fangs where you expected nothing." + } + ] } - ] + } } } }, @@ -209,22 +255,29 @@ }, "effect": { "run_eocs": { - "id": "eoc_vampvirus_3_trait", - "condition": { "u_has_trait": "VAMPIRE3" }, - "effect": [ - { - "u_roll_remainder": [ "BLOODHASTE", "HYPNOTIC_GAZE", "BLOODBANK" ], - "type": "mutation", - "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], - "false_eocs": [ "EOC_COMPLETED_VAMPIRE3" ] + "id": "eoc_vampvirus_3_math_checker", + "condition": { "math": [ "vampire_total_tier_three_traits()", "<", "4" ] }, + "effect": { + "run_eocs": { + "id": "eoc_vampvirus_3_trait", + "condition": { "u_has_trait": "VAMPIRE3" }, + "effect": [ + { + "u_roll_remainder": [ "BLOODHASTE", "HYPNOTIC_GAZE", "BLOODBANK", "VAMPIRE_COMMAND_BEAST", "VAMPIRE_EARTH_SLUMBER" ], + "type": "mutation", + "true_eocs": [ "EOC_SUCCESFUL_ROLL_REMAINDER" ], + "false_eocs": [ "EOC_COMPLETED_VAMPIRE3" ] + } + ], + "false_effect": [ + { "u_add_trait": "VAMPIRE3" }, + { + "u_message": "You feel the absence of your heart beating for several seconds and then it resumes at this new rhythm." + } + ] } - ], - "false_effect": [ - { "u_add_trait": "VAMPIRE3" }, - { - "u_message": "You feel the absence of your heart beating for several seconds and then it resumes at this new rhythm." - } - ] + }, + "false_effect": [ { "run_eocs": "EOC_COMPLETED_VAMPIRE3" } ] } } } @@ -237,7 +290,6 @@ "//": "This EOC works on telling the vampire whether they need to consume blood or not.", "recurrence": [ "8 hours", "14 hours 15 minutes" ], "condition": { "and": [ { "math": [ "u_vitamin('human_blood_vitamin')", "<=", "-450" ] }, { "u_has_effect": "vampire_virus" } ] }, - "deactivate_condition": { "not": { "u_has_effect": "vampire_virus" } }, "effect": { "run_eocs": [ { diff --git a/data/mods/Xedra_Evolved/jmath.json b/data/mods/Xedra_Evolved/jmath.json index 6883c0fa5aa4b..6f50d5fe0d33e 100644 --- a/data/mods/Xedra_Evolved/jmath.json +++ b/data/mods/Xedra_Evolved/jmath.json @@ -91,5 +91,30 @@ "//": "Yes, this is horrible, but there's apparently no way to check the total number of mutations in a category otherwise.", "num_args": 1, "return": "_0 + u_has_trait('HOMULLUS_DURABILITY_MULT_1') + u_has_trait('HOMULLUS_DURABILITY_MULT_2') + u_has_trait('HOMULLUS_SKIN_1') + u_has_trait('HOMULLUS_SKIN_2') + u_has_trait('HOMULLUS_SKIN_3') + u_has_trait('HOMULLUS_EYES') + u_has_trait('HOMULLUS_BETTER_AT_LYING') + u_has_trait('HOMULLUS_DREAMWALKER') + u_has_trait('HOMULLUS_CHARM_FERALS') + u_has_trait('HOMULLUS_SUMMON_FERALS') + u_has_trait('HOMULLUS_SELF_DECEPTION') + u_has_trait('HOMULLUS_INVISIBLE_TO_HUMANS') + u_has_trait('HOMULLUS_REDUCED_VISIBILITY_ALLY') + u_has_trait('HOMULLUS_RESTORE_POWER') + u_has_trait('HOMULLUS_ADD_LEARNING_FOCUS') + u_has_trait('HOMULLUS_CULTIVATE_GOBLIN_FRUIT') + u_has_trait('NO_TRACE_YET_I_WISH') + u_has_trait('HOMULLUS_BACKSTAGE') + u_has_trait('HOMULLUS_CBM_INSTALL') + u_has_trait('HOMULLUS_CBM_MANA_1') + u_has_trait('HOMULLUS_CBM_MANA_2') + u_has_trait('HOMULLUS_PASSIVE_BIONIC_POWER') + u_has_trait('HOMULLUS_ARMOR_MULT_1') + u_has_trait('HOMULLUS_ARMOR_MULT_2') + u_has_trait('HOMULLUS_GAIN_BIONIC_POWER') + u_has_trait('HOMULLUS_GAIN_BIONIC_POWER_AND_MANA') + u_has_trait('HOMULLUS_CITY_STRIDER') + u_has_trait('HOMULLUS_THE_HUNTER') + u_has_trait('HOMULLUS_EAT_DEMIHUMANS') + u_has_trait('HOMULLUS_TEMPERATURE_TOLERANCE') + u_has_trait('HOMULLUS_CRAFTING_BONUS_1') + u_has_trait('HOMULLUS_CRAFTING_BONUS_2') + u_has_trait('HOMULLUS_CRAFTING_BONUS_3') + u_has_trait('HOMULLUS_GAIN_INTEGRATED_TOOLS') + u_has_trait('HOMULLUS_GAIN_INTEGRATED_HACKER') + u_has_trait('HOMULLUS_EXPANDED_MUTATIONS') + u_has_trait('HOMULLUS_THE_HUNTER2') + u_has_trait('HOMULLUS_DOLL_FORM') + u_has_trait('SOCIAL1') + u_has_trait('SOCIAL2') + u_has_trait('PRETTY') + u_has_trait('BEAUTIFUL') + u_has_trait('BEAUTIFUL2') + u_has_trait('BEAUTIFUL3') + u_has_trait('STR_UP') + u_has_trait('STR_UP_2') + u_has_trait('STR_ALPHA') + u_has_trait('DEX_UP')+ u_has_trait('DEX_UP_2') + u_has_trait('DEX_ALPHA') + u_has_trait('INT_UP') + u_has_trait('INT_UP_2') + u_has_trait('INT_ALPHA') + u_has_trait('PER_UP') + u_has_trait('PER_UP_2') + u_has_trait('PER_ALPHA')" + }, + { + "type": "jmath_function", + "id": "vampire_total_tier_one_traits", + "num_args": 0, + "return": "u_has_trait('EYEGLEAM') + u_has_trait('STAMINAFORBLOOD') + u_has_trait('COMMUNE_NIGHT') + u_has_trait('VAMPIRIC_STRENGTH') + u_has_trait('VAMPIRIC_RESILIENCE') + u_has_trait('VAMPIRE_HEIGHTENED_SENSES') + u_has_trait('VAMPIRE_SILENT_MOVE')" + }, + { + "type": "jmath_function", + "id": "vampire_total_tier_two_traits", + "num_args": 0, + "return": "u_has_trait('BLOODHEAL') + u_has_trait('COAGULANTWEAVE') + u_has_trait('VAMPIRIC_DODGE') + u_has_trait('VAMPIRE_FEAR_GAZE') + u_has_trait('VAMPIRE_WALK_ON_WALLS') + u_has_trait('VAMPIRE_BEAST_CLAWS') + u_has_trait('VAMPIRE_SEE_HEAT')" + }, + { + "type": "jmath_function", + "id": "vampire_total_tier_three_traits", + "num_args": 0, + "return": "u_has_trait('BLOODHASTE') + u_has_trait('HYPNOTIC_GAZE') + u_has_trait('BLOODBANK') + u_has_trait('VAMPIRE_COMMAND_BEAST') + u_has_trait('VAMPIRE_EARTH_SLUMBER')" + }, + { + "type": "jmath_function", + "id": "vampire_total_tier_four_traits", + "num_args": 0, + "//": "Tier four is currently impossible to get and has no traits. Jmath is included so that durations don't all have to be scaled when it is implemented", + "return": "0" } ] diff --git a/data/mods/Xedra_Evolved/mutations/mutations.json b/data/mods/Xedra_Evolved/mutations/mutations.json index a218ab8cc4267..983565d39f319 100644 --- a/data/mods/Xedra_Evolved/mutations/mutations.json +++ b/data/mods/Xedra_Evolved/mutations/mutations.json @@ -146,7 +146,71 @@ "name": { "str": "Gleaming Eyes" }, "description": "Your eyes gleam lightly red as the light catches in them and with a few drops of the stolen blood in your veins you are able to see in the dark.", "active": true, - "activated_eocs": [ "EOC_EYEGLEAM_activated" ] + "activated_is_setup": true, + "activated_eocs": [ "EOC_EYEGLEAM_activated" ], + "deactivated_eocs": [ "EOC_EYEGLEAM_deactivated" ] + }, + { + "type": "mutation", + "id": "VAMPIRIC_STRENGTH", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Vigor Mortis" }, + "description": "Your stolen blood reinforces your muscles, making your grip crack bone and your punches dent steel.", + "active": true, + "activated_is_setup": true, + "activated_eocs": [ "EOC_VAMPIRIC_STRENGTH_activated" ], + "deactivated_eocs": [ "EOC_VAMPIRIC_STRENGTH_deactivated" ], + "enchantments": [ { "values": [ { "value": "STRENGTH", "add": 1 } ] } ] + }, + { + "type": "mutation", + "id": "VAMPIRIC_RESILIENCE", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Sanguine Resilience" }, + "description": "Your cold flesh is not as vulnerable as it once was. Activate to render it even more resistant to physical damage.", + "active": true, + "activated_is_setup": true, + "activated_eocs": [ "EOC_VAMPIRIC_RESILIENCE_activated" ], + "deactivated_eocs": [ "EOC_VAMPIRIC_RESILIENCE_deactivated" ], + "enchantments": [ + { + "values": [ + { "value": "ARMOR_BASH", "multiply": -0.05 }, + { "value": "ARMOR_CUT", "multiply": -0.03 }, + { "value": "ARMOR_STAB", "multiply": -0.02 }, + { "value": "ARMOR_BULLET", "multiply": -0.08 } + ] + } + ] + }, + { + "type": "mutation", + "id": "VAMPIRE_HEIGHTENED_SENSES", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Predator's Senses" }, + "description": "Your senses are heightened, allowing you to see more clearly, hear even tiny sounds, and smell nearby fresh human blood.", + "spells_learned": [ [ "vampire_smell_nearby_blood_spell", 1 ] ], + "enchantments": [ "ench_vampire_heightened_senses_hearing", "ench_vampire_heightened_senses_perception" ] + }, + { + "type": "mutation", + "id": "VAMPIRE_SILENT_MOVE", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Silent as Death" }, + "description": "Your movements don't make nearby as much noise as they used to.", + "enchantments": [ { "values": [ { "value": "FOOTSTEP_NOISE", "multiply": -1 } ] } ] }, { "type": "mutation", @@ -166,10 +230,9 @@ "starting_trait": false, "purifiable": false, "valid": false, - "name": { "str": "Recover Stamina" }, + "name": { "str": "Unholy Endurance" }, "description": "Your exhaust some of the blood in your veins to boost and recover some of your spent stamina.", - "active": true, - "activated_eocs": [ "EOC_STAMINAFORBLOOD_activated" ] + "spells_learned": [ [ "vampire_stamina_for_blood_spell", 1 ] ] }, { "type": "mutation", @@ -194,7 +257,7 @@ "types": [ "TEETH" ], "valid": false, "vitamin_rates": [ [ "human_blood_vitamin", 180 ] ], - "flags": [ "CANNIBAL", "ALBINO" ], + "flags": [ "CANNIBAL", "ALBINO", "HEMOVORE" ], "attacks": [ { "attack_text_u": "You sink your fangs into %s!", @@ -216,7 +279,9 @@ "name": { "str": "Coagulant Weave" }, "description": "Your body prepares to prevent the loss of any blood to combat damage.", "active": true, - "activated_eocs": [ "EOC_COAGULANTWEAVE_activated" ] + "activated_is_setup": true, + "activated_eocs": [ "EOC_COAGULANTWEAVE_activated" ], + "deactivated_eocs": [ "EOC_COAGULANTWEAVE_deactivated" ] }, { "type": "mutation", @@ -225,10 +290,86 @@ "starting_trait": false, "purifiable": false, "valid": false, - "name": { "str": "Blood spurred healing" }, + "name": { "str": "Sanguine Restoration" }, "description": "Your flesh heals visibly while blood disintegrates hidden inside your veins.", + "spells_learned": [ [ "spell_blood_heal", 1 ] ] + }, + { + "type": "mutation", + "id": "VAMPIRIC_DODGE", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Flow Like Blood" }, + "description": "You can move faster than the eye can see, avoiding the claws and teeth and weapons of your enemies.", + "active": true, + "activated_is_setup": true, + "activated_eocs": [ "EOC_VAMPIRIC_DODGE_activated" ], + "deactivated_eocs": [ "EOC_VAMPIRIC_DODGE_deactivate" ], + "enchantments": [ { "values": [ { "value": "DEXTERITY", "add": 1 } ] } ] + }, + { + "type": "mutation", + "id": "VAMPIRE_FEAR_GAZE", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Predator's Mien" }, + "description": "With a bit of stolen blood and a savage expression, you can send your enemies fleeing.", + "spells_learned": [ [ "vampire_fear_gaze_spell", 1 ] ] + }, + { + "type": "mutation", + "id": "VAMPIRE_WALK_ON_WALLS", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Spider's Walk" }, + "description": "Gravity seems to have less of an effect than it used it. With barely an effort you can ascend or descend even sheer walls, and you can fall any distance and land on your feet uninjured.", + "flags": [ "CLIMB_NO_LADDER", "FEATHER_FALL", "WALL_CLING" ] + }, + { + "type": "mutation", + "id": "VAMPIRE_BEAST_CLAWS", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Claws of the Beast" }, + "description": "You can twist your fingernails into sharp claws, allowing you to inflict extra damage in unarmed combat.", "active": true, - "activated_eocs": [ "EOC_BLOODHEAL_activated" ] + "activated_is_setup": true, + "activated_eocs": [ "EOC_VAMPIRE_BEAST_CLAWS_activated" ], + "deactivated_eocs": [ "EOC_VAMPIRE_BEAST_CLAWS_deactivate" ] + }, + { + "type": "mutation", + "id": "VAMPIRE_BEAST_CLAWS_active", + "name": { "str": "Claws of the Beast Extended" }, + "points": 0, + "visibility": 3, + "ugliness": 2, + "description": "Your fingers are transformed into sharp claws. You can use them to attack, but performing mundane tasks will be harder.", + "types": [ "CLAWS" ], + "cost": 0, + "player_display": false, + "valid": false, + "integrated_armor": [ "integrated_claws_rat" ], + "enchantments": [ { "values": [ { "value": "CRAFTING_SPEED_MULTIPLIER", "multiply": -0.5 } ] } ] + }, + { + "type": "mutation", + "id": "VAMPIRE_SEE_HEAT", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Crimson Vision" }, + "description": "Your vision has improved and now you can see flowing blood in the vein, like bright trails in the dark.", + "flags": [ "INFRARED" ] }, { "type": "mutation", @@ -241,7 +382,7 @@ "valid": false, "vitamins_absorb_multi": [ [ "all", [ [ "human_blood_vitamin", 1.25 ] ] ] ], "vitamin_rates": [ [ "human_blood_vitamin", 180 ] ], - "flags": [ "CANNIBAL", "ALBINO", "DAYFEAR" ], + "flags": [ "CANNIBAL", "ALBINO", "DAYFEAR", "HEMOVORE" ], "enchantments": [ { "values": [ { "value": "STAMINA_REGEN_MOD", "add": 0.1 }, { "value": "METABOLISM", "multiply": 0.8 } ] } ] }, { @@ -251,10 +392,9 @@ "starting_trait": false, "purifiable": false, "valid": false, - "name": { "str": "Hypnotic gaze" }, - "description": "You lock eyes with your prey and stun them with the force of your will.", - "active": true, - "activated_eocs": [ "EOC_HYPNOTIC_GAZE_activated" ] + "name": { "str": "Hypnotic Gaze" }, + "description": "You can mesmerize your prey, gazing into their eyes and freezing them in their tracks.", + "spells_learned": [ [ "spell_hypnotic_gaze", 1 ] ] }, { "type": "mutation", @@ -263,10 +403,34 @@ "starting_trait": false, "purifiable": false, "valid": false, - "name": { "str": "Blood driven speed" }, + "name": { "str": "Blood-Driven Speed" }, "description": "Your body exceeds normal human reaction limits as blood turns to ash in your veins.", "active": true, - "activated_eocs": [ "EOC_BLOODHASTE_activated" ] + "activated_is_setup": true, + "activated_eocs": [ "EOC_BLOODHASTE_activated" ], + "deactivated_eocs": [ "EOC_BLOODHASTE_deactivated" ] + }, + { + "type": "mutation", + "id": "VAMPIRE_COMMAND_BEAST", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Cowing the Beast" }, + "description": "You are a supreme predator, and other predators bow at your feet.", + "spells_learned": [ [ "vampire_command_beast_spell", 1 ] ] + }, + { + "type": "mutation", + "id": "VAMPIRE_EARTH_SLUMBER", + "points": 0, + "starting_trait": false, + "purifiable": false, + "valid": false, + "name": { "str": "Earthen Slumber" }, + "description": "You can sleep within the earth itself, avoiding the hateful light of the sun.", + "spells_learned": [ [ "vampire_earth_slumber_spell", 1 ] ] }, { "type": "mutation", @@ -277,7 +441,7 @@ "starting_trait": false, "purifiable": false, "valid": false, - "flags": [ "CANNIBAL", "SUNBURN", "DAYFEAR" ], + "flags": [ "CANNIBAL", "SUNBURN", "DAYFEAR", "HEMOVORE" ], "enchantments": [ { "values": [ { "value": "STAMINA_REGEN_MOD", "add": 0.1 }, { "value": "METABOLISM", "multiply": 5 } ] } ] }, { diff --git a/data/mods/Xedra_Evolved/mutations/vampire_trait_eocs.json b/data/mods/Xedra_Evolved/mutations/vampire_trait_eocs.json index 87435a5f3b148..63036c00bac01 100644 --- a/data/mods/Xedra_Evolved/mutations/vampire_trait_eocs.json +++ b/data/mods/Xedra_Evolved/mutations/vampire_trait_eocs.json @@ -18,54 +18,318 @@ }, "effect": [ { "math": [ "u_vitamin('human_blood_vitamin')", "+=", "400 + rand(100)" ] } ] }, + { + "type": "effect_on_condition", + "id": "EOC_SET_VAMPIRE_TRAIT_NUMBERS_FOR_NPC_USE", + "//": "This is necessary for powers whose effect on NPCs is variable, since the jmath equations return the avatar's traits", + "eoc_type": "EVENT", + "required_event": "opens_spellbook", + "condition": { "or": [ { "u_has_trait": "VAMPIRE" }, { "u_has_trait": "VAMPIRE2" }, { "u_has_trait": "VAMPIRE3" } ] }, + "effect": [ + { "math": [ "u_vampire_total_tier_one_traits", "=", "vampire_total_tier_one_traits()" ] }, + { "math": [ "u_vampire_total_tier_two_traits", "=", "vampire_total_tier_two_traits()" ] }, + { "math": [ "u_vampire_total_tier_three_traits", "=", "vampire_total_tier_three_traits()" ] }, + { "math": [ "u_vampire_total_tier_four_traits", "=", "vampire_total_tier_four_traits()" ] } + ] + }, { "type": "effect_on_condition", "id": "EOC_EYEGLEAM_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "condition": { "not": { "u_has_effect": "eyegleam" } }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, - { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "100" ] }, - { "queue_eocs": [ "EOC_EYEGLEAM_cast" ], "time_in_future": 1 } + { + "run_eocs": [ + { + "id": "EOC_EYEGLEAM_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.25 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "100" ] }, + { "u_add_effect": "eyegleam", "duration": "PERMANENT" }, + { "u_message": "Your eyes gleam red momentarily as they drink in all available light.", "type": "good" }, + { + "queue_eocs": [ "EOC_EYEGLEAM_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (1000 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 225) + (vampire_total_tier_three_traits() * 350) + (vampire_total_tier_four_traits() * 500))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate your gleaming eyes.", "type": "bad" }, + { "queue_eocs": "EOC_EYEGLEAM_deactivate_future", "time_in_future": 0 } + ] + } + ] + } ], - "false_effect": [ { "u_message": "You don't have enough blood to activate your gleaming eyes.", "type": "bad" } ] + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_EYEGLEAM_deactivated", + "condition": { "u_has_effect": "eyegleam" }, + "effect": [ + { "u_message": "Your eyes lose their reddish glint as the darkness rolls back in.", "type": "neutral" }, + { "u_lose_effect": "eyegleam" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_EYEGLEAM_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "EYEGLEAM" } }, { "type": "effect_on_condition", - "id": "EOC_EYEGLEAM_cast", + "id": "EOC_EYEGLEAM_maintenance", + "condition": { "u_has_effect": "eyegleam" }, "effect": [ { - "u_cast_spell": { - "id": "spell_eyegleam", - "message": "Your eyes gleam red momentarily as they catch the light available and grant you nightvision." - }, - "targeted": true + "run_eocs": [ + { + "id": "EOC_EYEGLEAM_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "50" ] }, + { + "u_message": "You feel a momentary warmth as you channel stolen blood into your eyes.", + "type": "mixed" + }, + { + "queue_eocs": [ "EOC_EYEGLEAM_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (1000 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 225) + (vampire_total_tier_three_traits() * 350) + (vampire_total_tier_four_traits() * 500))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your gleaming eyes.", "type": "bad" }, + { "u_lose_effect": "eyegleam" }, + { "u_deactivate_trait": "EYEGLEAM" } + ] + } + ] } ] }, { "type": "effect_on_condition", - "id": "EOC_STAMINAFORBLOOD_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "id": "EOC_VAMPIRIC_STRENGTH_activated", + "condition": { "not": { "u_has_effect": "effect_vampiric_strength" } }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, - { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "100" ] }, - { "queue_eocs": [ "EOC_STAMINAFORBLOOD_cast" ], "time_in_future": 1 } + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_STRENGTH_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.25 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "150" ] }, + { "u_add_effect": "effect_vampiric_strength", "duration": "PERMANENT" }, + { "u_message": "You feel a surge of power as blood floods your muscles.", "type": "good" }, + { + "queue_eocs": [ "EOC_VAMPIRIC_STRENGTH_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (750 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 200) + (vampire_total_tier_three_traits() * 300) + (vampire_total_tier_four_traits() * 400))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate vigor mortis.", "type": "bad" }, + { "queue_eocs": "EOC_VAMPIRIC_STRENGTH_deactivate_future", "time_in_future": 0 } + ] + } + ] + } ], - "false_effect": [ { "u_message": "You don't have enough blood to recover any stamina.", "type": "bad" } ] + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_STRENGTH_deactivated", + "condition": { "u_has_effect": "effect_vampiric_strength" }, + "effect": [ + { "u_message": "Your muscles weaken as the stolen blood leaves them.", "type": "neutral" }, + { "u_lose_effect": "effect_vampiric_strength" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRIC_STRENGTH_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "VAMPIRIC_STRENGTH" } }, { "type": "effect_on_condition", - "id": "EOC_STAMINAFORBLOOD_cast", + "id": "EOC_VAMPIRIC_STRENGTH_maintenance", + "condition": { "u_has_effect": "effect_vampiric_strength" }, "effect": [ { - "u_cast_spell": { - "id": "spell_stamina4blood", - "message": "Your veins pulse as your body pushes some of your blood reserves to exhaustion and early dissolution." - }, - "targeted": true + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_STRENGTH_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "75" ] }, + { + "u_message": "You feel a momentary warmth as you channel stolen blood into your muscles.", + "type": "mixed" + }, + { + "queue_eocs": [ "EOC_VAMPIRIC_STRENGTH_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (750 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 200) + (vampire_total_tier_three_traits() * 300) + (vampire_total_tier_four_traits() * 400))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your vigor mortis.", "type": "bad" }, + { "u_lose_effect": "effect_vampiric_strength" }, + { "u_deactivate_trait": "VAMPIRIC_STRENGTH" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRIC_RESILIENCE_activated", + "condition": { "not": { "u_has_effect": "effect_vampiric_resilience" } }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_RESILIENCE_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.25 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "150" ] }, + { "u_add_effect": "effect_vampiric_resilience", "duration": "PERMANENT" }, + { "u_message": "You feel a surge of power as blood fortifies your flesh.", "type": "good" }, + { + "queue_eocs": [ "EOC_VAMPIRIC_RESILIENCE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (750 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 200) + (vampire_total_tier_three_traits() * 300) + (vampire_total_tier_four_traits() * 400))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate sanguine resilience.", "type": "bad" }, + { "queue_eocs": "EOC_VAMPIRIC_RESILIENCE_deactivate_future", "time_in_future": 0 } + ] + } + ] + } + ], + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_RESILIENCE_deactivated", + "condition": { "u_has_effect": "effect_vampiric_resilience" }, + "effect": [ + { "u_message": "Your muscles weaken as the stolen blood leaves them.", "type": "neutral" }, + { "u_lose_effect": "effect_vampiric_resilience" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRIC_RESILIENCE_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "VAMPIRIC_RESILIENCE" } + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRIC_RESILIENCE_maintenance", + "condition": { "u_has_effect": "effect_vampiric_resilience" }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_RESILIENCE_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "75" ] }, + { + "u_message": "You feel a momentary warmth as you channel stolen blood into your flesh.", + "type": "mixed" + }, + { + "queue_eocs": [ "EOC_VAMPIRIC_RESILIENCE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (750 + (vampire_total_tier_one_traits() * 100) + (vampire_total_tier_two_traits() * 200) + (vampire_total_tier_three_traits() * 300) + (vampire_total_tier_four_traits() * 400))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your sanguine resilience.", "type": "bad" }, + { "u_lose_effect": "effect_vampiric_resilience" }, + { "u_deactivate_trait": "VAMPIRIC_RESILIENCE" } + ] + } + ] } ] }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_SCENT_BLOOD_activated", + "condition": { + "math": [ + "(u_characters_nearby('radius': 30, 'attitude': 'any') + u_monsters_nearby('mon_feral_cop', 'mon_feral_human_pipe', 'mon_feral_human_crowbar', 'mon_feral_jackboot', 'mon_feral_marine_bayonet', 'mon_feral_soldier', 'mon_feral_prepper_knife', 'mon_feral_sailor_axe', 'mon_feral_maid_knife', 'mon_feral_maid_candlestick', 'mon_feral_officer', 'mon_feral_sailor_lug_wrench', 'mon_feral_sailor_mop', 'mon_feral_maid_broom', 'mon_feral_sailor_wrench', 'mon_feral_swimmer_kickboard', 'mon_feral_armored_battleaxe', 'mon_feral_sapien_spear', 'mon_feral_armored_mace', 'mon_feral_human_tool', 'mon_feral_militia', 'mon_feral_fancy_rapier_fake', 'mon_feral_fancy_rapier', 'mon_feral_human_archaeologist', 'mon_feral_human_axe', 'mon_feral_labsecurity_flashlight', 'mon_feral_labsecurity_9mm', 'mon_feral_survivalist', 'mon_feral_scientist_scalpel', 'mon_feral_zebra_agent', 'mon_renfield', 'mon_renfield_9mm', 'mon_renfield_shotgun', 'mon_renfield_flamethrower', 'radius': 30, 'attitude': 'both'))", + ">=", + "1" + ] + }, + "effect": [ { "u_message": "The scent of fresh blood fills your nostrils. There is a human nearby.", "type": "good" } ], + "false_effect": [ { "u_message": "You do not smell any nearby human blood.", "type": "neutral" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_STAMINAFORBLOOD_activated", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "100" ] }, + { + "u_message": "Your veins pulse as your body pushes some of your blood reserves to exhaustion and early dissolution.", + "type": "good" + }, + { + "math": [ + "u_val('stamina')", + "+=", + "min((1500 + (vampire_total_tier_one_traits() * 200) + (vampire_total_tier_two_traits() * 450) + (vampire_total_tier_three_traits() * 900) + (vampire_total_tier_four_traits() * 1500)), 15000)" + ] + } + ], + "false_effect": [ { "u_message": "You don't have enough blood to recover any stamina.", "type": "bad" } ] + }, { "type": "effect_on_condition", "id": "EOC_COMMUNE_NIGHT_MAP", @@ -80,88 +344,533 @@ { "type": "effect_on_condition", "id": "EOC_COAGULANTWEAVE_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "500" ] }, + "condition": { "not": { "u_has_effect": "blood_weave" } }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, - { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "500" ] }, - { "queue_eocs": [ "EOC_COAGULANTWEAVE_cast" ], "time_in_future": 1 } + { + "run_eocs": [ + { + "id": "EOC_COAGULANTWEAVE_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.75 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "500" ] }, + { "u_add_effect": "blood_weave", "duration": "PERMANENT" }, + { "u_message": "You hold tightly to your blood, preventing it from leaving your body.", "type": "good" }, + { "u_lose_effect": "bleed", "target_part": "torso" }, + { "u_lose_effect": "bleed", "target_part": "leg_l" }, + { "u_lose_effect": "bleed", "target_part": "leg_r" }, + { "u_lose_effect": "bleed", "target_part": "head" }, + { "u_lose_effect": "bleed", "target_part": "arm_l" }, + { "u_lose_effect": "bleed", "target_part": "arm_r" }, + { + "queue_eocs": [ "EOC_COAGULANTWEAVE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (300 + (vampire_total_tier_one_traits() * 33) + (vampire_total_tier_two_traits() * 75) + (vampire_total_tier_three_traits() * 125) + (vampire_total_tier_four_traits() * 200))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate coagulant weave.", "type": "bad" }, + { "queue_eocs": "EOC_COAGULANTWEAVE_deactivate_future", "time_in_future": 0 } + ] + } + ] + } ], - "false_effect": [ { "u_message": "You don't have enough blood to fortify your flesh.", "type": "bad" } ] + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_COAGULANTWEAVE_deactivated", + "condition": { "u_has_effect": "blood_weave" }, + "effect": [ + { "u_message": "Your blood flows more freely as your grip on it relaxes.", "type": "neutral" }, + { "u_lose_effect": "blood_weave" } + ] + } + ] + } + ] }, { "type": "effect_on_condition", - "id": "EOC_COAGULANTWEAVE_cast", + "id": "EOC_COAGULANTWEAVE_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "COAGULANTWEAVE" } + }, + { + "type": "effect_on_condition", + "id": "EOC_COAGULANTWEAVE_maintenance", + "condition": { "u_has_effect": "blood_weave" }, "effect": [ { - "u_cast_spell": { - "id": "spell_coagulant_weave", - "message": "Blood flushes through your skin building preemptive threading that increases your resistance to bleed and bite attacks." - }, - "targeted": true + "run_eocs": [ + { + "id": "EOC_COAGULANTWEAVE_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "250" ] }, + { + "u_message": "You feel a momentary warmth as you maintain your grip on your stolen blood.", + "type": "mixed" + }, + { + "queue_eocs": [ "EOC_COAGULANTWEAVE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (300 + (vampire_total_tier_one_traits() * 33) + (vampire_total_tier_two_traits() * 75) + (vampire_total_tier_three_traits() * 125) + (vampire_total_tier_four_traits() * 200))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your coagulant weave.", "type": "bad" }, + { "u_lose_effect": "blood_weave" }, + { "u_deactivate_trait": "COAGULANTWEAVE" } + ] + } + ] } ] }, { "type": "effect_on_condition", "id": "EOC_BLOODHEAL_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-9500" ] }, + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "750" ] }, - { "queue_eocs": [ "EOC_BLOODHEAL_cast" ], "time_in_future": 1 } + { "u_message": "Blood suffuses your flesh, repairing any damage it comes across.", "type": "good" }, + { + "math": [ + "u_hp('arm_l')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + }, + { + "math": [ + "u_hp('arm_r')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + }, + { + "math": [ + "u_hp('leg_l')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + }, + { + "math": [ + "u_hp('leg_r')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + }, + { + "math": [ + "u_hp('torso')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + }, + { + "math": [ + "u_hp('head')", + "+=", + "min((5 + (vampire_total_tier_one_traits() * 0.75) + (vampire_total_tier_two_traits() * 1) + (vampire_total_tier_three_traits() * 1.25) + (vampire_total_tier_four_traits() * 2.5)), 25)" + ] + } ], - "false_effect": [ { "u_message": "You don't have enough blood to fortify your flesh.", "type": "bad" } ] + "false_effect": [ { "u_message": "You don't have enough blood to heal your wounds.", "type": "bad" } ] }, { "type": "effect_on_condition", - "id": "EOC_BLOODHEAL_cast", + "id": "EOC_VAMPIRIC_DODGE_activated", + "condition": { "not": { "u_has_effect": "effect_vampiric_dodge" } }, "effect": [ { - "u_cast_spell": { "id": "spell_blood_heal", "message": "Blood flushes through your flesh repairing any damage it comes across." }, - "targeted": true + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_DODGE_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.75 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "250" ] }, + { "u_add_effect": "effect_vampiric_dodge", "duration": "PERMANENT" }, + { "u_message": "You begin dodging with preternatural agility.", "type": "good" }, + { + "queue_eocs": [ "EOC_VAMPIRIC_DODGE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (60 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_four_traits() * 30))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate flow like blood.", "type": "bad" }, + { "queue_eocs": "EOC_VAMPIRIC_DODGE_deactivate_future", "time_in_future": 0 } + ] + } + ] + } + ], + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_DODGE_deactivate", + "condition": { "u_has_effect": "effect_vampiric_dodge" }, + "effect": [ + { "u_message": "Your movements slow as your lose your preternatural avoidance.", "type": "neutral" }, + { "u_lose_effect": "effect_vampiric_dodge" } + ] + } + ] } ] }, { "type": "effect_on_condition", - "id": "EOC_HYPNOTIC_GAZE_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "id": "EOC_VAMPIRIC_DODGE_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "VAMPIRIC_DODGE" } + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRIC_DODGE_maintenance", + "condition": { "u_has_effect": "effect_vampiric_dodge" }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, - { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "150" ] }, - { "queue_eocs": [ "EOC_HYPNOTIC_GAZE_cast" ], "time_in_future": 1 } + { + "run_eocs": [ + { + "id": "EOC_VAMPIRIC_DODGE_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "125" ] }, + { + "u_message": "You feel a momentary warmth as you maintain your preternatural dodging.", + "type": "mixed" + }, + { + "queue_eocs": [ "EOC_VAMPIRIC_DODGE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (60 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_four_traits() * 30))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your flow like blood.", "type": "bad" }, + { "u_lose_effect": "effect_vampiric_dodge" }, + { "u_deactivate_trait": "VAMPIRIC_DODGE" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_FEAR_GAZE_activated", + "condition": { "math": [ "n_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { + "math": [ + "u_vampire_fear_gaze_power_level", + "=", + "(n_vampire_total_tier_one_traits * 0.5) + (n_vampire_total_tier_two_traits * 0.75) + (n_vampire_total_tier_three_traits * 1) + (n_vampire_total_tier_four_traits * 2) " + ] + }, + { "math": [ "n_vitamin('human_blood_vitamin')", "-=", "150" ] }, + { + "run_eocs": [ + { + "id": "EOC_VAMPIRE_FEAR_GAZE_activated_2", + "condition": { "not": { "u_has_effect": "effect_vampire_fear_gazed" } }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRE_FEAR_GAZE_activated_3", + "condition": "u_is_npc", + "effect": [ + { "math": [ "u_val('npc_fear')", "+=", "u_vampire_fear_gaze_power_level / 2" ] }, + { "npc_message": "You bare your fangs and hiss at your target." }, + { "u_add_effect": "effect_vampire_fear_gazed", "duration": "5 minutes" } + ], + "false_effect": [ + { "math": [ "u_val('morale')", "-=", "u_vampire_fear_gaze_power_level * 5" ] }, + { "npc_message": "You bare your fangs and hiss at your target." }, + { "u_add_effect": "effect_vampire_fear_gazed", "duration": "5 minutes" } + ] + } + ] + } + ] + } + ] + } + ], + "false_effect": [ { "npc_message": "You don't have enough blood to activate your predator's mien.", "type": "bad" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_BEAST_CLAWS_activated", + "condition": { "not": { "u_has_trait": "VAMPIRE_BEAST_CLAWS_active" } }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRE_BEAST_CLAWS_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 0.75 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "125" ] }, + { "u_add_trait": "VAMPIRE_BEAST_CLAWS_active" }, + { "u_message": "Your fingers twist into sharp claws.", "type": "good" }, + { + "queue_eocs": [ "EOC_VAMPIRE_BEAST_CLAWS_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (800 + (vampire_total_tier_one_traits() * 60) + (vampire_total_tier_two_traits() * 100) + (vampire_total_tier_three_traits() * 150) + (vampire_total_tier_four_traits() * 225))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate your claws of the beast.", "type": "bad" }, + { "queue_eocs": "EOC_VAMPIRE_BEAST_CLAWS_deactivate_future", "time_in_future": 0 } + ] + } + ] + } ], - "false_effect": [ { "u_message": "You don't have enough blood to hypnotize your foes.", "type": "bad" } ] + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_VAMPIRE_BEAST_CLAWS_deactivate", + "condition": { "u_has_trait": "VAMPIRE_BEAST_CLAWS_active" }, + "effect": [ + { "u_message": "Your fingers warp and twist as your claws vanish.", "type": "neutral" }, + { "u_lose_trait": "VAMPIRE_BEAST_CLAWS_active" } + ] + } + ] + } + ] }, { "type": "effect_on_condition", - "id": "EOC_HYPNOTIC_GAZE_cast", + "id": "EOC_VAMPIRE_BEAST_CLAWS_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "VAMPIRE_BEAST_CLAWS" } + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_BEAST_CLAWS_maintenance", + "condition": { "u_has_trait": "VAMPIRE_BEAST_CLAWS_active" }, "effect": [ { - "u_cast_spell": { "id": "spell_hypnotic_gaze", "message": "Your eyes redden and deepen as you lock gazes with your prey." }, - "targeted": true + "run_eocs": [ + { + "id": "EOC_VAMPIRE_BEAST_CLAWS_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "62" ] }, + { "u_message": "You feel a momentary warmth as you maintain your sharp claws.", "type": "mixed" }, + { + "queue_eocs": [ "EOC_VAMPIRE_BEAST_CLAWS_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (800 + (vampire_total_tier_one_traits() * 60) + (vampire_total_tier_two_traits() * 100) + (vampire_total_tier_three_traits() * 150) + (vampire_total_tier_four_traits() * 225))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your claws of the beast.", "type": "bad" }, + { "u_lose_trait": "VAMPIRE_BEAST_CLAWS_active" }, + { "u_deactivate_trait": "VAMPIRE_BEAST_CLAWS" } + ] + } + ] } ] }, + { + "type": "effect_on_condition", + "id": "EOC_HYPNOTIC_GAZE_activated", + "condition": { "math": [ "n_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { + "math": [ + "u_vampire_hypnotic_gaze_power_level", + "=", + "2 + (n_vampire_total_tier_one_traits * 0.5) + (n_vampire_total_tier_two_traits * 0.75) + (n_vampire_total_tier_three_traits * 1.2) + (n_vampire_total_tier_four_traits * 2.5) " + ] + }, + { "math": [ "n_vitamin('human_blood_vitamin')", "-=", "150" ] }, + { + "run_eocs": [ + { + "id": "EOC_HYPNOTIC_GAZE_activated_2", + "effect": [ { "u_add_effect": "stunned", "duration": { "math": [ "u_vampire_hypnotic_gaze_power_level" ] } } ] + } + ] + } + ], + "false_effect": [ { "npc_message": "You don't have enough blood to activate your hypnotic gaze.", "type": "bad" } ] + }, { "type": "effect_on_condition", "id": "EOC_BLOODHASTE_activated", - "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-1500" ] }, + "condition": { "not": { "u_has_effect": "haste" } }, "effect": [ - { "u_assign_activity": "ACT_GENERIC_EOC", "duration": "1 seconds" }, - { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "750" ] }, - { "queue_eocs": [ "EOC_BLOODHASTE_cast" ], "time_in_future": 1 } + { + "run_eocs": [ + { + "id": "EOC_BLOODHASTE_activated_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "u_assign_activity": "ACT_GENERIC_EOC", "duration": 2 }, + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "750" ] }, + { "u_add_effect": "haste", "duration": "PERMANENT" }, + { "u_message": "You movements accelerate to superhuman levels.", "type": "good" }, + { + "queue_eocs": [ "EOC_BLOODHASTE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (60 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_four_traits() * 30))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to activate blood-driven speed.", "type": "bad" }, + { "queue_eocs": "EOC_BLOODHASTE_deactivate_future", "time_in_future": 0 } + ] + } + ] + } + ], + "false_effect": [ + { + "run_eocs": [ + { + "id": "EOC_BLOODHASTE_deactivated", + "condition": { "u_has_effect": "haste" }, + "effect": [ { "u_message": "Your speed returns to normal.", "type": "neutral" }, { "u_lose_effect": "haste" } ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_BLOODHASTE_deactivate_future", + "//": "This is necessary because calling u_deactivate_trait from within the trait EoC does not work", + "effect": { "u_deactivate_trait": "BLOODHASTE" } + }, + { + "type": "effect_on_condition", + "id": "EOC_BLOODHASTE_maintenance", + "condition": { "u_has_effect": "haste" }, + "effect": [ + { + "run_eocs": [ + { + "id": "EOC_BLOODHASTE_maintenance_2", + "condition": { "math": [ "u_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "u_vitamin('human_blood_vitamin')", "-=", "375" ] }, + { "u_message": "You feel a momentary warmth as you maintain your superhuman speed.", "type": "mixed" }, + { + "queue_eocs": [ "EOC_BLOODHASTE_maintenance" ], + "time_in_future": { + "math": [ + "rng(0.75,1.25) * (60 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_four_traits() * 30))" + ] + } + } + ], + "false_effect": [ + { "u_message": "You don't have enough blood to maintain your blood-driven speed.", "type": "bad" }, + { "u_lose_effect": "haste" }, + { "u_deactivate_trait": "BLOODHASTE" } + ] + } + ] + } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_COMMAND_BEAST_activated", + "condition": { "math": [ "n_vitamin('human_blood_vitamin')", ">=", "-500" ] }, + "effect": [ + { "math": [ "n_vitamin('human_blood_vitamin')", "-=", "500" ] }, + { "u_location_variable": { "context_val": "loc" } }, + { + "run_eocs": [ + { + "id": "EOC_VAMPIRE_COMMAND_BEAST_activated_2", + "effect": [ + { "npc_cast_spell": { "id": "vampire_command_beast_spell_real", "min_level": 1 }, "loc": { "context_val": "loc" } }, + { "npc_message": "You exert your predatory will on your target.", "type": "good" } + ] + } + ] + } ], - "false_effect": [ { "u_message": "You lack the stolen lifeforce to accelerate your own.", "type": "bad" } ] + "false_effect": [ { "npc_message": "You don't have enough blood to attempt to cow the beast.", "type": "bad" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_VAMPIRE_EARTH_SLUMBER_activated", + "condition": { + "or": [ + { "u_is_on_terrain_with_flag": "DIGGABLE" }, + { "u_is_on_terrain": "t_soil" }, + { "u_is_on_terrain": "t_rock" }, + { "u_is_on_terrain": "t_dirt_underground" } + ] + }, + "effect": [ { "run_eocs": "EOC_VAMPIRE_EARTH_SLUMBER_activated_2" } ], + "false_effect": [ { "u_message": "You must be on diggable soil to sink into it.", "type": "bad" } ] }, { "type": "effect_on_condition", - "id": "EOC_BLOODHASTE_cast", + "id": "EOC_VAMPIRE_EARTH_SLUMBER_activated_2", + "condition": { "not": { "math": [ "u_val('pos_z')", "==", "-9" ] } }, "effect": [ { - "u_cast_spell": { "id": "spell_blood_haste", "message": "Blood flushes through your flesh pushing you beyond human limits." }, - "targeted": true + "run_eocs": { + "id": "EOC_VAMPIRE_EARTH_SLUMBER_activated_3", + "effect": [ + { "u_location_variable": { "u_val": "VAMPIRE_sleep_in_earth_starting_point" }, "min_radius": 0, "max_radius": 0 }, + { + "u_location_variable": { "u_val": "VAMPIRE_sleep_in_earth_destination" }, + "min_radius": 0, + "max_radius": 0, + "z_adjust": -9, + "z_override": true + }, + { "u_message": "The earth parts beneath you and you sink down into the soil.", "type": "good" }, + { "u_teleport": { "u_val": "VAMPIRE_sleep_in_earth_destination" }, "force": true } + ] + } } + ], + "false_effect": [ + { "u_teleport": { "u_val": "VAMPIRE_sleep_in_earth_starting_point" } }, + { "u_message": "You feel yourself rising until you stand in the clear air once again.", "type": "good" } ] } ] diff --git a/data/mods/Xedra_Evolved/obsoletion_and_migration/spells.json b/data/mods/Xedra_Evolved/obsoletion_and_migration/spells.json index e806c494e4f42..98e8563cf6210 100644 --- a/data/mods/Xedra_Evolved/obsoletion_and_migration/spells.json +++ b/data/mods/Xedra_Evolved/obsoletion_and_migration/spells.json @@ -369,5 +369,79 @@ "components": "spell_components_human_blood", "flags": [ "SILENT", "NO_LEGS", "NO_FAIL" ], "difficulty": 0 + }, + { + "id": "spell_eyegleam", + "type": "SPELL", + "name": "Eye gleam", + "description": "Gives you the power to see in the dark.", + "message": "Your eyes glow red for a moment. Now your sight can pierce the darkest shadows.", + "teachable": false, + "valid_targets": [ "self" ], + "effect": "attack", + "effect_str": "eyegleam", + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "shape": "blast", + "skill": "deduction", + "spell_class": "VAMPIRE", + "min_range": 1, + "max_range": 1, + "base_casting_time": 100, + "min_duration": 100000, + "max_duration": 1000000, + "duration_increment": 2000 + }, + { + "id": "spell_stamina4blood", + "type": "SPELL", + "name": "Stamina from blood", + "description": "You focus on sending the blood in your veins to where it can do the most good for your immediate stamina.", + "teachable": false, + "effect": "recover_energy", + "effect_str": "STAMINA", + "shape": "blast", + "valid_targets": [ "self" ], + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "skill": "deduction", + "spell_class": "VAMPIRE", + "min_damage": 1500, + "max_damage": 10000, + "base_casting_time": 100, + "difficulty": 5 + }, + { + "id": "spell_coagulant_weave", + "type": "SPELL", + "name": "Coagulant Weave", + "description": "Turning your blood mastery inwards, magically enhancing your flesh. Rather than strength of healing, it staves off blood loss and purges wounds before they can turn septic, at the cost of increased hunger and thirst.", + "teachable": false, + "valid_targets": [ "self" ], + "effect": "attack", + "effect_str": "vamp_blood_weave", + "shape": "blast", + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "skill": "deduction", + "spell_class": "VAMPIRE", + "base_energy_cost": 150, + "max_level": 20, + "min_duration": 6000, + "max_duration": 12000, + "duration_increment": 300 + }, + { + "id": "spell_blood_haste", + "type": "SPELL", + "name": "Blood-Driven Speed", + "description": "Stolen blood allows you to move as quick as lightning, scything through your enemies or outrunning a car.", + "message": "", + "teachable": false, + "valid_targets": [ "self" ], + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL", "NO_PROJECTILE" ], + "skill": "deduction", + "spell_class": "VAMPIRE", + "effect": "effect_on_condition", + "effect_str": "EOC_BLOODHASTE_activated", + "shape": "blast", + "base_casting_time": 200 } ] diff --git a/data/mods/Xedra_Evolved/spells/vampire_spells.json b/data/mods/Xedra_Evolved/spells/vampire_spells.json index f67c24a09228a..33bba8bde8e31 100644 --- a/data/mods/Xedra_Evolved/spells/vampire_spells.json +++ b/data/mods/Xedra_Evolved/spells/vampire_spells.json @@ -1,74 +1,70 @@ [ { - "id": "spell_eyegleam", + "type": "enchantment", + "id": "ench_vampire_heightened_senses_hearing", + "condition": "ALWAYS", + "values": [ + { + "value": "HEARING_MULT", + "multiply": { "math": [ "0.25 + (u_has_trait('VAMPIRE2') * 0.25) + (u_has_trait('VAMPIRE3') * 0.5)" ] } + } + ] + }, + { + "type": "enchantment", + "id": "ench_vampire_heightened_senses_perception", + "condition": "ALWAYS", + "values": [ + { + "value": "PERCEPTION", + "multiply": { "math": [ "1 + (u_has_trait('VAMPIRE2') * 1) + (u_has_trait('VAMPIRE3') * 2)" ] } + } + ] + }, + { + "id": "vampire_smell_nearby_blood_spell", "type": "SPELL", - "name": "Eye gleam", - "description": "Gives you the power to see in the dark.", - "message": "Your eyes glow red for a moment. Now your sight can pierce the darkest shadows.", + "name": "Scent of Blood", + "description": "You can smell even the faintest traces of living human, or nearly-human, blood.", + "message": "", "teachable": false, + "effect": "effect_on_condition", + "effect_str": "EOC_VAMPIRE_SCENT_BLOOD_activated", + "shape": "blast", "valid_targets": [ "self" ], - "effect": "attack", - "effect_str": "eyegleam", "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], - "shape": "blast", "skill": "deduction", "spell_class": "VAMPIRE", - "min_range": 1, - "max_range": 1, - "base_casting_time": 100, - "min_duration": 100000, - "max_duration": 1000000, - "duration_increment": 2000 + "base_casting_time": 25, + "difficulty": 1 }, { - "id": "spell_stamina4blood", + "id": "vampire_stamina_for_blood_spell", "type": "SPELL", - "name": "Stamina from blood", + "name": "Unholy Endurance", "description": "You focus on sending the blood in your veins to where it can do the most good for your immediate stamina.", + "message": "", "teachable": false, - "effect": "recover_energy", - "effect_str": "STAMINA", + "effect": "effect_on_condition", + "effect_str": "EOC_STAMINAFORBLOOD_activated", "shape": "blast", "valid_targets": [ "self" ], "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], "skill": "deduction", "spell_class": "VAMPIRE", - "min_damage": 1500, - "max_damage": 10000, "base_casting_time": 100, "difficulty": 5 }, - { - "id": "spell_coagulant_weave", - "type": "SPELL", - "name": "Coagulant Weave", - "description": "Turning your blood mastery inwards, magically enhancing your flesh. Rather than strength of healing, it staves off blood loss and purges wounds before they can turn septic, at the cost of increased hunger and thirst.", - "teachable": false, - "valid_targets": [ "self" ], - "effect": "attack", - "effect_str": "vamp_blood_weave", - "shape": "blast", - "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], - "skill": "deduction", - "spell_class": "VAMPIRE", - "base_energy_cost": 150, - "max_level": 20, - "min_duration": 6000, - "max_duration": 12000, - "duration_increment": 300 - }, { "id": "spell_blood_heal", "type": "SPELL", - "name": "Blood healing", - "description": "Heals a little bit of damage on the target.", + "name": "Sanguine Restoration", + "description": "Heal your wounds with the power of stolen blood.", + "message": "", "teachable": false, "valid_targets": [ "self" ], - "min_damage": -5, - "max_damage": -20, - "damage_increment": -1.0, - "max_level": 15, - "effect": "attack", + "effect": "effect_on_condition", + "effect_str": "EOC_BLOODHEAL_activated", "shape": "blast", "base_casting_time": 20, "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], @@ -77,45 +73,159 @@ "difficulty": 2 }, { - "id": "spell_blood_haste", + "id": "vampire_fear_gaze_spell", "type": "SPELL", - "name": "Haste", - "description": "This spell gives you an enormous boost of speed lasting a short period of time.", + "name": { "str": "Predator's Mien" }, + "description": "With a bit of stolen blood and a savage expression, you can send your enemies fleeing. This power only works on enemies capable of feeling fear.", + "message": "", "teachable": false, - "valid_targets": [ "self" ], + "effect": "effect_on_condition", + "effect_str": "EOC_VAMPIRE_FEAR_GAZE_activated", + "shape": "blast", + "valid_targets": [ "ally", "hostile" ], "flags": [ "NO_HANDS", "SILENT", "NO_FAIL", "NO_PROJECTILE" ], "skill": "deduction", "spell_class": "VAMPIRE", - "effect": "attack", - "effect_str": "haste", - "shape": "blast", - "base_casting_time": 200, - "max_level": 20, - "min_duration": 600, - "max_duration": 12000, - "duration_increment": 600 + "min_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "max_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "ignored_monster_species": [ "ZOMBIE", "ROBOT", "ROBOT_FLYING", "NETHER", "NETHER_EMANATION", "LEECH_PLANT", "WORM", "FUNGUS", "SLIME" ] }, { "id": "spell_hypnotic_gaze", "type": "SPELL", - "name": "hypnotic gaze", - "description": "Stares into the eyes of your victim and wills them to pause.", + "name": "Hypnotic Gaze", + "description": "Stare into the eyes of your victim and wills them to pause. This power does not work on unliving targets.", + "message": "", "teachable": false, "skill": "deduction", "spell_class": "VAMPIRE", "valid_targets": [ "ally", "hostile" ], - "effect": "attack", - "effect_str": "stunned", + "effect": "effect_on_condition", + "effect_str": "EOC_HYPNOTIC_GAZE_activated", "shape": "blast", "flags": [ "NO_HANDS", "SILENT", "NO_FAIL", "NO_PROJECTILE" ], "difficulty": 3, "base_casting_time": 100, - "max_level": 15, - "min_range": 3, - "max_range": 9, - "range_increment": 0.4, - "min_duration": 1200, - "max_duration": 12000, - "duration_increment": 720 + "min_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "max_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "ignored_monster_species": [ "ZOMBIE", "ROBOT", "ROBOT_FLYING", "NETHER", "NETHER_EMANATION", "LEECH_PLANT", "WORM", "FUNGUS", "SLIME" ] + }, + { + "id": "vampire_command_beast_spell", + "type": "SPELL", + "name": "Cowing the Beast", + "description": "Exert command over a predatory wild animal like a wolf or a rat, making it your ally for a time.", + "message": "", + "teachable": false, + "valid_targets": [ "hostile" ], + "effect": "effect_on_condition", + "effect_str": "EOC_VAMPIRE_COMMAND_BEAST_activated", + "shape": "blast", + "base_casting_time": 75, + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "skill": "deduction", + "spell_class": "VAMPIRE", + "difficulty": 7, + "min_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "max_range": { + "math": [ + "min((3 + (vampire_total_tier_one_traits() * 0.2) + (vampire_total_tier_two_traits() * 0.33) + (vampire_total_tier_three_traits() * 0.5) + (vampire_total_tier_four_traits() * 0.75)), 12)" + ] + }, + "targeted_monster_ids": [ + "mon_wolf", + "mon_wolf_mutant_huge", + "mon_wolf_pup", + "mon_coyote_wolf", + "mon_coyote", + "mon_coyote_mutant_shark", + "mon_coyote_mutant_venom", + "mon_bear", + "mon_bear_cub", + "mon_bear_mutant_3headed", + "mon_big_rat", + "mon_pack_rat", + "mon_sewer_rat", + "mon_black_ratkin", + "mon_black_rat", + "mon_bat", + "xe_mon_bat", + "mon_vampire_bat", + "mon_bat_giant" + ] + }, + { + "id": "vampire_command_beast_spell_real", + "type": "SPELL", + "name": "Cowing the Beast Real", + "description": "The actual power that lets you command a beast. If you see this, it's a bug.", + "message": "", + "teachable": false, + "valid_targets": [ "hostile" ], + "effect": "charm_monster", + "shape": "blast", + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "spell_class": "VAMPIRE", + "difficulty": 7, + "max_level": 1, + "min_range": 60, + "max_range": 60, + "min_damage": { + "math": [ + "rng (0.75,1.25) * (50 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_three_traits() * 35))" + ] + }, + "max_damage": { + "math": [ + "rng (0.75,1.25) * (50 + (vampire_total_tier_one_traits() * 5) + (vampire_total_tier_two_traits() * 12) + (vampire_total_tier_three_traits() * 20) + (vampire_total_tier_three_traits() * 35))" + ] + }, + "min_duration": { + "math": [ + "rng (0.75,1.25) * (6000 + (vampire_total_tier_one_traits() * 1000) + (vampire_total_tier_two_traits() * 1800) + (vampire_total_tier_three_traits() * 2700) + (vampire_total_tier_three_traits() * 4500))" + ] + }, + "max_duration": { + "math": [ + "rng (0.75,1.25) * (6000 + (vampire_total_tier_one_traits() * 1000) + (vampire_total_tier_two_traits() * 1800) + (vampire_total_tier_three_traits() * 2700) + (vampire_total_tier_three_traits() * 4500))" + ] + } + }, + { + "id": "vampire_earth_slumber_spell", + "type": "SPELL", + "name": "Earthen Slumber", + "description": "You can sleep within the earth itself, avoiding the hateful light of the sun. This power must be used on diggable soil.", + "message": "", + "teachable": false, + "valid_targets": [ "self" ], + "effect": "effect_on_condition", + "effect_str": "EOC_VAMPIRE_EARTH_SLUMBER_activated", + "shape": "blast", + "base_casting_time": 150, + "flags": [ "NO_HANDS", "SILENT", "NO_FAIL" ], + "skill": "deduction", + "spell_class": "VAMPIRE", + "difficulty": 2 } ]