diff --git a/data/mods/Xedra_Evolved/effects/effects_changeling_seasonal_magic.json b/data/mods/Xedra_Evolved/effects/effects_changeling_seasonal_magic.json index d305fd6fcefd9..3991178c6fd7b 100644 --- a/data/mods/Xedra_Evolved/effects/effects_changeling_seasonal_magic.json +++ b/data/mods/Xedra_Evolved/effects/effects_changeling_seasonal_magic.json @@ -1,29 +1,111 @@ [ { "type": "effect_type", - "id": "effect_changeling_summer_light_spell", + "id": "effect_changeling_using_glamour_removes_checker", + "//": "Hidden effect, used to prevent the initial use of a glamour that's not supposed to be used with other glamours from removing itself", + "name": [ "" ], + "desc": [ "" ] + }, + { + "type": "effect_type", + "id": "effect_changeling_spring_protective_plant_armor", + "name": [ "Viridian Cuirass" ], + "desc": [ "You are covered in a set of living bark armor." ], + "apply_message": "Bark and leaves quickly grow over your skin.", + "remove_message": "The bark armor cracks and falls away.", + "max_duration": "12 hours", + "enchantments": [ + { "mutations": [ "ARVORE_MOSS", "BARK" ] }, + { + "condition": { "not": { "is_season": "autumn" } }, + "incoming_damage_mod": [ { "type": "cold", "multiply": -0.5 } ], + "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": 50 } ] + } + ] + }, + { + "type": "effect_type", + "id": "effect_changeling_spring_healing_increase_while_outside", + "name": [ "New Growth" ], + "desc": [ "You are drawing on the energy of life to increase your healing rate." ], + "apply_message": "", + "remove_message": "The warmth fades away.", + "max_duration": "12 hours", + "enchantments": [ + { + "condition": { "and": [ "u_is_outside", "u_is_avatar" ] }, + "values": [ + { "value": "REGEN_HP_AWAKE", "multiply": 1 }, + { + "value": "REGEN_HP", + "multiply": { + "math": [ + "( 10 + u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') + (u_skill('deduction') * 2) ) * (global_what_is_the_season == 3 ? 0.5 : 1)" + ] + } + }, + { + "value": "MENDING_MODIFIER", + "multiply": { + "math": [ + "(3 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') / 3) + u_skill('deduction') ) * (global_what_is_the_season == 3 ? 0.5 : 1)" + ] + } + } + ] + }, + { + "condition": { "and": [ "u_is_outside", "u_is_npc" ] }, + "values": [ + { "value": "REGEN_HP_AWAKE", "multiply": 1 }, + { + "value": "REGEN_HP", + "multiply": { + "math": [ + "(10 + u_spring_magic_spell_count + (u_spring_magic_deduction_level * 2) ) * (global_what_is_the_season == 3 ? 0.5 : 1)" + ] + } + }, + { + "value": "MENDING_MODIFIER", + "multiply": { + "math": [ + "(3 + (u_spring_magic_spell_count / 3) + u_spring_magic_deduction_level) * (global_what_is_the_season == 3 ? 0.5 : 1)" + ] + } + } + ] + } + ] + }, + { + "type": "effect_type", + "id": "effect_changeling_summer_light", "name": [ "Bonefire's Light" ], "desc": [ "A wisp of flickering insubstantial fire hovers near your shoulder." ], "apply_message": "", "remove_message": "The wisp winks out.", + "max_duration": "12 hours", "enchantments": [ { "values": [ { "value": "LUMINATION", "add": 10 } ] } ] }, { "type": "effect_type", - "id": "effect_changeling_summer_sun_glasses_spell", + "id": "effect_changeling_summer_sun_glasses", "name": [ "Shading Your Eyes" ], "desc": [ "Nearby lights don't seem quite as bright now." ], "apply_message": "", "remove_message": "You blink as nearby lights grow brighter.", + "max_duration": "12 hours", "flags": [ "GLARE_RESIST" ] }, { "type": "effect_type", - "id": "effect_changeling_fire_melee_damage_spell", + "id": "effect_changeling_fire_melee_damage", "name": [ "Burning Solar Grasp" ], "desc": [ "Ethereal flames flicker around your hands" ], "apply_message": "", "remove_message": "The flames gutter out.", + "max_duration": "12 hours", "enchantments": [ { "condition": "u_has_weapon", @@ -54,6 +136,41 @@ { "values": [ { "value": "LUMINATION", "add": 2 } ] } ] }, + { + "type": "effect_type", + "id": "effect_changeling_summer_run_for_long_periods", + "name": [ "Outracing the Sun" ], + "desc": [ "You are filled with burning energy." ], + "apply_message": "You are filled with burning energy.", + "remove_message": "The burning energy filling your muscles dissipates.", + "max_duration": "12 hours", + "enchantments": [ + { + "condition": { "or": [ { "not": { "is_season": "winter" } }, { "and": [ { "is_season": "winter" }, "u_is_outside" ] } ] }, + "values": [ { "value": "REGEN_STAMINA", "add": 200 } ] + } + ] + }, + { + "type": "effect_type", + "id": "effect_changeling_summer_powerful_sunlight", + "name": [ "Helios's Wrath" ], + "desc": [ "You blaze with the pure light of the summer sun." ], + "apply_message": "", + "remove_message": "The blinding light fades away.", + "show_in_info": true, + "max_duration": "12 hours", + "enchantments": [ + { + "values": [ { "value": "LUMINATION", "add": 8000 } ], + "intermittent_activation": { + "effects": [ + { "frequency": "4 seconds", "spell_effects": [ { "id": "changeling_summer_powerful_sunlight_spell_aura_effects" } ] } + ] + } + } + ] + }, { "type": "effect_type", "id": "effect_changeling_autumn_touch_of_frailty_character", @@ -62,6 +179,7 @@ "apply_message": "", "remove_message": "Your vigor returns.", "show_in_info": true, + "max_duration": "12 hours", "enchantments": [ { "values": [ { "value": "STRENGTH", "add": -3 }, { "value": "DEXTERITY", "add": -2 }, { "value": "SPEED", "add": -5 } ] @@ -76,6 +194,7 @@ "apply_message": "", "remove_message": "Your vigor returns.", "show_in_info": true, + "max_duration": "12 hours", "base_mods": { "hit_mod": [ -1 ], "dodge_mod": [ -1 ], "speed_mod": [ -5 ] } }, { @@ -85,6 +204,31 @@ "name": [ "" ], "desc": [ "" ] }, + { + "type": "effect_type", + "id": "effect_changeling_autumn_protection_from_ranged", + "name": [ "Swirl of Autumn Leaves" ], + "desc": [ "A chill wind is whirling around you." ], + "apply_message": "", + "remove_message": "The autumn leaves fall to the ground.", + "show_in_info": true, + "max_duration": "12 hours", + "enchantments": [ + { + "values": [ + { + "value": "RANGE_DODGE", + "multiply": { + "math": [ + "min( ( 15 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 0.75) + (u_skill('deduction') * 1.5) ), 50 )" + ] + } + } + ] + }, + { "condition": { "is_season": "autumn" }, "values": [ { "value": "STEALTH_MODIFIER", "add": 33 } ] } + ] + }, { "type": "effect_type", "id": "effect_changeling_winter_freeze_target_in_place_not_winter", @@ -93,6 +237,7 @@ "apply_message": "", "remove_message": "You can move again.", "show_in_info": true, + "max_duration": "20 minutes", "flags": [ "CANNOT_MOVE" ] }, { @@ -103,8 +248,22 @@ "apply_message": "", "remove_message": "The chill around your feet fades away.", "show_in_info": true, + "max_duration": "20 minutes", "flags": [ "CANNOT_ATTACK", "CANNOT_MOVE" ] }, + { + "type": "effect_type", + "id": "effect_changeling_winter_walk_in_silence", + "name": [ "Footsteps in the Snow" ], + "desc": [ "Like an animal in winter, you are moving in almost complete silence." ], + "apply_message": "", + "remove_message": "The sound of your footsteps intrudes in your perceptions.", + "max_duration": "12 hours", + "enchantments": [ + { "condition": { "not": { "is_season": "winter" } }, "values": [ { "value": "FOOTSTEP_NOISE", "multiply": -0.9 } ] }, + { "condition": { "is_season": "winter" }, "values": [ { "value": "FOOTSTEP_NOISE", "multiply": -1 } ] } + ] + }, { "type": "effect_type", "id": "effect_changeling_winter_walk_on_water", @@ -112,8 +271,28 @@ "desc": [ "Each step you take leaves a tracing of frost on the ground, and liquids freeze at your touch." ], "apply_message": "", "remove_message": "The chill around your feet fades away.", + "max_duration": "12 hours", "flags": [ "WATERWALKING", "ITEM_WATERPROOFING", "SLUDGEPROOF" ] }, + { + "type": "effect_type", + "id": "effect_changeling_winter_feign_death", + "name": [ "Stillness of the Tomb" ], + "desc": [ "You do not move, or breathe, or think, or live. For now." ], + "apply_message": "", + "remove_message": "Life returns to your limbs.", + "show_in_info": true, + "max_duration": "6 hours", + "enchantments": [ { "mutations": [ "WINTER_FEIGN_DEATH_TRAITS" ] } ], + "limb_score_mods": [ + { "limb_score": "lift", "modifier": 0.2 }, + { "limb_score": "block", "modifier": 0.0 }, + { "limb_score": "swim", "modifier": 0.0 }, + { "limb_score": "manip", "modifier": 0.1 }, + { "limb_score": "grip", "modifier": 0.1 } + ], + "flags": [ "EFFECT_LIMB_SCORE_MOD" ] + }, { "type": "effect_type", "id": "effect_changeling_winter_frozen_breath", @@ -121,6 +300,8 @@ "desc": [ "Your movements are slowed." ], "apply_message": "", "remove_message": "The bone-deep chill fades away.", + "show_in_info": true, + "max_duration": "20 minutes", "enchantments": [ { "values": [ { "value": "SPEED", "multiply": -0.1 } ] } ], "base_mods": { "hit_mod": [ -1 ] } } diff --git a/data/mods/Xedra_Evolved/mutations/playable_changeling_eocs.json b/data/mods/Xedra_Evolved/mutations/playable_changeling_eocs.json index df68832898c1c..b9b3fb0f4c3f3 100644 --- a/data/mods/Xedra_Evolved/mutations/playable_changeling_eocs.json +++ b/data/mods/Xedra_Evolved/mutations/playable_changeling_eocs.json @@ -38,8 +38,14 @@ "id": "EOC_TEST_CHANGELING_EFFECTS_REMOVED_BY_COMBAT", "condition": { "or": [ - { "u_has_effect": "effect_changeling_invisibility" }, - { "u_has_effect": "effect_changeling_right_of_passage" }, + { + "u_has_any_effect": [ + "effect_changeling_invisibility", + "effect_changeling_right_of_passage", + "effect_changeling_summer_run_for_long_periods", + "effect_changeling_winter_feign_death" + ] + }, { "u_has_any_trait": [ "CHANGELING_DISGUISE_AS_NATURE_BUSH", @@ -53,6 +59,19 @@ }, "effect": [ ] }, + { + "type": "effect_on_condition", + "id": "EOC_TEST_CHANGELING_EFFECTS_REMOVED_BY_CASTING", + "condition": { + "and": [ + { "u_has_effect": "effect_changeling_using_glamour_removes_checker" }, + { + "u_has_any_effect": [ "effect_changeling_summer_run_for_long_periods", "effect_changeling_winter_feign_death" ] + } + ] + }, + "effect": [ ] + }, { "type": "effect_on_condition", "id": "EOC_UNKNOWING_CHANGELING_WEARING_IRON_OR_STEEL", @@ -191,17 +210,51 @@ }, { "type": "effect_on_condition", - "id": "EOC_CHANGELING_EFFECTS_REMOVED_BY_TAKING DAMAGE", + "id": "EOC_CHANGELING_EFFECTS_REMOVED_BY_TAKING_DAMAGE", "eoc_type": "EVENT", "required_event": "character_takes_damage", "condition": { "test_eoc": "EOC_TEST_CHANGELING_EFFECTS_REMOVED_BY_COMBAT" }, "effect": [ { "run_eocs": "EOC_CHANGELING_EFFECTS_REMOVED_LOSE_EFFECTS" } ] }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_NO_CASTING_OTHER_GLAMOURS_CHECKER", + "//": "Due to the way spellcasting_finish events work, this has to be run 1 second after the initial glamour weaving, or a glamour that fades if another glamour is woven is immediately removed because the initial weaving count as 'another glamour' ", + "effect": [ { "u_add_effect": "effect_changeling_using_glamour_removes_checker", "duration": "PERMANENT" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_EFFECTS_REMOVED_BY_SPELLCASTING", + "eoc_type": "EVENT", + "required_event": "spellcasting_finish", + "condition": { + "and": [ + { "u_has_effect": "effect_changeling_using_glamour_removes_checker" }, + { "test_eoc": "EOC_TEST_CHANGELING_EFFECTS_REMOVED_BY_CASTING" } + ] + }, + "effect": [ + { + "u_lose_effect": [ + "effect_changeling_using_glamour_removes_checker", + "effect_changeling_summer_run_for_long_periods", + "effect_changeling_winter_feign_death" + ] + } + ] + }, { "type": "effect_on_condition", "id": "EOC_CHANGELING_EFFECTS_REMOVED_LOSE_EFFECTS", "effect": [ - { "u_lose_effect": [ "effect_changeling_invisibility", "effect_changeling_right_of_passage" ] }, + { + "u_lose_effect": [ + "effect_changeling_invisibility", + "effect_changeling_right_of_passage", + "effect_changeling_summer_run_for_long_periods", + "effect_changeling_winter_feign_death" + ] + }, { "u_lose_trait": "CHANGELING_DISGUISE_AS_NATURE_BUSH" }, { "u_lose_trait": "CHANGELING_DISGUISE_AS_NATURE_TREE" }, { "u_lose_trait": "CHANGELING_DISGUISE_AS_NATURE_POND" }, @@ -209,6 +262,30 @@ { "u_lose_trait": "CHANGELING_DISGUISE_AS_NATURE_ROCK" } ] }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_EFFECTS_REMOVED_BY_MOVEMENT", + "eoc_type": "EVENT", + "required_event": "avatar_moves", + "condition": { + "or": [ + { "u_has_any_effect": [ "effect_changeling_winter_feign_death" ] }, + { + "u_has_any_trait": [ + "CHANGELING_DISGUISE_AS_NATURE_BUSH", + "CHANGELING_DISGUISE_AS_NATURE_TREE", + "CHANGELING_DISGUISE_AS_NATURE_POND", + "CHANGELING_DISGUISE_AS_NATURE_GRASS", + "CHANGELING_DISGUISE_AS_NATURE_ROCK" + ] + } + ] + }, + "effect": [ + { "u_lose_effect": [ "effect_changeling_winter_feign_death" ] }, + { "run_eocs": "EOC_CHANGELING_DISGUISE_AS_NATURE_END" } + ] + }, { "type": "effect_on_condition", "id": "EOC_INCONSPICUOUS_BROWNIE_ATTACKS_MELEE_MONSTER", @@ -343,22 +420,6 @@ { "u_message": "The glamour disguising you fades.", "type": "bad" } ] }, - { - "type": "effect_on_condition", - "id": "EOC_CHANGELING_DISGUISE_AS_NATURE_MOVEMENT_ENDS", - "eoc_type": "EVENT", - "required_event": "avatar_moves", - "condition": { - "u_has_any_trait": [ - "CHANGELING_DISGUISE_AS_NATURE_BUSH", - "CHANGELING_DISGUISE_AS_NATURE_TREE", - "CHANGELING_DISGUISE_AS_NATURE_POND", - "CHANGELING_DISGUISE_AS_NATURE_GRASS", - "CHANGELING_DISGUISE_AS_NATURE_ROCK" - ] - }, - "effect": [ { "run_eocs": "EOC_CHANGELING_DISGUISE_AS_NATURE_END" } ] - }, { "type": "effect_on_condition", "id": "EOC_CHANGELING_NOBLE_BURNING_WEAPON", diff --git a/data/mods/Xedra_Evolved/mutations/playable_changeling_seasonal_magic_research_eocs.json b/data/mods/Xedra_Evolved/mutations/playable_changeling_seasonal_magic_research_eocs.json index 812ee01866da4..4299bb7424bc4 100644 --- a/data/mods/Xedra_Evolved/mutations/playable_changeling_seasonal_magic_research_eocs.json +++ b/data/mods/Xedra_Evolved/mutations/playable_changeling_seasonal_magic_research_eocs.json @@ -289,6 +289,7 @@ { "type": "effect_on_condition", "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SPRING_FINALIZE", + "//": "Spells have a tier equal to one-half their Difficulty. Tier 5 is everything 'and up'.", "effect": [ { "run_eocs": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_PAY_COST" }, { @@ -342,7 +343,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SPRING_TIER_3", "effect": [ { - "u_roll_remainder": [ "changeling_spring_growing_plants_spell" ], + "u_roll_remainder": [ "changeling_spring_protective_plant_armor_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -355,7 +356,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SPRING_TIER_4", "effect": [ { - "u_roll_remainder": [ "changeling_spring_growing_plants_spell" ], + "u_roll_remainder": [ "changeling_spring_healing_increase_while_outside_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -413,7 +414,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SUMMER_TIER_1", "effect": [ { - "u_roll_remainder": [ "changeling_summer_light_spell", "changeling_summer_sun_glasses_spell" ], + "u_roll_remainder": [ "changeling_summer_light_spell", "changeling_summer_light_fire_spell", "changeling_summer_sun_glasses_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -426,7 +427,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SUMMER_TIER_2", "effect": [ { - "u_roll_remainder": [ "changeling_summer_fire_melee_damage_spell" ], + "u_roll_remainder": [ "changeling_summer_fire_melee_damage_spell", "changeling_summer_jump_distance_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -439,7 +440,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_SUMMER_TIER_3", "effect": [ { - "u_roll_remainder": [ "changeling_summer_fire_melee_damage_spell" ], + "u_roll_remainder": [ "changeling_summer_run_for_long_periods_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -536,7 +537,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_AUTUMN_TIER_3", "effect": [ { - "u_roll_remainder": [ "changeling_autumn_call_mists_spell" ], + "u_roll_remainder": [ "changeling_autumn_protection_from_ranged_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -607,7 +608,11 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_WINTER_TIER_1", "effect": [ { - "u_roll_remainder": [ "changeling_winter_walk_on_water_spell", "changeling_winter_freeze_target_in_place_spell" ], + "u_roll_remainder": [ + "changeling_winter_walk_on_water_spell", + "changeling_winter_freeze_target_in_place_spell", + "changeling_winter_walk_in_silence" + ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], @@ -620,7 +625,7 @@ "id": "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_WINTER_TIER_2", "effect": [ { - "u_roll_remainder": [ "changeling_winter_frozen_breath_spell" ], + "u_roll_remainder": [ "changeling_winter_frozen_breath_spell", "changeling_winter_feign_death_spell" ], "type": "spell", "message": "Your research bears fruit! You learn the %s glamour.", "true_eocs": [ "EOC_CHANGELING_RESEARCH_SEASONAL_MAGIC_DREAMDROSS_COST_UPDATER" ], diff --git a/data/mods/Xedra_Evolved/mutations/temporary.json b/data/mods/Xedra_Evolved/mutations/temporary.json index c0e741c464aa0..ee42616574f32 100644 --- a/data/mods/Xedra_Evolved/mutations/temporary.json +++ b/data/mods/Xedra_Evolved/mutations/temporary.json @@ -446,5 +446,50 @@ "player_display": false, "points": 0, "ignored_by": [ "MAMMAL", "AMPHIBIAN", "BIRD", "REPTILE", "FISH", "KRAKEN", "INSECT", "CENTIPEDE", "INSECT_FLYING", "SPIDER" ] + }, + { + "type": "mutation", + "id": "WINTER_FEIGN_DEATH_TRAITS", + "name": { "str": "Stillness of the Tomb", "//~": "NO_I18N" }, + "description": { "str": "You are feigning death. Shhhhhhh!", "//~": "NO_I18N" }, + "valid": false, + "player_display": false, + "points": 0, + "ignored_by": [ + "MAMMAL", + "AMPHIBIAN", + "MUTANT", + "CYBORG", + "REPTILE", + "FISH", + "KRAKEN", + "MIGO", + "SLIME", + "LEECH_PLANT", + "INSECT", + "CENTIPEDE", + "INSECT_FLYING", + "SPIDER", + "BIRD", + "MOLLUSK", + "WORM", + "ZOMBIE", + "NETHER", + "PLANT", + "FERAL", + "ROBOT", + "HORROR", + "ABERRATION", + "HUMAN", + "VAMPIRE", + "NIGHTMARE", + "CHANGELING", + "ARVORE", + "HOMULLUS", + "IERDE", + "SALAMANDER", + "SYLPH", + "UNDINE" + ] } ] diff --git a/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json b/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json index 70d045e818411..a208264e6126b 100644 --- a/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json +++ b/data/mods/Xedra_Evolved/obsoletion_and_migration/effects.json @@ -36,5 +36,32 @@ "show_intensity": false, "limb_score_mods": [ { "limb_score": "lift", "modifier": 0.51 }, { "limb_score": "grip", "modifier": 0.25 } ], "flags": [ "EFFECT_LIMB_SCORE_MOD", "EFFECT_IMPEDING" ] + }, + { + "type": "effect_type", + "id": "effect_changeling_summer_light_spell", + "name": [ "Bonefire's Light" ], + "desc": [ "A wisp of flickering insubstantial fire hovers near your shoulder." ], + "apply_message": "", + "remove_message": "The wisp winks out.", + "max_duration": "12 hours" + }, + { + "type": "effect_type", + "id": "effect_changeling_summer_sun_glasses_spell", + "name": [ "Shading Your Eyes" ], + "desc": [ "Nearby lights don't seem quite as bright now." ], + "apply_message": "", + "remove_message": "You blink as nearby lights grow brighter.", + "max_duration": "12 hours" + }, + { + "type": "effect_type", + "id": "effect_changeling_fire_melee_damage_spell", + "name": [ "Burning Solar Grasp" ], + "desc": [ "Ethereal flames flicker around your hands" ], + "apply_message": "", + "remove_message": "The flames gutter out.", + "max_duration": "12 hours" } ] diff --git a/data/mods/Xedra_Evolved/requirements/spell_components.json b/data/mods/Xedra_Evolved/requirements/spell_components.json index bb375ed2f9905..01891ea9755b6 100644 --- a/data/mods/Xedra_Evolved/requirements/spell_components.json +++ b/data/mods/Xedra_Evolved/requirements/spell_components.json @@ -4,6 +4,26 @@ "type": "requirement", "components": [ [ [ "scrap_dreamdross", 1 ] ] ] }, + { + "id": "spell_components_dreamdross_2", + "type": "requirement", + "components": [ [ [ "scrap_dreamdross", 2 ] ] ] + }, + { + "id": "spell_components_dreamdross_3", + "type": "requirement", + "components": [ [ [ "scrap_dreamdross", 3 ] ] ] + }, + { + "id": "spell_components_dreamdross_4", + "type": "requirement", + "components": [ [ [ "scrap_dreamdross", 4 ] ] ] + }, + { + "id": "spell_components_dreamdross_5", + "type": "requirement", + "components": [ [ [ "scrap_dreamdross", 5 ] ] ] + }, { "id": "spell_components_dreamdross2", "type": "requirement", diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_autumn.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_autumn.json index dc95e461c2a3a..681d35bdf0dc0 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_autumn.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_autumn.json @@ -1,6 +1,6 @@ [ { - "//": "Autumn magic should focus on: fear, decay, the harvest, preservation, fog, colors.", + "//": "Autumn magic should focus on: fear, decay, the harvest, preservation, fog, colors, home and the hearth.", "//2": "Make sure to add each new spell to the proper research EoC in the playable_changeling_seasonal_magic_research_eocs file.", "//3": "Seasonal magic can have direct damage spells, but they should always be relevantly themed to the season, accomplish some secondary effect (slowing, blinding, starting fires, terrain alteration, etc), have some limitation on targets, or otherwise be less efficient than 'Wizard casts fireball' ", "id": "xe_fey_seasonal_magick_autumn", @@ -112,5 +112,41 @@ "u_effect_intensity('effect_controlling_weather_fog') > -1 ? 50 : max( ( 6000 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 56) - (u_skill('deduction') * 125)), 400)" ] } + }, + { + "id": "changeling_autumn_protection_from_ranged_spell", + "type": "SPELL", + "name": "Swirl of Autumn Leaves", + "description": "Whip up a wind and a swirl of autumn leaves around yourself, giving ranged attacks a chance to go awry. The glamour also makes you harder to spot if used in autumn.", + "message": "A spray of colored leaves whirl around you.", + "flags": [ "VERBAL", "RANDOM_DURATION" ], + "magic_type": "xe_fey_seasonal_magick_autumn", + "spell_class": "CHANGELING_SEASONAL_MAGIC_AUTUMN", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 6, + "effect": "attack", + "effect_str": "effect_changeling_autumn_protection_from_ranged", + "min_duration": { + "math": [ + "( ( 19852 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 5852) + (u_skill('deduction') * 11512) ) )" + ] + }, + "max_duration": { + "math": [ + "( ( 40851 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 16815) + (u_skill('deduction') * 32945) ) )" + ] + }, + "base_energy_cost": { + "math": [ "max( ( 450 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 5) - (u_skill('deduction') * 8)), 250)" ] + }, + "base_casting_time": { + "math": [ + "max( ( 500 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_AUTUMN') * 8) - (u_skill('deduction') * 15)), 150)" + ] + } } ] diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring.json index a1f83c856997e..a8aad12892c9c 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring.json @@ -1,6 +1,6 @@ [ { - "//": "Spring magic should focus on: plants, growth, healing, rain, and love.", + "//": "Spring magic should focus on: plants, growth, healing, rain, creativity, and love.", "//2": "Make sure to add each new spell to the proper research EoC in the playable_changeling_seasonal_magic_research_eocs file.", "//3": "Seasonal magic can have direct damage spells, but they should always be relevantly themed to the season, accomplish some secondary effect (slowing, blinding, starting fires, terrain alteration, etc), have some limitation on targets, or otherwise be less efficient than 'Wizard casts fireball' ", "id": "xe_fey_seasonal_magick_spring", @@ -109,5 +109,82 @@ "max( ( 6000 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 150) - (u_skill('deduction') * 75)), 1500)" ] } + }, + { + "id": "changeling_spring_protective_plant_armor_spell", + "type": "SPELL", + "name": "Viridian Cuirass", + "description": "Grow a set of enchanted living armor around yourself or an ally, providing protection and resistance to chill temperatures. The glamour offers no protection from cold in autumn.", + "flags": [ "VERBAL", "SOMATIC", "RANDOM_DURATION" ], + "magic_type": "xe_fey_seasonal_magick_spring", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SPRING", + "valid_targets": [ "self", "ally" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 5, + "effect": "attack", + "effect_str": "effect_changeling_spring_protective_plant_armor", + "min_range": 1, + "min_duration": { + "math": [ + "( ( 20864 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 7534) + (u_skill('deduction') * 9852) ) )" + ] + }, + "max_duration": { + "math": [ + "( ( 85346 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 17854) + (u_skill('deduction') * 21852) ) )" + ] + }, + "base_energy_cost": { + "math": [ + "max( ( 500 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 6) - (u_skill('deduction') * 10)), 300)" + ] + }, + "base_casting_time": { + "math": [ + "max( ( 3000 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 75) - (u_skill('deduction') * 100)), 500)" + ] + } + }, + { + "id": "changeling_spring_healing_increase_while_outside_spell", + "type": "SPELL", + "name": "New Growth", + "description": "Draw on the power of growth and new sprouts to speed the healing of yourself or one of your allies, as long as you are outside. The healing rate is reduced in autumn.", + "flags": [ "VERBAL", "SOMATIC", "RANDOM_DURATION" ], + "magic_type": "xe_fey_seasonal_magick_spring", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SPRING", + "valid_targets": [ "self", "ally" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 8, + "components": "spell_components_dreamdross_2", + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_SPRING_HEALING_INCREASE_WHILE_OUTSIDE_INITIATE", + "min_range": 10, + "min_duration": { + "math": [ + "( ( 84612 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 12952) + (u_skill('deduction') * 18542) ) )" + ] + }, + "max_duration": { + "math": [ + "( ( 168524 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 34815) + (u_skill('deduction') * 49851) ) )" + ] + }, + "base_energy_cost": { + "math": [ + "max( ( 800 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 8) - (u_skill('deduction') * 15)), 450)" + ] + }, + "base_casting_time": { + "math": [ + "max( ( 2000 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 50) - (u_skill('deduction') * 75)), 250)" + ] + } } ] diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring_eocs.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring_eocs.json index ed0f77dce403f..59ebae975c999 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring_eocs.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_spring_eocs.json @@ -15,5 +15,54 @@ { "u_transform_radius": 0, "ter_furn_transform": "ter_changeling_spring_verdant_vitality" } ], "false_effect": [ { "u_message": "You need to be standing on vegetation to drawn on its vitality.", "type": "bad" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SPRING_HEALING_INCREASE_WHILE_OUTSIDE_INITIATE", + "condition": "u_is_avatar", + "effect": [ + { + "math": [ + "u_spell_low_duration = ( ( 846.12 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 129.52) + (u_skill('deduction') * 185.42) ) )" + ] + }, + { + "math": [ + "u_spell_high_duration = ( ( 1685.24 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 348.15) + (u_skill('deduction') * 498.51) ) )" + ] + }, + { + "run_eocs": [ + { + "id": "EOC_CHANGELING_SPRING_HEALING_INCREASE_WHILE_OUTSIDE_APPLY_EFFECT", + "effect": [ + { + "u_add_effect": "effect_changeling_spring_healing_increase_while_outside", + "duration": { "math": [ "rng(u_spell_low_duration,u_spell_high_duration)" ] } + }, + { + "if": "u_is_outside", + "then": { "u_message": "You feel a warm sensation spread over your entire body.", "type": "good" } + } + ] + } + ] + } + ], + "false_effect": [ + { "math": [ "u_spring_magic_spell_count = n_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING')" ] }, + { "math": [ "u_spring_magic_deduction_level = n_skill('deduction')" ] }, + { + "math": [ + "u_spell_low_duration = ( ( 846.12 + (n_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 129.52) + (n_skill('deduction') * 185.42) ) )" + ] + }, + { + "math": [ + "u_spell_high_duration = ( ( 1685.24 + (n_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SPRING') * 348.15) + (n_skill('deduction') * 498.51) ) )" + ] + }, + { "run_eocs": "EOC_CHANGELING_SPRING_HEALING_INCREASE_WHILE_OUTSIDE_APPLY_EFFECT" } + ] } ] diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer.json index f2a4a216f3d55..cc377c93343ef 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer.json @@ -41,11 +41,33 @@ }, "base_energy_cost": { "math": [ - "u_effect_intensity('effect_changeling_summer_light_spell') > -1 ? 0 : max( ( 100 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 3) - (u_skill('deduction') * 3)), 25)" + "u_effect_intensity('effect_changeling_summer_light') > -1 ? 0 : max( ( 100 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 3) - (u_skill('deduction') * 3)), 25)" ] }, "base_casting_time": 50 }, + { + "id": "changeling_summer_light_fire_spell", + "type": "SPELL", + "name": "Quick-Kindle", + "description": "With a quick gesture, summon up a burst of heat sufficient to ignite flammable material. The glamour cannot be used in winter.", + "message": "", + "flags": [ "SOMATIC" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 1, + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_SUMMER_LIGHT_FIRE_INITIATE", + "base_energy_cost": { + "math": [ "max( ( 75 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 2) - (u_skill('deduction') * 2)), 25)" ] + }, + "base_casting_time": 50 + }, { "id": "changeling_summer_sun_glasses_spell", "type": "SPELL", @@ -74,6 +96,41 @@ }, "base_casting_time": 100 }, + { + "id": "changeling_summer_jump_distance_spell", + "type": "SPELL", + "name": "Salmon Leap", + "//": "If/when there is a distinction between fast running and jumps, this is a jump.", + "description": "Like a salmon leaping over obstacles in a river, you can make prodigious jumps.", + "message": "", + "flags": [ "SOMATIC" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "ally", "hostile", "ground" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 3, + "effect": "dash", + "min_damage": 0, + "max_damage": 0, + "damage_type": "bash", + "min_range": { + "math": [ + "min( ( ( 2 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 0.25) + (u_skill('deduction') * 0.5) ) ), 12) * (global_what_is_the_season == 2 ? 1.35 : 1)" + ] + }, + "max_range": { + "math": [ + "min( ( ( 2 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 0.25) + (u_skill('deduction') * 0.5) ) ), 12) * (global_what_is_the_season == 2 ? 1.35 : 1)" + ] + }, + "base_energy_cost": { + "math": [ "max( ( 150 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 2) - (u_skill('deduction') * 4)), 50)" ] + }, + "base_casting_time": 50 + }, { "id": "changeling_summer_fire_melee_damage_spell", "type": "SPELL", @@ -90,7 +147,7 @@ "shape": "blast", "difficulty": 4, "effect": "attack", - "effect_str": "effect_changeling_fire_melee_damage_spell", + "effect_str": "effect_changeling_fire_melee_damage", "min_duration": { "math": [ "( ( 2285 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 915) + (u_skill('deduction') * 3045) ) ) * (global_what_is_the_season == 4 ? 0.6 : 1)" @@ -105,5 +162,104 @@ "math": [ "max( ( 300 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 5) - (u_skill('deduction') * 4)), 120)" ] }, "base_casting_time": 150 + }, + { + "id": "changeling_summer_run_for_long_periods_spell", + "type": "SPELL", + "name": "Outracing the Sun", + "description": "After using this glamour, begin running. As long as you continue running, you will not run out of stamina. Weaving another glamour or attacking breaks the effect. In the winter the glamour does not work if you are indoors.", + "message": "", + "flags": [ "SOMATIC", "VERBAL" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 5, + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_SUMMER_RUN_FOR_LONG_PERIODS", + "base_energy_cost": { + "math": [ "max( ( 450 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 5) - (u_skill('deduction') * 4)), 250)" ] + }, + "base_casting_time": 100 + }, + { + "id": "changeling_summer_powerful_sunlight_spell", + "type": "SPELL", + "name": "Helios's Wrath", + "description": "Blaze with the blinding light of the sun, blinding anyone nearby capable of seeing you. This is real sunlight and affects creatures harmed by it accordingly. Reweave the glamour to dispel it.", + "message": "", + "flags": [ "VERBAL", "RANDOM_DURATION" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 10, + "components": "spell_components_dreamdross_4", + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_SUMMER_POWERFUL_SUNLIGHT_INITIATE", + "min_duration": { + "math": [ "( ( 595 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 152) + (u_skill('deduction') * 251) ) )" ] + }, + "max_duration": { + "math": [ "( ( 1520 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 382) + (u_skill('deduction') * 601) ) )" ] + }, + "base_energy_cost": { + "math": [ + "u_effect_intensity('effect_changeling_summer_powerful_sunlight') > -1 ? 0 : max( ( 900 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 5) - (u_skill('deduction') * 10)), 600)" + ] + }, + "base_casting_time": 50 + }, + { + "id": "changeling_summer_powerful_sunlight_spell_aura_effects", + "type": "SPELL", + "name": { "str": "Helios's Wrath Special effects", "//~": "NO_I18N" }, + "description": { + "str": "Used because auras are not currently possible. Blind targets are harms those who die in sunlight.", + "//~": "NO_I18N" + }, + "message": "", + "flags": [ "SILENT", "NO_EXPLOSION_SFX" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "ally", "hostile" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_SUMMER_POWERFUL_SUNLIGHT_AURA_EFFECTS", + "min_aoe": 45, + "max_aoe": 45 + }, + { + "id": "changeling_summer_powerful_sunlight_spell_sundeath_self_damage", + "type": "SPELL", + "name": { "str": "Helios's Wrath Sundeath damage", "//~": "NO_I18N" }, + "description": { + "str": "Used because auras are not currently possible. Causes enemies with the SUNDEATH flag to burn.", + "//~": "NO_I18N" + }, + "message": "", + "flags": [ "SILENT", "NO_EXPLOSION_SFX" ], + "magic_type": "xe_fey_seasonal_magick_summer", + "spell_class": "CHANGELING_SEASONAL_MAGIC_SUMMER", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "effect": "attack", + "damage_type": "pure", + "min_dot": 75, + "max_dot": 75, + "min_duration": 300, + "max_duration": 300 } ] diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer_eocs.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer_eocs.json index 76d9af117f845..83b7805f4807e 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer_eocs.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_summer_eocs.json @@ -15,12 +15,33 @@ ] }, { - "u_add_effect": "effect_changeling_summer_light_spell", + "u_add_effect": "effect_changeling_summer_light", "duration": { "math": [ "rng(u_spell_low_duration, u_spell_high_duration)" ] } }, { "u_message": "A flickering red-orange wisp of light kindles near your shoulder.", "type": "neutral" } ], - "false_effect": [ { "u_lose_effect": "effect_changeling_summer_light_spell" } ] + "false_effect": [ { "u_lose_effect": "effect_changeling_summer_light" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SUMMER_LIGHT_FIRE_INITIATE", + "condition": { "not": { "is_season": "winter" } }, + "effect": [ + { "run_eocs": "EOC_HEDGE_LIGHT_FIRE" }, + { "u_message": "You gesture and summon up a burst of fiery heat.", "type": "neutral" } + ], + "false_effect": [ + { + "if": { + "x_in_y_chance": { "x": { "math": [ "50 + u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER')" ] }, "y": 100 } + }, + "then": [ + { "run_eocs": "EOC_HEDGE_LIGHT_FIRE" }, + { "u_message": "You gesture and summon up a burst of fiery heat.", "type": "neutral" } + ], + "else": { "u_message": "You gesture but nothing happens.", "type": "bad" } + } + ] }, { "type": "effect_on_condition", @@ -37,7 +58,7 @@ ] }, { - "u_add_effect": "effect_changeling_summer_sun_glasses_spell", + "u_add_effect": "effect_changeling_summer_sun_glasses", "duration": { "math": [ "rng(u_spell_low_duration, u_spell_high_duration)" ] } }, { "u_spawn_item": "changeling_summer_sunglasses", "suppress_message": true, "force_equip": true }, @@ -49,7 +70,71 @@ "id": "EOC_CHANGELING_SUMMER_SUN_GLASSES_REMOVER", "eoc_type": "EVENT", "required_event": "character_loses_effect", - "condition": { "compare_string": [ "effect_changeling_summer_sun_glasses_spell", { "context_val": "effect" } ] }, + "condition": { "compare_string": [ "effect_changeling_summer_sun_glasses", { "context_val": "effect" } ] }, "effect": { "u_remove_item_with": "changeling_summer_sunglasses" } + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SUMMER_RUN_FOR_LONG_PERIODS", + "effect": [ + { "u_add_effect": "effect_changeling_summer_run_for_long_periods", "duration": 2 }, + { "run_eocs": "EOC_CHANGELING_NO_CASTING_OTHER_GLAMOURS_CHECKER", "time_in_future": 1 } + ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SUMMER_RUN_FOR_LONG_PERIODS_CONTINUANCE", + "eoc_type": "EVENT", + "required_event": "avatar_moves", + "condition": { + "and": [ + { "u_has_effect": "effect_changeling_summer_run_for_long_periods" }, + { "compare_string": [ "run", { "context_val": "movement_mode" } ] } + ] + }, + "effect": [ + { + "if": { "math": [ "u_effect_duration('effect_changeling_summer_run_for_long_periods') < 2" ] }, + "then": [ { "u_add_effect": "effect_changeling_summer_run_for_long_periods", "duration": 2 } ], + "else": [ { "u_add_effect": "effect_changeling_summer_run_for_long_periods", "duration": 1 } ] + } + ], + "false_effect": [ { "u_lose_effect": "effect_changeling_summer_run_for_long_periods" } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SUMMER_POWERFUL_SUNLIGHT_INITIATE", + "condition": { "not": { "u_has_effect": "effect_changeling_summer_powerful_sunlight" } }, + "effect": [ + { + "math": [ + "u_spell_low_duration = ( 5.95 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 1.52) + (u_skill('deduction') * 2.51) )" + ] + }, + { + "math": [ + "u_spell_high_duration = ( 15.20 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_SUMMER') * 3.82) + (u_skill('deduction') * 6.01) )" + ] + }, + { + "u_add_effect": "effect_changeling_summer_powerful_sunlight", + "duration": { "math": [ "rng(u_spell_low_duration, u_spell_high_duration)" ] } + }, + { "u_message": "You blaze with brilliant light.", "type": "good" } + ], + "false_effect": { "u_lose_effect": "effect_changeling_summer_powerful_sunlight" } + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_SUMMER_POWERFUL_SUNLIGHT_AURA_EFFECTS", + "effect": [ + { "if": { "not": { "u_has_effect": "blind" }, "then": { "u_add_effect": "blind", "duration": "1 minutes" } } }, + { + "if": { + "not": { "u_has_flag": "SUNDEATH" }, + "then": { "u_cast_spell": { "id": "changeling_summer_powerful_sunlight_spell_sundeath_self_damage", "hit_self": false } } + } + } + ] } ] diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter.json index b9856c1a11367..67d61588dc0c2 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter.json @@ -12,6 +12,42 @@ "max_book_level": 0, "failure_chance_formula_id": "xe_fey_seasonal_magick_winter_failure_chance" }, + { + "id": "changeling_winter_walk_in_silence", + "type": "SPELL", + "name": "Footsteps in the Snow", + "description": "You and your nearby allies' footsteps make almost no sound when you move, like the footsteps of an animal traveling across new-fallen snow. If used in winter, your footsteps are totally silent. The glamour is quicker to expire in summer.", + "flags": [ "SOMATIC", "VERBAL", "RANDOM_DURATION", "IGNORE_WALLS", "NO_EXPLOSION_SFX" ], + "magic_type": "xe_fey_seasonal_magick_winter", + "spell_class": "CHANGELING_SEASONAL_MAGIC_WINTER", + "valid_targets": [ "self", "ally" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 1, + "effect": "attack", + "effect_str": "effect_changeling_winter_walk_in_silence", + "min_aoe": { + "math": [ + "min( ( 1 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_WINTER') * 0.1) + (u_skill('deduction') * 0.2) ), 10)" + ] + }, + "min_duration": { + "math": [ + "( ( 5831 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_WINTER') * 2882) + (u_skill('deduction') * 15385) ) ) * (global_what_is_the_season == 2 ? 0.6 : 1)" + ] + }, + "max_duration": { + "math": [ + "( ( 19850 + (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_WINTER') * 9850) + (u_skill('deduction') * 35482) ) ) * (global_what_is_the_season == 2 ? 0.4 : 1)" + ] + }, + "base_energy_cost": { + "math": [ "max( ( 150 - (u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_WINTER') * 4) - (u_skill('deduction') * 6)), 50)" ] + }, + "base_casting_time": 75 + }, { "id": "changeling_winter_freeze_target_in_place_spell", "type": "SPELL", @@ -84,13 +120,35 @@ }, "base_casting_time": 75 }, + { + "id": "changeling_winter_feign_death_spell", + "type": "SPELL", + "name": "Stillness of the Tomb", + "description": "You and your nearby allies' footsteps make almost no sound when you move, like the footsteps of an animal traveling across new-fallen snow. If used in winter, your footsteps are totally silent. The glamour is quicker to expire in summer.", + "message": "You collapse to the ground as your chest ceases its movements.", + "flags": [ "NO_HANDS", "NO_LEGS", "RANDOM_DURATION" ], + "magic_type": "xe_fey_seasonal_magick_winter", + "spell_class": "CHANGELING_SEASONAL_MAGIC_WINTER", + "valid_targets": [ "self" ], + "teachable": false, + "skill": "deduction", + "max_level": 1, + "shape": "blast", + "difficulty": 3, + "effect": "effect_on_condition", + "effect_str": "EOC_CHANGELING_WINTER_FEIGN_DEATH", + "base_energy_cost": { + "math": [ "max( ( 100 - u_spell_count('school': 'CHANGELING_SEASONAL_MAGIC_WINTER') - (u_skill('deduction') * 2)), 40)" ] + }, + "base_casting_time": 25 + }, { "id": "changeling_winter_frozen_breath_spell", "type": "SPELL", "name": "Jack's Breath", "description": "Draw in the chill air of winter and breathe out a cone of freezing air and ice, damaging and slowing your opponents.", "message": "You breathe out a cone of freezing air.", - "flags": [ "SOMATIC", "RANDOM_DAMAGE", "SILENT", "RANDOM_DURATION" ], + "flags": [ "SOMATIC", "RANDOM_DAMAGE", "SILENT", "RANDOM_DURATION", "SPLIT_DAMAGE" ], "magic_type": "xe_fey_seasonal_magick_winter", "spell_class": "CHANGELING_SEASONAL_MAGIC_WINTER", "valid_targets": [ "ally", "hostile", "ground" ], diff --git a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter_eocs.json b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter_eocs.json index 6c98fcc9f7f7c..d535e4624645f 100644 --- a/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter_eocs.json +++ b/data/mods/Xedra_Evolved/spells/changeling_seasonal_magic_winter_eocs.json @@ -76,5 +76,13 @@ "else": [ { "npc_message": "The target easily shatters the ice!", "type": "bad" } ] } ] + }, + { + "type": "effect_on_condition", + "id": "EOC_CHANGELING_WINTER_FEIGN_DEATH", + "effect": [ + { "u_add_effect": "effect_changeling_winter_feign_death", "duration": "PERMANENT" }, + { "run_eocs": "EOC_CHANGELING_NO_CASTING_OTHER_GLAMOURS_CHECKER", "time_in_future": 1 } + ] } ]