diff --git a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt
index 6532620bc8..2bfdac5093 100644
--- a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt
+++ b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt
@@ -799,7 +799,7 @@ FeatGroupCloseQuarters Description='You are experienced with fighting in close q
FeatGroupCreed Description='Creed of Arun, Creed of Einar, Creed of Maraike, Creed of Misaye, Creed of Pakri, Creed of Solasta'.
FeatGroupCrusher Description='Increase your Strength or Constitution by 1, to a maximum of 20.
When you hit a creature with an attack that deals bludgeoning damage, once per turn you push the enemy by 5ft. When you score a critical hit attack rolls against that creature are made with advantage until the start of your next turn.'.
-FeatGroupDefenseCombat Description='Always Ready, Cloak and Dagger, Defensive Duelist, Dual Wielder, Fade Away, Raise Shield, Shield Bash, Shield Master, Twin Blade, Unarmored Expert'.
+FeatGroupDefenseCombat Description='Always Ready, Cloak and Dagger, Defensive Duelist, Dual Wielder, Fade Away, Great Weapon Defense, Raise Shield, Shield Bash, Shield Master, Twin Blade, Unarmored Expert'.
FeatGroupDefenseExpert Description='Increase one of your mental attributes by 1, to a maximum of 20.
While you are not wearing any armor, your armor class is equal to 10 + your Dexterity modifier + the selected mental attribute modifier.'.
FeatGroupDragonFear Description='When angered, you radiate menace. You gain the following benefits:
@@ -832,9 +832,9 @@ FeatGroupGrudgeBearer Description='You have a deep hatred for a particular kind
FeatGroupHalfAttributes Description='Half Charisma, Half Constitution, Half Dexterity, Half Intelligence, Half Strength, Half Wisdom'.
FeatGroupHalfCharisma Description='Aegis Touched [Cha], Apothecary [Cha], Awaken the Beast [Cha], Baleful Scion [Cha], Blessed Soul [Paladin], Celestial Touched [Cha], Charismatic Defense, Charismatic Precision, Creed of Solasta, Dragon Fear [Cha], Dragon Hide [Cha], Elven Accuracy [Cha], Fey Teleportation [Cha], Flame Touched [Cha], Flames of Phlegethos [Cha], Iridescent Touched [Cha], Menacing, Peregrination Touched [Cha], Retinue Touched [Cha], Second Chance [Cha], Shadow Touched [Cha], Telekinetic [Cha], Toxicologist [Cha], Verdant Touched [Cha]'.
FeatGroupHalfConstitution Description='Awaken the Beast [Con], Badlands Marauder, Baleful Scion [Con], Chef [Con], Creed of Arun, Crusher [Con], Dragon Fear [Con], Dragon Hide [Con], Dwarven Fortitude, Enduring Body, Focused Sleeper, Frost Adaptation, Grudge Bearer [Con], Hard to Kill, Hardy [Con], Infernal Constitution, Orcish Aggression [Con], Orcish Fury [Con], Primal Rage [Con], Robust, Second Chance [Con], Sturdiness of the Tundra'.
-FeatGroupHalfDexterity Description='Acrobat, Ambidextrous, Athlete [Dex], Awaken the Beast [Dex], Baleful Scion [Dex], Close Quarters [Dex], Creed of Misaye, Discretion of the Coedymwarth, Eager for Battle, Elven Accuracy [Dex], Fade Away [Dex], Forest Runner, Longsword Finesse, Moderately Armored [Dex], Old Tactics [Dex], Piercer [Dex], Revenant Blade [Dex], Second Chance [Dex], Slasher [Dex], Squat Nimbleness [Dex], Steady Aim, Stealthy, Uncanny Accuracy, Weapon Master [Dex]'.
+FeatGroupHalfDexterity Description='Acrobat, Ambidextrous, Athlete [Dex], Awaken the Beast [Dex], Baleful Scion [Dex], Close Quarters [Dex], Creed of Misaye, Discretion of the Coedymwarth, Eager for Battle, Elven Accuracy [Dex], Fade Away [Dex], Forest Runner, Longsword Finesse, Moderately Armored [Dex], Old Tactics [Dex], Piercer [Dex], Revenant Blade [Dex], Second Chance [Dex], Slasher [Dex], Squat Nimbleness [Dex], Steady Aim, Stealthy, Uncanny Accuracy, Weapon Master [Dex], Whirlwind Attack [Dex]'.
FeatGroupHalfIntelligence Description='Aegis Touched [Int], Apothecary [Int], Arcane Defense, Arcane Precision, Arcanist, Awaken the Beast [Int], Baleful Scion [Int], Celestial Touched [Int], Close Quarters [Int], Creed of Pakri, Elven Accuracy [Int], Fade Away [Int], Fey Teleportation [Int], Flame Touched [Int], Flames of Phlegethos [Int], Iridescent Touched [Int], Peregrination Touched [Int], Retinue Touched [Int], Scriber, Shadow Touched [Int], Telekinetic [Int], Theologian, Toxicologist [Int], Verdant Touched [Int]'.
-FeatGroupHalfStrength Description='Athlete [Str], Awaken the Beast [Str], Baleful Scion [Str], Creed of Einar, Crusher [Str], Dragon Fear [Str], Dragon Hide [Str], Grudge Bearer [Str], Hardy [Str], Hauler, Heavy Armor Master, Might of the Iron Legion, Moderately Armored [Str], Old Tactics [Str], Orcish Aggression [Str], Orcish Fury [Str], Piercer [Str], Primal Rage [Str], Revenant Blade [Str], Slasher [Str], Squat Nimbleness [Str], Weapon Master [Str]'.
+FeatGroupHalfStrength Description='Athlete [Str], Awaken the Beast [Str], Baleful Scion [Str], Creed of Einar, Crusher [Str], Dragon Fear [Str], Dragon Hide [Str], Grudge Bearer [Str], Hardy [Str], Hauler, Heavy Armor Master, Might of the Iron Legion, Moderately Armored [Str], Old Tactics [Str], Orcish Aggression [Str], Orcish Fury [Str], Piercer [Str], Primal Rage [Str], Revenant Blade [Str], Slasher [Str], Squat Nimbleness [Str], Weapon Master [Str], Whirlwind Attack [Str]'.
FeatGroupHalfWisdom Description='Aegis Touched [Wis], Apothecary [Wis], Astral Reach, Awaken the Beast [Wis], Baleful Scion [Wis], Blessed Soul [Cleric], Celestial Touched [Wis], Chef [Wis], Creed of Maraike, Elven Accuracy [Wis], Expand the Hunt, Fey Teleportation [Wis], Flame Touched [Wis], Grudge Bearer [Wis], Iridescent Touched [Wis], Peregrination Touched [Wis], Retinue Touched [Wis], Shadow Touched [Wis], Telekinetic [Wis], Toxicologist [Wis], Verdant Touched [Wis], Wise Archery, Wise Defense, Wise Precision'.
FeatGroupHardy Description='Increase your Strength or Constitution by 1, to a maximum of 20. Whenever you use your second wind feature, you gain 1D10 + your class level temporary hit points.'.
FeatGroupIridescentTouched Description='Increase one of your mental attributes by 1, to a maximum of 20.
@@ -842,7 +842,7 @@ You gain the ability to cast the color spray, faerie fire and color burst spells
FeatGroupMagicInitiate Description='Choose a class: bard, cleric, druid, sorcerer, warlock, or wizard. You learn two cantrips of your choice from that class's spell list. In addition, choose one 1st-level spell to learn from that same list. Using this feat, you can cast the spell once at its lowest level, and you must finish a long rest before you can cast it in this way again.'.
FeatGroupMediumArmor Description='Increase your Strength or Dexterity by 1, to a maximum of 20.
You gain proficiency with medium armor and shields.'.
-FeatGroupMeleeCombat Description='Always Ready, Baleful Scion, Blade Mastery, Charger, Crusher, Daunting Push, Defensive Duelist, Devastating Strikes, Distracting Gambit, Elemental Touch, Fell Handed, Fencer, Great Weapon Master, Longsword Finesse, Old Tactics, Piercer, Polearm Master, Power Attack, Reckless Attack, Savage Attack, Shield Bash, Slasher, Spear Mastery, Trip Attack'.
+FeatGroupMeleeCombat Description='Always Ready, Baleful Scion, Blade Mastery, Charger, Crusher, Daunting Push, Defensive Duelist, Devastating Strikes, Distracting Gambit, Elemental Touch, Fell Handed, Fencer, Great Weapon Master, Longsword Finesse, Old Tactics, Piercer, Polearm Master, Power Attack, Reckless Attack, Savage Attack, Shield Bash, Slasher, Spear Mastery, Trip Attack, Whirlwind Attack'.
FeatGroupOldTactics Description='Increase your Strength or Dexterity by 1. Once per round, when a prone enemy within range of your melee weapon stands up you may make an attack of opportunity against the target.'.
FeatGroupOrcishAggression Description='Your aggression burns tirelessly. You gain the following benefits:
• Increase your Strength or Constitution by 1, up to a maximum of 20.
@@ -877,7 +877,7 @@ When you hit a creature with an attack that deals slashing damage, you can reduc
FeatGroupSpellCombat Description='Baleful Scion, Elemental Adept, Elemental Master, Flawless Concentration, Potent Spellcaster, Powerful Cantrip, Spell Sniper, War Caster'.
FeatGroupSpellSniper Description='You learn one cantrip that requires an attack roll. Choose the cantrip from the bard, cleric, druid, sorcerer, warlock, or wizard spell list. When you cast a spell that requires you to make an attack roll, the spell's range is doubled. Your ranged spell attacks ignore half cover and three-quarters cover.'.
FeatGroupSquatNimbleness Description='You are uncommonly nimble for your race. Increase your Strength or Dexterity by 1, to a maximum of 20. Increase your walking speed by 5 ft. You gain proficiency or expertise in the Athletics skill if Strength is increased or Acrobatics skill if Dexterity is increased.'.
-FeatGroupSupportCombat Description='Call for Charge, Chef, Gift of the Chromatic Dragon, Hardy, Healer, Improved Critical, Inspiring Leader, Lucky, Mage Slayer, Menacing, Mender, Merciless, Poisoner, Precision Focused, Sentinel, Superior Critical, Thrown Weapons Master, Weapon Master'.
+FeatGroupSupportCombat Description='Call for Charge, Chef, Gift of the Chromatic Dragon, Great Weapon Defense, Hardy, Healer, Improved Critical, Inspiring Leader, Lucky, Mage Slayer, Menacing, Mender, Merciless, Poisoner, Precision Focused, Sentinel, Superior Critical, Thrown Weapons Master, Weapon Master'.
FeatGroupTelekinetic Description='Increase one of your mental attributes by 1, to a maximum of 20.
As a bonus action during combat, you can telekinetically move one creature you can see within 30 ft of you. The target must succeed on a Strength saving throw (DC 8 + your proficiency bonus + your chosen attributes modifier) or be moved 5 ft in a direction of your choosing.'.
FeatGroupTools Description='Initiate Alchemist, Initiate Enchanter, Lock Breaker, Master Alchemist, Master Enchanter, Poisoner, Scriber, Toxicologist'.
@@ -893,6 +893,9 @@ You gain the ability to cast the barkskin, entangle, and goodberry spells once p
FeatGroupWeaponMaster Description='You have practiced extensively with a variety of weapons, gaining the following benefits:
• Increase your Strength or Dexterity score by 1, to a maximum of 20.
• You gain proficiency with four weapons of your choice. Each one must be a simple or a martial weapon.'.
+FeatGroupWhirlWindAttack Description='You become a master of whirling death, gaining the following benefits:
+• Increase your Strength or Dexterity by 1, to a maximum of 20.
+• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative). '.
FeatMagicInitiateBard Title='Magic Initiate [Bard]'.
FeatMagicInitiateBard Description='You learn two cantrips of your choice from the Bard spell list. In addition, choose one 1st-level spell to learn from that same list. Using this feat, you can cast the spell once at its lowest level, and you must finish a long rest before you can cast it in this way again.'.
FeatMagicInitiateCleric Title='Magic Initiate [Cleric]'.
@@ -1091,6 +1094,8 @@ PowerCreateSpellStoringWandOfBlindness Title='Blindness'.
PowerCreateSpellStoringWandOfBlindness Description='Create a wand that can cast Blindness (II) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfBlur Title='Blur'.
PowerCreateSpellStoringWandOfBlur Description='Create a wand that can cast Blur (II) spell using your Artificer spell attack modifier and save DC.'.
+PowerCreateSpellStoringWandOfBorrowedKnowledge Title='Borrowed Knowledge'.
+PowerCreateSpellStoringWandOfBorrowedKnowledge Description='Create a wand that can cast Borrowed Knowledge (II) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfBurningHands Title='Burning Hands'.
PowerCreateSpellStoringWandOfBurningHands Description='Create a wand that can cast Burning Hands (I) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfBurningHands_B Title='Burning Hands'.
@@ -1165,6 +1170,8 @@ PowerCreateSpellStoringWandOfInvisibility Title='Invisibility'.
PowerCreateSpellStoringWandOfInvisibility Description='Create a wand that can cast Invisibility (II) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfJump Title='Jump'.
PowerCreateSpellStoringWandOfJump Description='Create a wand that can cast Jump (I) spell using your Artificer spell attack modifier and save DC.'.
+PowerCreateSpellStoringWandOfKineticJaunt Title='Kinetic Jaunt'.
+PowerCreateSpellStoringWandOfKineticJaunt Description='Create a wand that can cast Kinetic Jaunt (II) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfKnock Title='Knock'.
PowerCreateSpellStoringWandOfKnock Description='Create a wand that can cast Knock (II) spell using your Artificer spell attack modifier and save DC.'.
PowerCreateSpellStoringWandOfLesserRestoration Title='Lesser Restoration'.
@@ -1562,6 +1569,8 @@ SpellStoringWandOfBlindness Title='Wand of Blindness'.
SpellStoringWandOfBlindness Description='This wand allows casting the Blindness spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfBlur Title='Wand of Blur'.
SpellStoringWandOfBlur Description='This wand allows casting the Blur spell using spell casting stats of the Artificer who created it.'.
+SpellStoringWandOfBorrowedKnowledge Title='Wand of Borrowed Knowledge'.
+SpellStoringWandOfBorrowedKnowledge Description='This wand allows casting the Borrowed Knowledge spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfBurningHands Title='Wand of Burning Hands'.
SpellStoringWandOfBurningHands Description='This wand allows casting the Burning Hands spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfBurningHands_B Title='Wand of Burning Hands'.
@@ -1636,6 +1645,8 @@ SpellStoringWandOfInvisibility Title='Wand of Invisibility'.
SpellStoringWandOfInvisibility Description='This wand allows casting the Invisibility spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfJump Title='Wand of Jump'.
SpellStoringWandOfJump Description='This wand allows casting the Jump spell using spell casting stats of the Artificer who created it.'.
+SpellStoringWandOfKineticJaunt Title='Wand of Kinetic Jaunt'.
+SpellStoringWandOfKineticJaunt Description='This wand allows casting the Kinetic Jaunt spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfKnock Title='Wand of Knock'.
SpellStoringWandOfKnock Description='This wand allows casting the Knock spell using spell casting stats of the Artificer who created it.'.
SpellStoringWandOfLesserRestoration Title='Wand of Lesser Restoration'.
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt
index c598bfffca..7902d253ce 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt
+++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt
@@ -521,6 +521,7 @@ PathOfTheReaver CharacterSubclassDefinition CharacterSubclassDefinition c6111c11
PathOfTheSavagery CharacterSubclassDefinition CharacterSubclassDefinition ac26ed18-0476-5619-baf1-d2026c0877a7
PathOfTheSpirits CharacterSubclassDefinition CharacterSubclassDefinition cb273c14-3799-5538-86e2-1b794923f618
PathOfTheYeoman CharacterSubclassDefinition CharacterSubclassDefinition 7040aa67-bbda-5eb6-87ce-08307c1c7708
+PatronArchfey CharacterSubclassDefinition CharacterSubclassDefinition 1e1b6d60-7803-576c-ae5b-a46be31a6107
PatronCelestial CharacterSubclassDefinition CharacterSubclassDefinition 79d24ec0-443d-5d7b-88e3-99fa80e70363
PatronEldritchSurge CharacterSubclassDefinition CharacterSubclassDefinition 44b58949-e390-5943-9e06-9a3ae4c97062
PatronElementalist CharacterSubclassDefinition CharacterSubclassDefinition 7c3276a4-64bf-50cb-a0e0-3d7d3465c64f
@@ -552,6 +553,7 @@ SorcerousSpellBlade CharacterSubclassDefinition CharacterSubclassDefinition b8bf
WayOfSilhouette CharacterSubclassDefinition CharacterSubclassDefinition e618659c-bd19-52a4-a19a-2128445a4776
WayOfTheDiscordance CharacterSubclassDefinition CharacterSubclassDefinition 59bf0024-2611-5509-a422-6729d472a708
WayOfTheDragon CharacterSubclassDefinition CharacterSubclassDefinition 6ba73b82-656b-5753-aab4-fa2eba8733ba
+WayOfTheStormSoul CharacterSubclassDefinition CharacterSubclassDefinition 0cb93a28-07eb-5c38-9412-310f09042dae
WayOfTheTempest CharacterSubclassDefinition CharacterSubclassDefinition 24bd4d8a-44a8-57e9-9cbe-ffb2a6b376ce
WayOfWealAndWoe CharacterSubclassDefinition CharacterSubclassDefinition 6255f54a-598c-5324-a651-29f4f63966ea
WayOfZenArchery CharacterSubclassDefinition CharacterSubclassDefinition 7de09d9e-4c86-5c18-a319-a2483a7b3ec4
@@ -578,6 +580,10 @@ ConditionAncientForestHerbalBrewDamageAffinityRadiantResistance ConditionDefinit
ConditionAncientForestPhotosynthesis ConditionDefinition ConditionDefinition 59085781-bfce-536c-b8b2-69fc17753cba
ConditionAncientForestRooted ConditionDefinition ConditionDefinition bceeaabc-7634-5bb7-aea1-abfe2fe86f9a
ConditionArcaneFighterSpellFighting ConditionDefinition ConditionDefinition 5b2e1f19-2fdb-57c9-997b-0e93d947d393
+ConditionArchfeyBeguilingDefenses ConditionDefinition ConditionDefinition e078b30d-df8e-52ea-aa2e-8ab260e23d75
+ConditionArchfeyDarkDeliriumCharmed ConditionDefinition ConditionDefinition 6ee74407-fd8a-5570-8e37-669e09c710e5
+ConditionArchfeyDarkDeliriumFrightened ConditionDefinition ConditionDefinition c2dca090-94d5-5746-9e68-f0e214015078
+ConditionArchfeyMistyEscape ConditionDefinition ConditionDefinition 84e8d733-2617-5b85-9336-c23b138f144c
ConditionAuraOfLife ConditionDefinition ConditionDefinition 0911cf46-f400-52a5-a088-e7cc00e68fa8
ConditionAuraOfLifeSelf ConditionDefinition ConditionDefinition f186bbd3-1e70-594b-a8a8-30c466755d5a
ConditionAuraOfPerseverance ConditionDefinition ConditionDefinition dd0b48b9-9a45-50bc-921f-c73d5ef82537
@@ -609,6 +615,24 @@ ConditionBoomingBlade ConditionDefinition ConditionDefinition b28052a9-3d74-50f4
ConditionBoomingBladeMarked ConditionDefinition ConditionDefinition 69813f6c-ceca-5c5a-a7ef-7975ff227b50
ConditionBoomingBladeSheathed ConditionDefinition ConditionDefinition faf795f2-d67c-5e4d-a072-bfd6cc4be447
ConditionBoomingStepExplode ConditionDefinition ConditionDefinition 7ca1af35-0aa4-50e1-b647-7404766a5439
+ConditionBorrowedKnowledgeAcrobatics ConditionDefinition ConditionDefinition 40404fe3-7281-5b1a-b308-5a5a5b7ad56b
+ConditionBorrowedKnowledgeAnimalHandling ConditionDefinition ConditionDefinition 4e5c44fb-5c87-51b7-a1c1-c3c6d3132c35
+ConditionBorrowedKnowledgeArcana ConditionDefinition ConditionDefinition f18b46c7-d41c-5549-9eb1-6837a402b92b
+ConditionBorrowedKnowledgeAthletics ConditionDefinition ConditionDefinition 49b83c67-fb00-5bf9-beff-f93adba637d2
+ConditionBorrowedKnowledgeDeception ConditionDefinition ConditionDefinition 563f0341-6492-577e-8578-bb3c58b6ef52
+ConditionBorrowedKnowledgeHistory ConditionDefinition ConditionDefinition f3c1e6fc-923d-59ae-a380-dd5219eb895e
+ConditionBorrowedKnowledgeInsight ConditionDefinition ConditionDefinition 79f2e2bb-85e3-5e09-af17-6e567e05c16d
+ConditionBorrowedKnowledgeIntimidation ConditionDefinition ConditionDefinition 997783d6-3853-57a4-b901-684239eb4db6
+ConditionBorrowedKnowledgeInvestigation ConditionDefinition ConditionDefinition 8e0bc4a5-0508-5064-a692-9b9395982712
+ConditionBorrowedKnowledgeMedecine ConditionDefinition ConditionDefinition 9fb5554e-639f-50f0-a829-44e008331669
+ConditionBorrowedKnowledgeNature ConditionDefinition ConditionDefinition 556c235b-1228-5806-9c30-c2f1005ed772
+ConditionBorrowedKnowledgePerception ConditionDefinition ConditionDefinition 0f77147e-c200-52ec-a788-12ec7b86772d
+ConditionBorrowedKnowledgePerformance ConditionDefinition ConditionDefinition 28d4af7f-5004-5b38-8862-03c2c66ce937
+ConditionBorrowedKnowledgePersuasion ConditionDefinition ConditionDefinition b63ca5da-1a7c-5eeb-a5c1-6a309ea19f8d
+ConditionBorrowedKnowledgeReligion ConditionDefinition ConditionDefinition e3ef0505-e650-5dea-8f16-f94e634941a2
+ConditionBorrowedKnowledgeSleightOfHand ConditionDefinition ConditionDefinition 81fd2d1e-31a6-56d4-b6c1-047e7baefb22
+ConditionBorrowedKnowledgeStealth ConditionDefinition ConditionDefinition dd1aad9f-d855-5d47-9c03-2292aa9d03d7
+ConditionBorrowedKnowledgeSurvival ConditionDefinition ConditionDefinition 5c9c472d-465b-5040-8155-fa8a96fbe1f0
ConditionBrainBulwark ConditionDefinition ConditionDefinition 99bec5f8-34c8-5de6-b05b-d9892740e21e
ConditionCasterFightingWarMagic ConditionDefinition ConditionDefinition 7673ca94-a0c8-5086-9d9e-cf632937cff6
ConditionCaveWyrmkinChargingStrike ConditionDefinition ConditionDefinition 7ef1eef7-7292-539f-8150-ad0dc1bb2e86
@@ -701,6 +725,8 @@ ConditionFeatDeadeye ConditionDefinition ConditionDefinition e52567dc-e3ed-5410-
ConditionFeatDefensiveDuelist ConditionDefinition ConditionDefinition 0a5d4009-672d-5bfb-91d3-33c422e06533
ConditionFeatDungeonDelver ConditionDefinition ConditionDefinition a2a29893-ca95-528a-8b3b-71e2e442cf65
ConditionFeatFlamesOfPhlegethos ConditionDefinition ConditionDefinition 0f2d858f-1d3a-5c61-9cfd-151814083b41
+ConditionFeatGreatWeaponDefense ConditionDefinition ConditionDefinition 58e6a0c3-8bc0-51bc-acd1-9c46bf83276c
+ConditionFeatGreatWeaponDefenseSelf ConditionDefinition ConditionDefinition f0df557b-d844-5ad1-afa9-16ef0a2c21ec
ConditionFeatHammerThePointHammerThePoint ConditionDefinition ConditionDefinition 93cd67e0-8f5f-5c97-9116-54f81a11f0ea
ConditionFeatMageSlayer ConditionDefinition ConditionDefinition 0eaa80b5-066e-58e5-a99a-c24a408ac20d
ConditionFeatMenacingMark ConditionDefinition ConditionDefinition e954a5df-8fde-5da8-9aaf-4fa1181c9ba6
@@ -828,6 +854,7 @@ ConditionInnovationWeaponSummonSteelDefenderIntelligence ConditionDefinition Con
ConditionInnovationWeaponSummonSteelDefenderLevel ConditionDefinition ConditionDefinition fbf130f7-4b64-54d1-a7b0-20ca00732915
ConditionInnovationWeaponSummonSteelDefenderProficiencyBonus ConditionDefinition ConditionDefinition 4461aa13-cde0-5bd4-a8d0-3a51d7b35bf4
ConditionInnovationWeaponSummonSteelDefenderSpellAttack ConditionDefinition ConditionDefinition f4897b53-d5dd-57b4-bcef-ee0ed0bea433
+ConditionIntellectFortress ConditionDefinition ConditionDefinition 7a900104-7b6b-5afb-80cc-defc922d98c7
ConditionInterception ConditionDefinition ConditionDefinition 38d678cf-7c1f-58ef-a4cf-8d50298c5656
ConditionInventorArmorerInfiltratorDamage ConditionDefinition ConditionDefinition 512a908e-0f20-5338-947e-b3b4e21435f5
ConditionInventorArmorerInfiltratorGlimmer ConditionDefinition ConditionDefinition 2096dda0-868d-5004-b14c-73132f331ff7
@@ -839,6 +866,7 @@ ConditionInvocationTombOfFrost ConditionDefinition ConditionDefinition b433cd22-
ConditionInvocationTombOfFrostLazy ConditionDefinition ConditionDefinition 0724bbfd-311d-55bb-9ba4-181f96517a3d
ConditionIrresistiblePerformance ConditionDefinition ConditionDefinition 58ffaf64-330c-5c23-b958-b89aa803f74c
ConditionIrresistiblePerformanceForceFailOnCharmed ConditionDefinition ConditionDefinition d4dcc8bf-8a7c-538c-b033-cf485b6bdeaa
+ConditionKineticJaunt ConditionDefinition ConditionDefinition b82b1e95-5d01-582f-aad0-33c9c29f1f22
ConditionLauncherAttackMarker ConditionDefinition ConditionDefinition 775d0214-8c91-57fc-b816-5946397e5dae
ConditionLightlyObscured ConditionDefinition ConditionDefinition b4f6a93a-e532-5b1e-9482-4fc19a163c4a
ConditionLightningArrow ConditionDefinition ConditionDefinition a07682ec-5181-5d93-94a2-0bcdfde53042
@@ -886,6 +914,9 @@ ConditionMindSpike ConditionDefinition ConditionDefinition 13d9079f-dec3-5edb-bc
ConditionMirrorImage ConditionDefinition ConditionDefinition 603a3dca-096c-5339-8d48-a8ee9f8132af
ConditionMirrorImageMark ConditionDefinition ConditionDefinition bed55697-eb96-5c23-a01f-2a225137324d
ConditionMonkEmptyBody ConditionDefinition ConditionDefinition e63f7a84-446c-5053-91f6-9ba2c2b2ef74
+ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism ConditionDefinition ConditionDefinition 5c6595a0-25fa-52e5-b6d7-20b3d92baf2e
+ConditionMonkFlurryOfBlowsHeightenedMetabolism ConditionDefinition ConditionDefinition 43f8b6b1-1364-5b45-863c-7a57f063434d
+ConditionMonkSuperiorDefense ConditionDefinition ConditionDefinition 7bfd8efa-e1d4-5a65-af38-da7cd44d8da9
ConditionMoonlitScionFullMoon ConditionDefinition ConditionDefinition 7b7ade74-06c9-5289-89e8-71be143473dc
ConditionMoonlitScionFullMoonLunarEmbrace ConditionDefinition ConditionDefinition 435022b0-5c6e-5176-81c7-4fb13ec0f8ae
ConditionMoonlitScionFullMoonMidnightBlessing ConditionDefinition ConditionDefinition 9d2b7318-fba2-52ff-a21f-29249c75f46d
@@ -1029,6 +1060,7 @@ ConditionStaggeringBlow ConditionDefinition ConditionDefinition 8272c5d9-1026-51
ConditionStaggeringBlowAoO ConditionDefinition ConditionDefinition 08a31aff-dcb1-5a19-9ea7-656dc511cd63
ConditionStaggeringSmite ConditionDefinition ConditionDefinition f3db8774-2ada-595b-8e67-cbc987efbb81
ConditionStaggeringSmiteEnemy ConditionDefinition ConditionDefinition e1d48854-ca82-5bb9-b315-e97cc06721a4
+ConditionStarryWisp ConditionDefinition ConditionDefinition 04d027d6-5059-5ab9-9a75-c6566a19d3e6
ConditionSteelWhirlwindTeleport ConditionDefinition ConditionDefinition e5a82bcc-6778-5db6-b939-c4f6200c5ca1
ConditionStopMovement ConditionDefinition ConditionDefinition fc5e117a-fd71-5022-b457-042edb57b0e8
ConditionStopMovementSentinel ConditionDefinition ConditionDefinition 5b0a8f7d-5c20-5161-a345-be9f73e176a2
@@ -1073,6 +1105,7 @@ ConditionWayOfTheDragonDragonFuryFire ConditionDefinition ConditionDefinition a6
ConditionWayOfTheDragonDragonFuryLightning ConditionDefinition ConditionDefinition 38948f18-d5aa-5050-abf5-a11585ce6bef
ConditionWayOfTheDragonDragonFuryPoison ConditionDefinition ConditionDefinition d7d786fd-a7fe-54da-8891-c5a3d66fc02a
ConditionWayOfTheDragonReactiveHide ConditionDefinition ConditionDefinition 136e2214-b261-52cc-8792-451d1b3de94d
+ConditionWayOfTheStormSoulEyeOfTheStorm ConditionDefinition ConditionDefinition 7e2ca690-10e0-5456-b13d-23da4d35ca65
ConditionWayOfTheTempestAppliedEyeOfTheStorm ConditionDefinition ConditionDefinition e53aeefd-dbe1-535b-a4ea-084f1fca66b0
ConditionWayOfTheTempestEyeOfTheStorm ConditionDefinition ConditionDefinition 32a4adb6-25ee-5ec4-b5ea-d30eedff5ebe
ConditionWayOfWealAndWoeWeal ConditionDefinition ConditionDefinition 7c2a2b1b-3ee5-5219-bffe-2cae1aa71068
@@ -1218,6 +1251,7 @@ FeatFlameTouchedWis FeatDefinition FeatDefinition 7c1afda8-9afa-5237-a0e0-b1b0dc
FeatFrostAdaptation FeatDefinition FeatDefinition d2739d75-961f-597c-a279-7f5e672e50e7
FeatGiftOfTheChromaticDragon FeatDefinition FeatDefinition 18cae195-bdf3-5d8c-bb90-f85cbf91415c
FeatGreatWeapon FeatDefinitionWithPrerequisites FeatDefinition 96cb0fa7-ea6c-51a7-9eb6-84fc602d9501
+FeatGreatWeaponDefense FeatDefinitionWithPrerequisites FeatDefinition 79d82161-1f6e-5796-be34-1dda9e6498e8
FeatGroupAegisTouched FeatDefinition FeatDefinition d44096ee-4801-5161-9b3c-e5916304bbda
FeatGroupAgilityCombat FeatDefinition FeatDefinition 3d77dbe9-b434-55b4-af78-5cd2d190d494
FeatGroupApothecary FeatDefinition FeatDefinition 9b53f105-90af-5055-a801-00415348a616
@@ -1290,6 +1324,7 @@ FeatGroupTwoWeaponCombat FeatDefinition FeatDefinition 62597d02-7727-525e-ac88-4
FeatGroupUnarmoredCombat FeatDefinition FeatDefinition af80122b-d06d-5b88-99db-09e33e54fe63
FeatGroupVerdantTouched FeatDefinition FeatDefinition 38d2b36a-fe3e-5d3e-92cf-464b98133432
FeatGroupWeaponMaster FeatDefinition FeatDefinition b5135d1b-4309-5d0e-a75e-36b5924a8f82
+FeatGroupWhirlWindAttack FeatDefinitionWithPrerequisites FeatDefinition af0f2825-c6f1-5b79-9fe6-54bcdce40bf0
FeatGrudgeBearerCon FeatDefinitionWithPrerequisites FeatDefinition ad80b302-064a-5dad-b483-4fba286a8245
FeatGrudgeBearerStr FeatDefinitionWithPrerequisites FeatDefinition c53d92d3-66e8-5c23-8249-576157d393df
FeatGrudgeBearerWis FeatDefinitionWithPrerequisites FeatDefinition edd3a449-64a9-5f81-9899-0dd7de0f146f
@@ -1404,6 +1439,8 @@ FeatVerdantTouchedWis FeatDefinition FeatDefinition ccd5633f-c3a9-516d-a6dc-cacc
FeatWarCaster FeatDefinition FeatDefinition 3e4e09ed-d5a3-5ce0-b82b-55d20e2f4c09
FeatWeaponMasterDex FeatDefinition FeatDefinition 6d530af3-df84-5683-bf1f-5722fb7a2bd0
FeatWeaponMasterStr FeatDefinition FeatDefinition 772a3cc0-2d05-569c-8bf1-b1520ebd39b6
+FeatWhirlWindAttackDex FeatDefinitionWithPrerequisites FeatDefinition 23b7b942-a633-5d0f-8905-d930eb352715
+FeatWhirlWindAttackStr FeatDefinitionWithPrerequisites FeatDefinition afb13a4c-6d0b-58a6-9ed9-cfaa2e9e699f
FeatWiseDefense FeatDefinition FeatDefinition e462dc4b-d1fb-5fbd-80a9-1ae6b4ef3398
FeatWisePrecision FeatDefinition FeatDefinition 7a506dcf-6c03-5b2a-8ad1-ed9eae430df8
FeatWoodElfMagic FeatDefinitionWithPrerequisites FeatDefinition d945cb80-7efa-56a2-8365-01e0b0f5738a
@@ -1437,6 +1474,7 @@ AbilityCheckAffinityWizardGraviturgistDensityIncrease FeatureDefinitionAbilityCh
AbilityCheckRangerSurvivalistAnalyticalMind FeatureDefinitionAbilityCheckAffinity FeatureDefinition bb200e27-5cfe-5e79-a96e-7187cbb59644
ActionAffinityAmazingDisplayToggle FeatureDefinitionActionAffinity FeatureDefinition 783907ba-e039-59be-a628-8c934d32ac60
ActionAffinityArcaneArcherToggle FeatureDefinitionActionAffinity FeatureDefinition be08f921-ba8c-5368-948c-f9a7ae0eef85
+ActionAffinityArchfeyMistyEscape FeatureDefinitionActionAffinity FeatureDefinition 7400ca46-da8c-5963-b753-c446231521ad
ActionAffinityAudaciousWhirlToggle FeatureDefinitionActionAffinity FeatureDefinition 528ee0ec-2516-56eb-a1d8-addfd46d54ee
ActionAffinityBalefulScionToggle FeatureDefinitionActionAffinity FeatureDefinition 4ce964a3-ea9f-5085-a741-efd362098a5d
ActionAffinityBrutalStrikeToggle FeatureDefinitionActionAffinity FeatureDefinition aafa871d-c44d-5fc7-b7a2-567516a9c10c
@@ -1648,6 +1686,8 @@ AdditionalDamageWayOfTheDragonDragonFuryCold FeatureDefinitionAdditionalDamage F
AdditionalDamageWayOfTheDragonDragonFuryFire FeatureDefinitionAdditionalDamage FeatureDefinition 9b1fc016-fab1-58fe-b951-4b839925610f
AdditionalDamageWayOfTheDragonDragonFuryLightning FeatureDefinitionAdditionalDamage FeatureDefinition 19efddd2-69d4-5dff-ba20-6f16adba9924
AdditionalDamageWayOfTheDragonDragonFuryPoison FeatureDefinitionAdditionalDamage FeatureDefinition 0542db72-6648-5061-858b-d7098fd7d0ae
+AdditionalDamageWayOfTheStormSoulDiscipleOfStorms FeatureDefinitionAdditionalDamage FeatureDefinition cf11762c-529f-5849-809e-f5265af350f5
+AdditionalDamageWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionAdditionalDamage FeatureDefinition 6adabe7e-e7b2-5684-8c72-9f64ba6647d3
AdditionalDamageWayOfTheTempestEyeOfTheStorm FeatureDefinitionAdditionalDamage FeatureDefinition 46380848-893d-599a-8219-8500dd16bc92
AdditionalDamageWayOfTheTempestGatheringStorm FeatureDefinitionAdditionalDamage FeatureDefinition 7925249d-a7b3-5f40-b8d7-80ff07fe330e
AdditionalDamageWendigoSuckerPunch FeatureDefinition FeatureDefinition 2e70c6a1-2da5-5d56-b00c-774c481c1a65
@@ -1707,6 +1747,8 @@ AttackModifierInnovationWeaponSummonSteelDefenderToHit FeatureDefinitionAttackMo
AttackModifierInvocationImprovedPactWeapon FeatureDefinitionAttackModifier FeatureDefinition 80912c1a-c7d9-5e08-aaad-66f8538e1ef7
AttackModifierInvocationSuperiorPactWeapon FeatureDefinitionAttackModifier FeatureDefinition c97fd2e1-90a8-5565-be3d-5ba4022792e3
AttackModifierInvocationUltimatePactWeapon FeatureDefinitionAttackModifier FeatureDefinition fdf0f4bd-e176-5b5f-a268-1443e60e46a8
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinition 8d954034-4de8-58ba-8063-4b642b27b5bd
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinition 743a6180-a14a-51c5-b9ae-d71182c72991
AttackModifierPathOfTheSavagerySavageStrength FeatureDefinitionAttackModifier FeatureDefinition b7d1af0a-a91a-5af8-98fc-b2d589198ed5
AttackModifierRangerLightBearerAngelicForm FeatureDefinitionAttackModifier FeatureDefinition d78a9a92-1f85-58cd-89f5-5ec732b2461f
AttackModifierRangerWildMasterAttackRoll FeatureDefinitionAttackModifier FeatureDefinition 9030676c-2155-5276-95ae-a99891935c09
@@ -1756,6 +1798,7 @@ AttributeModifierFeatDefensiveDuelist FeatureDefinitionAttributeModifier Feature
AttributeModifierFeatDragonHide FeatureDefinitionAttributeModifier FeatureDefinition bce7860d-dfcf-5b30-bf28-1f09f2767d59
AttributeModifierFeatDualWeaponDefense FeatureDefinitionAttributeModifier FeatureDefinition 33b7066e-6c97-5c27-a498-e940d670c891
AttributeModifierFeatFrostAdaptation FeatureDefinitionAttributeModifier FeatureDefinition b499b6ea-17e6-583d-9532-b1bff792c577
+AttributeModifierFeatGreatWeaponDefense FeatureDefinitionAttributeModifier FeatureDefinition a9f334a7-a792-5cc1-a93a-9916396b6bd2
AttributeModifierFeatImprovedCritical FeatureDefinitionAttributeModifier FeatureDefinition 26272f91-3c5e-516d-b5bf-b8cf359eb2e0
AttributeModifierFeatLongswordFinesseArmorClass FeatureDefinitionAttributeModifier FeatureDefinition 0ea3490c-1121-5dc3-beff-a748625f85f9
AttributeModifierFeatRevenantGreatSwordArmorClass FeatureDefinitionAttributeModifier FeatureDefinition 01a02766-f2c4-53a4-a33a-4fc3db3988d3
@@ -1944,6 +1987,7 @@ CombatAffinityDistractedByAlly FeatureDefinitionCombatAffinity FeatureDefinition
CombatAffinityFeatCallForCharge FeatureDefinitionCombatAffinity FeatureDefinition 8809a9a9-349e-54eb-88da-359c0b9118c1
CombatAffinityFeatCrusher FeatureDefinitionCombatAffinity FeatureDefinition 62bd3d77-724a-5c74-b93e-a4d4c538123e
CombatAffinityFeatDeadeye FeatureDefinitionCombatAffinity FeatureDefinition c0a8218e-2e56-5fef-a0ce-c904017593ca
+CombatAffinityFeatGreatWeaponDefense FeatureDefinitionCombatAffinity FeatureDefinition 3f2c5bad-4694-582b-bb14-ee2b33b24bea
CombatAffinityFeatGrudgeBearerAberration FeatureDefinitionCombatAffinity FeatureDefinition b1eb57db-ad94-599f-9364-714d4b302214
CombatAffinityFeatGrudgeBearerBeast FeatureDefinitionCombatAffinity FeatureDefinition f9bf80b7-99fb-520c-aaf1-28bbdc673948
CombatAffinityFeatGrudgeBearerCelestial FeatureDefinitionCombatAffinity FeatureDefinition dc48d7f0-ec3b-5677-9fea-fcee8afd5bbf
@@ -1994,6 +2038,7 @@ CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinition 8a9c32ac
CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinition a926a6b4-aa9f-5279-8aa6-fd357e746f91
CombatAffinityWayOfTheDiscordanceTurmoil FeatureDefinitionCombatAffinity FeatureDefinition 38754e5f-6a63-5bc1-8918-19c944826d34
CombatAffinityWayOfTheTempestAppliedEyeOfTheStorm FeatureDefinitionCombatAffinity FeatureDefinition b0a739e0-ee58-59e1-8de5-748dc4059c1d
+ConditionAffinityArchfeyBeguilingDefenses FeatureDefinitionConditionAffinity FeatureDefinition 7b030b99-ab4b-53ec-8063-6c261c21a222
ConditionAffinityAuraOfPerseveranceDiseased FeatureDefinitionConditionAffinity FeatureDefinition 520f5618-1d7a-51ca-94f2-8037af664aa9
ConditionAffinityAuraOfVitalityLifeDrained FeatureDefinitionConditionAffinity FeatureDefinition 20f17b04-f32b-5e47-add5-acce265a1d09
ConditionAffinityBattlebornPoisonResilience FeatureDefinitionConditionAffinity FeatureDefinition 8020a254-1a2d-5772-833d-d1136733149e
@@ -2063,9 +2108,6 @@ DamageAffinityInfusionResistantArmorDamagePsychic FeatureDefinitionDamageAffinit
DamageAffinityInfusionResistantArmorDamageRadiant FeatureDefinitionDamageAffinity FeatureDefinition a422a74e-89ec-5e06-850f-32adca70b8fe
DamageAffinityInfusionResistantArmorDamageThunder FeatureDefinitionDamageAffinity FeatureDefinition 6d8f7709-7f3b-5f62-8085-4f94a64aeec7
DamageAffinityInvocationGiftOfTheProtectorsRelentlessEndurance FeatureDefinitionDamageAffinity FeatureDefinition 5409fd33-c4c3-5cd1-b75b-0b13945da567
-DamageAffinityMonkEmptyBodyBludgeoningResistance FeatureDefinitionDamageAffinity FeatureDefinition 2d3bc11a-96f8-5c46-9bc2-f4999bd06c3b
-DamageAffinityMonkEmptyBodyPiercingResistance FeatureDefinitionDamageAffinity FeatureDefinition c59b850e-60ee-5652-a8ae-1e1df000b5d0
-DamageAffinityMonkEmptyBodySlashingResistance FeatureDefinitionDamageAffinity FeatureDefinition 8cb3d5fd-9e4f-5793-804e-34cbea23c6ae
DamageAffinityOathOfAncientsUndyingSentinel FeatureDefinitionDamageAffinity FeatureDefinition dae155b3-de0c-588e-9de3-c36d5af6a91f
DamageAffinityOathOfDreadAspectOfDreadDamageAcid FeatureDefinitionDamageAffinity FeatureDefinition f63f36ba-6167-5421-8315-82326bb066a2
DamageAffinityOathOfDreadAspectOfDreadDamageBludgeoning FeatureDefinitionDamageAffinity FeatureDefinition 8a446a38-0106-5c55-8009-5343faba049b
@@ -2237,6 +2279,8 @@ FeatureMartialWeaponMasterSpecializationShortbowType FeatureDefinition FeatureDe
FeatureMartialWeaponMasterSpecializationShortswordType FeatureDefinition FeatureDefinition 1ea84cea-da16-5067-9e9b-b8fb53f13d50
FeatureMartialWeaponMasterSpecializationSpearType FeatureDefinition FeatureDefinition b4c15e8d-94ac-5f1e-9173-af98a4ea63a9
FeatureMartialWeaponMasterSpecializationWarhammerType FeatureDefinition FeatureDefinition ef87bc51-361b-52c7-a2d5-6f97578c7fd0
+FeatureMonkBodyAndMind FeatureDefinition FeatureDefinition 096db43c-c066-5b97-b7ef-bcc56955d3e9
+FeatureMonkHeightenedMetabolism FeatureDefinition FeatureDefinition 4a54e95e-b93a-51d0-afe1-86204357ade5
FeatureMonkWeaponSpecializationBattleaxeType FeatureDefinitionProficiency FeatureDefinition 836d8882-9011-54b9-8804-ae9d4042e5e5
FeatureMonkWeaponSpecializationCEHandXbowType FeatureDefinitionProficiency FeatureDefinition e927fb11-6c4b-5a68-bc0d-1a24052282fd
FeatureMonkWeaponSpecializationLightCrossbowType FeatureDefinitionProficiency FeatureDefinition 746c6f30-53ea-504a-b980-fbe59659b940
@@ -2299,6 +2343,9 @@ FeatureRoguishSlayerElimination FeatureDefinition FeatureDefinition b500c091-69a
FeatureRoguishSlayerFatalStrike FeatureDefinition FeatureDefinition 9c5400eb-53e3-53f5-bb38-0edde8e5d8d6
FeatureRoguishThiefThiefReflexes FeatureDefinition FeatureDefinition 140a41f7-2857-50f5-968d-ff441f3a157f
FeatureSefTacticianStrategicPlan FeatureDefinitionFeatureSet FeatureDefinition adb9d7d1-a30b-5c04-9663-771cc4ac75ea
+FeatureSetArchfeyBeguilingDefenses FeatureDefinitionFeatureSet FeatureDefinition 700ca146-9ab3-575e-b40f-a7f631302e5b
+FeatureSetArchfeyDarkDelirium FeatureDefinitionFeatureSet FeatureDefinition bf7a8867-7e4c-5dec-99d1-81f3fc50ad6c
+FeatureSetArchfeyFeyPresence FeatureDefinitionFeatureSet FeatureDefinition c221e65e-4c8d-5627-9a00-09e4eb98ffd5
FeatureSetBarbarianBrutalStrike FeatureDefinitionFeatureSet FeatureDefinition ccb473c1-f41a-5b83-b3d5-ad855f195e15
FeatureSetBarbarianBrutalStrikeImprovement13 FeatureDefinitionFeatureSet FeatureDefinition cc18a971-fa43-5834-9cb6-2f20208ce6b3
FeatureSetBarbarianBrutalStrikeImprovement17 FeatureDefinitionFeatureSet FeatureDefinition c1867b9f-f709-59b3-9a38-7eaaaa7fe3d7
@@ -2482,6 +2529,8 @@ FeatureSetWayOfTheDragonElementalBreathGold FeatureDefinitionFeatureSet FeatureD
FeatureSetWayOfTheDragonElementalBreathGreen FeatureDefinitionFeatureSet FeatureDefinition d7626787-b495-5794-8145-a334f12525ac
FeatureSetWayOfTheDragonElementalBreathSilver FeatureDefinitionFeatureSet FeatureDefinition ed3ad10a-bbcf-5a1a-9647-98440cc45d2f
FeatureSetWayOfTheDragonFury FeatureDefinitionFeatureSet FeatureDefinition af962ee3-be8a-5109-9c75-8b3e5b32ebac
+FeatureSetWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionFeatureSet FeatureDefinition a5f1e36a-8f82-5e98-99e1-4711b6dd9ce2
+FeatureSetWayOfTheStormSoulLightningWarrior FeatureDefinitionFeatureSet FeatureDefinition 0d28ebfa-b5ac-5055-9749-eb9cd158e724
FeatureSetWayOfTheTempestEyeOfTheStorm FeatureDefinitionFeatureSet FeatureDefinition a99b2d1f-3ccc-5c83-8539-11041623f5af
FeatureSetWayOfTheTempestTempestFury FeatureDefinitionFeatureSet FeatureDefinition ff9ac47e-b2bb-5e23-9e55-b0edb9c5e634
FeatureSetWildlingAbilityScoreIncrease FeatureDefinitionFeatureSet FeatureDefinition c1ca36f2-7125-5509-8e15-38dae4ae403c
@@ -2571,6 +2620,7 @@ LightAffinityGrayDwarfLightSensitivity FeatureDefinitionLightAffinity FeatureDef
MagiAffinityMetamagicFocusedSpell FeatureDefinitionMagicAffinity FeatureDefinition a066006f-fefd-57db-9729-a54e60489be3
MagicAffinityArcaneFighterConcentrationAdvantage FeatureDefinitionMagicAffinity FeatureDefinition ed492724-acf5-5621-899b-03c19dd48ef6
MagicAffinityArchDruid FeatureDefinitionMagicAffinity FeatureDefinition 1280db07-36c2-5d5a-b7a1-9a159a14915b
+MagicAffinityArchfeyExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition d69f5e6c-7ae8-5ba4-a347-e7a8cc180e86
MagicAffinityCasterFightingCombatMagic FeatureDefinitionMagicAffinity FeatureDefinition d97ab358-d6a2-5b95-909f-e18f70293ad3
MagicAffinityCasterFightingCombatMagicImproved FeatureDefinitionMagicAffinity FeatureDefinition 6f9e66ea-9b90-56c3-943c-41ee1409f8cf
MagicAffinityCelestialExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition 80cf32b8-b5b0-52fb-9e29-93e0c3252c6d
@@ -2670,6 +2720,7 @@ MovementAffinityHamstringBlow FeatureDefinitionMovementAffinity FeatureDefinitio
MovementAffinityImpPassage FeatureDefinitionMovementAffinity FeatureDefinition eaf0586d-be17-596d-8164-49974ec75f32
MovementAffinityInnovationArmorArmoredUp FeatureDefinitionMovementAffinity FeatureDefinition 3ba750c1-204e-5f9d-8cde-65e2a6f86e5d
MovementAffinityInnovationArmorInfiltratorMode FeatureDefinitionMovementAffinity FeatureDefinition 1e5e7453-c9fd-5999-914d-9f974adbac98
+MovementAffinityKineticJaunt FeatureDefinitionMovementAffinity FeatureDefinition 85a4ac2e-feaf-5e7f-8115-35bdb0a8a286
MovementAffinityMagnifyGravity FeatureDefinitionMovementAffinity FeatureDefinition b787a5a7-f7ee-5c8a-a4ce-8d730f3a7632
MovementAffinityMartialCommanderPeerlessCommander FeatureDefinitionMovementAffinity FeatureDefinition 6db0d47c-5d4e-5a9c-9bf8-afcf02389d17
MovementAffinityMoonlitScionFullMoonLunarEmbrace FeatureDefinitionMovementAffinity FeatureDefinition 48f1f58f-ce9f-5544-93ea-ee439891ddf4
@@ -2696,6 +2747,7 @@ MoveModeInnovationArtilleristEldritchCannon FeatureDefinitionMoveMode FeatureDef
MoveModeMove14 FeatureDefinitionMoveMode FeatureDefinition 9f0985b9-dcfb-5656-b53e-4c0b7c3e1676
MoveModeMove16 FeatureDefinitionMoveMode FeatureDefinition e8634155-27e4-55ee-b324-b556ffb5fc34
MoveModeMove18 FeatureDefinitionMoveMode FeatureDefinition 911e748e-a21b-552c-b9e8-96652a62cc97
+MoveThroughEnemyModifierKineticJaunt FeatureDefinitionMoveThroughEnemyModifier FeatureDefinition d9780b4f-8fc3-58b5-bb80-d00bb576bfef
OnAfterActionWildShape FeatureDefinitionActionAffinity FeatureDefinition 2bfebc0c-2088-57d0-83f5-c756e102a4c3
OnAttackDamageEffectFeatDualFlurry FeatureDefinition FeatureDefinition 2ba7acb1-0bd0-597d-92f2-6efc06f0478b
OnAttackHitEffectFeatSentinel FeatureDefinition FeatureDefinition 1a2abf93-483e-5e6e-8408-bc553864469f
@@ -2778,6 +2830,14 @@ PowerAncientForestRooted FeatureDefinitionPower FeatureDefinition 276b897b-e7a5-
PowerArcanePrecision FeatureDefinitionPower FeatureDefinition 8e253993-16ba-55de-81a4-f61ad2b09f7f
PowerArcanistArcanePulse FeatureDefinitionPower FeatureDefinition 583aedcb-4613-5108-9c22-afc4ce8ef7ad
PowerArcanistArcanePulseUpgrade FeatureDefinitionPower FeatureDefinition 9c836559-a968-5067-ae37-a0cf680c074f
+PowerArchfeyBeguilingDefenses FeatureDefinitionPower FeatureDefinition bda1c6ae-f640-5f19-b859-0d6bd426933d
+PowerArchfeyDarkDelirium FeatureDefinitionPower FeatureDefinition 6bf32d72-507c-5688-b4ea-04c1295fd001
+PowerArchfeyDarkDeliriumCharmed FeatureDefinitionPowerSharedPool FeatureDefinition 5a372252-07e2-59eb-9772-f284e921ff3c
+PowerArchfeyDarkDeliriumFrightened FeatureDefinitionPowerSharedPool FeatureDefinition 7865300d-13da-53d6-8e29-2ef906b9c855
+PowerArchfeyFeyPresence FeatureDefinitionPower FeatureDefinition 38531441-2f9f-5f25-9fe8-03171423ebdf
+PowerArchfeyFeyPresenceCharmed FeatureDefinitionPowerSharedPool FeatureDefinition a8777b82-3235-5f85-8add-1c5891684459
+PowerArchfeyFeyPresenceFrightened FeatureDefinitionPowerSharedPool FeatureDefinition 4524445b-919b-5629-bdad-d7bc876f89e9
+PowerArchfeyMistyEscape FeatureDefinitionPower FeatureDefinition e5f57148-f825-55e8-88d0-2f18a58108b3
PowerAuraOfLife FeatureDefinitionPower FeatureDefinition 8fca9d36-dd61-5808-b712-649351b10884
PowerBarbarianBrutalStrike FeatureDefinitionPower FeatureDefinition 75c41e41-821f-54d3-a5c2-d088477a7352
PowerBarbarianBrutalStrikeForcefulBlow FeatureDefinitionPowerSharedPool FeatureDefinition a475451b-ff01-5b2a-8303-481e73d594b3
@@ -2789,6 +2849,25 @@ PowerBladeDancerDanceOfDefense FeatureDefinitionPower FeatureDefinition af4722ff
PowerBladeDancerDanceOfVictory FeatureDefinitionPower FeatureDefinition 8f613859-6c67-5813-91cd-d356ebe8a5cc
PowerBolgrifInvisibility FeatureDefinitionPower FeatureDefinition cadfc430-3168-575e-b23c-fb02703cbac3
PowerBoomingStepExplode FeatureDefinitionPower FeatureDefinition 0a0e3296-f897-5418-8c3e-84e3ab59ac98
+PowerBorrowedKnowledge FeatureDefinitionPower FeatureDefinition cd3c6b03-216e-5a1a-ab3a-dc9f302dbb1c
+PowerBorrowedKnowledgeAcrobatics FeatureDefinitionPowerSharedPool FeatureDefinition cb834082-cfe9-5df2-ae7e-9b2940c4e5e7
+PowerBorrowedKnowledgeAnimalHandling FeatureDefinitionPowerSharedPool FeatureDefinition 4a2735e7-7ae8-5998-90a9-431cd8e3db3f
+PowerBorrowedKnowledgeArcana FeatureDefinitionPowerSharedPool FeatureDefinition e9a0d666-9f3f-58fd-bf41-8ef7bc72d128
+PowerBorrowedKnowledgeAthletics FeatureDefinitionPowerSharedPool FeatureDefinition 59937f2a-3b67-54e1-81d3-203ea3c1cca9
+PowerBorrowedKnowledgeDeception FeatureDefinitionPowerSharedPool FeatureDefinition 2b9344d0-840e-5aa9-8b98-e55fd8e83cd4
+PowerBorrowedKnowledgeHistory FeatureDefinitionPowerSharedPool FeatureDefinition 41bad958-4714-5f5a-b4f5-e88fd7569deb
+PowerBorrowedKnowledgeInsight FeatureDefinitionPowerSharedPool FeatureDefinition ef09e4dc-9d9e-5cc4-a2e4-2e63813536ba
+PowerBorrowedKnowledgeIntimidation FeatureDefinitionPowerSharedPool FeatureDefinition fcacbfd0-2b79-5f6b-a9d0-d6c22de2adcf
+PowerBorrowedKnowledgeInvestigation FeatureDefinitionPowerSharedPool FeatureDefinition 5e09b656-1415-5e72-bd60-5d87ae156175
+PowerBorrowedKnowledgeMedecine FeatureDefinitionPowerSharedPool FeatureDefinition 3f8f06e5-2b1d-5b2e-896c-3dfecb74db2e
+PowerBorrowedKnowledgeNature FeatureDefinitionPowerSharedPool FeatureDefinition dc30303a-db20-5016-af08-5c3e97f27567
+PowerBorrowedKnowledgePerception FeatureDefinitionPowerSharedPool FeatureDefinition 530acbe3-e52a-580d-8747-e67f1ce5d27f
+PowerBorrowedKnowledgePerformance FeatureDefinitionPowerSharedPool FeatureDefinition a346e476-d146-5de3-b427-bce1a467deb8
+PowerBorrowedKnowledgePersuasion FeatureDefinitionPowerSharedPool FeatureDefinition 6136cc53-825c-5ce7-a0d0-ecbd5a31b271
+PowerBorrowedKnowledgeReligion FeatureDefinitionPowerSharedPool FeatureDefinition e7d27a5b-924c-59c6-9765-7217900eb8f6
+PowerBorrowedKnowledgeSleightOfHand FeatureDefinitionPowerSharedPool FeatureDefinition 7b2c62f6-8db4-5200-8ca2-a311d306e453
+PowerBorrowedKnowledgeStealth FeatureDefinitionPowerSharedPool FeatureDefinition a2072525-1a9c-5f04-99fc-886e2db23f9a
+PowerBorrowedKnowledgeSurvival FeatureDefinitionPowerSharedPool FeatureDefinition cc50af67-ec5f-59d1-934c-a12b15a1ac77
PowerCasterCommandUndead FeatureDefinitionPower FeatureDefinition b73f8a69-89ca-5b00-b016-582ac4cb73ba
PowerCasterFightingWarMagic FeatureDefinitionPower FeatureDefinition 368681bf-0523-5709-a17a-62416add2f96
PowerCasterFightingWarMagicAttack FeatureDefinitionAttackModifier FeatureDefinition 1a82f058-af32-5204-9dae-6995448e0b07
@@ -2887,6 +2966,7 @@ PowerCreateSpellStoringWandOfBindingIce FeatureDefinitionPowerSharedPool Feature
PowerCreateSpellStoringWandOfBless FeatureDefinitionPowerSharedPool FeatureDefinition 97fee108-4ac3-594b-be0b-3a15fde72094
PowerCreateSpellStoringWandOfBlindness FeatureDefinitionPowerSharedPool FeatureDefinition ff2a15f5-03c1-55e0-8dc9-87c30b7bc4e5
PowerCreateSpellStoringWandOfBlur FeatureDefinitionPowerSharedPool FeatureDefinition c06e30f9-23f5-5a81-8b5f-f03f6ac07853
+PowerCreateSpellStoringWandOfBorrowedKnowledge FeatureDefinitionPowerSharedPool FeatureDefinition 24f5e5a7-243b-5c18-a5f4-ecd24ba25fdd
PowerCreateSpellStoringWandOfBurningHands FeatureDefinitionPowerSharedPool FeatureDefinition 5d2c1980-0019-55b5-bd77-be94512df774
PowerCreateSpellStoringWandOfBurningHands_B FeatureDefinitionPowerSharedPool FeatureDefinition eb0c69a6-124e-5871-b16c-b569a912a0f1
PowerCreateSpellStoringWandOfCalmEmotions FeatureDefinitionPowerSharedPool FeatureDefinition 4aa65055-2fe8-5778-99da-eb1175171558
@@ -2924,6 +3004,7 @@ PowerCreateSpellStoringWandOfIceBlade FeatureDefinitionPowerSharedPool FeatureDe
PowerCreateSpellStoringWandOfInflictWounds FeatureDefinitionPowerSharedPool FeatureDefinition d90aa315-68ba-5591-be23-6c9685e4e087
PowerCreateSpellStoringWandOfInvisibility FeatureDefinitionPowerSharedPool FeatureDefinition 375f392f-c180-565e-890b-c3c5db88346d
PowerCreateSpellStoringWandOfJump FeatureDefinitionPowerSharedPool FeatureDefinition 2d2bcf2b-f519-521a-9a7a-cee97387de01
+PowerCreateSpellStoringWandOfKineticJaunt FeatureDefinitionPowerSharedPool FeatureDefinition 3459df74-c089-5d9b-9ec4-1618bf6d635a
PowerCreateSpellStoringWandOfKnock FeatureDefinitionPowerSharedPool FeatureDefinition 587d8fb3-befd-5878-bea7-55eb1b247ea5
PowerCreateSpellStoringWandOfLesserRestoration FeatureDefinitionPowerSharedPool FeatureDefinition 72634009-0f53-5c41-b95b-e26908526297
PowerCreateSpellStoringWandOfLevitate FeatureDefinitionPowerSharedPool FeatureDefinition 6004e54b-48f5-5715-ab4f-92397fac7297
@@ -3107,6 +3188,7 @@ PowerGiftOfTheChromaticDragonDamagePoison FeatureDefinitionPowerSharedPool Featu
PowerGiftOfTheChromaticDragonReactiveResistance FeatureDefinitionPower FeatureDefinition de9b1627-30f9-5f78-992a-58bbde7cbc90
PowerGrayDwarfInvisibility FeatureDefinitionPower FeatureDefinition c4864fef-ecc0-5cf5-bb63-638addf6e90a
PowerGrayDwarfStoneStrength FeatureDefinitionPower FeatureDefinition a3310dbb-532e-56a8-ba7d-cb855cabe127
+PowerGreatWeaponDefense FeatureDefinitionPower FeatureDefinition 8c999720-7ce8-5e7f-8fc2-c0357738dc81
PowerHandwrapsOfPulling FeatureDefinitionPower FeatureDefinition 81b318cf-8220-5876-bac8-996c44adcdb9
PowerHatredArdentHate FeatureDefinitionPower FeatureDefinition 660de72d-3df9-5b8e-8f7e-fe212911f440
PowerHatredHatefulGaze FeatureDefinitionPower FeatureDefinition 68606640-4da5-5847-ab64-0afd2b487130
@@ -3324,6 +3406,8 @@ PowerMetamagicTransmutedSpellDamageLightning FeatureDefinitionPowerSharedPool Fe
PowerMetamagicTransmutedSpellDamagePoison FeatureDefinitionPowerSharedPool FeatureDefinition 0c0569dc-06d5-5bdd-b350-3ebe1fafde40
PowerMetamagicTransmutedSpellDamageThunder FeatureDefinitionPowerSharedPool FeatureDefinition 615c1d9a-e29f-553c-95e1-784662dc97b7
PowerMonkEmptyBody FeatureDefinitionPower FeatureDefinition 5a150649-a5dc-5381-8846-c3d47841f9bc
+PowerMonkStepOfTheWindHeightenedMetabolism FeatureDefinitionPower FeatureDefinition 6b3d809f-c3f7-585b-a054-709b0dd280e3
+PowerMonkSuperiorDefense FeatureDefinitionPower FeatureDefinition 7fd3d9b6-0263-5d5a-8ce6-305399586133
PowerMoonlitScionFullMoon FeatureDefinitionPowerSharedPool FeatureDefinition 7e3adf79-55ac-52db-b8a4-b9b657246098
PowerMoonlitScionLunarChill FeatureDefinitionPower FeatureDefinition e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2
PowerMoonlitScionLunarChillNoCost FeatureDefinitionPower FeatureDefinition 5a788d03-6c02-5fa5-8fa6-8b5194b96395
@@ -3613,10 +3697,15 @@ PowerWayOfTheDragonElementalBreathGreenPoints FeatureDefinitionPower FeatureDefi
PowerWayOfTheDragonElementalBreathSilver FeatureDefinitionPower FeatureDefinition 80903e66-95c2-501c-95c7-d358218e7aa7
PowerWayOfTheDragonElementalBreathSilverPoints FeatureDefinitionPower FeatureDefinition e62f39f1-c265-568d-bff6-feab221e4985
PowerWayOfTheDragonReactiveHide FeatureDefinitionPower FeatureDefinition 11b6a890-5119-5799-8e5e-72f6eb7a24b3
+PowerWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionPower FeatureDefinition 6ff6d87a-53e8-5158-a7ac-b92b1f72029b
+PowerWayOfTheStormSoulEyeOfTheStormLeap FeatureDefinitionPower FeatureDefinition 3f31323c-49d2-5687-b8ab-5bfd27c365fe
+PowerWayOfTheStormSoulLightningLure FeatureDefinitionPower FeatureDefinition 1af26a2a-2143-59e1-b19c-4426ab0f7adf
+PowerWayOfTheStormSoulTempestFury FeatureDefinitionPower FeatureDefinition d5c258ee-00be-573a-a2d0-462d4eb8dbc6
PowerWayOfTheTempestEyeOfTheStorm FeatureDefinitionPower FeatureDefinition 79d6e3ba-5386-5f3c-8e74-a4a69bc73b1a
PowerWayOfTheTempestEyeOfTheStormLeap FeatureDefinitionPower FeatureDefinition 38cd49a8-19d1-562b-b43d-fe67248b63d6
PowerWayOfTheTempestTempestFury FeatureDefinitionPower FeatureDefinition a3de1a29-657f-56f7-9e94-9402ea81e133
PowerWayOfZenArcheryHailOfArrows FeatureDefinitionPower FeatureDefinition b80f0451-b6ae-5cc8-96ad-e376adb76c79
+PowerWhirlWindAttack FeatureDefinitionPower FeatureDefinition 8d198daa-c292-55c4-8ec3-f8a88cceef82
PowerWisePrecision FeatureDefinitionPower FeatureDefinition b17877a0-5dcf-5c4b-be38-2401c5596258
PowerWitchBolt FeatureDefinitionPower FeatureDefinition feffa4a2-a8c1-5f01-80ef-c41fc9c7bc60
PowerWizardGraviturgistDensityDecrease FeatureDefinitionPower FeatureDefinition 54c63225-a407-56a3-b385-951e49b831a9
@@ -3638,6 +3727,24 @@ ProficiencyBarbarianArmorMulticlass FeatureDefinitionProficiency FeatureDefiniti
ProficiencyBladeDancerLightArmor FeatureDefinitionProficiency FeatureDefinition 4b8ce8e0-5f9e-521a-8381-cac664825a68
ProficiencyBladeDancerMartialWeapon FeatureDefinitionProficiency FeatureDefinition 739123c0-6051-5b37-a49d-b4c4b4e737b0
ProficiencyBolgrifLanguages FeatureDefinitionProficiency FeatureDefinition ce45cf63-5b75-5ee3-9b1f-8e96ad329ecc
+ProficiencyBorrowedKnowledgeAcrobatics FeatureDefinitionProficiency FeatureDefinition f00b6cdf-a402-51e0-857b-4462a09507a1
+ProficiencyBorrowedKnowledgeAnimalHandling FeatureDefinitionProficiency FeatureDefinition f1637d0e-76f8-5dde-8932-6e864fb9a638
+ProficiencyBorrowedKnowledgeArcana FeatureDefinitionProficiency FeatureDefinition 6e912f29-b119-51c4-991d-8375b558aa15
+ProficiencyBorrowedKnowledgeAthletics FeatureDefinitionProficiency FeatureDefinition aed5d6d5-6b19-5c3e-9f0d-92d122dc7bf7
+ProficiencyBorrowedKnowledgeDeception FeatureDefinitionProficiency FeatureDefinition 0ade0202-f9d8-5f75-a794-29e4f7ee138c
+ProficiencyBorrowedKnowledgeHistory FeatureDefinitionProficiency FeatureDefinition f4bb1231-ab77-525b-9a5c-bae1d0682afe
+ProficiencyBorrowedKnowledgeInsight FeatureDefinitionProficiency FeatureDefinition 11107ee9-5d4f-50f8-9fc0-c65d888136dd
+ProficiencyBorrowedKnowledgeIntimidation FeatureDefinitionProficiency FeatureDefinition 211b9533-de12-51a2-a273-7db02b05888c
+ProficiencyBorrowedKnowledgeInvestigation FeatureDefinitionProficiency FeatureDefinition 0a2bae82-2015-52d2-9d0a-549e4f9fb13d
+ProficiencyBorrowedKnowledgeMedecine FeatureDefinitionProficiency FeatureDefinition 9391faf2-8a3b-5332-a589-84d2105c121f
+ProficiencyBorrowedKnowledgeNature FeatureDefinitionProficiency FeatureDefinition dfc8f176-2fd7-552f-a81b-311bdb9b9c65
+ProficiencyBorrowedKnowledgePerception FeatureDefinitionProficiency FeatureDefinition 6a743409-aefb-5d8b-a119-87c42d8a17df
+ProficiencyBorrowedKnowledgePerformance FeatureDefinitionProficiency FeatureDefinition 7768b601-192d-5998-856d-44ed765419c9
+ProficiencyBorrowedKnowledgePersuasion FeatureDefinitionProficiency FeatureDefinition 823819e3-5110-5392-963a-159b66b19df8
+ProficiencyBorrowedKnowledgeReligion FeatureDefinitionProficiency FeatureDefinition 7ffd1e65-3c2d-5c27-b021-f78e9b08179e
+ProficiencyBorrowedKnowledgeSleightOfHand FeatureDefinitionProficiency FeatureDefinition 9628be64-b04d-54b2-a0a5-4c16ec401077
+ProficiencyBorrowedKnowledgeStealth FeatureDefinitionProficiency FeatureDefinition d4943b7b-a417-5fd1-a1fb-e8a13adb2849
+ProficiencyBorrowedKnowledgeSurvival FeatureDefinitionProficiency FeatureDefinition f803f7ad-298d-5c3b-a8f9-252c97bca790
ProficiencyCasterFightingArmor FeatureDefinitionProficiency FeatureDefinition 55d4a882-ee48-5f70-91dc-ba26d9729a07
ProficiencyCasterFightingWeapon FeatureDefinitionProficiency FeatureDefinition 048afc36-2db9-5969-8143-0110731e6175
ProficiencyCollegeOfAudacityArmor FeatureDefinitionProficiency FeatureDefinition 9ef315d4-a8cb-56a7-9af1-815ddfcadc3d
@@ -3684,9 +3791,7 @@ ProficiencyFeatRopeItUp FeatureDefinitionProficiency FeatureDefinition a85c3f98-
ProficiencyFeatSentinel FeatureDefinitionProficiency FeatureDefinition 69cd3b17-4a21-5c62-bd20-818e72c83031
ProficiencyFeatShieldExpert FeatureDefinitionProficiency FeatureDefinition 6fd6a6d7-783e-52d3-8122-7d906ebcb8cd
ProficiencyFeatSquatNimblenessAcrobatics FeatureDefinitionProficiency FeatureDefinition bc612781-dacc-53dd-b622-a98ea5294bb8
-ProficiencyFeatSquatNimblenessAcrobaticsExpertise FeatureDefinitionProficiency FeatureDefinition 08493131-1922-599e-9db6-7f8b025cd1ab
ProficiencyFeatSquatNimblenessAthletics FeatureDefinitionProficiency FeatureDefinition f09658d1-a649-544e-9467-8ba8e37474a0
-ProficiencyFeatSquatNimblenessAthleticsExpertise FeatureDefinitionProficiency FeatureDefinition 3c1fd40f-22e9-550c-a148-8b610a9041c8
ProficiencyFeatStealthy FeatureDefinitionProficiency FeatureDefinition dfb97213-b173-5c3c-910c-1b555599df79
ProficiencyFeatTorchbearer FeatureDefinitionProficiency FeatureDefinition 1025b99d-524d-5e26-a706-068ab3eadbec
ProficiencyFeatTwoWeapon FeatureDefinitionProficiency FeatureDefinition b425cfb2-ec6e-55da-827e-918ba44628d7
@@ -3774,6 +3879,7 @@ SavingThrowAffinityHatredArdentHate FeatureDefinitionSavingThrowAffinity Feature
SavingThrowAffinityInnovationAlchemyDamagePsychic FeatureDefinitionSavingThrowAffinity FeatureDefinition 5f150330-ebe1-53ac-8b9b-25779acb946c
SavingThrowAffinityInnovationAlchemyDamageThunder FeatureDefinitionSavingThrowAffinity FeatureDefinition d39b7b59-8a83-5e76-a6cc-b32a39310850
SavingThrowAffinityInnovationWeaponSummonSteelDefender FeatureDefinitionSavingThrowAffinity FeatureDefinition c68b000a-ea4f-5b16-8356-e59a77464220
+SavingThrowAffinityIntellectFortress FeatureDefinitionSavingThrowAffinity FeatureDefinition 87adb0af-6410-5a1e-852b-19bb394b6ac0
SavingThrowAffinityMartialArcaneArcherEnfeeblingArrow FeatureDefinitionSavingThrowAffinity FeatureDefinition d8938195-e19b-5145-80ef-f5101fc8b7dc
SavingThrowAffinityMartialCommanderPeerlessCommander FeatureDefinitionSavingThrowAffinity FeatureDefinition dcd49c7c-bc39-57df-a8e9-fcce11317373
SavingThrowAffinityOathOfAncientsElderChampionEnemy FeatureDefinitionSavingThrowAffinity FeatureDefinition 092e88b9-0b01-5c94-91e8-052d4b0ecdc4
@@ -3860,6 +3966,7 @@ AbilityCheckAffinityWizardGraviturgistDensityIncrease FeatureDefinitionAbilityCh
AbilityCheckRangerSurvivalistAnalyticalMind FeatureDefinitionAbilityCheckAffinity FeatureDefinitionAbilityCheckAffinity bb200e27-5cfe-5e79-a96e-7187cbb59644
ActionAffinityAmazingDisplayToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 783907ba-e039-59be-a628-8c934d32ac60
ActionAffinityArcaneArcherToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity be08f921-ba8c-5368-948c-f9a7ae0eef85
+ActionAffinityArchfeyMistyEscape FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 7400ca46-da8c-5963-b753-c446231521ad
ActionAffinityAudaciousWhirlToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 528ee0ec-2516-56eb-a1d8-addfd46d54ee
ActionAffinityBalefulScionToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 4ce964a3-ea9f-5085-a741-efd362098a5d
ActionAffinityBrutalStrikeToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity aafa871d-c44d-5fc7-b7a2-567516a9c10c
@@ -4062,6 +4169,8 @@ AdditionalDamageWayOfTheDragonDragonFuryCold FeatureDefinitionAdditionalDamage F
AdditionalDamageWayOfTheDragonDragonFuryFire FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 9b1fc016-fab1-58fe-b951-4b839925610f
AdditionalDamageWayOfTheDragonDragonFuryLightning FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 19efddd2-69d4-5dff-ba20-6f16adba9924
AdditionalDamageWayOfTheDragonDragonFuryPoison FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 0542db72-6648-5061-858b-d7098fd7d0ae
+AdditionalDamageWayOfTheStormSoulDiscipleOfStorms FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage cf11762c-529f-5849-809e-f5265af350f5
+AdditionalDamageWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 6adabe7e-e7b2-5684-8c72-9f64ba6647d3
AdditionalDamageWayOfTheTempestEyeOfTheStorm FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 46380848-893d-599a-8219-8500dd16bc92
AdditionalDamageWayOfTheTempestGatheringStorm FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 7925249d-a7b3-5f40-b8d7-80ff07fe330e
AdditionalDamageWizardGraviturgistViolentAttraction FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 613c3d37-db3c-572d-8910-abd08bed673e
@@ -4149,6 +4258,8 @@ AttackModifierInnovationWeaponSummonSteelDefenderToHit FeatureDefinitionAttackMo
AttackModifierInvocationImprovedPactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAffinity 80912c1a-c7d9-5e08-aaad-66f8538e1ef7
AttackModifierInvocationSuperiorPactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAffinity c97fd2e1-90a8-5565-be3d-5ba4022792e3
AttackModifierInvocationUltimatePactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAffinity fdf0f4bd-e176-5b5f-a268-1443e60e46a8
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinitionAffinity 8d954034-4de8-58ba-8063-4b642b27b5bd
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinitionAffinity 743a6180-a14a-51c5-b9ae-d71182c72991
AttackModifierPathOfTheSavagerySavageStrength FeatureDefinitionAttackModifier FeatureDefinitionAffinity b7d1af0a-a91a-5af8-98fc-b2d589198ed5
AttackModifierRangerLightBearerAngelicForm FeatureDefinitionAttackModifier FeatureDefinitionAffinity d78a9a92-1f85-58cd-89f5-5ec732b2461f
AttackModifierRangerWildMasterAttackRoll FeatureDefinitionAttackModifier FeatureDefinitionAffinity 9030676c-2155-5276-95ae-a99891935c09
@@ -4169,6 +4280,7 @@ CombatAffinityDistractedByAlly FeatureDefinitionCombatAffinity FeatureDefinition
CombatAffinityFeatCallForCharge FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 8809a9a9-349e-54eb-88da-359c0b9118c1
CombatAffinityFeatCrusher FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 62bd3d77-724a-5c74-b93e-a4d4c538123e
CombatAffinityFeatDeadeye FeatureDefinitionCombatAffinity FeatureDefinitionAffinity c0a8218e-2e56-5fef-a0ce-c904017593ca
+CombatAffinityFeatGreatWeaponDefense FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 3f2c5bad-4694-582b-bb14-ee2b33b24bea
CombatAffinityFeatGrudgeBearerAberration FeatureDefinitionCombatAffinity FeatureDefinitionAffinity b1eb57db-ad94-599f-9364-714d4b302214
CombatAffinityFeatGrudgeBearerBeast FeatureDefinitionCombatAffinity FeatureDefinitionAffinity f9bf80b7-99fb-520c-aaf1-28bbdc673948
CombatAffinityFeatGrudgeBearerCelestial FeatureDefinitionCombatAffinity FeatureDefinitionAffinity dc48d7f0-ec3b-5677-9fea-fcee8afd5bbf
@@ -4219,6 +4331,7 @@ CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinitionAffinity
CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinitionAffinity a926a6b4-aa9f-5279-8aa6-fd357e746f91
CombatAffinityWayOfTheDiscordanceTurmoil FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 38754e5f-6a63-5bc1-8918-19c944826d34
CombatAffinityWayOfTheTempestAppliedEyeOfTheStorm FeatureDefinitionCombatAffinity FeatureDefinitionAffinity b0a739e0-ee58-59e1-8de5-748dc4059c1d
+ConditionAffinityArchfeyBeguilingDefenses FeatureDefinitionConditionAffinity FeatureDefinitionAffinity 7b030b99-ab4b-53ec-8063-6c261c21a222
ConditionAffinityAuraOfPerseveranceDiseased FeatureDefinitionConditionAffinity FeatureDefinitionAffinity 520f5618-1d7a-51ca-94f2-8037af664aa9
ConditionAffinityAuraOfVitalityLifeDrained FeatureDefinitionConditionAffinity FeatureDefinitionAffinity 20f17b04-f32b-5e47-add5-acce265a1d09
ConditionAffinityBattlebornPoisonResilience FeatureDefinitionConditionAffinity FeatureDefinitionAffinity 8020a254-1a2d-5772-833d-d1136733149e
@@ -4286,9 +4399,6 @@ DamageAffinityInfusionResistantArmorDamagePsychic FeatureDefinitionDamageAffinit
DamageAffinityInfusionResistantArmorDamageRadiant FeatureDefinitionDamageAffinity FeatureDefinitionAffinity a422a74e-89ec-5e06-850f-32adca70b8fe
DamageAffinityInfusionResistantArmorDamageThunder FeatureDefinitionDamageAffinity FeatureDefinitionAffinity 6d8f7709-7f3b-5f62-8085-4f94a64aeec7
DamageAffinityInvocationGiftOfTheProtectorsRelentlessEndurance FeatureDefinitionDamageAffinity FeatureDefinitionAffinity 5409fd33-c4c3-5cd1-b75b-0b13945da567
-DamageAffinityMonkEmptyBodyBludgeoningResistance FeatureDefinitionDamageAffinity FeatureDefinitionAffinity 2d3bc11a-96f8-5c46-9bc2-f4999bd06c3b
-DamageAffinityMonkEmptyBodyPiercingResistance FeatureDefinitionDamageAffinity FeatureDefinitionAffinity c59b850e-60ee-5652-a8ae-1e1df000b5d0
-DamageAffinityMonkEmptyBodySlashingResistance FeatureDefinitionDamageAffinity FeatureDefinitionAffinity 8cb3d5fd-9e4f-5793-804e-34cbea23c6ae
DamageAffinityOathOfAncientsUndyingSentinel FeatureDefinitionDamageAffinity FeatureDefinitionAffinity dae155b3-de0c-588e-9de3-c36d5af6a91f
DamageAffinityOathOfDreadAspectOfDreadDamageAcid FeatureDefinitionDamageAffinity FeatureDefinitionAffinity f63f36ba-6167-5421-8315-82326bb066a2
DamageAffinityOathOfDreadAspectOfDreadDamageBludgeoning FeatureDefinitionDamageAffinity FeatureDefinitionAffinity 8a446a38-0106-5c55-8009-5343faba049b
@@ -4356,6 +4466,7 @@ LightAffinityGrayDwarfLightSensitivity FeatureDefinitionLightAffinity FeatureDef
MagiAffinityMetamagicFocusedSpell FeatureDefinitionMagicAffinity FeatureDefinitionAffinity a066006f-fefd-57db-9729-a54e60489be3
MagicAffinityArcaneFighterConcentrationAdvantage FeatureDefinitionMagicAffinity FeatureDefinitionAffinity ed492724-acf5-5621-899b-03c19dd48ef6
MagicAffinityArchDruid FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 1280db07-36c2-5d5a-b7a1-9a159a14915b
+MagicAffinityArchfeyExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity d69f5e6c-7ae8-5ba4-a347-e7a8cc180e86
MagicAffinityCasterFightingCombatMagic FeatureDefinitionMagicAffinity FeatureDefinitionAffinity d97ab358-d6a2-5b95-909f-e18f70293ad3
MagicAffinityCasterFightingCombatMagicImproved FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 6f9e66ea-9b90-56c3-943c-41ee1409f8cf
MagicAffinityCelestialExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 80cf32b8-b5b0-52fb-9e29-93e0c3252c6d
@@ -4440,6 +4551,7 @@ MagicAffinitySpellMasterExtraPrepared FeatureDefinitionMagicAffinity FeatureDefi
MagicAffinitySpellMasterKnowledge FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 26004750-fff3-52ee-b20d-416b25ffa3ca
MagicAffinitySpellMasterPrepared FeatureDefinitionMagicAffinity FeatureDefinitionAffinity f1a7adea-c1c3-5bf0-8b20-c7682a25e443
MagicAffinitySpellMasterScriber FeatureDefinitionMagicAffinity FeatureDefinitionAffinity fffd1d15-c290-5983-8c66-6a2052d0d280
+MoveThroughEnemyModifierKineticJaunt FeatureDefinitionMoveThroughEnemyModifier FeatureDefinitionAffinity d9780b4f-8fc3-58b5-bb80-d00bb576bfef
PerceptionAffinityHelmOfAwareness FeatureDefinitionPerceptionAffinity FeatureDefinitionAffinity 514681b3-8d6d-54ef-97a8-562de1ff46a6
PerceptionAffinityMartialGuardianVigilance FeatureDefinitionPerceptionAffinity FeatureDefinitionAffinity b0c29b41-a91c-5a72-acb5-8c0f38bb3b58
PerceptionAffinitySteelDefender FeatureDefinitionPerceptionAffinity FeatureDefinitionAffinity 1e2f7b93-3ee7-571a-b87a-ad16d7b85c9e
@@ -4453,6 +4565,7 @@ SavingThrowAffinityHatredArdentHate FeatureDefinitionSavingThrowAffinity Feature
SavingThrowAffinityInnovationAlchemyDamagePsychic FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity 5f150330-ebe1-53ac-8b9b-25779acb946c
SavingThrowAffinityInnovationAlchemyDamageThunder FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity d39b7b59-8a83-5e76-a6cc-b32a39310850
SavingThrowAffinityInnovationWeaponSummonSteelDefender FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity c68b000a-ea4f-5b16-8356-e59a77464220
+SavingThrowAffinityIntellectFortress FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity 87adb0af-6410-5a1e-852b-19bb394b6ac0
SavingThrowAffinityMartialArcaneArcherEnfeeblingArrow FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity d8938195-e19b-5145-80ef-f5101fc8b7dc
SavingThrowAffinityMartialCommanderPeerlessCommander FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity dcd49c7c-bc39-57df-a8e9-fcce11317373
SavingThrowAffinityOathOfAncientsElderChampionEnemy FeatureDefinitionSavingThrowAffinity FeatureDefinitionAffinity 092e88b9-0b01-5c94-91e8-052d4b0ecdc4
@@ -4533,6 +4646,8 @@ AttackModifierInnovationWeaponSummonSteelDefenderToHit FeatureDefinitionAttackMo
AttackModifierInvocationImprovedPactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier 80912c1a-c7d9-5e08-aaad-66f8538e1ef7
AttackModifierInvocationSuperiorPactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier c97fd2e1-90a8-5565-be3d-5ba4022792e3
AttackModifierInvocationUltimatePactWeapon FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier fdf0f4bd-e176-5b5f-a268-1443e60e46a8
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier 8d954034-4de8-58ba-8063-4b642b27b5bd
+AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier 743a6180-a14a-51c5-b9ae-d71182c72991
AttackModifierPathOfTheSavagerySavageStrength FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier b7d1af0a-a91a-5af8-98fc-b2d589198ed5
AttackModifierRangerLightBearerAngelicForm FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier d78a9a92-1f85-58cd-89f5-5ec732b2461f
AttackModifierRangerWildMasterAttackRoll FeatureDefinitionAttackModifier FeatureDefinitionAttackModifier 9030676c-2155-5276-95ae-a99891935c09
@@ -4587,6 +4702,7 @@ AttributeModifierFeatDefensiveDuelist FeatureDefinitionAttributeModifier Feature
AttributeModifierFeatDragonHide FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier bce7860d-dfcf-5b30-bf28-1f09f2767d59
AttributeModifierFeatDualWeaponDefense FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 33b7066e-6c97-5c27-a498-e940d670c891
AttributeModifierFeatFrostAdaptation FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier b499b6ea-17e6-583d-9532-b1bff792c577
+AttributeModifierFeatGreatWeaponDefense FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier a9f334a7-a792-5cc1-a93a-9916396b6bd2
AttributeModifierFeatImprovedCritical FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 26272f91-3c5e-516d-b5bf-b8cf359eb2e0
AttributeModifierFeatLongswordFinesseArmorClass FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 0ea3490c-1121-5dc3-beff-a748625f85f9
AttributeModifierFeatRevenantGreatSwordArmorClass FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 01a02766-f2c4-53a4-a33a-4fc3db3988d3
@@ -4775,6 +4891,7 @@ CombatAffinityDistractedByAlly FeatureDefinitionCombatAffinity FeatureDefinition
CombatAffinityFeatCallForCharge FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 8809a9a9-349e-54eb-88da-359c0b9118c1
CombatAffinityFeatCrusher FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 62bd3d77-724a-5c74-b93e-a4d4c538123e
CombatAffinityFeatDeadeye FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity c0a8218e-2e56-5fef-a0ce-c904017593ca
+CombatAffinityFeatGreatWeaponDefense FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 3f2c5bad-4694-582b-bb14-ee2b33b24bea
CombatAffinityFeatGrudgeBearerAberration FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity b1eb57db-ad94-599f-9364-714d4b302214
CombatAffinityFeatGrudgeBearerBeast FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity f9bf80b7-99fb-520c-aaf1-28bbdc673948
CombatAffinityFeatGrudgeBearerCelestial FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity dc48d7f0-ec3b-5677-9fea-fcee8afd5bbf
@@ -4825,6 +4942,7 @@ CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinitionCombatAff
CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity a926a6b4-aa9f-5279-8aa6-fd357e746f91
CombatAffinityWayOfTheDiscordanceTurmoil FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 38754e5f-6a63-5bc1-8918-19c944826d34
CombatAffinityWayOfTheTempestAppliedEyeOfTheStorm FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity b0a739e0-ee58-59e1-8de5-748dc4059c1d
+ConditionAffinityArchfeyBeguilingDefenses FeatureDefinitionConditionAffinity FeatureDefinitionConditionAffinity 7b030b99-ab4b-53ec-8063-6c261c21a222
ConditionAffinityAuraOfPerseveranceDiseased FeatureDefinitionConditionAffinity FeatureDefinitionConditionAffinity 520f5618-1d7a-51ca-94f2-8037af664aa9
ConditionAffinityAuraOfVitalityLifeDrained FeatureDefinitionConditionAffinity FeatureDefinitionConditionAffinity 20f17b04-f32b-5e47-add5-acce265a1d09
ConditionAffinityBattlebornPoisonResilience FeatureDefinitionConditionAffinity FeatureDefinitionConditionAffinity 8020a254-1a2d-5772-833d-d1136733149e
@@ -4890,9 +5008,6 @@ DamageAffinityInfusionResistantArmorDamagePsychic FeatureDefinitionDamageAffinit
DamageAffinityInfusionResistantArmorDamageRadiant FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity a422a74e-89ec-5e06-850f-32adca70b8fe
DamageAffinityInfusionResistantArmorDamageThunder FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity 6d8f7709-7f3b-5f62-8085-4f94a64aeec7
DamageAffinityInvocationGiftOfTheProtectorsRelentlessEndurance FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity 5409fd33-c4c3-5cd1-b75b-0b13945da567
-DamageAffinityMonkEmptyBodyBludgeoningResistance FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity 2d3bc11a-96f8-5c46-9bc2-f4999bd06c3b
-DamageAffinityMonkEmptyBodyPiercingResistance FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity c59b850e-60ee-5652-a8ae-1e1df000b5d0
-DamageAffinityMonkEmptyBodySlashingResistance FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity 8cb3d5fd-9e4f-5793-804e-34cbea23c6ae
DamageAffinityOathOfAncientsUndyingSentinel FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity dae155b3-de0c-588e-9de3-c36d5af6a91f
DamageAffinityOathOfDreadAspectOfDreadDamageAcid FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity f63f36ba-6167-5421-8315-82326bb066a2
DamageAffinityOathOfDreadAspectOfDreadDamageBludgeoning FeatureDefinitionDamageAffinity FeatureDefinitionDamageAffinity 8a446a38-0106-5c55-8009-5343faba049b
@@ -4958,6 +5073,9 @@ FeatureCircleOfTheCosmosNovaStar FeatureDefinitionFeatureSet FeatureDefinitionFe
FeatureDomainSmithBlessedMetal FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet af616884-6e4e-54ea-93ec-6e13d7e5a730
FeatureImproviseStrategy FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 619b0594-2816-595d-a7fc-8656266ac307
FeatureSefTacticianStrategicPlan FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet adb9d7d1-a30b-5c04-9663-771cc4ac75ea
+FeatureSetArchfeyBeguilingDefenses FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 700ca146-9ab3-575e-b40f-a7f631302e5b
+FeatureSetArchfeyDarkDelirium FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet bf7a8867-7e4c-5dec-99d1-81f3fc50ad6c
+FeatureSetArchfeyFeyPresence FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet c221e65e-4c8d-5627-9a00-09e4eb98ffd5
FeatureSetBarbarianBrutalStrike FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet ccb473c1-f41a-5b83-b3d5-ad855f195e15
FeatureSetBarbarianBrutalStrikeImprovement13 FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet cc18a971-fa43-5834-9cb6-2f20208ce6b3
FeatureSetBarbarianBrutalStrikeImprovement17 FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet c1867b9f-f709-59b3-9a38-7eaaaa7fe3d7
@@ -5141,6 +5259,8 @@ FeatureSetWayOfTheDragonElementalBreathGold FeatureDefinitionFeatureSet FeatureD
FeatureSetWayOfTheDragonElementalBreathGreen FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet d7626787-b495-5794-8145-a334f12525ac
FeatureSetWayOfTheDragonElementalBreathSilver FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet ed3ad10a-bbcf-5a1a-9647-98440cc45d2f
FeatureSetWayOfTheDragonFury FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet af962ee3-be8a-5109-9c75-8b3e5b32ebac
+FeatureSetWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet a5f1e36a-8f82-5e98-99e1-4711b6dd9ce2
+FeatureSetWayOfTheStormSoulLightningWarrior FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 0d28ebfa-b5ac-5055-9749-eb9cd158e724
FeatureSetWayOfTheTempestEyeOfTheStorm FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet a99b2d1f-3ccc-5c83-8539-11041623f5af
FeatureSetWayOfTheTempestTempestFury FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet ff9ac47e-b2bb-5e23-9e55-b0edb9c5e634
FeatureSetWildlingAbilityScoreIncrease FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet c1ca36f2-7125-5509-8e15-38dae4ae403c
@@ -5156,6 +5276,7 @@ LightAffinityGrayDwarfLightSensitivity FeatureDefinitionLightAffinity FeatureDef
MagiAffinityMetamagicFocusedSpell FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity a066006f-fefd-57db-9729-a54e60489be3
MagicAffinityArcaneFighterConcentrationAdvantage FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity ed492724-acf5-5621-899b-03c19dd48ef6
MagicAffinityArchDruid FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 1280db07-36c2-5d5a-b7a1-9a159a14915b
+MagicAffinityArchfeyExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity d69f5e6c-7ae8-5ba4-a347-e7a8cc180e86
MagicAffinityCasterFightingCombatMagic FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity d97ab358-d6a2-5b95-909f-e18f70293ad3
MagicAffinityCasterFightingCombatMagicImproved FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 6f9e66ea-9b90-56c3-943c-41ee1409f8cf
MagicAffinityCelestialExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 80cf32b8-b5b0-52fb-9e29-93e0c3252c6d
@@ -5254,6 +5375,7 @@ MovementAffinityHamstringBlow FeatureDefinitionMovementAffinity FeatureDefinitio
MovementAffinityImpPassage FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity eaf0586d-be17-596d-8164-49974ec75f32
MovementAffinityInnovationArmorArmoredUp FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 3ba750c1-204e-5f9d-8cde-65e2a6f86e5d
MovementAffinityInnovationArmorInfiltratorMode FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 1e5e7453-c9fd-5999-914d-9f974adbac98
+MovementAffinityKineticJaunt FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 85a4ac2e-feaf-5e7f-8115-35bdb0a8a286
MovementAffinityMagnifyGravity FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity b787a5a7-f7ee-5c8a-a4ce-8d730f3a7632
MovementAffinityMartialCommanderPeerlessCommander FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 6db0d47c-5d4e-5a9c-9bf8-afcf02389d17
MovementAffinityMoonlitScionFullMoonLunarEmbrace FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 48f1f58f-ce9f-5544-93ea-ee439891ddf4
@@ -5280,6 +5402,7 @@ MoveModeInnovationArtilleristEldritchCannon FeatureDefinitionMoveMode FeatureDef
MoveModeMove14 FeatureDefinitionMoveMode FeatureDefinitionMoveMode 9f0985b9-dcfb-5656-b53e-4c0b7c3e1676
MoveModeMove16 FeatureDefinitionMoveMode FeatureDefinitionMoveMode e8634155-27e4-55ee-b324-b556ffb5fc34
MoveModeMove18 FeatureDefinitionMoveMode FeatureDefinitionMoveMode 911e748e-a21b-552c-b9e8-96652a62cc97
+MoveThroughEnemyModifierKineticJaunt FeatureDefinitionMoveThroughEnemyModifier FeatureDefinitionMoveThroughEnemyModifier d9780b4f-8fc3-58b5-bb80-d00bb576bfef
PerceptionAffinityHelmOfAwareness FeatureDefinitionPerceptionAffinity FeatureDefinitionPerceptionAffinity 514681b3-8d6d-54ef-97a8-562de1ff46a6
PerceptionAffinityMartialGuardianVigilance FeatureDefinitionPerceptionAffinity FeatureDefinitionPerceptionAffinity b0c29b41-a91c-5a72-acb5-8c0f38bb3b58
PerceptionAffinitySteelDefender FeatureDefinitionPerceptionAffinity FeatureDefinitionPerceptionAffinity 1e2f7b93-3ee7-571a-b87a-ad16d7b85c9e
@@ -5365,6 +5488,14 @@ PowerAncientForestRooted FeatureDefinitionPower FeatureDefinitionPower 276b897b-
PowerArcanePrecision FeatureDefinitionPower FeatureDefinitionPower 8e253993-16ba-55de-81a4-f61ad2b09f7f
PowerArcanistArcanePulse FeatureDefinitionPower FeatureDefinitionPower 583aedcb-4613-5108-9c22-afc4ce8ef7ad
PowerArcanistArcanePulseUpgrade FeatureDefinitionPower FeatureDefinitionPower 9c836559-a968-5067-ae37-a0cf680c074f
+PowerArchfeyBeguilingDefenses FeatureDefinitionPower FeatureDefinitionPower bda1c6ae-f640-5f19-b859-0d6bd426933d
+PowerArchfeyDarkDelirium FeatureDefinitionPower FeatureDefinitionPower 6bf32d72-507c-5688-b4ea-04c1295fd001
+PowerArchfeyDarkDeliriumCharmed FeatureDefinitionPowerSharedPool FeatureDefinitionPower 5a372252-07e2-59eb-9772-f284e921ff3c
+PowerArchfeyDarkDeliriumFrightened FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7865300d-13da-53d6-8e29-2ef906b9c855
+PowerArchfeyFeyPresence FeatureDefinitionPower FeatureDefinitionPower 38531441-2f9f-5f25-9fe8-03171423ebdf
+PowerArchfeyFeyPresenceCharmed FeatureDefinitionPowerSharedPool FeatureDefinitionPower a8777b82-3235-5f85-8add-1c5891684459
+PowerArchfeyFeyPresenceFrightened FeatureDefinitionPowerSharedPool FeatureDefinitionPower 4524445b-919b-5629-bdad-d7bc876f89e9
+PowerArchfeyMistyEscape FeatureDefinitionPower FeatureDefinitionPower e5f57148-f825-55e8-88d0-2f18a58108b3
PowerAuraOfLife FeatureDefinitionPower FeatureDefinitionPower 8fca9d36-dd61-5808-b712-649351b10884
PowerBarbarianBrutalStrike FeatureDefinitionPower FeatureDefinitionPower 75c41e41-821f-54d3-a5c2-d088477a7352
PowerBarbarianBrutalStrikeForcefulBlow FeatureDefinitionPowerSharedPool FeatureDefinitionPower a475451b-ff01-5b2a-8303-481e73d594b3
@@ -5376,6 +5507,25 @@ PowerBladeDancerDanceOfDefense FeatureDefinitionPower FeatureDefinitionPower af4
PowerBladeDancerDanceOfVictory FeatureDefinitionPower FeatureDefinitionPower 8f613859-6c67-5813-91cd-d356ebe8a5cc
PowerBolgrifInvisibility FeatureDefinitionPower FeatureDefinitionPower cadfc430-3168-575e-b23c-fb02703cbac3
PowerBoomingStepExplode FeatureDefinitionPower FeatureDefinitionPower 0a0e3296-f897-5418-8c3e-84e3ab59ac98
+PowerBorrowedKnowledge FeatureDefinitionPower FeatureDefinitionPower cd3c6b03-216e-5a1a-ab3a-dc9f302dbb1c
+PowerBorrowedKnowledgeAcrobatics FeatureDefinitionPowerSharedPool FeatureDefinitionPower cb834082-cfe9-5df2-ae7e-9b2940c4e5e7
+PowerBorrowedKnowledgeAnimalHandling FeatureDefinitionPowerSharedPool FeatureDefinitionPower 4a2735e7-7ae8-5998-90a9-431cd8e3db3f
+PowerBorrowedKnowledgeArcana FeatureDefinitionPowerSharedPool FeatureDefinitionPower e9a0d666-9f3f-58fd-bf41-8ef7bc72d128
+PowerBorrowedKnowledgeAthletics FeatureDefinitionPowerSharedPool FeatureDefinitionPower 59937f2a-3b67-54e1-81d3-203ea3c1cca9
+PowerBorrowedKnowledgeDeception FeatureDefinitionPowerSharedPool FeatureDefinitionPower 2b9344d0-840e-5aa9-8b98-e55fd8e83cd4
+PowerBorrowedKnowledgeHistory FeatureDefinitionPowerSharedPool FeatureDefinitionPower 41bad958-4714-5f5a-b4f5-e88fd7569deb
+PowerBorrowedKnowledgeInsight FeatureDefinitionPowerSharedPool FeatureDefinitionPower ef09e4dc-9d9e-5cc4-a2e4-2e63813536ba
+PowerBorrowedKnowledgeIntimidation FeatureDefinitionPowerSharedPool FeatureDefinitionPower fcacbfd0-2b79-5f6b-a9d0-d6c22de2adcf
+PowerBorrowedKnowledgeInvestigation FeatureDefinitionPowerSharedPool FeatureDefinitionPower 5e09b656-1415-5e72-bd60-5d87ae156175
+PowerBorrowedKnowledgeMedecine FeatureDefinitionPowerSharedPool FeatureDefinitionPower 3f8f06e5-2b1d-5b2e-896c-3dfecb74db2e
+PowerBorrowedKnowledgeNature FeatureDefinitionPowerSharedPool FeatureDefinitionPower dc30303a-db20-5016-af08-5c3e97f27567
+PowerBorrowedKnowledgePerception FeatureDefinitionPowerSharedPool FeatureDefinitionPower 530acbe3-e52a-580d-8747-e67f1ce5d27f
+PowerBorrowedKnowledgePerformance FeatureDefinitionPowerSharedPool FeatureDefinitionPower a346e476-d146-5de3-b427-bce1a467deb8
+PowerBorrowedKnowledgePersuasion FeatureDefinitionPowerSharedPool FeatureDefinitionPower 6136cc53-825c-5ce7-a0d0-ecbd5a31b271
+PowerBorrowedKnowledgeReligion FeatureDefinitionPowerSharedPool FeatureDefinitionPower e7d27a5b-924c-59c6-9765-7217900eb8f6
+PowerBorrowedKnowledgeSleightOfHand FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7b2c62f6-8db4-5200-8ca2-a311d306e453
+PowerBorrowedKnowledgeStealth FeatureDefinitionPowerSharedPool FeatureDefinitionPower a2072525-1a9c-5f04-99fc-886e2db23f9a
+PowerBorrowedKnowledgeSurvival FeatureDefinitionPowerSharedPool FeatureDefinitionPower cc50af67-ec5f-59d1-934c-a12b15a1ac77
PowerCasterCommandUndead FeatureDefinitionPower FeatureDefinitionPower b73f8a69-89ca-5b00-b016-582ac4cb73ba
PowerCasterFightingWarMagic FeatureDefinitionPower FeatureDefinitionPower 368681bf-0523-5709-a17a-62416add2f96
PowerCelestialCelestialResistance FeatureDefinitionPower FeatureDefinitionPower 187cbf08-b855-5ce8-8e2b-f4f92ece3639
@@ -5472,6 +5622,7 @@ PowerCreateSpellStoringWandOfBindingIce FeatureDefinitionPowerSharedPool Feature
PowerCreateSpellStoringWandOfBless FeatureDefinitionPowerSharedPool FeatureDefinitionPower 97fee108-4ac3-594b-be0b-3a15fde72094
PowerCreateSpellStoringWandOfBlindness FeatureDefinitionPowerSharedPool FeatureDefinitionPower ff2a15f5-03c1-55e0-8dc9-87c30b7bc4e5
PowerCreateSpellStoringWandOfBlur FeatureDefinitionPowerSharedPool FeatureDefinitionPower c06e30f9-23f5-5a81-8b5f-f03f6ac07853
+PowerCreateSpellStoringWandOfBorrowedKnowledge FeatureDefinitionPowerSharedPool FeatureDefinitionPower 24f5e5a7-243b-5c18-a5f4-ecd24ba25fdd
PowerCreateSpellStoringWandOfBurningHands FeatureDefinitionPowerSharedPool FeatureDefinitionPower 5d2c1980-0019-55b5-bd77-be94512df774
PowerCreateSpellStoringWandOfBurningHands_B FeatureDefinitionPowerSharedPool FeatureDefinitionPower eb0c69a6-124e-5871-b16c-b569a912a0f1
PowerCreateSpellStoringWandOfCalmEmotions FeatureDefinitionPowerSharedPool FeatureDefinitionPower 4aa65055-2fe8-5778-99da-eb1175171558
@@ -5509,6 +5660,7 @@ PowerCreateSpellStoringWandOfIceBlade FeatureDefinitionPowerSharedPool FeatureDe
PowerCreateSpellStoringWandOfInflictWounds FeatureDefinitionPowerSharedPool FeatureDefinitionPower d90aa315-68ba-5591-be23-6c9685e4e087
PowerCreateSpellStoringWandOfInvisibility FeatureDefinitionPowerSharedPool FeatureDefinitionPower 375f392f-c180-565e-890b-c3c5db88346d
PowerCreateSpellStoringWandOfJump FeatureDefinitionPowerSharedPool FeatureDefinitionPower 2d2bcf2b-f519-521a-9a7a-cee97387de01
+PowerCreateSpellStoringWandOfKineticJaunt FeatureDefinitionPowerSharedPool FeatureDefinitionPower 3459df74-c089-5d9b-9ec4-1618bf6d635a
PowerCreateSpellStoringWandOfKnock FeatureDefinitionPowerSharedPool FeatureDefinitionPower 587d8fb3-befd-5878-bea7-55eb1b247ea5
PowerCreateSpellStoringWandOfLesserRestoration FeatureDefinitionPowerSharedPool FeatureDefinitionPower 72634009-0f53-5c41-b95b-e26908526297
PowerCreateSpellStoringWandOfLevitate FeatureDefinitionPowerSharedPool FeatureDefinitionPower 6004e54b-48f5-5715-ab4f-92397fac7297
@@ -5692,6 +5844,7 @@ PowerGiftOfTheChromaticDragonDamagePoison FeatureDefinitionPowerSharedPool Featu
PowerGiftOfTheChromaticDragonReactiveResistance FeatureDefinitionPower FeatureDefinitionPower de9b1627-30f9-5f78-992a-58bbde7cbc90
PowerGrayDwarfInvisibility FeatureDefinitionPower FeatureDefinitionPower c4864fef-ecc0-5cf5-bb63-638addf6e90a
PowerGrayDwarfStoneStrength FeatureDefinitionPower FeatureDefinitionPower a3310dbb-532e-56a8-ba7d-cb855cabe127
+PowerGreatWeaponDefense FeatureDefinitionPower FeatureDefinitionPower 8c999720-7ce8-5e7f-8fc2-c0357738dc81
PowerHandwrapsOfPulling FeatureDefinitionPower FeatureDefinitionPower 81b318cf-8220-5876-bac8-996c44adcdb9
PowerHatredArdentHate FeatureDefinitionPower FeatureDefinitionPower 660de72d-3df9-5b8e-8f7e-fe212911f440
PowerHatredHatefulGaze FeatureDefinitionPower FeatureDefinitionPower 68606640-4da5-5847-ab64-0afd2b487130
@@ -5909,6 +6062,8 @@ PowerMetamagicTransmutedSpellDamageLightning FeatureDefinitionPowerSharedPool Fe
PowerMetamagicTransmutedSpellDamagePoison FeatureDefinitionPowerSharedPool FeatureDefinitionPower 0c0569dc-06d5-5bdd-b350-3ebe1fafde40
PowerMetamagicTransmutedSpellDamageThunder FeatureDefinitionPowerSharedPool FeatureDefinitionPower 615c1d9a-e29f-553c-95e1-784662dc97b7
PowerMonkEmptyBody FeatureDefinitionPower FeatureDefinitionPower 5a150649-a5dc-5381-8846-c3d47841f9bc
+PowerMonkStepOfTheWindHeightenedMetabolism FeatureDefinitionPower FeatureDefinitionPower 6b3d809f-c3f7-585b-a054-709b0dd280e3
+PowerMonkSuperiorDefense FeatureDefinitionPower FeatureDefinitionPower 7fd3d9b6-0263-5d5a-8ce6-305399586133
PowerMoonlitScionFullMoon FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7e3adf79-55ac-52db-b8a4-b9b657246098
PowerMoonlitScionLunarChill FeatureDefinitionPower FeatureDefinitionPower e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2
PowerMoonlitScionLunarChillNoCost FeatureDefinitionPower FeatureDefinitionPower 5a788d03-6c02-5fa5-8fa6-8b5194b96395
@@ -6175,10 +6330,15 @@ PowerWayOfTheDragonElementalBreathGreenPoints FeatureDefinitionPower FeatureDefi
PowerWayOfTheDragonElementalBreathSilver FeatureDefinitionPower FeatureDefinitionPower 80903e66-95c2-501c-95c7-d358218e7aa7
PowerWayOfTheDragonElementalBreathSilverPoints FeatureDefinitionPower FeatureDefinitionPower e62f39f1-c265-568d-bff6-feab221e4985
PowerWayOfTheDragonReactiveHide FeatureDefinitionPower FeatureDefinitionPower 11b6a890-5119-5799-8e5e-72f6eb7a24b3
+PowerWayOfTheStormSoulEyeOfTheStorm FeatureDefinitionPower FeatureDefinitionPower 6ff6d87a-53e8-5158-a7ac-b92b1f72029b
+PowerWayOfTheStormSoulEyeOfTheStormLeap FeatureDefinitionPower FeatureDefinitionPower 3f31323c-49d2-5687-b8ab-5bfd27c365fe
+PowerWayOfTheStormSoulLightningLure FeatureDefinitionPower FeatureDefinitionPower 1af26a2a-2143-59e1-b19c-4426ab0f7adf
+PowerWayOfTheStormSoulTempestFury FeatureDefinitionPower FeatureDefinitionPower d5c258ee-00be-573a-a2d0-462d4eb8dbc6
PowerWayOfTheTempestEyeOfTheStorm FeatureDefinitionPower FeatureDefinitionPower 79d6e3ba-5386-5f3c-8e74-a4a69bc73b1a
PowerWayOfTheTempestEyeOfTheStormLeap FeatureDefinitionPower FeatureDefinitionPower 38cd49a8-19d1-562b-b43d-fe67248b63d6
PowerWayOfTheTempestTempestFury FeatureDefinitionPower FeatureDefinitionPower a3de1a29-657f-56f7-9e94-9402ea81e133
PowerWayOfZenArcheryHailOfArrows FeatureDefinitionPower FeatureDefinitionPower b80f0451-b6ae-5cc8-96ad-e376adb76c79
+PowerWhirlWindAttack FeatureDefinitionPower FeatureDefinitionPower 8d198daa-c292-55c4-8ec3-f8a88cceef82
PowerWisePrecision FeatureDefinitionPower FeatureDefinitionPower b17877a0-5dcf-5c4b-be38-2401c5596258
PowerWitchBolt FeatureDefinitionPower FeatureDefinitionPower feffa4a2-a8c1-5f01-80ef-c41fc9c7bc60
PowerWizardGraviturgistDensityDecrease FeatureDefinitionPower FeatureDefinitionPower 54c63225-a407-56a3-b385-951e49b831a9
@@ -6212,6 +6372,24 @@ ProficiencyBarbarianArmorMulticlass FeatureDefinitionProficiency FeatureDefiniti
ProficiencyBladeDancerLightArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 4b8ce8e0-5f9e-521a-8381-cac664825a68
ProficiencyBladeDancerMartialWeapon FeatureDefinitionProficiency FeatureDefinitionProficiency 739123c0-6051-5b37-a49d-b4c4b4e737b0
ProficiencyBolgrifLanguages FeatureDefinitionProficiency FeatureDefinitionProficiency ce45cf63-5b75-5ee3-9b1f-8e96ad329ecc
+ProficiencyBorrowedKnowledgeAcrobatics FeatureDefinitionProficiency FeatureDefinitionProficiency f00b6cdf-a402-51e0-857b-4462a09507a1
+ProficiencyBorrowedKnowledgeAnimalHandling FeatureDefinitionProficiency FeatureDefinitionProficiency f1637d0e-76f8-5dde-8932-6e864fb9a638
+ProficiencyBorrowedKnowledgeArcana FeatureDefinitionProficiency FeatureDefinitionProficiency 6e912f29-b119-51c4-991d-8375b558aa15
+ProficiencyBorrowedKnowledgeAthletics FeatureDefinitionProficiency FeatureDefinitionProficiency aed5d6d5-6b19-5c3e-9f0d-92d122dc7bf7
+ProficiencyBorrowedKnowledgeDeception FeatureDefinitionProficiency FeatureDefinitionProficiency 0ade0202-f9d8-5f75-a794-29e4f7ee138c
+ProficiencyBorrowedKnowledgeHistory FeatureDefinitionProficiency FeatureDefinitionProficiency f4bb1231-ab77-525b-9a5c-bae1d0682afe
+ProficiencyBorrowedKnowledgeInsight FeatureDefinitionProficiency FeatureDefinitionProficiency 11107ee9-5d4f-50f8-9fc0-c65d888136dd
+ProficiencyBorrowedKnowledgeIntimidation FeatureDefinitionProficiency FeatureDefinitionProficiency 211b9533-de12-51a2-a273-7db02b05888c
+ProficiencyBorrowedKnowledgeInvestigation FeatureDefinitionProficiency FeatureDefinitionProficiency 0a2bae82-2015-52d2-9d0a-549e4f9fb13d
+ProficiencyBorrowedKnowledgeMedecine FeatureDefinitionProficiency FeatureDefinitionProficiency 9391faf2-8a3b-5332-a589-84d2105c121f
+ProficiencyBorrowedKnowledgeNature FeatureDefinitionProficiency FeatureDefinitionProficiency dfc8f176-2fd7-552f-a81b-311bdb9b9c65
+ProficiencyBorrowedKnowledgePerception FeatureDefinitionProficiency FeatureDefinitionProficiency 6a743409-aefb-5d8b-a119-87c42d8a17df
+ProficiencyBorrowedKnowledgePerformance FeatureDefinitionProficiency FeatureDefinitionProficiency 7768b601-192d-5998-856d-44ed765419c9
+ProficiencyBorrowedKnowledgePersuasion FeatureDefinitionProficiency FeatureDefinitionProficiency 823819e3-5110-5392-963a-159b66b19df8
+ProficiencyBorrowedKnowledgeReligion FeatureDefinitionProficiency FeatureDefinitionProficiency 7ffd1e65-3c2d-5c27-b021-f78e9b08179e
+ProficiencyBorrowedKnowledgeSleightOfHand FeatureDefinitionProficiency FeatureDefinitionProficiency 9628be64-b04d-54b2-a0a5-4c16ec401077
+ProficiencyBorrowedKnowledgeStealth FeatureDefinitionProficiency FeatureDefinitionProficiency d4943b7b-a417-5fd1-a1fb-e8a13adb2849
+ProficiencyBorrowedKnowledgeSurvival FeatureDefinitionProficiency FeatureDefinitionProficiency f803f7ad-298d-5c3b-a8f9-252c97bca790
ProficiencyCasterFightingArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 55d4a882-ee48-5f70-91dc-ba26d9729a07
ProficiencyCasterFightingWeapon FeatureDefinitionProficiency FeatureDefinitionProficiency 048afc36-2db9-5969-8143-0110731e6175
ProficiencyCollegeOfAudacityArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 9ef315d4-a8cb-56a7-9af1-815ddfcadc3d
@@ -6258,9 +6436,7 @@ ProficiencyFeatRopeItUp FeatureDefinitionProficiency FeatureDefinitionProficienc
ProficiencyFeatSentinel FeatureDefinitionProficiency FeatureDefinitionProficiency 69cd3b17-4a21-5c62-bd20-818e72c83031
ProficiencyFeatShieldExpert FeatureDefinitionProficiency FeatureDefinitionProficiency 6fd6a6d7-783e-52d3-8122-7d906ebcb8cd
ProficiencyFeatSquatNimblenessAcrobatics FeatureDefinitionProficiency FeatureDefinitionProficiency bc612781-dacc-53dd-b622-a98ea5294bb8
-ProficiencyFeatSquatNimblenessAcrobaticsExpertise FeatureDefinitionProficiency FeatureDefinitionProficiency 08493131-1922-599e-9db6-7f8b025cd1ab
ProficiencyFeatSquatNimblenessAthletics FeatureDefinitionProficiency FeatureDefinitionProficiency f09658d1-a649-544e-9467-8ba8e37474a0
-ProficiencyFeatSquatNimblenessAthleticsExpertise FeatureDefinitionProficiency FeatureDefinitionProficiency 3c1fd40f-22e9-550c-a148-8b610a9041c8
ProficiencyFeatStealthy FeatureDefinitionProficiency FeatureDefinitionProficiency dfb97213-b173-5c3c-910c-1b555599df79
ProficiencyFeatTorchbearer FeatureDefinitionProficiency FeatureDefinitionProficiency 1025b99d-524d-5e26-a706-068ab3eadbec
ProficiencyFeatTwoWeapon FeatureDefinitionProficiency FeatureDefinitionProficiency b425cfb2-ec6e-55da-827e-918ba44628d7
@@ -6341,6 +6517,7 @@ SavingThrowAffinityHatredArdentHate FeatureDefinitionSavingThrowAffinity Feature
SavingThrowAffinityInnovationAlchemyDamagePsychic FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity 5f150330-ebe1-53ac-8b9b-25779acb946c
SavingThrowAffinityInnovationAlchemyDamageThunder FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity d39b7b59-8a83-5e76-a6cc-b32a39310850
SavingThrowAffinityInnovationWeaponSummonSteelDefender FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity c68b000a-ea4f-5b16-8356-e59a77464220
+SavingThrowAffinityIntellectFortress FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity 87adb0af-6410-5a1e-852b-19bb394b6ac0
SavingThrowAffinityMartialArcaneArcherEnfeeblingArrow FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity d8938195-e19b-5145-80ef-f5101fc8b7dc
SavingThrowAffinityMartialCommanderPeerlessCommander FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity dcd49c7c-bc39-57df-a8e9-fcce11317373
SavingThrowAffinityOathOfAncientsElderChampionEnemy FeatureDefinitionSavingThrowAffinity FeatureDefinitionSavingThrowAffinity 092e88b9-0b01-5c94-91e8-052d4b0ecdc4
@@ -7707,6 +7884,7 @@ SpellStoringWandOfBindingIce ItemDefinition ItemDefinition 3e88e87a-9c28-56d0-ab
SpellStoringWandOfBless ItemDefinition ItemDefinition 3327d10f-5981-5cf3-b9bc-002e7f12d5e8
SpellStoringWandOfBlindness ItemDefinition ItemDefinition 94c3bd82-4bca-558a-ae5d-6ebcde7b38a7
SpellStoringWandOfBlur ItemDefinition ItemDefinition b224bd70-6c37-5f7c-baba-72f1abc4006f
+SpellStoringWandOfBorrowedKnowledge ItemDefinition ItemDefinition 29c4285a-c31a-55c4-817a-7935a727969c
SpellStoringWandOfBurningHands ItemDefinition ItemDefinition 1c5f85c9-e567-5be0-97c1-9fa2df71a6a8
SpellStoringWandOfBurningHands_B ItemDefinition ItemDefinition 98ca1ae5-e6c3-5132-a8f0-7da43048c234
SpellStoringWandOfCalmEmotions ItemDefinition ItemDefinition 11deadfc-1799-558a-9a87-0d5c66d1a6e0
@@ -7744,6 +7922,7 @@ SpellStoringWandOfIceBlade ItemDefinition ItemDefinition d87224aa-3791-5d2b-83c8
SpellStoringWandOfInflictWounds ItemDefinition ItemDefinition cd395c38-18eb-5f92-a800-cd03461a10f4
SpellStoringWandOfInvisibility ItemDefinition ItemDefinition e47022ed-6cd3-5e0b-a5f8-3cc2fe207460
SpellStoringWandOfJump ItemDefinition ItemDefinition b654af67-a463-52b8-bea0-25c79b103f84
+SpellStoringWandOfKineticJaunt ItemDefinition ItemDefinition f8eed529-e621-556c-9f89-03db7c70bb68
SpellStoringWandOfKnock ItemDefinition ItemDefinition 8acbe345-c2cf-5739-b624-01d73982f7de
SpellStoringWandOfLesserRestoration ItemDefinition ItemDefinition 681458d1-f1a6-54c5-85db-31d85bd2ed3a
SpellStoringWandOfLevitate ItemDefinition ItemDefinition 2c5ea290-6814-5faf-a0ee-b61f39f056c0
@@ -11491,6 +11670,7 @@ BlessingOfRime SpellDefinition SpellDefinition 47891998-e0f2-562a-9fd8-0b1d2190a
BlindingSmite SpellDefinition SpellDefinition 4840cef2-e39f-58f6-8a1d-0968f87008e7
BoomingBlade SpellDefinition SpellDefinition 8a6f90f1-6d31-5701-8498-2c3527f7d33b
BoomingStep SpellDefinition SpellDefinition 274208ba-a59a-58a6-aecb-ed2d94cc0fb3
+BorrowedKnowledge SpellDefinition SpellDefinition e2192ab1-1109-56a8-a2bd-d49b82c1d04f
BrainBulwark SpellDefinition SpellDefinition e40588cd-4b6d-5be0-b31e-5a7c7b148869
BurstOfRadiance SpellDefinition SpellDefinition 1e699378-f73c-564a-a7d8-b5b90931ae27
CausticZap SpellDefinition SpellDefinition 029019d2-e72a-5b45-806f-c42e1953d7ab
@@ -11549,9 +11729,13 @@ HungerOfTheVoid SpellDefinition SpellDefinition fa794ede-4149-54ed-914d-f25cd55f
IceBlade SpellDefinition SpellDefinition 659510a2-17ce-5577-8f85-d7756eac3bd9
IlluminatingSphere SpellDefinition SpellDefinition e7fc59b8-93d9-53aa-86f7-659ac0d16fcf
Incineration SpellDefinition SpellDefinition 9736f77e-4d1b-5fa9-ba08-e0937463546c
+Infestation SpellDefinition SpellDefinition 588e52e7-a8b5-58b4-9b07-1d02dcb7520a
+IntellectFortress SpellDefinition SpellDefinition e0131db2-c70e-5941-9180-1cb5bd27200f
IrresistiblePerformance SpellDefinition SpellDefinition a1da847d-a053-5ba7-92a1-11a5f2260d2a
+KineticJaunt SpellDefinition SpellDefinition 45331d46-edae-5f7e-8197-97f3658a8f15
LevitateSpell SpellDefinition SpellDefinition 91d64839-2a19-5655-a8f5-e14cd8e8033c
LightningArrow SpellDefinition SpellDefinition 67f4d8f5-2b76-530c-969d-887c67ecbbc3
+LightningLure SpellDefinition SpellDefinition a371e3b0-84af-5794-9d67-642b9677fc8d
MaddeningDarkness SpellDefinition SpellDefinition 307ab880-6bb4-514a-bc43-cd1bbb6df87d
MagnifyGravity SpellDefinition SpellDefinition 79f50c24-d249-5283-b784-10d3ffa9b444
MantleOfThorns SpellDefinition SpellDefinition e104287c-c35e-5355-b4ab-527a4a46860e
@@ -11569,7 +11753,9 @@ PetalStorm SpellDefinition SpellDefinition 4cc7aea6-dee9-5631-8b2a-f0e497b71bde
PoisonWave SpellDefinition SpellDefinition eb22297a-4da6-5f24-87e8-ddcd2b957bd0
PowerWordHeal SpellDefinition SpellDefinition f9e2477f-fbee-5778-8ffc-c0380c0dea7d
PowerWordKill SpellDefinition SpellDefinition 7d618d6a-004a-539e-a996-e180936abe9c
+PrimalSavagery SpellDefinition SpellDefinition a24eee9b-4a70-559f-838b-76777d3f6666
ProtectThreshold SpellDefinition SpellDefinition edc0ec8d-88e4-5c7d-b60e-be3e6b2e9cf0
+PsionicBlast SpellDefinition SpellDefinition 6a0a898a-721a-5d5d-8375-ddb854508fc2
PsychicLance SpellDefinition SpellDefinition fff99143-9ef0-55fa-acd9-b0f52c733ff6
PsychicWhip SpellDefinition SpellDefinition d5f035f9-1550-509c-b809-526e8e8e87d4
PulseWave SpellDefinition SpellDefinition 71a547b1-f108-54be-95ee-56263814b30b
@@ -11591,11 +11777,36 @@ SpellPowerAncientForestHerbalBrewDamageAffinityPoisonResistance SpellDefinition
SpellPowerAncientForestHerbalBrewDamageAffinityRadiantResistance SpellDefinition SpellDefinition 4c7e7d8d-bec0-5a61-b51d-bfd5c8691d9b
SpellPowerAncientForestHerbalBrewHealing SpellDefinition SpellDefinition 386504d1-7b38-507e-aead-72cff7b59045
SpellPowerAncientForestHerbalBrewToxifying SpellDefinition SpellDefinition add7f9ba-d313-530a-b74c-939114f046ba
+SpellPowerArchfeyDarkDelirium SpellDefinition SpellDefinition b3699b9c-090c-5839-83a7-ec038df7312b
+SpellPowerArchfeyDarkDeliriumCharmed SpellDefinition SpellDefinition 6f74477b-e3b7-5e7d-ab8a-f309cd58060e
+SpellPowerArchfeyDarkDeliriumFrightened SpellDefinition SpellDefinition dc490b0a-8582-5a7a-8c88-560118a21c53
+SpellPowerArchfeyFeyPresence SpellDefinition SpellDefinition 3fcaab13-14cc-5433-af2a-fe0467609875
+SpellPowerArchfeyFeyPresenceCharmed SpellDefinition SpellDefinition 10e5a1fc-ed53-52da-adbe-cb9203585605
+SpellPowerArchfeyFeyPresenceFrightened SpellDefinition SpellDefinition ba0355d3-7ed8-5427-9556-e143341a928e
SpellPowerBarbarianBrutalStrike SpellDefinition SpellDefinition 1f693d43-7545-5e75-8ec0-a802697678d1
SpellPowerBarbarianBrutalStrikeForcefulBlow SpellDefinition SpellDefinition 0369ecca-e3ab-5077-819e-18e67a39a7b5
SpellPowerBarbarianBrutalStrikeHamstringBlow SpellDefinition SpellDefinition 877fcfcc-0b27-507f-8425-4c967f4a8088
SpellPowerBarbarianBrutalStrikeStaggeringBlow SpellDefinition SpellDefinition 8614e598-a12d-52f2-b0e0-6e135f67b9a1
SpellPowerBarbarianBrutalStrikeSunderingBlow SpellDefinition SpellDefinition a498cab1-90a7-5ea8-96a1-ec855bcd3776
+SpellPowerBorrowedKnowledge SpellDefinition SpellDefinition 401c2595-0513-5e7c-baae-7980f2aea24e
+SpellPowerBorrowedKnowledgeAcrobatics SpellDefinition SpellDefinition 0369db1d-0a13-51d1-8f26-1d9db6f70950
+SpellPowerBorrowedKnowledgeAnimalHandling SpellDefinition SpellDefinition a2d29cf1-a198-5c23-a9b1-b5f1913d727b
+SpellPowerBorrowedKnowledgeArcana SpellDefinition SpellDefinition 739b1269-9e75-57ba-8a6d-c1de08c0f8f2
+SpellPowerBorrowedKnowledgeAthletics SpellDefinition SpellDefinition b119141a-abaf-583d-9704-0332cc1f94ac
+SpellPowerBorrowedKnowledgeDeception SpellDefinition SpellDefinition 36fdb57a-5986-5ffe-ba03-d2bb666e6864
+SpellPowerBorrowedKnowledgeHistory SpellDefinition SpellDefinition 1aac993d-0b89-5bc7-9bfd-dbb7c4746a92
+SpellPowerBorrowedKnowledgeInsight SpellDefinition SpellDefinition 2c9965f4-fa6e-543c-87a3-04e2662ab4c0
+SpellPowerBorrowedKnowledgeIntimidation SpellDefinition SpellDefinition 67c09efb-4bd1-5555-804d-66c7ddd816ae
+SpellPowerBorrowedKnowledgeInvestigation SpellDefinition SpellDefinition 02803037-c457-5a2e-98f4-e9d17d6981ae
+SpellPowerBorrowedKnowledgeMedecine SpellDefinition SpellDefinition d54478c3-4675-52f2-8fb3-c3f6f141f2cc
+SpellPowerBorrowedKnowledgeNature SpellDefinition SpellDefinition 9b0137a5-5f7e-5008-a294-c31a932c360e
+SpellPowerBorrowedKnowledgePerception SpellDefinition SpellDefinition 86c1a28f-86c1-57cd-9f5a-ed19f215b84e
+SpellPowerBorrowedKnowledgePerformance SpellDefinition SpellDefinition 5bcd74f2-5354-53bf-bb7f-bd3ce0e29bf9
+SpellPowerBorrowedKnowledgePersuasion SpellDefinition SpellDefinition 70956e0a-629a-53d2-aba3-26d7bb466f88
+SpellPowerBorrowedKnowledgeReligion SpellDefinition SpellDefinition 56f46b4e-9921-5196-b802-5bda032abd9c
+SpellPowerBorrowedKnowledgeSleightOfHand SpellDefinition SpellDefinition 84a7a3b8-3dd6-5777-8fc8-0ab6e83339c8
+SpellPowerBorrowedKnowledgeStealth SpellDefinition SpellDefinition 2f5aff60-a5ea-5d56-9b78-8760a80d6336
+SpellPowerBorrowedKnowledgeSurvival SpellDefinition SpellDefinition 15cae790-6961-5ef0-a1a6-b961f0ad8f3b
SpellPowerCelestialHealingLight SpellDefinition SpellDefinition b5250bcd-e471-5a1a-9ec2-c1a58f8dc38d
SpellPowerChaosBoltDamageAcid SpellDefinition SpellDefinition c5da32ed-b09d-57ae-afab-c87aa1f2ad56
SpellPowerChaosBoltDamageCold SpellDefinition SpellDefinition 996ef8d1-b8aa-57db-ac20-530718614b36
@@ -11845,6 +12056,7 @@ SpiritShroudDamageCold SpellDefinition SpellDefinition fcadd10d-12c8-5264-ac1c-8
SpiritShroudDamageNecrotic SpellDefinition SpellDefinition 4c95d0f5-67ae-5955-bcfe-5926e58332ef
SpiritShroudDamageRadiant SpellDefinition SpellDefinition f762d6fb-a31a-5b56-b7c4-32f9df9c13df
StaggeringSmite SpellDefinition SpellDefinition 3a1b232b-486f-5dcb-b5ab-1ab4bd378fb7
+StarryWisp SpellDefinition SpellDefinition 9856da86-1888-5630-8647-3a003421a268
SteelWhirlwind SpellDefinition SpellDefinition ab7f50cb-6f73-57c6-b96b-f06ac4ed17b3
StrikeWithTheWind SpellDefinition SpellDefinition d641e4ac-7291-5516-a07c-f45b6444dcfe
SunlightBlade SpellDefinition SpellDefinition 62effe92-a4c1-58ed-a9a0-06f1a64e8c8e
@@ -11868,6 +12080,7 @@ WitchBolt SpellDefinition SpellDefinition 006bdb1e-41ef-51a1-b24a-cc14305fe958
WitherAndBloom SpellDefinition SpellDefinition ad45f375-1d37-51e8-9eb2-9bd15dad839c
Wrack SpellDefinition SpellDefinition 4981f583-1a5c-59aa-86ba-d430a6a89969
WrathfulSmite SpellDefinition SpellDefinition c1a7d5e1-d9f5-589a-a27e-8b97119c31c3
+SpellListArchfey SpellListDefinition SpellListDefinition 65701020-407c-5faa-9da2-0509cf663a8b
SpellListBackgroundDevoted SpellListDefinition SpellListDefinition 7d820750-3307-591e-9b98-44ae3a6f0d52
SpellListBolgrif SpellListDefinition SpellListDefinition 3fc52c3c-e2e2-516e-8c9c-06ef13b2ffd9
SpellListCelestial SpellListDefinition SpellListDefinition e36b57f2-ed56-57b1-9525-de4da5517180
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronArchfey.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronArchfey.json
new file mode 100644
index 0000000000..a1e7ca4821
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronArchfey.json
@@ -0,0 +1,59 @@
+{
+ "$type": "CharacterSubclassDefinition, Assembly-CSharp",
+ "featureUnlocks": [
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:MagicAffinityArchfeyExpandedSpells:d69f5e6c-7ae8-5ba4-a347-e7a8cc180e86",
+ "level": 1
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:FeatureSetArchfeyFeyPresence:c221e65e-4c8d-5627-9a00-09e4eb98ffd5",
+ "level": 1
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:PowerArchfeyMistyEscape:e5f57148-f825-55e8-88d0-2f18a58108b3",
+ "level": 6
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:FeatureSetArchfeyBeguilingDefenses:700ca146-9ab3-575e-b40f-a7f631302e5b",
+ "level": 10
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:FeatureSetArchfeyDarkDelirium:bf7a8867-7e4c-5dec-99d1-81f3fc50ad6c",
+ "level": 14
+ }
+ ],
+ "personalityFlagOccurences": [],
+ "morphotypeSubclassFilterTag": "Default",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Subclass/&PatronArchfeyTitle",
+ "description": "Subclass/&PatronArchfeyDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "e2e75a8dfa5339a4486b00747f23310e",
+ "m_SubObjectName": "Ranger_Shadow_Tamer",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "1e1b6d60-7803-576c-ae5b-a46be31a6107",
+ "contentPack": 9999,
+ "name": "PatronArchfey"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/WayOfTheStormSoul.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/WayOfTheStormSoul.json
new file mode 100644
index 0000000000..0a15933e02
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/WayOfTheStormSoul.json
@@ -0,0 +1,54 @@
+{
+ "$type": "CharacterSubclassDefinition, Assembly-CSharp",
+ "featureUnlocks": [
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:AdditionalDamageWayOfTheStormSoulDiscipleOfStorms:cf11762c-529f-5849-809e-f5265af350f5",
+ "level": 3
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:FeatureSetWayOfTheStormSoulLightningWarrior:0d28ebfa-b5ac-5055-9749-eb9cd158e724",
+ "level": 6
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:PowerWayOfTheStormSoulTempestFury:d5c258ee-00be-573a-a2d0-462d4eb8dbc6",
+ "level": 11
+ },
+ {
+ "$type": "FeatureUnlockByLevel, Assembly-CSharp",
+ "featureDefinition": "Definition:FeatureSetWayOfTheStormSoulEyeOfTheStorm:a5f1e36a-8f82-5e98-99e1-4711b6dd9ce2",
+ "level": 17
+ }
+ ],
+ "personalityFlagOccurences": [],
+ "morphotypeSubclassFilterTag": "Default",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Subclass/&WayOfTheStormSoulTitle",
+ "description": "Subclass/&WayOfTheStormSoulDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "2e87609ff921809408f223c91150a5f8",
+ "m_SubObjectName": "Cleric_Storm",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0cb93a28-07eb-5c38-9412-310f09042dae",
+ "contentPack": 9999,
+ "name": "WayOfTheStormSoul"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyBeguilingDefenses.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyBeguilingDefenses.json
new file mode 100644
index 0000000000..37bac82163
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyBeguilingDefenses.json
@@ -0,0 +1,292 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": "Definition:ConditionCharmed:b625b88863e83524ba652432379348a9",
+ "conditionType": "Detrimental",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [
+ "Damaged"
+ ],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "876a397905fd63a43ae7963b339a4012",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "97339939e0d41f94f8f9ae0fb9049fb6",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "coldParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "fireParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "lightningParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "poisonParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Rules/&ConditionCharmedTitle",
+ "description": "Rules/&ConditionCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "41d232a17243bb24ab17e90b8f5cb1e8",
+ "m_SubObjectName": "ConditionCharmed",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e078b30d-df8e-52ea-aa2e-8ab260e23d75",
+ "contentPack": 9999,
+ "name": "ConditionArchfeyBeguilingDefenses"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumCharmed.json
new file mode 100644
index 0000000000..1a45a405fc
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumCharmed.json
@@ -0,0 +1,292 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": "Definition:ConditionCharmed:b625b88863e83524ba652432379348a9",
+ "conditionType": "Detrimental",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [
+ "Damaged"
+ ],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "876a397905fd63a43ae7963b339a4012",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "97339939e0d41f94f8f9ae0fb9049fb6",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "coldParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "fireParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "lightningParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "poisonParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Rules/&ConditionCharmedTitle",
+ "description": "Rules/&ConditionCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "41d232a17243bb24ab17e90b8f5cb1e8",
+ "m_SubObjectName": "ConditionCharmed",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6ee74407-fd8a-5570-8e37-669e09c710e5",
+ "contentPack": 9999,
+ "name": "ConditionArchfeyDarkDeliriumCharmed"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumFrightened.json
new file mode 100644
index 0000000000..2e3654d141
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyDarkDeliriumFrightened.json
@@ -0,0 +1,292 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515",
+ "conditionType": "Detrimental",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [
+ "Damaged"
+ ],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "40ab6dfd54701724ab98b3f91c846a41",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "09122c24b2751d34a89764b8407ef696",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "coldParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "fireParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "lightningParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "poisonParticleParameters": {
+ "$type": "ConditionParticleParameters, Assembly-CSharp",
+ "startParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "endParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ }
+ },
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Rules/&ConditionFrightenedTitle",
+ "description": "Rules/&ConditionFrightenedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "6999cc364fd0b374a8acf35bac34d694",
+ "m_SubObjectName": "ConditionFrightened",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "c2dca090-94d5-5746-9e68-f0e214015078",
+ "contentPack": 9999,
+ "name": "ConditionArchfeyDarkDeliriumFrightened"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyMistyEscape.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyMistyEscape.json
new file mode 100644
index 0000000000..db64bdef1d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArchfeyMistyEscape.json
@@ -0,0 +1,159 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ActionAffinityArchfeyMistyEscape:7400ca46-da8c-5963-b753-c446231521ad"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": true,
+ "silentWhenRemoved": true,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [
+ "AnyBattleTurnEnd"
+ ],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "84e8d733-2617-5b85-9336-c23b138f144c",
+ "contentPack": 9999,
+ "name": "ConditionArchfeyMistyEscape"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAcrobatics.json
new file mode 100644
index 0000000000..80f9bd6d3c
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAcrobatics.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeAcrobatics:f00b6cdf-a402-51e0-857b-4462a09507a1"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&AcrobaticsTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "40404fe3-7281-5b1a-b308-5a5a5b7ad56b",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeAcrobatics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAnimalHandling.json
new file mode 100644
index 0000000000..4347c7f618
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAnimalHandling.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeAnimalHandling:f1637d0e-76f8-5dde-8932-6e864fb9a638"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&AnimalHandlingTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "4e5c44fb-5c87-51b7-a1c1-c3c6d3132c35",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeAnimalHandling"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeArcana.json
new file mode 100644
index 0000000000..c7a88e8731
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeArcana.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeArcana:6e912f29-b119-51c4-991d-8375b558aa15"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&ArcanaTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f18b46c7-d41c-5549-9eb1-6837a402b92b",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeArcana"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAthletics.json
new file mode 100644
index 0000000000..750d1b7950
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeAthletics.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeAthletics:aed5d6d5-6b19-5c3e-9f0d-92d122dc7bf7"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&AthleticsTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "49b83c67-fb00-5bf9-beff-f93adba637d2",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeAthletics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeDeception.json
new file mode 100644
index 0000000000..42f13ef07b
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeDeception.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeDeception:0ade0202-f9d8-5f75-a794-29e4f7ee138c"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&DeceptionTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "563f0341-6492-577e-8578-bb3c58b6ef52",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeDeception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeHistory.json
new file mode 100644
index 0000000000..2c3789f6e5
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeHistory.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeHistory:f4bb1231-ab77-525b-9a5c-bae1d0682afe"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&HistoryTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f3c1e6fc-923d-59ae-a380-dd5219eb895e",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeHistory"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInsight.json
new file mode 100644
index 0000000000..81e58ba783
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInsight.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeInsight:11107ee9-5d4f-50f8-9fc0-c65d888136dd"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&InsightTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "79f2e2bb-85e3-5e09-af17-6e567e05c16d",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeInsight"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeIntimidation.json
new file mode 100644
index 0000000000..41858649a7
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeIntimidation.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeIntimidation:211b9533-de12-51a2-a273-7db02b05888c"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&IntimidationTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "997783d6-3853-57a4-b901-684239eb4db6",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeIntimidation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInvestigation.json
new file mode 100644
index 0000000000..174ca4a238
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeInvestigation.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeInvestigation:0a2bae82-2015-52d2-9d0a-549e4f9fb13d"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&InvestigationTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "8e0bc4a5-0508-5064-a692-9b9395982712",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeInvestigation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeMedecine.json
new file mode 100644
index 0000000000..c1170c4cfb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeMedecine.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeMedecine:9391faf2-8a3b-5332-a589-84d2105c121f"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&MedecineTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "9fb5554e-639f-50f0-a829-44e008331669",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeMedecine"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeNature.json
new file mode 100644
index 0000000000..aecb9234e2
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeNature.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeNature:dfc8f176-2fd7-552f-a81b-311bdb9b9c65"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&NatureTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "556c235b-1228-5806-9c30-c2f1005ed772",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeNature"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerception.json
new file mode 100644
index 0000000000..96be0676cc
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerception.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgePerception:6a743409-aefb-5d8b-a119-87c42d8a17df"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PerceptionTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0f77147e-c200-52ec-a788-12ec7b86772d",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgePerception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerformance.json
new file mode 100644
index 0000000000..01d7a5f239
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePerformance.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgePerformance:7768b601-192d-5998-856d-44ed765419c9"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PerformanceTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "28d4af7f-5004-5b38-8862-03c2c66ce937",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgePerformance"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePersuasion.json
new file mode 100644
index 0000000000..7bab41099d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgePersuasion.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgePersuasion:823819e3-5110-5392-963a-159b66b19df8"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PersuasionTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "b63ca5da-1a7c-5eeb-a5c1-6a309ea19f8d",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgePersuasion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeReligion.json
new file mode 100644
index 0000000000..79982117fd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeReligion.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeReligion:7ffd1e65-3c2d-5c27-b021-f78e9b08179e"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&ReligionTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e3ef0505-e650-5dea-8f16-f94e634941a2",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeReligion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSleightOfHand.json
new file mode 100644
index 0000000000..70ac4fc042
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSleightOfHand.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeSleightOfHand:9628be64-b04d-54b2-a0a5-4c16ec401077"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&SleightOfHandTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "81fd2d1e-31a6-56d4-b6c1-047e7baefb22",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeSleightOfHand"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeStealth.json
new file mode 100644
index 0000000000..ccc2debacb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeStealth.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeStealth:d4943b7b-a417-5fd1-a1fb-e8a13adb2849"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&StealthTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "dd1aad9f-d855-5d47-9c03-2292aa9d03d7",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeStealth"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSurvival.json
new file mode 100644
index 0000000000..a218376ed5
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionBorrowedKnowledgeSurvival.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:ProficiencyBorrowedKnowledgeSurvival:f803f7ad-298d-5c3b-a8f9-252c97bca790"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&SurvivalTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e058de2206b3f74881faf121820130b",
+ "m_SubObjectName": "ConditionEnhancedAbility",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "5c9c472d-465b-5040-8155-fa8a96fbe1f0",
+ "contentPack": 9999,
+ "name": "ConditionBorrowedKnowledgeSurvival"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefense.json
new file mode 100644
index 0000000000..adc50ff42b
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefense.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Detrimental",
+ "features": [
+ "Definition:CombatAffinityFeatGreatWeaponDefense:3f2c5bad-4694-582b-bb14-ee2b33b24bea"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Condition/&ConditionFeatGreatWeaponDefenseTitle",
+ "description": "Condition/&ConditionFeatGreatWeaponDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "972ed4fda488202498a29dc8a698c8e8",
+ "m_SubObjectName": "ConditionNegative",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "58e6a0c3-8bc0-51bc-acd1-9c46bf83276c",
+ "contentPack": 9999,
+ "name": "ConditionFeatGreatWeaponDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefenseSelf.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefenseSelf.json
new file mode 100644
index 0000000000..f664eefecd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFeatGreatWeaponDefenseSelf.json
@@ -0,0 +1,155 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": true,
+ "silentWhenRemoved": true,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f0df557b-d844-5ad1-afa9-16ef0a2c21ec",
+ "contentPack": 9999,
+ "name": "ConditionFeatGreatWeaponDefenseSelf"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionIntellectFortress.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionIntellectFortress.json
new file mode 100644
index 0000000000..e1e11ad133
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionIntellectFortress.json
@@ -0,0 +1,158 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:DamageAffinityPsychicResistance:6bcf228fbe370f34fa7cf0d8420998eb",
+ "Definition:SavingThrowAffinityIntellectFortress:87adb0af-6410-5a1e-852b-19bb394b6ac0"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&IntellectFortressTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "fb9c96de68451564f9edc22a0a7b9de3",
+ "m_SubObjectName": "ConditionProtectedInsideMagicCircle",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7a900104-7b6b-5afb-80cc-defc922d98c7",
+ "contentPack": 9999,
+ "name": "ConditionIntellectFortress"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionKineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionKineticJaunt.json
new file mode 100644
index 0000000000..6c4ba4f484
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionKineticJaunt.json
@@ -0,0 +1,159 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:CombatAffinityDisengaging:9dda4a1eb70c8f94d9fb16a802947a2a",
+ "Definition:MovementAffinityKineticJaunt:85a4ac2e-feaf-5e7f-8115-35bdb0a8a286",
+ "Definition:MoveThroughEnemyModifierKineticJaunt:d9780b4f-8fc3-58b5-bb80-d00bb576bfef"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&KineticJauntTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "330874c01be3cf6408fc2d0a8e697c0a",
+ "m_SubObjectName": "ConditionPositiveMovement",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "b82b1e95-5d01-582f-aad0-33c9c29f1f22",
+ "contentPack": 9999,
+ "name": "ConditionKineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkEmptyBody.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkEmptyBody.json
index 495217c2c9..065a7f6a58 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkEmptyBody.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkEmptyBody.json
@@ -5,16 +5,16 @@
"conditionType": "Beneficial",
"features": [
"Definition:DamageAffinityAcidResistance:10a85b220b55a28479e26b695ba7392d",
+ "Definition:DamageAffinityBludgeoningResistance:956f9745b15c6904d87322861723d5c7",
"Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd",
"Definition:DamageAffinityFireResistance:65d64edf05bfa284999522d4c5375d17",
"Definition:DamageAffinityLightningResistance:443d9129d7904f14b8d9977881f95c08",
- "Definition:DamageAffinityMonkEmptyBodyBludgeoningResistance:2d3bc11a-96f8-5c46-9bc2-f4999bd06c3b",
- "Definition:DamageAffinityMonkEmptyBodyPiercingResistance:c59b850e-60ee-5652-a8ae-1e1df000b5d0",
- "Definition:DamageAffinityMonkEmptyBodySlashingResistance:8cb3d5fd-9e4f-5793-804e-34cbea23c6ae",
"Definition:DamageAffinityNecroticResistance:ee5f1fbda4f516844b493f08fdd4fb5a",
+ "Definition:DamageAffinityPiercingResistance:b6c93ec66a0ec9747b5c02f9db3091ff",
"Definition:DamageAffinityPoisonResistance:acd13ccc3c05d474a8a4472b0cc01a75",
"Definition:DamageAffinityPsychicResistance:6bcf228fbe370f34fa7cf0d8420998eb",
"Definition:DamageAffinityRadiantResistance:8ea0757b1c53c0446a9d83a4f0c3ca4d",
+ "Definition:DamageAffinitySlashingResistance:2345f12303c12854fad8b09556da53d6",
"Definition:DamageAffinityThunderResistance:510045c677352854ca27ebea37c85d02"
],
"allowMultipleInstances": false,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism.json
new file mode 100644
index 0000000000..bd5e96c6b1
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism:8d954034-4de8-58ba-8063-4b642b27b5bd"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": true,
+ "silentWhenRemoved": true,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "5c6595a0-25fa-52e5-b6d7-20b3d92baf2e",
+ "contentPack": 9999,
+ "name": "ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsHeightenedMetabolism.json
new file mode 100644
index 0000000000..bd8099d6af
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkFlurryOfBlowsHeightenedMetabolism.json
@@ -0,0 +1,157 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism:743a6180-a14a-51c5-b9ae-d71182c72991"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": true,
+ "silentWhenRemoved": true,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "43f8b6b1-1364-5b45-863c-7a57f063434d",
+ "contentPack": 9999,
+ "name": "ConditionMonkFlurryOfBlowsHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkSuperiorDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkSuperiorDefense.json
new file mode 100644
index 0000000000..d50667540e
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMonkSuperiorDefense.json
@@ -0,0 +1,170 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Beneficial",
+ "features": [
+ "Definition:DamageAffinityAcidResistance:10a85b220b55a28479e26b695ba7392d",
+ "Definition:DamageAffinityBludgeoningResistance:956f9745b15c6904d87322861723d5c7",
+ "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd",
+ "Definition:DamageAffinityFireResistance:65d64edf05bfa284999522d4c5375d17",
+ "Definition:DamageAffinityLightningResistance:443d9129d7904f14b8d9977881f95c08",
+ "Definition:DamageAffinityNecroticResistance:ee5f1fbda4f516844b493f08fdd4fb5a",
+ "Definition:DamageAffinityPiercingResistance:b6c93ec66a0ec9747b5c02f9db3091ff",
+ "Definition:DamageAffinityPoisonResistance:acd13ccc3c05d474a8a4472b0cc01a75",
+ "Definition:DamageAffinityPsychicResistance:6bcf228fbe370f34fa7cf0d8420998eb",
+ "Definition:DamageAffinityRadiantResistance:8ea0757b1c53c0446a9d83a4f0c3ca4d",
+ "Definition:DamageAffinitySlashingResistance:2345f12303c12854fad8b09556da53d6",
+ "Definition:DamageAffinityThunderResistance:510045c677352854ca27ebea37c85d02"
+ ],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [
+ "Definition:ConditionIncapacitated:24d96cfe3b77b9a4b951bfb0e02fc018"
+ ],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "f0a59cf0508ad4646a12b2ed976feffa",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Condition/&ConditionMonkSuperiorDefenseTitle",
+ "description": "Condition/&ConditionMonkSuperiorDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "04f42c446dd0c5143bcc4d3b56edfbb2",
+ "m_SubObjectName": "ConditionShieldedByFaith",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7bfd8efa-e1d4-5a65-af38-da7cd44d8da9",
+ "contentPack": 9999,
+ "name": "ConditionMonkSuperiorDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStarryWisp.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStarryWisp.json
new file mode 100644
index 0000000000..5eb0cc0436
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStarryWisp.json
@@ -0,0 +1,155 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Detrimental",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": true,
+ "silentWhenRemoved": true,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": false,
+ "durationType": "Hour",
+ "durationParameterDie": "D4",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "recurrentEffectParticleReference": null,
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": false,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Condition/&ConditionStarryWispTitle",
+ "description": "Condition/&ConditionStarryWispDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "0af77d521f0cb8a4381f7316dc2e50e0",
+ "m_SubObjectName": "ConditionLightSensitive",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "04d027d6-5059-5ab9-9a75-c6566a19d3e6",
+ "contentPack": 9999,
+ "name": "ConditionStarryWisp"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWayOfTheStormSoulEyeOfTheStorm.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWayOfTheStormSoulEyeOfTheStorm.json
new file mode 100644
index 0000000000..03b29be530
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWayOfTheStormSoulEyeOfTheStorm.json
@@ -0,0 +1,160 @@
+{
+ "$type": "ConditionDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "parentCondition": null,
+ "conditionType": "Detrimental",
+ "features": [],
+ "allowMultipleInstances": false,
+ "silentWhenAdded": false,
+ "silentWhenRemoved": false,
+ "silentWhenRefreshed": false,
+ "terminateWhenRemoved": false,
+ "specialDuration": true,
+ "durationType": "Minute",
+ "durationParameterDie": "D1",
+ "durationParameter": 1,
+ "forceTurnOccurence": false,
+ "turnOccurence": "EndOfSourceTurn",
+ "specialInterruptions": [],
+ "interruptionRequiresSavingThrow": false,
+ "interruptionSavingThrowComputationMethod": "SaveOverride",
+ "interruptionSavingThrowAbility": "",
+ "interruptionDamageThreshold": 0,
+ "keepConditionIfSavingThrowSucceeds": false,
+ "interruptionSavingThrowAffinity": "None",
+ "conditionTags": [],
+ "recurrentEffectForms": [],
+ "cancellingConditions": [],
+ "additionalDamageWhenHit": false,
+ "additionalDamageTypeDetermination": "Specific",
+ "additionalDamageType": "",
+ "additionalDamageQuantity": "AbilityBonus",
+ "additionalDamageDieType": "D1",
+ "additionalDamageDieNumber": 1,
+ "additionalConditionWhenHit": false,
+ "additionalCondition": null,
+ "additionalConditionDurationType": "Round",
+ "additionalConditionDurationParameter": 1,
+ "additionalConditionTurnOccurenceType": "StartOfTurn",
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "recurrentEffectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "characterShaderReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidParticleParameters": null,
+ "coldParticleParameters": null,
+ "fireParticleParameters": null,
+ "lightningParticleParameters": null,
+ "poisonParticleParameters": null,
+ "overrideCharacterShaderColors": false,
+ "firstCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "secondCharacterShaderColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "timeToWaitBeforeApplyingShader": 0.5,
+ "timeToWaitBeforeRemovingShader": 0.5,
+ "possessive": true,
+ "amountOrigin": "None",
+ "baseAmount": 0,
+ "additiveAmount": false,
+ "sourceAbilityBonusMinValue": 1,
+ "subsequentOnRemoval": null,
+ "subsequentHasSavingThrow": false,
+ "subsequentSavingThrowAbilityScore": "Constitution",
+ "subsequentVariableForDC": "FrenzyExhaustionDC",
+ "subsequentDCIncrease": 5,
+ "effectFormsOnRemoved": [],
+ "forceBehavior": false,
+ "addBehavior": false,
+ "fearSource": false,
+ "battlePackage": null,
+ "explorationPackage": null,
+ "removedFromTheGame": false,
+ "permanentlyRemovedIfExtraPlanar": false,
+ "refundReceivedDamageWhenRemoved": false,
+ "followSourcePosition": false,
+ "disolveCharacterOnDeath": false,
+ "disolveParameters": {
+ "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp",
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "colorWidth": 0.0,
+ "noiseScale": 5.0,
+ "hueScale": 0.0,
+ "vertexOffset": 0.0,
+ "curve": {
+ "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule"
+ },
+ "startAfterDeathAnimation": false,
+ "duration": 0.0
+ },
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle",
+ "description": "Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "37a0b9c04d666bc4eaf93a2a5ad0e2d2",
+ "m_SubObjectName": "ConditionShockingGrasp",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7e2ca690-10e0-5456-b13d-23da4d35ca65",
+ "contentPack": 9999,
+ "name": "ConditionWayOfTheStormSoulEyeOfTheStorm"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedCha.json
index 7dedd7261e..cc3f2dabec 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedInt.json
index d0b2cf3ab9..aea75d6295 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedWis.json
index 0673868c52..6e0e5c279d 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatAegisTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedCha.json
index 733edb7904..e510cb6dd3 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedInt.json
index d0b7683178..878447d68c 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedWis.json
index 599fbb5034..7edd30baa4 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatCelestialTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedCha.json
index e62590654e..f14412572b 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedInt.json
index bb1fbd350d..5645db9af8 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedWis.json
index 4afefe3cfe..eced8419da 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFlameTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupDefenseCombat.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupDefenseCombat.json
index f7d03be94e..0d2b1924c8 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupDefenseCombat.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupDefenseCombat.json
@@ -16,7 +16,7 @@
"$type": "GuiPresentation, Assembly-CSharp",
"hidden": true,
"title": "Feat/&FeatGroupDefenseCombatTitle",
- "description": "Always Ready, Cloak and Dagger, Defensive Duelist, Dual Wielder, Fade Away, Raise Shield, Shield Bash, Shield Master, Twin Blade, Unarmored Expert",
+ "description": "Always Ready, Cloak and Dagger, Defensive Duelist, Dual Wielder, Fade Away, Great Weapon Defense, Raise Shield, Shield Bash, Shield Master, Twin Blade, Unarmored Expert",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfDexterity.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfDexterity.json
index 01e8595adf..a336b00dfa 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfDexterity.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfDexterity.json
@@ -16,7 +16,7 @@
"$type": "GuiPresentation, Assembly-CSharp",
"hidden": true,
"title": "Feat/&FeatGroupHalfDexterityTitle",
- "description": "Acrobat, Ambidextrous, Athlete [Dex], Awaken the Beast [Dex], Baleful Scion [Dex], Close Quarters [Dex], Creed of Misaye, Discretion of the Coedymwarth, Eager for Battle, Elven Accuracy [Dex], Fade Away [Dex], Forest Runner, Longsword Finesse, Moderately Armored [Dex], Old Tactics [Dex], Piercer [Dex], Revenant Blade [Dex], Second Chance [Dex], Slasher [Dex], Squat Nimbleness [Dex], Steady Aim, Stealthy, Uncanny Accuracy, Weapon Master [Dex]",
+ "description": "Acrobat, Ambidextrous, Athlete [Dex], Awaken the Beast [Dex], Baleful Scion [Dex], Close Quarters [Dex], Creed of Misaye, Discretion of the Coedymwarth, Eager for Battle, Elven Accuracy [Dex], Fade Away [Dex], Forest Runner, Longsword Finesse, Moderately Armored [Dex], Old Tactics [Dex], Piercer [Dex], Revenant Blade [Dex], Second Chance [Dex], Slasher [Dex], Squat Nimbleness [Dex], Steady Aim, Stealthy, Uncanny Accuracy, Weapon Master [Dex], Whirlwind Attack [Dex]",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfStrength.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfStrength.json
index 61a78e21ae..71b26b45da 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfStrength.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupHalfStrength.json
@@ -16,7 +16,7 @@
"$type": "GuiPresentation, Assembly-CSharp",
"hidden": true,
"title": "Feat/&FeatGroupHalfStrengthTitle",
- "description": "Athlete [Str], Awaken the Beast [Str], Baleful Scion [Str], Creed of Einar, Crusher [Str], Dragon Fear [Str], Dragon Hide [Str], Grudge Bearer [Str], Hardy [Str], Hauler, Heavy Armor Master, Might of the Iron Legion, Moderately Armored [Str], Old Tactics [Str], Orcish Aggression [Str], Orcish Fury [Str], Piercer [Str], Primal Rage [Str], Revenant Blade [Str], Slasher [Str], Squat Nimbleness [Str], Weapon Master [Str]",
+ "description": "Athlete [Str], Awaken the Beast [Str], Baleful Scion [Str], Creed of Einar, Crusher [Str], Dragon Fear [Str], Dragon Hide [Str], Grudge Bearer [Str], Hardy [Str], Hauler, Heavy Armor Master, Might of the Iron Legion, Moderately Armored [Str], Old Tactics [Str], Orcish Aggression [Str], Orcish Fury [Str], Piercer [Str], Primal Rage [Str], Revenant Blade [Str], Slasher [Str], Squat Nimbleness [Str], Weapon Master [Str], Whirlwind Attack [Str]",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupMeleeCombat.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupMeleeCombat.json
index 5607611f60..9a8c368ba6 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupMeleeCombat.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupMeleeCombat.json
@@ -16,7 +16,7 @@
"$type": "GuiPresentation, Assembly-CSharp",
"hidden": true,
"title": "Feat/&FeatGroupMeleeCombatTitle",
- "description": "Always Ready, Baleful Scion, Blade Mastery, Charger, Crusher, Daunting Push, Defensive Duelist, Devastating Strikes, Distracting Gambit, Elemental Touch, Fell Handed, Fencer, Great Weapon Master, Longsword Finesse, Old Tactics, Piercer, Polearm Master, Power Attack, Reckless Attack, Savage Attack, Shield Bash, Slasher, Spear Mastery, Trip Attack",
+ "description": "Always Ready, Baleful Scion, Blade Mastery, Charger, Crusher, Daunting Push, Defensive Duelist, Devastating Strikes, Distracting Gambit, Elemental Touch, Fell Handed, Fencer, Great Weapon Master, Longsword Finesse, Old Tactics, Piercer, Polearm Master, Power Attack, Reckless Attack, Savage Attack, Shield Bash, Slasher, Spear Mastery, Trip Attack, Whirlwind Attack",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupSupportCombat.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupSupportCombat.json
index 8e44af7c52..ec38ca7578 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupSupportCombat.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatGroupSupportCombat.json
@@ -16,7 +16,7 @@
"$type": "GuiPresentation, Assembly-CSharp",
"hidden": true,
"title": "Feat/&FeatGroupSupportCombatTitle",
- "description": "Call for Charge, Chef, Gift of the Chromatic Dragon, Hardy, Healer, Improved Critical, Inspiring Leader, Lucky, Mage Slayer, Menacing, Mender, Merciless, Poisoner, Precision Focused, Sentinel, Superior Critical, Thrown Weapons Master, Weapon Master",
+ "description": "Call for Charge, Chef, Gift of the Chromatic Dragon, Great Weapon Defense, Hardy, Healer, Improved Critical, Inspiring Leader, Lucky, Mage Slayer, Menacing, Mender, Merciless, Poisoner, Precision Focused, Sentinel, Superior Critical, Thrown Weapons Master, Weapon Master",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedCha.json
index 55401edeac..f01141761d 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedInt.json
index e94d52a94a..a870f3a9c4 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedWis.json
index 390ae52aae..31de6a73bb 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatIridescentTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedCha.json
index d858db72a7..3712405a8f 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedInt.json
index 90b2ec07f3..3e12f64a0b 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedWis.json
index 8ba1c44cce..7b38ac807d 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatPeregrinationTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedCha.json
index 891127d07c..3312c04264 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedInt.json
index 3ee42ca162..aa8fe1d682 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedWis.json
index 15f929e2a1..91dbfee100 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatRetinueTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedCha.json
index 05177d2297..da3bcc7098 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedInt.json
index 4c15c4992e..b531e80db4 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedWis.json
index af04ec6f2b..fb7d822002 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatShadowTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedCha.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedCha.json
index d311cdb4d4..b26c216be0 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedCha.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedCha.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedInt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedInt.json
index a69bdd7933..92816e69b9 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedInt.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedInt.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedWis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedWis.json
index 483fe0f9c4..d7f07d5b9e 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedWis.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatVerdantTouchedWis.json
@@ -1,7 +1,7 @@
{
"$type": "FeatDefinition, Assembly-CSharp",
"compatibleClassesPrerequisite": [],
- "mustCastSpellsPrerequisite": false,
+ "mustCastSpellsPrerequisite": true,
"compatibleRacesPrerequisite": [],
"minimalAbilityScorePrerequisite": false,
"minimalAbilityScoreValue": 13,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGreatWeaponDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGreatWeaponDefense.json
new file mode 100644
index 0000000000..e92b3643fb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGreatWeaponDefense.json
@@ -0,0 +1,45 @@
+{
+ "$type": "FeatDefinitionWithPrerequisites, SolastaUnfinishedBusiness",
+ "compatibleClassesPrerequisite": [],
+ "mustCastSpellsPrerequisite": false,
+ "compatibleRacesPrerequisite": [],
+ "minimalAbilityScorePrerequisite": false,
+ "minimalAbilityScoreValue": 13,
+ "minimalAbilityScoreName": "Strength",
+ "armorProficiencyPrerequisite": false,
+ "armorProficiencyCategory": "",
+ "hasFamilyTag": false,
+ "familyTag": "",
+ "knownFeatsPrerequisite": [],
+ "features": [
+ "Definition:AttributeModifierFeatGreatWeaponDefense:a9f334a7-a792-5cc1-a93a-9916396b6bd2",
+ "Definition:PowerGreatWeaponDefense:8c999720-7ce8-5e7f-8fc2-c0357738dc81"
+ ],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feat/&FeatGreatWeaponDefenseTitle",
+ "description": "Feat/&FeatGreatWeaponDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "79d82161-1f6e-5796-be34-1dda9e6498e8",
+ "contentPack": 9999,
+ "name": "FeatGreatWeaponDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGroupWhirlWindAttack.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGroupWhirlWindAttack.json
new file mode 100644
index 0000000000..ba628ed2b8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatGroupWhirlWindAttack.json
@@ -0,0 +1,42 @@
+{
+ "$type": "FeatDefinitionWithPrerequisites, SolastaUnfinishedBusiness",
+ "compatibleClassesPrerequisite": [],
+ "mustCastSpellsPrerequisite": false,
+ "compatibleRacesPrerequisite": [],
+ "minimalAbilityScorePrerequisite": false,
+ "minimalAbilityScoreValue": 13,
+ "minimalAbilityScoreName": "Strength",
+ "armorProficiencyPrerequisite": false,
+ "armorProficiencyCategory": "",
+ "hasFamilyTag": true,
+ "familyTag": "WhirlwindAttack",
+ "knownFeatsPrerequisite": [],
+ "features": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feat/&FeatGroupWhirlWindAttackTitle",
+ "description": "You become a master of whirling death, gaining the following benefits:\n• Increase your Strength or Dexterity by 1, to a maximum of 20.\n• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative). ",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "af0f2825-c6f1-5b79-9fe6-54bcdce40bf0",
+ "contentPack": 9999,
+ "name": "FeatGroupWhirlWindAttack"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessDex.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessDex.json
index da974d549d..eaf403e36b 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessDex.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessDex.json
@@ -13,7 +13,8 @@
"knownFeatsPrerequisite": [],
"features": [
"Definition:AttributeModifierCreed_Of_Misaye:74d55f601f8ad8246b18a19766524280",
- "Definition:MovementAffinitySquatNimbleness:2093b1a0-40a7-564a-988a-866411ecd32f"
+ "Definition:MovementAffinitySquatNimbleness:2093b1a0-40a7-564a-988a-866411ecd32f",
+ "Definition:ProficiencyFeatSquatNimblenessAcrobatics:bc612781-dacc-53dd-b622-a98ea5294bb8"
],
"guiPresentation": {
"$type": "GuiPresentation, Assembly-CSharp",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessStr.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessStr.json
index a16387eb47..e26a11c0ef 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessStr.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatSquatNimblenessStr.json
@@ -13,7 +13,8 @@
"knownFeatsPrerequisite": [],
"features": [
"Definition:AttributeModifierCreed_Of_Einar:38c2a545af534bb45ad92ffe7f30d62e",
- "Definition:MovementAffinitySquatNimbleness:2093b1a0-40a7-564a-988a-866411ecd32f"
+ "Definition:MovementAffinitySquatNimbleness:2093b1a0-40a7-564a-988a-866411ecd32f",
+ "Definition:ProficiencyFeatSquatNimblenessAthletics:f09658d1-a649-544e-9467-8ba8e37474a0"
],
"guiPresentation": {
"$type": "GuiPresentation, Assembly-CSharp",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackDex.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackDex.json
new file mode 100644
index 0000000000..4cdde24370
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackDex.json
@@ -0,0 +1,45 @@
+{
+ "$type": "FeatDefinitionWithPrerequisites, SolastaUnfinishedBusiness",
+ "compatibleClassesPrerequisite": [],
+ "mustCastSpellsPrerequisite": false,
+ "compatibleRacesPrerequisite": [],
+ "minimalAbilityScorePrerequisite": false,
+ "minimalAbilityScoreValue": 13,
+ "minimalAbilityScoreName": "Strength",
+ "armorProficiencyPrerequisite": false,
+ "armorProficiencyCategory": "",
+ "hasFamilyTag": true,
+ "familyTag": "WhirlwindAttack",
+ "knownFeatsPrerequisite": [],
+ "features": [
+ "Definition:AttributeModifierCreed_Of_Misaye:74d55f601f8ad8246b18a19766524280",
+ "Definition:PowerWhirlWindAttack:8d198daa-c292-55c4-8ec3-f8a88cceef82"
+ ],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feat/&FeatWhirlWindAttackDexTitle",
+ "description": "Feat/&FeatWhirlWindAttackDexDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "23b7b942-a633-5d0f-8905-d930eb352715",
+ "contentPack": 9999,
+ "name": "FeatWhirlWindAttackDex"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackStr.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackStr.json
new file mode 100644
index 0000000000..e3fe43186a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinitionWithPrerequisites/FeatWhirlWindAttackStr.json
@@ -0,0 +1,45 @@
+{
+ "$type": "FeatDefinitionWithPrerequisites, SolastaUnfinishedBusiness",
+ "compatibleClassesPrerequisite": [],
+ "mustCastSpellsPrerequisite": false,
+ "compatibleRacesPrerequisite": [],
+ "minimalAbilityScorePrerequisite": false,
+ "minimalAbilityScoreValue": 13,
+ "minimalAbilityScoreName": "Strength",
+ "armorProficiencyPrerequisite": false,
+ "armorProficiencyCategory": "",
+ "hasFamilyTag": true,
+ "familyTag": "WhirlwindAttack",
+ "knownFeatsPrerequisite": [],
+ "features": [
+ "Definition:AttributeModifierCreed_Of_Einar:38c2a545af534bb45ad92ffe7f30d62e",
+ "Definition:PowerWhirlWindAttack:8d198daa-c292-55c4-8ec3-f8a88cceef82"
+ ],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feat/&FeatWhirlWindAttackStrTitle",
+ "description": "Feat/&FeatWhirlWindAttackStrDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "afb13a4c-6d0b-58a6-9ed9-cfaa2e9e699f",
+ "contentPack": 9999,
+ "name": "FeatWhirlWindAttackStr"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkBodyAndMind.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkBodyAndMind.json
new file mode 100644
index 0000000000..4dd4ae643a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkBodyAndMind.json
@@ -0,0 +1,30 @@
+{
+ "$type": "FeatureDefinition, Assembly-CSharp",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&FeatureMonkBodyAndMindTitle",
+ "description": "Feature/&FeatureMonkBodyAndMindDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "096db43c-c066-5b97-b7ef-bcc56955d3e9",
+ "contentPack": 9999,
+ "name": "FeatureMonkBodyAndMind"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkHeightenedMetabolism.json
new file mode 100644
index 0000000000..0f57f3e1b8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMonkHeightenedMetabolism.json
@@ -0,0 +1,30 @@
+{
+ "$type": "FeatureDefinition, Assembly-CSharp",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&FeatureMonkHeightenedMetabolismTitle",
+ "description": "Feature/&FeatureMonkHeightenedMetabolismDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "4a54e95e-b93a-51d0-afe1-86204357ade5",
+ "contentPack": 9999,
+ "name": "FeatureMonkHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityArchfeyMistyEscape.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityArchfeyMistyEscape.json
new file mode 100644
index 0000000000..e646fde7ad
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityArchfeyMistyEscape.json
@@ -0,0 +1,54 @@
+{
+ "$type": "FeatureDefinitionActionAffinity, Assembly-CSharp",
+ "allowedActionTypes": [
+ true,
+ true,
+ true,
+ true,
+ true,
+ true
+ ],
+ "eitherMainOrBonus": false,
+ "maxAttacksNumber": -1,
+ "forbiddenActions": [
+ "AttackMain",
+ "AttackOff",
+ "Shove",
+ "ShoveBonus",
+ "AttackFree"
+ ],
+ "authorizedActions": [],
+ "restrictedActions": [],
+ "actionExecutionModifiers": [],
+ "specialBehaviour": "None",
+ "randomBehaviorDie": "D10",
+ "randomBehaviourOptions": [],
+ "rechargeReactionsAtEveryTurn": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7400ca46-da8c-5963-b753-c446231521ad",
+ "contentPack": 9999,
+ "name": "ActionAffinityArchfeyMistyEscape"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageInnovationVivisectionistMedicalAccuracy.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageInnovationVivisectionistMedicalAccuracy.json
index 80b96838d0..5e42b24bfa 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageInnovationVivisectionistMedicalAccuracy.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageInnovationVivisectionistMedicalAccuracy.json
@@ -6,8 +6,8 @@
"targetSide": "Enemy",
"otherSimilarAdditionalDamages": [],
"triggerCondition": "AdvantageOrNearbyAlly",
- "requiredProperty": "FinesseOrRangeWeapon",
- "attackModeOnly": false,
+ "requiredProperty": "Weapon",
+ "attackModeOnly": true,
"attackOnly": false,
"requiredTargetCondition": null,
"requiredTargetSenseType": "Darkvision",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulDiscipleOfStorms.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulDiscipleOfStorms.json
new file mode 100644
index 0000000000..5738eab0f9
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulDiscipleOfStorms.json
@@ -0,0 +1,80 @@
+{
+ "$type": "FeatureDefinitionAdditionalDamage, Assembly-CSharp",
+ "notificationTag": "DiscipleOfStorms",
+ "limitedUsage": "None",
+ "firstTargetOnly": true,
+ "targetSide": "Enemy",
+ "otherSimilarAdditionalDamages": [],
+ "triggerCondition": 9000,
+ "requiredProperty": "Unarmed",
+ "attackModeOnly": false,
+ "attackOnly": false,
+ "requiredTargetCondition": null,
+ "requiredTargetSenseType": "Darkvision",
+ "requiredTargetCreatureTag": "",
+ "requiredCharacterFamily": null,
+ "requiredSpecificSpell": null,
+ "requiredAncestryType": "Sorcerer",
+ "damageValueDetermination": "SameAsBaseWeaponDie",
+ "flatBonus": 0,
+ "damageDieType": "D6",
+ "damageDiceNumber": 0,
+ "additionalDamageType": "Specific",
+ "specificDamageType": "DamageLightning",
+ "ancestryTypeForDamageType": "Sorcerer",
+ "damageAdvancement": "None",
+ "diceByRankTable": [],
+ "familiesWithAdditionalDice": [],
+ "familiesDiceNumber": 1,
+ "ignoreCriticalDoubleDice": false,
+ "hasSavingThrow": false,
+ "savingThrowAbility": "Dexterity",
+ "dcComputation": "FixedValue",
+ "savingThrowDC": 10,
+ "savingThrowDCAbilityModifier": "Dexterity",
+ "damageSaveAffinity": "None",
+ "conditionOperations": [],
+ "addLightSource": false,
+ "lightSourceForm": null,
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "7ee946178940d56438b69281484e7a39",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidImpactParticleReference": null,
+ "coldImpactParticleReference": null,
+ "fireImpactParticleReference": null,
+ "lightningImpactParticleReference": null,
+ "poisonImpactParticleReference": null,
+ "computeDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle",
+ "description": "Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "cf11762c-529f-5849-809e-f5265af350f5",
+ "contentPack": 9999,
+ "name": "AdditionalDamageWayOfTheStormSoulDiscipleOfStorms"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulEyeOfTheStorm.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulEyeOfTheStorm.json
new file mode 100644
index 0000000000..c37ac6dedd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWayOfTheStormSoulEyeOfTheStorm.json
@@ -0,0 +1,91 @@
+{
+ "$type": "FeatureDefinitionAdditionalDamage, Assembly-CSharp",
+ "notificationTag": "",
+ "limitedUsage": "None",
+ "firstTargetOnly": true,
+ "targetSide": "Enemy",
+ "otherSimilarAdditionalDamages": [],
+ "triggerCondition": "AlwaysActive",
+ "requiredProperty": "UnarmedOrMonkWeapon",
+ "attackModeOnly": false,
+ "attackOnly": false,
+ "requiredTargetCondition": null,
+ "requiredTargetSenseType": "Darkvision",
+ "requiredTargetCreatureTag": "",
+ "requiredCharacterFamily": null,
+ "requiredSpecificSpell": null,
+ "requiredAncestryType": "Sorcerer",
+ "damageValueDetermination": "Die",
+ "flatBonus": 0,
+ "damageDieType": "D6",
+ "damageDiceNumber": 0,
+ "additionalDamageType": "SameAsBaseDamage",
+ "specificDamageType": "Radiant",
+ "ancestryTypeForDamageType": "Sorcerer",
+ "damageAdvancement": "None",
+ "diceByRankTable": [],
+ "familiesWithAdditionalDice": [],
+ "familiesDiceNumber": 1,
+ "ignoreCriticalDoubleDice": false,
+ "hasSavingThrow": false,
+ "savingThrowAbility": "Dexterity",
+ "dcComputation": "FixedValue",
+ "savingThrowDC": 10,
+ "savingThrowDCAbilityModifier": "Dexterity",
+ "damageSaveAffinity": "None",
+ "conditionOperations": [
+ {
+ "$type": "ConditionOperationDescription, Assembly-CSharp",
+ "hasSavingThrow": false,
+ "operation": "Add",
+ "conditionName": "",
+ "conditionDefinition": "Definition:ConditionWayOfTheStormSoulEyeOfTheStorm:7e2ca690-10e0-5456-b13d-23da4d35ca65",
+ "saveAffinity": "None",
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn"
+ }
+ ],
+ "addLightSource": false,
+ "lightSourceForm": null,
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "particlesBasedOnAncestryDamageType": false,
+ "ancestryType": "Sorcerer",
+ "acidImpactParticleReference": null,
+ "coldImpactParticleReference": null,
+ "fireImpactParticleReference": null,
+ "lightningImpactParticleReference": null,
+ "poisonImpactParticleReference": null,
+ "computeDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6adabe7e-e7b2-5684-8c72-9f64ba6647d3",
+ "contentPack": 9999,
+ "name": "AdditionalDamageWayOfTheStormSoulEyeOfTheStorm"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism.json
new file mode 100644
index 0000000000..2723c2a58d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism.json
@@ -0,0 +1,169 @@
+{
+ "$type": "FeatureDefinitionAttackModifier, Assembly-CSharp",
+ "triggerCondition": "AlwaysActive",
+ "requiredProperty": "None",
+ "attackRollModifierMethod": "None",
+ "attackRollUseCasterBonus": false,
+ "attackRollModifier": 0,
+ "attackRollAbilityScore": "",
+ "damageRollModifierMethod": "None",
+ "damageRollUseCasterBonus": false,
+ "damageRollModifier": 0,
+ "damageRollAbilityScore": "",
+ "additionalDamageDice": 0,
+ "canDualWieldNonLight": false,
+ "canAddAbilityBonusToSecondary": false,
+ "magicalWeapon": false,
+ "followUpStrike": false,
+ "followUpDamageDie": "D4",
+ "followUpAddAbilityBonus": true,
+ "additionalBonusAttackFromMain": false,
+ "additionalBonusUnarmedStrikeAttacksFromMain": true,
+ "additionalBonusUnarmedStrikeAttacksCount": 4,
+ "additionalBonusUnarmedStrikeAttacksTag": "FlurryOfBlows",
+ "additionalReturnMissileReactionAttack": false,
+ "additionalBonusSoraksBaneAttack": false,
+ "additionalMonsterAttack": false,
+ "additionalMonsterAttacksCount": 0,
+ "abilityScoreReplacement": "None",
+ "damageDieReplacement": "DieTypeByRankIfBetterThanNatural",
+ "dieTypeByRankTable": [
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 1,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 2,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 3,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 4,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 5,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 6,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 7,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 8,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 9,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 10,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 11,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 12,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 13,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 14,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 15,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 16,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 17,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 18,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 19,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 20,
+ "dieType": "D10"
+ }
+ ],
+ "replacedDieType": "D8",
+ "additionalEffectForms": [],
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "8d954034-4de8-58ba-8063-4b642b27b5bd",
+ "contentPack": 9999,
+ "name": "AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism.json
new file mode 100644
index 0000000000..d128b6b445
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttackModifier/AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism.json
@@ -0,0 +1,169 @@
+{
+ "$type": "FeatureDefinitionAttackModifier, Assembly-CSharp",
+ "triggerCondition": "AlwaysActive",
+ "requiredProperty": "None",
+ "attackRollModifierMethod": "None",
+ "attackRollUseCasterBonus": false,
+ "attackRollModifier": 0,
+ "attackRollAbilityScore": "",
+ "damageRollModifierMethod": "None",
+ "damageRollUseCasterBonus": false,
+ "damageRollModifier": 0,
+ "damageRollAbilityScore": "",
+ "additionalDamageDice": 0,
+ "canDualWieldNonLight": false,
+ "canAddAbilityBonusToSecondary": false,
+ "magicalWeapon": false,
+ "followUpStrike": false,
+ "followUpDamageDie": "D4",
+ "followUpAddAbilityBonus": true,
+ "additionalBonusAttackFromMain": false,
+ "additionalBonusUnarmedStrikeAttacksFromMain": true,
+ "additionalBonusUnarmedStrikeAttacksCount": 3,
+ "additionalBonusUnarmedStrikeAttacksTag": "FlurryOfBlows",
+ "additionalReturnMissileReactionAttack": false,
+ "additionalBonusSoraksBaneAttack": false,
+ "additionalMonsterAttack": false,
+ "additionalMonsterAttacksCount": 0,
+ "abilityScoreReplacement": "None",
+ "damageDieReplacement": "DieTypeByRankIfBetterThanNatural",
+ "dieTypeByRankTable": [
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 1,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 2,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 3,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 4,
+ "dieType": "D4"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 5,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 6,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 7,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 8,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 9,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 10,
+ "dieType": "D6"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 11,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 12,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 13,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 14,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 15,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 16,
+ "dieType": "D8"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 17,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 18,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 19,
+ "dieType": "D10"
+ },
+ {
+ "$type": "DieTypeByRank, Assembly-CSharp",
+ "rank": 20,
+ "dieType": "D10"
+ }
+ ],
+ "replacedDieType": "D8",
+ "additionalEffectForms": [],
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "743a6180-a14a-51c5-b9ae-d71182c72991",
+ "contentPack": 9999,
+ "name": "AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierFeatGreatWeaponDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierFeatGreatWeaponDefense.json
new file mode 100644
index 0000000000..07867bcab4
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierFeatGreatWeaponDefense.json
@@ -0,0 +1,37 @@
+{
+ "$type": "FeatureDefinitionAttributeModifier, Assembly-CSharp",
+ "modifiedAttribute": "ArmorClass",
+ "modifierOperation": "Additive",
+ "modifierValue": 1,
+ "modifierAbilityScore": "Constitution",
+ "situationalContext": 9004,
+ "minimum1": false,
+ "useBonusFromCaster": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feat/&FeatGreatWeaponDefenseTitle",
+ "description": "Feat/&FeatGreatWeaponDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a9f334a7-a792-5cc1-a93a-9916396b6bd2",
+ "contentPack": 9999,
+ "name": "AttributeModifierFeatGreatWeaponDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityFeatGreatWeaponDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityFeatGreatWeaponDefense.json
new file mode 100644
index 0000000000..2022d73918
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityFeatGreatWeaponDefense.json
@@ -0,0 +1,62 @@
+{
+ "$type": "FeatureDefinitionCombatAffinity, Assembly-CSharp",
+ "initiativeAffinity": "None",
+ "canRageToOvercomeSurprise": false,
+ "attackOfOpportunityImmunity": false,
+ "attackOfOpportunityOnMeAdvantageType": "None",
+ "attackOnMeAdvantage": "None",
+ "attackOnMeCountLimit": -1,
+ "autoCritical": false,
+ "criticalHitImmunity": false,
+ "myAttackAffinityFilter": "Always",
+ "myAttackAdvantage": "Disadvantage",
+ "ignoreCover": false,
+ "permanentCover": "None",
+ "ignoreRangeAdvantage": false,
+ "myAttackModifierValueDetermination": "None",
+ "myAttackModifierSign": "Add",
+ "myAttackModifierDiceNumber": 1,
+ "myAttackModifierDieType": "D4",
+ "myAttackDamageMultiplier": 1.0,
+ "myDamageReductionValueDetermination": "None",
+ "myDamageReductionDiceNumber": 1,
+ "myDamageReductionDieType": "D4",
+ "situationalContext": "TargetIsEffectSource",
+ "requiredCondition": null,
+ "nullifiedBySenses": [],
+ "nullifiedBySelfSenses": [],
+ "multiAttackAffinity": false,
+ "multiAttackDefenseValue": 0,
+ "readyAttackAdvantage": "None",
+ "shoveOnReadyAttackHit": false,
+ "autoFormatDescription": true,
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feat/&FeatGreatWeaponDefenseTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "3f2c5bad-4694-582b-bb14-ee2b33b24bea",
+ "contentPack": 9999,
+ "name": "CombatAffinityFeatGreatWeaponDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionConditionAffinity/ConditionAffinityArchfeyBeguilingDefenses.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionConditionAffinity/ConditionAffinityArchfeyBeguilingDefenses.json
new file mode 100644
index 0000000000..40ecfb723a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionConditionAffinity/ConditionAffinityArchfeyBeguilingDefenses.json
@@ -0,0 +1,39 @@
+{
+ "$type": "FeatureDefinitionConditionAffinity, Assembly-CSharp",
+ "conditionType": "ConditionCharmed",
+ "savingThrowAdvantageType": "None",
+ "savingThrowModifier": 0,
+ "conditionAffinityType": "Immunity",
+ "silent": false,
+ "rerollSaveWhenGained": false,
+ "rerollAdvantageType": "None",
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7b030b99-ab4b-53ec-8063-6c261c21a222",
+ "contentPack": 9999,
+ "name": "ConditionAffinityArchfeyBeguilingDefenses"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyBludgeoningResistance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyBludgeoningResistance.json
deleted file mode 100644
index 9be2f0ce26..0000000000
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyBludgeoningResistance.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "$type": "FeatureDefinitionDamageAffinity, Assembly-CSharp",
- "ancestryDefinesDamageType": false,
- "ancestryType": "Sorcerer",
- "damageType": "DamageBludgeoning",
- "savingThrowAdvantageType": "None",
- "savingThrowModifier": 0,
- "damageAffinityType": "Resistance",
- "flatDamageReduction": 0,
- "flatDamageReductionOnlyAppliesToFirstDamageForm": true,
- "tagsIgnoringAffinity": [],
- "situationalContext": "None",
- "healsBack": false,
- "healBackCap": 10,
- "retaliateWhenHit": false,
- "retaliateProximity": "Melee",
- "retaliateRangeCells": 1,
- "retaliatePower": null,
- "retaliateFromSource": false,
- "knockOutAffinity": "None",
- "knockOutOccurencesNumber": 1,
- "knockOutRequiredCondition": null,
- "knockOutDCAttribute": "RelentlessRageDC",
- "knockOutAddDC": 5,
- "instantDeathImmunity": false,
- "myselfFamilyRestrictions": [],
- "otherCharacterFamilyRestrictions": [],
- "guiPresentation": {
- "$type": "GuiPresentation, Assembly-CSharp",
- "hidden": true,
- "title": "Feature/&NoContentTitle",
- "description": "Feature/&NoContentTitle",
- "spriteReference": {
- "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
- "m_AssetGUID": "",
- "m_SubObjectName": null,
- "m_SubObjectType": null
- },
- "color": {
- "$type": "UnityEngine.Color, UnityEngine.CoreModule",
- "r": 1.0,
- "g": 1.0,
- "b": 1.0,
- "a": 1.0
- },
- "symbolChar": "221E",
- "sortOrder": 0,
- "unusedInSolastaCOTM": false,
- "usedInValleyDLC": false
- },
- "contentCopyright": "UserContent",
- "guid": "2d3bc11a-96f8-5c46-9bc2-f4999bd06c3b",
- "contentPack": 9999,
- "name": "DamageAffinityMonkEmptyBodyBludgeoningResistance"
-}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyPiercingResistance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyPiercingResistance.json
deleted file mode 100644
index ecaba7de28..0000000000
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodyPiercingResistance.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "$type": "FeatureDefinitionDamageAffinity, Assembly-CSharp",
- "ancestryDefinesDamageType": false,
- "ancestryType": "Sorcerer",
- "damageType": "DamagePiercing",
- "savingThrowAdvantageType": "None",
- "savingThrowModifier": 0,
- "damageAffinityType": "Resistance",
- "flatDamageReduction": 0,
- "flatDamageReductionOnlyAppliesToFirstDamageForm": true,
- "tagsIgnoringAffinity": [],
- "situationalContext": "None",
- "healsBack": false,
- "healBackCap": 10,
- "retaliateWhenHit": false,
- "retaliateProximity": "Melee",
- "retaliateRangeCells": 1,
- "retaliatePower": null,
- "retaliateFromSource": false,
- "knockOutAffinity": "None",
- "knockOutOccurencesNumber": 1,
- "knockOutRequiredCondition": null,
- "knockOutDCAttribute": "RelentlessRageDC",
- "knockOutAddDC": 5,
- "instantDeathImmunity": false,
- "myselfFamilyRestrictions": [],
- "otherCharacterFamilyRestrictions": [],
- "guiPresentation": {
- "$type": "GuiPresentation, Assembly-CSharp",
- "hidden": true,
- "title": "Feature/&NoContentTitle",
- "description": "Feature/&NoContentTitle",
- "spriteReference": {
- "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
- "m_AssetGUID": "",
- "m_SubObjectName": null,
- "m_SubObjectType": null
- },
- "color": {
- "$type": "UnityEngine.Color, UnityEngine.CoreModule",
- "r": 1.0,
- "g": 1.0,
- "b": 1.0,
- "a": 1.0
- },
- "symbolChar": "221E",
- "sortOrder": 0,
- "unusedInSolastaCOTM": false,
- "usedInValleyDLC": false
- },
- "contentCopyright": "UserContent",
- "guid": "c59b850e-60ee-5652-a8ae-1e1df000b5d0",
- "contentPack": 9999,
- "name": "DamageAffinityMonkEmptyBodyPiercingResistance"
-}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodySlashingResistance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodySlashingResistance.json
deleted file mode 100644
index 1eb0d69a5a..0000000000
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionDamageAffinity/DamageAffinityMonkEmptyBodySlashingResistance.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "$type": "FeatureDefinitionDamageAffinity, Assembly-CSharp",
- "ancestryDefinesDamageType": false,
- "ancestryType": "Sorcerer",
- "damageType": "DamageSlashing",
- "savingThrowAdvantageType": "None",
- "savingThrowModifier": 0,
- "damageAffinityType": "Resistance",
- "flatDamageReduction": 0,
- "flatDamageReductionOnlyAppliesToFirstDamageForm": true,
- "tagsIgnoringAffinity": [],
- "situationalContext": "None",
- "healsBack": false,
- "healBackCap": 10,
- "retaliateWhenHit": false,
- "retaliateProximity": "Melee",
- "retaliateRangeCells": 1,
- "retaliatePower": null,
- "retaliateFromSource": false,
- "knockOutAffinity": "None",
- "knockOutOccurencesNumber": 1,
- "knockOutRequiredCondition": null,
- "knockOutDCAttribute": "RelentlessRageDC",
- "knockOutAddDC": 5,
- "instantDeathImmunity": false,
- "myselfFamilyRestrictions": [],
- "otherCharacterFamilyRestrictions": [],
- "guiPresentation": {
- "$type": "GuiPresentation, Assembly-CSharp",
- "hidden": true,
- "title": "Feature/&NoContentTitle",
- "description": "Feature/&NoContentTitle",
- "spriteReference": {
- "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
- "m_AssetGUID": "",
- "m_SubObjectName": null,
- "m_SubObjectType": null
- },
- "color": {
- "$type": "UnityEngine.Color, UnityEngine.CoreModule",
- "r": 1.0,
- "g": 1.0,
- "b": 1.0,
- "a": 1.0
- },
- "symbolChar": "221E",
- "sortOrder": 0,
- "unusedInSolastaCOTM": false,
- "usedInValleyDLC": false
- },
- "contentCopyright": "UserContent",
- "guid": "8cb3d5fd-9e4f-5793-804e-34cbea23c6ae",
- "contentPack": 9999,
- "name": "DamageAffinityMonkEmptyBodySlashingResistance"
-}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyBeguilingDefenses.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyBeguilingDefenses.json
new file mode 100644
index 0000000000..fc23981361
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyBeguilingDefenses.json
@@ -0,0 +1,41 @@
+{
+ "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp",
+ "featureSet": [
+ "Definition:PowerArchfeyBeguilingDefenses:bda1c6ae-f640-5f19-b859-0d6bd426933d",
+ "Definition:ConditionAffinityArchfeyBeguilingDefenses:7b030b99-ab4b-53ec-8063-6c261c21a222"
+ ],
+ "mode": "Union",
+ "ancestryDamageTypeMap": [],
+ "ancestryType": "Sorcerer",
+ "defaultSelection": 0,
+ "uniqueChoices": false,
+ "enumerateInDescription": false,
+ "hasRacialAffinity": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyBeguilingDefensesTitle",
+ "description": "Feature/&PowerArchfeyBeguilingDefensesDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "700ca146-9ab3-575e-b40f-a7f631302e5b",
+ "contentPack": 9999,
+ "name": "FeatureSetArchfeyBeguilingDefenses"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyDarkDelirium.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyDarkDelirium.json
new file mode 100644
index 0000000000..6ab0446043
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyDarkDelirium.json
@@ -0,0 +1,42 @@
+{
+ "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp",
+ "featureSet": [
+ "Definition:PowerArchfeyDarkDelirium:6bf32d72-507c-5688-b4ea-04c1295fd001",
+ "Definition:PowerArchfeyDarkDeliriumCharmed:5a372252-07e2-59eb-9772-f284e921ff3c",
+ "Definition:PowerArchfeyDarkDeliriumFrightened:7865300d-13da-53d6-8e29-2ef906b9c855"
+ ],
+ "mode": "Union",
+ "ancestryDamageTypeMap": [],
+ "ancestryType": "Sorcerer",
+ "defaultSelection": 0,
+ "uniqueChoices": false,
+ "enumerateInDescription": false,
+ "hasRacialAffinity": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyDarkDeliriumTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "bf7a8867-7e4c-5dec-99d1-81f3fc50ad6c",
+ "contentPack": 9999,
+ "name": "FeatureSetArchfeyDarkDelirium"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyFeyPresence.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyFeyPresence.json
new file mode 100644
index 0000000000..8a94e5599d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetArchfeyFeyPresence.json
@@ -0,0 +1,42 @@
+{
+ "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp",
+ "featureSet": [
+ "Definition:PowerArchfeyFeyPresence:38531441-2f9f-5f25-9fe8-03171423ebdf",
+ "Definition:PowerArchfeyFeyPresenceCharmed:a8777b82-3235-5f85-8add-1c5891684459",
+ "Definition:PowerArchfeyFeyPresenceFrightened:4524445b-919b-5629-bdad-d7bc876f89e9"
+ ],
+ "mode": "Union",
+ "ancestryDamageTypeMap": [],
+ "ancestryType": "Sorcerer",
+ "defaultSelection": 0,
+ "uniqueChoices": false,
+ "enumerateInDescription": false,
+ "hasRacialAffinity": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyFeyPresenceTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "c221e65e-4c8d-5627-9a00-09e4eb98ffd5",
+ "contentPack": 9999,
+ "name": "FeatureSetArchfeyFeyPresence"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulEyeOfTheStorm.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulEyeOfTheStorm.json
new file mode 100644
index 0000000000..33967f22a8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulEyeOfTheStorm.json
@@ -0,0 +1,42 @@
+{
+ "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp",
+ "featureSet": [
+ "Definition:PowerWayOfTheStormSoulEyeOfTheStorm:6ff6d87a-53e8-5158-a7ac-b92b1f72029b",
+ "Definition:PowerWayOfTheStormSoulEyeOfTheStormLeap:3f31323c-49d2-5687-b8ab-5bfd27c365fe",
+ "Definition:AdditionalDamageWayOfTheStormSoulEyeOfTheStorm:6adabe7e-e7b2-5684-8c72-9f64ba6647d3"
+ ],
+ "mode": "Union",
+ "ancestryDamageTypeMap": [],
+ "ancestryType": "Sorcerer",
+ "defaultSelection": 0,
+ "uniqueChoices": false,
+ "enumerateInDescription": false,
+ "hasRacialAffinity": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle",
+ "description": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a5f1e36a-8f82-5e98-99e1-4711b6dd9ce2",
+ "contentPack": 9999,
+ "name": "FeatureSetWayOfTheStormSoulEyeOfTheStorm"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulLightningWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulLightningWarrior.json
new file mode 100644
index 0000000000..466ed4a57d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetWayOfTheStormSoulLightningWarrior.json
@@ -0,0 +1,41 @@
+{
+ "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp",
+ "featureSet": [
+ "Definition:PowerWayOfTheStormSoulLightningLure:1af26a2a-2143-59e1-b19c-4426ab0f7adf",
+ "Definition:DamageAffinityLightningResistance:443d9129d7904f14b8d9977881f95c08"
+ ],
+ "mode": "Union",
+ "ancestryDamageTypeMap": [],
+ "ancestryType": "Sorcerer",
+ "defaultSelection": 0,
+ "uniqueChoices": false,
+ "enumerateInDescription": false,
+ "hasRacialAffinity": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle",
+ "description": "Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0d28ebfa-b5ac-5055-9749-eb9cd158e724",
+ "contentPack": 9999,
+ "name": "FeatureSetWayOfTheStormSoulLightningWarrior"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityArchfeyExpandedSpells.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityArchfeyExpandedSpells.json
new file mode 100644
index 0000000000..909d9ab374
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityArchfeyExpandedSpells.json
@@ -0,0 +1,80 @@
+{
+ "$type": "FeatureDefinitionMagicAffinity, Assembly-CSharp",
+ "preparedSpellModifier": "None",
+ "saveDCModifierType": "None",
+ "saveDCModifier": 0,
+ "spellAttackModifierType": "None",
+ "spellAttackModifier": 0,
+ "spellImmunities": [],
+ "maxSpellLevelImmunity": -1,
+ "concentrationAffinity": "None",
+ "overConcentrationThreshold": -1,
+ "castingAffinity": "Normal",
+ "spellcastingSuccessDC": 10,
+ "forceHalfDamageOnCantrips": false,
+ "cantripRetribution": false,
+ "forcedSavingThrowAffinity": "None",
+ "forcedSpellDefinition": null,
+ "impairedSpeech": false,
+ "somaticWithWeaponOrShield": false,
+ "somaticWithWeapon": false,
+ "canUseProficientWeaponAsFocus": false,
+ "rangeSpellNoProximityPenalty": false,
+ "targetSelfOverride": null,
+ "usesWarList": false,
+ "warListSlotBonus": 1,
+ "ritualCasting": "None",
+ "canLearnRitualScrolls": false,
+ "scribeAdvantageType": "None",
+ "scribeDurationMultiplier": 1.0,
+ "scribeCostMultiplier": 1.0,
+ "additionalScribedSpells": 0,
+ "additionalKnownSpellsCount": 0,
+ "warListSpells": [],
+ "counterspellAffinity": "None",
+ "spellsCounterAffinity": "None",
+ "extendedSpellList": "Definition:SpellListArchfey:65701020-407c-5faa-9da2-0509cf663a8b",
+ "addBonusToEffectSaveDC": "None",
+ "spellWithModifiedSaveDC": null,
+ "powerWithModifiedSaveDC": null,
+ "bonusToEffectSaveDC": 0,
+ "deviceTagsAutoIdentifying": [],
+ "autoIdentifyPossessedMagicalItems": false,
+ "ignoreClassRestrictionsOnMagicalItems": false,
+ "additionalSlots": [],
+ "metamagicOptions": [],
+ "preserveSlotRoll": false,
+ "preserveSlotThreshold": 20,
+ "preserveSlotLevelCap": 5,
+ "healingPerSpentSorceryPoint": 0,
+ "sorceryPointAlteredParticle": null,
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&MagicAffinityPatronExpandedSpellsTitle",
+ "description": "Feature/&MagicAffinityPatronExpandedSpellsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "d69f5e6c-7ae8-5ba4-a347-e7a8cc180e86",
+ "contentPack": 9999,
+ "name": "MagicAffinityArchfeyExpandedSpells"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMoveThroughEnemyModifier/MoveThroughEnemyModifierKineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMoveThroughEnemyModifier/MoveThroughEnemyModifierKineticJaunt.json
new file mode 100644
index 0000000000..f379289a46
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMoveThroughEnemyModifier/MoveThroughEnemyModifierKineticJaunt.json
@@ -0,0 +1,33 @@
+{
+ "$type": "FeatureDefinitionMoveThroughEnemyModifier, Assembly-CSharp",
+ "minSizeDifference": 10,
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&MoveThroughEnemyModifierKineticJauntTitle",
+ "description": "Feature/&MoveThroughEnemyModifierKineticJauntDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "d9780b4f-8fc3-58b5-bb80-d00bb576bfef",
+ "contentPack": 9999,
+ "name": "MoveThroughEnemyModifierKineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityKineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityKineticJaunt.json
new file mode 100644
index 0000000000..2cc0fa8c80
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityKineticJaunt.json
@@ -0,0 +1,56 @@
+{
+ "$type": "FeatureDefinitionMovementAffinity, Assembly-CSharp",
+ "appliesToAllModes": true,
+ "moveMode": "Walk",
+ "baseSpeedAdditiveModifier": 2,
+ "additiveModifierAdvancement": "None",
+ "additiveModifierByLevelTable": [],
+ "forceMinimalBaseSpeed": false,
+ "minimalBaseSpeed": 6,
+ "baseSpeedMultiplicativeModifier": 1.0,
+ "minMaxMoves": 0,
+ "speedAddBase": false,
+ "fastClimber": false,
+ "expertClimber": false,
+ "canMoveOnWalls": false,
+ "canFlyWithWalkSpeed": false,
+ "enhancedJump": false,
+ "additionalJumpCells": 0,
+ "immuneDifficultTerrain": false,
+ "disableVault": false,
+ "disableDrop": false,
+ "disableJump": false,
+ "disableClimb": false,
+ "additionalFallThreshold": 0,
+ "encumbranceImmunity": false,
+ "heavyArmorImmunity": false,
+ "situationalContext": "None",
+ "additionalDashTag": null,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "85a4ac2e-feaf-5e7f-8115-35bdb0a8a286",
+ "contentPack": 9999,
+ "name": "MovementAffinityKineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyBeguilingDefenses.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyBeguilingDefenses.json
new file mode 100644
index 0000000000..32fb73dd64
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyBeguilingDefenses.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionArchfeyBeguilingDefenses",
+ "conditionDefinition": "Definition:ConditionArchfeyBeguilingDefenses:e078b30d-df8e-52ea-aa2e-8ab260e23d75",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "94705f3ef20195442b2d38ac29286eed",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "a0f591bf23319d846abb89ac112a66c6",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyBeguilingDefensesTitle",
+ "description": "Feature/&PowerArchfeyBeguilingDefensesDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "bda1c6ae-f640-5f19-b859-0d6bd426933d",
+ "contentPack": 9999,
+ "name": "PowerArchfeyBeguilingDefenses"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyDarkDelirium.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyDarkDelirium.json
new file mode 100644
index 0000000000..5222035d94
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyDarkDelirium.json
@@ -0,0 +1,327 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyDarkDeliriumTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "5085d080-e27c-5a35-b9de-a685dd4c17a0",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6bf32d72-507c-5688-b4ea-04c1295fd001",
+ "contentPack": 9999,
+ "name": "PowerArchfeyDarkDelirium"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyFeyPresence.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyFeyPresence.json
new file mode 100644
index 0000000000..1813221b96
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyFeyPresence.json
@@ -0,0 +1,327 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cone",
+ "itemSelectionType": "None",
+ "targetParameter": 3,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": true,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": "StartOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyFeyPresenceTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "0a61312d-8c66-5132-9625-6911ed337299",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "38531441-2f9f-5f25-9fe8-03171423ebdf",
+ "contentPack": 9999,
+ "name": "PowerArchfeyFeyPresence"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyMistyEscape.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyMistyEscape.json
new file mode 100644
index 0000000000..29e176ae48
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerArchfeyMistyEscape.json
@@ -0,0 +1,380 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Position",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Round",
+ "durationParameter": 0,
+ "endOfEffect": "StartOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "TeleportToDestination",
+ "distance": 0,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionInvisible",
+ "conditionDefinition": "Definition:ConditionInvisible:6fff2284783105e4fa9793d4bf8afa3f",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": true,
+ "forceOnSelf": true
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "dae9742ef3a3d8a46be3f5d11695e852",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "993b66c579edb0e4cb121149b724c751",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyMistyEscapeTitle",
+ "description": "Feature/&PowerArchfeyMistyEscapeDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7e6cd80b881b7074d88a122382fd2103",
+ "m_SubObjectName": "MistyStep",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e5f57148-f825-55e8-88d0-2f18a58108b3",
+ "contentPack": 9999,
+ "name": "PowerArchfeyMistyEscape"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerBorrowedKnowledge.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerBorrowedKnowledge.json
new file mode 100644
index 0000000000..c287e897c7
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerBorrowedKnowledge.json
@@ -0,0 +1,202 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "cd3c6b03-216e-5a1a-ab3a-dc9f302dbb1c",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledge"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerGreatWeaponDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerGreatWeaponDefense.json
new file mode 100644
index 0000000000..4c329f99f8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerGreatWeaponDefense.json
@@ -0,0 +1,382 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 1,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": 9000,
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionFeatGreatWeaponDefense",
+ "conditionDefinition": "Definition:ConditionFeatGreatWeaponDefense:58e6a0c3-8bc0-51bc-acd1-9c46bf83276c",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionFeatGreatWeaponDefenseSelf",
+ "conditionDefinition": "Definition:ConditionFeatGreatWeaponDefenseSelf:f0df557b-d844-5ad1-afa9-16ef0a2c21ec",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": true,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "9d54d3db2dbc23c4b819d838bd85a698",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "ae8a2d2aa3f5a1e4d849ee64215f5391",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerGreatWeaponDefenseTitle",
+ "description": "Feature/&PowerGreatWeaponDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "48d2b609-fe09-5486-90ae-1b4c782cc038",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "8c999720-7ce8-5e7f-8fc2-c0357738dc81",
+ "contentPack": 9999,
+ "name": "PowerGreatWeaponDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistEmergencySurgery.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistEmergencySurgery.json
index 409dbe9c19..96c1d8a537 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistEmergencySurgery.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistEmergencySurgery.json
@@ -115,21 +115,21 @@
"$type": "EffectParticleParameters, Assembly-CSharp",
"casterParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
- "m_SubObjectName": "",
- "m_SubObjectType": ""
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
},
"casterSelfParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
"m_AssetGUID": "",
- "m_SubObjectName": "",
- "m_SubObjectType": ""
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
},
"casterQuickSpellParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
"m_AssetGUID": "",
- "m_SubObjectName": "",
- "m_SubObjectType": ""
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
},
"targetParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
@@ -163,7 +163,7 @@
},
"impactParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "",
+ "m_AssetGUID": "ac30f798220399548a6da8f65691baae",
"m_SubObjectName": "",
"m_SubObjectType": ""
},
@@ -332,9 +332,9 @@
"description": "Feature/&PowerInnovationVivisectionistEmergencySurgeryDescription",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
- "m_AssetGUID": "2243d06e69e758d4c9191ef1c49c3ebf",
- "m_SubObjectName": "Foreknowledge",
- "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ "m_AssetGUID": "4af5a375-b5a8-5c56-b055-47105d0c3b4f",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
},
"color": {
"$type": "UnityEngine.Color, UnityEngine.CoreModule",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistMasterEmergencySurgery.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistMasterEmergencySurgery.json
index ee8466f193..cf6567f4f7 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistMasterEmergencySurgery.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistMasterEmergencySurgery.json
@@ -115,7 +115,7 @@
"$type": "EffectParticleParameters, Assembly-CSharp",
"casterParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_AssetGUID": "",
"m_SubObjectName": "",
"m_SubObjectType": ""
},
@@ -163,7 +163,7 @@
},
"impactParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "",
+ "m_AssetGUID": "ac30f798220399548a6da8f65691baae",
"m_SubObjectName": "",
"m_SubObjectType": ""
},
@@ -332,9 +332,9 @@
"description": "Feature/&PowerInnovationVivisectionistMasterEmergencySurgeryDescription",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
- "m_AssetGUID": "2243d06e69e758d4c9191ef1c49c3ebf",
- "m_SubObjectName": "Foreknowledge",
- "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ "m_AssetGUID": "4af5a375-b5a8-5c56-b055-47105d0c3b4f",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
},
"color": {
"$type": "UnityEngine.Color, UnityEngine.CoreModule",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json
index 20b04467d4..d1c28f6c34 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json
@@ -158,10 +158,10 @@
"rechargeRate": "ShortRest",
"costPerUse": 1,
"spellcastingFeature": null,
- "usesDetermination": "ProficiencyBonus",
+ "usesDetermination": "Fixed",
"abilityScoreDetermination": "Explicit",
"usesAbilityScoreName": "Charisma",
- "fixedUsesPerRecharge": 0,
+ "fixedUsesPerRecharge": 1,
"abilityScore": "Intelligence",
"attackHitComputation": "AbilityScore",
"fixedAttackHit": 0,
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkStepOfTheWindHeightenedMetabolism.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkStepOfTheWindHeightenedMetabolism.json
new file mode 100644
index 0000000000..89a5c5192f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkStepOfTheWindHeightenedMetabolism.json
@@ -0,0 +1,382 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Round",
+ "durationParameter": 0,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 0,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "StartOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "",
+ "conditionDefinition": "Definition:ConditionDashingBonusStepOfTheWind:f632b0b5deb722b438276d2864001a2a",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 0,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "StartOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "",
+ "conditionDefinition": "Definition:ConditionDisengagingStepOfTheWind:865ef31fb94216c4887311b7f31c3815",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "4ea6a1dff30379a45bc0f00fd5dd99df",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "BonusAction",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "KiPoints",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle",
+ "description": "Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "2242d8ed-d00c-53c7-bccc-cc0b8cd62024",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6b3d809f-c3f7-585b-a054-709b0dd280e3",
+ "contentPack": 9999,
+ "name": "PowerMonkStepOfTheWindHeightenedMetabolism"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkSuperiorDefense.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkSuperiorDefense.json
new file mode 100644
index 0000000000..0c67601424
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMonkSuperiorDefense.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionMonkSuperiorDefense",
+ "conditionDefinition": "Definition:ConditionMonkSuperiorDefense:7bfd8efa-e1d4-5a65-af38-da7cd44d8da9",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "4ea6a1dff30379a45bc0f00fd5dd99df",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "KiPoints",
+ "costPerUse": 3,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 3,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerMonkSuperiorDefenseTitle",
+ "description": "Feature/&PowerMonkSuperiorDefenseDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "6874a924-c364-541e-8f98-b544536bc54b",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7fd3d9b6-0263-5d5a-8ce6-305399586133",
+ "contentPack": 9999,
+ "name": "PowerMonkSuperiorDefense"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRiftWalkerRiftStrike.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRiftWalkerRiftStrike.json
index 877397fae2..0c82811e33 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRiftWalkerRiftStrike.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRiftWalkerRiftStrike.json
@@ -2,11 +2,11 @@
"$type": "FeatureDefinitionPower, Assembly-CSharp",
"effectDescription": {
"$type": "EffectDescription, Assembly-CSharp",
- "rangeType": "Self",
- "rangeParameter": 0,
+ "rangeType": "Distance",
+ "rangeParameter": 6,
"halfDamageOnAMiss": false,
"hitAffinitiesByTargetTag": [],
- "targetType": "Self",
+ "targetType": "IndividualsUnique",
"itemSelectionType": "None",
"targetParameter": 1,
"targetParameter2": 2,
@@ -30,7 +30,7 @@
"trapRangeType": "Triggerer",
"targetConditionName": "",
"targetConditionAsset": null,
- "targetSide": "Ally",
+ "targetSide": "Enemy",
"durationType": "Round",
"durationParameter": 1,
"endOfEffect": "EndOfSourceTurn",
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStorm.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStorm.json
new file mode 100644
index 0000000000..f1515c4b23
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStorm.json
@@ -0,0 +1,327 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "cbdbba777a51a5742a7d89075c3d7ce0",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "dd58e0b2384b5b44983779b0fe5f537c",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "KiPoints",
+ "costPerUse": 3,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": false,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle",
+ "description": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "9511863e-61db-514f-9ea9-5a81459c4329",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6ff6d87a-53e8-5158-a7ac-b92b1f72029b",
+ "contentPack": 9999,
+ "name": "PowerWayOfTheStormSoulEyeOfTheStorm"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStormLeap.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStormLeap.json
new file mode 100644
index 0000000000..7acf366121
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulEyeOfTheStormLeap.json
@@ -0,0 +1,390 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfSourceTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": true,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "AbilityScoreAndProficiency",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "HalfDamage",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 5,
+ "dieType": "D10",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamageLightning",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionWayOfTheStormSoulEyeOfTheStorm",
+ "conditionDefinition": "Definition:ConditionWayOfTheStormSoulEyeOfTheStorm:7e2ca690-10e0-5456-b13d-23da4d35ca65",
+ "operation": "Remove",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "4bcfd3b84d6fd5f4ea65243ec317be36",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "817259d53e386934ea144edfbef304d5",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "817259d53e386934ea144edfbef304d5",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle",
+ "description": "Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "3f31323c-49d2-5687-b8ab-5bfd27c365fe",
+ "contentPack": 9999,
+ "name": "PowerWayOfTheStormSoulEyeOfTheStormLeap"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulLightningLure.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulLightningLure.json
new file mode 100644
index 0000000000..584a1a2a8f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulLightningLure.json
@@ -0,0 +1,388 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 3,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Strength",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "AbilityScoreAndProficiency",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "DragToOrigin",
+ "distance": 2,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 1,
+ "dieType": "D6",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamageLightning",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "4bcfd3b84d6fd5f4ea65243ec317be36",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "579f0985fff7e2243a922184fedb2db0",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "7ee946178940d56438b69281484e7a39",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerWayOfTheStormSoulLightningLureTitle",
+ "description": "Feature/&PowerWayOfTheStormSoulLightningLureDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7db16baf-3e09-5f5e-9c57-e583cd41139d",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "1af26a2a-2143-59e1-b19c-4426ab0f7adf",
+ "contentPack": 9999,
+ "name": "PowerWayOfTheStormSoulLightningLure"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulTempestFury.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulTempestFury.json
new file mode 100644
index 0000000000..96345a0d6e
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheStormSoulTempestFury.json
@@ -0,0 +1,327 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cube",
+ "itemSelectionType": "None",
+ "targetParameter": 3,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "cbdbba777a51a5742a7d89075c3d7ce0",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "KiPoints",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerWayOfTheStormSoulTempestFuryTitle",
+ "description": "Feature/&PowerWayOfTheStormSoulTempestFuryDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "1a00d386dfb4311468f2ac9e4c5b55ad",
+ "m_SubObjectName": "TurnUnholy",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "d5c258ee-00be-573a-a2d0-462d4eb8dbc6",
+ "contentPack": 9999,
+ "name": "PowerWayOfTheStormSoulTempestFury"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWhirlWindAttack.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWhirlWindAttack.json
new file mode 100644
index 0000000000..58d5a7dd54
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWhirlWindAttack.json
@@ -0,0 +1,327 @@
+{
+ "$type": "FeatureDefinitionPower, Assembly-CSharp",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cube",
+ "itemSelectionType": "None",
+ "targetParameter": 3,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": false,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerWhirlWindAttackTitle",
+ "description": "Feature/&PowerWhirlWindAttackDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "339ce59b-9f5a-5914-b644-5a11203cf06a",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "8d198daa-c292-55c4-8ec3-f8a88cceef82",
+ "contentPack": 9999,
+ "name": "PowerWhirlWindAttack"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumCharmed.json
new file mode 100644
index 0000000000..19f45c9aa2
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumCharmed.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionArchfeyDarkDeliriumCharmed",
+ "conditionDefinition": "Definition:ConditionArchfeyDarkDeliriumCharmed:6ee74407-fd8a-5570-8e37-669e09c710e5",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "cdf11ac678df7f34f9c8309eb2f3679d",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "a0f591bf23319d846abb89ac112a66c6",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyDarkDeliriumCharmedTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "5a372252-07e2-59eb-9772-f284e921ff3c",
+ "contentPack": 9999,
+ "name": "PowerArchfeyDarkDeliriumCharmed"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumFrightened.json
new file mode 100644
index 0000000000..7e884fbdfb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyDarkDeliriumFrightened.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionArchfeyDarkDeliriumFrightened",
+ "conditionDefinition": "Definition:ConditionArchfeyDarkDeliriumFrightened:c2dca090-94d5-5746-9e68-f0e214015078",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "cdf11ac678df7f34f9c8309eb2f3679d",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "c3df0caa4c1e23e4593f77cb438fdfa9",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyDarkDeliriumFrightenedTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumFrightenedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7865300d-13da-53d6-8e29-2ef906b9c855",
+ "contentPack": 9999,
+ "name": "PowerArchfeyDarkDeliriumFrightened"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceCharmed.json
new file mode 100644
index 0000000000..fe2fc310a3
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceCharmed.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cone",
+ "itemSelectionType": "None",
+ "targetParameter": 3,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": true,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfSourceTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionCharmed",
+ "conditionDefinition": "Definition:ConditionCharmed:b625b88863e83524ba652432379348a9",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "94705f3ef20195442b2d38ac29286eed",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "a0f591bf23319d846abb89ac112a66c6",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyFeyPresenceCharmedTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a8777b82-3235-5f85-8add-1c5891684459",
+ "contentPack": 9999,
+ "name": "PowerArchfeyFeyPresenceCharmed"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceFrightened.json
new file mode 100644
index 0000000000..85c211a228
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerArchfeyFeyPresenceFrightened.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cone",
+ "itemSelectionType": "None",
+ "targetParameter": 3,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": true,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": "StartOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Wisdom",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionFrightened",
+ "conditionDefinition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "94705f3ef20195442b2d38ac29286eed",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "89168899856c69846aca2b1753ac64f7",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "ShortRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyFeyPresenceFrightenedTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceFrightenedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "4524445b-919b-5629-bdad-d7bc876f89e9",
+ "contentPack": 9999,
+ "name": "PowerArchfeyFeyPresenceFrightened"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json
new file mode 100644
index 0000000000..055a03fb61
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeAcrobatics",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeAcrobatics:40404fe3-7281-5b1a-b308-5a5a5b7ad56b",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AcrobaticsTitle",
+ "description": "Skill/&AcrobaticsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "cb834082-cfe9-5df2-ae7e-9b2940c4e5e7",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeAcrobatics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json
new file mode 100644
index 0000000000..88499926d2
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeAnimalHandling",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeAnimalHandling:4e5c44fb-5c87-51b7-a1c1-c3c6d3132c35",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AnimalHandlingTitle",
+ "description": "Skill/&AnimalHandlingDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "4a2735e7-7ae8-5998-90a9-431cd8e3db3f",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeAnimalHandling"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json
new file mode 100644
index 0000000000..3d3c264ffd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeArcana",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeArcana:f18b46c7-d41c-5549-9eb1-6837a402b92b",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&ArcanaTitle",
+ "description": "Skill/&ArcanaDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e9a0d666-9f3f-58fd-bf41-8ef7bc72d128",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeArcana"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json
new file mode 100644
index 0000000000..44292a1ef1
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeAthletics",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeAthletics:49b83c67-fb00-5bf9-beff-f93adba637d2",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AthleticsTitle",
+ "description": "Skill/&AthleticsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "59937f2a-3b67-54e1-81d3-203ea3c1cca9",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeAthletics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json
new file mode 100644
index 0000000000..1877371530
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeDeception",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeDeception:563f0341-6492-577e-8578-bb3c58b6ef52",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&DeceptionTitle",
+ "description": "Skill/&DeceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "2b9344d0-840e-5aa9-8b98-e55fd8e83cd4",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeDeception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json
new file mode 100644
index 0000000000..1d8da5fd2f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeHistory",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeHistory:f3c1e6fc-923d-59ae-a380-dd5219eb895e",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&HistoryTitle",
+ "description": "Skill/&HistoryDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "41bad958-4714-5f5a-b4f5-e88fd7569deb",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeHistory"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json
new file mode 100644
index 0000000000..a5a086c724
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeInsight",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeInsight:79f2e2bb-85e3-5e09-af17-6e567e05c16d",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&InsightTitle",
+ "description": "Skill/&InsightDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "ef09e4dc-9d9e-5cc4-a2e4-2e63813536ba",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeInsight"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json
new file mode 100644
index 0000000000..ceecd39a6a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeIntimidation",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeIntimidation:997783d6-3853-57a4-b901-684239eb4db6",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&IntimidationTitle",
+ "description": "Skill/&IntimidationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "fcacbfd0-2b79-5f6b-a9d0-d6c22de2adcf",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeIntimidation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json
new file mode 100644
index 0000000000..a6ffa6c401
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeInvestigation",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeInvestigation:8e0bc4a5-0508-5064-a692-9b9395982712",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&InvestigationTitle",
+ "description": "Skill/&InvestigationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "5e09b656-1415-5e72-bd60-5d87ae156175",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeInvestigation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json
new file mode 100644
index 0000000000..5d62a89d81
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeMedecine",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeMedecine:9fb5554e-639f-50f0-a829-44e008331669",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&MedecineTitle",
+ "description": "Skill/&MedecineDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "3f8f06e5-2b1d-5b2e-896c-3dfecb74db2e",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeMedecine"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json
new file mode 100644
index 0000000000..2e8033fd3f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeNature",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeNature:556c235b-1228-5806-9c30-c2f1005ed772",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&NatureTitle",
+ "description": "Skill/&NatureDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "dc30303a-db20-5016-af08-5c3e97f27567",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeNature"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json
new file mode 100644
index 0000000000..240c9d3448
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgePerception",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgePerception:0f77147e-c200-52ec-a788-12ec7b86772d",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PerceptionTitle",
+ "description": "Skill/&PerceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "530acbe3-e52a-580d-8747-e67f1ce5d27f",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgePerception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json
new file mode 100644
index 0000000000..64e4e0e89b
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgePerformance",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgePerformance:28d4af7f-5004-5b38-8862-03c2c66ce937",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PerformanceTitle",
+ "description": "Skill/&PerformanceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a346e476-d146-5de3-b427-bce1a467deb8",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgePerformance"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json
new file mode 100644
index 0000000000..3f74cc5ad9
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgePersuasion",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgePersuasion:b63ca5da-1a7c-5eeb-a5c1-6a309ea19f8d",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PersuasionTitle",
+ "description": "Skill/&PersuasionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6136cc53-825c-5ce7-a0d0-ecbd5a31b271",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgePersuasion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json
new file mode 100644
index 0000000000..a1e4380a76
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeReligion",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeReligion:e3ef0505-e650-5dea-8f16-f94e634941a2",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&ReligionTitle",
+ "description": "Skill/&ReligionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e7d27a5b-924c-59c6-9765-7217900eb8f6",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeReligion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json
new file mode 100644
index 0000000000..2ce32add36
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeSleightOfHand",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeSleightOfHand:81fd2d1e-31a6-56d4-b6c1-047e7baefb22",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&SleightOfHandTitle",
+ "description": "Skill/&SleightOfHandDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7b2c62f6-8db4-5200-8ca2-a311d306e453",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeSleightOfHand"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json
new file mode 100644
index 0000000000..c57646d6b8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeStealth",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeStealth:dd1aad9f-d855-5d47-9c03-2292aa9d03d7",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&StealthTitle",
+ "description": "Skill/&StealthDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a2072525-1a9c-5f04-99fc-886e2db23f9a",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeStealth"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json
new file mode 100644
index 0000000000..3a5151af4e
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json
@@ -0,0 +1,355 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionBorrowedKnowledgeSurvival",
+ "conditionDefinition": "Definition:ConditionBorrowedKnowledgeSurvival:5c9c472d-465b-5040-8155-fa8a96fbe1f0",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "NoCost",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "AtWill",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": false,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&SurvivalTitle",
+ "description": "Skill/&SurvivalDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "cc50af67-ec5f-59d1-934c-a12b15a1ac77",
+ "contentPack": 9999,
+ "name": "PowerBorrowedKnowledgeSurvival"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfBorrowedKnowledge.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfBorrowedKnowledge.json
new file mode 100644
index 0000000000..58ed9796bb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfBorrowedKnowledge.json
@@ -0,0 +1,358 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "All",
+ "durationType": "Permanent",
+ "durationParameter": 0,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Summon",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "summonForm": {
+ "$type": "SummonForm, Assembly-CSharp",
+ "summonType": "InventoryItem",
+ "itemDefinition": "Definition:SpellStoringWandOfBorrowedKnowledge:29c4285a-c31a-55c4-817a-7935a727969c",
+ "trackItem": true,
+ "monsterDefinitionName": "",
+ "number": 1,
+ "conditionDefinition": null,
+ "persistOnConcentrationLoss": true,
+ "decisionPackage": null,
+ "effectProxyDefinitionName": null
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "c61bb30a4b6e80642a36538c6ff1d675",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "f4489c0ea1762ec4dbe7fedbbcf0d4a8",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "3b107035e3bdbc6418aedb674221f5e3",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation1",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "LongRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": true,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Borrowed Knowledge",
+ "description": "Create a wand that can cast Borrowed Knowledge (II) spell using your Artificer spell attack modifier and save DC.",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "19a6bbe3-4773-5b5c-9986-e345d498aedb",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "24f5e5a7-243b-5c18-a5f4-ecd24ba25fdd",
+ "contentPack": 9999,
+ "name": "PowerCreateSpellStoringWandOfBorrowedKnowledge"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfKineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfKineticJaunt.json
new file mode 100644
index 0000000000..068f220da9
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfKineticJaunt.json
@@ -0,0 +1,358 @@
+{
+ "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness",
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "All",
+ "durationType": "Permanent",
+ "durationParameter": 0,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Summon",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "summonForm": {
+ "$type": "SummonForm, Assembly-CSharp",
+ "summonType": "InventoryItem",
+ "itemDefinition": "Definition:SpellStoringWandOfKineticJaunt:f8eed529-e621-556c-9f89-03db7c70bb68",
+ "trackItem": true,
+ "monsterDefinitionName": "",
+ "number": 1,
+ "conditionDefinition": null,
+ "persistOnConcentrationLoss": true,
+ "decisionPackage": null,
+ "effectProxyDefinitionName": null
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "c61bb30a4b6e80642a36538c6ff1d675",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "f4489c0ea1762ec4dbe7fedbbcf0d4a8",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "3b107035e3bdbc6418aedb674221f5e3",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation1",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "delegatedToAction": false,
+ "surrogateToSpell": null,
+ "triggeredBySpecialMove": false,
+ "activationTime": "Action",
+ "autoActivationRequiredTargetSenseType": "None",
+ "autoActivationRequiredTargetCreatureTag": "",
+ "autoActivationPowerTag": "",
+ "triggeringPower": null,
+ "copyTargetingFromTriggeringPower": false,
+ "reactionContext": "None",
+ "damageTypes": [],
+ "reactionName": "",
+ "reactionActingCharacterParamIdx": 0,
+ "reactionAttackerParamIdx": -1,
+ "hasCastingFailure": false,
+ "castingSuccessComputation": "CasterLevel",
+ "canUseInDialog": false,
+ "disableIfConditionIsOwned": null,
+ "disableIfTargetConditionIsOwned": null,
+ "rechargeRate": "LongRest",
+ "costPerUse": 1,
+ "spellcastingFeature": null,
+ "usesDetermination": "Fixed",
+ "abilityScoreDetermination": "Explicit",
+ "usesAbilityScoreName": "Charisma",
+ "fixedUsesPerRecharge": 1,
+ "abilityScore": "Intelligence",
+ "attackHitComputation": "AbilityScore",
+ "fixedAttackHit": 0,
+ "abilityScoreBonusToAttack": false,
+ "proficiencyBonusToAttack": false,
+ "uniqueInstance": true,
+ "showCasting": true,
+ "shortTitleOverride": "",
+ "overriddenPower": null,
+ "includeBaseDescription": false,
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Kinetic Jaunt",
+ "description": "Create a wand that can cast Kinetic Jaunt (II) spell using your Artificer spell attack modifier and save DC.",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "d7106f9a-9efa-5e03-af59-42b1d8217153",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "3459df74-c089-5d9b-9ec4-1618bf6d635a",
+ "contentPack": 9999,
+ "name": "PowerCreateSpellStoringWandOfKineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobaticsExpertise.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAcrobatics.json
similarity index 68%
rename from Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobaticsExpertise.json
rename to Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAcrobatics.json
index bf1ae70c9e..0f8222e52a 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobaticsExpertise.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAcrobatics.json
@@ -1,20 +1,20 @@
{
"$type": "FeatureDefinitionProficiency, Assembly-CSharp",
- "proficiencyType": "Expertise",
+ "proficiencyType": "Skill",
"proficiencies": [
"Acrobatics"
],
"forbiddenItemTags": [],
"guiPresentation": {
"$type": "GuiPresentation, Assembly-CSharp",
- "hidden": true,
- "title": "Feature/&NoContentTitle",
- "description": "Feature/&NoContentTitle",
+ "hidden": false,
+ "title": "Skill/&AcrobaticsTitle",
+ "description": "Skill/&AcrobaticsDescription",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
- "m_SubObjectName": null,
- "m_SubObjectType": null
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
},
"color": {
"$type": "UnityEngine.Color, UnityEngine.CoreModule",
@@ -29,7 +29,7 @@
"usedInValleyDLC": false
},
"contentCopyright": "UserContent",
- "guid": "08493131-1922-599e-9db6-7f8b025cd1ab",
+ "guid": "f00b6cdf-a402-51e0-857b-4462a09507a1",
"contentPack": 9999,
- "name": "ProficiencyFeatSquatNimblenessAcrobaticsExpertise"
+ "name": "ProficiencyBorrowedKnowledgeAcrobatics"
}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAnimalHandling.json
new file mode 100644
index 0000000000..e6327583fc
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAnimalHandling.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "AnimalHandling"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&AnimalHandlingTitle",
+ "description": "Skill/&AnimalHandlingDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 1,
+ "unusedInSolastaCOTM": true,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f1637d0e-76f8-5dde-8932-6e864fb9a638",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeAnimalHandling"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeArcana.json
new file mode 100644
index 0000000000..29cfaa92f1
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeArcana.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Arcana"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&ArcanaTitle",
+ "description": "Skill/&ArcanaDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 2,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6e912f29-b119-51c4-991d-8375b558aa15",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeArcana"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthleticsExpertise.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAthletics.json
similarity index 66%
rename from Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthleticsExpertise.json
rename to Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAthletics.json
index 50604c4356..4f06951de1 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthleticsExpertise.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeAthletics.json
@@ -1,20 +1,20 @@
{
"$type": "FeatureDefinitionProficiency, Assembly-CSharp",
- "proficiencyType": "Expertise",
+ "proficiencyType": "Skill",
"proficiencies": [
"Athletics"
],
"forbiddenItemTags": [],
"guiPresentation": {
"$type": "GuiPresentation, Assembly-CSharp",
- "hidden": true,
- "title": "Feature/&NoContentTitle",
- "description": "Feature/&NoContentTitle",
+ "hidden": false,
+ "title": "Skill/&AthleticsTitle",
+ "description": "Skill/&AthleticsDescription",
"spriteReference": {
"$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
"m_AssetGUID": "",
- "m_SubObjectName": null,
- "m_SubObjectType": null
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
},
"color": {
"$type": "UnityEngine.Color, UnityEngine.CoreModule",
@@ -24,12 +24,12 @@
"a": 1.0
},
"symbolChar": "221E",
- "sortOrder": 0,
+ "sortOrder": 3,
"unusedInSolastaCOTM": false,
"usedInValleyDLC": false
},
"contentCopyright": "UserContent",
- "guid": "3c1fd40f-22e9-550c-a148-8b610a9041c8",
+ "guid": "aed5d6d5-6b19-5c3e-9f0d-92d122dc7bf7",
"contentPack": 9999,
- "name": "ProficiencyFeatSquatNimblenessAthleticsExpertise"
+ "name": "ProficiencyBorrowedKnowledgeAthletics"
}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeDeception.json
new file mode 100644
index 0000000000..a7d4a35dcd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeDeception.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Deception"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&DeceptionTitle",
+ "description": "Skill/&DeceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 4,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0ade0202-f9d8-5f75-a794-29e4f7ee138c",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeDeception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeHistory.json
new file mode 100644
index 0000000000..c6e3a65ecc
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeHistory.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "History"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&HistoryTitle",
+ "description": "Skill/&HistoryDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 5,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f4bb1231-ab77-525b-9a5c-bae1d0682afe",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeHistory"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInsight.json
new file mode 100644
index 0000000000..87129a8cfd
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInsight.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Insight"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&InsightTitle",
+ "description": "Skill/&InsightDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 6,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "11107ee9-5d4f-50f8-9fc0-c65d888136dd",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeInsight"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeIntimidation.json
new file mode 100644
index 0000000000..d86d457062
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeIntimidation.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Intimidation"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&IntimidationTitle",
+ "description": "Skill/&IntimidationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 7,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "211b9533-de12-51a2-a273-7db02b05888c",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeIntimidation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInvestigation.json
new file mode 100644
index 0000000000..96f695fd1a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeInvestigation.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Investigation"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&InvestigationTitle",
+ "description": "Skill/&InvestigationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 8,
+ "unusedInSolastaCOTM": true,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0a2bae82-2015-52d2-9d0a-549e4f9fb13d",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeInvestigation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeMedecine.json
new file mode 100644
index 0000000000..50a5a6e25a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeMedecine.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Medecine"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&MedecineTitle",
+ "description": "Skill/&MedecineDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 9,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "9391faf2-8a3b-5332-a589-84d2105c121f",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeMedecine"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeNature.json
new file mode 100644
index 0000000000..a8ea348a50
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeNature.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Nature"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&NatureTitle",
+ "description": "Skill/&NatureDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 10,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "dfc8f176-2fd7-552f-a81b-311bdb9b9c65",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeNature"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerception.json
new file mode 100644
index 0000000000..1b13ba40e8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerception.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Perception"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PerceptionTitle",
+ "description": "Skill/&PerceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 11,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6a743409-aefb-5d8b-a119-87c42d8a17df",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgePerception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerformance.json
new file mode 100644
index 0000000000..4218aab9b0
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePerformance.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Performance"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PerformanceTitle",
+ "description": "Skill/&PerformanceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 12,
+ "unusedInSolastaCOTM": true,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7768b601-192d-5998-856d-44ed765419c9",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgePerformance"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePersuasion.json
new file mode 100644
index 0000000000..b44700050d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgePersuasion.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Persuasion"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&PersuasionTitle",
+ "description": "Skill/&PersuasionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 13,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "823819e3-5110-5392-963a-159b66b19df8",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgePersuasion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeReligion.json
new file mode 100644
index 0000000000..d6622f2e08
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeReligion.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Religion"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&ReligionTitle",
+ "description": "Skill/&ReligionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 14,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "7ffd1e65-3c2d-5c27-b021-f78e9b08179e",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeReligion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSleightOfHand.json
new file mode 100644
index 0000000000..deb69e01b9
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSleightOfHand.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "SleightOfHand"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&SleightOfHandTitle",
+ "description": "Skill/&SleightOfHandDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 15,
+ "unusedInSolastaCOTM": true,
+ "usedInValleyDLC": true
+ },
+ "contentCopyright": "UserContent",
+ "guid": "9628be64-b04d-54b2-a0a5-4c16ec401077",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeSleightOfHand"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeStealth.json
new file mode 100644
index 0000000000..43cfb5e506
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeStealth.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Stealth"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&StealthTitle",
+ "description": "Skill/&StealthDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 16,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "d4943b7b-a417-5fd1-a1fb-e8a13adb2849",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeStealth"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSurvival.json
new file mode 100644
index 0000000000..23b96d8011
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyBorrowedKnowledgeSurvival.json
@@ -0,0 +1,35 @@
+{
+ "$type": "FeatureDefinitionProficiency, Assembly-CSharp",
+ "proficiencyType": "Skill",
+ "proficiencies": [
+ "Survival"
+ ],
+ "forbiddenItemTags": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Skill/&SurvivalTitle",
+ "description": "Skill/&SurvivalDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 17,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f803f7ad-298d-5c3b-a8f9-252c97bca790",
+ "contentPack": 9999,
+ "name": "ProficiencyBorrowedKnowledgeSurvival"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobatics.json
index 26362eb343..551afb5200 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobatics.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAcrobatics.json
@@ -1,6 +1,6 @@
{
"$type": "FeatureDefinitionProficiency, Assembly-CSharp",
- "proficiencyType": "Skill",
+ "proficiencyType": "SkillOrExpertise",
"proficiencies": [
"Acrobatics"
],
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthletics.json
index a02e162b86..09d47b375f 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthletics.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyFeatSquatNimblenessAthletics.json
@@ -1,6 +1,6 @@
{
"$type": "FeatureDefinitionProficiency, Assembly-CSharp",
- "proficiencyType": "Skill",
+ "proficiencyType": "SkillOrExpertise",
"proficiencies": [
"Athletics"
],
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSavingThrowAffinity/SavingThrowAffinityIntellectFortress.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSavingThrowAffinity/SavingThrowAffinityIntellectFortress.json
new file mode 100644
index 0000000000..cb829adec7
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSavingThrowAffinity/SavingThrowAffinityIntellectFortress.json
@@ -0,0 +1,78 @@
+{
+ "$type": "FeatureDefinitionSavingThrowAffinity, Assembly-CSharp",
+ "useControllerSavingThrows": false,
+ "priorityAbilityScore": "",
+ "affinityGroups": [
+ {
+ "$type": "FeatureDefinitionSavingThrowAffinity+SavingThrowAffinityGroup, Assembly-CSharp",
+ "abilityScoreName": "Charisma",
+ "affinity": "Advantage",
+ "savingThrowModifierType": "AddDice",
+ "savingThrowModifierDiceNumber": 0,
+ "savingThrowModifierDieType": "D1",
+ "restrictedForms": [],
+ "restrictedSchools": [],
+ "restrictedSpells": [],
+ "restrictedPowers": [],
+ "savingThrowContext": "None"
+ },
+ {
+ "$type": "FeatureDefinitionSavingThrowAffinity+SavingThrowAffinityGroup, Assembly-CSharp",
+ "abilityScoreName": "Intelligence",
+ "affinity": "Advantage",
+ "savingThrowModifierType": "AddDice",
+ "savingThrowModifierDiceNumber": 0,
+ "savingThrowModifierDieType": "D1",
+ "restrictedForms": [],
+ "restrictedSchools": [],
+ "restrictedSpells": [],
+ "restrictedPowers": [],
+ "savingThrowContext": "None"
+ },
+ {
+ "$type": "FeatureDefinitionSavingThrowAffinity+SavingThrowAffinityGroup, Assembly-CSharp",
+ "abilityScoreName": "Wisdom",
+ "affinity": "Advantage",
+ "savingThrowModifierType": "AddDice",
+ "savingThrowModifierDiceNumber": 0,
+ "savingThrowModifierDieType": "D1",
+ "restrictedForms": [],
+ "restrictedSchools": [],
+ "restrictedSpells": [],
+ "restrictedPowers": [],
+ "savingThrowContext": "None"
+ }
+ ],
+ "indomitableSavingThrows": 0,
+ "canBorrowLuck": false,
+ "canUseDiamondSoul": false,
+ "myselfFamilyRestrictions": [],
+ "otherCharacterFamilyRestrictions": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&IntellectFortressTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "87adb0af-6410-5a1e-852b-19bb394b6ac0",
+ "contentPack": 9999,
+ "name": "SavingThrowAffinityIntellectFortress"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfBorrowedKnowledge.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfBorrowedKnowledge.json
new file mode 100644
index 0000000000..1314092d58
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfBorrowedKnowledge.json
@@ -0,0 +1,257 @@
+{
+ "$type": "ItemDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "merchantCategory": "MagicDevice",
+ "weight": 0.5,
+ "slotTypes": [
+ "UtilitySlot",
+ "ContainerSlot"
+ ],
+ "slotsWhereActive": [
+ "MainHandSlot",
+ "OffHandSlot",
+ "UtilitySlot"
+ ],
+ "activeOnGround": false,
+ "destroyedWhenUnequiped": false,
+ "forceEquip": false,
+ "forceEquipSlot": "",
+ "canBeStacked": false,
+ "stackSize": 10,
+ "defaultStackCount": -1,
+ "costs": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "itemTags": [
+ "Wood"
+ ],
+ "activeTags": [],
+ "inactiveTags": [],
+ "magical": true,
+ "requiresAttunement": false,
+ "requiresIdentification": false,
+ "requiredAttunementClasses": [],
+ "itemRarity": "Rare",
+ "incompatibleWithMonkReturnMissile": false,
+ "staticProperties": [],
+ "isArmor": false,
+ "isWeapon": false,
+ "isAmmunition": false,
+ "isUsableDevice": true,
+ "usableDeviceDescription": {
+ "$type": "UsableDeviceDescription, Assembly-CSharp",
+ "usage": "Charges",
+ "chargesCapital": "Fixed",
+ "chargesCapitalNumber": 6,
+ "chargesCapitalDie": "D1",
+ "chargesCapitalBonus": 0,
+ "rechargeRate": "None",
+ "rechargeNumber": 1,
+ "rechargeDie": "D1",
+ "rechargeBonus": 0,
+ "outOfChargesConsequence": "Destroy",
+ "magicAttackBonus": -2,
+ "saveDC": -2,
+ "deviceFunctions": [
+ {
+ "$type": "DeviceFunctionDescription, Assembly-CSharp",
+ "parentUsage": "ByFunction",
+ "useAffinity": "ChargeCost",
+ "useAmount": 1,
+ "rechargeRate": "Dawn",
+ "durationType": "Instantaneous",
+ "canOverchargeSpell": false,
+ "type": "Spell",
+ "spellDefinition": "Definition:BorrowedKnowledge:e2192ab1-1109-56a8-a2bd-d49b82c1d04f",
+ "featureDefinitionPower": null
+ }
+ ],
+ "usableDeviceTags": [],
+ "onUseParticle": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ }
+ },
+ "isTool": false,
+ "isMusicalInstrument": false,
+ "musicalInstrumentDefinition": null,
+ "isStarterPack": false,
+ "isContainerItem": false,
+ "isLightSourceItem": false,
+ "isFocusItem": true,
+ "focusItemDefinition": {
+ "$type": "FocusItemDescription, Assembly-CSharp",
+ "focusType": "Arcane",
+ "shownAsFocus": true
+ },
+ "isWealthPile": false,
+ "isSpellbook": false,
+ "isDocument": false,
+ "isFood": false,
+ "isFactionRelic": false,
+ "personalityFlagOccurences": [],
+ "soundEffectDescriptionOverride": {
+ "$type": "SoundEffectDescription, Assembly-CSharp",
+ "startEvent": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "stopEvent": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "startSwitch": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "stopSwitch": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiStoreBody": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiPickBody": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiStoreOther": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiPickOther": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ }
+ },
+ "soundEffectOnHitDescriptionOverride": {
+ "$type": "SoundEffectOnHitDescription, Assembly-CSharp",
+ "switchOnHit": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ }
+ },
+ "itemPresentation": {
+ "$type": "ItemPresentation, Assembly-CSharp",
+ "unidentifiedTitle": "Equipment/&WandSpecialTitle",
+ "unidentifiedDescription": "Equipment/&WandSpecialDescription",
+ "overrideSubtype": "None",
+ "assetReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "scaleFactorWhileWielded": 1.0,
+ "useArmorAddressableName": false,
+ "isArmorAddressableNameGenderSpecific": false,
+ "armorAddressableName": "",
+ "maleArmorAddressableName": "",
+ "femaleArmorAddressableName": "",
+ "useCustomArmorMaterial": false,
+ "customArmorMaterial": "",
+ "ignoreCustomArmorMaterialOnCommonClothes": false,
+ "hasCrownVariationMask": false,
+ "crownVariationMask": 0,
+ "sameBehavioursForMaleAndFemale": true,
+ "maleBodyPartBehaviours": [],
+ "femaleBodyPartBehaviours": [],
+ "itemFlags": [],
+ "serializedVersion": 1
+ },
+ "clueSuspectPairs": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Wand of Borrowed Knowledge",
+ "description": "This wand allows casting the Borrowed Knowledge spell using spell casting stats of the Artificer who created it.",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "99f5e6021bff7994bb5b9f6832f8145a",
+ "m_SubObjectName": "WandOfMagicMissiles",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "29c4285a-c31a-55c4-817a-7935a727969c",
+ "contentPack": 9999,
+ "name": "SpellStoringWandOfBorrowedKnowledge"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfKineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfKineticJaunt.json
new file mode 100644
index 0000000000..39a511e4e6
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfKineticJaunt.json
@@ -0,0 +1,257 @@
+{
+ "$type": "ItemDefinition, Assembly-CSharp",
+ "inDungeonEditor": false,
+ "merchantCategory": "MagicDevice",
+ "weight": 0.5,
+ "slotTypes": [
+ "UtilitySlot",
+ "ContainerSlot"
+ ],
+ "slotsWhereActive": [
+ "MainHandSlot",
+ "OffHandSlot",
+ "UtilitySlot"
+ ],
+ "activeOnGround": false,
+ "destroyedWhenUnequiped": false,
+ "forceEquip": false,
+ "forceEquipSlot": "",
+ "canBeStacked": false,
+ "stackSize": 10,
+ "defaultStackCount": -1,
+ "costs": [
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+ ],
+ "itemTags": [
+ "Wood"
+ ],
+ "activeTags": [],
+ "inactiveTags": [],
+ "magical": true,
+ "requiresAttunement": false,
+ "requiresIdentification": false,
+ "requiredAttunementClasses": [],
+ "itemRarity": "Rare",
+ "incompatibleWithMonkReturnMissile": false,
+ "staticProperties": [],
+ "isArmor": false,
+ "isWeapon": false,
+ "isAmmunition": false,
+ "isUsableDevice": true,
+ "usableDeviceDescription": {
+ "$type": "UsableDeviceDescription, Assembly-CSharp",
+ "usage": "Charges",
+ "chargesCapital": "Fixed",
+ "chargesCapitalNumber": 6,
+ "chargesCapitalDie": "D1",
+ "chargesCapitalBonus": 0,
+ "rechargeRate": "None",
+ "rechargeNumber": 1,
+ "rechargeDie": "D1",
+ "rechargeBonus": 0,
+ "outOfChargesConsequence": "Destroy",
+ "magicAttackBonus": -2,
+ "saveDC": -2,
+ "deviceFunctions": [
+ {
+ "$type": "DeviceFunctionDescription, Assembly-CSharp",
+ "parentUsage": "ByFunction",
+ "useAffinity": "ChargeCost",
+ "useAmount": 1,
+ "rechargeRate": "Dawn",
+ "durationType": "Instantaneous",
+ "canOverchargeSpell": false,
+ "type": "Spell",
+ "spellDefinition": "Definition:KineticJaunt:45331d46-edae-5f7e-8197-97f3658a8f15",
+ "featureDefinitionPower": null
+ }
+ ],
+ "usableDeviceTags": [],
+ "onUseParticle": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ }
+ },
+ "isTool": false,
+ "isMusicalInstrument": false,
+ "musicalInstrumentDefinition": null,
+ "isStarterPack": false,
+ "isContainerItem": false,
+ "isLightSourceItem": false,
+ "isFocusItem": true,
+ "focusItemDefinition": {
+ "$type": "FocusItemDescription, Assembly-CSharp",
+ "focusType": "Arcane",
+ "shownAsFocus": true
+ },
+ "isWealthPile": false,
+ "isSpellbook": false,
+ "isDocument": false,
+ "isFood": false,
+ "isFactionRelic": false,
+ "personalityFlagOccurences": [],
+ "soundEffectDescriptionOverride": {
+ "$type": "SoundEffectDescription, Assembly-CSharp",
+ "startEvent": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "stopEvent": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "startSwitch": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "stopSwitch": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiStoreBody": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiPickBody": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiStoreOther": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ },
+ "guiPickOther": {
+ "$type": "AK.Wwise.Event, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ }
+ },
+ "soundEffectOnHitDescriptionOverride": {
+ "$type": "SoundEffectOnHitDescription, Assembly-CSharp",
+ "switchOnHit": {
+ "$type": "AK.Wwise.Switch, AK.Wwise.Unity.API.WwiseTypes",
+ "WwiseObjectReference": null,
+ "groupIdInternal": 0,
+ "groupGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ },
+ "idInternal": 0,
+ "valueGuidInternal": {
+ "$type": "System.Byte[], mscorlib",
+ "$value": ""
+ }
+ }
+ },
+ "itemPresentation": {
+ "$type": "ItemPresentation, Assembly-CSharp",
+ "unidentifiedTitle": "Equipment/&WandSpecialTitle",
+ "unidentifiedDescription": "Equipment/&WandSpecialDescription",
+ "overrideSubtype": "None",
+ "assetReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "scaleFactorWhileWielded": 1.0,
+ "useArmorAddressableName": false,
+ "isArmorAddressableNameGenderSpecific": false,
+ "armorAddressableName": "",
+ "maleArmorAddressableName": "",
+ "femaleArmorAddressableName": "",
+ "useCustomArmorMaterial": false,
+ "customArmorMaterial": "",
+ "ignoreCustomArmorMaterialOnCommonClothes": false,
+ "hasCrownVariationMask": false,
+ "crownVariationMask": 0,
+ "sameBehavioursForMaleAndFemale": true,
+ "maleBodyPartBehaviours": [],
+ "femaleBodyPartBehaviours": [],
+ "itemFlags": [],
+ "serializedVersion": 1
+ },
+ "clueSuspectPairs": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Wand of Kinetic Jaunt",
+ "description": "This wand allows casting the Kinetic Jaunt spell using spell casting stats of the Artificer who created it.",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "99f5e6021bff7994bb5b9f6832f8145a",
+ "m_SubObjectName": "WandOfMagicMissiles",
+ "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "f8eed529-e621-556c-9f89-03db7c70bb68",
+ "contentPack": 9999,
+ "name": "SpellStoringWandOfKineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BorrowedKnowledge.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BorrowedKnowledge.json
new file mode 100644
index 0000000000..e77961f681
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BorrowedKnowledge.json
@@ -0,0 +1,318 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolDivination",
+ "spellLevel": 2,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "All",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "e533b60cf16eae846b302bba4c7eb84f",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "b13dadf17e629f1498260cda5653cf71",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "fa0fc0c0344630144bd4c1c3e686b41e",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Buff",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&BorrowedKnowledgeTitle",
+ "description": "Spell/&BorrowedKnowledgeDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "19a6bbe3-4773-5b5c-9986-e345d498aedb",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e2192ab1-1109-56a8-a2bd-d49b82c1d04f",
+ "contentPack": 9999,
+ "name": "BorrowedKnowledge"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Infestation.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Infestation.json
new file mode 100644
index 0000000000..cd11df4891
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Infestation.json
@@ -0,0 +1,379 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolConjuration",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 6,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Constitution",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 1,
+ "dieType": "D6",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamagePoison",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "PushRandomDirection",
+ "distance": 1,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "CasterLevelTable",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 1,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "d3c7ffd9777c0dc419d41e264b52a5dc",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "7bcbc5b8d1699674ea353034b65de9ee",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Attack",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&InfestationTitle",
+ "description": "Spell/&InfestationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "7d164c23-d355-5e3d-af99-2c40a6217fd9",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "588e52e7-a8b5-58b4-9b07-1d02dcb7520a",
+ "contentPack": 9999,
+ "name": "Infestation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/IntellectFortress.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/IntellectFortress.json
new file mode 100644
index 0000000000..1af541066a
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/IntellectFortress.json
@@ -0,0 +1,346 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolAbjuration",
+ "spellLevel": 3,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": true,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 6,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Ally",
+ "durationType": "Hour",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionIntellectFortress",
+ "conditionDefinition": "Definition:ConditionIntellectFortress:7a900104-7b6b-5afb-80cc-defc922d98c7",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "PerAdditionalSlotLevel",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 1,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "623efe782aaa3a84fbd91053c5fd1b39",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "499a6891e29b20d44a372c4728e9d26b",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "5e46102198fad554587b73639eee3b36",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": false,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Buff",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&IntellectFortressTitle",
+ "description": "Spell/&IntellectFortressDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "10be50ad-f1af-57f9-8a24-8b0574383d72",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "e0131db2-c70e-5941-9180-1cb5bd27200f",
+ "contentPack": 9999,
+ "name": "IntellectFortress"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/KineticJaunt.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/KineticJaunt.json
new file mode 100644
index 0000000000..6e7f7236a1
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/KineticJaunt.json
@@ -0,0 +1,346 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 2,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": true,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "All",
+ "durationType": "Minute",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionKineticJaunt",
+ "conditionDefinition": "Definition:ConditionKineticJaunt:b82b1e95-5d01-582f-aad0-33c9c29f1f22",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "2da227cea9dca7d41b5d447904eb594c",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "0a30f6db20ec9ce47b58cb2b1cfeb655",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": false,
+ "somaticComponent": true,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Attack",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&KineticJauntTitle",
+ "description": "Spell/&KineticJauntDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "d7106f9a-9efa-5e03-af59-42b1d8217153",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "45331d46-edae-5f7e-8197-97f3658a8f15",
+ "contentPack": 9999,
+ "name": "KineticJaunt"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/LightningLure.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/LightningLure.json
new file mode 100644
index 0000000000..1e0b9842e8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/LightningLure.json
@@ -0,0 +1,379 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Distance",
+ "rangeParameter": 3,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Strength",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "DragToOrigin",
+ "distance": 2,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 1,
+ "dieType": "D8",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamageLightning",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "CasterLevelTable",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 1,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "44e6449335f642743a6c8d5fda526cfd",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "579f0985fff7e2243a922184fedb2db0",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "7ee946178940d56438b69281484e7a39",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": false,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Attack",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&LightningLureTitle",
+ "description": "Spell/&LightningLureDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "4261e976-f51b-5690-99e2-7375f4e5abe2",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a371e3b0-84af-5794-9d67-642b9677fc8d",
+ "contentPack": 9999,
+ "name": "LightningLure"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PrimalSavagery.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PrimalSavagery.json
new file mode 100644
index 0000000000..ed24fb285c
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PrimalSavagery.json
@@ -0,0 +1,354 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolTransmutation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "MeleeHit",
+ "rangeParameter": 1,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 1,
+ "dieType": "D10",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamageAcid",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "CasterLevelTable",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 1,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "f2663f24463bfa74eabff39bfeb7f077",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "0aaf289682bfd7c42a2af55a8353276e",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": false,
+ "somaticComponent": true,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Attack",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&PrimalSavageryTitle",
+ "description": "Spell/&PrimalSavageryDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "23e14ab1-f48d-5f41-ae71-bc04e49bc666",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a24eee9b-4a70-559f-838b-76777d3f6666",
+ "contentPack": 9999,
+ "name": "PrimalSavagery"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PsionicBlast.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PsionicBlast.json
new file mode 100644
index 0000000000..8ebe6994ef
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PsionicBlast.json
@@ -0,0 +1,404 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 3,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": true,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 6,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Cone",
+ "itemSelectionType": "None",
+ "targetParameter": 6,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": true,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "All",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": true,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 10,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "PushFromOrigin",
+ "distance": 4,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Motion",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "Negates",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "motionForm": {
+ "$type": "MotionForm, Assembly-CSharp",
+ "type": "FallProne",
+ "distance": 0,
+ "forceTurnTowardsSourceCharacterAfterPush": false,
+ "forceSourceCharacterTurnTowardsTargetAfterPush": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": true,
+ "savingThrowAffinity": "HalfDamage",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 5,
+ "dieType": "D8",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamagePsychic",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "PerAdditionalSlotLevel",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 1,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "1a0e4cd675c85894a9c2c6085b632939",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "f93c33eb8373a334abc48b2bdbe12ed4",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": false,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Buff",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&PsionicBlastTitle",
+ "description": "Spell/&PsionicBlastDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "49a58ed6-b9bf-5ba6-808b-486aff70af33",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6a0a898a-721a-5d5d-8375-ddb854508fc2",
+ "contentPack": 9999,
+ "name": "PsionicBlast"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDelirium.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDelirium.json
new file mode 100644
index 0000000000..7857e044ce
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDelirium.json
@@ -0,0 +1,196 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [
+ "Definition:SpellPowerArchfeyDarkDeliriumCharmed:6f74477b-e3b7-5e7d-ab8a-f309cd58060e",
+ "Definition:SpellPowerArchfeyDarkDeliriumFrightened:dc490b0a-8582-5a7a-8c88-560118a21c53"
+ ],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyDarkDeliriumTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "5085d080-e27c-5a35-b9de-a685dd4c17a0",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "b3699b9c-090c-5839-83a7-ec038df7312b",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyDarkDelirium"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumCharmed.json
new file mode 100644
index 0000000000..c7de49f1a9
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumCharmed.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyDarkDeliriumCharmedTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "6f74477b-e3b7-5e7d-ab8a-f309cd58060e",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyDarkDeliriumCharmed"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumFrightened.json
new file mode 100644
index 0000000000..27a52b5009
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyDarkDeliriumFrightened.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyDarkDeliriumFrightenedTitle",
+ "description": "Feature/&PowerArchfeyDarkDeliriumFrightenedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "dc490b0a-8582-5a7a-8c88-560118a21c53",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyDarkDeliriumFrightened"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresence.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresence.json
new file mode 100644
index 0000000000..24d6316591
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresence.json
@@ -0,0 +1,196 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [
+ "Definition:SpellPowerArchfeyFeyPresenceCharmed:10e5a1fc-ed53-52da-adbe-cb9203585605",
+ "Definition:SpellPowerArchfeyFeyPresenceFrightened:ba0355d3-7ed8-5427-9556-e143341a928e"
+ ],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Feature/&PowerArchfeyFeyPresenceTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "0a61312d-8c66-5132-9625-6911ed337299",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "3fcaab13-14cc-5433-af2a-fe0467609875",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyFeyPresence"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceCharmed.json
new file mode 100644
index 0000000000..5bf79ea9e6
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceCharmed.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyFeyPresenceCharmedTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceCharmedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "10e5a1fc-ed53-52da-adbe-cb9203585605",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyFeyPresenceCharmed"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceFrightened.json
new file mode 100644
index 0000000000..0ad36f2442
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerArchfeyFeyPresenceFrightened.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&PowerArchfeyFeyPresenceFrightenedTitle",
+ "description": "Feature/&PowerArchfeyFeyPresenceFrightenedDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "ba0355d3-7ed8-5427-9556-e143341a928e",
+ "contentPack": 9999,
+ "name": "SpellPowerArchfeyFeyPresenceFrightened"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledge.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledge.json
new file mode 100644
index 0000000000..089c8d87eb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledge.json
@@ -0,0 +1,212 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [
+ "Definition:SpellPowerBorrowedKnowledgeAcrobatics:0369db1d-0a13-51d1-8f26-1d9db6f70950",
+ "Definition:SpellPowerBorrowedKnowledgeAnimalHandling:a2d29cf1-a198-5c23-a9b1-b5f1913d727b",
+ "Definition:SpellPowerBorrowedKnowledgeArcana:739b1269-9e75-57ba-8a6d-c1de08c0f8f2",
+ "Definition:SpellPowerBorrowedKnowledgeAthletics:b119141a-abaf-583d-9704-0332cc1f94ac",
+ "Definition:SpellPowerBorrowedKnowledgeDeception:36fdb57a-5986-5ffe-ba03-d2bb666e6864",
+ "Definition:SpellPowerBorrowedKnowledgeHistory:1aac993d-0b89-5bc7-9bfd-dbb7c4746a92",
+ "Definition:SpellPowerBorrowedKnowledgeInsight:2c9965f4-fa6e-543c-87a3-04e2662ab4c0",
+ "Definition:SpellPowerBorrowedKnowledgeIntimidation:67c09efb-4bd1-5555-804d-66c7ddd816ae",
+ "Definition:SpellPowerBorrowedKnowledgeInvestigation:02803037-c457-5a2e-98f4-e9d17d6981ae",
+ "Definition:SpellPowerBorrowedKnowledgeMedecine:d54478c3-4675-52f2-8fb3-c3f6f141f2cc",
+ "Definition:SpellPowerBorrowedKnowledgeNature:9b0137a5-5f7e-5008-a294-c31a932c360e",
+ "Definition:SpellPowerBorrowedKnowledgePerception:86c1a28f-86c1-57cd-9f5a-ed19f215b84e",
+ "Definition:SpellPowerBorrowedKnowledgePerformance:5bcd74f2-5354-53bf-bb7f-bd3ce0e29bf9",
+ "Definition:SpellPowerBorrowedKnowledgePersuasion:70956e0a-629a-53d2-aba3-26d7bb466f88",
+ "Definition:SpellPowerBorrowedKnowledgeReligion:56f46b4e-9921-5196-b802-5bda032abd9c",
+ "Definition:SpellPowerBorrowedKnowledgeSleightOfHand:84a7a3b8-3dd6-5777-8fc8-0ab6e83339c8",
+ "Definition:SpellPowerBorrowedKnowledgeStealth:2f5aff60-a5ea-5d56-9b78-8760a80d6336",
+ "Definition:SpellPowerBorrowedKnowledgeSurvival:15cae790-6961-5ef0-a1a6-b961f0ad8f3b"
+ ],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "401c2595-0513-5e7c-baae-7980f2aea24e",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledge"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAcrobatics.json
new file mode 100644
index 0000000000..9420e3904f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAcrobatics.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AcrobaticsTitle",
+ "description": "Skill/&AcrobaticsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "0369db1d-0a13-51d1-8f26-1d9db6f70950",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeAcrobatics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAnimalHandling.json
new file mode 100644
index 0000000000..14a8e68293
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAnimalHandling.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AnimalHandlingTitle",
+ "description": "Skill/&AnimalHandlingDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "a2d29cf1-a198-5c23-a9b1-b5f1913d727b",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeAnimalHandling"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeArcana.json
new file mode 100644
index 0000000000..482d85ae8d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeArcana.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&ArcanaTitle",
+ "description": "Skill/&ArcanaDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "739b1269-9e75-57ba-8a6d-c1de08c0f8f2",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeArcana"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAthletics.json
new file mode 100644
index 0000000000..4d0fcffcb7
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeAthletics.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&AthleticsTitle",
+ "description": "Skill/&AthleticsDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "b119141a-abaf-583d-9704-0332cc1f94ac",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeAthletics"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeDeception.json
new file mode 100644
index 0000000000..ed4024d858
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeDeception.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&DeceptionTitle",
+ "description": "Skill/&DeceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "36fdb57a-5986-5ffe-ba03-d2bb666e6864",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeDeception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeHistory.json
new file mode 100644
index 0000000000..e618499cbb
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeHistory.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&HistoryTitle",
+ "description": "Skill/&HistoryDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "1aac993d-0b89-5bc7-9bfd-dbb7c4746a92",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeHistory"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInsight.json
new file mode 100644
index 0000000000..314a4fcb36
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInsight.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&InsightTitle",
+ "description": "Skill/&InsightDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "2c9965f4-fa6e-543c-87a3-04e2662ab4c0",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeInsight"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeIntimidation.json
new file mode 100644
index 0000000000..6a37d9502f
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeIntimidation.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&IntimidationTitle",
+ "description": "Skill/&IntimidationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "67c09efb-4bd1-5555-804d-66c7ddd816ae",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeIntimidation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInvestigation.json
new file mode 100644
index 0000000000..e507fd05a8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeInvestigation.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&InvestigationTitle",
+ "description": "Skill/&InvestigationDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "02803037-c457-5a2e-98f4-e9d17d6981ae",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeInvestigation"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeMedecine.json
new file mode 100644
index 0000000000..aefd5a23c4
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeMedecine.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&MedecineTitle",
+ "description": "Skill/&MedecineDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "d54478c3-4675-52f2-8fb3-c3f6f141f2cc",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeMedecine"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeNature.json
new file mode 100644
index 0000000000..be8288ebb2
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeNature.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&NatureTitle",
+ "description": "Skill/&NatureDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "9b0137a5-5f7e-5008-a294-c31a932c360e",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeNature"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerception.json
new file mode 100644
index 0000000000..6a63f8009d
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerception.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PerceptionTitle",
+ "description": "Skill/&PerceptionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "86c1a28f-86c1-57cd-9f5a-ed19f215b84e",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgePerception"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerformance.json
new file mode 100644
index 0000000000..d14c8fa469
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePerformance.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PerformanceTitle",
+ "description": "Skill/&PerformanceDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "5bcd74f2-5354-53bf-bb7f-bd3ce0e29bf9",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgePerformance"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePersuasion.json
new file mode 100644
index 0000000000..a80c17d3de
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgePersuasion.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&PersuasionTitle",
+ "description": "Skill/&PersuasionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "70956e0a-629a-53d2-aba3-26d7bb466f88",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgePersuasion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeReligion.json
new file mode 100644
index 0000000000..3ba4441405
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeReligion.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&ReligionTitle",
+ "description": "Skill/&ReligionDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "56f46b4e-9921-5196-b802-5bda032abd9c",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeReligion"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSleightOfHand.json
new file mode 100644
index 0000000000..7ce88f5df7
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSleightOfHand.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&SleightOfHandTitle",
+ "description": "Skill/&SleightOfHandDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "84a7a3b8-3dd6-5777-8fc8-0ab6e83339c8",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeSleightOfHand"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeStealth.json
new file mode 100644
index 0000000000..82686255e8
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeStealth.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&StealthTitle",
+ "description": "Skill/&StealthDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "2f5aff60-a5ea-5d56-9b78-8760a80d6336",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeStealth"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSurvival.json
new file mode 100644
index 0000000000..4309fe4206
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerBorrowedKnowledgeSurvival.json
@@ -0,0 +1,193 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "Self",
+ "rangeParameter": 0,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "Self",
+ "itemSelectionType": "Equiped",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "AllCharacterAndGadgets",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Instantaneous",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": false,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "None",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 0,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": null,
+ "casterSelfParticleReference": null,
+ "casterQuickSpellParticleReference": null,
+ "targetParticleReference": null,
+ "effectParticleReference": null,
+ "effectSubTargetParticleReference": null,
+ "zoneParticleReference": null,
+ "beforeImpactParticleReference": null,
+ "impactParticleReference": null,
+ "activeEffectImpactParticleReference": null,
+ "activeEffectCellStartParticleReference": null,
+ "activeEffectCellParticleReference": null,
+ "activeEffectCellEndParticleReference": null,
+ "activeEffectSurfaceStartParticleReference": null,
+ "activeEffectSurfaceParticleReference": null,
+ "activeEffectSurfaceEndParticleReference": null,
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": null,
+ "emissiveBorderCellParticleReference": null,
+ "emissiveBorderCellEndParticleReference": null,
+ "emissiveBorderSurfaceStartParticleReference": null,
+ "emissiveBorderSurfaceParticleReference": null,
+ "emissiveBorderSurfaceEndParticleReference": null,
+ "conditionStartParticleReference": null,
+ "conditionParticleReference": null,
+ "conditionEndParticleReference": null,
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "Mundane",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "None",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Skill/&SurvivalTitle",
+ "description": "Skill/&SurvivalDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "15cae790-6961-5ef0-a1a6-b961f0ad8f3b",
+ "contentPack": 9999,
+ "name": "SpellPowerBorrowedKnowledgeSurvival"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/StarryWisp.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/StarryWisp.json
new file mode 100644
index 0000000000..0f7878968e
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/StarryWisp.json
@@ -0,0 +1,447 @@
+{
+ "$type": "SpellDefinition, Assembly-CSharp",
+ "spellsBundle": false,
+ "subspellsList": [],
+ "compactSubspellsTooltip": false,
+ "implemented": true,
+ "schoolOfMagic": "SchoolEvocation",
+ "spellLevel": 0,
+ "ritual": false,
+ "uniqueInstance": false,
+ "castingTime": "Action",
+ "reactionContext": "None",
+ "ritualCastingTime": "Action",
+ "requiresConcentration": false,
+ "effectDescription": {
+ "$type": "EffectDescription, Assembly-CSharp",
+ "rangeType": "RangeHit",
+ "rangeParameter": 12,
+ "halfDamageOnAMiss": false,
+ "hitAffinitiesByTargetTag": [],
+ "targetType": "IndividualsUnique",
+ "itemSelectionType": "None",
+ "targetParameter": 1,
+ "targetParameter2": 2,
+ "emissiveBorder": "None",
+ "emissiveParameter": 1,
+ "requiresTargetProximity": false,
+ "targetProximityDistance": 6,
+ "targetExcludeCaster": false,
+ "canBePlacedOnCharacter": true,
+ "affectOnlyGround": false,
+ "targetFilteringMethod": "CharacterOnly",
+ "targetFilteringTag": "No",
+ "requiresVisibilityForPosition": true,
+ "inviteOptionalAlly": false,
+ "slotTypes": [],
+ "recurrentEffect": "No",
+ "retargetAfterDeath": false,
+ "retargetActionType": "Bonus",
+ "poolFilterDiceNumber": 5,
+ "poolFilterDieType": "D8",
+ "trapRangeType": "Triggerer",
+ "targetConditionName": "",
+ "targetConditionAsset": null,
+ "targetSide": "Enemy",
+ "durationType": "Round",
+ "durationParameter": 1,
+ "endOfEffect": "EndOfSourceTurn",
+ "hasSavingThrow": false,
+ "disableSavingThrowOnAllies": false,
+ "savingThrowAbility": "Dexterity",
+ "ignoreCover": false,
+ "grantedConditionOnSave": null,
+ "rollSaveOnlyIfRelevantForms": false,
+ "hasShoveRoll": false,
+ "createdByCharacter": true,
+ "difficultyClassComputation": "SpellCastingFeature",
+ "savingThrowDifficultyAbility": "Wisdom",
+ "fixedSavingThrowDifficultyClass": 15,
+ "savingThrowAffinitiesBySense": [],
+ "savingThrowAffinitiesByFamily": [],
+ "damageAffinitiesByFamily": [],
+ "advantageForEnemies": false,
+ "canBeDispersed": false,
+ "hasVelocity": false,
+ "velocityCellsPerRound": 2,
+ "velocityType": "AwayFromSourceOriginalPosition",
+ "restrictedCreatureFamilies": [],
+ "immuneCreatureFamilies": [],
+ "restrictedCharacterSizes": [],
+ "hasLimitedEffectPool": false,
+ "effectPoolAmount": 60,
+ "effectApplication": "All",
+ "effectFormFilters": [],
+ "effectForms": [
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Damage",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "damageForm": {
+ "$type": "DamageForm, Assembly-CSharp",
+ "versatile": false,
+ "diceNumber": 1,
+ "dieType": "D8",
+ "overrideWithBardicInspirationDie": false,
+ "versatileDieType": "D1",
+ "bonusDamage": 0,
+ "damageType": "DamageRadiant",
+ "ancestryType": "Sorcerer",
+ "healFromInflictedDamage": "Never",
+ "hitPointsFloor": 0,
+ "forceKillOnZeroHp": false,
+ "specialDeathCondition": null,
+ "ignoreFlyingCharacters": false,
+ "ignoreCriticalDoubleDice": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionStarryWisp",
+ "conditionDefinition": "Definition:ConditionStarryWisp:04d027d6-5059-5ab9-9a75-c6566a19d3e6",
+ "operation": "Add",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "Condition",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "conditionForm": {
+ "$type": "ConditionForm, Assembly-CSharp",
+ "conditionDefinitionName": "ConditionInvisible",
+ "conditionDefinition": "Definition:ConditionInvisible:6fff2284783105e4fa9793d4bf8afa3f",
+ "operation": "Remove",
+ "conditionsList": [],
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ },
+ {
+ "$type": "EffectForm, Assembly-CSharp",
+ "formType": "LightSource",
+ "addBonusMode": "None",
+ "applyLevel": "No",
+ "levelType": "ClassLevel",
+ "levelMultiplier": 1,
+ "diceByLevelTable": [],
+ "createdByCharacter": true,
+ "createdByCondition": false,
+ "hasSavingThrow": false,
+ "savingThrowAffinity": "None",
+ "dcModifier": 0,
+ "canSaveToCancel": false,
+ "saveOccurence": "EndOfTurn",
+ "lightSourceForm": {
+ "$type": "LightSourceForm, Assembly-CSharp",
+ "lightSourceType": "Basic",
+ "brightRange": 0,
+ "dimAdditionalRange": 2,
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 0.9778601,
+ "b": 0.78039217,
+ "a": 1.0
+ },
+ "graphicsPrefabReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "3e4cdebecc6e0db469720619529e3dc2",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "applyToSelf": false,
+ "forceOnSelf": false
+ },
+ "hasFilterId": false,
+ "filterId": 0
+ }
+ ],
+ "specialFormsDescription": "",
+ "effectAdvancement": {
+ "$type": "EffectAdvancement, Assembly-CSharp",
+ "effectIncrementMethod": "CasterLevelTable",
+ "incrementMultiplier": 1,
+ "additionalTargetsPerIncrement": 0,
+ "additionalSubtargetsPerIncrement": 0,
+ "additionalDicePerIncrement": 1,
+ "additionalSpellLevelPerIncrement": 0,
+ "additionalSummonsPerIncrement": 0,
+ "additionalHPPerIncrement": 0,
+ "additionalTempHPPerIncrement": 0,
+ "additionalTargetCellsPerIncrement": 0,
+ "additionalItemBonus": 0,
+ "additionalWeaponDie": 0,
+ "alteredDuration": "None"
+ },
+ "speedType": "Instant",
+ "speedParameter": 10.0,
+ "offsetImpactTimeBasedOnDistance": false,
+ "offsetImpactTimeBasedOnDistanceFactor": 0.1,
+ "offsetImpactTimePerTarget": 0.0,
+ "effectParticleParameters": {
+ "$type": "EffectParticleParameters, Assembly-CSharp",
+ "casterParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "3cff2b6f11a2cd649b3fb3fb2c402351",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterSelfParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "casterQuickSpellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "targetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "effectSubTargetParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "zoneParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "6937e1207989e6644ad591240a0bb88c",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "beforeImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "impactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "dc52f8444fa49f24ca22b361d63dbb15",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectImpactParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "activeEffectSurfaceParticlePerIndex": "",
+ "activeEffectSurfaceParticlePerIndexCount": 0,
+ "emissiveBorderCellStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderCellEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "emissiveBorderSurfaceEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionStartParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "13002582a0306fe44915c63f57e4ea59",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "conditionEndParticleReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
+ "m_AssetGUID": "0c47cc2ece484284eb5eec49a38a2cae",
+ "m_SubObjectName": "",
+ "m_SubObjectType": ""
+ },
+ "forceApplyZoneParticle": false,
+ "applyEmissionColorOnWeapons": false,
+ "emissionColor": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 0.0,
+ "g": 0.0,
+ "b": 0.0,
+ "a": 0.0
+ },
+ "emissionColorFadeInDuration": 0.0,
+ "emissionColorFadeOutDuration": 0.0
+ },
+ "effectAIParameters": {
+ "$type": "EffectAIParameters, Assembly-CSharp",
+ "aoeScoreMultiplier": 1.0,
+ "cooldownForCaster": 0,
+ "cooldownForBattle": 0,
+ "sortingScoreMultiplier": 1.0,
+ "dynamicCooldown": false
+ },
+ "animationMagicEffect": "Animation0",
+ "lightCounterDispellsEffect": false,
+ "hideSavingThrowAnimation": false
+ },
+ "aiParameters": {
+ "$type": "SpellAIParameters, Assembly-CSharp",
+ "learnPriority": "Low",
+ "preparePriority": "Low"
+ },
+ "concentrationAction": "None",
+ "verboseComponent": true,
+ "somaticComponent": true,
+ "materialComponentType": "None",
+ "specificMaterialComponentTag": "Diamond",
+ "specificMaterialComponentCostGp": 100,
+ "specificMaterialComponentConsumed": true,
+ "terminateOnItemUnequip": false,
+ "displayConditionDuration": false,
+ "vocalSpellSemeType": "Attack",
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": false,
+ "title": "Spell/&StarryWispTitle",
+ "description": "Spell/&StarryWispDescription",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "67ff5536-a1a3-5722-80e7-641a84c4e406",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "9856da86-1888-5630-8647-3a003421a268",
+ "contentPack": 9999,
+ "name": "StarryWisp"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json
index 578b8a8c52..7373152a92 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json
@@ -151,7 +151,7 @@
},
"effectParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "c3df0caa4c1e23e4593f77cb438fdfa9",
+ "m_AssetGUID": "",
"m_SubObjectName": "",
"m_SubObjectType": ""
},
@@ -175,7 +175,7 @@
},
"impactParticleReference": {
"$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables",
- "m_AssetGUID": "",
+ "m_AssetGUID": "c3df0caa4c1e23e4593f77cb438fdfa9",
"m_SubObjectName": "",
"m_SubObjectType": ""
},
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListArchfey.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListArchfey.json
new file mode 100644
index 0000000000..6eb1a5c7f6
--- /dev/null
+++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListArchfey.json
@@ -0,0 +1,101 @@
+{
+ "$type": "SpellListDefinition, Assembly-CSharp",
+ "hasCantrips": true,
+ "maxSpellLevel": 9,
+ "spellsByLevel": [
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 0,
+ "spells": []
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 1,
+ "spells": [
+ "Definition:FaerieFire:72b2d8c811efbb04e8d70c0a41f5d963",
+ "Definition:Sleep:9bfc9d5dc54cc2c4ab7e4baade97bf64"
+ ]
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 2,
+ "spells": [
+ "Definition:CalmEmotions:a879080b607fd75458e0eca2dea58e8a",
+ "Definition:MirrorImage:5c2d6ee9e5e53e742974baf0e543224c"
+ ]
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 3,
+ "spells": [
+ "Definition:ConjureAnimals:f0e0d1125df2d554eb10d3dde3a2050d",
+ "Definition:ProtectionFromEnergy:8416ac74aea478f498e2d50380376e90"
+ ]
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 4,
+ "spells": [
+ "Definition:DominateBeast:c3d07b9ef913f2d4ab8682c01ce7a3e1",
+ "Definition:GreaterInvisibility:463d00efd5590394ab707875f866dfe7"
+ ]
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 5,
+ "spells": [
+ "Definition:DominatePerson:89e34ee9a6361c040abb36971b697031",
+ "Definition:MantleOfThorns:e104287c-c35e-5355-b4ab-527a4a46860e"
+ ]
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 6,
+ "spells": []
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 7,
+ "spells": []
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 8,
+ "spells": []
+ },
+ {
+ "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp",
+ "level": 9,
+ "spells": []
+ }
+ ],
+ "compositeSpellList": false,
+ "sourceSpellLists": [],
+ "guiPresentation": {
+ "$type": "GuiPresentation, Assembly-CSharp",
+ "hidden": true,
+ "title": "Feature/&NoContentTitle",
+ "description": "Feature/&NoContentTitle",
+ "spriteReference": {
+ "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables",
+ "m_AssetGUID": "",
+ "m_SubObjectName": null,
+ "m_SubObjectType": null
+ },
+ "color": {
+ "$type": "UnityEngine.Color, UnityEngine.CoreModule",
+ "r": 1.0,
+ "g": 1.0,
+ "b": 1.0,
+ "a": 1.0
+ },
+ "symbolChar": "221E",
+ "sortOrder": 0,
+ "unusedInSolastaCOTM": false,
+ "usedInValleyDLC": false
+ },
+ "contentCopyright": "UserContent",
+ "guid": "65701020-407c-5faa-9da2-0509cf663a8b",
+ "contentPack": 9999,
+ "name": "SpellListArchfey"
+}
\ No newline at end of file
diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Types.txt b/Diagnostics/UnfinishedBusinessBlueprints/Types.txt
index 3a175af7c1..e07e018023 100644
--- a/Diagnostics/UnfinishedBusinessBlueprints/Types.txt
+++ b/Diagnostics/UnfinishedBusinessBlueprints/Types.txt
@@ -36,6 +36,7 @@ FeatureDefinitionLightAffinity
FeatureDefinitionMagicAffinity
FeatureDefinitionMovementAffinity
FeatureDefinitionMoveMode
+FeatureDefinitionMoveThroughEnemyModifier
FeatureDefinitionPerceptionAffinity
FeatureDefinitionPointPool
FeatureDefinitionPower
diff --git a/Documentation/Feats.md b/Documentation/Feats.md
index 3c802860eb..7761f4787b 100644
--- a/Documentation/Feats.md
+++ b/Documentation/Feats.md
@@ -341,425 +341,437 @@ You've manifested some of the power of chromatic dragons, granting you the follo
• Chromatic Infusion: As a bonus action, you can touch a simple or martial weapon and infuse it with one of the following damage types: acid, cold, fire, lightning, or poison. For the next minute, the weapon deals an extra 1d4 damage of the chosen type when it hits. After you use this bonus action, you can't do so again until you finish a long rest.
• Reactive Resistance: When you take acid, cold, fire, lightning, or poison damage, you can use your reaction to give yourself resistance to that instance of damage until the end of its turn. You can use this reaction a number of times equal to your proficiency bonus, and you regain all expended uses when you finish a long rest.
-# 70. - *Great Weapon Master* © [UB]
+# 70. - Great Weapon Defense [UB]
+
+You expertly use the size of your weapon to focus on parrying incoming blows. While you are wielding a heavy or versatile melee weapon and no other weapon or shield, you gain the following benefits:
+• Increase your Armor Class by 1 while wielding the weapon.
+• You can replace any main action attack to target a creature within 5ft of you. That creature has disadvantage on all attacks against you until the start of your next turn, until you are no longer adjacent to the creature or if you equip another weapon or shield.
+
+# 71. - *Great Weapon Master* © [UB]
You've learned to put the weight of a weapon to your advantage, letting its momentum empower your strikes:
• On your turn, when you score a critical hit with a melee weapon or reduce a creature to 0 hit points with one, you can make one melee weapon attack as a bonus action.
• Before you make a melee attack with a heavy weapon that you are proficient with, you can choose to take a -5 penalty to your attack roll in order to do additional +10 damage.
-# 71. - *Grudge Bearer* © [UB]
+# 72. - *Grudge Bearer* © [UB]
You have a deep hatred for a particular kind of creature. Choose your foes, a type of creature to bear the burden of your wrath: aberrations, beasts, celestials, constructs, dragons, elementals, fey, fiends, giants, monstrosities, oozes, plants, or undead. You gain the following benefits:
• Increase your Strength, Constitution, or Wisdom score by 1, to a maximum of 20.
• During the first round of any combat against your chosen foes, your attack rolls against any of them have advantage.
• When any of your chosen foes makes an opportunity attack against you, it makes the attack roll with disadvantage.
-# 72. - Hard to Kill [SOL]
+# 73. - Hard to Kill [SOL]
+1 CON to a maximum of 20
You have advantage on death saving throws. If you succeed three times, you are not only stabilized, but you regain one hit die immediately. On a critical roll, you regain two hit dice instead.
-# 73. - Hardy [UB]
+# 74. - Hardy [UB]
Increase your Strength or Constitution by 1, to a maximum of 20. Whenever you use your second wind feature, you gain 1D10 + your class level temporary hit points.
-# 74. - Hauler [SOL]
+# 75. - Hauler [SOL]
You are trained to carry heavy loads. Increase your Strength by 1 (max 20), and your carrying capacity is doubled.
-# 75. - *Healer* © [UB]
+# 76. - *Healer* © [UB]
You gain proficiency or expertise in Medicine checks. You gain the ability to stabilize a dying creature once per long rest. You can use an action to restore 1d6 + 4 + character level hit points a number of times per long rest equal to your Wisdom modifier.
-# 76. - *Heavy Armor Master* © [UB]
+# 77. - *Heavy Armor Master* © [UB]
You can use your armor to deflect strikes that would kill others. Increase your Strength by 1, to a maximum of 20. While you are wearing heavy armor, bludgeoning, piercing, and slashing damage that you take from attacks is reduced by 3.
-# 77. - Icy Touch [SOL]
+# 78. - Icy Touch [SOL]
The first time each turn that you deal damage with an unarmed attack or weapon, you deal additional cold damage equal to your proficiency bonus.
-# 78. - Improved Critical [UB]
+# 79. - Improved Critical [UB]
Your weapon attacks score a critical hit on a roll of 19 or 20.
-# 79. - *Infernal Constitution* © [UB]
+# 80. - *Infernal Constitution* © [UB]
Fiendish blood runs strong in you, unlocking a resilience akin to that possessed by some fiends. You gain the following benefits:
• Increase your Constitution by 1, to a maximum of 20.
• You have resistance to cold and poison damage.
• You have advantage on saving throws against being poisoned.
-# 80. - Infusion Adept [UB]
+# 81. - Infusion Adept [UB]
You have studied the art of infusing magic into mundane objects to create temporary magical items, granting you two level 2 or below infusions of your choice from the Artificer class.
-# 81. - Initiate Alchemist [SOL]
+# 82. - Initiate Alchemist [SOL]
You gain proficiency with the Herbalism Kit and Poisoner's Kit.
You gain proficiency in Nature. If you were already proficient, you gain expertise in Nature instead.
-# 82. - Initiate Enchanter [SOL]
+# 83. - Initiate Enchanter [SOL]
You gain proficiency with the Manacalon Rosary, which is required to enchant items.
You gain proficiency in Arcana. If you were already proficient, you gain expertise in Arcana instead.
-# 83. - *Inspiring Leader* © [UB]
+# 84. - *Inspiring Leader* © [UB]
You can spend 10 minutes to inspire all friendly creatures, including you, within 30 ft of you. Each creature gains temporary hit points equal to your level + your Charisma modifier.
-# 84. - Lock Breaker [SOL]
+# 85. - Lock Breaker [SOL]
You have spent a lot of time studying locks - how to craft them and how to pick them. You gain proficiency with thieves' tools, or double your existing proficiency if you are already proficient. You have advantage when using thieves' tools to pick locks.
-# 85. - Longsword Finesse [UB]
+# 86. - Longsword Finesse [UB]
You are descended from a master of the longsword, and some of that mastery has passed on to you. You gain the following benefits:
• Increase your Dexterity by 1, to a maximum of 20.
• While you are holding a longsword, you gain a +1 bonus to armor class.
• Longsword has the finesse property when you wield it.
-# 86. - *Lucky* © [UB]
+# 87. - *Lucky* © [UB]
You have inexplicable luck that seems to kick in at just the right moment. You have 3 luck points. Whenever you miss an attack roll, fail an ability check, or a saving throw, you can spend one luck point to replace the d20. You can also spend one luck point when an attack roll is made against you. Roll a d20 and then choose whether the attack uses the attacker's roll or yours. You regain your expended luck points when you finish a long rest.
-# 87. - *Mage Slayer* © [UB]
+# 88. - *Mage Slayer* © [UB]
You have practiced techniques in melee combat against spell-casters, gaining the following benefits:
• When a creature within 5 feet of you casts a spell, you can use your reaction to make a melee weapon attack against that creature.
• When you damage a creature that is concentrating on a spell, that creature has disadvantage on the saving throw it makes to maintain its concentration.
• If you fail an Intelligence, a Wisdom, or a Charisma Saving Throw, you can cause yourself to succeed instead. Once you use this benefit, you can't use it again until you finish a Long Rest.
-# 88. - *Magic Initiate* © [UB]
+# 89. - *Magic Initiate* © [UB]
Choose a class: bard, cleric, druid, sorcerer, warlock, or wizard. You learn two cantrips of your choice from that class's spell list. In addition, choose one 1st-level spell to learn from that same list. Using this feat, you can cast the spell once at its lowest level, and you must finish a long rest before you can cast it in this way again.
-# 89. - Manipulator [SOL]
+# 90. - Manipulator [SOL]
You gain proficiency in Intimidation, Persuasion, and Deception. If you were already proficient, you gain expertise instead in the corresponding skill.
-# 90. - *Martial Adept* © [UB]
+# 91. - *Martial Adept* © [UB]
You have martial training that allows you to perform special combat techniques called maneuvers:
• You learn two maneuvers of your choice from the Battle Master subclass. The Maneuver DC of these maneuvers is 8 + proficiency bonus + Strength or Dexterity modifier, whichever is higher.
• You gain 1 Superiority Die. The die is a d6, and it doesn't increase in size if you are not a Battle Master. This die is used to fuel your maneuvers. It is expended when you use it, and is regained when you finish a short or long rest.
-# 91. - Master Alchemist [SOL]
+# 92. - Master Alchemist [SOL]
You have mastered the art of potion making. You need half the normal time to craft a potion and your proficiency bonus is doubled when making the roll to determine whether your crafting progresses.
You have expert knowledge of all potions and can identify them automatically.
-# 92. - Master Enchanter [SOL]
+# 93. - Master Enchanter [SOL]
You have mastered the art of enchanting items. You spend half the normal time to enchant an item and your proficiency bonus is doubled when performing the roll to determine whether your crafting progresses
-# 93. - *Medium Armor Master* © [UB]
+# 94. - *Medium Armor Master* © [UB]
You have practiced moving in medium armor to gain the following benefits:
• Wearing medium armor doesn't impose disadvantage on your Dexterity (Stealth) checks.
• When you wear medium armor, you can add 3, rather than 2, to your AC if you have a Dexterity of 16 or higher.
-# 94. - Melting Touch [SOL]
+# 95. - Melting Touch [SOL]
The first time each turn that you deal damage with an unarmed attack or weapon, you deal additional acid damage equal to your proficiency bonus.
-# 95. - *Menacing* © [UB]
+# 96. - *Menacing* © [UB]
Increase your Charisma by 1, to a maximum of 20.
• You gain proficiency with Intimidation skill or expertise if you are already proficient.
• You can replace one main attack with an attempt to demoralize one humanoid you can see within 30 feet of you that can see and hear you. Make a Charisma (Intimidation) check contested by the target's Wisdom (Insight) check. If your check succeeds, the target is frightened until the end of your next turn. If your check fails, the target can't be frightened by you in this way for 1 hour.
-# 96. - Mender [SOL]
+# 97. - Mender [SOL]
When you stabilize an ally with a Medicine check, they regain 1 HP.
-# 97. - Merciless [UB]
+# 98. - Merciless [UB]
When you reduce a target to 0 HP using a melee weapon attack on your turn, enemies within a radius of the downed target equal to half of your proficiency bonus (rounded up) who can see the target must make a Wisdom save (DC 8 + your proficiency bonus + your Strength modifier) or become frightened of you until the end of your next turn. If the triggering attack is a critical hit, the radius is instead equal to your proficiency bonus.
-# 98. - *Metamagic Adept* © [UB]
+# 99. - *Metamagic Adept* © [UB]
You learn two metamagic options of your choice from the sorcerer class and gain half your proficiency bonus rounded up in sorcery points to spend on it.
-# 99. - Might of the Iron Legion [SOL]
+# 100. - Might of the Iron Legion [SOL]
+1 STR to a maximum of 20
You gain proficiency with Heavy Armor.
You gain proficiency with Longswords, Greatswords, and Battleaxes.
-# 100. - Mighty Blow [SOL]
+# 101. - Mighty Blow [SOL]
When you attack with a two-handed melee weapon, you deal additional damage equal to half your strength modifier (rounded up).
-# 101. - *Mobile* © [UB]
+# 102. - *Mobile* © [UB]
You are exceptionally speedy and agile. Your speed increases by 10 ft, and you are immune to difficult terrain when dashing. When you make a melee attack against a creature you are immune to attack of opportunity from the creature unless it has immunity to that.
-# 102. - *Moderately Armored* © [UB]
+# 103. - *Moderately Armored* © [UB]
Increase your Strength or Dexterity by 1, to a maximum of 20.
You gain proficiency with medium armor and shields.
-# 103. - Monk Initiate [UB]
+# 104. - Monk Initiate [UB]
You have learned some of the ways of the monk. You gain Ki points equals to your proficiency bonus, which you can spend to use Flurry of Blows, Patient Defense, or Step of the Wind.
-# 104. - Natural Fluidity [UB]
+# 105. - Natural Fluidity [UB]
You may use a WildShape form to restore a spent spell slot, up to the maximum of a 3rd level spell slot. Alternatively, you may spend a 3rd level or higher spell slot to regain up to 2 WildShape forms. You can use it once per long rest.
-# 105. - Old Tactics [UB]
+# 106. - Old Tactics [UB]
Increase your Strength or Dexterity by 1. Once per round, when a prone enemy within range of your melee weapon stands up you may make an attack of opportunity against the target.
-# 106. - *Orcish Aggression* © [UB]
+# 107. - *Orcish Aggression* © [UB]
Your aggression burns tirelessly. You gain the following benefits:
• Increase your Strength or Constitution by 1, up to a maximum of 20.
• As a bonus action, when wielding a melee weapon in main hand, you can charge up to your speed toward an enemy of your choice and free attack the creature with your main weapon. This feature can be used proficiency bonus times per long rest.
-# 107. - *Orcish Fury* © [UB]
+# 108. - *Orcish Fury* © [UB]
Your fury burns tirelessly. You gain the following benefits:
• Increase your Strength or Constitution by 1, up to a maximum of 20.
• When you hit with an attack made with a simple or martial weapon, you can roll one of the weapon's damage dice an additional time and add it as extra damage of the weapon's damage type. Once you use this ability, you can't use it again until you finish a short or long rest.
• Immediately after you use your Relentless Endurance trait, you can use your reaction to make one weapon attack.
-# 108. - Pickpocket [UB]
+# 109. - Pickpocket [UB]
You gain proficiency with Sleight of Hand, or expertise if already proficient. You also have advantage on Sleight of Hand Dexterity checks.
-# 109. - *Piercer* © [UB]
+# 110. - *Piercer* © [UB]
Increase your Strength or Dexterity by 1, to a maximum of 20.
When you hit a creature with an attack that deals piercing damage, you can re-roll dice when you roll a 1, and you must use the new roll. When you score a critical hit you can roll one additional damage die when determining the extra piercing damage the target takes.
-# 110. - *Poisoner* © [UB]
+# 111. - *Poisoner* © [UB]
You have a profound understanding on how to manipulate poisons:
• You gain proficiency with the poisoner's kit, or expertise if already proficient.
• You gain the ability to apply a poison to your weapon as a bonus action.
• When you make a damage roll, you ignore resistance to poison damage.
-# 111. - Poisonous Skin [UB]
+# 112. - Poisonous Skin [UB]
Any creature that hits you in melee or is hit by your unarmed attack, shoves you or is shoved by you needs to succeed on Constitution saving throw (DC 8 + your proficiency bonus + your Constitution modifier) or become Poisoned for 1 minute.
-# 112. - *Polearm Master* © [UB]
+# 113. - *Polearm Master* © [UB]
Your expert training with a polearm grants you these benefits:
• When you take the Attack action and attack with only a polearm weapon, you can use a bonus action to make a melee attack with the opposite end of the weapon. This attack uses the same ability modifier as the primary attack and deals 1d4 bludgeoning damage.
• Other creatures provoke an opportunity attack from you when they enter the reach you have with wielding a polearm weapon.
-# 113. - Potent Spellcaster [UB]
+# 114. - Potent Spellcaster [UB]
You can add your spellcaster attribute modifier to the damage you deal with any cantrip in your repertoire.
-# 114. - Power Attack [UB]
+# 115. - Power Attack [UB]
You have learned to trade accuracy to land deadlier blows. When attacking unarmed or with melee weapons, you can choose to take a -3 penalty to your attack roll in order to do additional damage equal to 3 + your proficiency bonus.
-# 115. - Powerful Cantrip [SOL]
+# 116. - Powerful Cantrip [SOL]
When a creature succeeds on a saving throw against your cantrip or dodges your cantrip, the creature takes half damage but suffers no additional effect from the cantrip or from other sources like Agonizing Blast.
-# 116. - Precision Focused [UB]
+# 117. - Precision Focused [UB]
Increase one of your mental attributes by 1, to a maximum of 20.
You can use a bonus action to make weapon attacks count as magical and use selected mental attribute for attack and damage rolls for 1 minute. This feature can be used proficiency bonus times per long rest.
-# 117. - Primal Rage [UB]
+# 118. - Primal Rage [UB]
Increase your Strength or Constitution by 1, to a maximum of 20. You gain one additional Rage usage between rests.
-# 118. - Raise Shield [SOL]
+# 119. - Raise Shield [SOL]
When you are about to get hit by a ranged attack while wielding a shield, you can use your reaction to get +3 AC until the end of the attacker's turn. You also gain proficiency with shields.
-# 119. - Ready or Not [SOL]
+# 120. - Ready or Not [SOL]
You have advantage on your attack rolls when using Ready Action.
-# 120. - Reckless Attack [UB]
+# 121. - Reckless Attack [UB]
Before you make your first attack on your turn, you can decide to attack recklessly. Doing so gives you advantage on melee weapon attack rolls using Strength during this turn, but attack rolls against you have advantage until your next turn.
-# 121. - *Revenant Blade* © [UB]
+# 122. - *Revenant Blade* © [UB]
You are descended from a master of the great sword, and some of that mastery has passed on to you. You gain the following benefits:
• Increase your Dexterity or Strength by 1, to a maximum of 20.
• While you are holding a great sword, you gain a +1 bonus to armor class.
• Great sword has the finesse property when you wield it.
-# 122. - Robust [SOL]
+# 123. - Robust [SOL]
Sturdy and tough, you increase your Constitution score by 1 (max 20) and when you use a hit die to regain hit points, roll twice and take the higher value.
-# 123. - Rush to Battle [SOL]
+# 124. - Rush to Battle [SOL]
You can use your bonus action to increase your movement speed by 3 cells until the end of your turn, and get -2 to your AC, until the start of your next turn.
-# 124. - *Savage Attack* © [UB]
+# 125. - *Savage Attack* © [UB]
Reroll weapon and spell damage dice when you roll a 1 (Not all damage sources re-roll dice. For example, sneak attack and smite damage are not re-rolled).
-# 125. - Scriber [UB]
+# 126. - Scriber [UB]
Increase your Intelligence by 1, to a maximum of 20.
You gain proficiency with scroll kit and Arcana, or expertise if already proficient.
-# 126. - *Second Chance* © [UB]
+# 127. - *Second Chance* © [UB]
Increase your Dexterity, Constitution, or Charisma by 1, to a maximum of 20. When a creature you can see hits you with an attack roll, you can use your reaction to force that creature to reroll. Once you use this ability, you can't use it again until you roll initiative at the start of combat or until you finish a short or long rest.
-# 127. - *Sentinel* © [UB]
+# 128. - *Sentinel* © [UB]
You have mastered techniques to take advantage of every drop in any enemy's guard:
• When you hit a creature with an opportunity attack, the creature's speed becomes 0 for the rest of the turn.
• Creatures provoke opportunity attacks from you even if they take the Disengage action before leaving your reach.
• You can use your reaction to make a melee weapon attack against the attacking creature when a creature makes an attack against a target other than you.
-# 128. - *Sharpshooter* © [UB]
+# 129. - *Sharpshooter* © [UB]
You have learned to trade accuracy to land deadlier shots:
• When attacking with a ranged weapon, you can choose to take a -5 penalty to your attack roll in order to do additional +10 damage.
• Attacks at long range don't impose disadvantage and ranged weapon attack ignores half cover and three-quarters cover.
-# 129. - Shield Bash [UB]
+# 130. - Shield Bash [UB]
You can use your bonus action to bash a creature using your shield, turning it momentarily into a special improvised weapon that you are proficient with. Make a melee weapon attack against a creature within 5 feet of you using your Strength modifier for the attack. If you hit, the creature takes 1d4 + Strength modifier as bludgeoning damage.
-# 130. - *Shield Master* © [UB]
+# 131. - *Shield Master* © [UB]
You use shields not just for protection but also for offense. You gain the following benefits while you are wielding a shield:
• If you take the Attack action on your turn, you can use a bonus action to try to shove a creature within 5 feet of you with your shield.
• If you aren't incapacitated, gain +2 bonus to all Dexterity saving throws you make.
• Whenever a damaging spell forces you to roll a Dexterity saving throw, you can use your reaction to halve any damage taken.
-# 131. - *Slasher* © [UB]
+# 132. - *Slasher* © [UB]
Increase your Strength or Dexterity by 1, to a maximum of 20.
When you hit a creature with an attack that deals slashing damage, you can reduce the speed of the target by 10 ft until the start of your next turn. When you score a critical hit you grievously wound it. Until the start of your next turn, the target has disadvantage on all attack rolls.
-# 132. - Slay thy Enemies [UB]
+# 133. - Slay thy Enemies [UB]
You can use your bonus action and consume one ranger spell slot to focus your hunting knowledge against your enemies. You have a bonus to attack and damage rolls equal to the spell slot level used up to a maximum of 3. Against favored enemies you gain advantage on attack rolls instead pf attack roll bonus. This effect lasts for 2 rounds, plus 1 round per slot level used.
-# 133. - *Spear Mastery* © [UB]
+# 134. - *Spear Mastery* © [UB]
Though the spear is a simple weapon to learn, it rewards you for the time you have taken to master it:
• You gain a +1 bonus to attack rolls you make with a spear and its damage die changes from a d6 to a d8, and from a d8 to a d10 when wielded with two hands.
• As a bonus action you can brace your spear to intercept approaching enemies. You can use reaction to perform attack of opportunity with a spear on enemy that enters your reach and deal extra die of damage if that attack hits.
• As a bonus action, you can increase your reach with a spear by 5 ft for the rest of your turn.
-# 134. - *Spell Sniper* © [UB]
+# 135. - *Spell Sniper* © [UB]
You learn one cantrip that requires an attack roll. Choose the cantrip from the bard, cleric, druid, sorcerer, warlock, or wizard spell list. When you cast a spell that requires you to make an attack roll, the spell's range is doubled. Your ranged spell attacks ignore half cover and three-quarters cover.
-# 135. - Spiritual Fluidity [UB]
+# 136. - Spiritual Fluidity [UB]
You may use a Channel Divinity usage to restore a spent spell slot, up to the maximum of a 3rd level spell slot. Alternatively, you may spend a 3rd level or higher spell slot to regain up to 3 Channel Divinity usages. You can use it once per long rest.
-# 136. - *Squat Nimbleness* © [UB]
+# 137. - *Squat Nimbleness* © [UB]
You are uncommonly nimble for your race. Increase your Strength or Dexterity by 1, to a maximum of 20. Increase your walking speed by 5 ft. You gain proficiency or expertise in the Athletics skill if Strength is increased or Acrobatics skill if Dexterity is increased.
-# 137. - *Stealthy* © [UB]
+# 138. - *Stealthy* © [UB]
You know how best to hide. You gain the following benefits:
• Increase your Dexterity by 1, to a maximum of 20.
• You gain proficiency with Stealth skill or expertise if you are already proficient.
• If you are hidden, you can move in the open without revealing yourself if you end the move in a position where you're not clearly visible.
-# 138. - Sturdiness of the Tundra [SOL]
+# 139. - Sturdiness of the Tundra [SOL]
+1 CON to a maximum of 20
You gain proficiency with Medium Armor.
You gain proficiency with Warhammers, and Light and Heavy Crossbows.
-# 139. - Superior Critical [UB]
+# 140. - Superior Critical [UB]
Your weapon attacks score a critical hit on a roll of 18, 19 or 20.
-# 140. - Take Aim [SOL]
+# 141. - Take Aim [SOL]
You can use your bonus action to take aim. Until the end of your turn, your ranged weapon attacks have no disadvantage or advantage, no matter the conditions.
-# 141. - *Telekinetic* © [UB]
+# 142. - *Telekinetic* © [UB]
Increase one of your mental attributes by 1, to a maximum of 20.
As a bonus action during combat, you can telekinetically move one creature you can see within 30 ft of you. The target must succeed on a Strength saving throw (DC 8 + your proficiency bonus + your chosen attributes modifier) or be moved 5 ft in a direction of your choosing.
-# 142. - *Theologian* © [UB]
+# 143. - *Theologian* © [UB]
Your extensive study of religion rewards you with the following benefits.
• Increase your Intelligence by 1, to a maximum of 20.
• You gain proficiency with Religious skill or expertise if you are already proficient.
• You learn the Detect Evil and Good spell. You can cast Detect Evil and Good once without expending a spell slot, and you regain the ability to do so when you finish a long rest.
-# 143. - Thrown Weapons Master [UB]
+# 144. - Thrown Weapons Master [UB]
When you are making a ranged attack with a thrown weapon, increase its short range by 10 feet and its long range by 20 feet. In addition, the weapon returns into your hand immediately after it is used to make a thrown attack.
-# 144. - Touched Magic [UB]
+# 145. - Touched Magic [UB]
Increase one of your mental attributes by 1, to a maximum of 20.
You can pick a set from Aegis Touched, Celestial Touched, Flame Touched, Iridescent Touched, Peregrination Touched, Retinue Touched, Shadow Touched, Verdant Touched. Each set grants 3 spells. You can cast these spells once per long rest, and you can also cast these spells with your spell slots.
-# 145. - *Tough* © [UB]
+# 146. - *Tough* © [UB]
Your hit point maximum increases by an amount equal to twice your level when you gain this feat. Whenever you gain a level thereafter, your hit point maximum increases by an additional 2 hit points.
-# 146. - Toxic Touch [SOL]
+# 147. - Toxic Touch [SOL]
The first time each turn that you deal damage with an unarmed attack or weapon, you deal additional poison damage equal to your proficiency bonus.
-# 147. - Toxicologist [UB]
+# 148. - Toxicologist [UB]
Increase one of your mental attributes by 1, to a maximum of 20.
You gain proficiency with poisoner's kit and Nature, or expertise if already proficient.
-# 148. - Trip Attack [SOL]
+# 149. - Trip Attack [SOL]
When you hit an enemy with a melee weapon ready attack, they must also make a contested roll as if you used the shove action or be knocked prone.
-# 149. - Twin Blade [SOL]
+# 150. - Twin Blade [SOL]
When you are about to get hit by a melee attack while dual-wielding (not sword + shield), you can use your reaction to get +3 AC until the end of the attacker's turn.
-# 150. - Unarmored Expert [UB]
+# 151. - Unarmored Expert [UB]
Increase one of your mental attributes by 1, to a maximum of 20.
While you are not wearing any armor, your armor class is equal to 10 + your Dexterity modifier + the selected mental attribute modifier.
-# 151. - Uncanny Accuracy [SOL]
+# 152. - Uncanny Accuracy [SOL]
+1 DEX to a maximum of 20
You ignore half and three-quarters cover with your ranged attacks.
-# 152. - Versatility Adept [UB]
+# 153. - Versatility Adept [UB]
You gain Eldritch Versatility, with its pool size increased by your proficiency bonus and Versatility Switch. You learn 1 versatility.
Eldritch Versatility: You gain an Eldritch Pool, which has a maximum of your warlock level. You gain 1 Eldritch Point whenever you hit an enemy with Eldritch Blast. After a long rest, the pool is reset.
Versatility Switch: Each turn, you can switch among Strength, Intelligence, Wisdom or Versatile. If you choose an ability score, treat the chosen ability score as 10 + 2 * [Proficiency Bonus] when using versatilities. If you choose Versatile, your Strength, Intelligence and Wisdom gain a bonus equal to the amount of versatilities you have learnt.
-# 153. - *War Caster* © [UB]
+# 154. - *War Caster* © [UB]
You gain advantage on checks to maintain concentration.
You can perform the somatic components of spells even when you have weapons or a shield in one or both hands.
When a hostile creature's movement provokes an opportunity attack from you, you can use your reaction to cast a cantrip at the creature, rather than making an opportunity attack. The cantrip must have a casting time of 1 action or bonus action and must target only that creature.
-# 154. - *Weapon Master* © [UB]
+# 155. - *Weapon Master* © [UB]
You have practiced extensively with a variety of weapons, gaining the following benefits:
• Increase your Strength or Dexterity score by 1, to a maximum of 20.
• You gain proficiency with four weapons of your choice. Each one must be a simple or a martial weapon.
-# 155. - Wise Archery [UB]
+# 156. - Whirlwind Attack [UB]
+
+You become a master of whirling death, gaining the following benefits:
+• Increase your Strength or Dexterity by 1, to a maximum of 20.
+• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative).
+
+# 157. - Wise Archery [UB]
Your intuition guides your hand when using a bow. Increase your Wisdom attribute by 1, to a maximum of 20. You can use your Wisdom modifier instead of your Dexterity modifier for the attack and damage rolls with these weapons.
-# 156. - *Wood-Elf Magic* © [UB]
+# 158. - *Wood-Elf Magic* © [UB]
You learn the magic of the primeval woods, which are revered and protected by your people. You learn one Druid cantrip of your choice. You also learn the Longstrider and Pass Without Trace spells, each of which you can cast once without expending a spell slot. You regain the ability to cast these two spells in this way when you finish a long rest.
diff --git a/Documentation/Spells.md b/Documentation/Spells.md
index 173fcbb660..0199817d90 100644
--- a/Documentation/Spells.md
+++ b/Documentation/Spells.md
@@ -56,157 +56,169 @@ Fire a blast of focused air at your target.
Causes light sources such as torches and mana lamps in the area of effect to light up.
-# 15. - Light (V) level 0 Evocation [SOL]
+# 15. - *Infestation* © (V,S) level 0 Conjuration [UB]
-An object you can touch emits a powerful light for a limited time.
+You cause a cloud of mites, fleas, and other parasites to appear momentarily on one creature you can see within range. The target must succeed on a Constitution saving throw, or it takes 1d6 poison damage and moves 5 feet in a random direction.
+This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).
# 16. - Light (V) level 0 Evocation [SOL]
An object you can touch emits a powerful light for a limited time.
-# 17. - *Mind Sliver* © (V) level 0 Enchantment [UB]
+# 17. - Light (V) level 0 Evocation [SOL]
+
+An object you can touch emits a powerful light for a limited time.
+
+# 18. - *Lightning Lure* © (V) level 0 Evocation [UB]
+
+You create a lash of lightning energy that strikes at one creature of your choice that you can see within 15 feet of you. The target must succeed on a Strength saving throw or be pulled up to 10 feet in a straight line toward you and then take 1d8 lightning damage.
+This spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).
+
+# 19. - *Mind Sliver* © (V) level 0 Enchantment [UB]
You drive a disorienting spike of psychic energy into the mind of one creature you can see within range. The target must succeed on an Intelligence saving throw or take 1d6 psychic damage and subtract 1d4 from the next saving throw it makes before the end of your next turn.
-# 18. - Minor Lifesteal (V,S) level 0 Necromancy [UB]
+# 20. - Minor Lifesteal (V,S) level 0 Necromancy [UB]
You drain vital energy from a nearby enemy creature. Make a melee spell attack against a creature within 5 feet of you. On a hit, the creature takes 1d6 necrotic damage, and you heal for half the damage dealt (rounded down). This spell has no effect on undead and constructs. The spell's damage increases by an additional die at 5th, 11th and 17th level.
-# 19. - Poison Spray (V,S) level 0 Conjuration [SOL]
+# 21. - Poison Spray (V,S) level 0 Conjuration [SOL]
Fire a poison spray at an enemy you can see, within range.
-# 20. - Produce Flame (V,S) level 0 Conjuration [SOL]
+# 22. - *Primal Savagery* © (S) level 0 Transmutation [UB]
+
+You channel primal magic to cause your teeth or fingernails to sharpen, ready to deliver a corrosive attack. Make a melee spell attack against one creature within 5 feet of you. On a hit, the target takes 1d10 acid damage.
+This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).
+
+# 23. - Produce Flame (V,S) level 0 Conjuration [SOL]
Conjures a flickering flame in your hand, which generates light or can be hurled to inflict fire damage.
-# 21. - Ray of Frost (V,S) level 0 Evocation [SOL]
+# 24. - Ray of Frost (V,S) level 0 Evocation [SOL]
Launch a freezing ray at an enemy to damage and slow them.
-# 22. - Resistance (V,S) level 0 Abjuration [Concentration] [SOL]
+# 25. - Resistance (V,S) level 0 Abjuration [Concentration] [SOL]
Grant an ally a one-time bonus to saving throws.
-# 23. - Sacred Flame (V,S) level 0 Evocation [SOL]
-
-Strike an enemy with radiant damage.
-
-# 24. - Sacred Flame* (V,S) level 0 Evocation [SOL]
+# 26. - Sacred Flame (V,S) level 0 Evocation [SOL]
Strike an enemy with radiant damage.
-# 25. - *Sapping Sting* © (V,S) level 0 Necromancy [UB]
+# 27. - *Sapping Sting* © (V,S) level 0 Necromancy [UB]
You sap the vitality of one creature you can see in range. The target must succeed on a Constitution saving throw or take 1d4 necrotic damage and fall prone.
-# 26. - Shadow Armor (V,S) level 0 Abjuration [SOL]
+# 28. - Shadow Armor (V,S) level 0 Abjuration [SOL]
Grants 3 temporary hit points for one minute.
-# 27. - Shadow Dagger (V,S) level 0 Illusion [SOL]
+# 29. - Shadow Dagger (V,S) level 0 Illusion [SOL]
Launches an illusionary dagger that causes psychic damage.
-# 28. - Shillelagh (V,S) level 0 Transmutation [SOL]
+# 30. - Shillelagh (V,S) level 0 Transmutation [SOL]
Conjures a magical club whose attacks are magical and use your spellcasting ability instead of strength.
-# 29. - Shine (V,S) level 0 Conjuration [SOL]
+# 31. - Shine (V,S) level 0 Conjuration [SOL]
An enemy you can see becomes luminous for a while.
-# 30. - Shocking Grasp (V,S) level 0 Evocation [SOL]
+# 32. - Shocking Grasp (V,S) level 0 Evocation [SOL]
Damage and daze an enemy on a successful touch.
-# 31. - Spare the Dying (S) level 0 Necromancy [SOL]
+# 33. - Spare the Dying (S) level 0 Necromancy [SOL]
Touch a dying ally to stabilize them.
-# 32. - Sparkle (V,S) level 0 Enchantment [SOL]
+# 34. - Sparkle (V,S) level 0 Enchantment [SOL]
Target up to three objects that can be illuminated and light them up immediately.
-# 33. - Sunlit Blade (M,S) level 0 Evocation [UB]
+# 35. - *Starry Wisp* © (V,S) level 0 Evocation [UB]
+
+You launch a mote of light at one creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d8 Radiant damage, and until the end of your next turn, it emits Dim Light in a 10-foot radius and can't benefit from the Invisible condition.
+This spell's damage increases by 1d8 when you reach levels 5 (2d8), 11 (3d8), and 17 (4d8).
+
+# 36. - Sunlit Blade (M,S) level 0 Evocation [UB]
Make a melee attack with a weapon. On a hit, the target suffers the attack's normal effects, and is enveloped in glowing radiant energy, shedding dim light for the turn. Next attack against this creature while it is highlighted is done with advantage.
At 5th level, the melee attack deals an extra 1d8 radiant damage to the target. The damage increases by another 1d8 at 11th level and 17th level.
-# 34. - *Sword Burst* © (V,S) level 0 Enchantment [UB]
+# 37. - *Sword Burst* © (V,S) level 0 Enchantment [UB]
You create a momentary circle of spectral blades that sweep around you. All other creatures within 5 ft of you must each succeed on a Dexterity saving throw or take 1d6 force damage.
-# 35. - *Thorn Whip* © (V,S) level 0 Transmutation [UB]
+# 38. - *Thorn Whip* © (V,S) level 0 Transmutation [UB]
You create a long, whip-like vine covered in thorns that lashes out at your command toward a creature in range. Make a ranged spell attack against the target. If the attack hits, the creature takes 1d6 piercing damage, and you pull the creature up to 10 ft closer to you.
-# 36. - *Thunderclap* © (V,S) level 0 Evocation [UB]
+# 39. - *Thunderclap* © (V,S) level 0 Evocation [UB]
Create a burst of thundering sound, forcing creatures adjacent to you to make a Constitution saving throw or take 1d6 thunder damage.
This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).
-# 37. - *Toll the Dead* © (V,S) level 0 Necromancy [UB]
+# 40. - *Toll the Dead* © (V,S) level 0 Necromancy [UB]
You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage.
-# 38. - True Strike (S) level 0 Divination [Concentration] [SOL]
+# 41. - True Strike (S) level 0 Divination [Concentration] [SOL]
Increases your chance to hit a target you can see, one time.
-# 39. - Venomous Spike (V,S) level 0 Enchantment [SOL]
+# 42. - Venomous Spike (V,S) level 0 Enchantment [SOL]
A bone spike that pierces and poisons its target.
-# 40. - Vicious Mockery (V) level 0 Enchantment [SOL]
+# 43. - Vicious Mockery (V) level 0 Enchantment [SOL]
Unleash a torrent of magically-enhanced insults on a creature you can see. It must make a successful wisdom saving throw, or take psychic damage and have disadvantage on its next attack roll. The effect lasts until the end of its next turn.
-# 41. - *Word of Radiance* © (V) level 0 Evocation [UB]
+# 44. - *Word of Radiance* © (V) level 0 Evocation [UB]
Create a brilliant flash of shimmering light, damaging all enemies around you.
-# 42. - Wrack (V,S) level 0 Necromancy [UB]
+# 45. - Wrack (V,S) level 0 Necromancy [UB]
Unleash a wave of crippling pain at a creature within range. The target must make a Constitution saving throw or take 1d8 necrotic damage, and preventing them from dashing or disengaging.
-# 43. - *Absorb Elements* © (S) level 1 Abjuration [UB]
+# 46. - *Absorb Elements* © (S) level 1 Abjuration [UB]
The spell captures some of the incoming energy, lessening its effect on you and storing it for your next melee attack. You have resistance to the triggering damage type until the start of your next turn. Also, the first time you hit with a melee attack on your next turn, the target takes an extra 1d6 damage of the triggering type, and the spell ends. When you cast this spell using a spell slot of 2nd level or higher, the extra damage increases by 1d6 for each slot level above 1st.
-# 44. - Animal Friendship (V,S) level 1 Enchantment [SOL]
+# 47. - Animal Friendship (V,S) level 1 Enchantment [SOL]
Choose a beast that you can see within the spell's range. The beast must make a Wisdom saving throw or be charmed for the spell's duration.
-# 45. - *Armor of Agathys* © (V,S) level 1 Abjuration [UB]
+# 48. - *Armor of Agathys* © (V,S) level 1 Abjuration [UB]
A protective elemental skin envelops you, covering you and your gear. You gain 5 temporary hit points per spell level for the duration. In addition, if a creature hits you with a melee attack while you have these temporary hit points, the creature takes 5 cold damage per spell level.
-# 46. - *Arms of Hadar* © (V,S) level 1 Evocation [UB]
+# 49. - *Arms of Hadar* © (V,S) level 1 Evocation [UB]
You invoke the power of malevolent forces. Tendrils of dark energy erupt from you and batter all creatures within 10 feet of you. Each creature in that area must make a Strength saving throw. On a failed save, a target takes 2d6 necrotic damage and can't take reactions until the start of your next turn. On a successful save, the creature takes half damage, but suffers no other effect. When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st.
-# 47. - Bane (V,S) level 1 Enchantment [Concentration] [SOL]
+# 50. - Bane (V,S) level 1 Enchantment [Concentration] [SOL]
Reduce your enemies' attack and saving throws for a limited time.
-# 48. - Bless (V,S) level 1 Enchantment [Concentration] [SOL]
+# 51. - Bless (V,S) level 1 Enchantment [Concentration] [SOL]
Increase your allies' saving throws and attack rolls for a limited time.
-# 49. - Burning Hands (V,S) level 1 Evocation [SOL]
-
-Spray a cone of fire in front of you.
-
-# 50. - Burning Hands (V,S) level 1 Evocation [SOL]
+# 52. - Burning Hands (V,S) level 1 Evocation [SOL]
Spray a cone of fire in front of you.
-# 51. - Caustic Zap (V,S) level 1 Evocation [UB]
+# 53. - Caustic Zap (V,S) level 1 Evocation [UB]
You send a jolt of green energy toward the target momentarily disorientating them as the spell burn some of their armor. The spell targets one enemy with a spell attack and deals 1d4 acid and 1d6 lightning damage and applies the dazzled condition.
-# 52. - *Chaos Bolt* © (V,S) level 1 Evocation [UB]
+# 54. - *Chaos Bolt* © (V,S) level 1 Evocation [UB]
Make a ranged spell attack against a target. On a hit, the target takes 2d8 + 1d6 damage. Choose one of the d8s. The number rolled on that die determines the attack's damage type:
1• Acid
@@ -219,825 +231,836 @@ Make a ranged spell attack against a target. On a hit, the target takes 2d8 + 1d
8• Thunder
If you roll the same number on both d8s, you can use your free action to target a different creature of your choice. Make a new attack roll against the new target, and make a new damage roll, which could cause the chaotic energy to leap again. A creature can be damaged only once by each casting of this spell.
-# 53. - Charm Person (V,S) level 1 Enchantment [SOL]
+# 55. - Charm Person (V,S) level 1 Enchantment [SOL]
Makes an ally of an enemy.
-# 54. - *Chromatic Orb* © (M,V,S) level 1 Evocation [UB]
+# 56. - *Chromatic Orb* © (M,V,S) level 1 Evocation [UB]
You hurl a 4-inch-diameter sphere of energy at a creature that you can see within range. You choose acid, cold, fire, lightning, poison, or thunder for the type of orb you create, and then make a ranged spell attack against the target. If the attack hits, the creature takes 3d8 damage of the type you chose.
-# 55. - Color Spray (V,S) level 1 Illusion [SOL]
+# 57. - Color Spray (V,S) level 1 Illusion [SOL]
Spray a luminous cone that briefly blinds your enemies. Roll 6d10: the total is how many hit points of creatures this spell can affect.
-# 56. - Comprehend Languages (V,S) level 1 Divination [SOL]
+# 58. - Comprehend Languages (V,S) level 1 Divination [SOL]
For the duration of the spell, you understand the literal meaning of any spoken words that you hear.
-# 57. - Cure Wounds (V,S) level 1 Evocation [SOL]
+# 59. - Cure Wounds (V,S) level 1 Evocation [SOL]
Heal an ally by touch.
-# 58. - Detect Evil and Good (V,S) level 1 Divination [Concentration] [SOL]
+# 60. - Detect Evil and Good (V,S) level 1 Divination [Concentration] [SOL]
Detect nearby creatures of evil or good nature.
-# 59. - Detect Magic (V,S) level 1 Divination [Concentration] [SOL]
+# 61. - Detect Magic (V,S) level 1 Divination [Concentration] [SOL]
Detect nearby magic objects or creatures.
-# 60. - Detect Poison and Disease (V,S) level 1 Divination [Concentration] [SOL]
+# 62. - Detect Poison and Disease (V,S) level 1 Divination [Concentration] [SOL]
TMP For the duration you sense the presence and location of poisonous creatures and diseases within 6 cells of you.
-# 61. - Divine Favor (V,S) level 1 Evocation [Concentration] [SOL]
+# 63. - Divine Favor (V,S) level 1 Evocation [Concentration] [SOL]
Gain additional radiant damage for a limited time.
-# 62. - *Earth Tremor* © (V,S) level 1 Evocation [UB]
+# 64. - *Earth Tremor* © (V,S) level 1 Evocation [UB]
You strike the ground and unleash a tremor of seismic force, hurling up earth, rock, and sand.
-# 63. - *Ensnaring Strike* © (V) level 1 Conjuration [Concentration] [UB]
+# 65. - *Ensnaring Strike* © (V) level 1 Conjuration [Concentration] [UB]
The next time you hit a creature with a weapon attack before this spell ends, a writhing mass of thorny vines appears at the point of impact, and the target must succeed on a Strength saving throw or be restrained by the magical vines until the spell ends.While restrained by this spell, the target takes 1d6 piercing damage at the start of each of its turns. A creature restrained by the vines can use its action to make a Strength check against your spell save DC.
-# 64. - Entangle (V,S) level 1 Conjuration [Concentration] [SOL]
+# 66. - Entangle (V,S) level 1 Conjuration [Concentration] [SOL]
Creatures in a four-cell square area are restrained if they fail a STR saving throw
-# 65. - Expeditious Retreat (V,S) level 1 Transmutation [Concentration] [SOL]
+# 67. - Expeditious Retreat (V,S) level 1 Transmutation [Concentration] [SOL]
Gain movement points and become able to dash as a bonus action for a limited time.
-# 66. - Faerie Fire (V) level 1 Evocation [Concentration] [SOL]
+# 68. - Faerie Fire (V) level 1 Evocation [Concentration] [SOL]
Highlight creatures to give advantage to anyone attacking them.
-# 67. - False Life (V,S) level 1 Necromancy [SOL]
+# 69. - False Life (V,S) level 1 Necromancy [SOL]
Gain a few temporary hit points for a limited time.
-# 68. - Feather Fall (V) level 1 Transmutation [SOL]
+# 70. - Feather Fall (V) level 1 Transmutation [SOL]
Provide a safe landing when you or an ally falls.
-# 69. - *Find Familiar* © (V,S) level 1 Conjuration [UB]
+# 71. - *Find Familiar* © (V,S) level 1 Conjuration [UB]
You gain the service of a familiar. The familiar can use the help action, and you can cast any touch or melee hit spell through the familiar.
-# 70. - Fog Cloud (V,S) level 1 Conjuration [Concentration] [SOL]
+# 72. - Fog Cloud (V,S) level 1 Conjuration [Concentration] [SOL]
Generate a sphere of thick fog for a limited time. The area is heavily obscured, penalizing creatures inside it that rely on sight.
-# 71. - *Gift of Alacrity* © (V,S) level 1 Divination [UB]
+# 73. - *Gift of Alacrity* © (V,S) level 1 Divination [UB]
You touch a willing creature. For the duration, the target can add 1d8 to its initiative rolls.
-# 72. - Goodberry (V,S) level 1 Transmutation [SOL]
+# 74. - Goodberry (V,S) level 1 Transmutation [SOL]
Creates 10 berries infused with magic. Eating a berry restores 1 hit point and provides sustenance for a long rest. Berries vanish after a long rest.
-# 73. - Grease (V,S) level 1 Conjuration [SOL]
+# 75. - Grease (V,S) level 1 Conjuration [SOL]
Cover an area of 2 x 2 cells with grease. Creatures trying to cross it may fall prone.
-# 74. - Guiding Bolt (V,S) level 1 Evocation [SOL]
+# 76. - Guiding Bolt (V,S) level 1 Evocation [SOL]
Launch a radiant attack against an enemy and make them easy to hit.
-# 75. - *Hail of Thorns* © (V) level 1 Conjuration [Concentration] [UB]
+# 77. - *Hail of Thorns* © (V) level 1 Conjuration [Concentration] [UB]
The next time you hit a creature with a ranged weapon attack before the spell ends, this spell creates a rain of thorns that sprouts from your ranged weapon or ammunition. In addition to the normal effect of the attack, the target of the attack and each creature within 5 feet of it must make a Dexterity saving throw. A creature takes 1d10 piercing damage on a failed save, or half as much damage on a successful one.
-# 76. - Healing Word (V) level 1 Evocation [SOL]
+# 78. - Healing Word (V) level 1 Evocation [SOL]
Heal an ally you can see.
-# 77. - Hellish Rebuke (V,S) level 1 Evocation [SOL]
+# 79. - Hellish Rebuke (V,S) level 1 Evocation [SOL]
When you are damaged by a creature within range, you can use your reaction to inflict fire damage back.
-# 78. - Heroism (V,S) level 1 Enchantment [Concentration] [SOL]
+# 80. - Heroism (V,S) level 1 Enchantment [Concentration] [SOL]
An ally gains temporary hit points and cannot be frightened for a limited time.
-# 79. - Hideous Laughter (V,S) level 1 Enchantment [Concentration] [SOL]
+# 81. - Hideous Laughter (V,S) level 1 Enchantment [Concentration] [SOL]
Make an enemy helpless with irresistible laughter.
-# 80. - Hunter's Mark (V) level 1 Divination [Concentration] [SOL]
+# 82. - Hunter's Mark (V) level 1 Divination [Concentration] [SOL]
An enemy gets additional damage from you, and you can easily detect it for a limited time.
-# 81. - *Ice Knife* © (S) level 1 Conjuration [UB]
+# 83. - *Ice Knife* © (S) level 1 Conjuration [UB]
You create a shard of ice and fling it at one creature within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 piercing damage. Hit or miss, the shard then explodes. The target and each creature within 5 feet of the point where the ice exploded must succeed on a Dexterity saving throw or take 2d6 cold damage. When you cast this spell using a spell slot of 2nd level or higher, the cold damage increases by 1d6 for each slot level above 1st.
-# 82. - Identify (M,V,S) level 1 Divination [SOL]
+# 84. - Identify (M,V,S) level 1 Divination [SOL]
Identify the hidden properties of an object.
-# 83. - Inflict Wounds (V,S) level 1 Necromancy [SOL]
+# 85. - Inflict Wounds (V,S) level 1 Necromancy [SOL]
Deal necrotic damage to an enemy you hit.
-# 84. - Jump (V,S) level 1 Transmutation [SOL]
+# 86. - Jump (V,S) level 1 Transmutation [SOL]
Increase an ally's jumping distance.
-# 85. - Jump (V,S) level 1 Transmutation [SOL]
+# 87. - Jump (V,S) level 1 Transmutation [SOL]
Increase an ally's jumping distance.
-# 86. - Longstrider (V,S) level 1 Transmutation [SOL]
+# 88. - Longstrider (V,S) level 1 Transmutation [SOL]
Increases an ally's speed by two cells per turn.
-# 87. - Mage Armor (V,S) level 1 Abjuration [SOL]
-
-Provide magical armor to an ally who doesn't wear armor.
-
-# 88. - Mage Armor (V,S) level 1 Abjuration [SOL]
+# 89. - Mage Armor (V,S) level 1 Abjuration [SOL]
Provide magical armor to an ally who doesn't wear armor.
-# 89. - Magic Missile (V,S) level 1 Evocation [SOL]
+# 90. - Magic Missile (V,S) level 1 Evocation [SOL]
Strike one or more enemies with projectiles that can't miss.
-# 90. - *Magnify Gravity* © (V,S) level 1 Transmutation [UB]
+# 91. - *Magnify Gravity* © (V,S) level 1 Transmutation [UB]
Sharply increase gravity in a 10-foot-radius sphere to crush and slow targets.
-# 91. - Malediction (V,S) level 1 Enchantment [Concentration] [SOL]
+# 92. - Malediction (V,S) level 1 Enchantment [Concentration] [SOL]
Until the spell ends, whenever you hit a target with an attack you deal an extra 1d6 magical damage of the same type as the attack's damage.
-# 92. - Mule (V,S) level 1 Transmutation [UB]
+# 93. - Mule (V,S) level 1 Transmutation [UB]
The recipient of this spell is able to ignore the effects of heavy loads or armor on movement speed. They can also carry slightly more weight.
-# 93. - Protect vs Evil & Good (V,S) level 1 Abjuration [Concentration] [SOL]
+# 94. - Protect vs Evil & Good (V,S) level 1 Abjuration [Concentration] [SOL]
Touch an ally to give them protection from evil or good creatures for a limited time.
-# 94. - Radiant Motes (V,S) level 1 Evocation [UB]
+# 95. - Radiant Motes (V,S) level 1 Evocation [UB]
Unleashes a swarm of 4 radiant projectiles that deal 1d4 radiant damage each.
When you cast this spell using a spell slot of 2nd level or higher, the spell creates 1 more projectile for each slot above 1st.
-# 95. - *Sanctuary* © (V,S) level 1 Abjuration [UB]
+# 96. - *Sanctuary* © (V,S) level 1 Abjuration [UB]
You ward a creature within range against attack. Until the spell ends, any creature who targets the warded creature with an attack or a harmful spell must first make a Wisdom saving throw. On a failed save, the creature loses the attack or spell. This spell doesn't protect the warded creature from area effects. If the warded creature makes an attack or casts a spell, this spell ends.
-# 96. - *Searing Smite* © (V) level 1 Evocation [Concentration] [UB]
+# 97. - *Searing Smite* © (V) level 1 Evocation [Concentration] [UB]
On your next hit your weapon flares with white-hot intensity, and the attack deals an extra 1d6 fire damage to the target and causes the target to ignite in flames.
At the start of each of its turns the target must make a successful Constitution saving throw to stop burning, or take 1d6 fire damage.
Higher Levels: for each slot level above 1st, the initial extra damage dealt by the attack increases by 1d6.
-# 97. - Shield (V,S) level 1 Abjuration [SOL]
+# 98. - Shield (V,S) level 1 Abjuration [SOL]
Increase your AC by 5 just before you would take a hit.
-# 98. - Shield of Faith (V,S) level 1 Abjuration [Concentration] [SOL]
+# 99. - Shield of Faith (V,S) level 1 Abjuration [Concentration] [SOL]
Increase an ally's AC by 2 for a limited time.
-# 99. - Sleep (V,S) level 1 Enchantment [SOL]
+# 100. - Sleep (V,S) level 1 Enchantment [SOL]
Put a number of creatures to sleep for a limited time. Roll 5d8: the total is how many hit points of creatures this spell can affect.
-# 100. - *Tasha's Caustic Brew* © (V,S) level 1 Evocation [Concentration] [UB]
+# 101. - *Tasha's Caustic Brew* © (V,S) level 1 Evocation [Concentration] [UB]
A stream of acid emanates from you in a line 30 feet long and 5 feet wide in a direction you choose. Each creature in the line must succeed on a Dexterity saving throw or be covered in acid for the spell's duration or until a creature uses its action to scrape or wash the acid off itself or another creature. A creature covered in the acid takes 2d4 acid damage at start of each of its turns. When you cast this spell using a spell slot 2nd level or higher, the damage increases by 2d4 for each slot level above 1st.
-# 101. - *Thunderous Smite* © (V) level 1 Evocation [Concentration] [UB]
+# 102. - *Thunderous Smite* © (V) level 1 Evocation [Concentration] [UB]
On your next hit your weapon rings with thunder and the attack deals an extra 2d6 thunder damage to the target. Additionally, if the target is a creature, it must succeed on a Strength saving throw or be pushed 10 ft away from you and knocked prone.
-# 102. - Thunderwave (V,S) level 1 Evocation [SOL]
+# 103. - Thunderwave (V,S) level 1 Evocation [SOL]
Emit a wave of force that causes damage and pushes creatures and objects away.
-# 103. - Tiefling's Hellish Rebuke (V,S) level 1 Evocation [SOL]
+# 104. - Tiefling's Hellish Rebuke (V,S) level 1 Evocation [SOL]
When you are damaged by a creature withing range, you can use your reaction to inflict fire damage back at them. This tiefling version of the spell is more powerful than the common one but cannot use a higher level Spell Slot to increase damage.
-# 104. - *Witch Bolt* © (V,S) level 1 Evocation [Concentration] [UB]
+# 105. - *Witch Bolt* © (V,S) level 1 Evocation [Concentration] [UB]
A beam of crackling, blue energy lances out toward a creature within range, forming a sustained arc of lightning between you and the target. Make a ranged spell attack against that creature. On a hit, the target takes 1d12 lightning damage, and on each of your turns for the duration, you can use your action to deal 1d12 lightning damage to the target automatically. The spell ends if you use your action to do anything else. The spell also ends if the target is ever outside the spell's range. When you cast this spell using a spell slot of 2nd level or higher, the initial damage increases by 1d12 for each slot level above 1st.
-# 105. - *Wrathful Smite* © (V) level 1 Evocation [Concentration] [UB]
+# 106. - *Wrathful Smite* © (V) level 1 Evocation [Concentration] [UB]
Your next hit deals additional 1d6 psychic damage. If target fails WIS saving throw its mind explodes in pain, and it becomes frightened.
-# 106. - *Zephyr Strike* © (V) level 1 Transmutation [Concentration] [UB]
+# 107. - *Zephyr Strike* © (V) level 1 Transmutation [Concentration] [UB]
You move like the wind. For the duration, your movement doesn't provoke opportunity attacks. Once before the spell ends, you can give yourself advantage on one weapon attack roll on your turn. That attack deals an extra 1d8 force damage on a hit. Whether you hit or miss, your walking speed increases by 30 feet until the end of that turn.
-# 107. - Acid Arrow (V,S) level 2 Evocation [SOL]
+# 108. - Acid Arrow (V,S) level 2 Evocation [SOL]
Launch an acid arrow that deals some damage even if you miss your shot.
-# 108. - *Aganazzar's Scorcher* © (V,S) level 2 Evocation [UB]
+# 109. - *Aganazzar's Scorcher* © (V,S) level 2 Evocation [UB]
A line of roaring flame 30 feet long and 5 feet wide emanates from you in a direction you choose. Each creature in the line must make a Dexterity saving throw. A creature takes 3d10 fire damage on a failed save, or half as much damage on a successful one. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd.
-# 109. - Aid (V,S) level 2 Abjuration [SOL]
+# 110. - Aid (V,S) level 2 Abjuration [SOL]
Temporarily increases hit points for up to three allies.
-# 110. - Barkskin (V,S) level 2 Transmutation [Concentration] [SOL]
+# 111. - Barkskin (V,S) level 2 Transmutation [Concentration] [SOL]
Gives you or an ally you can touch an AC of at least 16.
-# 111. - Blindness (V) level 2 Necromancy [SOL]
+# 112. - Blindness (V) level 2 Necromancy [SOL]
Blind an enemy for one minute.
-# 112. - Blur (V) level 2 Illusion [Concentration] [SOL]
+# 113. - Blur (V) level 2 Illusion [Concentration] [SOL]
Makes you blurry and harder to hit for up to one minute.
-# 113. - Branding Smite (V) level 2 Evocation [Concentration] [SOL]
+# 114. - *Borrowed Knowledge* © (V,S) level 2 Divination [UB]
+
+You draw on knowledge from spirits of the past. Choose one skill in which you lack proficiency. For 1 hour, you have proficiency in the chosen skill. The spell ends early if you cast it again.
+
+# 115. - Branding Smite (V) level 2 Evocation [Concentration] [SOL]
Your next hit causes additional radiant damage and your target becomes luminous.
-# 114. - Calm Emotions (V,S) level 2 Enchantment [Concentration] [SOL]
+# 116. - Calm Emotions (V,S) level 2 Enchantment [Concentration] [SOL]
Stops allies from being charmed or frightened and makes hostile humanoids indifferent.
-# 115. - *Cloud of Daggers* © (V,S) level 2 Conjuration [Concentration] [UB]
+# 117. - *Cloud of Daggers* © (V,S) level 2 Conjuration [Concentration] [UB]
You fill the air with spinning daggers in a cube 5 feet on each side, centered on a point you choose within range. A creature takes 4d4 slashing damage when it enters the spell's area for the first time on a turn or starts its turn there. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 2d4 for each slot level above 2nd.
-# 116. - Color Burst (V,S) level 2 Illusion [UB]
+# 118. - Color Burst (V,S) level 2 Illusion [UB]
Burst a luminous cube that briefly blinds anyone within 10 ft. 8d10 is how many hit points of creatures this spell can affect.
-# 117. - Conjure Goblinoids (V,S) level 2 Conjuration [Concentration] [UB]
+# 119. - Conjure Goblinoids (V,S) level 2 Conjuration [Concentration] [UB]
Conjures 2 goblins who obey your orders unless you lose concentration.
-# 118. - Darkness (V) level 2 Evocation [Concentration] [SOL]
+# 120. - Darkness (V) level 2 Evocation [Concentration] [SOL]
Create an area of magical darkness.
-# 119. - Darkvision (V,S) level 2 Transmutation [SOL]
+# 121. - Darkvision (V,S) level 2 Transmutation [SOL]
Grant Darkvision to the target.
-# 120. - Enhance Ability (V,S) level 2 Transmutation [Concentration] [SOL]
+# 122. - Enhance Ability (V,S) level 2 Transmutation [Concentration] [SOL]
Grant temporary powers to an ally for up to one hour.
-# 121. - Find Traps (V,S) level 2 Evocation [SOL]
+# 123. - Find Traps (V,S) level 2 Evocation [SOL]
Spot mechanical and magical traps, but not natural hazards.
-# 122. - Flame Blade (V,S) level 2 Evocation [Concentration] [SOL]
+# 124. - Flame Blade (V,S) level 2 Evocation [Concentration] [SOL]
Evokes a fiery blade for ten minutes that you can wield in battle.
-# 123. - Flaming Sphere (V,S) level 2 Evocation [Concentration] [SOL]
+# 125. - Flaming Sphere (V,S) level 2 Evocation [Concentration] [SOL]
Summons a movable, burning sphere.
-# 124. - Heat Metal (V,S) level 2 Transmutation [Concentration] [SOL]
+# 126. - Heat Metal (V,S) level 2 Transmutation [Concentration] [SOL]
Causes metallic armor worn by a target creature to glow red hot, causing fire damage and disadvantage to attack rolls and ability checks. The damage can be repeated every turn with a bonus action.
-# 125. - Hold Person (V,S) level 2 Enchantment [Concentration] [SOL]
+# 127. - Hold Person (V,S) level 2 Enchantment [Concentration] [SOL]
Paralyze a humanoid you can see for a limited time.
-# 126. - Invisibility (V,S) level 2 Illusion [Concentration] [SOL]
+# 128. - Invisibility (V,S) level 2 Illusion [Concentration] [SOL]
Make an ally invisible for a limited time.
-# 127. - Knock (V) level 2 Transmutation [SOL]
+# 129. - *Kinetic Jaunt* © (S) level 2 Evocation [Concentration] [UB]
+
+You magically empower your movement with dance like steps, giving yourself the following benefits for the duration:
+• Your walking speed increases by 10 feet.
+• You don't provoke opportunity attacks.
+• You can move through the space of any creature.
+
+# 130. - Knock (V) level 2 Transmutation [SOL]
Magically open locked doors, chests, and the like.
-# 128. - Lesser Restoration (V,S) level 2 Abjuration [SOL]
+# 131. - Lesser Restoration (V,S) level 2 Abjuration [SOL]
Remove a detrimental condition from an ally.
-# 129. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL]
+# 132. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL]
Allow a creature to levitate and gain control of its aerial movement for a limited time. Can affect enemies if their size is medium or smaller.
-# 130. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL]
+# 133. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL]
Allow a creature to levitate and gain control of its aerial movement for a limited time. Can affect enemies if their size is medium or smaller.
-# 131. - Magic Weapon (V,S) level 2 Transmutation [Concentration] [SOL]
+# 134. - Magic Weapon (V,S) level 2 Transmutation [Concentration] [SOL]
A nonmagical weapon becomes a +1 weapon for up to one hour.
-# 132. - *Mirror Image* © (V,S) level 2 Illusion [UB]
+# 135. - *Mirror Image* © (V,S) level 2 Illusion [UB]
Three illusory duplicates of yourself appear in your space. Until the spell ends, each time a creature targets you with an attack, roll a d20 to determine whether the attack instead targets one of your duplicates.
If you have 3 duplicates, you must roll a 6 or higher to change the attack's target to a duplicate. With 2 duplicates, you must roll an 8 or higher. With 1 duplicate, you must roll an 11 or higher.
A duplicate's armor class is equal to 10 + your Dexterity modifier. If an attack hits a duplicate, the duplicate is destroyed. A duplicate can be destroyed only by an attack that hits it. It ignores all other damage and effects. The spell ends when all three duplicates are destroyed.
A creature is unaffected by this spell if it is Blinded, or has Blindsight, Truesight or Tremorsense (doesn't apply if you don't touch ground).
-# 133. - Misty Step (V) level 2 Conjuration [SOL]
+# 136. - Misty Step (V) level 2 Conjuration [SOL]
Teleports you to a free cell you can see, no more than 6 cells away.
-# 134. - Moon Beam (V,S) level 2 Evocation [Concentration] [SOL]
+# 137. - Moon Beam (V,S) level 2 Evocation [Concentration] [SOL]
Conjures a vertical column of moonlight which causes radiant damage. Shapechangers have disadvantage on the save.
-# 135. - Noxious Spray (V,S) level 2 Evocation [UB]
+# 138. - Noxious Spray (V,S) level 2 Evocation [UB]
You unleash a spray of noxious gases on a target within range. Make a ranged spell attack. On a hit, the target takes 4d6 poison damage and must succeed on a Constitution saving throw or spend all its next turn retching and heaving, unable to move or take actions. Constructs, elementals and undead are unaffected by this spell. When you cast this spell using a slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.
-# 136. - Pass Without Trace (V,S) level 2 Abjuration [Concentration] [SOL]
+# 139. - Pass Without Trace (V,S) level 2 Abjuration [Concentration] [SOL]
Make yourself and up to 5 allies stealthier for one hour.
-# 137. - Petal Storm (V,S) level 2 Conjuration [Concentration] [UB]
+# 140. - Petal Storm (V,S) level 2 Conjuration [Concentration] [UB]
Choose an unoccupied 15-foot cube of air that you can see within range. An elemental force of swirling winds appears in the cube and lasts for the spell's duration. The cloud heavily obscures its area. Any creature that enters the storm for the first time on a turn or starts its turn there must make a Strength saving throw. On a failed save, the creature takes 3d4 slashing damage. As a bonus action, you can move the storm up to 30 ft in any direction.
-# 138. - Prayer of Healing (V) level 2 Evocation [SOL]
+# 141. - Prayer of Healing (V) level 2 Evocation [SOL]
Heal multiple allies at the same time.
-# 139. - Protect Threshold (V,S) level 2 Abjuration [UB]
+# 142. - Protect Threshold (V,S) level 2 Abjuration [UB]
Tracing arcane sigils along its boundary, you can ward a doorway, window, or other portal from entry. For the duration, an invisible eldritch creature stalks the warded portal. Any creature that attempts to pass through the portal must make a Wisdom saving throw or take 4d6 psychic damage, or half as much on a successful save.
-# 140. - Protection from Poison (V,S) level 2 Abjuration [SOL]
+# 143. - Protection from Poison (V,S) level 2 Abjuration [SOL]
Cures and protects against poison.
-# 141. - Ray of Enfeeblement (V,S) level 2 Necromancy [Concentration] [SOL]
+# 144. - Ray of Enfeeblement (V,S) level 2 Necromancy [Concentration] [SOL]
Weaken an enemy so they deal less damage for one minute.
-# 142. - *Rime's Binding Ice* © (S) level 2 Evocation [UB]
+# 145. - *Rime's Binding Ice* © (S) level 2 Evocation [UB]
A burst of cold energy emanates from you in a 30-foot cone. Each creature in that area must make a Constitution saving throw. On a failed save, a creature takes 3d8 cold damage and is hindered by ice formations for 1 minute, or until it uses an action to break away the ice. A creature hindered by ice has its speed reduced to 0. On a successful save, a creature takes half as much damage and isn't hindered by ice.
-# 143. - Scorching Ray (V,S) level 2 Evocation [SOL]
+# 146. - Scorching Ray (V,S) level 2 Evocation [SOL]
Fling rays of fire at one or more enemies.
-# 144. - See Invisibility (V,S) level 2 Divination [SOL]
+# 147. - See Invisibility (V,S) level 2 Divination [SOL]
You can see invisible creatures.
-# 145. - *Shadow Blade* © (V,S) level 2 Illusion [Concentration] [UB]
+# 148. - *Shadow Blade* © (V,S) level 2 Illusion [Concentration] [UB]
You weave together threads of shadow to create a sword of solidified gloom in your hand.
-# 146. - Shatter (V,S) level 2 Evocation [SOL]
+# 149. - Shatter (V,S) level 2 Evocation [SOL]
Triggers a sudden noise that causes Thunder Damage in a 2-cell radius.
-# 147. - Silence (V,S) level 2 Illusion [Concentration] [SOL]
+# 150. - Silence (V,S) level 2 Illusion [Concentration] [SOL]
Creates a sphere four cells in radius, inside which sound cannot exist. Stops thunder damage and prevents spellcasting using verbal components.
-# 148. - *Snilloc's Snowball Storm* © (V,S) level 2 Evocation [UB]
+# 151. - *Snilloc's Snowball Storm* © (V,S) level 2 Evocation [UB]
A flurry of magic snowballs erupts from a point you choose within range. Each creature in a 3x3 cube centered on that point must make a Dexterity saving throw. A creature takes 3d8 cold damage on a failed save, or half as much damage on a successful one. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for each slot level above 2nd.
-# 149. - Spider Climb (V,S) level 2 Transmutation [Concentration] [SOL]
+# 152. - Spider Climb (V,S) level 2 Transmutation [Concentration] [SOL]
Touch an ally to allow them to climb walls like a spider for a limited time.
-# 150. - Spike Growth (V,S) level 2 Transmutation [Concentration] [SOL]
+# 153. - Spike Growth (V,S) level 2 Transmutation [Concentration] [SOL]
Grows spikes and thorns in the area, making the terrain difficult and causing damage for every cell of movement.
-# 151. - Spiritual Weapon (V,S) level 2 Evocation [SOL]
+# 154. - Spiritual Weapon (V,S) level 2 Evocation [SOL]
Summon a weapon that fights for you.
-# 152. - *Tasha's Mind Whip* © (V) level 2 Enchantment [UB]
+# 155. - *Tasha's Mind Whip* © (V) level 2 Enchantment [UB]
You psychically lash out at one creature you can see within range. The target must make an Intelligence saving throw. On a failed save, the target takes 3d6 psychic damage, and it can't take a reaction until the end of its next turn. Moreover, on its next turn, it must choose whether it gets a move, an action, or a bonus action; it gets only one of the three. On a successful save, the target takes half as much damage and suffers none of the spell's other effects. When you cast this spell using a spell slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.
-# 153. - *Warding Bond* © (V,S) level 2 Abjuration [SOL]
+# 156. - *Warding Bond* © (V,S) level 2 Abjuration [SOL]
Creates a bond with the target, who gains +1 AC, +1 to saving throws and resistance to all damage, but you share all damage it receives. Lasts for one hour.
-# 154. - *Web* © (V,S) level 2 Conjuration [Concentration] [UB]
+# 157. - *Web* © (V,S) level 2 Conjuration [Concentration] [UB]
You conjure a mass of thick, sticky webbing at a point of your choice within range. The webs fill a 20-foot cube from that point for the duration. The webs are difficult terrain and lightly obscure their area. Each creature that enters them during its turn must make a Dexterity saving throw. On a failed save, the creature is restrained as long as it remains in the webs or until it breaks free. A creature restrained by the webs can use its actions to make a Strength check against your spell save DC. If it succeeds, it is no longer restrained.
-# 155. - *Wither and Bloom* © (V,S) level 2 Necromancy [UB]
+# 158. - *Wither and Bloom* © (V,S) level 2 Necromancy [UB]
You invoke both death and life upon a 10-foot-radius sphere centered on an ally. Each enemy in that area must make a Constitution saving throw, taking 2d6 necrotic damage on a failed save, or half as much damage on a successful one. In addition, the target spends and rolls one of its unspent Hit Dice and regain a number of hit points equal to the roll plus your spellcasting ability modifier. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d6 for each slot above 2nd, and the number of Hit Dice that can be spent and added to the healing roll increases by one for each slot above 2nd.
-# 156. - Adder's Fangs (V,S) level 3 Conjuration [UB]
+# 159. - Adder's Fangs (V,S) level 3 Conjuration [UB]
You create the visage of a massive green snake that appears for an instant before bearing down on your foe. Choose a creature you can see within range. The target must make a constitution saving throw, taking 4d10 poison damage on a failure, or half as much damage on a successful one. A creature that fails its saving throw is also poisoned, and its speed is halved while poisoned by this spell. At the end of each of its turns, a target may make a constitution saving throw, ending the poison on a success. Otherwise, the poison lasts for 1 minute. When you cast this spell using a spell slot of 4th level or higher, you may target an additional creature within range for each slot level above 3rd.
-# 157. - *Aura of Vitality* © (V) level 3 Evocation [Concentration] [UB]
+# 160. - *Aura of Vitality* © (V) level 3 Evocation [Concentration] [UB]
Healing energy radiates from you in an aura with a 30-foot radius. Until the spell ends, the aura moves with you, centered on you. You can use a bonus action to cause one creature in the aura (including you) to regain 2d6 hit points.
-# 158. - Beacon of Hope (V,S) level 3 Abjuration [Concentration] [SOL]
+# 161. - Beacon of Hope (V,S) level 3 Abjuration [Concentration] [SOL]
Raise hope and vitality.
-# 159. - Bestow Curse (V,S) level 3 Necromancy [Concentration] [SOL]
+# 162. - Bestow Curse (V,S) level 3 Necromancy [Concentration] [SOL]
Curses a creature you can touch.
-# 160. - *Blinding Smite* © (V) level 3 Evocation [Concentration] [UB]
+# 163. - *Blinding Smite* © (V) level 3 Evocation [Concentration] [UB]
On your next hit your weapon flares with a bright light, and the attack deals an extra 3d8 radiant damage to the target. Additionally, the target must succeed on a Constitution saving throw or be blinded until the spell ends.
A creature blinded by this spell makes another Constitution saving throw at the end of each of its turns. On a successful save, it is no longer blinded.
-# 161. - Call Lightning (V,S) level 3 Conjuration [Concentration] [SOL]
+# 164. - Call Lightning (V,S) level 3 Conjuration [Concentration] [SOL]
Conjures a storm cloud from which you can call a vertical bolt of lightning to strike targets, dealing 3D10 lightning damage. Another bolt can be repeated every turn by using an action.
-# 162. - Conjure Animal (V,S) level 3 Conjuration [Concentration] [SOL]
+# 165. - Conjure Animal (V,S) level 3 Conjuration [Concentration] [SOL]
Summon spirits in the form of beasts to help you in battle
-# 163. - Corrupting Bolt (V,S) level 3 Necromancy [UB]
+# 166. - Corrupting Bolt (V,S) level 3 Necromancy [UB]
You can fire a pulse of necrotic energy that causes a creature's body to begin to wither and decay. Make a ranged attack against a creature. On a hit, the target takes 4d8 necrotic damage and must succeed a Constitution saving throw. On a failed saving throw, the next time you or an ally of yours hits the corrupted creature with an attack before the end of your next turn, the creature has vulnerability to all of that attack's damage, and then the corruption ends. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.
-# 164. - Counterspell (S) level 3 Abjuration [SOL]
+# 167. - Counterspell (S) level 3 Abjuration [SOL]
Interrupt an enemy's spellcasting.
-# 165. - Create Food (S) level 3 Conjuration [SOL]
+# 168. - Create Food (S) level 3 Conjuration [SOL]
Conjure 15 units of food.
-# 166. - *Crusader's Mantle* © (V) level 3 Evocation [Concentration] [UB]
+# 169. - *Crusader's Mantle* © (V) level 3 Evocation [Concentration] [UB]
Surround yourself with a magical aura. Allies within the aura gain a bonus 1d4 radiant damage on their attacks.
-# 167. - Daylight (V,S) level 3 Evocation [SOL]
+# 170. - Daylight (V,S) level 3 Evocation [SOL]
Summon a globe of bright light.
-# 168. - Dispel Magic (V,S) level 3 Abjuration [SOL]
+# 171. - Dispel Magic (V,S) level 3 Abjuration [SOL]
End active spells on a creature or object.
-# 169. - *Elemental Weapon* © (V,S) level 3 Transmutation [Concentration] [UB]
+# 172. - *Elemental Weapon* © (V,S) level 3 Transmutation [Concentration] [UB]
Imbue a non-magical weapon with elemental magic. It gains a +1 to attack and damage rolls, and it gains 1d4 of the corresponding element's damage. When casting with a 5 or 6 spell slots, the effects increased by one die while casting at a spell slot 7 or higher increases the effects by 2.
-# 170. - Fear (V,S) level 3 Illusion [Concentration] [SOL]
+# 173. - Fear (V,S) level 3 Illusion [Concentration] [SOL]
Frighten creatures and force them to flee.
-# 171. - Fireball (V,S) level 3 Evocation [SOL]
+# 174. - Fireball (V,S) level 3 Evocation [SOL]
Launch a fireball that explodes from a point of your choosing.
-# 172. - *Flame Arrows* © (M,V,S) level 3 Transmutation [Concentration] [UB]
+# 175. - *Flame Arrows* © (M,V,S) level 3 Transmutation [Concentration] [UB]
You must be wielding a ranged weapon. When a target is hit by it, the target takes an extra 1d6 fire damage. The spell ends when twelve pieces of ammunition have been drawn from the quiver. When you cast this spell using a spell slot of 4th level or higher, the number of pieces of ammunition you can affect with this spell increases by two for each slot level above 3rd.
-# 173. - Fly (V,S) level 3 Transmutation [Concentration] [SOL]
+# 176. - Fly (V,S) level 3 Transmutation [Concentration] [SOL]
An ally you touch gains the ability to fly for a limited time.
-# 174. - Haste (V,S) level 3 Transmutation [Concentration] [SOL]
+# 177. - Haste (V,S) level 3 Transmutation [Concentration] [SOL]
Make an ally faster and more agile, and grant them an additional action for a limited time.
-# 175. - *Hunger of Hadar* © (V,S) level 3 Transmutation [Concentration] [UB]
+# 178. - *Hunger of Hadar* © (V,S) level 3 Transmutation [Concentration] [UB]
You open a gateway to the dark between the stars, a region infested with unknown horrors. A 20-foot-radius sphere of blackness and bitter cold appears, centered on a point with range and lasting for the duration. The area extinguishes light, and creatures within it are blinded. Any creature that starts its turn in the area takes 2d6 cold damage. Any creature that ends its turn in the area must succeed on a Dexterity saving throw or take 2d6 acid damage as milky, otherworldly tentacles rub against it.
-# 176. - Hypnotic Pattern (S) level 3 Illusion [Concentration] [SOL]
+# 179. - Hypnotic Pattern (S) level 3 Illusion [Concentration] [SOL]
Charms enemies to make them harmless until attacked, but also affects allies in range.
-# 177. - *Life Transference* © (V,S) level 3 Necromancy [UB]
+# 180. - *Intellect Fortress* © (V) level 3 Abjuration [Concentration] [UB]
+
+For the duration, you or one willing creature you can see within range has resistance to psychic damage, as well as advantage on Intelligence, Wisdom, and Charisma saving throws. When you cast this spell using a spell slot of 4th level or higher, you may target an additional creature within range for each slot level above 3rd.
+
+# 181. - *Life Transference* © (V,S) level 3 Necromancy [UB]
You sacrifice some of your health to mend another creature's injuries. You take 4d8 necrotic damage, and one creature of your choice that you can see within range regains a number of hit points equal to twice the necrotic damage you take. When you cast this spell using a spell s lot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.
-# 178. - *Lightning Arrow* © (V,S) level 3 Transmutation [Concentration] [UB]
+# 182. - *Lightning Arrow* © (V,S) level 3 Transmutation [Concentration] [UB]
The next time you make a ranged weapon attack during the spell's duration, the weapon's ammunition, or the weapon itself if it's a thrown weapon, transforms into a bolt of lightning. Make the attack roll as normal. The target takes 3d8 lightning damage on a hit, or half as much damage on a miss. Whether you hit or miss, each creature within 10 feet of the target must make a Dexterity saving throw. Each of these creatures takes 2d8 lightning damage on a failed save, or half as much damage on a successful one. When you cast this spell using a spell slot of 4th level or higher, the damage for both effects of the spell increases by 1d8 for each slot level above 3rd.
-# 179. - Lightning Bolt (V,S) level 3 Evocation [SOL]
+# 183. - Lightning Bolt (V,S) level 3 Evocation [SOL]
Unleash a stroke of lightning in a direction of your choice, damaging everyone it touches.
-# 180. - Mass Healing Word (V) level 3 Evocation [SOL]
+# 184. - Mass Healing Word (V) level 3 Evocation [SOL]
Instantly heals up to six allies you can see.
-# 181. - Protection from Energy (V,S) level 3 Abjuration [Concentration] [SOL]
+# 185. - Protection from Energy (V,S) level 3 Abjuration [Concentration] [SOL]
Touch one willing creature to give them resistance to this damage type.
-# 182. - *Pulse Wave* © (V,S) level 3 Evocation [UB]
+# 186. - *Psionic Blast* © (V) level 3 Evocation [Concentration] [UB]
+
+You unleash a destructive wave of mental power in a 30-foot cone. Each creature in the area must make a Dexterity saving throw. On a failed save, a target takes 5d8 force damage, is pushed 20 feet directly away from you, and is knocked prone. On a successful save, a target takes half as much damage and isn’t pushed or knocked prone. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.
+
+# 187. - *Pulse Wave* © (V,S) level 3 Evocation [UB]
Hurl enemies away with intense gravitational pressure.
-# 183. - Remove Curse (V,S) level 3 Abjuration [SOL]
+# 188. - Remove Curse (V,S) level 3 Abjuration [SOL]
Removes all curses affecting the target.
-# 184. - Revivify (M,V,S) level 3 Necromancy [SOL]
+# 189. - Revivify (M,V,S) level 3 Necromancy [SOL]
Brings one creature back to life, up to 1 minute after death.
-# 185. - Sleet Storm (V,S) level 3 Conjuration [Concentration] [SOL]
+# 190. - Sleet Storm (V,S) level 3 Conjuration [Concentration] [SOL]
Creates an area where the ground is slippery, vision is obscured, and concentration is harder.
-# 186. - Slow (V,S) level 3 Transmutation [Concentration] [SOL]
+# 191. - Slow (V,S) level 3 Transmutation [Concentration] [SOL]
Slows and impairs the actions of up to 6 creatures.
-# 187. - Spirit Guardians (V,S) level 3 Conjuration [Concentration] [SOL]
+# 192. - Spirit Guardians (V,S) level 3 Conjuration [Concentration] [SOL]
Call forth spirits to protect you.
-# 188. - *Spirit Shroud* © (V,S) level 3 Necromancy [Concentration] [UB]
+# 193. - *Spirit Shroud* © (V,S) level 3 Necromancy [Concentration] [UB]
You call forth spirits of the dead, which flit around you for the spell's duration. The spirits are intangible and invulnerable.
Until the spell ends, any attack you make deals 1d8 extra damage when you hit a creature within 10 ft of you. This damage is radiant, necrotic, or cold (your choice when you cast the spell). Any creature that takes this damage can't regain hit points until the start of your next turn.
In addition, any enemy creature within 10ft of you when you cast, or that enters or starts its turn in that range has its movement speed lowered by 10ft until start of its next turn.
When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for every two slot levels above 3rd.
-# 189. - Stinking Cloud (V,S) level 3 Conjuration [Concentration] [SOL]
+# 194. - Stinking Cloud (V,S) level 3 Conjuration [Concentration] [SOL]
Create a cloud of incapacitating, noxious gas.
-# 190. - *Thunder Step* © (V) level 3 Conjuration [UB]
+# 195. - *Thunder Step* © (V) level 3 Conjuration [UB]
You teleport yourself to an unoccupied space you can see within range. Immediately after you disappear, a thunderous boom sounds, and each creature within 10 feet of the space you left must make a Constitution saving throw, taking 3d10 thunder damage on a failed save, or half as much damage on a successful one. You can also teleport one willing ally. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d10 for each slot level above 3rd.
-# 191. - Tongues (V) level 3 Divination [SOL]
+# 196. - Tongues (V) level 3 Divination [SOL]
Grants knowledge of all languages for one hour.
-# 192. - Vampiric Touch (V,S) level 3 Necromancy [Concentration] [SOL]
+# 197. - Vampiric Touch (V,S) level 3 Necromancy [Concentration] [SOL]
Grants you a life-draining melee attack for one minute.
-# 193. - Wind Wall (V,S) level 3 Evocation [Concentration] [SOL]
+# 198. - Wind Wall (V,S) level 3 Evocation [Concentration] [SOL]
Create a wall of wind that causes damage, pushes creatures and objects away, and disperses fogs and gases.
-# 194. - Winter's Breath (V,S) level 3 Conjuration [UB]
+# 199. - Winter's Breath (V,S) level 3 Conjuration [UB]
Create a blast of cold wind to chill your enemies and knock them prone.
-# 195. - *Aura of Life* © (V) level 4 Abjuration [Concentration] [UB]
+# 200. - *Aura of Life* © (V) level 4 Abjuration [Concentration] [UB]
Life-preserving energy radiates from you in an aura with a 30-foot radius. Until the spell ends, the aura moves with you, centered on you. Each non-hostile creature in the aura, including you, has resistance to necrotic damage, and its hit point maximum can't be reduced. In addition, a non-hostile, living creature regains 1 hit point when it starts its turn in the aura with 0 hit points.
-# 196. - *Aura of Purity* © (V) level 4 Abjuration [Concentration] [UB]
+# 201. - *Aura of Purity* © (V) level 4 Abjuration [Concentration] [UB]
Purifying energy radiates from you in an aura with a 30-foot radius. Until the spell ends, the aura moves with you, centered on you. Each non-hostile creature in the aura, including you, can't become diseased, has resistance to poison damage, and has advantage on saving throws against effects that cause any of the following conditions: blinded, charmed, deafened, frightened, paralyzed, poisoned, and stunned.
-# 197. - Banishment (V,S) level 4 Abjuration [Concentration] [SOL]
+# 202. - Banishment (V,S) level 4 Abjuration [Concentration] [SOL]
Banishes a creature as long as you concentrate. The creature can be permanently banished if it is extraplanar.
-# 198. - Black Tentacles (V,S) level 4 Conjuration [Concentration] [SOL]
+# 203. - Black Tentacles (V,S) level 4 Conjuration [Concentration] [SOL]
Conjures black tentacles that restrain and damage creatures within the area of effect.
-# 199. - Blessing of Rime (V,S) level 4 Evocation [UB]
+# 204. - Blessing of Rime (V,S) level 4 Evocation [UB]
You summon a chill wind that numbs the pain of your allies. Choose up to three creatures within range. Each creature gains 3d8 temporary hit points for the duration. While a creature has these hit points, if it would make a Constitution saving throw, it gains advantage on the roll. When you cast this spell using a spell slot of 5th level or higher, the temporary hit points increase by 1d8 for each slot level above 4th.
-# 200. - Blight (V,S) level 4 Necromancy [SOL]
+# 205. - Blight (V,S) level 4 Necromancy [SOL]
Drains life from a creature, causing massive necrotic damage.
-# 201. - Brain Bulwark (V) level 4 Abjuration [UB]
+# 206. - Brain Bulwark (V) level 4 Abjuration [UB]
For the duration, you or one willing creature you can see within range has resistance to psychic damage, as well as Immunity to the Charmed, Frightened, Fear, Mind dominated and Mind controlled conditions.
-# 202. - Confusion (V,S) level 4 Enchantment [Concentration] [SOL]
+# 207. - Confusion (V,S) level 4 Enchantment [Concentration] [SOL]
Creates confusion and erratic behavior in a creature, possibly leading it to attack its allies.
-# 203. - Conjure 4 Elementals (V,S) level 4 Conjuration [Concentration] [SOL]
+# 208. - Conjure 4 Elementals (V,S) level 4 Conjuration [Concentration] [SOL]
4 elementals are conjured (CR 1/2).
-# 204. - Conjure Minor Elementals (V,S) level 4 Conjuration [Concentration] [SOL]
+# 209. - Conjure Minor Elementals (V,S) level 4 Conjuration [Concentration] [SOL]
Conjure elemental creatures under your command, which are dismissed when the spell ends or is broken.
-# 205. - Death Ward (V,S) level 4 Abjuration [SOL]
+# 210. - Death Ward (V,S) level 4 Abjuration [SOL]
Protects the creature once against instant death or being reduced to 0 hit points.
-# 206. - Dimension Door (V) level 4 Conjuration [SOL]
+# 211. - Dimension Door (V) level 4 Conjuration [SOL]
Transfers the caster and a friendly creature to a specified destination.
-# 207. - Dominate Beast (V,S) level 4 Enchantment [Concentration] [SOL]
+# 212. - Dominate Beast (V,S) level 4 Enchantment [Concentration] [SOL]
Grants you control over an enemy beast.
-# 208. - Dreadful Omen (V,S) level 4 Enchantment [SOL]
+# 213. - Dreadful Omen (V,S) level 4 Enchantment [SOL]
You whisper dreadful words that cause immense mental anguish in your enemies. On a failed wisdom saving throw, they take psychic damage and become frightened until the end of their next turn, moving away from you as much as possible. On a successful save, they take half as much damage and are not frightened.
-# 209. - Fire Shield (V,S) level 4 Evocation [SOL]
+# 214. - Fire Shield (V,S) level 4 Evocation [SOL]
Grants resistance to fire or cold, and damages creatures attacking the caster with melee attacks.
-# 210. - Freedom of Movement (V,S) level 4 Abjuration [SOL]
+# 215. - Freedom of Movement (V,S) level 4 Abjuration [SOL]
Grants immunity to movement restrictions, as well as being paralyzed or restrained.
-# 211. - Giant Insect (V,S) level 4 Transmutation [Concentration] [SOL]
+# 216. - Giant Insect (V,S) level 4 Transmutation [Concentration] [SOL]
Conjures a giant version of a natural insect or arthropod.
-# 212. - *Gravity Sinkhole* © (V,S) level 4 Evocation [UB]
+# 217. - *Gravity Sinkhole* © (V,S) level 4 Evocation [UB]
A 20-foot-radius sphere of crushing force forms at a point you can see within range and tugs at the creatures there. Each creature in the sphere must make a Constitution saving throw. On a failed save, the creature takes 5d10 force damage, and is pulled in a straight line toward the center of the sphere, ending in an unoccupied space as close to the center as possible. On a successful save, the creature takes half as much damage and isn't pulled. When you cast this spell using a spell slot of 5th level or higher, the damage increases by 1d10 for each slot level above 4th.
-# 213. - Greater Invisibility (V,S) level 4 Illusion [Concentration] [SOL]
+# 218. - Greater Invisibility (V,S) level 4 Illusion [Concentration] [SOL]
Target becomes invisible for the duration, even when attacking or casting spells.
-# 214. - Guardian of Faith (V) level 4 Conjuration [SOL]
+# 219. - Guardian of Faith (V) level 4 Conjuration [SOL]
Conjures a large spectral guardian that damages approaching enemies.
-# 215. - *Guardian of Nature* © (V) level 4 Transmutation [Concentration] [UB]
+# 220. - *Guardian of Nature* © (V) level 4 Transmutation [Concentration] [UB]
A nature spirit answers your call and transforms you into a powerful guardian. The transformation lasts until the spell ends. You choose between a Beast or a Tree form.
-# 216. - Ice Storm (V,S) level 4 Evocation [SOL]
+# 221. - Ice Storm (V,S) level 4 Evocation [SOL]
Causes bludgeoning and cold damage in the area, and turns the ground into difficult terrain.
-# 217. - Identify Creatures (V,S) level 4 Divination [SOL]
+# 222. - Identify Creatures (V,S) level 4 Divination [SOL]
Reveals full bestiary knowledge for the affected creatures.
-# 218. - Irresistible Performance (V) level 4 Enchantment [UB]
+# 223. - Irresistible Performance (V) level 4 Enchantment [UB]
You weave a song into the air, causing those who hear it to applaud its magnificence. All creatures of your choice inside a 30-foot-cube within range must make a Charisma saving throw or be forced to clap and shout until the start of your next turn. A creature that is charmed by you always fails this saving throw. A clapping creature cannot perform any actions that require their hands or mouth but can otherwise act normally. This spell has no effect on creatures that are immune to charm.
-# 219. - *Mordenkainen's Faithful Hound* © (V,S) level 4 Conjuration [UB]
+# 224. - *Mordenkainen's Faithful Hound* © (V,S) level 4 Conjuration [UB]
You conjure a phantom watchdog in an unoccupied space that you can see within range, where it remains for the duration. The hound has Darkvision up to 60 ft, Truesight up to 80 ft, is invisible to all creatures except you and can't be harmed. During each of your turns, the hound can attempt to bite one creature within 5 feet of it that is hostile to you as a free action. The hound's attack bonus is equal to your spellcasting ability modifier + your proficiency bonus. On a hit, it deals 4d8 piercing damage.
-# 220. - Phantasmal Killer (V,S) level 4 Illusion [Concentration] [SOL]
+# 225. - Phantasmal Killer (V,S) level 4 Illusion [Concentration] [SOL]
Causes psychic damage to the target creature with each turn, unless a saving throw is successful or the effect ends.
-# 221. - *Raulothim's Psychic Lance* © (V) level 4 Enchantment [UB]
+# 226. - *Raulothim's Psychic Lance* © (V) level 4 Enchantment [UB]
You unleash a shimmering lance of psychic power from your forehead at a creature that you can see within range. It must succeed on an Intelligence saving throw or take 7d6 psychic damage and be incapacitated until the end of your next turn. On a successful save, the creature takes half damage and isn't incapacitated. At Higher Levels. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 4th.
-# 222. - *Staggering Smite* © (V) level 4 Evocation [Concentration] [UB]
+# 227. - *Staggering Smite* © (V) level 4 Evocation [Concentration] [UB]
The next time you hit a creature with a weapon attack during this spell's duration, your weapon pierces both body and mind, and the attack deals an extra 4d6 psychic damage to the target. The target must make a Wisdom saving throw. On a failed save, it has disadvantage on attack rolls and ability checks, and can't take reactions, until the end of its next turn.
-# 223. - Stoneskin (M,V,S) level 4 Abjuration [Concentration] [SOL]
+# 228. - Stoneskin (M,V,S) level 4 Abjuration [Concentration] [SOL]
Grants resistance to non-magical bludgeoning, slashing, and piercing damage.
-# 224. - Wall of Fire (V,S) level 4 Evocation [Concentration] [SOL]
+# 229. - Wall of Fire (V,S) level 4 Evocation [Concentration] [SOL]
Create a burning wall that injures creatures in or next to it.
-# 225. - *Banishing Smite* © (V) level 5 Abjuration [Concentration] [UB]
+# 230. - *Banishing Smite* © (V) level 5 Abjuration [Concentration] [UB]
Your next hit deals additional 5d10 force damage with your weapon. Additionally, if this attack reduces the target to 50 hit points of fewer, you banish it for 1 min.
-# 226. - *Circle of Power* © (V) level 5 Abjuration [Concentration] [UB]
+# 231. - *Circle of Power* © (V) level 5 Abjuration [Concentration] [UB]
Divine energy radiates from you, distorting and diffusing magical energy within 30 feet of you. Until the spell ends, the sphere moves with you, centered on you. For the duration, each friendly creature in the area, including you, has advantage on saving throws against spells and other magical effects. Additionally, when an affected creature succeeds on a saving throw made against a spell or magical effect that allows it to make a saving throw to take only half damage, it instead takes no damage if it succeeds on the saving throws.
-# 227. - Cloudkill (V,S) level 5 Conjuration [Concentration] [SOL]
+# 232. - Cloudkill (V,S) level 5 Conjuration [Concentration] [SOL]
Creates an obscuring and poisonous cloud. The cloud moves every round.
-# 228. - Cone of Cold (V,S) level 5 Evocation [SOL]
+# 233. - Cone of Cold (V,S) level 5 Evocation [SOL]
Inflicts massive cold damage in the cone of effect.
-# 229. - Conjure Elemental (V,S) level 5 Conjuration [Concentration] [SOL]
+# 234. - Conjure Elemental (V,S) level 5 Conjuration [Concentration] [SOL]
Conjures an elemental of the chosen element that fights alongside you. If you lose concentration, the elemental remains and becomes hostile.
-# 230. - Contagion (V,S) level 5 Necromancy [SOL]
+# 235. - Contagion (V,S) level 5 Necromancy [SOL]
Hit a creature to inflict a disease from the options.
-# 231. - *Dawn* © (V,S) level 5 Evocation [Concentration] [UB]
+# 236. - *Dawn* © (V,S) level 5 Evocation [Concentration] [UB]
The light of dawn shines down on a location you specify within range. Until the spell ends, a 30-foot-radius, 40-foot-high cylinder of bright light glimmers there. This light is sunlight. When the cylinder appears, each creature in it must make a Constitution saving throw, taking 4d10 radiant damage on a failed save, or half as much damage on a successful one. A creature must also make this saving throw whenever it ends its turn in the cylinder. If you're within 60 feet of the cylinder, you can move it up to 60 feet as a bonus action on your turn.
-# 232. - *Destructive Wave* © (V) level 5 Evocation [UB]
+# 237. - *Destructive Wave* © (V) level 5 Evocation [UB]
You strike the ground, creating a burst of divine energy that ripples outward from you. Each creature you choose within 30 feet of you must succeed on a Constitution saving throw or take 5d6 thunder damage, as well as 5d6 radiant or necrotic damage, and be knocked prone. A creature that succeeds on its saving throw takes half as much damage and isn't knocked prone.
-# 233. - Dispel Evil and Good (V,S) level 5 Abjuration [Concentration] [SOL]
+# 238. - Dispel Evil and Good (V,S) level 5 Abjuration [Concentration] [SOL]
Celestial, elementals, feys, fiends, and undead have disadvantage on attacks against you. This spell also allows you to cancel hostile enchantments or dismiss extraplanar creatures hit by your attacks once.
-# 234. - Dominate Person (V,S) level 5 Enchantment [Concentration] [SOL]
+# 239. - Dominate Person (V,S) level 5 Enchantment [Concentration] [SOL]
Grants you control over an enemy creature.
-# 235. - *Far Step* © (V) level 5 Conjuration [Concentration] [UB]
+# 240. - *Far Step* © (V) level 5 Conjuration [Concentration] [UB]
You teleport up to 60 ft to an unoccupied space you can see. On each of your turns before the spell ends, you can use a bonus action to teleport in this way again.
-# 236. - Flame Strike (V,S) level 5 Evocation [SOL]
+# 241. - Flame Strike (V,S) level 5 Evocation [SOL]
Conjures a burning column of fire and radiance affecting all creatures inside.
-# 237. - Greater Restoration (V,S) level 5 Abjuration [SOL]
+# 242. - Greater Restoration (V,S) level 5 Abjuration [SOL]
Removes one detrimental condition, such as a charm or curse, or an effect that reduces an ability score or hit points.
-# 238. - Hold Monster (V,S) level 5 Enchantment [Concentration] [SOL]
-
-Paralyzes a creature unless it succeeds a WIS saving throw. No effect on undead.
-
-# 239. - Hold Monster (V,S) level 5 Enchantment [Concentration] [SOL]
+# 243. - Hold Monster (V,S) level 5 Enchantment [Concentration] [SOL]
Paralyzes a creature unless it succeeds a WIS saving throw. No effect on undead.
-# 240. - *Immolation* © (V) level 5 Evocation [Concentration] [UB]
+# 244. - *Immolation* © (V) level 5 Evocation [Concentration] [UB]
Flames wreathe one creature you can see within range. The target must make a Dexterity saving throw. It takes 8d6 fire damage on a failed save, or half as much damage on a successful one. On a failed save, the target also burns for the spell's duration. The burning target sheds bright light in a 30-foot radius and dim light for an additional 30 feet and takes 8d6 fire damage at the start of each of its turns.
-# 241. - Insect Plague (V,S) level 5 Conjuration [Concentration] [SOL]
+# 245. - Insect Plague (V,S) level 5 Conjuration [Concentration] [SOL]
Summons a sphere of biting insects.
-# 242. - Mantle of Thorns (V,S) level 5 Transmutation [Concentration] [UB]
+# 246. - Mantle of Thorns (V,S) level 5 Transmutation [Concentration] [UB]
Surround yourself with an aura of thorns. Those that start or walk through take 2d8 piercing damage. This damage scales at higher levels by 1d8 per slot.
-# 243. - Mass Cure Wounds (V,S) level 5 Evocation [SOL]
+# 247. - Mass Cure Wounds (V,S) level 5 Evocation [SOL]
Heals up to 6 creatures.
-# 244. - Mind Twist (V,S) level 5 Enchantment [SOL]
+# 248. - Mind Twist (V,S) level 5 Enchantment [SOL]
Causes massive psychic damage to all creatures around you, and incapacitates them if they fail their INT saving throw.
-# 245. - Raise Dead (M,V,S) level 5 Necromancy [SOL]
+# 249. - Raise Dead (M,V,S) level 5 Necromancy [SOL]
Brings one creature back to life, up to 10 days after death.
-# 246. - Sonic Boom (V,S) level 5 Evocation [UB]
+# 250. - Sonic Boom (V,S) level 5 Evocation [UB]
A small orb the same color as the balloon used appears at a point you choose within range then expands with a loud crack into an explosion of force. Each creature in a 30-foot radius must make a Strength saving throw. A target is pushed up to 30 feet away from the center and dealt 6d8 thunder damage on a failed save, or half as much damage and no movement on a successful one.
-# 247. - *Steel Wind Strike* © (M,S) level 5 Conjuration [UB]
+# 251. - *Steel Wind Strike* © (M,S) level 5 Conjuration [UB]
You flourish the weapon used in the casting and then vanish to strike like the wind. Choose up to five creatures you can see within range. Make a melee spell attack against each target. On a hit, a target takes 6d10 force damage. You can then teleport to an unoccupied space you can see within 5 feet of one of the targets you hit or missed.
-# 248. - *Telekinesis* © (V,S) level 5 Transmutation [Concentration] [UB]
+# 252. - *Telekinesis* © (V,S) level 5 Transmutation [Concentration] [UB]
You can try to move a Huge or smaller creature. Make an ability check with your spellcasting ability contested by the creature's Strength check. If you win the contest, you move the creature up to 30 feet in any direction, but not beyond the range of this spell. Until the end of your next turn, the creature is restrained in your telekinetic grip. On subsequent rounds, you can use your action to attempt to maintain your telekinetic grip on the creature by repeating the contest, or target a new creature, ending the restrained effect on the previously affected creature.
-# 249. - Blade Barrier (V,S) level 6 Evocation [Concentration] [SOL]
+# 253. - Blade Barrier (V,S) level 6 Evocation [Concentration] [SOL]
Conjures a wall of razor sharp blades which causes 6d10 slashing damage to anyone crossing it
-# 250. - Chain Lightning (V,S) level 6 Evocation [SOL]
+# 254. - Chain Lightning (V,S) level 6 Evocation [SOL]
Target a creature with lightning, which can arc to 3 other targets within 6 cells.
-# 251. - Circle of Death (M,V,S) level 6 Necromancy [SOL]
+# 255. - Circle of Death (M,V,S) level 6 Necromancy [SOL]
A sphere of negative energy causes Necrotic damage from a point you choose
-# 252. - Conjure Fey (V,S) level 6 Conjuration [Concentration] [SOL]
+# 256. - Conjure Fey (V,S) level 6 Conjuration [Concentration] [SOL]
Conjures a fey creature of challenge rating 1 to 6 to fight alongside you. If you lose concentration, the creature stays but becomes hostile.
-# 253. - Disintegrate (V,S) level 6 Transmutation [SOL]
+# 257. - Disintegrate (V,S) level 6 Transmutation [SOL]
Causes massive force damage on the target, which can be disintegrated if reduced to 0 hit points
-# 254. - Eyebite (V,S) level 6 Necromancy [Concentration] [SOL]
+# 258. - Eyebite (V,S) level 6 Necromancy [Concentration] [SOL]
Your eyes gain a specific property which can target a creature each turn
-# 255. - *Fizban's Platinum Shield* © (M,V,S) level 6 Abjuration [Concentration] [UB]
+# 259. - *Fizban's Platinum Shield* © (M,V,S) level 6 Abjuration [Concentration] [UB]
You create a field of silvery light that surrounds a creature of your choice within range. The field sheds dim light out to 5 feet. While surrounded by the field, a creature gains the following benefits:
• The creature has half cover.
@@ -1045,51 +1068,51 @@ You create a field of silvery light that surrounds a creature of your choice wit
• If the creature is subjected to an effect that allows it to make a Dexterity saving throw to take only half damage, the creature instead takes no damage if it succeeds on the saving throw, and only half damage if it fails.
As a bonus action on subsequent turns, you can move the field to another creature within 60 feet of the field.
-# 256. - Flash Freeze (V,S) level 6 Evocation [UB]
+# 260. - Flash Freeze (V,S) level 6 Evocation [UB]
You attempt to encase a creature you can see within range in a prison of solid ice. The target must make a Dexterity saving throw. On a failed save, the target takes 10d6 cold damage and becomes restrained in layers of thick ice. On a successful save, the target takes half as much damage and is not restrained. The spell can only be used on creatures up to large size. To break out, the restrained target can make a Strength check as an action against your spell save DC. On success, the target escapes and is no longer restrained. When you cast this spell using a spell slot of 7th level or higher, the cold damage increases by 2d6 for each slot level above 6th.
-# 257. - Freezing Sphere (V,S) level 6 Evocation [SOL]
+# 261. - Freezing Sphere (V,S) level 6 Evocation [SOL]
Toss a huge ball of cold energy that explodes on impact
-# 258. - Globe Of Invulnerability (V,S) level 6 Abjuration [Concentration] [SOL]
+# 262. - Globe Of Invulnerability (V,S) level 6 Abjuration [Concentration] [SOL]
A sphere surrounding you prevents any spell up to 5th level to affect anyone inside it.
-# 259. - Harm (V,S) level 6 Necromancy [SOL]
+# 263. - Harm (V,S) level 6 Necromancy [SOL]
Inflicts devastating necrotic damage and reduces the maximum hit points accordingly. Cannot drop the target below 1 hit points
-# 260. - Heal (V,S) level 6 Evocation [SOL]
+# 264. - Heal (V,S) level 6 Evocation [SOL]
Heals 70 hit points and also removes blindness and diseases
-# 261. - Heroes Feast (M,V,S) level 6 Conjuration [SOL]
+# 265. - Heroes Feast (M,V,S) level 6 Conjuration [SOL]
Summons a feast which cures most ailments and grants immunity to poisonand being frightened, WIS save advantage, and increased maximum hitpoints
-# 262. - Hilarity (V) level 6 Enchantment [Concentration] [SOL]
+# 266. - Hilarity (V) level 6 Enchantment [Concentration] [SOL]
Choose one target. They fall down laughing, becoming prone and incapacitated, and take psychic damage until they save at the end of one of their turns, or until the spell ends.
-# 263. - Poison Wave (M,V,S) level 6 Evocation [UB]
+# 267. - Poison Wave (M,V,S) level 6 Evocation [UB]
A poisonous wave erupts from you, engulfing those close by. Each creature within the spell's radius must make a Constitution saving throw, taking 6d10 poison damage on a failure, or half as much damage on a successful one. A creature who fails their saving throw is also poisoned for 1 minute, and can repeat the saving throw at the end of each of its turn. When you cast this spell using a slot of 7th level or higher, the damage increases by 1d10 for each slot level above 6th.
-# 264. - Ring of Blades (M,V,S) level 6 Conjuration [Concentration] [UB]
+# 268. - Ring of Blades (M,V,S) level 6 Conjuration [Concentration] [UB]
You raise both hands as you evoke six transparent blades around you as a bonus action. When you cast this spell, and as a bonus action on each subsequent turn, you can throw one of these blades at a creature within 60 feet from you. Make a ranged spell attack. On a hit, the target takes 4d10 force damage. When you cast this spell using a spell slot of 7th level or higher, the damage of each blade increases by 1d10 for each slot level above 6th.
-# 265. - Sunbeam (V,S) level 6 Evocation [Concentration] [SOL]
+# 269. - Sunbeam (V,S) level 6 Evocation [Concentration] [SOL]
You conjure a line of radiance which can burn and blind creatures in the line of effect; undead and oozes save with disadvantage. The beam can be retargeted each turn
-# 266. - *Tasha's Otherworldly Guise* © (M,V,S) level 6 Transmutation [Concentration] [UB]
+# 270. - *Tasha's Otherworldly Guise* © (M,V,S) level 6 Transmutation [Concentration] [UB]
Uttering an incantation, you draw on the magic of the Lower Planes or Upper Planes (your choice) to transform yourself.
-# 267. - *Tenser's Transformation* © (V,S) level 6 Transmutation [Concentration] [UB]
+# 271. - *Tenser's Transformation* © (V,S) level 6 Transmutation [Concentration] [UB]
You endow yourself with endurance and martial prowess fueled by magic. Until the spell ends, you can't cast spells, and you gain the following benefits:
• You gain 50 temporary hit points. If any of these remain when the spell ends, they are lost.
@@ -1099,155 +1122,155 @@ You endow yourself with endurance and martial prowess fueled by magic. Until the
• You can attack twice, instead of once, when you take the Attack action on your turn.
Immediately after the spell ends, you must succeed on a DC 15 Constitution saving throw or suffer one level of exhaustion.
-# 268. - True Seeing (V,S) level 6 Divination [SOL]
+# 272. - True Seeing (V,S) level 6 Divination [SOL]
A creature you touch gains True Sight for one hour
-# 269. - Wall of Thorns (V,S) level 6 Conjuration [Concentration] [SOL]
+# 273. - Wall of Thorns (V,S) level 6 Conjuration [Concentration] [SOL]
Creates a wall of tough of needle-sharp thorns, that hurts and slows every creature in it.
-# 270. - Arcane Sword (M,V,S) level 7 Evocation [Concentration] [SOL]
+# 274. - Arcane Sword (M,V,S) level 7 Evocation [Concentration] [SOL]
Summon a weapon that fights for you.
-# 271. - Conjure Celestial (V,S) level 7 Conjuration [Concentration] [SOL]
+# 275. - Conjure Celestial (V,S) level 7 Conjuration [Concentration] [SOL]
Conjures a celestial creature of challenge rating 4 that fights alongside you. If you lose concentration, the creature is dismissed.
-# 272. - Delayed Blast Fireball (V,S) level 7 Evocation [Concentration] [SOL]
+# 276. - Delayed Blast Fireball (V,S) level 7 Evocation [Concentration] [SOL]
Conjures a ball of fire that grows more powerful with time, detonating when a creature enters its space or when the spell ends.
-# 273. - Divine Word (V) level 7 Evocation [SOL]
+# 277. - Divine Word (V) level 7 Evocation [SOL]
Utter a divine word that inflicts various negative conditions on enemies you can see, based on their HP. Also banishes all celestials, elementals, feys, and fiends if they fail their saving throws.
-# 274. - *Draconic Transformation* © (M,V,S) level 7 Transmutation [Concentration] [UB]
+# 278. - *Draconic Transformation* © (M,V,S) level 7 Transmutation [Concentration] [UB]
With a roar, you draw on the magic of dragons to transform yourself, taking on draconic features. You gain the following benefits until the spell ends:
• You have blindsight with a range of 30 feet.
• When you cast this spell, and as a bonus action on subsequent turns for the duration, you can exhale shimmering energy in a 60-foot cone. Each creature in that area must make a Dexterity saving throw, taking 6d8 force damage on a failed save, or half as much damage on a successful one.
• Incorporeal wings sprout from your back, giving you a flying speed of 60 feet.
-# 275. - Finger of Death (V,S) level 7 Necromancy [SOL]
+# 279. - Finger of Death (V,S) level 7 Necromancy [SOL]
Send negative energy coursing through a creature within range.
-# 276. - Fire Storm (V,S) level 7 Evocation [SOL]
+# 280. - Fire Storm (V,S) level 7 Evocation [SOL]
Causes a wide wall of roaring flames to burst up wherever you choose within range.
-# 277. - Gravity Slam (V,S) level 7 Transmutation [SOL]
+# 281. - Gravity Slam (V,S) level 7 Transmutation [SOL]
Increase gravity to slam everyone in a specific area onto the ground.
-# 278. - Prismatic Spray (V,S) level 7 Evocation [SOL]
+# 282. - Prismatic Spray (V,S) level 7 Evocation [SOL]
Each creature within the cone of effect is randomly affected by one or two (roll 8 on d8) rays with the following effects:
-# 279. - Regenerate (V,S) level 7 Transmutation [SOL]
+# 283. - Regenerate (V,S) level 7 Transmutation [SOL]
Touch a creature and stimulate its natural healing ability.
-# 280. - Resurrection (M,V,S) level 7 Necromancy [SOL]
+# 284. - Resurrection (M,V,S) level 7 Necromancy [SOL]
Brings one creature back to life, up to 100 years after death.
-# 281. - *Reverse Gravity* © (V,S) level 7 Transmutation [Concentration] [UB]
+# 285. - *Reverse Gravity* © (V,S) level 7 Transmutation [Concentration] [UB]
This spell reverses gravity in a 50-foot-radius, 100-foot-high cylinder centered on a point within range.
-# 282. - Symbol (V,S) level 7 Abjuration [SOL]
+# 286. - Symbol (V,S) level 7 Abjuration [SOL]
Inscribe a glyph on a surface. When an enemy starts its turn in the area or enters it, the glyph's effect is applied in a sphere with a 12-cell radius.
-# 283. - Divine Blade (V,S) level 8 Evocation [Concentration] [SOL]
+# 287. - Divine Blade (V,S) level 8 Evocation [Concentration] [SOL]
A glowing blade of pure energy springs from your hand. On a hit, the target takes 6d8 radiant damage and must roll a Wisdom saving throw to avoid being stunned until the end of its next turn.
-# 284. - Dominate Monster (V,S) level 8 Enchantment [Concentration] [SOL]
+# 288. - Dominate Monster (V,S) level 8 Enchantment [Concentration] [SOL]
Grants you control over an enemy creature of any type.
-# 285. - Earthquake (V,S) level 8 Evocation [Concentration] [SOL]
+# 289. - Earthquake (V,S) level 8 Evocation [Concentration] [SOL]
You create a seismic disturbance that violently shakes the ground and the creatures standing on it for the duration of the spell.
-# 286. - Feeblemind (V,S) level 8 Enchantment [SOL]
+# 290. - Feeblemind (V,S) level 8 Enchantment [SOL]
You blast the mind of one creature, attempting to shatter its intellect and personality. The target takes 4d6 psychic damage and must make an Intelligence saving throw. On a failed save, the creature's Intelligence, Charisma and Wisdom scores become 1 and it is unable to cast spells. These effects last for 1 minute.
-# 287. - Holy Aura (V,S) level 8 Abjuration [Concentration] [SOL]
+# 291. - Holy Aura (V,S) level 8 Abjuration [Concentration] [SOL]
Allies within 6 cells of you when you cast Holy Aura gain advantage on all saving throws, and other creatures have disadvantage on attack rolls against them until the spell ends. In addition, when a fiend or an undead hits an affected creature with a melee attack, they must succeed on a Constitution saving throw or be blinded until the spell ends.
-# 288. - Incendiary Cloud (V,S) level 8 Conjuration [Concentration] [SOL]
+# 292. - Incendiary Cloud (V,S) level 8 Conjuration [Concentration] [SOL]
A cloud of smoke appears in a sphere with a 4-cell radius. The cloud damages each creature inside it, and moves away from you each turn until the end of the spell's duration or until a moderate wind disperses the cloud.
-# 289. - *Maddening Darkness* © (V) level 8 Evocation [Concentration] [UB]
+# 293. - *Maddening Darkness* © (V) level 8 Evocation [Concentration] [UB]
Magical darkness spreads from a point you choose within range to fill a 60-foot-radius sphere until the spell ends. Shrieks, gibbering, and mad laughter can be heard within the sphere. On activation, and whenever a creature ends its turn in the sphere, it must make a Wisdom saving throw, taking 6d8 psychic damage on a failed save, or half as much damage on a successful one.
-# 290. - Maze (V,S) level 8 Abjuration [Concentration] [SOL]
+# 294. - Maze (V,S) level 8 Abjuration [Concentration] [SOL]
You banish a creature that you can see within range into a labyrinthine demiplane. The target remains there for the spell's duration or until it escapes the maze.
-# 291. - *Mind Blank* © (V,S) level 8 Transmutation [UB]
+# 295. - *Mind Blank* © (V,S) level 8 Transmutation [UB]
Until the spell ends, one willing creature you touch is immune to psychic damage, any effect that would sense its emotions or read its thoughts, divination spells, and the charmed condition.
-# 292. - Power Word Stun (V) level 8 Enchantment [SOL]
+# 296. - Power Word Stun (V) level 8 Enchantment [SOL]
Overwhelm the mind of a creature that has 150 hit points or fewer, leaving it stunned.
-# 293. - Spell Ward (V,S) level 8 Abjuration [Concentration] [SOL]
+# 297. - Spell Ward (V,S) level 8 Abjuration [Concentration] [SOL]
Creates a mobile globe that is impenetrable to enemy spells cast from outside it.
-# 294. - Sunburst (V,S) level 8 Evocation [SOL]
+# 298. - Sunburst (V,S) level 8 Evocation [SOL]
Brilliant sunlight blazes in a sphere with a 12-cell radius. Each creature that fails a Constitution saving throw takes radiant damage and is blinded for 1 minute. Any darkness created by a spell in the area is dispelled.
-# 295. - Thunderstorm (V,S) level 8 Transmutation [SOL]
+# 299. - Thunderstorm (V,S) level 8 Transmutation [SOL]
You create a blast of thunder in a sphere that causes thunder and lightning damage to everyone, and can blind or stun those who fail a CON saving throw.
-# 296. - Wild Shapes (V,S) level 8 Transmutation [Concentration] [SOL]
+# 300. - Wild Shapes (V,S) level 8 Transmutation [Concentration] [SOL]
Turns other creatures in to beasts for one day.
-# 297. - *Foresight* © (V,S) level 9 Transmutation [UB]
+# 301. - *Foresight* © (V,S) level 9 Transmutation [UB]
You touch a willing creature and bestow a limited ability to see into the immediate future. For the duration, the target can't be surprised and has advantage on attack rolls, ability checks, and saving throws. Additionally, other creatures have disadvantage on attack rolls against the target for the duration.
-# 298. - *Mass Heal* © (V,S) level 9 Transmutation [UB]
+# 302. - *Mass Heal* © (V,S) level 9 Transmutation [UB]
A flood of healing energy flows from you into injured creatures around you. You restore 120 hit points each to 6 creatures that you can see within range. Creatures healed by this spell are also cured of all diseases and any effect making them blinded or deafened. This spell has no effect on undead or constructs.
-# 299. - *Meteor Swarm* © (V,S) level 9 Transmutation [UB]
+# 303. - *Meteor Swarm* © (V,S) level 9 Transmutation [UB]
Blazing orbs of fire plummet to the ground at a single point you can see within range. Each creature in a 40-foot-radius sphere centered on the point you choose must make a Dexterity saving throw. The sphere spreads around corners. A creature takes 20d6 fire damage and 20d6 bludgeoning damage on a failed save, or half as much damage on a successful one. A creature in the area of more than one fiery burst is affected only once.
-# 300. - *Power Word Heal* © (V,S) level 9 Enchantment [UB]
+# 304. - *Power Word Heal* © (V,S) level 9 Enchantment [UB]
A wave of healing energy washes over the creature you touch. The target regains all its hit points. If the creature is charmed, frightened, paralyzed, or stunned, the condition ends. If the creature is prone, it can use its reaction to stand up. This spell has no effect on undead or constructs.
-# 301. - *Power Word Kill* © (V,S) level 9 Transmutation [UB]
+# 305. - *Power Word Kill* © (V,S) level 9 Transmutation [UB]
You utter a word of power that can compel one creature you can see within range to die instantly. If the creature you choose has 100 hit points or fewer, it dies. Otherwise, the spell has no effect.
-# 302. - *Shapechange* © (M,V,S) level 9 Transmutation [Concentration] [UB]
+# 306. - *Shapechange* © (M,V,S) level 9 Transmutation [Concentration] [UB]
You assume the form of a different creature for the duration. The new form can be of any creature with a challenge rating equal to your level or lower.
-# 303. - *Time Stop* © (V) level 9 Transmutation [UB]
+# 307. - *Time Stop* © (V) level 9 Transmutation [UB]
You briefly stop the flow of time for everyone but yourself. No time passes for other creatures, while you take 1d4 + 1 turns in a row, during which you can use actions and move as normal.
-# 304. - *Weird* © (V,S) level 9 Illusion [Concentration] [UB]
+# 308. - *Weird* © (V,S) level 9 Illusion [Concentration] [UB]
-Drawing on the deepest fears of a group of creatures, you create illusory creatures in their minds, visible only to them. Each creature in a 30-foot-radius sphere centered on a point of your choice within range must make a Wisdom saving throw. On a failed save, a creature becomes frightened for the duration. The illusion calls on the creature's deepest fears, manifesting its worst nightmares as an implacable threat. At the end of each of the frightened creature's turns, it must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends for that creature.
+Drawing on the deepest fears of a group of creatures, you create illusory creatures in their minds, visible only to them. Each enemy in a 30-foot-radius sphere centered on a point of your choice within range must make a Wisdom saving throw. On a failed save, a creature becomes frightened for the duration. The illusion calls on the creature's deepest fears, manifesting its worst nightmares as an implacable threat. At the end of each of the frightened creature's turns, it must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends for that creature.
diff --git a/Documentation/Subclasses.md b/Documentation/Subclasses.md
index af021297d1..0d71641e89 100644
--- a/Documentation/Subclasses.md
+++ b/Documentation/Subclasses.md
@@ -350,7 +350,7 @@ Regain one use of your Emergency Surgery and your Emergency Cure when you reduce
* Stable Surgery
-When casting a healing spell your minimum healing dice roll is 2.
+Whenever you heal another creature, you treat all 1 rolls as 2 instead.
### Level 15
@@ -3488,73 +3488,73 @@ When a creature is about to hit you with an attack, you can spend 3 ki and use y
-## 6. Way of Survival [SOL]
+## 6. Way of Storm Soul [UB]
-In the aftermath of the Cataclysm, isolated communities developed physical and mental techniques that allowed them to push the limits of their strength and endurance to the utmost. Surviving while their neighbors perished, the followers of the Way of Survival are as tough as the harsh times that forged them.
+Monks of the Way of the Storm Soul live on the highest mountaintops of Solasta, attuning themselves to the energies of mighty storms and learning to channel the power of lightning into their being. These martial artists use their unique disciplines to become an unbridled tempest, effortlessly maneuvering the battlefield, rushing from one enemy to the next and unleashing countless lightning-infused strikes upon them.
### Level 3
-* Defensive Stance
+* Disciple of Storms
-Starting at the 3rd level, you gain a +2 bonus to AC while you are not wearing armor and are not incapacitated. When you use Patient Defense, you gain advantage to your attack rolls until the start of your next turn.
+Whenever you use your Flurry of Blows, you also gain the benefits of the disengage action. Bonus attacks provided by it deal extra lightning damage equal to your martial arts die.
### Level 6
-* Unbreakable Body
+* Lightning Warrior
-Starting at the 6th level, whenever you take damage from any source, you heal a number of hit point equal to your proficiency bonus at the start of your next turn. Whenever you use Patient Defense, you also gain resistance to all damage types until the start of your next turn.
+You gain resistance to lightning damage, and you can replace any of your main action attacks to cast Lightning Lure cantrip without any components using your Wisdom as spellcasting modifier.
### Level 11
-* Unmoving Strength
+* Tempest's Fury
-Starting at the 11th level, you now add your CON modifier to the damage rolls of your unarmed strikes and monk weapons.
+You can spend 1 ki to replace one of bonus attacks provided by Flurry of Blows to instead attack all enemy creatures within 5 ft of you with it.
### Level 17
-* Physical Perfection
+* Eye of the Storm
-Starting at 17th level, you gain the following benefits:
-• While you have less than half your maximum hit points, healing of your Unbreakable Body feature is doubled.
-• When you are reduced to 0 hit points, you can pay 1 Ki to restore 1 hit point.
+Whenever you damage a creature with a monk weapon, unarmed attack or Lightning Lure cantrip, you mark that creature with lingering conductive energies for 1 minute. You can use your action and spend 3 ki to consume the mark on each creature and force a Dexterity saving throw on them (DC = 8 + proficiency bonus + Wisdom modifier). On a failed saving throw, each creature receives 5d10 lightning damage (save for half).
-## 7. Way of Tempest [UB]
+## 7. Way of Survival [SOL]
-Monks of the Way of the Tempest push their bodies beyond its physical limitations by utilizing ki-manipulating techniques passed down by their masters and teachers. These martial artists effortlessly maneuver the battlefield, rushing from one enemy to the next and raining countless blows upon them.
+In the aftermath of the Cataclysm, isolated communities developed physical and mental techniques that allowed them to push the limits of their strength and endurance to the utmost. Surviving while their neighbors perished, the followers of the Way of Survival are as tough as the harsh times that forged them.
### Level 3
-* Tempest's Swiftness
+* Defensive Stance
-Starting at 3rd level, your base movement speed is increased by 10 feet. Whenever you use your Flurry of Blows, you also gain the benefits of the disengage action.
+Starting at the 3rd level, you gain a +2 bonus to AC while you are not wearing armor and are not incapacitated. When you use Patient Defense, you gain advantage to your attack rolls until the start of your next turn.
### Level 6
-* Gathering Storm
+* Unbreakable Body
-Starting at 6th level, you become resistant to lightning damage and your bonus attacks provided by your Flurry of Blows each deal additional lightning damage equal to your martial arts die.
+Starting at the 6th level, whenever you take damage from any source, you heal a number of hit point equal to your proficiency bonus at the start of your next turn. Whenever you use Patient Defense, you also gain resistance to all damage types until the start of your next turn.
### Level 11
-* Tempest's Fury
+* Unmoving Strength
-Starting at 11th level, after using your attack action, you can spend 3 Ki to use Tempest's Fury as a bonus action. It is an upgraded version of your Flurry of Blows, that in addition to granting benefits of the disengage action and allowing you to make two unarmed attacks as a bonus action, also immediately initiates one extra unarmed attack against each enemy creature within 5 feet of you upon its activation. All attacks provided by this feature deal additional lightning damage equal to your martial arts die.
+Starting at the 11th level, you now add your CON modifier to the damage rolls of your unarmed strikes and monk weapons.
### Level 17
-* Eye of the Storm
+* Physical Perfection
-Starting at 17th level, whenever you hit a creature with a monk weapon or unarmed attack, you mark that creature for 1 minute. You can use your action and pay 3 Ki to consume the mark on each creature and force a Dexterity saving throw on them (DC 8 + proficiency bonus + Wisdom modifier). On a failed saving throw, each creature receives 4d10 lightning damage, half if saved, and becomes staggered, having disadvantage on all attacks and ability checks until the end of your next turn.
+Starting at 17th level, you gain the following benefits:
+• While you have less than half your maximum hit points, healing of your Unbreakable Body feature is doubled.
+• When you are reduced to 0 hit points, you can pay 1 Ki to restore 1 hit point.
@@ -5860,7 +5860,56 @@ Starting at 18th level, your gain the ability to corrupt creatures on touch and
# Warlock
-## 1. The Celestial [UB]
+## 1. The Archfey [UB]
+
+Your patron is a lord or lady of the fey, a creature of legend who holds secrets that were forgotten before the mortal races were born. This being's motivations are often inscrutable, and sometimes whimsical, and might involve a striving for greater magical power or the settling of age-old grudges.
+
+
+### Level 1
+
+* Expanded Spells
+
+
+ I Faerie Fire, Sleep
+
+ II Calm Emotions, Mirror Image
+
+ III Conjure Animal, Protection from Energy
+
+ IV Dominate Beast, Greater Invisibility
+
+ V Dominate Person, Mantle of Thorns
+
+
+
+* Fey Presence
+
+As an action, you can cause each creature in a 15 ft cone to make a Wisdom saving throw against your warlock spell save DC. The creatures that fail their saving throws are all charmed or frightened by you (your choice) until the end of your next turn. Once you use this feature, you can't use it again until you finish a short or long rest.
+
+
+### Level 6
+
+* Misty Escape
+
+ When you are hit, you can use your reaction to turn invisible and teleport up to 60 feet to an unoccupied space you can see. You remain invisible until the start of your next turn or until you attack or cast a spell. Once you use this feature, you can't use it again until you finish a short or long rest.
+
+
+### Level 10
+
+* Beguiling Defenses
+
+You are immune to being charmed, and when another creature attempts to charm you, you can use your reaction to attempt to turn the charm back on that creature. The creature must succeed on a Wisdom saving throw against your warlock spell save DC or be charmed by you for 1 minute or until the creature takes any damage.
+
+
+### Level 14
+
+* Dark Delirium
+
+As an action, choose a creature that you can see within 60 feet of you. It must make a Wisdom saving throw against your warlock spell save DC. On a failed save, it is charmed or frightened by you (your choice) for 1 minute. This effect ends early if the creature takes any damage. Once you use this feature, you can't use it again until you finish a short or long rest.
+
+
+
+## 2. The Celestial [UB]
Your patron is a powerful being of the Upper Planes. You have bound yourself to an ancient empyrean, solar, ki-rin, unicorn, or other entity that resides in the planes of everlasting bliss. Your pact with that being allows you to experience the barest touch of the holy light that illuminates the multiverse.
@@ -5913,7 +5962,7 @@ The radiant energy you channel allows you to resist death. When you have to make
-## 2. The Eldritch Surge [UB]
+## 3. The Eldritch Surge [UB]
You made a pact with a mysterious entity that may be a consciousness that emerged from the intricacy of the Weave, believing that pure arcane power can create any phenomenon. And you are to prove it.
@@ -5971,7 +6020,7 @@ You learn one Versatility.
-## 3. The Elementalist [UB]
+## 4. The Elementalist [UB]
You've been made a pact with and been changed by primordials present in the elemental badlands. The elemental chaos of the patron has suffused your soul, letting you use the power of different elemental types.
@@ -6022,7 +6071,7 @@ Your control of elemental energies has increased to the point than you now have
-## 4. The Fiend [SOL]
+## 5. The Fiend [SOL]
A fiend is a dangerous patron whose power comes at a cost. A denizen of the lower planes of existence, your patron's aims are evil, and although you may strive against those aims, your patron still desires the corruption or destruction of all things, ultimately including you.
@@ -6072,7 +6121,7 @@ When you hit a creature with an attack, you can banish it to the lower planes un
-## 5. The Hexblade [UB]
+## 6. The Hexblade [UB]
You have struck a bargain with a sentient weapon that you feed souls to in return for power.
@@ -6132,7 +6181,7 @@ You can use Soul Hex twice per short rest now, and you can use a bonus action to
-## 6. The Hive [SOL]
+## 7. The Hive [SOL]
The insects known as redeemers were developed by the Manacalon Empire as living weapons controlled by hive intelligence. With the fall of the Empire, that intelligence became self-willed and powerful - and curious about others. The Hive studies its warlocks as well as empowering them.
@@ -6181,7 +6230,7 @@ Starting at level 14, you have advantage on saving throws against spells and mag
-## 7. The Moonlit [UB]
+## 8. The Moonlit [UB]
Your patron is a spirit of the moon, an entity that embodies the cyclical nature of light and darkness. These spirits seek to maintain the power of the moon over the night sky while keeping profane powers that stalk the darkness at bay and task their warlocks with the same, granting them command over the powers of the moon and its effects.
@@ -6232,7 +6281,7 @@ Whenever a creature damages you, you can use your reaction to become invisible u
-## 8. The Mountain [UB]
+## 9. The Mountain [UB]
You have made a pact with an ancient primal entity that dwells atop the highest mountains of Solasta. Such entities yearn for a simpler epoch when mortals left them to their long slumber above the clouds, raising no cities and delving no mines. Their warlocks disdain the tools of civilization, calling upon the mountain's strength to shield their companions and strike down their foes.
@@ -6289,7 +6338,7 @@ Gain immunity to cold damage. The first time you hit an enemy with an attack on
-## 9. The Riftwalker [UB]
+## 10. The Riftwalker [UB]
Your patron is one of the rare beings who calls the void between worlds their home. They slip between the planes with ease and the knowledge you have gained from interacting with them allows you to harness lingering rift energies to your benefit within solasta. You might be sometimes filled with a longing for the distant realm of your patron, a desire to wander between dimensions for the rest of your days, or watch for signs of another Rift event, either to prevent or encourage.
@@ -6350,7 +6399,7 @@ As a main action, your control of rift portals has increased to the point that y
-## 10. The Timekeeper [SOL]
+## 11. The Timekeeper [SOL]
Time is eternal, just a long flow. And yet, it longs for more than this endless flow; it longs to feel the meaning of a single moment. The Timekeepers fulfill this longing and can even sometimes manipulate the flow, a boon granted to agents of Time.
@@ -6403,7 +6452,7 @@ Starting at the 14th level, on your turn, you can take one additional action on
-## 11. The Tree [SOL]
+## 12. The Tree [SOL]
The Tree stands at the heart of the Forest of Colthannin. To the sylvan elves - and more recently, to others - it is the soul of the forest. Its roots probe the depths, its branches touch the sky - and its warlocks travel the world between, informing and enacting its labyrinthine plans.
@@ -6875,7 +6924,7 @@ A variety of arcane colleges specialize in training wizards for war. The traditi
* Arcane Deflection
-You have learned to weave your magic to fortify yourself against harm. When you are hit by an attack or you fail a saving throw, you can use your reaction to subtract your Intelligence modifier from the attack roll, or add it to the saving roll. When you use this feature, you can't cast spells other than cantrips until the end of your next turn.
+You have learned to weave your magic to fortify yourself against harm. When you are hit by an attack, or you fail a saving throw, you can use your reaction to subtract your Intelligence modifier from the attack roll, or add it to the saving roll. When you use this feature, you can't cast spells other than cantrips until the end of your next turn.
* Tactical Wit
@@ -6886,7 +6935,7 @@ Your keen ability to assess tactical situations allows you to act quickly in bat
* Power Surge
-You have a number of power surges equal to your Intelligence modifier (minimum of one). Whenever you successfully end a spell with Counterspell, you gain one power surge. Once per turn when you deal damage to a creature or object with a wizard spell, you can spend one power surge to deal extra force damage to on one damage roll of that spell. The extra damage equals your wizard level.
+You have a number of power surges equal to your Intelligence modifier (minimum of one) per long rest. Whenever you successfully end a spell with Counterspell, you regain one power surge. Once per turn when you deal damage to a creature or object with a wizard spell, you can spend one power surge to deal extra force damage to on one damage roll of that spell. The extra damage equals your wizard level.
### Level 10
diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs
index 610db55add..18a05097ba 100644
--- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs
+++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs
@@ -9,6 +9,12 @@ namespace SolastaUnfinishedBusiness.Api;
internal static partial class DatabaseHelper
{
+ internal static class FeatureDefinitionMoveThroughEnemyModifiers
+ {
+ internal static FeatureDefinitionMoveThroughEnemyModifier MoveThroughEnemyModifierHalflingNimbleness { get; } =
+ GetDefinition("MoveThroughEnemyModifierHalflingNimbleness");
+ }
+
internal static class FeatureDefinitionPerceptionAffinitys
{
internal static FeatureDefinitionPerceptionAffinity PerceptionAffinityConditionBlinded { get; } =
@@ -245,6 +251,9 @@ internal static class CharacterSubclassDefinitions
internal static CharacterSubclassDefinition RangerMarksman { get; } =
GetDefinition("RangerMarksman");
+ internal static CharacterSubclassDefinition RangerShadowTamer { get; } =
+ GetDefinition("RangerShadowTamer");
+
internal static CharacterSubclassDefinition RangerSwiftBlade { get; } =
GetDefinition("RangerSwiftBlade");
@@ -293,6 +302,9 @@ internal static class CharacterSubclassDefinitions
internal static class ConditionDefinitions
{
+ internal static ConditionDefinition ConditionHolyAura { get; } =
+ GetDefinition("ConditionHolyAura");
+
internal static ConditionDefinition ConditionAcidArrowed { get; } =
GetDefinition("ConditionAcidArrowed");
@@ -1668,6 +1680,12 @@ internal static class FeatureDefinitionPointPools
internal static class FeatureDefinitionPowers
{
+ internal static FeatureDefinitionPower PowerPaladinCleansingTouch { get; } =
+ GetDefinition("PowerPaladinCleansingTouch");
+
+ internal static FeatureDefinitionPower PowerGreen_Hag_Invisibility { get; } =
+ GetDefinition("PowerGreen_Hag_Invisibility");
+
internal static FeatureDefinitionPower PowerPatronTimekeeperAccelerate { get; } =
GetDefinition("PowerPatronTimekeeperAccelerate");
@@ -1854,12 +1872,24 @@ internal static class FeatureDefinitionPowers
internal static FeatureDefinitionPower PowerMonkFlurryOfBlows { get; } =
GetDefinition("PowerMonkFlurryOfBlows");
+ internal static FeatureDefinitionPower PowerTraditionFreedomFlurryOfBlowsSwiftStepsImprovement { get; } =
+ GetDefinition("PowerTraditionFreedomFlurryOfBlowsSwiftStepsImprovement");
+
+ internal static FeatureDefinitionPower PowerTraditionFreedomFlurryOfBlowsUnendingStrikesImprovement { get; } =
+ GetDefinition("PowerTraditionFreedomFlurryOfBlowsUnendingStrikesImprovement");
+
internal static FeatureDefinitionPower PowerMonkMartialArts { get; } =
GetDefinition("PowerMonkMartialArts");
internal static FeatureDefinitionPower PowerMonkPatientDefense { get; } =
GetDefinition("PowerMonkPatientDefense");
+ internal static FeatureDefinitionPower PowerMonkPatientDefenseSurvival3 { get; } =
+ GetDefinition("PowerMonkPatientDefenseSurvival3");
+
+ internal static FeatureDefinitionPower PowerMonkPatientDefenseSurvival6 { get; } =
+ GetDefinition("PowerMonkPatientDefenseSurvival6");
+
internal static FeatureDefinitionPower PowerMonkStepOfTheWindDash { get; } =
GetDefinition("PowerMonkStepOfTheWindDash");
@@ -3487,20 +3517,6 @@ internal static class SchoolOfMagicDefinitions
GetDefinition("SchoolTransmutation");
}
- internal static class SkillDefinitions
- {
- internal static SkillDefinition Acrobatics { get; } = GetDefinition("Acrobatics");
- internal static SkillDefinition AnimalHandling { get; } = GetDefinition("AnimalHandling");
- internal static SkillDefinition Arcana { get; } = GetDefinition("Arcana");
- internal static SkillDefinition Athletics { get; } = GetDefinition("Athletics");
- internal static SkillDefinition Intimidation { get; } = GetDefinition("Intimidation");
- internal static SkillDefinition Medecine { get; } = GetDefinition("Medecine");
- internal static SkillDefinition Nature { get; } = GetDefinition("Nature");
- internal static SkillDefinition Religion { get; } = GetDefinition("Religion");
- internal static SkillDefinition SleightOfHand { get; } = GetDefinition("SleightOfHand");
- internal static SkillDefinition Stealth { get; } = GetDefinition("Stealth");
- }
-
internal static class SlotTypeDefinitions
{
internal static SlotTypeDefinition ContainerSlot { get; } = GetDefinition("ContainerSlot");
diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/EnumExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/EnumExtensions.cs
index 05f6d33df0..301a1c78d1 100644
--- a/SolastaUnfinishedBusiness/Api/GameExtensions/EnumExtensions.cs
+++ b/SolastaUnfinishedBusiness/Api/GameExtensions/EnumExtensions.cs
@@ -175,6 +175,7 @@ internal enum ExtraSituationalContext
HasGreatswordInHands = 9001,
HasLongswordInHands = 9002,
HasMeleeWeaponInMainHandWithFreeOffhand = 9003,
+ HasFreeHandWithHeavyOrVersatileInMain = 9004,
HasSimpleOrMartialWeaponInHands = 9005,
IsNotInBrightLight = 9007,
IsRagingAndDualWielding = 9008,
diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs
index 32f7cc3894..460de4b399 100644
--- a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs
+++ b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs
@@ -58,7 +58,7 @@ public static bool CanPerceiveTarget(
(__instance.Side == target.Side && __instance.PerceivedAllies.Contains(target)) ||
(__instance.Side != target.Side && __instance.PerceivedFoes.Contains(target));
- if (!Main.Settings.UseOfficialLightingObscurementAndVisionRules || !vanillaCanPerceive)
+ if (!Main.Settings.UseOfficialLightingObscurementAndVisionRules) // || !vanillaCanPerceive)
{
return vanillaCanPerceive;
}
@@ -392,49 +392,86 @@ internal static bool CanCastAnyInvocationOfActionId(
return false;
}
- internal static void BurnOneMainAttack(this GameLocationCharacter instance)
+ private static void HandleMonkMartialArts(this GameLocationCharacter instance)
{
- if (Gui.Battle == null)
+ var rulesetCharacter = instance.RulesetCharacter;
+
+ if (Main.Settings.EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack ||
+ rulesetCharacter.GetClassLevel(CharacterClassDefinitions.Monk) == 0)
{
return;
}
- var rulesetCharacter = instance.RulesetCharacter;
+ var implementationManager =
+ ServiceRepository.GetService() as RulesetImplementationManager;
- if (!Main.Settings.EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack &&
- rulesetCharacter.GetClassLevel(CharacterClassDefinitions.Monk) > 0)
+ var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkMartialArts, rulesetCharacter);
+ var actionParams = new CharacterActionParams(instance, Id.SpendPower)
{
- var implementationManager =
- ServiceRepository.GetService() as RulesetImplementationManager;
+ RulesetEffect = implementationManager
+ .MyInstantiateEffectPower(rulesetCharacter, usablePower, false),
+ UsablePower = usablePower
+ };
- var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkMartialArts, rulesetCharacter);
- var actionParams = new CharacterActionParams(instance, Id.SpendPower)
- {
- RulesetEffect = implementationManager
- .MyInstantiateEffectPower(rulesetCharacter, usablePower, false),
- UsablePower = usablePower
- };
+ ServiceRepository.GetService()?.ExecuteAction(actionParams, null, true);
+ }
- ServiceRepository.GetService()?
- .ExecuteAction(actionParams, null, true);
+ internal static void BurnOneMainAttack(this GameLocationCharacter instance)
+ {
+ if (Gui.Battle == null)
+ {
+ return;
}
+ instance.HandleMonkMartialArts();
+
+ var rulesetCharacter = instance.RulesetCharacter;
+
// burn one main attack
instance.HasAttackedSinceLastTurn = true;
instance.UsedMainAttacks++;
rulesetCharacter.ExecutedAttacks++;
rulesetCharacter.RefreshAttackModes();
- var maxAttacksNumber = rulesetCharacter.AttackModes
- .Where(x => x.ActionType == ActionType.Main)
- .Max(x => x.AttacksNumber);
+ var maxAttacks = rulesetCharacter.AttackModes
+ .FirstOrDefault(attackMode => attackMode.ActionType == ActionType.Main)?.AttacksNumber ?? 0;
- if (maxAttacksNumber - instance.UsedMainAttacks > 0)
+ // if still attacks left - refund main action
+ if (instance.UsedMainAttacks < maxAttacks)
{
+ instance.currentActionRankByType[ActionType.Main]--;
+
return;
}
instance.CurrentActionRankByType[ActionType.Main]++;
instance.UsedMainAttacks = 0;
}
+
+ internal static void BurnOneBonusAttack(this GameLocationCharacter instance)
+ {
+ if (Gui.Battle == null)
+ {
+ return;
+ }
+
+ var rulesetCharacter = instance.RulesetCharacter;
+
+ // burn one bonus attack
+ instance.HasAttackedSinceLastTurn = true;
+ instance.UsedBonusAttacks++;
+ rulesetCharacter.ExecutedBonusAttacks++;
+ rulesetCharacter.RefreshAttackModes();
+
+ var maxAttacks = rulesetCharacter.AttackModes
+ .FirstOrDefault(attackMode => attackMode.ActionType == ActionType.Bonus)?.AttacksNumber ?? 0;
+
+ if (instance.UsedMainAttacks < maxAttacks)
+ {
+ return;
+ }
+
+ instance.CurrentActionRankByType[ActionType.Bonus]++;
+ instance.UsedBonusAttacks = 0;
+ }
}
diff --git a/SolastaUnfinishedBusiness/Behaviors/CustomSituationalContext.cs b/SolastaUnfinishedBusiness/Behaviors/CustomSituationalContext.cs
index 1284829a73..d880b636d8 100644
--- a/SolastaUnfinishedBusiness/Behaviors/CustomSituationalContext.cs
+++ b/SolastaUnfinishedBusiness/Behaviors/CustomSituationalContext.cs
@@ -48,6 +48,9 @@ internal static bool IsContextValid(
ValidatorsCharacter.HasFreeHandWithoutTwoHandedInMain(contextParams.source) &&
ValidatorsCharacter.HasMeleeWeaponInMainHand(contextParams.source),
+ ExtraSituationalContext.HasFreeHandWithHeavyOrVersatileInMain =>
+ ValidatorsCharacter.HasFreeHandWithHeavyOrVersatileInMain(contextParams.source),
+
ExtraSituationalContext.WearingNoArmorOrLightArmorWithoutShield =>
(ValidatorsCharacter.HasNoArmor(contextParams.source) ||
ValidatorsCharacter.HasLightArmor(contextParams.source)) &&
diff --git a/SolastaUnfinishedBusiness/Behaviors/ReplaceAttackWithCantrip.cs b/SolastaUnfinishedBusiness/Behaviors/ReplaceAttackWithCantrip.cs
index 640f1ded13..8f83548e8e 100644
--- a/SolastaUnfinishedBusiness/Behaviors/ReplaceAttackWithCantrip.cs
+++ b/SolastaUnfinishedBusiness/Behaviors/ReplaceAttackWithCantrip.cs
@@ -1,5 +1,4 @@
-using System.Linq;
-using SolastaUnfinishedBusiness.Api.GameExtensions;
+using SolastaUnfinishedBusiness.Api.GameExtensions;
using static ActionDefinitions;
namespace SolastaUnfinishedBusiness.Behaviors;
@@ -14,35 +13,17 @@ internal static void AllowCastDuringMainAttack(
ActionScope scope,
ref ActionStatus result)
{
- if (scope != ActionScope.Battle)
+ if (scope != ActionScope.Battle ||
+ actionId != Id.CastMain ||
+ character.UsedMainCantrip ||
+ character.UsedMainAttacks == 0 ||
+ result != ActionStatus.NoLongerAvailable ||
+ !character.RulesetCharacter.HasSubFeatureOfType())
{
return;
}
- if (actionId != Id.CastMain)
- {
- return;
- }
-
- if (!character.RulesetCharacter.HasSubFeatureOfType())
- {
- return;
- }
-
- if (character.usedMainAttacks == 0)
- {
- return;
- }
-
- if (character.usedMainCantrip)
- {
- return;
- }
-
- if (result == ActionStatus.NoLongerAvailable)
- {
- result = ActionStatus.Available;
- }
+ result = ActionStatus.Available;
}
internal static void AllowAttacksAfterCantrip(
@@ -50,59 +31,16 @@ internal static void AllowAttacksAfterCantrip(
CharacterActionParams actionParams,
ActionScope scope)
{
- if (scope != ActionScope.Battle)
- {
- return;
- }
-
- var rulesetCharacter = character.RulesetCharacter;
-
- if (!rulesetCharacter.HasSubFeatureOfType())
- {
- return;
- }
-
- if (actionParams.actionDefinition.Id != Id.CastMain)
- {
- return;
- }
-
- if (actionParams.activeEffect is not RulesetEffectSpell spellEffect ||
- spellEffect.spellDefinition.spellLevel > 0)
- {
- return;
- }
-
- const ActionType ACTION_TYPE = ActionType.Main;
- var rank = --character.currentActionRankByType[ACTION_TYPE];
-
- //If character can't attack on this action - do not refund it
- if (character.GetActionStatus(Id.AttackMain, ActionScope.Battle) != ActionStatus.Available)
- {
- character.currentActionRankByType[ACTION_TYPE]++;
- return;
- }
-
- var maxAllowedAttacks = character.actionPerformancesByType[ACTION_TYPE][rank].MaxAttacksNumber;
- var maxAttacksNumber = rulesetCharacter.AttackModes
- .Where(attackMode => attackMode.ActionType == ActionType.Main)
- .Max(attackMode => attackMode.AttacksNumber);
-
- if (maxAllowedAttacks < 0 || maxAllowedAttacks >= maxAttacksNumber)
- {
- maxAllowedAttacks = maxAttacksNumber;
- }
-
- character.UsedMainAttacks++;
- rulesetCharacter.ExecutedAttacks++;
- rulesetCharacter.RefreshAttackModes();
-
- if (character.UsedMainAttacks < maxAllowedAttacks)
+ if (scope != ActionScope.Battle ||
+ actionParams.actionDefinition.Id != Id.CastMain ||
+ actionParams.activeEffect is not RulesetEffectSpell spellEffect ||
+ spellEffect.spellDefinition.spellLevel > 0 ||
+ !character.RulesetCharacter.HasSubFeatureOfType())
{
return;
}
- character.currentActionRankByType[ACTION_TYPE]++;
- character.UsedMainAttacks = 0;
+ character.UsedMainCantrip = true;
+ character.BurnOneMainAttack();
}
}
diff --git a/SolastaUnfinishedBusiness/Behaviors/Specific/ActionSwitching.cs b/SolastaUnfinishedBusiness/Behaviors/Specific/ActionSwitching.cs
index c3fbbbab40..37f1781d53 100644
--- a/SolastaUnfinishedBusiness/Behaviors/Specific/ActionSwitching.cs
+++ b/SolastaUnfinishedBusiness/Behaviors/Specific/ActionSwitching.cs
@@ -9,6 +9,7 @@
using SolastaUnfinishedBusiness.CustomUI;
using SolastaUnfinishedBusiness.Interfaces;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.MetamagicOptionDefinitions;
namespace SolastaUnfinishedBusiness.Behaviors.Specific;
@@ -247,7 +248,8 @@ internal static void DoPrioritizeAction(GameLocationCharacter character, ActionD
character.RulesetCharacter?.RefreshAttackModes();
}
- internal static void CheckIfActionSwitched(GameLocationCharacter character,
+ internal static void CheckIfActionSwitched(
+ GameLocationCharacter character,
CharacterActionParams actionParams,
ActionDefinitions.ActionScope scope,
int mainRank, int mainAttacks, int bonusRank, int bonusAttacks)
@@ -257,16 +259,38 @@ internal static void CheckIfActionSwitched(GameLocationCharacter character,
return;
}
- if (scope != ActionDefinitions.ActionScope.Battle)
+ if (character.Side != RuleDefinitions.Side.Ally)
{
return;
}
- if (character.Side != RuleDefinitions.Side.Ally)
+ if (scope != ActionDefinitions.ActionScope.Battle)
{
return;
}
+ //supports for action switching interaction with war magic and MetamagicQuickenedSpell
+ if (actionParams.activeEffect is RulesetEffectSpell rulesetEffectSpell)
+ {
+ if (rulesetEffectSpell.MetamagicOption == MetamagicQuickenedSpell)
+ {
+ // ensure we block double dip on bonus spells if metamagic is present
+ character.UsedBonusSpell = true;
+ character.UsedMainSpell = true;
+ }
+
+ // ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
+ switch (actionParams.ActionDefinition.ActionType)
+ {
+ case ActionDefinitions.ActionType.Main when rulesetEffectSpell.SpellDefinition.SpellLevel > 0:
+ character.UsedBonusSpell = true;
+ break;
+ case ActionDefinitions.ActionType.Bonus:
+ character.UsedMainSpell = true;
+ break;
+ }
+ }
+
var type = actionParams.ActionDefinition.ActionType;
var switched = type switch
diff --git a/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs b/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs
new file mode 100644
index 0000000000..6c0043bc69
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs
@@ -0,0 +1,159 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using JetBrains.Annotations;
+using static RuleDefinitions;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.MetamagicOptionDefinitions;
+
+namespace SolastaUnfinishedBusiness.Behaviors.Specific;
+
+internal sealed class AttackAfterMagicEffect
+{
+ internal const string AttackCantrip = "AttackCantrip";
+
+ private const RollOutcome MinOutcomeToAttack = RollOutcome.Success;
+ private const RollOutcome MinSaveOutcomeToAttack = RollOutcome.Failure;
+
+ internal static readonly AttackAfterMagicEffect Marker = new();
+
+ internal static void MaybeMarkUsedMainCantrip(GameLocationCharacter character, CharacterActionParams actionParams)
+ {
+ if (actionParams.AttackMode != null &&
+ actionParams.AttackMode.AttackTags.Contains(AttackCantrip))
+ {
+ character.UsedMainCantrip = true;
+ }
+ }
+
+ internal static bool CanAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
+ {
+ var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+
+ if (attackMode == null)
+ {
+ return false;
+ }
+
+ var battleService = ServiceRepository.GetService();
+ var attackModifier = new ActionModifier();
+ var evalParams = new BattleDefinitions.AttackEvaluationParams();
+
+ evalParams.FillForPhysicalReachAttack(
+ caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier);
+
+ return battleService.CanAttack(evalParams);
+ }
+
+ internal static List PerformAttackAfterUse(CharacterActionMagicEffect actionMagicEffect)
+ {
+ var attacks = new List();
+ var actionParams = actionMagicEffect?.ActionParams;
+
+ if (actionParams == null)
+ {
+ return attacks;
+ }
+
+ //Spell got countered or it failed
+ if (actionMagicEffect.Countered ||
+ actionMagicEffect.ExecutionFailed)
+ {
+ return attacks;
+ }
+
+ //Attack outcome is worse that required
+ if (actionMagicEffect.AttackRollOutcome > MinOutcomeToAttack)
+ {
+ return attacks;
+ }
+
+ //Target rolled saving throw and got better result
+ if (actionMagicEffect.RolledSaveThrow && actionMagicEffect.SaveOutcome < MinSaveOutcomeToAttack)
+ {
+ return attacks;
+ }
+
+ var caster = actionParams.ActingCharacter;
+ var targets = actionParams.TargetCharacters
+ .Where(t => CanAttack(caster, t))
+ .ToList();
+
+ if (targets.Count == 0)
+ {
+ return attacks;
+ }
+
+ var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+
+ if (attackMode == null)
+ {
+ return attacks;
+ }
+
+ //get copy to be sure we don't break existing mode
+ var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
+
+ rulesetAttackModeCopy.Copy(attackMode);
+ attackMode = rulesetAttackModeCopy;
+
+ //set action type to be same as the one used for the magic effect
+ attackMode.ActionType = actionMagicEffect.ActionType;
+
+ //mark this attack for proper integration with War Magic
+ attackMode.AttackTags.TryAdd(AttackCantrip);
+
+ var twinned =
+ actionMagicEffect is CharacterActionCastSpell castSpell &&
+ castSpell.ActiveSpell.MetamagicOption == MetamagicTwinnedSpell;
+ var maxAttacks = 1 + (twinned ? 1 : 0);
+
+ // this is required to support reaction scenarios where AttackMain won't work
+ var actionId = attackMode.ActionType == ActionDefinitions.ActionType.Main
+ ? ActionDefinitions.Id.AttackMain
+ : ActionDefinitions.Id.AttackFree;
+
+ foreach (var target in targets)
+ {
+ var attackActionParams =
+ new CharacterActionParams(caster, actionId) { AttackMode = attackMode };
+
+ attackActionParams.TargetCharacters.Add(target);
+ attackActionParams.ActionModifiers.Add(new ActionModifier());
+ attacks.Add(attackActionParams);
+
+ if (attackActionParams.TargetCharacters.Count >= maxAttacks)
+ {
+ break;
+ }
+ }
+
+ return attacks;
+ }
+
+ internal static bool CanBeUsedToAttack(
+ [NotNull] CursorLocationSelectTarget targeting,
+ GameLocationCharacter caster,
+ GameLocationCharacter target,
+ [NotNull] out string failure)
+ {
+ failure = String.Empty;
+
+ var maxTargets = targeting.maxTargets;
+ var remainingTargets = targeting.remainingTargets;
+ var selectedTargets = maxTargets - remainingTargets;
+
+ if (selectedTargets > 0)
+ {
+ return true;
+ }
+
+ var canAttack = CanAttack(caster, target);
+
+ if (!canAttack)
+ {
+ failure = "Failure/&FailureFlagTargetMeleeWeaponError";
+ }
+
+ return canAttack;
+ }
+}
diff --git a/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionAttackModifierBuilder.cs b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionAttackModifierBuilder.cs
index d52eb4ecc9..b234ea33db 100644
--- a/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionAttackModifierBuilder.cs
+++ b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionAttackModifierBuilder.cs
@@ -31,6 +31,12 @@ internal FeatureDefinitionAttackModifierBuilder SetDamageRollModifier(
return this;
}
+ internal FeatureDefinitionAttackModifierBuilder SetUnarmedStrike(int additionalBonusUnarmedStrikeAttacksCount)
+ {
+ Definition.additionalBonusUnarmedStrikeAttacksCount = additionalBonusUnarmedStrikeAttacksCount;
+ return this;
+ }
+
internal FeatureDefinitionAttackModifierBuilder SetMagicalWeapon()
{
Definition.magicalWeapon = true;
diff --git a/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionMoveThroughEnemyBuilder.cs b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionMoveThroughEnemyBuilder.cs
new file mode 100644
index 0000000000..64113289a7
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionMoveThroughEnemyBuilder.cs
@@ -0,0 +1,28 @@
+using System;
+using JetBrains.Annotations;
+
+namespace SolastaUnfinishedBusiness.Builders.Features;
+
+[UsedImplicitly]
+internal class FeatureDefinitionMoveThroughEnemyModifierBuilder : FeatureDefinitionBuilder<
+ FeatureDefinitionMoveThroughEnemyModifier,
+ FeatureDefinitionMoveThroughEnemyModifierBuilder>
+
+{
+ internal FeatureDefinitionMoveThroughEnemyModifierBuilder(string name, Guid namespaceGuid) : base(name,
+ namespaceGuid)
+ {
+ }
+
+ internal FeatureDefinitionMoveThroughEnemyModifierBuilder(FeatureDefinitionMoveThroughEnemyModifier original,
+ string name,
+ Guid namespaceGuid) : base(original, name, namespaceGuid)
+ {
+ }
+
+ internal FeatureDefinitionMoveThroughEnemyModifierBuilder SetMinSizeDifference(int minSizeDifference)
+ {
+ Definition.minSizeDifference = minSizeDifference;
+ return this;
+ }
+}
diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt
index c0211ecf60..6e576e229e 100644
--- a/SolastaUnfinishedBusiness/ChangelogHistory.txt
+++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt
@@ -1,3 +1,24 @@
+1.5.97.12:
+
+- added Gameplay > Character > 'Enable Monk Heightened Metabolism at level 10' setting
+- added Gameplay > Character > 'Enable Monk Superior Defense to replace Empty Body at level 18' setting
+- added Gameplay > Character > 'Enable Monk Body and Mind to replace Perfect Self at level 20' setting
+- added Gameplay > Rules > 'Enable OneDnd healing dice buff' setting
+- added Borrowed Knowledge, Kinetic Jaunt, Intellect Fortress, and Psionic Blast spells
+- added Great Weapon Defense and Whirlwind Attack feats
+- added Infestation, Lightning Lure, Primal Savagery, and Starry Wisp cantrips
+- added Patron Archfey and Way of Storm Soul [Tempest rework] subclasses
+- fixed Booming Blade interaction with War Caster feat to immediately attack and allow sheathed explosion
+- fixed Innovation Vivisectionist medical accuracy to work with any weapon, and organ donation to be once per short
+- fixed Patron Riftwalker rift strike to banish enemy instead of self
+- fixed Way of Freedom displaying additional flurry of blow actions on levels 3 and 11 [VANILLA]
+
+KNOWN ISSUES:
+
+- Artillerist Force Ballista tiny cannon doesn't force attack DIS within 5 ft [won't fix]
+- Artillerist Fortified Position medium cannon doesn't grant buff to self [won't fix]
+- Chaos Bolt damage will be of wrong type under multiplayer sessions if twinned and one bolt misses [won't fix]
+
1.5.97.11:
- fixed Chain Lighting to not consider allies on bounce damage
@@ -16,12 +37,6 @@
- fixed Thunderstep spell to only allow target allies within 5ft
- fixed Wizard War Magic durable magic feature to add +2 on concentration checks
-KNOWN ISSUES:
-
-- Artillerist Force Ballista tiny cannon doesn't force attack DIS within 5 ft [won't fix]
-- Artillerist Fortified Position medium cannon doesn't grant buff to self [won't fix]
-- Chaos Bolt damage will be of wrong type under multiplayer sessions if twinned and one bolt misses [won't fix]
-
1.5.97.10 - Os cães ladram e a caravana passa:
- added +X to hit and damage on Shield Bash feat on any wielded magical shield that adds +X to armor class
diff --git a/SolastaUnfinishedBusiness/Displays/CharacterDisplay.cs b/SolastaUnfinishedBusiness/Displays/CharacterDisplay.cs
index bd4b904a42..bc1d95ed9c 100644
--- a/SolastaUnfinishedBusiness/Displays/CharacterDisplay.cs
+++ b/SolastaUnfinishedBusiness/Displays/CharacterDisplay.cs
@@ -314,6 +314,30 @@ internal static void DisplayCharacter()
CharacterContext.SwitchMonkImprovedUnarmoredMovementToMoveOnTheWall();
}
+ toggle = Main.Settings.EnableMonkHeightenedMetabolism;
+ if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkHeightenedMetabolism"), ref toggle,
+ UI.AutoWidth()))
+ {
+ Main.Settings.EnableMonkHeightenedMetabolism = toggle;
+ CharacterContext.SwitchMonkHeightenedMetabolism();
+ }
+
+ toggle = Main.Settings.EnableMonkSuperiorDefenseToReplaceEmptyBody;
+ if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody"), ref toggle,
+ UI.AutoWidth()))
+ {
+ Main.Settings.EnableMonkSuperiorDefenseToReplaceEmptyBody = toggle;
+ CharacterContext.SwitchMonkSuperiorDefenseToReplaceEmptyBody();
+ }
+
+ toggle = Main.Settings.EnableMonkBodyAndMindToReplacePerfectSelf;
+ if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf"), ref toggle,
+ UI.AutoWidth()))
+ {
+ Main.Settings.EnableMonkBodyAndMindToReplacePerfectSelf = toggle;
+ CharacterContext.SwitchMonkBodyAndMindToReplacePerfectSelf();
+ }
+
toggle = Main.Settings.EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack;
if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack"), ref toggle,
UI.AutoWidth()))
diff --git a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs
index 6f5d40c34c..ff4b665401 100644
--- a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs
+++ b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs
@@ -28,12 +28,12 @@ internal static class CreditsDisplay
"Martial Arcane Archer, Martial Banneret, Martial Guardian, Martial Psi Warrior, Martial Warlord, Martial Weapon Master, " +
"Oath of Altruism, Oath of Dread, Oath of Thunder, " +
"Path of the Elements, Path of the Ravager, Path of the Reaver, Path of the Savagery, Path of the Yeoman, " +
- "Patron Celestial, Patron Moonlit, Patron Mountain, Patron Riftwalker, " +
+ "Patron Archfey, Patron Celestial, Patron Moonlit, Patron Mountain, Patron Riftwalker, " +
"Ranger Fey Wanderer, Ranger Gloom Stalker, Ranger Hellwalker, Ranger Lightbearer, Ranger Sky Warrior, Ranger Survivalist, Ranger Wildmaster, " +
"Roguish Acrobat, Roguish Arcane Scoundrel, Roguish Blade Caller, Roguish Duelist, Roguish Raven, Roguish Slayer, Roguish Umbral Stalker, " +
"Sorcerous Field Manipulator, Sorcerous Forceblade, Sorcerous Scion, Sorcerous Sorr-Akkath, Sorcerous Spellblade, " +
- "Way of Discordance, Way of Shadow, Way of Tempest, Way of Weal and Woe, Way of Zen Archery, " +
- "Wizard Bladesinger, Wizard Deadmaster, " +
+ "Way of Discordance, Way of Shadow, Way of Storm Soul, Way of Weal and Woe, Way of Zen Archery, " +
+ "Wizard Bladesinger, Wizard Deadmaster, Wizard War Magic, " +
"Lighting and Obscurement, Level 20, Multiclass"),
("HiddenHax",
@@ -46,7 +46,7 @@ internal static class CreditsDisplay
"Patron Moonlit, " +
"Roguish Arcane Scoundrel, Roguish Blade Caller, Roguish Duelist, Roguish Raven, Roguish Slayer, Roguish Umbral Stalker, " +
"Sorcerous Field Manipulator, Sorcerous Forceblade, Sorcerous Psion, Sorcerous Sorr-Akkath, Sorcerous Spellblade, " +
- "Way of Discordance, Way of Shadow, Way of Tempest, Way of Dragon, Way of Tempest, Way of Zen Archery]"),
+ "Way of Discordance, Way of Dragon, Way of Shadow, Way of Storm Soul, Way of Zen Archery]"),
("TPABOBAP",
"behaviors, game UI, infrastructure, gameplay, quality of life, rules, " +
diff --git a/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs b/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs
index a9332f5d7a..46f00893bf 100644
--- a/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs
+++ b/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs
@@ -106,7 +106,6 @@ internal static void DisplayRules()
UI.AutoWidth()))
{
Main.Settings.OfficialObscurementRulesInvisibleCreaturesCanBeTarget = toggle;
- LightingAndObscurementContext.SwitchInvisibleCreaturesCanBeTarget();
}
toggle = Main.Settings.OfficialObscurementRulesCancelAdvDisPairs;
@@ -210,6 +209,14 @@ internal static void DisplayRules()
UI.Label();
+ toggle = Main.Settings.AllowTargetingSelectionWhenCastingChainLightningSpell;
+ if (UI.Toggle(Gui.Localize("ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell"), ref toggle,
+ UI.AutoWidth()))
+ {
+ Main.Settings.AllowTargetingSelectionWhenCastingChainLightningSpell = toggle;
+ SrdAndHouseRulesContext.SwitchAllowTargetingSelectionWhenCastingChainLightningSpell();
+ }
+
toggle = Main.Settings.RemoveHumanoidFilterOnHideousLaughter;
if (UI.Toggle(Gui.Localize("ModUi/&RemoveHumanoidFilterOnHideousLaughter"), ref toggle, UI.AutoWidth()))
{
@@ -281,6 +288,13 @@ internal static void DisplayRules()
UI.Label();
+ toggle = Main.Settings.EnableOneDndHealingSpellsBuf;
+ if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndHealingSpellsBuf"), ref toggle, UI.AutoWidth()))
+ {
+ Main.Settings.EnableOneDndHealingSpellsBuf = toggle;
+ SrdAndHouseRulesContext.SwitchOneDndHealingSpellsBuf();
+ }
+
toggle = Main.Settings.FixRingOfRegenerationHealRate;
if (UI.Toggle(Gui.Localize("ModUi/&FixRingOfRegenerationHealRate"), ref toggle, UI.AutoWidth()))
{
diff --git a/SolastaUnfinishedBusiness/Displays/_ModUi.cs b/SolastaUnfinishedBusiness/Displays/_ModUi.cs
index c16da58702..67b34d1414 100644
--- a/SolastaUnfinishedBusiness/Displays/_ModUi.cs
+++ b/SolastaUnfinishedBusiness/Displays/_ModUi.cs
@@ -45,6 +45,7 @@ internal static class ModUi
"BlindingSmite",
"BoomingBlade",
"BoomingStep",
+ "BorrowedKnowledge",
"BurstOfRadiance",
"ChromaticOrb",
"CircleOfMagicalNegation",
@@ -150,9 +151,11 @@ internal static class ModUi
"HungerOfTheVoid",
"IceBlade",
"Incineration",
+ "Infestation",
"InnovationArmor",
"InnovationArtillerist",
"InnovationWeapon",
+ "IntellectFortress",
"Interception",
"InvocationAbilitiesOfTheChainMaster",
"InvocationAspectOfTheMoon",
@@ -176,7 +179,9 @@ internal static class ModUi
"InvocationUltimatePactWeapon",
"InvocationUndyingServitude",
"InvocationVexingHex",
+ "KineticJaunt",
"LightningArrow",
+ "LightningLure",
"MaddeningDarkness",
"MagnifyGravity",
"MartialArcaneArcher",
@@ -195,10 +200,13 @@ internal static class ModUi
"OathOfAncients",
"PathOfTheRavager",
"PathOfTheSpirits",
+ "PatronArchfey",
"PatronCelestial",
"PatronSoulBlade",
"PowerWordHeal",
"PowerWordKill",
+ "PrimalSavagery",
+ "PsionicBlast",
"PsychicLance",
"PsychicWhip",
"PulseWave",
@@ -238,6 +246,7 @@ internal static class ModUi
"SpikeBarrage",
"SpiritShroud",
"StaggeringSmite",
+ "StarryWisp",
"SteelWhirlwind",
"StrikeWithTheWind",
"SwordStorm",
diff --git a/SolastaUnfinishedBusiness/Feats/CasterFeats.cs b/SolastaUnfinishedBusiness/Feats/CasterFeats.cs
index eb0efa05d8..c7f4d58e10 100644
--- a/SolastaUnfinishedBusiness/Feats/CasterFeats.cs
+++ b/SolastaUnfinishedBusiness/Feats/CasterFeats.cs
@@ -152,6 +152,7 @@ internal static void CreateFeats([NotNull] List feats)
.AddFeatures(MakeSpellFeatureAndInvocations(spells, tag, AttributeDefinitions.Intelligence))
.SetGuiPresentation(Category.Feat)
.SetFeatFamily(TOUCHED_MAGIC)
+ .SetMustCastSpellsPrerequisite()
.AddToDB(),
FeatDefinitionBuilder
.Create($"Feat{tag}Wis")
@@ -159,6 +160,7 @@ internal static void CreateFeats([NotNull] List feats)
.AddFeatures(MakeSpellFeatureAndInvocations(spells, tag, AttributeDefinitions.Wisdom))
.SetGuiPresentation(Category.Feat)
.SetFeatFamily(TOUCHED_MAGIC)
+ .SetMustCastSpellsPrerequisite()
.AddToDB(),
FeatDefinitionBuilder
.Create($"Feat{tag}Cha")
@@ -166,6 +168,7 @@ internal static void CreateFeats([NotNull] List feats)
.AddFeatures(MakeSpellFeatureAndInvocations(spells, tag, AttributeDefinitions.Charisma))
.SetGuiPresentation(Category.Feat)
.SetFeatFamily(TOUCHED_MAGIC)
+ .SetMustCastSpellsPrerequisite()
.AddToDB());
featGroups.Add(GroupFeats.MakeGroup($"FeatGroup{tag}", TOUCHED_MAGIC, groupFeats));
diff --git a/SolastaUnfinishedBusiness/Feats/GroupFeats.cs b/SolastaUnfinishedBusiness/Feats/GroupFeats.cs
index a1c9988ea1..e518ba8fb5 100644
--- a/SolastaUnfinishedBusiness/Feats/GroupFeats.cs
+++ b/SolastaUnfinishedBusiness/Feats/GroupFeats.cs
@@ -16,6 +16,7 @@ internal static class GroupFeats
internal const string Crusher = "Crusher";
internal const string OldTactics = "OldTactics";
internal const string FightingStyle = "FightingStyle";
+ internal const string WhirlwindAttack = "WhirlwindAttack";
internal static List Groups { get; } = [];
internal static FeatDefinition FeatGroupBodyResilience { get; } = MakeGroup("FeatGroupBodyResilience", null,
diff --git a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs
index f84a4a5f96..ea3f485f74 100644
--- a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs
+++ b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs
@@ -47,6 +47,7 @@ internal static void CreateFeats([NotNull] List feats)
var featDefensiveDuelist = BuildDefensiveDuelist();
var featDevastatingStrikes = BuildDevastatingStrikes();
var featFellHanded = BuildFellHanded();
+ var featGreatWeaponDefense = BuildGreatWeaponDefense();
var featLongSwordFinesse = BuildLongswordFinesse();
var featOldTacticsDex = BuildOldTacticsDex();
var featOldTacticsStr = BuildOldTacticsStr();
@@ -58,6 +59,8 @@ internal static void CreateFeats([NotNull] List feats)
var featSlasherStr = BuildSlasherStr();
var featSlasherDex = BuildSlasherDex();
var featSpearMastery = BuildSpearMastery();
+ var featWhirlwindAttackDex = BuildWhirlWindAttackDex();
+ var featWhirlwindAttackStr = BuildWhirlWindAttackStr();
feats.AddRange(
FeatFencer,
@@ -70,6 +73,7 @@ internal static void CreateFeats([NotNull] List feats)
featDefensiveDuelist,
featDevastatingStrikes,
featFellHanded,
+ featGreatWeaponDefense,
featLongSwordFinesse,
featOldTacticsDex,
featOldTacticsStr,
@@ -80,7 +84,9 @@ internal static void CreateFeats([NotNull] List feats)
featSavageAttack,
featSlasherDex,
featSlasherStr,
- featSpearMastery);
+ featSpearMastery,
+ featWhirlwindAttackDex,
+ featWhirlwindAttackStr);
var featGroupOldTactics = GroupFeats.MakeGroup("FeatGroupOldTactics", GroupFeats.OldTactics,
featOldTacticsDex,
@@ -90,6 +96,12 @@ internal static void CreateFeats([NotNull] List feats)
featSlasherDex,
featSlasherStr);
+ var featGroupWhirlwindAttack = GroupFeats.MakeGroupWithPreRequisite("FeatGroupWhirlWindAttack",
+ GroupFeats.WhirlwindAttack,
+ ValidatorsFeat.ValidateHasExtraAttack,
+ featWhirlwindAttackDex,
+ featWhirlwindAttackStr);
+
GroupFeats.FeatGroupCrusher.AddFeats(
featCrusherStr,
featCrusherCon);
@@ -100,7 +112,8 @@ internal static void CreateFeats([NotNull] List feats)
GroupFeats.FeatGroupDefenseCombat.AddFeats(
featAlwaysReady,
- featDefensiveDuelist);
+ featDefensiveDuelist,
+ featGreatWeaponDefense);
GroupFeats.FeatGroupMeleeCombat.AddFeats(
FeatFencer,
@@ -117,7 +130,11 @@ internal static void CreateFeats([NotNull] List feats)
featSavageAttack,
featSpearMastery,
featGroupOldTactics,
- featGroupSlasher);
+ featGroupSlasher,
+ featGroupWhirlwindAttack);
+
+ GroupFeats.FeatGroupSupportCombat.AddFeats(
+ featGreatWeaponDefense);
}
#region Reckless Attack
@@ -344,6 +361,162 @@ private static FeatDefinition BuildFencer()
#endregion
+ #region Great Weapon Defense
+
+ private static FeatDefinitionWithPrerequisites BuildGreatWeaponDefense()
+ {
+ const string NAME = "FeatGreatWeaponDefense";
+
+ var combatAffinity = FeatureDefinitionCombatAffinityBuilder
+ .Create($"CombatAffinity{NAME}")
+ .SetGuiPresentation(NAME, Category.Feat, Gui.NoLocalization)
+ .SetMyAttackAdvantage(AdvantageType.Disadvantage)
+ .SetSituationalContext(SituationalContext.TargetIsEffectSource)
+ .AddToDB();
+
+ var condition = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionCursed)
+ .SetPossessive()
+ .SetConditionType(ConditionType.Detrimental)
+ .SetFeatures(combatAffinity)
+ .AddToDB();
+
+ condition.AddCustomSubFeatures(new ActionFinishedByMeGreatWeaponDefense(condition));
+
+ var conditionSelf = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}Self")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .AddToDB();
+
+ var power = FeatureDefinitionPowerBuilder
+ .Create("PowerGreatWeaponDefense")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerGreatWeaponDefense", Resources.PowerGreatWeaponDefense, 256, 128))
+ .SetUsesFixed(ActivationTime.NoCost)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1, (TurnOccurenceType)ExtraTurnOccurenceType.StartOfSourceTurn)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.IndividualsUnique)
+ .SetEffectForms(
+ EffectFormBuilder.ConditionForm(condition),
+ EffectFormBuilder.ConditionForm(conditionSelf, ConditionForm.ConditionOperation.Add, true))
+ .SetCasterEffectParameters(FeatureDefinitionPowers.PowerFunctionWandFearCommand)
+ .SetImpactEffectParameters(FeatureDefinitionPowers.PowerBerserkerIntimidatingPresence)
+ .Build())
+ .AddCustomSubFeatures(
+ ValidatorsValidatePowerUse.HasMainAttackAvailable,
+ new ValidatorsValidatePowerUse(ValidatorsCharacter.HasFreeHandWithHeavyOrVersatileInMain))
+ .AddToDB();
+
+ conditionSelf.AddCustomSubFeatures(new ActionFinishedByMeGreatWeaponDefenseSelf(power, condition));
+
+ var attributeModifierArmorClass = FeatureDefinitionAttributeModifierBuilder
+ .Create($"AttributeModifier{NAME}")
+ .SetGuiPresentation(NAME, Category.Feat)
+ .SetModifier(AttributeModifierOperation.Additive, AttributeDefinitions.ArmorClass, 1)
+ .SetSituationalContext(ExtraSituationalContext.HasFreeHandWithHeavyOrVersatileInMain)
+ .AddToDB();
+
+ return FeatDefinitionWithPrerequisitesBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Feat)
+ .SetFeatures(attributeModifierArmorClass, power)
+ .SetValidators(ValidatorsFeat.ValidateHasExtraAttack)
+ .AddToDB();
+ }
+
+ private sealed class ActionFinishedByMeGreatWeaponDefense(ConditionDefinition condition) : IActionFinishedByMe
+ {
+ public IEnumerator OnActionFinishedByMe(CharacterAction action)
+ {
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
+
+ var actingCharacter = action.ActingCharacter;
+ var rulesetCharacter = actingCharacter.RulesetCharacter;
+
+ if (!rulesetCharacter.TryGetConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, condition.Name, out var activeCondition))
+ {
+ yield break;
+ }
+
+ var rulesetAttacker = EffectHelpers.GetCharacterByGuid(activeCondition.SourceGuid);
+ var attacker = GameLocationCharacter.GetFromActor(rulesetAttacker);
+
+ if (attacker != null &&
+ DistanceCalculation.GetDistanceFromCharacters(attacker, actingCharacter) > 1)
+ {
+ rulesetCharacter.RemoveCondition(activeCondition);
+ }
+ }
+ }
+
+ private sealed class ActionFinishedByMeGreatWeaponDefenseSelf(
+ FeatureDefinitionPower power,
+ ConditionDefinition condition) : IActionFinishedByMe, IOnItemEquipped
+ {
+ public IEnumerator OnActionFinishedByMe(CharacterAction action)
+ {
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
+
+ var actingCharacter = action.ActingCharacter;
+
+ if (action is CharacterActionUsePower actionUsePower &&
+ actionUsePower.activePower.PowerDefinition == power)
+ {
+ actingCharacter.BurnOneMainAttack();
+ }
+
+ foreach (var enemy in Gui.Battle.GetContenders(actingCharacter)
+ .Where(x => DistanceCalculation.GetDistanceFromCharacters(actingCharacter, x) > 1))
+ {
+ var rulesetEnemy = enemy.RulesetCharacter;
+
+ if (rulesetEnemy.TryGetConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, condition.Name, out var activeCondition))
+ {
+ rulesetEnemy.RemoveCondition(activeCondition);
+ }
+ }
+ }
+
+ public void OnItemEquipped(RulesetCharacterHero hero)
+ {
+ if (ValidatorsCharacter.HasFreeHandWithHeavyOrVersatileInMain(hero) || Gui.Battle == null)
+ {
+ return;
+ }
+
+ var glc = GameLocationCharacter.GetFromActor(hero);
+
+ if (glc == null)
+ {
+ return;
+ }
+
+ foreach (var rulesetEnemy in Gui.Battle.GetContenders(glc)
+ .Select(enemy => enemy.RulesetCharacter))
+ {
+ if (rulesetEnemy.TryGetConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, condition.Name, out var activeCondition))
+ {
+ rulesetEnemy.RemoveCondition(activeCondition);
+ }
+ }
+ }
+ }
+
+ #endregion
+
#region Charger
private static FeatDefinition BuildCharger()
@@ -763,7 +936,7 @@ private static FeatDefinition BuildOldTacticsStr()
.Create(Name)
.SetGuiPresentation(Category.Feat)
.SetFeatures(AttributeModifierCreed_Of_Einar)
- .AddCustomSubFeatures(new ActionFinishedByEnemyOldTactics())
+ .AddCustomSubFeatures(new ActionFinishedByContenderOldTactics())
.SetFeatFamily(GroupFeats.OldTactics)
.AddToDB();
}
@@ -776,14 +949,14 @@ private static FeatDefinition BuildOldTacticsDex()
.Create(Name)
.SetGuiPresentation(Category.Feat)
.SetFeatures(AttributeModifierCreed_Of_Misaye)
- .AddCustomSubFeatures(new ActionFinishedByEnemyOldTactics())
+ .AddCustomSubFeatures(new ActionFinishedByContenderOldTactics())
.SetFeatFamily(GroupFeats.OldTactics)
.AddToDB();
}
- private sealed class ActionFinishedByEnemyOldTactics : IActionFinishedByEnemy
+ private sealed class ActionFinishedByContenderOldTactics : IActionFinishedByContender
{
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
{
var actionManager =
ServiceRepository.GetService() as GameLocationActionManager;
@@ -1951,4 +2124,113 @@ public IEnumerator OnPhysicalAttackFinishedByMe(
}
#endregion
+
+ #region Whirlwind Attack
+
+ private static readonly FeatureDefinition PowerWhirlWindAttack = FeatureDefinitionPowerBuilder
+ .Create("PowerWhirlWindAttack")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerWhirlWindAttack", Resources.PowerWhirlWindAttack, 256, 128))
+ .SetUsesFixed(ActivationTime.NoCost)
+ .SetShowCasting(false)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cube, 3)
+ .Build())
+ .AddCustomSubFeatures(
+ ValidatorsValidatePowerUse.HasMainAttackAvailable,
+ new ValidatorsValidatePowerUse(
+ ValidatorsCharacter.HasMainHandWeaponType(GreatswordType, MaulType, GreataxeType)),
+ new MagicEffectFinishedByMeWhirlWindAttack())
+ .AddToDB();
+
+ private static FeatDefinitionWithPrerequisites BuildWhirlWindAttackDex()
+ {
+ return FeatDefinitionWithPrerequisitesBuilder
+ .Create("FeatWhirlWindAttackDex")
+ .SetGuiPresentation(Category.Feat)
+ .SetFeatures(AttributeModifierCreed_Of_Misaye, PowerWhirlWindAttack)
+ .SetFeatFamily(GroupFeats.WhirlwindAttack)
+ .SetValidators(ValidatorsFeat.ValidateHasExtraAttack)
+ .AddToDB();
+ }
+
+ private static FeatDefinitionWithPrerequisites BuildWhirlWindAttackStr()
+ {
+ return FeatDefinitionWithPrerequisitesBuilder
+ .Create("FeatWhirlWindAttackStr")
+ .SetGuiPresentation(Category.Feat)
+ .SetFeatures(AttributeModifierCreed_Of_Einar, PowerWhirlWindAttack)
+ .SetFeatFamily(GroupFeats.WhirlwindAttack)
+ .SetValidators(ValidatorsFeat.ValidateHasExtraAttack)
+ .AddToDB();
+ }
+
+ private sealed class MagicEffectFinishedByMeWhirlWindAttack : IMagicEffectFinishedByMe, IValidatePowerUse
+ {
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
+
+ var actingCharacter = action.ActingCharacter;
+ var targets = Gui.Battle.GetContenders(actingCharacter, withinRange: 1);
+
+ if (targets.Count == 0)
+ {
+ yield break;
+ }
+
+ var attackModeMain = actingCharacter.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+
+ if (attackModeMain == null)
+ {
+ yield break;
+ }
+
+ //get copy to be sure we don't break existing mode
+ var attackMode = RulesetAttackMode.AttackModesPool.Get();
+
+ attackMode.Copy(attackModeMain);
+ attackMode.ActionType = ActionDefinitions.ActionType.NoCost;
+
+ //remove additional ability score modifier damage
+ var damageForm = attackMode.EffectDescription.FindFirstDamageForm();
+ var modifier = AttributeDefinitions.ComputeAbilityScoreModifier(
+ actingCharacter.RulesetCharacter.TryGetAttributeValue(attackMode.AbilityScore));
+
+ if (modifier > 0)
+ {
+ damageForm.BonusDamage -= modifier;
+ }
+
+ actingCharacter.BurnOneMainAttack();
+ actingCharacter.UsedSpecialFeatures.TryAdd("PowerWhirlWindAttack", 0);
+
+ // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
+ foreach (var target in targets)
+ {
+ var attackModifier = new ActionModifier();
+ var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.AttackFree)
+ {
+ AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
+ };
+
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
+ }
+
+ public bool CanUsePower(RulesetCharacter character, FeatureDefinitionPower power)
+ {
+ var glc = GameLocationCharacter.GetFromActor(character);
+
+ return glc != null && glc.OncePerTurnIsValid("PowerWhirlWindAttack");
+ }
+ }
+
+ #endregion
}
diff --git a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs
index bc65bf41a9..7026b50997 100644
--- a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs
+++ b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs
@@ -2610,10 +2610,10 @@ private static FeatDefinition BuildPoisonousSkin()
}
private class CustomBehaviorFeatPoisonousSkin(FeatureDefinitionPower powerPoisonousSkin) :
- IPhysicalAttackFinishedByMe, IPhysicalAttackFinishedOnMe, IActionFinishedByMe, IActionFinishedByEnemy
+ IPhysicalAttackFinishedByMe, IPhysicalAttackFinishedOnMe, IActionFinishedByMe, IActionFinishedByContender
{
//Poison character that shoves me
- public IEnumerator OnActionFinishedByEnemy(CharacterAction action, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction action, GameLocationCharacter target)
{
if (action.ActionId != ActionDefinitions.Id.Shove &&
action.ActionId != ActionDefinitions.Id.ShoveBonus &&
diff --git a/SolastaUnfinishedBusiness/Feats/RaceFeats.cs b/SolastaUnfinishedBusiness/Feats/RaceFeats.cs
index c2cdae6944..265fe8bb85 100644
--- a/SolastaUnfinishedBusiness/Feats/RaceFeats.cs
+++ b/SolastaUnfinishedBusiness/Feats/RaceFeats.cs
@@ -418,21 +418,13 @@ private static FeatDefinition BuildSquatNimbleness(List feats)
var acrobaticsSkill = FeatureDefinitionProficiencyBuilder
.Create("ProficiencyFeatSquatNimblenessAcrobatics")
.SetGuiPresentationNoContent(true)
- .SetProficiencies(ProficiencyType.Skill, SkillDefinitions.Acrobatics)
- .AddToDB();
-
- var acrobaticsExpertise = FeatureDefinitionProficiencyBuilder
- .Create("ProficiencyFeatSquatNimblenessAcrobaticsExpertise")
- .SetGuiPresentationNoContent(true)
- .SetProficiencies(ProficiencyType.Expertise, SkillDefinitions.Acrobatics)
+ .SetProficiencies(ProficiencyType.SkillOrExpertise, SkillDefinitions.Acrobatics)
.AddToDB();
var featSquatNimblenessDex = FeatDefinitionWithPrerequisitesBuilder
.Create("FeatSquatNimblenessDex")
.SetGuiPresentation(Category.Feat)
- .SetFeatures(AttributeModifierCreed_Of_Misaye, movementAffinitySquatNimbleness)
- .AddCustomSubFeatures(new SkillOrExpertise(DatabaseHelper.SkillDefinitions.Acrobatics,
- acrobaticsSkill, acrobaticsExpertise))
+ .SetFeatures(AttributeModifierCreed_Of_Misaye, movementAffinitySquatNimbleness, acrobaticsSkill)
.SetValidators(ValidatorsFeat.IsSmallRace)
.SetFeatFamily(SquatNimbleness)
.AddToDB();
@@ -440,21 +432,13 @@ private static FeatDefinition BuildSquatNimbleness(List feats)
var athleticsSkill = FeatureDefinitionProficiencyBuilder
.Create("ProficiencyFeatSquatNimblenessAthletics")
.SetGuiPresentationNoContent(true)
- .SetProficiencies(ProficiencyType.Skill, SkillDefinitions.Athletics)
- .AddToDB();
-
- var athleticsExpertise = FeatureDefinitionProficiencyBuilder
- .Create("ProficiencyFeatSquatNimblenessAthleticsExpertise")
- .SetGuiPresentationNoContent(true)
- .SetProficiencies(ProficiencyType.Expertise, SkillDefinitions.Athletics)
+ .SetProficiencies(ProficiencyType.SkillOrExpertise, SkillDefinitions.Athletics)
.AddToDB();
var featSquatNimblenessStr = FeatDefinitionWithPrerequisitesBuilder
.Create("FeatSquatNimblenessStr")
.SetGuiPresentation(Category.Feat)
- .SetFeatures(AttributeModifierCreed_Of_Einar, movementAffinitySquatNimbleness)
- .AddCustomSubFeatures(new SkillOrExpertise(DatabaseHelper.SkillDefinitions.Athletics,
- athleticsSkill, athleticsExpertise))
+ .SetFeatures(AttributeModifierCreed_Of_Einar, movementAffinitySquatNimbleness, athleticsSkill)
.SetValidators(ValidatorsFeat.IsSmallRace)
.SetFeatFamily(SquatNimbleness)
.AddToDB();
@@ -469,28 +453,6 @@ private static FeatDefinition BuildSquatNimbleness(List feats)
featSquatNimblenessStr);
}
- private sealed class SkillOrExpertise(
- SkillDefinition skillDefinition,
- FeatureDefinitionProficiency skill,
- FeatureDefinitionProficiency expertise) : ICustomLevelUpLogic
- {
- public void ApplyFeature(RulesetCharacterHero hero, string tag)
- {
- var buildingData = hero.GetHeroBuildingData();
-
- hero.ActiveFeatures[tag].TryAdd(
- hero.TrainedSkills.Contains(skillDefinition) ||
- buildingData.LevelupTrainedSkills.Any(x => x.Value.Contains(skillDefinition))
- ? expertise
- : skill);
- }
-
- public void RemoveFeature(RulesetCharacterHero hero, string tag)
- {
- // empty
- }
- }
-
#endregion
#region Grudge Bearer
@@ -1676,12 +1638,12 @@ private sealed class CustomBehaviorOrcishFury(
// ReSharper disable once SuggestBaseTypeForParameterInConstructor
ConditionDefinition conditionDefinition)
: IPhysicalAttackBeforeHitConfirmedOnEnemy, IPhysicalAttackFinishedByMe,
- IPhysicalAttackBeforeHitConfirmedOnMe, IMagicEffectBeforeHitConfirmedOnMe, IActionFinishedByEnemy
+ IPhysicalAttackBeforeHitConfirmedOnMe, IMagicEffectBeforeHitConfirmedOnMe, IActionFinishedByContender
{
private bool _isValid;
private bool _knockOutPrevented;
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
{
if (!_isValid)
{
diff --git a/SolastaUnfinishedBusiness/Info.json b/SolastaUnfinishedBusiness/Info.json
index daaf7e2483..9245c2dc8c 100644
--- a/SolastaUnfinishedBusiness/Info.json
+++ b/SolastaUnfinishedBusiness/Info.json
@@ -1,7 +1,7 @@
{
"Id": "SolastaUnfinishedBusiness",
"DisplayName": "[Un] Finished Business",
- "Version": "1.5.97.11",
+ "Version": "1.5.97.12",
"GameVersion": "1.5.97",
"ManagerVersion": "0.24.0",
"AssemblyName": "SolastaUnfinishedBusiness.dll",
diff --git a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByContender.cs b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByContender.cs
new file mode 100644
index 0000000000..5ea799b3d2
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByContender.cs
@@ -0,0 +1,10 @@
+using System.Collections;
+using JetBrains.Annotations;
+
+namespace SolastaUnfinishedBusiness.Interfaces;
+
+public interface IActionFinishedByContender
+{
+ [UsedImplicitly]
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target);
+}
diff --git a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByEnemy.cs b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByEnemy.cs
deleted file mode 100644
index b632ac32f3..0000000000
--- a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByEnemy.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using System.Collections;
-using JetBrains.Annotations;
-
-namespace SolastaUnfinishedBusiness.Interfaces;
-
-public interface IActionFinishedByEnemy
-{
- [UsedImplicitly]
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target);
-}
diff --git a/SolastaUnfinishedBusiness/Interfaces/IAttackAfterMagicEffect.cs b/SolastaUnfinishedBusiness/Interfaces/IAttackAfterMagicEffect.cs
deleted file mode 100644
index 2aa9fa613b..0000000000
--- a/SolastaUnfinishedBusiness/Interfaces/IAttackAfterMagicEffect.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System.Collections.Generic;
-using JetBrains.Annotations;
-
-namespace SolastaUnfinishedBusiness.Interfaces;
-
-public interface IAttackAfterMagicEffect
-{
- public delegate bool CanAttackHandler(GameLocationCharacter caster, GameLocationCharacter target);
-
- public delegate bool CanUseHandler(
- CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target,
- out string failure);
-
- [CanBeNull]
- public delegate IEnumerable GetAttackAfterUseHandler(
- CharacterActionMagicEffect actionMagicEffect);
-
- public CanUseHandler CanBeUsedToAttack { get; }
- public GetAttackAfterUseHandler PerformAttackAfterUse { get; }
- public CanAttackHandler CanAttack { get; }
-}
diff --git a/SolastaUnfinishedBusiness/Models/CharacterContext.cs b/SolastaUnfinishedBusiness/Models/CharacterContext.cs
index f60e0b798a..df26261e4a 100644
--- a/SolastaUnfinishedBusiness/Models/CharacterContext.cs
+++ b/SolastaUnfinishedBusiness/Models/CharacterContext.cs
@@ -198,6 +198,7 @@ internal static void LateLoad()
LoadAdditionalNames();
LoadEpicArray();
LoadFeatsPointPools();
+ LoadMonkHeightenedMetabolism();
LoadMonkWeaponSpecialization();
LoadVision();
LoadVisuals();
@@ -223,6 +224,9 @@ internal static void LateLoad()
SwitchMonkDoNotRequireAttackActionForFlurry();
SwitchMonkImprovedUnarmoredMovementToMoveOnTheWall();
SwitchMonkDoNotRequireAttackActionForBonusUnarmoredAttack();
+ SwitchMonkHeightenedMetabolism();
+ SwitchMonkSuperiorDefenseToReplaceEmptyBody();
+ SwitchMonkBodyAndMindToReplacePerfectSelf();
SwitchMonkWeaponSpecialization();
SwitchPathOfTheElementsElementalFuryToUseCustomInvocationPools();
SwitchRangerHumanoidFavoredEnemy();
diff --git a/SolastaUnfinishedBusiness/Models/CharacterUAContext.cs b/SolastaUnfinishedBusiness/Models/CharacterUAContext.cs
index 1e1faba939..2a84979664 100644
--- a/SolastaUnfinishedBusiness/Models/CharacterUAContext.cs
+++ b/SolastaUnfinishedBusiness/Models/CharacterUAContext.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
+using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.Helpers;
using SolastaUnfinishedBusiness.Behaviors;
@@ -11,6 +12,7 @@
using SolastaUnfinishedBusiness.CustomUI;
using SolastaUnfinishedBusiness.Feats;
using SolastaUnfinishedBusiness.Interfaces;
+using SolastaUnfinishedBusiness.Properties;
using SolastaUnfinishedBusiness.Subclasses;
using SolastaUnfinishedBusiness.Validators;
using static RuleDefinitions;
@@ -20,6 +22,7 @@
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionActionAffinitys;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttackModifiers;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionDamageAffinitys;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionMovementAffinitys;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers;
@@ -647,6 +650,107 @@ internal static void SwitchBarbarianFightingStyle()
#region Monk
+ private static readonly FeatureDefinition FeatureMonkHeightenedMetabolism = FeatureDefinitionBuilder
+ .Create("FeatureMonkHeightenedMetabolism")
+ .SetGuiPresentation(Category.Feature)
+ .AddCustomSubFeatures(
+ new CustomBehaviorHeightenedMetabolism(
+ ConditionDefinitionBuilder
+ .Create("ConditionMonkFlurryOfBlowsHeightenedMetabolism")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .SetFeatures(
+ FeatureDefinitionAttackModifierBuilder
+ .Create(AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonus,
+ "AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusHeightenedMetabolism")
+ .SetUnarmedStrike(3)
+ .AddToDB())
+ .AddToDB(),
+ ConditionDefinitionBuilder
+ .Create("ConditionMonkFlurryOfBlowsFreedomHeightenedMetabolism")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .SetFeatures(
+ FeatureDefinitionAttackModifierBuilder
+ .Create(AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedom,
+ "AttackModifierMonkFlurryOfBlowsUnarmedStrikeBonusFreedomHeightenedMetabolism")
+ .SetUnarmedStrike(4)
+ .AddToDB())
+ .AddToDB()))
+ .AddToDB();
+
+ private static readonly FeatureDefinitionPower PowerMonkStepOfTheWindHeightenedMetabolism =
+ FeatureDefinitionPowerBuilder
+ .Create("PowerMonkStepOfTheWindHeightenedMetabolism")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerStepOfTheWind", Resources.PowerStepOfTheWind, 256, 128))
+ .SetUsesFixed(ActivationTime.BonusAction, RechargeRate.KiPoints)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create(PowerMonkStepOfTheWindDash)
+ .SetDurationData(DurationType.Round)
+ .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .AddEffectForms(PowerMonkStepOftheWindDisengage.EffectDescription.EffectForms[0])
+ .SetCasterEffectParameters(PowerOathOfTirmarGoldenSpeech)
+ .Build())
+ .AddToDB();
+
+ private static readonly FeatureDefinitionPower PowerMonkSuperiorDefense = FeatureDefinitionPowerBuilder
+ .Create("PowerMonkSuperiorDefense")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerMonkSuperiorDefense", Resources.PowerMonkSuperiorDefense, 256, 128))
+ .SetUsesFixed(ActivationTime.NoCost, RechargeRate.KiPoints, 3, 3)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .SetDurationData(DurationType.Minute, 1)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(
+ ConditionDefinitionBuilder
+ .Create("ConditionMonkSuperiorDefense")
+ .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionAuraOfProtection)
+ .SetPossessive()
+ .AddFeatures(
+ DamageAffinityAcidResistance,
+ DamageAffinityBludgeoningResistance,
+ DamageAffinityColdResistance,
+ DamageAffinityFireResistance,
+ DamageAffinityLightningResistance,
+ DamageAffinityNecroticResistance,
+ DamageAffinityPiercingResistance,
+ DamageAffinityPoisonResistance,
+ DamageAffinityPsychicResistance,
+ DamageAffinityRadiantResistance,
+ DamageAffinitySlashingResistance,
+ DamageAffinityThunderResistance)
+ .SetConditionParticleReference(
+ ConditionDefinitions.ConditionHolyAura.conditionParticleReference)
+ .SetCancellingConditions(ConditionDefinitions.ConditionIncapacitated)
+ .AddToDB(),
+ ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerOathOfTirmarGoldenSpeech)
+ .Build())
+ .AddToDB();
+
+ private static readonly FeatureDefinition FeatureMonkBodyAndMind = FeatureDefinitionBuilder
+ .Create("FeatureMonkBodyAndMind")
+ .SetGuiPresentation(Category.Feature)
+ .AddCustomSubFeatures(new CustomLevelUpLogicMonkBodyAndMind())
+ .AddToDB();
+
+ private static void LoadMonkHeightenedMetabolism()
+ {
+ var validatePower = new ValidatorsValidatePowerUse(c =>
+ !Main.Settings.EnableMonkHeightenedMetabolism || c.GetClassLevel(Monk) < 10);
+
+ PowerMonkStepOfTheWindDash.AddCustomSubFeatures(validatePower);
+ PowerMonkStepOftheWindDisengage.AddCustomSubFeatures(validatePower);
+ }
+
private static void LoadMonkWeaponSpecialization()
{
var weaponTypeDefinitions = new List
@@ -809,6 +913,65 @@ internal static void SwitchMonkImprovedUnarmoredMovementToMoveOnTheWall()
}
}
+ internal static void SwitchMonkHeightenedMetabolism()
+ {
+ if (Main.Settings.EnableMonkHeightenedMetabolism)
+ {
+ Monk.FeatureUnlocks.TryAdd(
+ new FeatureUnlockByLevel(FeatureMonkHeightenedMetabolism, 10));
+ Monk.FeatureUnlocks.TryAdd(
+ new FeatureUnlockByLevel(PowerMonkStepOfTheWindHeightenedMetabolism, 10));
+ }
+ else
+ {
+ Monk.FeatureUnlocks
+ .RemoveAll(x => x.level == 10 &&
+ (x.FeatureDefinition == FeatureMonkHeightenedMetabolism ||
+ x.FeatureDefinition == PowerMonkStepOfTheWindHeightenedMetabolism));
+ }
+
+ if (Main.Settings.EnableSortingFutureFeatures)
+ {
+ Monk.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock);
+ }
+ }
+
+ internal static void SwitchMonkSuperiorDefenseToReplaceEmptyBody()
+ {
+ Monk.FeatureUnlocks
+ .RemoveAll(x => x.level == 18 &&
+ (x.FeatureDefinition == Level20Context.PowerMonkEmptyBody ||
+ x.FeatureDefinition == PowerMonkSuperiorDefense));
+
+ Monk.FeatureUnlocks.TryAdd(
+ Main.Settings.EnableMonkSuperiorDefenseToReplaceEmptyBody
+ ? new FeatureUnlockByLevel(PowerMonkSuperiorDefense, 18)
+ : new FeatureUnlockByLevel(Level20Context.PowerMonkEmptyBody, 18));
+
+ if (Main.Settings.EnableSortingFutureFeatures)
+ {
+ Monk.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock);
+ }
+ }
+
+ internal static void SwitchMonkBodyAndMindToReplacePerfectSelf()
+ {
+ Monk.FeatureUnlocks
+ .RemoveAll(x => x.level == 20 &&
+ (x.FeatureDefinition == Level20Context.FeatureMonkPerfectSelf ||
+ x.FeatureDefinition == FeatureMonkBodyAndMind));
+
+ Monk.FeatureUnlocks.TryAdd(
+ Main.Settings.EnableMonkBodyAndMindToReplacePerfectSelf
+ ? new FeatureUnlockByLevel(FeatureMonkBodyAndMind, 20)
+ : new FeatureUnlockByLevel(Level20Context.FeatureMonkPerfectSelf, 20));
+
+ if (Main.Settings.EnableSortingFutureFeatures)
+ {
+ Monk.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock);
+ }
+ }
+
internal static void SwitchMonkWeaponSpecialization()
{
var levels = new[] { 2, 11 };
@@ -837,6 +1000,101 @@ internal static void SwitchMonkWeaponSpecialization()
}
}
+ private sealed class CustomBehaviorHeightenedMetabolism(
+ ConditionDefinition conditionFlurryOfBlowsHeightenedMetabolism,
+ ConditionDefinition conditionFlurryOfBlowsFreedomHeightenedMetabolism)
+ : IModifyEffectDescription, IMagicEffectFinishedByMeAny
+ {
+ private readonly EffectForm _effectForm =
+ EffectFormBuilder.ConditionForm(conditionFlurryOfBlowsHeightenedMetabolism);
+
+ private readonly EffectForm _effectFormFreedom =
+ EffectFormBuilder.ConditionForm(conditionFlurryOfBlowsFreedomHeightenedMetabolism);
+
+ public IEnumerator OnMagicEffectFinishedByMeAny(
+ CharacterActionMagicEffect action,
+ GameLocationCharacter attacker,
+ List targets)
+ {
+ var definition = action.ActionParams.activeEffect.SourceDefinition;
+
+ if (definition != PowerMonkPatientDefense &&
+ definition != PowerMonkPatientDefenseSurvival3 &&
+ definition != PowerMonkPatientDefenseSurvival6)
+ {
+ yield break;
+ }
+
+ var rulesetCharacter = action.ActingCharacter.RulesetCharacter;
+ var dieType = rulesetCharacter.GetMonkDieType();
+ var tempHp = rulesetCharacter.RollDiceAndSum(dieType, RollContext.HealValueRoll, 2, []);
+
+ rulesetCharacter.ReceiveTemporaryHitPoints(
+ tempHp, DurationType.Round, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.Guid);
+ }
+
+ public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription)
+ {
+ return Main.Settings.EnableMonkHeightenedMetabolism &&
+ character.GetClassLevel(Monk) >= 10 &&
+ (definition == PowerMonkFlurryOfBlows ||
+ definition == PowerTraditionFreedomFlurryOfBlowsSwiftStepsImprovement ||
+ definition == PowerTraditionFreedomFlurryOfBlowsUnendingStrikesImprovement);
+ }
+
+ public EffectDescription GetEffectDescription(
+ BaseDefinition definition,
+ EffectDescription effectDescription,
+ RulesetCharacter character,
+ RulesetEffect rulesetEffect)
+ {
+ if (definition == PowerMonkFlurryOfBlows)
+ {
+ effectDescription.EffectForms.TryAdd(_effectForm);
+ }
+ else if (definition == PowerTraditionFreedomFlurryOfBlowsSwiftStepsImprovement)
+ {
+ effectDescription.EffectForms.TryAdd(_effectForm);
+ }
+ else if (definition == PowerTraditionFreedomFlurryOfBlowsUnendingStrikesImprovement)
+ {
+ effectDescription.EffectForms.TryAdd(_effectFormFreedom);
+ }
+
+ return effectDescription;
+ }
+ }
+
+ private sealed class CustomLevelUpLogicMonkBodyAndMind : ICustomLevelUpLogic
+ {
+ public void ApplyFeature([NotNull] RulesetCharacterHero hero, string tag)
+ {
+ ModifyAttributeAndMax(hero, AttributeDefinitions.Dexterity, 4);
+ ModifyAttributeAndMax(hero, AttributeDefinitions.Wisdom, 4);
+
+ hero.RefreshAll();
+ }
+
+ public void RemoveFeature([NotNull] RulesetCharacterHero hero, string tag)
+ {
+ ModifyAttributeAndMax(hero, AttributeDefinitions.Dexterity, -4);
+ ModifyAttributeAndMax(hero, AttributeDefinitions.Wisdom, -4);
+
+ hero.RefreshAll();
+ }
+
+ private static void ModifyAttributeAndMax([NotNull] RulesetActor hero, string attributeName, int amount)
+ {
+ var attribute = hero.GetAttribute(attributeName);
+
+ attribute.BaseValue += amount;
+ attribute.MaxValue += amount;
+ attribute.MaxEditableValue += amount;
+ attribute.Refresh();
+
+ hero.AbilityScoreIncreased?.Invoke(hero, attributeName, amount, amount);
+ }
+ }
internal sealed class MonkWeaponSpecialization
{
@@ -1227,7 +1485,7 @@ internal static bool IsSneakAttackValid(
GameLocationCharacter attacker,
GameLocationCharacter defender)
{
- // only trigger if haven't used sneak attack yet
+ // only trigger if it hasn't used sneak attack yet
if (!attacker.OncePerTurnIsValid("AdditionalDamageRogueSneakAttack") ||
!attacker.OncePerTurnIsValid("AdditionalDamageRoguishHoodlumNonFinesseSneakAttack") ||
!attacker.OncePerTurnIsValid("AdditionalDamageRoguishDuelistDaringDuel") ||
diff --git a/SolastaUnfinishedBusiness/Models/DocumentationContext.cs b/SolastaUnfinishedBusiness/Models/DocumentationContext.cs
index e8fb98d4c2..d26f345039 100644
--- a/SolastaUnfinishedBusiness/Models/DocumentationContext.cs
+++ b/SolastaUnfinishedBusiness/Models/DocumentationContext.cs
@@ -61,7 +61,10 @@ internal static void DumpDocumentation()
(x.ContentPack == CeContentPackContext.CeContentPack &&
SpellsContext.Spells.Contains(x)) ||
(x.ContentPack != CeContentPackContext.CeContentPack &&
- !SpellsContext.SpellsChildMaster.ContainsKey(x) && x.implemented));
+ !SpellsContext.SpellsChildMaster.ContainsKey(x) &&
+ x.implemented &&
+ !x.Name.Contains("Invocation") &&
+ !x.Name.EndsWith("_B")));
DumpOthers("Items", x => x.IsArmor || x.IsWeapon);
DumpOthers("Metamagic",
x =>
diff --git a/SolastaUnfinishedBusiness/Models/Level20Context.cs b/SolastaUnfinishedBusiness/Models/Level20Context.cs
index cafcb2e058..f638b9721d 100644
--- a/SolastaUnfinishedBusiness/Models/Level20Context.cs
+++ b/SolastaUnfinishedBusiness/Models/Level20Context.cs
@@ -39,6 +39,55 @@ internal static class Level20Context
internal const int ModMaxExperience = 355000;
internal const int GameMaxLevel = 16;
+ internal static readonly FeatureDefinitionPower PowerMonkEmptyBody = FeatureDefinitionPowerBuilder
+ .Create("PowerMonkEmptyBody")
+ .SetGuiPresentation(Category.Feature, Sprites.GetSprite("EmptyBody", Resources.EmptyBody, 128, 64))
+ .SetUsesFixed(ActivationTime.Action, RechargeRate.KiPoints, 4, 4)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .SetDurationData(DurationType.Minute, 1)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(DatabaseHelper.ConditionDefinitions.ConditionInvisibleGreater,
+ ConditionForm.ConditionOperation.Add)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(
+ ConditionDefinitionBuilder
+ .Create("ConditionMonkEmptyBody")
+ .SetGuiPresentation(
+ Category.Condition,
+ DatabaseHelper.ConditionDefinitions.ConditionShielded)
+ .AddFeatures(
+ DamageAffinityAcidResistance,
+ DamageAffinityBludgeoningResistance,
+ DamageAffinityColdResistance,
+ DamageAffinityFireResistance,
+ DamageAffinityLightningResistance,
+ DamageAffinityNecroticResistance,
+ DamageAffinityPiercingResistance,
+ DamageAffinityPoisonResistance,
+ DamageAffinityPsychicResistance,
+ DamageAffinityRadiantResistance,
+ DamageAffinitySlashingResistance,
+ DamageAffinityThunderResistance)
+ .SetPossessive()
+ .AddToDB(),
+ ConditionForm.ConditionOperation.Add)
+ .Build())
+ .Build())
+ .AddToDB();
+
+ internal static readonly FeatureDefinition FeatureMonkPerfectSelf = FeatureDefinitionBuilder
+ .Create("BattleStartedListenerMonkPerfectSelf")
+ .SetGuiPresentation(Category.Feature)
+ .AddCustomSubFeatures(new BattleStartedListenerMonkPerfectSelf())
+ .AddToDB();
+
internal static void Load()
{
BarbarianLoad();
@@ -257,79 +306,9 @@ private static void FighterLoad()
private static void MonkLoad()
{
- var emptyBodySprite = Sprites.GetSprite("EmptyBody", Resources.EmptyBody, 128, 64);
-
- var powerMonkEmptyBody = FeatureDefinitionPowerBuilder
- .Create("PowerMonkEmptyBody")
- .SetGuiPresentation(Category.Feature, emptyBodySprite)
- .SetUsesFixed(ActivationTime.Action, RechargeRate.KiPoints, 4, 4)
- .SetEffectDescription(
- EffectDescriptionBuilder
- .Create()
- .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
- .SetDurationData(DurationType.Minute, 1)
- .SetEffectForms(
- EffectFormBuilder
- .Create()
- .SetConditionForm(DatabaseHelper.ConditionDefinitions.ConditionInvisibleGreater,
- ConditionForm.ConditionOperation.Add)
- .Build(),
- EffectFormBuilder
- .Create()
- .SetConditionForm(
- ConditionDefinitionBuilder
- .Create("ConditionMonkEmptyBody")
- .SetGuiPresentation(
- Category.Condition,
- DatabaseHelper.ConditionDefinitions.ConditionShielded)
- .AddFeatures(
- DamageAffinityAcidResistance,
- DamageAffinityColdResistance,
- DamageAffinityFireResistance,
- DamageAffinityLightningResistance,
- DamageAffinityNecroticResistance,
- DamageAffinityPoisonResistance,
- DamageAffinityPsychicResistance,
- DamageAffinityRadiantResistance,
- DamageAffinityThunderResistance,
- FeatureDefinitionDamageAffinityBuilder
- .Create("DamageAffinityMonkEmptyBodyBludgeoningResistance")
- .SetGuiPresentationNoContent(true)
- .SetDamageType(DamageTypeBludgeoning)
- .SetDamageAffinityType(DamageAffinityType.Resistance)
- .AddToDB(),
- FeatureDefinitionDamageAffinityBuilder
- .Create("DamageAffinityMonkEmptyBodyPiercingResistance")
- .SetGuiPresentationNoContent(true)
- .SetDamageType(DamageTypePiercing)
- .SetDamageAffinityType(DamageAffinityType.Resistance)
- .AddToDB(),
- FeatureDefinitionDamageAffinityBuilder
- .Create("DamageAffinityMonkEmptyBodySlashingResistance")
- .SetGuiPresentationNoContent(true)
- .SetDamageType(DamageTypeSlashing)
- .SetDamageAffinityType(DamageAffinityType.Resistance)
- .AddToDB())
- .SetPossessive()
- .AddToDB(),
- ConditionForm.ConditionOperation.Add)
- .Build())
- .Build())
- .AddToDB();
-
- var battleStartedListenerMonkPerfectSelf = FeatureDefinitionBuilder
- .Create("BattleStartedListenerMonkPerfectSelf")
- .SetGuiPresentation(Category.Feature)
- .AddToDB();
-
- battleStartedListenerMonkPerfectSelf.AddCustomSubFeatures(
- new BattleStartedListenerMonkPerfectSelf(battleStartedListenerMonkPerfectSelf));
-
Monk.FeatureUnlocks.AddRange(new List
{
- new(powerMonkEmptyBody, 18),
- new(FeatureSetAbilityScoreChoice, 19),
- new(battleStartedListenerMonkPerfectSelf, 20)
+ new(PowerMonkEmptyBody, 18), new(FeatureSetAbilityScoreChoice, 19), new(FeatureMonkPerfectSelf, 20)
});
}
@@ -969,10 +948,7 @@ private static void ModifyAttributeAndMax([NotNull] RulesetActor hero, string at
}
}
- private sealed class BattleStartedListenerMonkPerfectSelf(
- // ReSharper disable once SuggestBaseTypeForParameterInConstructor
- FeatureDefinition featureDefinition)
- : ICharacterBattleStartedListener
+ private sealed class BattleStartedListenerMonkPerfectSelf : ICharacterBattleStartedListener
{
public void OnCharacterBattleStarted(GameLocationCharacter locationCharacter, bool surprise)
{
@@ -990,7 +966,7 @@ public void OnCharacterBattleStarted(GameLocationCharacter locationCharacter, bo
character.ForceKiPointConsumption(-4);
character.KiPointsAltered?.Invoke(character, character.RemainingKiPoints);
- character.LogCharacterUsedFeature(featureDefinition);
+ character.LogCharacterUsedFeature(FeatureMonkPerfectSelf);
}
}
diff --git a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs
index e046ea5056..7b7dafe9c6 100644
--- a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs
+++ b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs
@@ -2,7 +2,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
-using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.Helpers;
@@ -1081,7 +1080,7 @@ private static void RogueLoad()
// Hoodlum
//
- PowerRoguishHoodlumDirtyFighting.AddCustomSubFeatures(new AttackAfterMagicEffectBrutalAssault());
+ PowerRoguishHoodlumDirtyFighting.AddCustomSubFeatures(new MagicEffectFinishedByMeDirtyFighting());
var featureRoguishHoodlumBrutalAssault = FeatureDefinitionBuilder
.Create("FeatureRoguishHoodlumBrutalAssault")
@@ -2129,95 +2128,53 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action,
// Brutal Assault
//
- private sealed class AttackAfterMagicEffectBrutalAssault : IAttackAfterMagicEffect
+ private sealed class MagicEffectFinishedByMeDirtyFighting : IMagicEffectFinishedByMe
{
- public IAttackAfterMagicEffect.CanAttackHandler CanAttack { get; } =
- CanMeleeAttack;
-
- public IAttackAfterMagicEffect.GetAttackAfterUseHandler PerformAttackAfterUse { get; } =
- DefaultAttackHandler;
-
- public IAttackAfterMagicEffect.CanUseHandler CanBeUsedToAttack { get; } =
- DefaultCanUseHandler;
-
- private static bool CanMeleeAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
- {
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
-
- if (attackMode == null)
- {
- return false;
- }
-
- var battleManager = ServiceRepository.GetService();
- var attackModifier = new ActionModifier();
- var evalParams = new BattleDefinitions.AttackEvaluationParams();
-
- evalParams.FillForPhysicalReachAttack(caster, caster.LocationPosition, attackMode, target,
- target.LocationPosition, attackModifier);
-
- return battleManager.CanAttack(evalParams);
- }
-
- [CanBeNull]
- private static IEnumerable DefaultAttackHandler(
- [CanBeNull] CharacterActionMagicEffect effect)
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
{
- var actionParams = effect?.ActionParams;
-
- if (actionParams == null)
+ if (Gui.Battle == null)
{
- return null;
+ yield break;
}
- var caster = actionParams.ActingCharacter;
- var targets = actionParams.TargetCharacters
- .Where(x => x.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } &&
- x.RulesetCharacter.HasConditionOfCategoryAndType(
- AttributeDefinitions.TagEffect, "ConditionHitByDirtyFighting"))
- .ToList(); // avoid changing enumerator
+ var actingCharacter = action.ActingCharacter;
+ var targets = action.ActionParams.TargetCharacters
+ .Where(x =>
+ x.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } &&
+ x.RulesetCharacter.HasConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, "ConditionHitByDirtyFighting"))
+ .ToList();
- if (caster == null || targets.Count == 0)
+ if (targets.Count == 0)
{
- return null;
+ yield break;
}
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+ var attackModeMain = actingCharacter.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
- if (attackMode == null)
+ if (attackModeMain == null)
{
- return null;
+ yield break;
}
//get copy to be sure we don't break existing mode
- var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
-
- rulesetAttackModeCopy.Copy(attackMode);
-
- attackMode = rulesetAttackModeCopy;
+ var attackMode = RulesetAttackMode.AttackModesPool.Get();
- //set action type to be same as the one used for the magic effect
- attackMode.ActionType = effect.ActionType;
+ attackMode.Copy(attackModeMain);
+ attackMode.ActionType = ActionDefinitions.ActionType.NoCost;
- var attackModifier = new ActionModifier();
-
- return targets
- .Where(t => CanMeleeAttack(caster, t))
- .Select(target =>
- new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree)
- {
- AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
- });
- }
-
- private static bool DefaultCanUseHandler(
- [NotNull] CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target, [NotNull] out string failure)
- {
- failure = string.Empty;
+ // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
+ foreach (var target in targets)
+ {
+ var attackModifier = new ActionModifier();
+ var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.AttackFree)
+ {
+ AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
+ };
- return true;
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
}
}
diff --git a/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs b/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs
index d92b9d949f..2a9dd7b5bd 100644
--- a/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs
+++ b/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs
@@ -727,8 +727,8 @@ internal static void SwitchOfficialObscurementRules()
condition.GuiPresentation.description = replaceTerm;
}
+ SwitchCombatAffinityInvisibleSenses();
SwitchHeavilyObscuredOnObscurementRules();
- SwitchInvisibleCreaturesCanBeTarget();
SwitchMagicalDarknessOnObscurementRules();
SwitchMonstersOnObscurementRules();
@@ -863,12 +863,12 @@ internal static void SwitchOfficialObscurementRules()
SrdAndHouseRulesContext.SwitchConditionBlindedShouldNotAllowOpportunityAttack();
}
- internal static void SwitchInvisibleCreaturesCanBeTarget()
+ private static void SwitchCombatAffinityInvisibleSenses()
{
var modSenses = new List { Type.Blindsight, Type.Tremorsense, Type.Truesight, Type.DetectInvisibility };
var vanillaSenses = new List { Type.Truesight, Type.DetectInvisibility };
- if (Main.Settings.OfficialObscurementRulesInvisibleCreaturesCanBeTarget)
+ if (Main.Settings.UseOfficialLightingObscurementAndVisionRules)
{
CombatAffinityInvisible.nullifiedBySenses = modSenses;
CombatAffinityInvisibleStalker.nullifiedBySenses = modSenses;
diff --git a/SolastaUnfinishedBusiness/Models/PickPocketContext.cs b/SolastaUnfinishedBusiness/Models/PickPocketContext.cs
index 66e347320b..243320af4c 100644
--- a/SolastaUnfinishedBusiness/Models/PickPocketContext.cs
+++ b/SolastaUnfinishedBusiness/Models/PickPocketContext.cs
@@ -19,9 +19,6 @@ internal static void Load()
_initialized = true;
- var sleightOfHand = DatabaseHelper.SkillDefinitions.SleightOfHand;
- sleightOfHand.GuiPresentation.unusedInSolastaCOTM = false;
-
var pickpocketTableLow = TreasureTableDefinitionBuilder
.Create(RandomTreasureTableE2_Mundane_Ingredients, "PickPocketTableLow")
.SetGuiPresentationNoContent()
diff --git a/SolastaUnfinishedBusiness/Models/SpellsContext.cs b/SolastaUnfinishedBusiness/Models/SpellsContext.cs
index 92f3a739bf..602cd72d31 100644
--- a/SolastaUnfinishedBusiness/Models/SpellsContext.cs
+++ b/SolastaUnfinishedBusiness/Models/SpellsContext.cs
@@ -45,6 +45,7 @@ internal static class SpellsContext
internal static readonly SpellDefinition EnsnaringStrike = BuildEnsnaringStrike();
internal static readonly SpellDefinition FarStep = BuildFarStep();
internal static readonly SpellDefinition MaddeningDarkness = BuildMaddeningDarkness();
+ internal static readonly SpellDefinition MantleOfThorns = BuildMantleOfThorns();
internal static readonly SpellDefinition MirrorImage = BuildMirrorImage();
internal static readonly SpellDefinition PetalStorm = BuildPetalStorm();
internal static readonly SpellDefinition PsychicWhip = BuildPsychicWhip();
@@ -239,14 +240,19 @@ internal static void LateLoad()
RegisterSpell(BurstOfRadiance, 0, SpellListCleric);
RegisterSpell(EnduringSting, 0, SpellListWizard);
RegisterSpell(BuildIlluminatingSphere(), 0, SpellListBard, SpellListSorcerer, SpellListWizard);
+ RegisterSpell(BuildInfestation(), 0, SpellListDruid, SpellListSorcerer, SpellListWarlock, SpellListWizard);
+ RegisterSpell(BuildLightningLure(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard,
+ spellListInventorClass);
RegisterSpell(BuildMindSpike(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildMinorLifesteal(), 0, SpellListBard, SpellListSorcerer, SpellListWarlock, SpellListWizard);
+ RegisterSpell(BuildPrimalSavagery(), 0, SpellListDruid);
RegisterSpell(BuildResonatingStrike(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard,
spellListInventorClass);
RegisterSpell(SunlightBlade, 0, SpellListSorcerer, SpellListWarlock, SpellListWizard,
spellListInventorClass);
RegisterSpell(BuildSwordStorm(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard,
spellListInventorClass);
+ RegisterSpell(BuildStarryWisp(), 0, SpellListBard, SpellListDruid);
RegisterSpell(BuildTollTheDead(), 0, SpellListCleric, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildThornyVines(), 0, SpellListDruid, spellListInventorClass);
RegisterSpell(BuildThunderStrike(), 0, SpellListBard, SpellListDruid, SpellListSorcerer, SpellListWarlock,
@@ -280,10 +286,13 @@ internal static void LateLoad()
// 2nd level
RegisterSpell(BuildAganazzarScorcher(), 0, SpellListSorcerer, SpellListWizard);
RegisterSpell(BindingIce, 0, SpellListSorcerer, SpellListWizard);
+ RegisterSpell(BuildBorrowedKnowledge(), 0, SpellListBard, SpellListCleric, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildCloudOfDaggers(), 0, SpellListBard, SpellListSorcerer, SpellListWarlock, SpellListWizard);
RegisterSpell(ColorBurst, 0, SpellListSorcerer, SpellListWizard, spellListInventorClass);
DatabaseHelper.SpellDefinitions.ConjureGoblinoids.contentPack = CeContentPackContext.CeContentPack;
RegisterSpell(DatabaseHelper.SpellDefinitions.ConjureGoblinoids, 0, SpellListDruid, SpellListRanger);
+ RegisterSpell(BuildKineticJaunt(), 0, SpellListBard, SpellListSorcerer, SpellListWizard,
+ spellListInventorClass);
RegisterSpell(BuildNoxiousSpray(), 0, SpellListDruid, SpellListSorcerer, SpellListWarlock, SpellListWizard);
RegisterSpell(PetalStorm, 0, SpellListDruid);
RegisterSpell(BuildProtectThreshold(), 0, SpellListCleric, SpellListDruid, SpellListPaladin);
@@ -307,6 +316,9 @@ internal static void LateLoad()
RegisterSpell(BuildFlameArrows(), 0, SpellListDruid, SpellListRanger, SpellListSorcerer, SpellListWizard,
spellListInventorClass);
RegisterSpell(BuildLightningArrow(), 0, SpellListRanger);
+ RegisterSpell(BuildIntellectFortress(), 0, SpellListBard, SpellListSorcerer, SpellListWarlock, SpellListWizard,
+ spellListInventorClass);
+ RegisterSpell(BuildPsionicBlast(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildSpiritShroud(), 0, SpellListCleric, SpellListPaladin, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildVitalityTransfer(), 0, SpellListCleric, SpellListWizard);
RegisterSpell(BuildWinterBreath(), 0, SpellListDruid, SpellListSorcerer, SpellListWizard);
@@ -331,7 +343,7 @@ internal static void LateLoad()
RegisterSpell(DivineWrath, 0, SpellListPaladin);
RegisterSpell(FarStep, 0, SpellListSorcerer, SpellListWarlock, SpellListWizard);
RegisterSpell(BuildIncineration(), 0, SpellListSorcerer, SpellListWizard);
- RegisterSpell(BuildMantleOfThorns(), 0, SpellListDruid);
+ RegisterSpell(MantleOfThorns, 0, SpellListDruid);
RegisterSpell(SteelWhirlwind, 0, SpellListRanger, SpellListWizard);
RegisterSpell(SonicBoom, 0, SpellListSorcerer, SpellListWizard);
RegisterSpell(Telekinesis, 0, SpellListSorcerer, SpellListWizard);
diff --git a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs
index 21c92a5c1b..493bd59eb9 100644
--- a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs
+++ b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs
@@ -92,7 +92,9 @@ internal static void LateLoad()
SwitchFullyControlConjurations();
SwitchHastedCasing();
SwitchMagicStaffFoci();
+ SwitchAllowTargetingSelectionWhenCastingChainLightningSpell();
SwitchOfficialFoodRationsWeight();
+ SwitchOneDndHealingSpellsBuf();
SwitchRecurringEffectOnEntangle();
SwitchRingOfRegenerationHealRate();
SwitchSchoolRestrictionsFromShadowCaster();
@@ -322,6 +324,27 @@ internal static void SwitchConditionBlindedShouldNotAllowOpportunityAttack()
}
}
+ internal static void SwitchAllowTargetingSelectionWhenCastingChainLightningSpell()
+ {
+ var spell = ChainLightning.EffectDescription;
+
+ if (Main.Settings.AllowTargetingSelectionWhenCastingChainLightningSpell)
+ {
+ // This is half fix, half houses rules since it's not completely SRD but better than implemented.
+ // Spell should arc from target (range 150ft) onto upto 3 extra selectable targets (range 30ft from first).
+ // Fix by allowing 4 selectable targets.
+ spell.targetType = TargetType.IndividualsUnique;
+ spell.targetParameter = 4;
+ spell.effectAdvancement.additionalTargetsPerIncrement = 1;
+ }
+ else
+ {
+ spell.targetType = TargetType.ArcFromIndividual;
+ spell.targetParameter = 3;
+ spell.effectAdvancement.additionalTargetsPerIncrement = 0;
+ }
+ }
+
internal static void SwitchOfficialFoodRationsWeight()
{
var foodSrdWeight = Food_Ration;
@@ -339,6 +362,21 @@ internal static void SwitchOfficialFoodRationsWeight()
}
}
+ internal static void SwitchOneDndHealingSpellsBuf()
+ {
+ var dice = Main.Settings.EnableOneDndHealingSpellsBuf ? 2 : 1;
+
+ // Cure Wounds, Healing Word got buf on base damage and add dice
+ CureWounds.effectDescription.EffectForms[0].healingForm.diceNumber = dice;
+ CureWounds.effectDescription.effectAdvancement.additionalDicePerIncrement = dice;
+ HealingWord.effectDescription.EffectForms[0].healingForm.diceNumber = dice;
+ HealingWord.effectDescription.effectAdvancement.additionalDicePerIncrement = dice;
+
+ // Mass Cure Wounds and Mass Healing Word only got buf on base damage
+ MassCureWounds.effectDescription.EffectForms[0].healingForm.diceNumber = dice;
+ MassHealingWord.effectDescription.EffectForms[0].healingForm.diceNumber = dice;
+ }
+
internal static void SwitchFilterOnHideousLaughter()
{
HideousLaughter.effectDescription.restrictedCreatureFamilies.Clear();
diff --git a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs
index a59fe7ade3..6c50d72e12 100644
--- a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs
+++ b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs
@@ -41,6 +41,7 @@ internal static void Load()
// keep backward compatibility
_ = new CollegeOfWarDancer();
+ _ = new WayOfTheTempest();
// settings paring
var subclasses = Main.Settings.KlassListSubclassEnabled
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionActionSurgePatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionActionSurgePatcher.cs
index 75466af840..7f35777f59 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionActionSurgePatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionActionSurgePatcher.cs
@@ -8,34 +8,30 @@ namespace SolastaUnfinishedBusiness.Patches;
[UsedImplicitly]
public static class CharacterActionActionSurgePatcher
{
+ //BUGFIX: use a power no cost on execution for better interaction with replace attack with cantrips
[HarmonyPatch(typeof(CharacterActionActionSurge), nameof(CharacterActionActionSurge.ExecuteImpl))]
[SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")]
[UsedImplicitly]
public static class ExecuteImpl_Patch
{
[UsedImplicitly]
- public static IEnumerator Postfix(
- [NotNull] IEnumerator values,
- [NotNull] CharacterActionActionSurge __instance)
+ public static bool Prefix(ref IEnumerator __result, CharacterActionActionSurge __instance)
{
- //PATCH: support for action switching
- yield return Process(__instance, values);
+ __result = Process(__instance);
+
+ return false;
}
- private static IEnumerator Process(CharacterAction action, IEnumerator values)
+ private static IEnumerator Process(CharacterAction action)
{
- if (!Main.Settings.EnableActionSwitching)
- {
- yield return values;
- yield break;
- }
-
var actionService = ServiceRepository.GetService();
var actionParams = action.ActionParams.Clone();
actionParams.ActionDefinition = actionService.AllActionDefinitions[ActionDefinitions.Id.PowerNoCost];
//directly instantiate UsePower action instead of using CharacterAction.InstantiateAction - that one seems to fail here for some reason
action.ResultingActions.Add(new CharacterActionUsePower(actionParams));
+
+ yield break;
}
}
}
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs
index b5ef772333..65750773d8 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs
@@ -1,5 +1,4 @@
using System.Collections;
-using System.Collections.Generic;
using System.Linq;
using HarmonyLib;
using JetBrains.Annotations;
@@ -29,7 +28,7 @@ public static bool Prefix(
return false;
}
- private static IEnumerator ExecuteImpl(CharacterActionAttack __instance)
+ internal static IEnumerator ExecuteImpl(CharacterActionAttack __instance)
{
var battleManager = ServiceRepository.GetService() as GameLocationBattleManager;
@@ -47,13 +46,6 @@ private static IEnumerator ExecuteImpl(CharacterActionAttack __instance)
var itemService = ServiceRepository.GetService();
var positioningService = ServiceRepository.GetService();
- //BEGIN PATCH
-
- if (__instance.ActionType == ActionDefinitions.ActionType.Main)
- {
- actingCharacter.UsedSpecialFeatures.TryAdd("AttackedWithMain", 0);
- }
-
// Check action params
var canAttackMain =
actingCharacter.GetActionStatus(
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionChargePatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionChargePatcher.cs
index 67ff27deaa..3628c58e61 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionChargePatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionChargePatcher.cs
@@ -17,9 +17,7 @@ public static class CharacterActionChargePatcher
public static class ExecuteImpl_Patch
{
[UsedImplicitly]
- public static bool Prefix(
- ref IEnumerator __result,
- CharacterActionCharge __instance)
+ public static bool Prefix(ref IEnumerator __result, CharacterActionCharge __instance)
{
if (__instance.ActingCharacter.RulesetCharacter.GetOriginalHero() is not { } hero ||
(!hero.TrainedFeats.Contains(RaceFeats.FeatOrcishAggressionStr) &&
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs
index ab42a84c35..c5e5a4760e 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs
@@ -61,7 +61,7 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance)
// BEGIN PATCH
//PATCH: skip spell animation if this is "attack after cast" spell
- if (baseDefinition.HasSubFeatureOfType())
+ if (baseDefinition.HasSubFeatureOfType())
{
actionParams.SkipAnimationsAndVFX = true;
}
@@ -522,28 +522,25 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance)
yield return magicEffectFinishedByMe.OnMagicEffectFinishedByMe(__instance, baseDefinition);
}
- //PATCH: supports `IPerformAttackAfterMagicEffectUse`
- var attackAfterMagicEffect = baseDefinition.GetFirstSubFeatureOfType();
+ //PATCH: supports `AttackAfterMagicEffect`
+ var attackAfterMagicEffect = baseDefinition.GetFirstSubFeatureOfType();
if (attackAfterMagicEffect != null)
{
- var performAttackAfterUse = attackAfterMagicEffect.PerformAttackAfterUse;
- var characterActionParams = performAttackAfterUse?
- .Invoke(__instance);
-
- if (characterActionParams != null)
+ foreach (var actionParam in AttackAfterMagicEffect.PerformAttackAfterUse(__instance))
{
- foreach (var actionParam in characterActionParams)
+ // don't use ExecuteAction here to ensure compatibility with War Caster feat
+ if (__instance.ActionType == ActionDefinitions.ActionType.Reaction)
+ {
+ var actionAttack = new CharacterActionAttack(actionParam);
+
+ yield return CharacterActionAttackPatcher.ExecuteImpl_Patch.ExecuteImpl(actionAttack);
+ }
+ else
{
ServiceRepository.GetService()?
- .ExecuteAction(actionParam, null, true);
+ .ExecuteAction(actionParam, null, false);
}
-
- var maxAttacksNumber = actingCharacter.RulesetCharacter.AttackModes
- .Where(attackMode => attackMode.ActionType == ActionDefinitions.ActionType.Main)
- .Max(attackMode => attackMode.AttacksNumber);
-
- actingCharacter.RulesetCharacter.ExecutedAttacks = maxAttacksNumber;
}
}
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs
index b8250f169b..ade249d8b5 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs
@@ -2,6 +2,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
+using System.Linq;
using System.Reflection.Emit;
using HarmonyLib;
using JetBrains.Annotations;
@@ -188,21 +189,25 @@ public static IEnumerator Postfix(IEnumerator values, CharacterAction __instance
}
}
- //PATCH: support for `IActionFinishedByEnemy`
- if (Gui.Battle != null)
+ //PATCH: support for `IActionFinishedByContender`
+ var locationCharacterService = ServiceRepository.GetService();
+ var contenders =
+ (Gui.Battle?.AllContenders ??
+ locationCharacterService.PartyCharacters.Union(locationCharacterService.GuestCharacters))
+ .ToList();
+
+ foreach (var target in contenders)
{
- foreach (var target in Gui.Battle.GetContenders(actingCharacter))
- {
- var rulesetTarget = target.RulesetCharacter;
+ var rulesetTarget = target.RulesetCharacter;
- foreach (var actionFinishedByEnemy in rulesetTarget
- .GetSubFeaturesByType())
- {
- yield return actionFinishedByEnemy.OnActionFinishedByEnemy(__instance, target);
- }
+ foreach (var actionFinishedByContender in rulesetTarget
+ .GetSubFeaturesByType())
+ {
+ yield return actionFinishedByContender.OnActionFinishedByContender(__instance, target);
}
}
+
if (__instance.ActionType == ActionDefinitions.ActionType.Bonus)
{
rulesetCharacter.ProcessConditionsMatchingInterruption(
diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionReadyPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionReadyPatcher.cs
index de054ad456..a51bd0eb20 100644
--- a/SolastaUnfinishedBusiness/Patches/CharacterActionReadyPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CharacterActionReadyPatcher.cs
@@ -14,9 +14,7 @@ public static class CharacterActionReadyPatcher
public static class ExecuteImpl_Patch
{
[UsedImplicitly]
- public static bool Prefix(
- [NotNull] CharacterActionReady __instance,
- [NotNull] ref IEnumerator __result)
+ public static bool Prefix(ref IEnumerator __result, CharacterActionReady __instance)
{
//PATCH: Adds support for DontEndTurnAfterReady setting
if (!Main.Settings.DontEndTurnAfterReady)
diff --git a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs
index 0b1c3999bc..3dc374a771 100644
--- a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs
@@ -4,13 +4,14 @@
using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.LanguageExtensions;
+using SolastaUnfinishedBusiness.Behaviors.Specific;
using SolastaUnfinishedBusiness.Interfaces;
using SolastaUnfinishedBusiness.Models;
-using SolastaUnfinishedBusiness.Spells;
using UnityEngine;
using static RuleDefinitions;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper;
using static SolastaUnfinishedBusiness.Subclasses.SorcerousFieldManipulator;
+using static SolastaUnfinishedBusiness.Spells.SpellBuilders;
namespace SolastaUnfinishedBusiness.Patches;
@@ -67,7 +68,7 @@ __instance.ActionParams.activeEffect is RulesetEffectSpell rulesetEffectSpell &&
var familiar = Gui.Battle.AllContenders
.FirstOrDefault(x =>
x.RulesetCharacter is RulesetCharacterMonster rulesetCharacterMonster &&
- rulesetCharacterMonster.MonsterDefinition.Name == SpellBuilders.OwlFamiliar &&
+ rulesetCharacterMonster.MonsterDefinition.Name == OwlFamiliar &&
rulesetCharacterMonster.AllConditions.Exists(y =>
y.ConditionDefinition == ConditionDefinitions.ConditionConjuredCreature &&
y.SourceGuid == actingCharacter.Guid));
@@ -105,11 +106,12 @@ private static bool IsFilteringValidMeleeCantrip(
GameLocationCharacter target)
{
var actionParams = __instance.actionParams;
- var canBeUsedToAttack = actionParams?.RulesetEffect
- ?.SourceDefinition.GetFirstSubFeatureOfType()?.CanBeUsedToAttack;
+ var attackAfterMagicEffect =
+ actionParams?.RulesetEffect?.SourceDefinition.GetFirstSubFeatureOfType();
- if (canBeUsedToAttack == null || canBeUsedToAttack(__instance, actionParams.actingCharacter, target,
- out var failure))
+ if (attackAfterMagicEffect == null ||
+ AttackAfterMagicEffect.CanBeUsedToAttack(
+ __instance, actionParams.actingCharacter, target, out var failure))
{
return true;
}
diff --git a/SolastaUnfinishedBusiness/Patches/FunctorSetGadgetConditionByAbilityCheckPatcher.cs b/SolastaUnfinishedBusiness/Patches/FunctorSetGadgetConditionByAbilityCheckPatcher.cs
index 3e935d7cb6..f5b1a9161a 100644
--- a/SolastaUnfinishedBusiness/Patches/FunctorSetGadgetConditionByAbilityCheckPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/FunctorSetGadgetConditionByAbilityCheckPatcher.cs
@@ -19,12 +19,10 @@ public static class FunctorSetGadgetConditionByAbilityCheckPatcher
nameof(FunctorSetGadgetConditionByAbilityCheck.Execute))]
[SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")]
[UsedImplicitly]
- public static class SelectCharacters_Patch
+ public static class Execute_Patch
{
[UsedImplicitly]
- public static bool Prefix(
- ref IEnumerator __result,
- FunctorParametersDescription functorParameters)
+ public static bool Prefix(ref IEnumerator __result, FunctorParametersDescription functorParameters)
{
__result = Execute(functorParameters);
diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs
index 367703410a..b1510e4fa0 100644
--- a/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs
@@ -140,17 +140,16 @@ public static void Postfix(ref bool __result, BattleDefinitions.AttackEvaluation
{
//PATCH: Checks if attack cantrip is valid to be cast as readied action on a target
// Used to properly check if melee cantrip can hit target when used for readied action
-
if (!DatabaseHelper.TryGetDefinition(attackParams.effectName, out var cantrip))
{
return;
}
- var canAttack = cantrip.GetFirstSubFeatureOfType()?.CanAttack;
+ var attackAfterMagicEffect = cantrip.GetFirstSubFeatureOfType();
- if (canAttack != null)
+ if (attackAfterMagicEffect != null)
{
- __result = canAttack(attackParams.attacker, attackParams.defender);
+ __result = AttackAfterMagicEffect.CanAttack(attackParams.attacker, attackParams.defender);
}
}
}
diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs
index d7782bb79f..401e87baed 100644
--- a/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs
@@ -5,6 +5,7 @@
using System.Reflection.Emit;
using HarmonyLib;
using JetBrains.Annotations;
+using SolastaUnfinishedBusiness.Api;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.Helpers;
using SolastaUnfinishedBusiness.Behaviors;
@@ -16,7 +17,6 @@
using TA;
using UnityEngine;
using static RuleDefinitions;
-using static SolastaUnfinishedBusiness.Api.DatabaseHelper.MetamagicOptionDefinitions;
namespace SolastaUnfinishedBusiness.Patches;
@@ -302,6 +302,22 @@ or ActionDefinitions.Id.FlurryOfBlowsUnendingStrikes &&
{
__result = ActionDefinitions.ActionStatus.Available;
}
+
+ var traditionFreedomLevel =
+ __instance.RulesetCharacter.GetSubclassLevel(DatabaseHelper.CharacterClassDefinitions.Monk,
+ "TraditionFreedom");
+
+ //BUGFIX: Hide other Flurry of Blows actions on Way of Freedom Monk as it levels up
+ // ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
+ switch (actionId)
+ {
+ case ActionDefinitions.Id.FlurryOfBlows when
+ traditionFreedomLevel >= 3:
+ case ActionDefinitions.Id.FlurryOfBlowsSwiftSteps when
+ traditionFreedomLevel >= 11:
+ __result = ActionDefinitions.ActionStatus.Unavailable;
+ break;
+ }
}
}
@@ -373,10 +389,7 @@ public static class HandleActionExecution_Patch
private static int _mainAttacks, _bonusAttacks, _mainRank, _bonusRank;
[UsedImplicitly]
- public static void Prefix(
- GameLocationCharacter __instance,
- CharacterActionParams actionParams,
- ActionDefinitions.ActionScope scope)
+ public static void Prefix(GameLocationCharacter __instance)
{
_mainRank = __instance.currentActionRankByType[ActionDefinitions.ActionType.Main];
_bonusRank = __instance.currentActionRankByType[ActionDefinitions.ActionType.Bonus];
@@ -390,43 +403,12 @@ public static void Postfix(
CharacterActionParams actionParams,
ActionDefinitions.ActionScope scope)
{
- var rulesetCharacter = __instance.RulesetCharacter;
+ //PATCH: support for `AttackAfterMagicEffect`
+ AttackAfterMagicEffect.MaybeMarkUsedMainCantrip(__instance, actionParams);
- if (rulesetCharacter is not { IsDeadOrDyingOrUnconscious: false })
- {
- return;
- }
-
- //PATCH: support for `IReplaceAttackWithCantrip` - counts cantrip casting as 1 main attack
+ //PATCH: support for `IReplaceAttackWithCantrip`
ReplaceAttackWithCantrip.AllowAttacksAfterCantrip(__instance, actionParams, scope);
- //PATCH: support for action switching
- if (Main.Settings.EnableActionSwitching &&
- actionParams.activeEffect is RulesetEffectSpell rulesetEffectSpell)
- {
- if (rulesetEffectSpell.MetamagicOption == MetamagicQuickenedSpell)
- {
- // ensure we block double dip on bonus spells if metamagic is present
- __instance.UsedBonusSpell = true;
- }
-
- // ensure we update some action switching related flags here as they get overwritten later
- // under some scenarios involving cantrips that attack and war caster
- // ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault
- switch (actionParams.ActionDefinition.ActionType)
- {
- case ActionDefinitions.ActionType.Main when rulesetEffectSpell.SpellDefinition.SpellLevel == 0:
- __instance.UsedMainCantrip = true;
- break;
- case ActionDefinitions.ActionType.Main:
- __instance.UsedBonusSpell = true;
- break;
- case ActionDefinitions.ActionType.Bonus:
- __instance.UsedMainSpell = true;
- break;
- }
- }
-
//PATCH: support for action switching
ActionSwitching.CheckIfActionSwitched(
__instance, actionParams, scope, _mainRank, _mainAttacks, _bonusRank, _bonusAttacks);
diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs
index 68518aa1d7..b5f382f246 100644
--- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs
+++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs
@@ -553,7 +553,7 @@ public static void Postfix(RulesetCharacter __instance, ref bool __result,
var effect = PowerBundle.ModifySpellEffect(cantrip, __instance);
var hasDamage = effect.HasFormOfType(EffectForm.EffectFormType.Damage);
- var hasAttack = cantrip.HasSubFeatureOfType();
+ var hasAttack = cantrip.HasSubFeatureOfType();
var notGadgets = effect.TargetFilteringMethod != TargetFilteringMethod.GadgetOnly;
var componentsValid = __instance.AreSpellComponentsValid(cantrip);
diff --git a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs
index 59198625d2..fc7f1908a1 100644
--- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs
+++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs
@@ -749,6 +749,16 @@ public static byte[] Bolgrif {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] BorrowedKnowledge {
+ get {
+ object obj = ResourceManager.GetObject("BorrowedKnowledge", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -1889,6 +1899,26 @@ public static byte[] ImpInfernal {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] Infestation {
+ get {
+ object obj = ResourceManager.GetObject("Infestation", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] IntellectFortress {
+ get {
+ object obj = ResourceManager.GetObject("IntellectFortress", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2019,6 +2049,16 @@ public static byte[] ItemThunderGauntlet {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] KineticJaunt {
+ get {
+ object obj = ResourceManager.GetObject("KineticJaunt", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2039,6 +2079,16 @@ public static byte[] LightningArrow {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] LightningLure {
+ get {
+ object obj = ResourceManager.GetObject("LightningLure", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2772,6 +2822,16 @@ public static byte[] PowerCosmosOmen {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerDarkDelirium {
+ get {
+ object obj = ResourceManager.GetObject("PowerDarkDelirium", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2872,6 +2932,26 @@ public static byte[] PowerEleganceDodge {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerEmergencySurgery {
+ get {
+ object obj = ResourceManager.GetObject("PowerEmergencySurgery", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerEyeOfTheStorm {
+ get {
+ object obj = ResourceManager.GetObject("PowerEyeOfTheStorm", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2882,6 +2962,16 @@ public static byte[] PowerFarStep {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerFeyPresence {
+ get {
+ object obj = ResourceManager.GetObject("PowerFeyPresence", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -2962,6 +3052,16 @@ public static byte[] PowerGainWildShape {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerGreatWeaponDefense {
+ get {
+ object obj = ResourceManager.GetObject("PowerGreatWeaponDefense", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3062,6 +3162,16 @@ public static byte[] PowerLight {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerLightningLure {
+ get {
+ object obj = ResourceManager.GetObject("PowerLightningLure", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3152,6 +3262,16 @@ public static byte[] PowerMenacing {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerMonkSuperiorDefense {
+ get {
+ object obj = ResourceManager.GetObject("PowerMonkSuperiorDefense", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3302,6 +3422,16 @@ public static byte[] PowerSteadyAim {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerStepOfTheWind {
+ get {
+ object obj = ResourceManager.GetObject("PowerStepOfTheWind", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3362,6 +3492,16 @@ public static byte[] PowerTrialMark {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PowerWhirlWindAttack {
+ get {
+ object obj = ResourceManager.GetObject("PowerWhirlWindAttack", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3522,6 +3662,16 @@ public static byte[] PreferredEnemyUndead {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PrimalSavagery {
+ get {
+ object obj = ResourceManager.GetObject("PrimalSavagery", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -3552,6 +3702,16 @@ public static byte[] ProtectThreshold {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] PsionicBlast {
+ get {
+ object obj = ResourceManager.GetObject("PsionicBlast", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
@@ -4152,6 +4312,16 @@ public static byte[] StaggeringSmite {
}
}
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ public static byte[] StarryWisp {
+ get {
+ object obj = ResourceManager.GetObject("StarryWisp", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Byte[].
///
diff --git a/SolastaUnfinishedBusiness/Properties/Resources.resx b/SolastaUnfinishedBusiness/Properties/Resources.resx
index 513dc20829..2ac19af365 100644
--- a/SolastaUnfinishedBusiness/Properties/Resources.resx
+++ b/SolastaUnfinishedBusiness/Properties/Resources.resx
@@ -152,6 +152,31 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Spells/BorrowedKnowledge.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Spells/KineticJaunt.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Spells/LightningLure.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Spells/IntellectFortress.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Spells/PsionicBlast.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Spells/SnillocSnowballStorm.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -227,6 +252,26 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Powers/PowerWhirlWindAttack.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Powers/PowerMonkSuperiorDefense.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Powers/PowerLightningLure.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Powers/PowerGreatWeaponDefense.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Powers/PowerEleganceDash.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -257,6 +302,11 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Spells/StarryWisp.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Spells/PowerWordKill.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -442,6 +492,11 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Powers/PowerEyeOfTheStorm.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Powers/PowerForceBulwark.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -457,6 +512,16 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Powers/PowerFeyPresence.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Powers/PowerDarkDelirium.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Powers/PowerBulwark.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -472,6 +537,16 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Powers/PowerEmergencySurgery.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Powers/PowerStepOfTheWind.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Powers/PowerCosmosOmen.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
@@ -613,6 +688,16 @@
PublicKeyToken=b77a5c561934e089
+
+ ../Resources/Spells/Infestation.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ ../Resources/Spells/PrimalSavagery.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
../Resources/Spells/RingOfBlades.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089
diff --git a/SolastaUnfinishedBusiness/Races/Lizardfolk.cs b/SolastaUnfinishedBusiness/Races/Lizardfolk.cs
index 97a91d35dd..d1c33cf132 100644
--- a/SolastaUnfinishedBusiness/Races/Lizardfolk.cs
+++ b/SolastaUnfinishedBusiness/Races/Lizardfolk.cs
@@ -1,5 +1,4 @@
using System.Collections;
-using System.Collections.Generic;
using System.Linq;
using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api.GameExtensions;
@@ -14,11 +13,11 @@
using SolastaUnfinishedBusiness.Properties;
using SolastaUnfinishedBusiness.Subclasses;
using SolastaUnfinishedBusiness.Validators;
+using static ActionDefinitions;
using static RuleDefinitions;
using static FeatureDefinitionAttributeModifier;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterRaceDefinitions;
-using static ActionDefinitions;
namespace SolastaUnfinishedBusiness.Races;
@@ -70,7 +69,7 @@ private static CharacterRaceDefinition BuildLizardfolk()
.AddToDB();
powerLizardfolkHungryJaws.AddCustomSubFeatures(
- new AttackAfterMagicEffectHungryJaws(),
+ new MagicEffectFinishedByMeHungryJaws(),
new PhysicalAttackFinishedByMeHungryJaws(powerLizardfolkHungryJaws));
var racePresentation = Dragonborn.RacePresentation.DeepCopy();
@@ -102,45 +101,36 @@ private static CharacterRaceDefinition BuildLizardfolk()
}
- private sealed class AttackAfterMagicEffectHungryJaws : IAttackAfterMagicEffect
+ private sealed class MagicEffectFinishedByMeHungryJaws : IMagicEffectFinishedByMe
{
- private const int MaxAttacks = 1;
-
- public IAttackAfterMagicEffect.CanAttackHandler CanAttack { get; } =
- CanMeleeAttack;
-
- public IAttackAfterMagicEffect.GetAttackAfterUseHandler PerformAttackAfterUse { get; } =
- DefaultAttackHandler;
-
- public IAttackAfterMagicEffect.CanUseHandler CanBeUsedToAttack { get; } =
- DefaultCanUseHandler;
-
- private static bool CanMeleeAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
{
- return true;
- }
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
- [CanBeNull]
- private static IEnumerable DefaultAttackHandler(
- [CanBeNull] CharacterActionMagicEffect actionMagicEffect)
- {
- var attacks = new List();
- var actionParams = actionMagicEffect?.ActionParams;
+ var actingCharacter = action.ActingCharacter;
+ var targets = action.ActionParams.TargetCharacters
+ .Where(x =>
+ x.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } &&
+ x.RulesetCharacter.HasConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, "ConditionHitByDirtyFighting"))
+ .ToList();
- if (actionParams == null)
+ if (targets.Count == 0)
{
- return attacks;
+ yield break;
}
- var caster = actionParams.ActingCharacter;
- var targets = actionParams.TargetCharacters;
- var rulesetCharacter = caster.RulesetCharacter;
+ var attackModeMain = actingCharacter.FindActionAttackMode(Id.AttackMain);
- if (targets.Count == 0)
+ if (attackModeMain == null)
{
- return attacks;
+ yield break;
}
+ var rulesetCharacter = actingCharacter.RulesetCharacter;
var attackModifiers = rulesetCharacter switch
{
RulesetCharacterHero hero => hero.attackModifiers,
@@ -161,32 +151,23 @@ private static IEnumerable DefaultAttackHandler(
attackMode.HasPriority = true;
- //get copy to be sure we don't break existing mode
- var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
- rulesetAttackModeCopy.Copy(attackMode);
-
- attackMode = rulesetAttackModeCopy;
+ attackMode.Copy(attackModeMain);
+ attackMode.ActionType = ActionType.NoCost;
attackMode.AddAttackTagAsNeeded(TagHungryJaws);
- ApplyAttackModeModifiers(caster, attackMode);
-
- var attackModifier = new ActionModifier();
+ ApplyAttackModeModifiers(actingCharacter, attackMode);
- foreach (var target in targets.Where(t => CanMeleeAttack(caster, t)))
+ // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
+ foreach (var target in targets)
{
- var attackActionParams =
- new CharacterActionParams(caster, Id.AttackFree) { AttackMode = attackMode };
-
- attackActionParams.TargetCharacters.Add(target);
- attackActionParams.ActionModifiers.Add(attackModifier);
- attacks.Add(attackActionParams);
-
- if (attackActionParams.TargetCharacters.Count >= MaxAttacks)
+ var attackModifier = new ActionModifier();
+ var actionParams = new CharacterActionParams(actingCharacter, Id.AttackFree)
{
- break;
- }
- }
+ AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
+ };
- return attacks;
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
}
private static void ApplyAttackModeModifiers(
@@ -215,16 +196,6 @@ private static void ApplyAttackModeModifiers(
modifier.ModifyAttackMode(hero, attackMode);
}
}
-
- private static bool DefaultCanUseHandler(
- [NotNull] CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target, [NotNull] out string failure)
- {
- failure = string.Empty;
-
- return true;
- }
}
private class PhysicalAttackFinishedByMeHungryJaws(FeatureDefinitionPower powerHungryJaws)
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerDarkDelirium.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerDarkDelirium.png
new file mode 100644
index 0000000000..d52116f531
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerDarkDelirium.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerEmergencySurgery.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerEmergencySurgery.png
new file mode 100644
index 0000000000..5492ed6354
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerEmergencySurgery.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerEyeOfTheStorm.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerEyeOfTheStorm.png
new file mode 100644
index 0000000000..b1beccc372
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerEyeOfTheStorm.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerFeyPresence.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerFeyPresence.png
new file mode 100644
index 0000000000..66c979c869
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerFeyPresence.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerGreatWeaponDefense.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerGreatWeaponDefense.png
new file mode 100644
index 0000000000..2f49d64851
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerGreatWeaponDefense.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerLightningLure.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerLightningLure.png
new file mode 100644
index 0000000000..1e22aa1607
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerLightningLure.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerMonkSuperiorDefense.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerMonkSuperiorDefense.png
new file mode 100644
index 0000000000..76055b9318
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerMonkSuperiorDefense.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerStepOfTheWind.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerStepOfTheWind.png
new file mode 100644
index 0000000000..7ad58dfbb7
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerStepOfTheWind.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerWhirlWindAttack.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerWhirlWindAttack.png
new file mode 100644
index 0000000000..9bb3e6f234
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Powers/PowerWhirlWindAttack.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/BorrowedKnowledge.png b/SolastaUnfinishedBusiness/Resources/Spells/BorrowedKnowledge.png
new file mode 100644
index 0000000000..4e3c3208af
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/BorrowedKnowledge.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/Infestation.png b/SolastaUnfinishedBusiness/Resources/Spells/Infestation.png
new file mode 100644
index 0000000000..fe99b73411
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/Infestation.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/IntellectFortress.png b/SolastaUnfinishedBusiness/Resources/Spells/IntellectFortress.png
new file mode 100644
index 0000000000..469b589009
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/IntellectFortress.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/KineticJaunt.png b/SolastaUnfinishedBusiness/Resources/Spells/KineticJaunt.png
new file mode 100644
index 0000000000..d0b192654b
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/KineticJaunt.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/LightningLure.png b/SolastaUnfinishedBusiness/Resources/Spells/LightningLure.png
new file mode 100644
index 0000000000..934e5daea9
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/LightningLure.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/PrimalSavagery.png b/SolastaUnfinishedBusiness/Resources/Spells/PrimalSavagery.png
new file mode 100644
index 0000000000..dc87141743
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/PrimalSavagery.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/PsionicBlast.png b/SolastaUnfinishedBusiness/Resources/Spells/PsionicBlast.png
new file mode 100644
index 0000000000..4354636427
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/PsionicBlast.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/SnillocSnowballStorm.png b/SolastaUnfinishedBusiness/Resources/Spells/SnillocSnowballStorm.png
index c772c3e2c3..2d690327cd 100644
Binary files a/SolastaUnfinishedBusiness/Resources/Spells/SnillocSnowballStorm.png and b/SolastaUnfinishedBusiness/Resources/Spells/SnillocSnowballStorm.png differ
diff --git a/SolastaUnfinishedBusiness/Resources/Spells/StarryWisp.png b/SolastaUnfinishedBusiness/Resources/Spells/StarryWisp.png
new file mode 100644
index 0000000000..64e90fa356
Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/StarryWisp.png differ
diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs
index ba4ed65301..094f373456 100644
--- a/SolastaUnfinishedBusiness/Settings.cs
+++ b/SolastaUnfinishedBusiness/Settings.cs
@@ -210,6 +210,9 @@ public class Settings : UnityModManager.ModSettings
public bool EnableMonkDoNotRequireAttackActionForFlurry { get; set; }
public bool EnableMonkFightingStyle { get; set; }
public bool EnableMonkImprovedUnarmoredMovementToMoveOnTheWall { get; set; }
+ public bool EnableMonkHeightenedMetabolism { get; set; }
+ public bool EnableMonkSuperiorDefenseToReplaceEmptyBody { get; set; }
+ public bool EnableMonkBodyAndMindToReplacePerfectSelf { get; set; }
public bool EnableMonkWeaponSpecialization { get; set; }
public bool EnableRogueCunningStrike { get; set; }
public bool EnableRogueFightingStyle { get; set; }
@@ -257,6 +260,7 @@ public class Settings : UnityModManager.ModSettings
public bool KeepInvisibilityWhenUsingItems { get; set; }
public bool IllusionSpellsAutomaticallyFailAgainstTrueSightInRange { get; set; }
public bool BlindedConditionDontAllowAttackOfOpportunity { get; set; }
+ public bool AllowTargetingSelectionWhenCastingChainLightningSpell { get; set; }
public bool RemoveHumanoidFilterOnHideousLaughter { get; set; }
public bool AddBleedingToLesserRestoration { get; set; }
public bool BestowCurseNoConcentrationRequiredForSlotLevel5OrAbove { get; set; }
@@ -267,6 +271,7 @@ public class Settings : UnityModManager.ModSettings
public bool UseHeightOneCylinderEffect { get; set; }
public bool FixEldritchBlastRange { get; set; }
public bool FixRingOfRegenerationHealRate { get; set; }
+ public bool EnableOneDndHealingSpellsBuf { get; set; }
// House
public bool AllowAnyClassToUseArcaneShieldstaff { get; set; }
diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml
index 41ba04e3cf..a24ed5a8ff 100644
--- a/SolastaUnfinishedBusiness/Settings/empty.xml
+++ b/SolastaUnfinishedBusiness/Settings/empty.xml
@@ -340,6 +340,9 @@
false
false
false
+ false
+ false
+ false
false
false
false
@@ -382,6 +385,7 @@
false
false
+ false
false
false
false
@@ -393,6 +397,7 @@
false
false
false
+ false
false
false
false
@@ -1088,4 +1093,7 @@
false
false
false
+ false
+ false
+ false
\ No newline at end of file
diff --git a/SolastaUnfinishedBusiness/Settings/hiddenHax.xml b/SolastaUnfinishedBusiness/Settings/hiddenHax.xml
new file mode 100644
index 0000000000..abf6e105c3
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Settings/hiddenHax.xml
@@ -0,0 +1,1748 @@
+
+
+ 0
+ 0
+ 4
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ false
+ false
+ true
+ true
+
+ -
+
+ Barbarian
+
+
+ true
+
+
+ -
+
+ Bard
+
+
+ true
+
+
+ -
+
+ Cleric
+
+
+ true
+
+
+ -
+
+ Druid
+
+
+ true
+
+
+ -
+
+ Fighter
+
+
+ true
+
+
+ -
+
+ Monk
+
+
+ true
+
+
+ -
+
+ Paladin
+
+
+ true
+
+
+ -
+
+ Ranger
+
+
+ true
+
+
+ -
+
+ Rogue
+
+
+ true
+
+
+ -
+
+ Sorcerer
+
+
+ true
+
+
+ -
+
+ Warlock
+
+
+ true
+
+
+ -
+
+ Wizard
+
+
+ true
+
+
+ -
+
+ Inventor
+
+
+ true
+
+
+
+
+ -
+
+ SpellListBard
+
+
+ true
+
+
+ -
+
+ SpellListCleric
+
+
+ true
+
+
+ -
+
+ SpellListDruid
+
+
+ true
+
+
+ -
+
+ SpellListInventor
+
+
+ true
+
+
+ -
+
+ SpellListPaladin
+
+
+ true
+
+
+ -
+
+ SpellListRanger
+
+
+ true
+
+
+ -
+
+ SpellListSorcerer
+
+
+ true
+
+
+ -
+
+ SpellListWarlock
+
+
+ true
+
+
+ -
+
+ SpellListMonkTraditionLight
+
+
+ true
+
+
+ -
+
+ SpellListWizard
+
+
+ true
+
+
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+ Adam_The_Twelth
+ DLC3_Elven_07_Guard
+ SRD_DLC_Mage
+ SRD_Mage
+ DLC1_NPC_Forge_Escorted_01
+ DLC3_NPC_Generic_ElvenCitizen_Husk
+ Generic_Darkweaver
+ DLC3_ElvenClans_Leralyn
+ DLC3_NPC_Elven3_DLC3_Ending
+ DLC3_NPC_Elven5_DLC3_Ending
+ Generic_HighPriest
+ DLC3_Elven_Suspect_05_Guard_Traitor
+ DLC3_Elven_06_Guard
+ SRD_DLC3_Archmage
+ Generic_ShockArcanist
+ Mutant_Ape
+ Mutant_Ape_Range
+ Mutant_Direwolf
+ Badlands_Ape_MonsterDefinition
+ BadlandsBear
+ BadlandsBear_POI_ONLY
+ Eagle_Matriarch
+ KindredSpiritApe
+ KindredSpiritBear
+ KindredSpiritEagle
+ KindredSpiritTiger
+ KindredSpiritViper
+ KindredSpiritWolf
+ WildshapeDirewolf
+ WildShapeWolf
+ AlphaWolf
+ ConjuredEightBeast_Wolf
+ ConjuredTwoBeast_Direwolf
+ Direwolf
+ DLC1_Complex_Trained_Direwolf
+ DLC1_Complex_Trained_Wolf
+ StarvingWolf
+ Wolf
+ FeyBear
+ FeyGiant_Eagle
+ FeyGiantApe
+ FeyWolf
+ SRD_Werewolf
+ Captain_Verissa_Ironshell
+ Conjuration_TheSuperEgo_Master_Humanoid
+ DLC1_Complex_NPC_Sitinero
+ DLC1_Complex_NPC_Sitinero_DM_Monster
+ DLC1_NPC_Fusioned_Orenetis_Sitenero
+ DLC1_NPC_Sitenero
+ DLC1_NPC_Tuznut
+ DLC1_NPC_Tuznut_Hostile
+ DLC1_NPC_Tuznut_Hostile_DM_Monster
+ DLC1_Valley_NPC_Samko_Flint
+ DLC1_Valley_NPC_Telerien_Purevoice
+ DLC1_NPC_Forge_Hasdrubal
+ DLC1_NPC_Nobleman_ThePeople07
+ DLC1_NPC_Orenetis_Apprentice
+ DLC1_NPC_ThePeople_Reya_Outpost
+ DLC3_NPC_Einareum_Merchant_General
+ DLC3_NPC_SouthernClans_Generic_Cousin_Husk
+ Lizzaria_Of_Grimhold
+ Merchant_Gorim_Ironsoot
+ Merchant_Hugo_Requer
+ Priest_Of_Misaye_Nel
+
+
+ Couatl
+ CubeOfLight
+ Conjuration_TheSuperEgo_Master_Humanoid
+
+
+ Aksha
+ Aksha_Legendary
+
+
+ Aksha
+ Aksha_Legendary
+
+
+ AcidSplash
+ Aid
+ AnimalShapes
+ BeaconOfHope
+ Bless
+ BlessingOfRime
+ BoomingBlade
+ DispelMagic
+ FeatherFall
+ Knock
+ Levitate
+ MassCureWounds
+ PassWithoutTrace
+ PowerBarbarianBrutalStrike
+ PowerBardHopeWordsOfHope6
+ PowerBardTraditionManacalonsPerfection
+ PowerCelestialSearingVengeance
+ PowerCollegeOfAudacityDefensiveWhirl
+ PowerCollegeOfAudacityMobileWhirl
+ PowerCollegeOfValianceHeroicInspiration
+ PowerDomainElementalHeraldOfTheElementsThunder
+ PowerFeatChefCookMeal
+ PowerFeatOrcishAggression
+ PowerInnovationWeaponArcaneJolt
+ PowerOathOfJugementPurgeCorruption
+ PowerOathOfJugementRetribution
+ PowerOathOfThunderThunderousRebuke
+ PowerPatronFiendHurlThroughHell
+ PowerRangerHellWalkerMarkOfTheDammed
+ PowerRangerLightBearerBlessedWarrior
+ PowerRiftWalkerRiftStrike
+ PowerSorcerousPsionMindOverMatter
+ PowerTraditionOpenHandQuiveringPalmTrigger
+ PowerWayOfTheDistantHandZenArrowTechnique
+ PowerWayOfTheDistantHandZenArrowUpgradedTechnique
+ RayOfEnfeeblement
+ ResonatingStrike
+ Sanctuary
+ ShieldOfFaith
+ Sparkle
+ SunlightBlade
+ TrueStrike
+ CommandApproach
+ CommandDrop
+ CommandFlee
+ CommandGrovel
+ CommandHalt
+ AnimateDead
+ ArcaneSword
+ ConjureAnimalsFourBeasts
+ ConjureAnimalsOneBeast
+ ConjureAnimalsTwoBeasts
+ ConjureCelestial
+ ConjureCelestialCouatl
+ ConjureCelestialKutkartal
+ ConjureCelestialMelek
+ ConjureElemental
+ ConjureElementalAir
+ ConjureElementalEarth
+ ConjureElementalFire
+ ConjureFey_Ape
+ ConjureFey_Bear
+ ConjureFey_Dryad
+ ConjureFey_Eagle
+ ConjureFey_GreenHag
+ ConjureFey_Wolf
+ ConjureFey
+ ConjureGoblinoids
+ ConjureMinorElementals
+ ConjureMinorElementalsFour
+ ConjureMinorElementalsOne_b
+ ConjureMinorElementalsOne
+ ConjureMinorElementalsTwo
+ CreateDeadRisenGhost
+ CreateDeadRisenGhoul
+ CreateDeadRisenSkeleton_Archer
+ CreateDeadRisenSkeleton_Enforcer
+ CreateDeadRisenSkeleton_Knight
+ CreateDeadRisenSkeleton_Marksman
+ CreateDeadRisenSkeleton
+ CreateDeadRisenWight
+ CreateDeadRisenWightLord
+ DancingLights
+ DimensionDoor
+ FindFamiliar
+ GiantInsect
+ SpiritualWeapon
+ WaterBreathing
+ WaterWalk
+
+ true
+ false
+ false
+ false
+ true
+
+ Korragos
+ Hurk
+ Perra
+ Serenrae
+
+ false
+ true
+ true
+ false
+ false
+ 100
+ 4
+ false
+ 1.5
+ 5
+ false
+ false
+ false
+ false
+ true
+ true
+ true
+ true
+ 0
+ false
+ false
+ false
+ true
+ false
+ 3
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ true
+ false
+ false
+ true
+ false
+ true
+
+ true
+ false
+ true
+ true
+ true
+ true
+ false
+ true
+ false
+ true
+ false
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ false
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ true
+ true
+ true
+ false
+
+ false
+
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+
+ true
+ false
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ true
+ true
+ false
+ false
+ false
+ false
+ true
+ false
+ true
+ false
+ false
+ false
+ true
+ true
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ true
+ true
+ false
+ false
+ true
+ false
+ false
+ true
+ true
+
+ true
+ true
+ 1
+ 0
+ 0
+ 0
+ true
+ true
+ false
+ 200
+ 0
+ 0
+ 3
+
+
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 4
+
+ RaceOligath
+ RaceMalakh
+ RaceWendigo
+ RaceImp
+ RaceWyrmkin
+ RaceBolgrif
+ RaceBattleborn
+ RaceOni
+ RaceWildling
+ RaceLizardfolk
+
+ 4
+
+ RaceDarkelf
+ RaceHalfElfDark
+ RaceTieflingMephistopheles
+ RaceTieflingDevilTongue
+ RaceHalfElfHigh
+ RaceTieflingFeral
+ RaceHalfElfSylvan
+ RaceTieflingZariel
+ RaceObsidianDwarf
+ RaceIronbornDwarf
+ RaceGrayDwarf
+ RaceShadarKai
+
+ 4
+
+ BackgroundDevoted
+ BackgroundTroublemaker
+ BackgroundMilitia
+
+
+ -
+
+ Barbarian
+
+
+ 4
+
+
+ -
+
+ Bard
+
+
+ 4
+
+
+ -
+
+ Cleric
+
+
+ 4
+
+
+ -
+
+ Druid
+
+
+ 4
+
+
+ -
+
+ Fighter
+
+
+ 4
+
+
+ -
+
+ Monk
+
+
+ 4
+
+
+ -
+
+ Paladin
+
+
+ 4
+
+
+ -
+
+ Ranger
+
+
+ 4
+
+
+ -
+
+ Rogue
+
+
+ 4
+
+
+ -
+
+ Sorcerer
+
+
+ 4
+
+
+ -
+
+ Warlock
+
+
+ 4
+
+
+ -
+
+ Wizard
+
+
+ 4
+
+
+ -
+
+ Inventor
+
+
+ 4
+
+
+
+
+ -
+
+ Barbarian
+
+
+
+ PathOfTheElements
+ PathOfTheLight
+ PathOfTheReaver
+ PathOfTheSavagery
+ PathOfTheSpirits
+ PathOfTheRavager
+
+
+
+ -
+
+ Bard
+
+
+
+ CollegeOfAudacity
+ CollegeOfValiance
+ CollegeOfGuts
+ CollegeOfLife
+ CollegeOfThespian
+ CollegeOfElegance
+
+
+
+ -
+
+ Cleric
+
+
+
+ DomainDefiler
+ DomainSmith
+ DomainNature
+ DomainTempest
+
+
+
+ -
+
+ Druid
+
+
+
+ CircleOfTheLife
+ CircleOfTheNight
+ CircleOfTheForestGuardian
+ CircleOfTheCosmos
+
+
+
+ -
+
+ Fighter
+
+
+
+ MartialArcaneArcher
+ MartialSpellShield
+ MartialTactician
+ MartialWeaponMaster
+ MartialRoyalKnight
+ MartialGuardian
+ MartialWarlord
+ MartialForceKnight
+
+
+
+ -
+
+ Monk
+
+
+
+ WayOfTheDiscordance
+ WayOfTheDragon
+ WayOfSilhouette
+ WayOfZenArchery
+ WayOfTheStormSoul
+
+
+
+ -
+
+ Paladin
+
+
+
+ OathOfHatred
+ OathOfAncients
+ OathOfDread
+
+
+
+ -
+
+ Ranger
+
+
+
+ RangerArcanist
+ RangerSurvivalist
+ RangerHellWalker
+ RangerWildMaster
+ RangerLightBearer
+ RangerGloomStalker
+ RangerFeyWanderer
+
+
+
+ -
+
+ Rogue
+
+
+
+ RoguishOpportunist
+ RoguishArcaneScoundrel
+ RoguishBladeCaller
+ RoguishSlayer
+ RoguishDuelist
+ RoguishRavenScion
+ RoguishUmbralStalker
+
+
+
+ -
+
+ Sorcerer
+
+
+
+ SorcerousDivineHeart
+ SorcerousFieldManipulator
+ SorcerousSorrAkkath
+ SorcerousSpellBlade
+ SorcerousPsion
+
+
+
+ -
+
+ Warlock
+
+
+
+ PatronSoulBlade
+ PatronCelestial
+ PatronMoonlitScion
+ PatronArchfey
+
+
+
+ -
+
+ Wizard
+
+
+
+ WizardBladeDancer
+ WizardGraviturgist
+ WizardWarMagic
+
+
+
+ -
+
+ Inventor
+
+
+
+ InnovationAlchemy
+ InnovationArmor
+ InnovationArtillerist
+ InnovationVitriolist
+ InnovationVivisectionist
+ InnovationWeapon
+
+
+
+
+ 4
+
+ FeatGroupApothecary
+ FeatGroupAwakenTheBeastWithin
+ FeatBladeMastery
+ FeatGroupBlessedSoul
+ FeatCallForCharge
+ FeatCleavingAttack
+ FeatGroupCloseQuarters
+ FeatGroupCrusher
+ FeatCunningEscape
+ FeatDefensiveDuelist
+ FeatDevastatingStrikes
+ FeatDragonWings
+ FeatDualFlurry
+ FeatDualWeaponDefense
+ FeatGroupElementalAdept
+ FeatGroupElvenAccuracy
+ FeatExpandTheHunt
+ FeatExploiter
+ FeatGroupFadeAway
+ FeatFellHanded
+ FeatGroupHardy
+ FeatHeavyArmorMaster
+ FeatInfernalConstitution
+ FeatInspiringLeader
+ FeatLongswordFinesse
+ FeatGroupMagicInitiate
+ FeatGroupMediumArmor
+ FeatMetamagicAdept
+ FeatMobile
+ FeatMonkInitiate
+ FeatNaturalFluidity
+ FeatPickPocket
+ FeatGroupPiercer
+ FeatPoisoner
+ FeatPolearmExpert
+ FeatGroupPotentSpellcaster
+ FeatGroupPrecisionFocused
+ FeatGroupPrimalRage
+ FeatGroupRevenantGreatSword
+ FeatSentinel
+ FeatGroupSlasher
+ FeatSpearMastery
+ FeatGroupSpellSniper
+ FeatSpiritualFluidity
+ FeatGroupSquatNimbleness
+ FeatGroupTelekinetic
+ FeatTough
+ FeatGroupToxicologist
+ FeatGroupDefenseExpert
+ FeatWarCaster
+ FeatMediumArmorMaster
+ FeatFencer
+ FeatZenArcher
+ FeatFrostAdaptation
+ FeatShieldTechniques
+ FeatEldritchAdept
+ FeatGroupFightingStyle
+ FeatTacticianAdept
+ FeatGroupSecondChance
+ FeatGiftOfTheChromaticDragon
+ FeatArcaneArcherAdept
+ FeatCharger
+ FeatGroupChef
+ FeatAlert
+ FeatGroupFlamesOfPhlegethos
+ FeatDwarvenFortitude
+ FeatGroupOrcishFury
+ FeatMageSlayer
+ FeatWoodElfMagic
+ FeatDarkElfMagic
+ FeatGroupFeyTeleport
+ FeatGroupDragonFear
+ FeatGroupDragonHide
+ FeatBountifulLuck
+ FeatGroupWeaponMaster
+ FeatHealer
+ FeatGroupGrudgeBearer
+ FeatGroupOrcishAggression
+ FeatGroupAthlete
+ FeatInfusionsAdept
+ FeatLucky
+ FeatDungeonDelver
+ FeatGroupBalefulScion
+ FeatMenacing
+ FeatArcanist
+ FeatAcrobat
+ FeatTheologian
+ FeatStealthy
+ FeatBowMastery
+ FeatCrossbowMastery
+ FeatMerciless
+ FeatRopeItUp
+ FeatShieldExpert
+ FeatSuperiorCritical
+ FeatImprovedCritical
+ FeatAlwaysReady
+ FeatGreatWeaponDefense
+ FeatGroupWhirlWindAttack
+
+ 4
+
+ FeatGroupArmor
+ FeatGroupBodyResilience
+ FeatGroupClassBound
+ FeatGroupAgilityCombat
+ FeatGroupDefenseCombat
+ FeatGroupMeleeCombat
+ FeatGroupRangedCombat
+ FeatGroupSpellCombat
+ FeatGroupSupportCombat
+ FeatGroupTwoHandedCombat
+ FeatGroupTwoWeaponCombat
+ FeatGroupUnarmoredCombat
+ FeatGroupCreed
+ FeatGroupGeneralAdept
+ FeatGroupRaceBound
+ FeatGroupSkills
+ FeatGroupTools
+ FeatGroupHalfAttributes
+ FeatGroupElementalTouch
+ FeatGroupPlaneMagic
+
+ 4
+
+ Interception
+ BlindFighting
+ RemarkableTechnique
+ HandAndAHalf
+ AstralReach
+ Crippling
+ Executioner
+ Pugilist
+
+ 4
+
+ InvocationAspectOfTheMoon
+ InvocationBondOfTheTalisman
+ InvocationEldritchMind
+ InvocationEldritchSmite
+ InvocationGiftOfTheEverLivingOnes
+ InvocationGiftOfTheProtectors
+ InvocationGraspingBlast
+ InvocationHinderingBlast
+ InvocationImprovedPactWeapon
+ InvocationShroudOfShadow
+ InvocationSuperiorPactWeapon
+ InvocationTrickstersEscape
+ InvocationUltimatePactWeapon
+ InvocationUndyingServitude
+ InvocationBreakerAndBanisher
+ InvocationDiscerningGaze
+ InvocationGiftOfTheHunter
+ InvocationSpectralShield
+ InvocationCallOfTheBeast
+ InvocationTenaciousPlague
+ InvocationVerdantArmor
+ InvocationInexorableHex
+ InvocationVexingHex
+ InvocationTombOfFrost
+ InvocationPerniciousCloak
+ InvocationStasis
+ InvocationChillingHex
+ InvocationBurningHex
+ InvocationPsychicBlast
+ InvocationFulminateBlast
+ InvocationFieryBlast
+ InvocationChillingBlast
+ InvocationPoisonousBlast
+ InvocationThunderBlast
+ InvocationNecroticBlast
+ InvocationCorrosiveBlast
+ InvocationRadiantBlast
+ InvocationBreathOfTheNight
+
+ 4
+
+ MetamagicSeekingSpell
+ MetamagicTransmutedSpell
+ MetamagicWidenedSpell
+
+ false
+ false
+
+ -
+
+ SpellListBard
+
+
+ 4
+
+
+ -
+
+ SpellListCleric
+
+
+ 4
+
+
+ -
+
+ SpellListDruid
+
+
+ 4
+
+
+ -
+
+ SpellListInventor
+
+
+ 4
+
+
+ -
+
+ SpellListPaladin
+
+
+ 4
+
+
+ -
+
+ SpellListRanger
+
+
+ 4
+
+
+ -
+
+ SpellListSorcerer
+
+
+ 4
+
+
+ -
+
+ SpellListWarlock
+
+
+ 4
+
+
+ -
+
+ SpellListMonkTraditionLight
+
+
+ 4
+
+
+ -
+
+ SpellListWizard
+
+
+ 4
+
+
+
+
+ -
+
+ SpellListBard
+
+
+
+ AirBlast
+ BoomingBlade
+ ResonatingStrike
+ SunlightBlade
+ BladeWard
+ IlluminatingSphere
+ MinorLifesteal
+ StarryWisp
+ ThunderStrike
+ EarthTremor
+ Mule
+ CloudOfDaggers
+ MirrorImage
+ BlessingOfRime
+ BrainBulwark
+ IrresistiblePerformance
+ PsychicLance
+ MindBlank
+ Foresight
+ PowerWordHeal
+ PowerWordKill
+
+
+
+ -
+
+ SpellListCleric
+
+
+
+ AirBlast
+ ElementalWeapon
+ TollTheDead
+ BurstOfRadiance
+ Wrack
+ Sanctuary
+ ProtectThreshold
+ AuraOfLife
+ VitalityTransfer
+ SpiritShroud
+ AuraOfVitality
+ AuraOfPerseverance
+ Dawn
+ MassHeal
+ PowerWordHeal
+
+
+
+ -
+
+ SpellListDruid
+
+
+
+ AcidClaws
+ AirBlast
+ StarryWisp
+ ThornyVines
+ ThunderStrike
+ ElementalInfusion
+ EarthTremor
+ IceBlade
+ ConjureGoblinoids
+ NoxiousSpray
+ PetalStorm
+ ProtectThreshold
+ WitherAndBloom
+ AdderFangs
+ ElementalWeapon
+ FlameArrows
+ WinterBreath
+ BlessingOfRime
+ ForestGuardian
+ MantleOfThorns
+ FlashFreeze
+ DraconicTransformation
+ ReverseGravity
+ Foresight
+ Shapechange
+
+
+
+ -
+
+ SpellListInventor
+
+
+
+ BoomingBlade
+ ResonatingStrike
+ LightningLure
+ SunlightBlade
+ SwordStorm
+ ThornyVines
+ ThunderStrike
+ CausticZap
+ RadiantMotes
+ Sanctuary
+ VileBrew
+ ColorBurst
+ SpellWeb
+ ElementalWeapon
+ FlameArrows
+ BrainBulwark
+ FaithfulHound
+
+
+
+ -
+
+ SpellListPaladin
+
+
+
+ SearingSmite
+ ThunderousSmite
+ WrathfulSmite
+ ProtectThreshold
+ AuraOfLife
+ BlindingSmite
+ CrusadersMantle
+ ElementalWeapon
+ SpiritShroud
+ AuraOfVitality
+ AuraOfPerseverance
+ StaggeringSmite
+ BanishingSmite
+ CircleOfMagicalNegation
+ DivineWrath
+
+
+
+ -
+
+ SpellListRanger
+
+
+
+ ElementalInfusion
+ EnsnaringStrike
+ SpikeBarrage
+ SearingSmite
+ StrikeWithTheWind
+ ConjureGoblinoids
+ AdderFangs
+ ElementalWeapon
+ FlameArrows
+ LightningArrow
+ BlessingOfRime
+ ForestGuardian
+ SteelWhirlwind
+
+
+
+ -
+
+ SpellListSorcerer
+
+
+
+ HeroicInfusion
+ Foresight
+ BladeWard
+ BoomingBlade
+ ResonatingStrike
+ AirBlast
+ IlluminatingSphere
+ LightningLure
+ MindSpike
+ MinorLifesteal
+ SunlightBlade
+ SwordStorm
+ ThunderStrike
+ ElementalInfusion
+ CausticZap
+ ChaosBolt
+ ChromaticOrb
+ EarthTremor
+ IceBlade
+ Mule
+ VileBrew
+ WitchBolt
+ AganazzarScorcher
+ CloudOfDaggers
+ ColorBurst
+ MirrorImage
+ NoxiousSpray
+ BindingIce
+ ShadowBlade
+ SnillocSnowballStorm
+ PsychicWhip
+ SpellWeb
+ WitherAndBloom
+ AdderFangs
+ CorruptingBolt
+ FlameArrows
+ BoomingStep
+ WinterBreath
+ BrainBulwark
+ PsychicLance
+ FarStep
+ Incineration
+ SonicBoom
+ Telekinesis
+ FizbanPlatinumShield
+ FlashFreeze
+ MysticalCloak
+ DraconicTransformation
+ ReverseGravity
+ MeteorSwarmSingleTarget
+ PowerWordKill
+ TimeStop
+
+
+
+ -
+
+ SpellListWarlock
+
+
+
+ BladeWard
+ BoomingBlade
+ ResonatingStrike
+ LightningLure
+ MindSpike
+ MinorLifesteal
+ SunlightBlade
+ SwordStorm
+ ThunderStrike
+ TollTheDead
+ SkinOfRetribution
+ VoidGrasp
+ Mule
+ WitchBolt
+ CloudOfDaggers
+ MirrorImage
+ NoxiousSpray
+ ShadowBlade
+ AdderFangs
+ CorruptingBolt
+ HungerOfTheVoid
+ SpiritShroud
+ BoomingStep
+ BrainBulwark
+ PsychicLance
+ FarStep
+ FlashFreeze
+ MysticalCloak
+ MaddeningDarkness
+ Foresight
+ PowerWordKill
+ Weird
+
+
+
+ -
+
+ SpellListMonkTraditionLight
+
+
+
+
+
+ -
+
+ SpellListWizard
+
+
+
+ BladeWard
+ BoomingBlade
+ ResonatingStrike
+ AirBlast
+ IlluminatingSphere
+ LightningLure
+ MindSpike
+ MinorLifesteal
+ EnduringSting
+ SunlightBlade
+ SwordStorm
+ ThunderStrike
+ TollTheDead
+ ElementalInfusion
+ CausticZap
+ ChromaticOrb
+ EarthTremor
+ FindFamiliar
+ GiftOfAlacrity
+ IceBlade
+ MagnifyGravity
+ Mule
+ RadiantMotes
+ VileBrew
+ WitchBolt
+ AganazzarScorcher
+ CloudOfDaggers
+ ColorBurst
+ MirrorImage
+ NoxiousSpray
+ BindingIce
+ ShadowBlade
+ SnillocSnowballStorm
+ PsychicWhip
+ SpellWeb
+ WitherAndBloom
+ CorruptingBolt
+ FlameArrows
+ VitalityTransfer
+ PulseWave
+ SpiritShroud
+ BoomingStep
+ WinterBreath
+ BrainBulwark
+ GravitySinkhole
+ FaithfulHound
+ PsychicLance
+ Dawn
+ FarStep
+ Incineration
+ SonicBoom
+ SteelWhirlwind
+ Telekinesis
+ FizbanPlatinumShield
+ PoisonWave
+ RingOfBlades
+ MysticalCloak
+ HeroicInfusion
+ DraconicTransformation
+ ReverseGravity
+ MaddeningDarkness
+ MindBlank
+ Foresight
+ MeteorSwarmSingleTarget
+ PowerWordKill
+ Shapechange
+ TimeStop
+ Weird
+
+
+
+
+ false
+ true
+ true
+ true
+ true
+ false
+ false
+ false
+ false
+ true
+ true
+ true
+ true
+ false
+ false
+ false
+ false
+ true
+ 5
+ 1
+ 100
+ 100
+ 100
+ false
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 1
+ 1
+ 0
+
+
+ 0
+ 0
+ 1
+ 1
+ 0
+
+
+ 0
+ 0
+ 1
+ 1
+ 0
+
+
+ 0
+ 0
+ 1
+ 1
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 0
+ 1
+ 0
+ 1
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 1
+ 1
+ 1
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 0
+ 1
+ 0
+ 0
+
+
+ 0
+ 0
+ 1
+ 0
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+ 0
+ 1
+ 0
+ 1
+ 0
+
+
+
+ false
+ false
+ false
+ true
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ true
+ false
+ false
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ true
+ false
+ false
+ true
+ false
+ true
+ false
+ en
+ false
+ false
+ false
+ false
+ false
+ false
+
\ No newline at end of file
diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml
index d8a72d4deb..790036d9bb 100644
--- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml
+++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml
@@ -437,6 +437,9 @@
true
false
true
+ true
+ true
+ true
false
true
false
@@ -479,6 +482,7 @@
true
true
+ true
true
true
true
@@ -490,6 +494,7 @@
true
true
true
+ true
true
true
true
@@ -899,7 +904,7 @@
WayOfTheDiscordance
WayOfTheDragon
WayOfSilhouette
- WayOfTheTempest
+ WayOfTheStormSoul
WayOfWealAndWoe
WayOfZenArchery
@@ -974,6 +979,7 @@
+ PatronArchfey
PatronCelestial
PatronEldritchSurge
PatronElementalist
@@ -1062,6 +1068,7 @@
FeatGroupFlamesOfPhlegethos
FeatFrostAdaptation
FeatGiftOfTheChromaticDragon
+ FeatGreatWeaponDefense
FeatCleavingAttack
FeatGroupGrudgeBearer
FeatGroupHardy
@@ -1123,6 +1130,7 @@
FeatEldritchVersatilityAdept
FeatWarCaster
FeatGroupWeaponMaster
+ FeatGroupWhirlWindAttack
FeatZenArcher
FeatWoodElfMagic
@@ -1312,11 +1320,15 @@
BladeWard
IlluminatingSphere
MinorLifesteal
+ StarryWisp
ThunderStrike
EarthTremor
Mule
+ BorrowedKnowledge
CloudOfDaggers
+ KineticJaunt
MirrorImage
+ IntellectFortress
BlessingOfRime
BrainBulwark
IrresistiblePerformance
@@ -1340,6 +1352,7 @@
BurstOfRadiance
Wrack
Sanctuary
+ BorrowedKnowledge
ProtectThreshold
AuraOfLife
VitalityTransfer
@@ -1360,6 +1373,9 @@
AcidClaws
AirBlast
+ Infestation
+ PrimalSavagery
+ StarryWisp
ThornyVines
ThunderStrike
ElementalInfusion
@@ -1393,6 +1409,7 @@
BoomingBlade
ResonatingStrike
+ LightningLure
SunlightBlade
SwordStorm
ThornyVines
@@ -1402,9 +1419,11 @@
Sanctuary
VileBrew
ColorBurst
+ KineticJaunt
SpellWeb
ElementalWeapon
FlameArrows
+ IntellectFortress
BrainBulwark
FaithfulHound
@@ -1469,6 +1488,8 @@
ResonatingStrike
AirBlast
IlluminatingSphere
+ Infestation
+ LightningLure
MindSpike
MinorLifesteal
SunlightBlade
@@ -1486,6 +1507,7 @@
AganazzarScorcher
CloudOfDaggers
ColorBurst
+ KineticJaunt
MirrorImage
NoxiousSpray
BindingIce
@@ -1497,6 +1519,8 @@
AdderFangs
CorruptingBolt
FlameArrows
+ IntellectFortress
+ PsionicBlast
BoomingStep
WinterBreath
BrainBulwark
@@ -1525,6 +1549,8 @@
BladeWard
BoomingBlade
ResonatingStrike
+ Infestation
+ LightningLure
MindSpike
MinorLifesteal
SunlightBlade
@@ -1535,6 +1561,7 @@
VoidGrasp
Mule
WitchBolt
+ BorrowedKnowledge
CloudOfDaggers
MirrorImage
NoxiousSpray
@@ -1542,6 +1569,8 @@
AdderFangs
CorruptingBolt
HungerOfTheVoid
+ IntellectFortress
+ PsionicBlast
SpiritShroud
BoomingStep
BrainBulwark
@@ -1575,6 +1604,8 @@
ResonatingStrike
AirBlast
IlluminatingSphere
+ Infestation
+ LightningLure
MindSpike
MinorLifesteal
EnduringSting
@@ -1595,8 +1626,10 @@
VileBrew
WitchBolt
AganazzarScorcher
+ BorrowedKnowledge
CloudOfDaggers
ColorBurst
+ KineticJaunt
MirrorImage
NoxiousSpray
BindingIce
@@ -1607,7 +1640,9 @@
WitherAndBloom
CorruptingBolt
FlameArrows
+ IntellectFortress
VitalityTransfer
+ PsionicBlast
PulseWave
SpiritShroud
BoomingStep
diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj
index 1fa99a59a5..5f3aa6adcc 100644
--- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj
+++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj
@@ -3,7 +3,7 @@
12
net48
- 1.5.97.11
+ 1.5.97.12
https://github.com/SolastaMods/SolastaUnfinishedBusiness
git
Debug Install;Release Install
@@ -131,6 +131,10 @@
$(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.CoreModule.dll
false
+
+ $(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.DirectorModule.dll
+ false
+
$(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.ImageConversionModule.dll
false
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs
index f6cf072f52..c7df142ac7 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs
@@ -4,6 +4,7 @@
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.Helpers;
using SolastaUnfinishedBusiness.Behaviors;
+using SolastaUnfinishedBusiness.Behaviors.Specific;
using SolastaUnfinishedBusiness.Builders;
using SolastaUnfinishedBusiness.Builders.Features;
using SolastaUnfinishedBusiness.CustomUI;
@@ -22,6 +23,64 @@ namespace SolastaUnfinishedBusiness.Spells;
internal static partial class SpellBuilders
{
+ private static readonly (string, IMagicEffect)[] DamagesAndEffects =
+ [
+ (DamageTypeAcid, AcidSplash), (DamageTypeCold, ConeOfCold), (DamageTypeFire, FireBolt),
+ (DamageTypeLightning, LightningBolt), (DamageTypePoison, PoisonSpray), (DamageTypeThunder, Shatter)
+ ];
+
+ #region Acid Claws
+
+ internal static SpellDefinition BuildAcidClaw()
+ {
+ const string NAME = "AcidClaws";
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.AcidClaws, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation)
+ .SetSpellLevel(0)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.None)
+ .SetVerboseComponent(false)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1, (TurnOccurenceType)ExtraTurnOccurenceType.StartOfSourceTurn)
+ .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 1, TargetType.IndividualsUnique)
+ .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeAcid, 1, DieType.D8)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(
+ ConditionDefinitionBuilder
+ .Create("ConditionAcidClaws")
+ .SetGuiPresentation(Category.Condition, ConditionAcidSpit)
+ .SetConditionType(ConditionType.Detrimental)
+ .SetFeatures(
+ FeatureDefinitionAttributeModifierBuilder
+ .Create("AttributeModifierAcidClawsACDebuff")
+ .SetGuiPresentation("ConditionAcidClaws", Category.Condition)
+ .SetModifier(AttributeModifierOperation.Additive,
+ AttributeDefinitions.ArmorClass, -1)
+ .AddToDB())
+ .AddToDB(), ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetParticleEffectParameters(AcidSplash)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Air Blast
internal static SpellDefinition BuildAirBlast()
@@ -215,49 +274,43 @@ internal static SpellDefinition BuildIlluminatingSphere()
#endregion
- #region Mind Spike
+ #region Infestation
- internal static SpellDefinition BuildMindSpike()
+ internal static SpellDefinition BuildInfestation()
{
- const string NAME = "MindSpike";
-
- var conditionMindSpike = ConditionDefinitionBuilder
- .Create(ConditionBaned, $"Condition{NAME}")
- .SetOrUpdateGuiPresentation(Category.Condition)
- .SetFeatures(FeatureDefinitionSavingThrowAffinitys.SavingThrowAffinityConditionBaned)
- .SetSpecialInterruptions(ConditionInterruption.SavingThrow)
- .AddToDB();
+ const string NAME = "Infestation";
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.MindSpike, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.Infestation, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolConjuration)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.None)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
.SetVerboseComponent(true)
- .SetSomaticComponent(false)
+ .SetSomaticComponent(true)
.SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
- .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
- .SetSavingThrowData(false, AttributeDefinitions.Intelligence, false,
+ .SetSavingThrowData(false, AttributeDefinitions.Constitution, false,
EffectDifficultyClassComputation.SpellCastingFeature)
.SetEffectForms(
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypePsychic, 1, DieType.D6)
+ .SetDamageForm(DamageTypePoison, 1, DieType.D6)
.HasSavingThrow(EffectSavingThrowType.Negates)
.Build(),
EffectFormBuilder
.Create()
- .SetConditionForm(conditionMindSpike, ConditionForm.ConditionOperation.Add)
+ .SetMotionForm(MotionForm.MotionType.PushRandomDirection, 1)
.HasSavingThrow(EffectSavingThrowType.Negates)
.Build())
- .SetParticleEffectParameters(ShadowDagger)
+ .SetCasterEffectParameters(PoisonSpray)
+ .SetImpactEffectParameters(
+ PoisonSpray.EffectDescription.EffectParticleParameters.effectParticleReference)
.Build())
.AddToDB();
@@ -266,33 +319,41 @@ internal static SpellDefinition BuildMindSpike()
#endregion
- #region Minor Life Steal
+ #region Lightning Lure
- internal static SpellDefinition BuildMinorLifesteal()
+ internal static SpellDefinition BuildLightningLure()
{
+ const string NAME = "LightningLure";
+
var spell = SpellDefinitionBuilder
- .Create("MinorLifesteal")
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite("MinorLifesteal", Resources.MinorLifesteal, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.LightningLure, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
.SetMaterialComponent(MaterialComponentType.None)
.SetVerboseComponent(true)
- .SetSomaticComponent(true)
+ .SetSomaticComponent(false)
.SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetDurationData(DurationType.Hour, 1)
- .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 1, TargetType.IndividualsUnique)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 3, TargetType.IndividualsUnique)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
- .AddImmuneCreatureFamilies(CharacterFamilyDefinitions.Construct, CharacterFamilyDefinitions.Undead)
+ .SetSavingThrowData(false, AttributeDefinitions.Strength, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
.SetEffectForms(
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypeNecrotic, 1, DieType.D6, 0, HealFromInflictedDamage.Half)
+ .SetMotionForm(MotionForm.MotionType.DragToOrigin, 2)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeLightning, 1, DieType.D8)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
.Build())
- .SetParticleEffectParameters(VampiricTouch)
+ .SetParticleEffectParameters(LightningBolt)
.Build())
.AddToDB();
@@ -301,33 +362,46 @@ internal static SpellDefinition BuildMinorLifesteal()
#endregion
- #region Sword Storm
+ #region Mind Spike
- internal static SpellDefinition BuildSwordStorm()
+ internal static SpellDefinition BuildMindSpike()
{
- const string NAME = "SwordStorm";
+ const string NAME = "MindSpike";
+
+ var conditionMindSpike = ConditionDefinitionBuilder
+ .Create(ConditionBaned, $"Condition{NAME}")
+ .SetOrUpdateGuiPresentation(Category.Condition)
+ .SetFeatures(FeatureDefinitionSavingThrowAffinitys.SavingThrowAffinityConditionBaned)
+ .SetSpecialInterruptions(ConditionInterruption.SavingThrow)
+ .AddToDB();
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.SwordStorm, 128))
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.MindSpike, 128))
.SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetMaterialComponent(MaterialComponentType.None)
.SetVerboseComponent(true)
- .SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetSomaticComponent(false)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cube, 3)
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
- .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false,
+ .SetSavingThrowData(false, AttributeDefinitions.Intelligence, false,
EffectDifficultyClassComputation.SpellCastingFeature)
.SetEffectForms(
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypeForce, 1, DieType.D6)
+ .SetDamageForm(DamageTypePsychic, 1, DieType.D6)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(conditionMindSpike, ConditionForm.ConditionOperation.Add)
.HasSavingThrow(EffectSavingThrowType.Negates)
.Build())
.SetParticleEffectParameters(ShadowDagger)
@@ -339,30 +413,33 @@ internal static SpellDefinition BuildSwordStorm()
#endregion
- #region Thorny Vines
+ #region Minor Life Steal
- internal static SpellDefinition BuildThornyVines()
+ internal static SpellDefinition BuildMinorLifesteal()
{
var spell = SpellDefinitionBuilder
- .Create("ThornyVines")
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite("ThornyVines", Resources.ThornyVines, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation)
+ .Create("MinorLifesteal")
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite("MinorLifesteal", Resources.MinorLifesteal, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetMaterialComponent(MaterialComponentType.None)
.SetVerboseComponent(true)
.SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 6, TargetType.IndividualsUnique)
- .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, 5,
- additionalDicePerIncrement: 1)
+ .SetDurationData(DurationType.Hour, 1)
+ .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 1, TargetType.IndividualsUnique)
+ .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
+ .AddImmuneCreatureFamilies(CharacterFamilyDefinitions.Construct, CharacterFamilyDefinitions.Undead)
.SetEffectForms(
- EffectFormBuilder.DamageForm(DamageTypePiercing, 1, DieType.D6),
- EffectFormBuilder.MotionForm(MotionForm.MotionType.DragToOrigin, 2))
- .SetParticleEffectParameters(VenomousSpike)
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeNecrotic, 1, DieType.D6, 0, HealFromInflictedDamage.Half)
+ .Build())
+ .SetParticleEffectParameters(VampiricTouch)
.Build())
.AddToDB();
@@ -371,106 +448,90 @@ internal static SpellDefinition BuildThornyVines()
#endregion
- #region Thunder Strike
+ #region Primal Savagery
- internal static SpellDefinition BuildThunderStrike()
+ internal static SpellDefinition BuildPrimalSavagery()
{
- const string NAME = "ThunderStrike";
+ const string NAME = "PrimalSavagery";
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Shield)
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.AcidClaws, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
.SetMaterialComponent(MaterialComponentType.None)
- .SetVerboseComponent(true)
+ .SetVerboseComponent(false)
.SetSomaticComponent(true)
.SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetTargetingData(Side.All, RangeType.Self, 0, TargetType.Cube, 3)
+ .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 1, TargetType.IndividualsUnique)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
- .SetSavingThrowData(false, AttributeDefinitions.Constitution, false,
- EffectDifficultyClassComputation.SpellCastingFeature)
- .ExcludeCaster()
.SetEffectForms(
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypeThunder, 1, DieType.D6)
+ .SetDamageForm(DamageTypeAcid, 1, DieType.D10)
.HasSavingThrow(EffectSavingThrowType.Negates)
.Build())
- .SetParticleEffectParameters(Shatter)
+ .SetCasterEffectParameters(AcidSplash)
+ .SetImpactEffectParameters(AcidArrow)
.Build())
.AddToDB();
- spell.EffectDescription.EffectParticleParameters.impactParticleReference =
- spell.EffectDescription.EffectParticleParameters.zoneParticleReference;
- spell.EffectDescription.EffectParticleParameters.zoneParticleReference = new AssetReference();
-
return spell;
}
#endregion
- #region Wrack
+ #region Starry Wisp
- internal static SpellDefinition BuildWrack()
+ internal static SpellDefinition BuildStarryWisp()
{
- const string NAME = "Wrack";
+ const string NAME = "StarryWisp";
- var conditionWrack = ConditionDefinitionBuilder
+ var lightSourceForm =
+ FaerieFire.EffectDescription.GetFirstFormOfType(EffectForm.EffectFormType.LightSource);
+
+ var condition = ConditionDefinitionBuilder
.Create($"Condition{NAME}")
- .SetGuiPresentation(Category.Condition, ConditionHindered)
+ .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionLightSensitive)
+ .SetSilent(Silent.WhenAddedOrRemoved)
.SetConditionType(ConditionType.Detrimental)
- .AddFeatures(
- FeatureDefinitionActionAffinityBuilder
- .Create($"ActionAffinity{NAME}")
- .SetGuiPresentationNoContent(true)
- .SetForbiddenActions(
- ActionDefinitions.Id.DisengageMain,
- ActionDefinitions.Id.DisengageBonus,
- ActionDefinitions.Id.DashMain,
- ActionDefinitions.Id.DashBonus)
- .AddToDB())
.AddToDB();
+ ConditionInvisibleBase.cancellingConditions.Add(condition);
+
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.Wrack, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.StarryWisp, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetMaterialComponent(MaterialComponentType.None)
.SetVerboseComponent(true)
.SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
- .Create(InflictWounds)
- .SetDurationData(DurationType.Round, 1)
- .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .Create()
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
+ .SetTargetingData(Side.Enemy, RangeType.RangeHit, 12, TargetType.IndividualsUnique)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
- .SetSavingThrowData(
- false,
- AttributeDefinitions.Constitution,
- false,
- EffectDifficultyClassComputation.SpellCastingFeature,
- AttributeDefinitions.Wisdom,
- 12)
- .AddImmuneCreatureFamilies(CharacterFamilyDefinitions.Construct, CharacterFamilyDefinitions.Undead)
.SetEffectForms(
+ EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8),
+ EffectFormBuilder.ConditionForm(condition),
+ EffectFormBuilder.ConditionForm(
+ ConditionDefinitions.ConditionInvisible, ConditionForm.ConditionOperation.Remove),
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypeNecrotic, 1, DieType.D6)
- .HasSavingThrow(EffectSavingThrowType.Negates)
- .Build(),
- EffectFormBuilder
- .Create()
- .SetConditionForm(conditionWrack, ConditionForm.ConditionOperation.Add)
- .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetLightSourceForm(
+ LightSourceType.Basic, 0, 2,
+ lightSourceForm.lightSourceForm.color,
+ lightSourceForm.lightSourceForm.graphicsPrefabReference)
.Build())
+ .SetParticleEffectParameters(FaerieFire)
.Build())
.AddToDB();
@@ -555,7 +616,7 @@ internal static SpellDefinition BuildSunlightBlade()
.AddToDB();
spell.AddCustomSubFeatures(
- AttackAfterMagicEffect.SunlitBladeAttack,
+ AttackAfterMagicEffect.Marker,
new UpgradeSpellRangeBasedOnWeaponReach(spell));
return spell;
@@ -563,50 +624,176 @@ internal static SpellDefinition BuildSunlightBlade()
#endregion
- #region Acid Claws
+ #region Sword Storm
- internal static SpellDefinition BuildAcidClaw()
+ internal static SpellDefinition BuildSwordStorm()
{
- const string NAME = "AcidClaws";
+ const string NAME = "SwordStorm";
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.AcidClaws, 128))
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.SwordStorm, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment)
+ .SetSpellLevel(0)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cube, 3)
+ .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
+ .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeForce, 1, DieType.D6)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build())
+ .SetParticleEffectParameters(ShadowDagger)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
+ #region Thorny Vines
+
+ internal static SpellDefinition BuildThornyVines()
+ {
+ var spell = SpellDefinitionBuilder
+ .Create("ThornyVines")
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite("ThornyVines", Resources.ThornyVines, 128))
.SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation)
.SetSpellLevel(0)
.SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 6, TargetType.IndividualsUnique)
+ .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, 5,
+ additionalDicePerIncrement: 1)
+ .SetEffectForms(
+ EffectFormBuilder.DamageForm(DamageTypePiercing, 1, DieType.D6),
+ EffectFormBuilder.MotionForm(MotionForm.MotionType.DragToOrigin, 2))
+ .SetParticleEffectParameters(VenomousSpike)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
+ #region Thunder Strike
+
+ internal static SpellDefinition BuildThunderStrike()
+ {
+ const string NAME = "ThunderStrike";
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Shield)
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetSpellLevel(0)
+ .SetCastingTime(ActivationTime.Action)
.SetMaterialComponent(MaterialComponentType.None)
- .SetVerboseComponent(false)
+ .SetVerboseComponent(true)
.SetSomaticComponent(true)
.SetVocalSpellSameType(VocalSpellSemeType.Attack)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetDurationData(DurationType.Round, 1, (TurnOccurenceType)ExtraTurnOccurenceType.StartOfSourceTurn)
- .SetTargetingData(Side.Enemy, RangeType.MeleeHit, 1, TargetType.IndividualsUnique)
+ .SetTargetingData(Side.All, RangeType.Self, 0, TargetType.Cube, 3)
.SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
+ .SetSavingThrowData(false, AttributeDefinitions.Constitution, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .ExcludeCaster()
.SetEffectForms(
EffectFormBuilder
.Create()
- .SetDamageForm(DamageTypeAcid, 1, DieType.D8)
+ .SetDamageForm(DamageTypeThunder, 1, DieType.D6)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build())
+ .SetParticleEffectParameters(Shatter)
+ .Build())
+ .AddToDB();
+
+ spell.EffectDescription.EffectParticleParameters.impactParticleReference =
+ spell.EffectDescription.EffectParticleParameters.zoneParticleReference;
+ spell.EffectDescription.EffectParticleParameters.zoneParticleReference = new AssetReference();
+
+ return spell;
+ }
+
+ #endregion
+
+ #region Wrack
+
+ internal static SpellDefinition BuildWrack()
+ {
+ const string NAME = "Wrack";
+
+ var conditionWrack = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentation(Category.Condition, ConditionHindered)
+ .SetConditionType(ConditionType.Detrimental)
+ .AddFeatures(
+ FeatureDefinitionActionAffinityBuilder
+ .Create($"ActionAffinity{NAME}")
+ .SetGuiPresentationNoContent(true)
+ .SetForbiddenActions(
+ ActionDefinitions.Id.DisengageMain,
+ ActionDefinitions.Id.DisengageBonus,
+ ActionDefinitions.Id.DashMain,
+ ActionDefinitions.Id.DashBonus)
+ .AddToDB())
+ .AddToDB();
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.Wrack, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
+ .SetSpellLevel(0)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create(InflictWounds)
+ .SetDurationData(DurationType.Round, 1)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1)
+ .SetSavingThrowData(
+ false,
+ AttributeDefinitions.Constitution,
+ false,
+ EffectDifficultyClassComputation.SpellCastingFeature,
+ AttributeDefinitions.Wisdom,
+ 12)
+ .AddImmuneCreatureFamilies(CharacterFamilyDefinitions.Construct, CharacterFamilyDefinitions.Undead)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeNecrotic, 1, DieType.D6)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
.Build(),
EffectFormBuilder
.Create()
- .SetConditionForm(
- ConditionDefinitionBuilder
- .Create("ConditionAcidClaws")
- .SetGuiPresentation(Category.Condition, ConditionAcidSpit)
- .SetConditionType(ConditionType.Detrimental)
- .SetFeatures(
- FeatureDefinitionAttributeModifierBuilder
- .Create("AttributeModifierAcidClawsACDebuff")
- .SetGuiPresentation("ConditionAcidClaws", Category.Condition)
- .SetModifier(AttributeModifierOperation.Additive,
- AttributeDefinitions.ArmorClass, -1)
- .AddToDB())
- .AddToDB(), ConditionForm.ConditionOperation.Add)
+ .SetConditionForm(conditionWrack, ConditionForm.ConditionOperation.Add)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
.Build())
- .SetParticleEffectParameters(AcidSplash)
.Build())
.AddToDB();
@@ -683,7 +870,7 @@ internal static SpellDefinition BuildBoomingBlade()
.AddToDB();
spell.AddCustomSubFeatures(
- AttackAfterMagicEffect.BoomingBladeAttack,
+ AttackAfterMagicEffect.Marker,
new UpgradeSpellRangeBasedOnWeaponReach(spell));
return spell;
@@ -693,84 +880,90 @@ private sealed class ActionFinishedByMeBoomingBladeSheathed : IActionFinishedByM
{
public IEnumerator OnActionFinishedByMe(CharacterAction characterAction)
{
- if (characterAction is not CharacterActionMove)
+ if (characterAction.ActionId != ActionDefinitions.Id.TacticalMove)
{
yield break;
}
- var defender = characterAction.ActingCharacter;
- var rulesetDefender = characterAction.ActingCharacter.RulesetCharacter;
-
- if (rulesetDefender is not { IsDeadOrDyingOrUnconscious: false })
- {
- yield break;
- }
+ HandleBoomingBladeSheathedDamage(characterAction.ActingCharacter);
+ }
+ }
- var usableCondition =
- rulesetDefender.AllConditions.FirstOrDefault(x =>
- x.ConditionDefinition.Name == "ConditionBoomingBladeSheathed");
+ private static void HandleBoomingBladeSheathedDamage(GameLocationCharacter defender)
+ {
+ var rulesetDefender = defender.RulesetCharacter;
- if (usableCondition == null)
- {
- yield break;
- }
+ if (rulesetDefender is not { IsDeadOrDyingOrUnconscious: false })
+ {
+ return;
+ }
- var rulesetAttacker = EffectHelpers.GetCharacterByGuid(usableCondition.SourceGuid);
+ var usableCondition =
+ rulesetDefender.AllConditions.FirstOrDefault(x =>
+ x.ConditionDefinition.Name == "ConditionBoomingBladeSheathed");
- if (rulesetAttacker is not { IsDeadOrDyingOrUnconscious: false })
- {
- yield break;
- }
+ if (usableCondition == null)
+ {
+ return;
+ }
- var attacker = GameLocationCharacter.GetFromActor(rulesetAttacker);
+ var rulesetAttacker = EffectHelpers.GetCharacterByGuid(usableCondition.SourceGuid);
- if (attacker == null)
- {
- yield break;
- }
+ if (rulesetAttacker is not { IsDeadOrDyingOrUnconscious: false })
+ {
+ return;
+ }
- var characterLevel = rulesetAttacker.TryGetAttributeValue(AttributeDefinitions.CharacterLevel);
- var diceNumber = characterLevel switch
- {
- >= 17 => 4,
- >= 11 => 3,
- >= 5 => 2,
- _ => 1
- };
- var damageForm = new DamageForm
- {
- DamageType = DamageTypeThunder, DieType = DieType.D8, DiceNumber = diceNumber, BonusDamage = 0
- };
- var rolls = new List();
- var damageRoll = rulesetAttacker.RollDamage(damageForm, 0, false, 0, 0, 1, false, false, false, rolls);
- var applyFormsParams = new RulesetImplementationDefinitions.ApplyFormsParams
- {
- sourceCharacter = rulesetAttacker,
- targetCharacter = rulesetDefender,
- position = defender.LocationPosition
- };
+ var attacker = GameLocationCharacter.GetFromActor(rulesetAttacker);
- EffectHelpers.StartVisualEffect(attacker, defender, Shatter);
- RulesetActor.InflictDamage(
- damageRoll,
- damageForm,
- damageForm.DamageType,
- applyFormsParams,
- rulesetDefender,
- false,
- rulesetAttacker.Guid,
- false,
- attacker.FindActionAttackMode(ActionDefinitions.Id.AttackMain)?.AttackTags ?? [],
- new RollInfo(damageForm.DieType, rolls, 0),
- false,
- out _);
- rulesetDefender.RemoveCondition(usableCondition);
+ if (attacker == null)
+ {
+ return;
}
+
+ // deal damage
+ var characterLevel = rulesetAttacker.TryGetAttributeValue(AttributeDefinitions.CharacterLevel);
+ var diceNumber = characterLevel switch
+ {
+ >= 17 => 4,
+ >= 11 => 3,
+ >= 5 => 2,
+ _ => 1
+ };
+ var damageForm = new DamageForm
+ {
+ DamageType = DamageTypeThunder, DieType = DieType.D8, DiceNumber = diceNumber, BonusDamage = 0
+ };
+ var rolls = new List();
+ var damageRoll = rulesetAttacker.RollDamage(damageForm, 0, false, 0, 0, 1, false, false, false, rolls);
+ var applyFormsParams = new RulesetImplementationDefinitions.ApplyFormsParams
+ {
+ sourceCharacter = rulesetAttacker,
+ targetCharacter = rulesetDefender,
+ position = defender.LocationPosition
+ };
+
+ EffectHelpers.StartVisualEffect(attacker, defender, Shatter);
+ RulesetActor.InflictDamage(
+ damageRoll,
+ damageForm,
+ damageForm.DamageType,
+ applyFormsParams,
+ rulesetDefender,
+ false,
+ rulesetAttacker.Guid,
+ false,
+ attacker.FindActionAttackMode(ActionDefinitions.Id.AttackMain)?.AttackTags ?? [],
+ new RollInfo(damageForm.DieType, rolls, 0),
+ false,
+ out _);
+
+ rulesetDefender.RemoveCondition(usableCondition);
}
#endregion
- #region Burning Blade (Resonating Strike)
+ #region Burning Blade
internal static SpellDefinition BuildResonatingStrike()
{
@@ -852,7 +1045,7 @@ internal static SpellDefinition BuildResonatingStrike()
powerResonatingStrike.AddCustomSubFeatures(customBehavior);
spell.AddCustomSubFeatures(
customBehavior,
- AttackAfterMagicEffect.ResonatingStrikeAttack,
+ AttackAfterMagicEffect.Marker,
new UpgradeSpellRangeBasedOnWeaponReach(spell));
return spell;
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersHelpers.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersHelpers.cs
deleted file mode 100644
index 01bef07357..0000000000
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersHelpers.cs
+++ /dev/null
@@ -1,179 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using JetBrains.Annotations;
-using SolastaUnfinishedBusiness.Interfaces;
-using static RuleDefinitions;
-using static SolastaUnfinishedBusiness.Api.DatabaseHelper.MetamagicOptionDefinitions;
-using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions;
-
-namespace SolastaUnfinishedBusiness.Spells;
-
-internal static partial class SpellBuilders
-{
- internal const string PhysicalAttackFromCantrip = "PhysicalAttackFromCantrip";
-
- private static readonly (string, IMagicEffect)[] DamagesAndEffects =
- [
- (DamageTypeAcid, AcidSplash), (DamageTypeCold, ConeOfCold), (DamageTypeFire, FireBolt),
- (DamageTypeLightning, LightningBolt), (DamageTypePoison, PoisonSpray), (DamageTypeThunder, Shatter)
- ];
-
- private sealed class AttackAfterMagicEffect : IAttackAfterMagicEffect
- {
- private const RollOutcome MinOutcomeToAttack = RollOutcome.Success;
- private const RollOutcome MinSaveOutcomeToAttack = RollOutcome.Failure;
-
- internal static readonly IAttackAfterMagicEffect BoomingBladeAttack =
- new AttackAfterMagicEffect(1);
-
- internal static readonly IAttackAfterMagicEffect ResonatingStrikeAttack =
- new AttackAfterMagicEffect(1);
-
- internal static readonly IAttackAfterMagicEffect SunlitBladeAttack =
- new AttackAfterMagicEffect(1);
-
- private readonly int _maxAttacks;
-
- private AttackAfterMagicEffect(int maxAttacks)
- {
- _maxAttacks = maxAttacks;
- CanAttack = CanMeleeAttack;
- CanBeUsedToAttack = DefaultCanUseHandler;
- PerformAttackAfterUse = DefaultAttackHandler;
- }
-
- public IAttackAfterMagicEffect.CanUseHandler CanBeUsedToAttack { get; }
- public IAttackAfterMagicEffect.GetAttackAfterUseHandler PerformAttackAfterUse { get; }
- public IAttackAfterMagicEffect.CanAttackHandler CanAttack { get; }
-
- private static bool CanMeleeAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
- {
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
-
- if (attackMode == null)
- {
- return false;
- }
-
- var battleService = ServiceRepository.GetService();
- var attackModifier = new ActionModifier();
- var evalParams = new BattleDefinitions.AttackEvaluationParams();
-
- evalParams.FillForPhysicalReachAttack(
- caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier);
-
- return battleService.CanAttack(evalParams);
- }
-
- [NotNull]
- private List DefaultAttackHandler(
- [CanBeNull] CharacterActionMagicEffect actionMagicEffect)
- {
- var attacks = new List();
- var actionParams = actionMagicEffect?.ActionParams;
-
- if (actionParams == null)
- {
- return attacks;
- }
-
- //Spell got countered or it failed
- if (actionMagicEffect.Countered ||
- actionMagicEffect.ExecutionFailed)
- {
- return attacks;
- }
-
- //Attack outcome is worse that required
- if (actionMagicEffect.AttackRollOutcome > MinOutcomeToAttack)
- {
- return attacks;
- }
-
- //Target rolled saving throw and got better result
- if (actionMagicEffect.RolledSaveThrow && actionMagicEffect.SaveOutcome < MinSaveOutcomeToAttack)
- {
- return attacks;
- }
-
- var caster = actionParams.ActingCharacter;
- var targets = actionParams.TargetCharacters;
-
- if (targets.Count == 0)
- {
- return attacks;
- }
-
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
-
- if (attackMode == null)
- {
- return attacks;
- }
-
- //get copy to be sure we don't break existing mode
- var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
-
- rulesetAttackModeCopy.Copy(attackMode);
- attackMode = rulesetAttackModeCopy;
-
- //set action type to be same as the one used for the magic effect
- attackMode.ActionType = actionMagicEffect.ActionType;
-
- //mark this attack for proper integration with War Magic
- attackMode.AttackTags.TryAdd(PhysicalAttackFromCantrip);
-
- var twinned =
- actionMagicEffect is CharacterActionCastSpell castSpell &&
- castSpell.ActiveSpell.MetamagicOption == MetamagicTwinnedSpell;
- var maxAttacks = _maxAttacks + (twinned ? 1 : 0);
-
- var attackModifier = new ActionModifier();
-
- foreach (var target in targets.Where(t => CanMeleeAttack(caster, t)))
- {
- var attackActionParams =
- new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree) { AttackMode = attackMode };
-
- attackActionParams.TargetCharacters.Add(target);
- attackActionParams.ActionModifiers.Add(attackModifier);
- attacks.Add(attackActionParams);
-
- if (attackActionParams.TargetCharacters.Count >= maxAttacks)
- {
- break;
- }
- }
-
- return attacks;
- }
-
- private static bool DefaultCanUseHandler(
- [NotNull] CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target,
- [NotNull] out string failure)
- {
- failure = String.Empty;
-
- var maxTargets = targeting.maxTargets;
- var remainingTargets = targeting.remainingTargets;
- var selectedTargets = maxTargets - remainingTargets;
-
- if (selectedTargets > 0)
- {
- return true;
- }
-
- var canAttack = CanMeleeAttack(caster, target);
-
- if (!canAttack)
- {
- failure = "Failure/&FailureFlagTargetMeleeWeaponError";
- }
-
- return canAttack;
- }
- }
-}
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs
index 379f20cfb4..450e21ce6f 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs
@@ -1766,7 +1766,7 @@ internal static SpellDefinition BuildSkinOfRetribution()
.SetPossessive()
.SetFeatures(damageAffinitySkinOfRetribution)
.SetTerminateWhenRemoved()
- .AddCustomSubFeatures(new ActionFinishedByEnemySkinOfRetribution())
+ .AddCustomSubFeatures(new ActionFinishedByContenderSkinOfRetribution())
.CopyParticleReferences(PowerDomainElementalHeraldOfTheElementsCold)
.AddToDB();
@@ -1823,9 +1823,9 @@ internal static void HandleSkinOfRetribution()
}
}
- private sealed class ActionFinishedByEnemySkinOfRetribution : IActionFinishedByEnemy
+ private sealed class ActionFinishedByContenderSkinOfRetribution : IActionFinishedByContender
{
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
{
HandleSkinOfRetribution();
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs
index 00afc5e365..056508463c 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs
@@ -5,6 +5,8 @@
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.Helpers;
using SolastaUnfinishedBusiness.Api.LanguageExtensions;
+using SolastaUnfinishedBusiness.Behaviors;
+using SolastaUnfinishedBusiness.Behaviors.Specific;
using SolastaUnfinishedBusiness.Builders;
using SolastaUnfinishedBusiness.Builders.Features;
using SolastaUnfinishedBusiness.CustomUI;
@@ -27,45 +29,6 @@ namespace SolastaUnfinishedBusiness.Spells;
internal static partial class SpellBuilders
{
- #region Snilloc's Snowball Storm
-
- internal static SpellDefinition BuildSnillocSnowballStorm()
- {
- const string NAME = "SnillocSnowballStorm";
-
- var spell = SpellDefinitionBuilder
- .Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.SnillocSnowballStorm, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
- .SetSpellLevel(2)
- .SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
- .SetVerboseComponent(true)
- .SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Attack)
- .SetEffectDescription(
- EffectDescriptionBuilder
- .Create()
- .SetTargetingData(Side.All, RangeType.Distance, 18, TargetType.Cube, 3)
- .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false,
- EffectDifficultyClassComputation.SpellCastingFeature)
- .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1)
- .SetEffectForms(
- EffectFormBuilder
- .Create()
- .HasSavingThrow(EffectSavingThrowType.HalfDamage)
- .SetDamageForm(DamageTypeCold, 3, DieType.D8)
- .Build())
- .SetParticleEffectParameters(FreezingSphere)
- .SetCasterEffectParameters(SleetStorm)
- .Build())
- .AddToDB();
-
- return spell;
- }
-
- #endregion
-
#region Aganazzar's Scorcher
internal static SpellDefinition BuildAganazzarScorcher()
@@ -180,6 +143,46 @@ internal static SpellDefinition BuildBindingIce()
#endregion
+ #region Cloud of Daggers
+
+ internal static SpellDefinition BuildCloudOfDaggers()
+ {
+ const string Name = "CloudOfDaggers";
+
+ var spell = SpellDefinitionBuilder
+ .Create(Name)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(Name, Resources.CloudOfDaggers, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolConjuration)
+ .SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
+ .SetRequiresConcentration(true)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.All, RangeType.Distance, 12, TargetType.Cube, 2)
+ .SetEffectAdvancement(
+ EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 2)
+ .SetRecurrentEffect(RecurrentEffect.OnTurnStart | RecurrentEffect.OnEnter)
+ .SetEffectForms(
+ EffectFormBuilder.DamageForm(DamageTypeSlashing, 4, DieType.D4),
+ EffectFormBuilder
+ .Create()
+ .SetTopologyForm(TopologyForm.Type.DangerousZone, true)
+ .Build())
+ .SetParticleEffectParameters(BladeBarrierWallLine)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Color Burst
internal static SpellDefinition BuildColorBurst()
@@ -213,6 +216,57 @@ internal static SpellDefinition BuildColorBurst()
#endregion
+ #region Kinetic Jaunt
+
+ internal static SpellDefinition BuildKineticJaunt()
+ {
+ const string NAME = "KineticJaunt";
+
+ var condition = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentation(NAME, Category.Spell, ConditionFreedomOfMovement)
+ .SetPossessive()
+ .SetFeatures(
+ FeatureDefinitionMovementAffinityBuilder
+ .Create($"MovementAffinity{NAME}")
+ .SetGuiPresentationNoContent(true)
+ .SetBaseSpeedAdditiveModifier(2)
+ .AddToDB(),
+ FeatureDefinitionMoveThroughEnemyModifierBuilder
+ .Create($"MoveThroughEnemyModifier{NAME}")
+ .SetGuiPresentation(Category.Feature)
+ .SetMinSizeDifference(10)
+ .AddToDB(),
+ FeatureDefinitionCombatAffinitys.CombatAffinityDisengaging)
+ .AddToDB();
+
+ condition.GuiPresentation.Description = Gui.NoLocalization;
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.KineticJaunt, 128))
+ .SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.None)
+ .SetVerboseComponent(false)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetRequiresConcentration(true)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.All, RangeType.Self, 0, TargetType.Self)
+ .SetEffectForms(EffectFormBuilder.ConditionForm(condition))
+ .SetParticleEffectParameters(Haste)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Mirror Image
[NotNull]
@@ -254,6 +308,64 @@ internal static SpellDefinition BuildMirrorImage()
#endregion
+ #region Noxious Spray
+
+ internal static SpellDefinition BuildNoxiousSpray()
+ {
+ const string NAME = "NoxiousSpray";
+
+ var actionAffinityNoxiousSpray = FeatureDefinitionActionAffinityBuilder
+ .Create($"ActionAffinity{NAME}")
+ .SetGuiPresentationNoContent(true)
+ .SetAllowedActionTypes(false, move: false)
+ .AddToDB();
+
+ var conditionNoxiousSpray = ConditionDefinitionBuilder
+ .Create(ConditionPheromoned, $"Condition{NAME}")
+ .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionDiseased)
+ .SetPossessive()
+ .SetConditionType(ConditionType.Detrimental)
+ .SetFeatures(actionAffinityNoxiousSpray)
+ .AddToDB();
+
+ conditionNoxiousSpray.specialDuration = false;
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.NoxiousSpray, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetSpellLevel(2)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetSomaticComponent(true)
+ .SetVerboseComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1)
+ .SetTargetingData(Side.Enemy, RangeType.RangeHit, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Constitution, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel,
+ additionalTargetsPerIncrement: 1)
+ .AddImmuneCreatureFamilies(Construct, Elemental, Undead)
+ .SetEffectForms(
+ EffectFormBuilder.DamageForm(DamageTypePoison, 4, DieType.D6),
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(conditionNoxiousSpray, ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetParticleEffectParameters(PowerDomainOblivionMarkOfFate)
+ .SetCasterEffectParameters(PoisonSpray)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Protect Threshold
[NotNull]
@@ -309,6 +421,45 @@ internal static SpellDefinition BuildProtectThreshold()
#endregion
+ #region Snilloc's Snowball Storm
+
+ internal static SpellDefinition BuildSnillocSnowballStorm()
+ {
+ const string NAME = "SnillocSnowballStorm";
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.SnillocSnowballStorm, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.All, RangeType.Distance, 18, TargetType.Cube, 3)
+ .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.HalfDamage)
+ .SetDamageForm(DamageTypeCold, 3, DieType.D8)
+ .Build())
+ .SetParticleEffectParameters(FreezingSphere)
+ .SetCasterEffectParameters(SleetStorm)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Web
internal static SpellDefinition BuildWeb()
@@ -396,323 +547,167 @@ internal static SpellDefinition BuildWeb()
#endregion
- #region Noxious Spray
+ #region Borrowed Knowledge
- internal static SpellDefinition BuildNoxiousSpray()
+ internal static SpellDefinition BuildBorrowedKnowledge()
{
- const string NAME = "NoxiousSpray";
+ const string NAME = "BorrowedKnowledge";
- var actionAffinityNoxiousSpray = FeatureDefinitionActionAffinityBuilder
- .Create($"ActionAffinity{NAME}")
+ var skillsDb = DatabaseRepository.GetDatabase();
+ var powers = new List();
+ var powerPool = FeatureDefinitionPowerBuilder
+ .Create($"Power{NAME}")
.SetGuiPresentationNoContent(true)
- .SetAllowedActionTypes(false, move: false)
+ .SetUsesFixed(ActivationTime.NoCost)
.AddToDB();
- var conditionNoxiousSpray = ConditionDefinitionBuilder
- .Create(ConditionPheromoned, $"Condition{NAME}")
- .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionDiseased)
- .SetPossessive()
- .SetConditionType(ConditionType.Detrimental)
- .SetFeatures(actionAffinityNoxiousSpray)
- .AddToDB();
+ foreach (var skill in skillsDb)
+ {
+ var power = FeatureDefinitionPowerSharedPoolBuilder
+ .Create($"Power{NAME}{skill.Name}")
+ .SetGuiPresentation(skill.GuiPresentation.Title, skill.GuiPresentation.Description)
+ .SetSharedPool(ActivationTime.NoCost, powerPool)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Hour, 1)
+ .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .SetEffectForms(
+ EffectFormBuilder.ConditionForm(
+ ConditionDefinitionBuilder
+ .Create($"Condition{NAME}{skill.Name}")
+ .SetGuiPresentation(skill.GuiPresentation.Title, Gui.NoLocalization,
+ ConditionBullsStrength)
+ .SetPossessive()
+ .SetFeatures(
+ FeatureDefinitionProficiencyBuilder
+ .Create($"Proficiency{NAME}{skill.Name}")
+ .SetGuiPresentation(skill.GuiPresentation)
+ .SetProficiencies(ProficiencyType.Skill, skill.Name)
+ .AddToDB())
+ .AddToDB()))
+ .Build())
+ .AddToDB();
+
+ power.GuiPresentation.hidden = true;
+
+ powers.Add(power);
+ }
- conditionNoxiousSpray.specialDuration = false;
+ PowerBundle.RegisterPowerBundle(powerPool, false, powers);
var spell = SpellDefinitionBuilder
.Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.NoxiousSpray, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.BorrowedKnowledge, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolDivination)
.SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.Action)
.SetMaterialComponent(MaterialComponentType.Mundane)
- .SetSomaticComponent(true)
.SetVerboseComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Buff)
.SetEffectDescription(
EffectDescriptionBuilder
.Create()
- .SetDurationData(DurationType.Round, 1)
- .SetTargetingData(Side.Enemy, RangeType.RangeHit, 12, TargetType.IndividualsUnique)
- .SetSavingThrowData(false, AttributeDefinitions.Constitution, false,
- EffectDifficultyClassComputation.SpellCastingFeature)
- .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel,
- additionalTargetsPerIncrement: 1)
- .AddImmuneCreatureFamilies(Construct, Elemental, Undead)
- .SetEffectForms(
- EffectFormBuilder.DamageForm(DamageTypePoison, 4, DieType.D6),
- EffectFormBuilder
- .Create()
- .HasSavingThrow(EffectSavingThrowType.Negates)
- .SetConditionForm(conditionNoxiousSpray, ConditionForm.ConditionOperation.Add)
- .Build())
- .SetParticleEffectParameters(PowerDomainOblivionMarkOfFate)
- .SetCasterEffectParameters(PoisonSpray)
+ .SetDurationData(DurationType.Hour, 1)
+ .SetTargetingData(Side.All, RangeType.Self, 0, TargetType.Self)
+ .SetCasterEffectParameters(TrueSeeing)
+ .SetEffectEffectParameters(PowerPaladinCleansingTouch)
.Build())
+ .AddCustomSubFeatures(new MagicEffectFinishedByMeBorrowedKnowledge(powerPool, [.. powers]))
.AddToDB();
return spell;
}
- #endregion
-
- #region Cloud of Daggers
-
- internal static SpellDefinition BuildCloudOfDaggers()
+ private sealed class MagicEffectFinishedByMeBorrowedKnowledge(
+ FeatureDefinitionPower powerPool,
+ params FeatureDefinitionPower[] powers) : IMagicEffectFinishedByMe
{
- const string Name = "CloudOfDaggers";
-
- var spell = SpellDefinitionBuilder
- .Create(Name)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(Name, Resources.CloudOfDaggers, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolConjuration)
- .SetSpellLevel(2)
- .SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
- .SetVerboseComponent(true)
- .SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Debuff)
- .SetRequiresConcentration(true)
- .SetEffectDescription(
- EffectDescriptionBuilder
- .Create()
- .SetDurationData(DurationType.Minute, 1)
- .SetTargetingData(Side.All, RangeType.Distance, 12, TargetType.Cube, 2)
- .SetEffectAdvancement(
- EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 2)
- .SetRecurrentEffect(RecurrentEffect.OnTurnStart | RecurrentEffect.OnEnter)
- .SetEffectForms(
- EffectFormBuilder.DamageForm(DamageTypeSlashing, 4, DieType.D4),
- EffectFormBuilder
- .Create()
- .SetTopologyForm(TopologyForm.Type.DangerousZone, true)
- .Build())
- .SetParticleEffectParameters(BladeBarrierWallLine)
- .Build())
- .AddToDB();
-
- return spell;
- }
-
- #endregion
-
- #region Wither and Bloom
-
- internal static SpellDefinition BuildWitherAndBloom()
- {
- const string NAME = "WitherAndBloom";
-
- var conditionSpellCastingBonus = ConditionDefinitionBuilder
- .Create($"Condition{NAME}")
- .SetGuiPresentationNoContent(true)
- .SetSilent(Silent.WhenAddedOrRemoved)
- .SetAmountOrigin(ConditionDefinition.OriginOfAmount.Fixed)
- .SetSpecialInterruptions(ConditionInterruption.AnyBattleTurnEnd)
- .AddToDB();
-
- conditionSpellCastingBonus.AddCustomSubFeatures(
- new ModifyDiceRollHitDiceWitherAndBloom(conditionSpellCastingBonus));
-
- var spell = SpellDefinitionBuilder
- .Create(NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.WitherAndBloom, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
- .SetSpellLevel(2)
- .SetCastingTime(ActivationTime.Action)
- .SetMaterialComponent(MaterialComponentType.Mundane)
- .SetVerboseComponent(true)
- .SetSomaticComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Attack)
- .SetEffectDescription(
- EffectDescriptionBuilder
- .Create()
- .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique)
- .SetSavingThrowData(
- false, AttributeDefinitions.Constitution, false,
- EffectDifficultyClassComputation.SpellCastingFeature)
- .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1)
- .SetEffectForms(
- EffectFormBuilder
- .Create()
- .HasSavingThrow(EffectSavingThrowType.HalfDamage)
- .SetDamageForm(DamageTypeNecrotic, 2, DieType.D6)
- .Build())
- .SetCasterEffectParameters(FalseLife)
- .Build())
- .AddToDB();
-
- spell.AddCustomSubFeatures(new CustomBehaviorWitherAndBloom(spell, conditionSpellCastingBonus));
-
- return spell;
- }
-
- private sealed class ModifyDiceRollHitDiceWitherAndBloom(ConditionDefinition conditionWitherAndBloom)
- : IModifyDiceRollHitDice
- {
- public void BeforeRoll(
- RulesetCharacterHero __instance,
- ref DieType die,
- ref int modifier,
- ref AdvantageType advantageType,
- ref bool healKindred,
- ref bool isBonus)
- {
- if (__instance.TryGetConditionOfCategoryAndType(
- AttributeDefinitions.TagEffect, conditionWitherAndBloom.Name, out var activeCondition))
- {
- modifier = activeCondition.amount;
- }
- }
- }
-
- private sealed class CustomBehaviorWitherAndBloom(
- SpellDefinition spellWitherAndBloom,
- ConditionDefinition conditionWitherAndBloom) : IMagicEffectInitiatedByMe, IMagicEffectFinishedByMe
- {
- private int _spellCastingAbilityModifier;
- private GameLocationCharacter _target;
-
- public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
- {
- var actionManager =
- ServiceRepository.GetService() as GameLocationActionManager;
- var battleManager =
- ServiceRepository.GetService() as GameLocationBattleManager;
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ var actionManager =
+ ServiceRepository.GetService() as GameLocationActionManager;
+ var battleManager = ServiceRepository.GetService() as GameLocationBattleManager;
if (!actionManager || !battleManager)
{
yield break;
}
- if (action.ActionParams.activeEffect is not RulesetEffectSpell rulesetEffectSpell ||
- _target == null)
- {
- yield break;
- }
-
- var rulesetTarget = _target.RulesetCharacter.GetOriginalHero();
+ var actingCharacter = action.ActingCharacter;
+ var rulesetCharacter = actingCharacter.RulesetCharacter;
+ var hero = rulesetCharacter.GetOriginalHero();
- if (rulesetTarget == null)
+ if (hero == null)
{
yield break;
}
- var attacker = action.ActingCharacter;
- var hasHealed = false;
- var effectLevel = rulesetEffectSpell.EffectLevel;
-
- rulesetTarget.HitDieRolled += HitDieRolled;
+ var usablePowers = new List();
+ var skillsDb = DatabaseRepository.GetDatabase();
- while (--effectLevel > 0 &&
- rulesetTarget.RemainingHitDiceCount() > 0 &&
- rulesetTarget.MissingHitPoints > 0)
+ foreach (var power in powers)
{
- var maxHitPoints = rulesetTarget.TryGetAttributeValue(AttributeDefinitions.HitPoints);
- var remainingHitPoints = maxHitPoints - rulesetTarget.MissingHitPoints;
- var reactionParams =
- new CharacterActionParams(_target, (ActionDefinitions.Id)ExtraActionId.DoNothingFree)
- {
- StringParameter = Gui.Format(
- "Reaction/&CustomReactionWitherAndBloomDescription",
- remainingHitPoints.ToString(), maxHitPoints.ToString(), attacker.Name,
- _spellCastingAbilityModifier.ToString())
- };
- var reactionRequest = new ReactionRequestCustom("WitherAndBloom", reactionParams);
- var count = actionManager.PendingReactionRequestGroups.Count;
-
- actionManager.AddInterruptRequest(reactionRequest);
-
- yield return battleManager.WaitForReactions(attacker, actionManager, count);
-
- if (!reactionParams.ReactionValidated)
+ var skillName = power.Name.Replace("PowerBorrowedKnowledge", string.Empty);
+
+ if (!skillsDb.TryGetElement(skillName, out var skill) ||
+ hero.TrainedSkills.Contains(skill) ||
+ hero.BackgroundDefinition.Features
+ .OfType()
+ .Any(x =>
+ x.ProficiencyType is ProficiencyType.Skill or ProficiencyType.SkillOrExpertise &&
+ x.Proficiencies.Contains(skillName)))
{
- break;
+ continue;
}
- hasHealed = true;
- rulesetTarget.RollHitDie();
- }
-
- rulesetTarget.HitDieRolled -= HitDieRolled;
+ var up = PowerProvider.Get(power, rulesetCharacter);
- if (hasHealed)
- {
- EffectHelpers.StartVisualEffect(attacker, _target, CureWounds, EffectHelpers.EffectType.Effect);
+ usablePowers.Add(up);
+ rulesetCharacter.UsablePowers.Add(up);
}
- }
- public IEnumerator OnMagicEffectInitiatedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
- {
- _target = null;
+ var implementationManager =
+ ServiceRepository.GetService() as RulesetImplementationManager;
- if (action.ActionParams.activeEffect is not RulesetEffectSpell rulesetEffectSpell ||
- action.ActionParams.TargetCharacters.Count == 0)
+ var usablePower = PowerProvider.Get(powerPool, rulesetCharacter);
+ var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.SpendPower)
{
- yield break;
- }
+ StringParameter = "BorrowedKnowledge",
+ RulesetEffect = implementationManager
+ .MyInstantiateEffectPower(rulesetCharacter, usablePower, false),
+ UsablePower = usablePower,
+ TargetCharacters = { actingCharacter }
+ };
+ var count = actionManager.PendingReactionRequestGroups.Count;
+ var reactionRequest = new ReactionRequestSpendBundlePower(actionParams);
- _target = action.ActionParams.TargetCharacters[0];
-
- var attacker = action.ActingCharacter;
+ actionManager.AddInterruptRequest(reactionRequest);
- action.ActionParams.TargetCharacters.SetRange(
- (Gui.Battle?.AllContenders ?? [])
- .Where(x =>
- _target.IsWithinRange(x, 2) &&
- _target.IsOppositeSide(x.Side)));
+ yield return battleManager.WaitForReactions(actingCharacter, actionManager, count);
- action.ActionParams.ActionModifiers.Clear();
+ rulesetCharacter.UsablePowers.Remove(usablePower);
+ usablePowers.ForEach(x => rulesetCharacter.UsablePowers.Remove(x));
- for (var i = 0; i < action.ActionParams.TargetCharacters.Count; i++)
+ if (!actionParams.ReactionValidated)
{
- action.ActionParams.ActionModifiers.Add(new ActionModifier());
+ yield break;
}
- var rulesetAttacker = attacker.RulesetCharacter;
-
- _spellCastingAbilityModifier = AttributeDefinitions.ComputeAbilityScoreModifier(
- rulesetAttacker.TryGetAttributeValue(rulesetEffectSpell.spellRepertoire.SpellCastingAbility));
-
- var rulesetTarget = _target.RulesetCharacter;
-
- rulesetTarget.InflictCondition(
- conditionWitherAndBloom.Name,
- DurationType.Round,
- 0,
- TurnOccurenceType.EndOfTurn,
- AttributeDefinitions.TagEffect,
- rulesetTarget.guid,
- rulesetTarget.CurrentFaction.Name,
- 1,
- conditionWitherAndBloom.Name,
- _spellCastingAbilityModifier,
- 0,
- 0);
- }
-
- private void HitDieRolled(
- RulesetCharacter character,
- DieType dieType,
- int value,
- AdvantageType advantageType,
- int roll1,
- int roll2,
- int modifier,
- bool isBonus)
- {
- // reuse translation string from other feat
- const string BASE_LINE = "Feedback/&DwarvenFortitudeHitDieRolled";
+ var selectedPower = powers[reactionRequest.SelectedSubOption];
- character.ShowDieRoll(
- dieType, roll1, roll2, advantage: advantageType, title: spellWitherAndBloom.GuiPresentation.Title);
+ foreach (var skill in skillsDb)
+ {
+ var conditionName = $"ConditionBorrowedKnowledge{skill.Name}";
- character.LogCharacterActivatesAbility(
- Gui.NoLocalization, BASE_LINE, true,
- extra:
- [
- (ConsoleStyleDuplet.ParameterType.AbilityInfo, Gui.FormatDieTitle(dieType)),
- (ConsoleStyleDuplet.ParameterType.Positive,
- $"{value - modifier}+{modifier}"),
- (ConsoleStyleDuplet.ParameterType.Positive, $"{value}")
- ]);
+ if (!selectedPower.Name.Contains(skill.Name) &&
+ rulesetCharacter.TryGetConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, conditionName, out var activeCondition))
+ {
+ rulesetCharacter.RemoveCondition(activeCondition);
+ }
+ }
}
}
@@ -776,151 +771,16 @@ internal static SpellDefinition BuildPetalStorm()
#endregion
- #region Shadowblade
+ #region Psychic Whip
- [NotNull]
- internal static SpellDefinition BuildShadowBlade()
+ internal static SpellDefinition BuildPsychicWhip()
{
- const string NAME = "ShadowBlade";
+ const string NAME = "PsychicWhip";
- var itemShadowBlade = ItemDefinitionBuilder
- .Create(ItemDefinitions.FlameBlade, $"Item{NAME}")
- .SetOrUpdateGuiPresentation(Category.Item, ItemDefinitions.Enchanted_Dagger_Souldrinker)
- .SetItemTags(TagsDefinitions.ItemTagConjured)
- .MakeMagical()
- .HideFromDungeonEditor()
- .AddToDB();
-
- itemShadowBlade.activeTags.Clear();
- itemShadowBlade.isLightSourceItem = false;
- itemShadowBlade.itemPresentation.assetReference = ItemDefinitions.ScimitarPlus2.ItemPresentation.AssetReference;
- itemShadowBlade.weaponDefinition.EffectDescription.EffectParticleParameters.impactParticleReference =
- EffectProxyDefinitions.ProxyArcaneSword.attackImpactParticle;
-
- var weaponDescription = itemShadowBlade.WeaponDescription;
-
- weaponDescription.closeRange = 4;
- weaponDescription.maxRange = 12;
- weaponDescription.weaponType = WeaponTypeDefinitions.DaggerType.Name;
- weaponDescription.weaponTags.Add(TagsDefinitions.WeaponTagThrown);
-
- var damageForm = weaponDescription.EffectDescription.FindFirstDamageForm();
-
- damageForm.damageType = DamageTypePsychic;
- damageForm.dieType = DieType.D8;
- damageForm.diceNumber = 2;
-
- var spell = SpellDefinitionBuilder
- .Create(FlameBlade, NAME)
- .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.ShadeBlade, 128))
- .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolIllusion)
- .SetSpellLevel(2)
- .SetCastingTime(ActivationTime.BonusAction)
- .SetMaterialComponent(MaterialComponentType.None)
- .SetSomaticComponent(true)
- .SetVerboseComponent(true)
- .SetVocalSpellSameType(VocalSpellSemeType.Buff)
- .SetEffectDescription(
- EffectDescriptionBuilder
- .Create(FlameBlade)
- .SetDurationData(DurationType.Minute, 1)
- .Build())
- .AddToDB();
-
- var summonForm = spell.EffectDescription.EffectForms[0].SummonForm;
-
- summonForm.itemDefinition = itemShadowBlade;
-
- var itemPropertyForm = spell.EffectDescription.EffectForms[1].ItemPropertyForm;
-
- itemPropertyForm.featureBySlotLevel.Clear();
- itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(2, 0));
- itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(3, 1));
- itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(5, 2));
- itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(7, 3));
-
- var conditionShadowBlade = ConditionDefinitionBuilder
- .Create($"Condition{NAME}")
- .SetGuiPresentationNoContent(true)
- .SetSilent(Silent.WhenAddedOrRemoved)
- .AddToDB();
-
- conditionShadowBlade.AddCustomSubFeatures(
- new ModifyAttackActionModifierShadowBlade(itemShadowBlade, conditionShadowBlade));
-
- spell.EffectDescription.EffectForms.Add(
- EffectFormBuilder
- .Create()
- .SetConditionForm(conditionShadowBlade, ConditionForm.ConditionOperation.Add, true)
- .Build());
-
- return spell;
- }
-
- private static FeatureUnlockByLevel BuildShadowBladeFeatureBySlotLevel(int level, int damageDice)
- {
- var attackModifierShadowBladeLevel = FeatureDefinitionAttackModifierBuilder
- .Create(FeatureDefinitionAttackModifiers.AttackModifierFlameBlade2, $"AttackModifierShadowBlade{level}")
- .AddToDB();
-
- attackModifierShadowBladeLevel.guiPresentation.description
- = damageDice > 0
- ? Gui.Format("Feature/&AttackModifierShadowBladeNDescription", damageDice.ToString())
- : "Feature/&AttackModifierShadowBlade0Description";
- attackModifierShadowBladeLevel.additionalDamageDice = damageDice;
- attackModifierShadowBladeLevel.impactParticleReference =
- ShadowDagger.EffectDescription.EffectParticleParameters.impactParticleReference;
- attackModifierShadowBladeLevel.abilityScoreReplacement = AbilityScoreReplacement.None;
- return new FeatureUnlockByLevel(attackModifierShadowBladeLevel, level);
- }
-
- private sealed class ModifyAttackActionModifierShadowBlade(
- // ReSharper disable once SuggestBaseTypeForParameterInConstructor
- ItemDefinition itemShadowBlade,
- BaseDefinition featureAdvantage)
- : IModifyAttackActionModifier
- {
- public void OnAttackComputeModifier(
- RulesetCharacter myself,
- RulesetCharacter defender,
- BattleDefinitions.AttackProximity attackProximity,
- RulesetAttackMode attackMode,
- string effectName,
- ref ActionModifier attackModifier)
- {
- if (myself is not { IsDeadOrDyingOrUnconscious: false } ||
- defender is not { IsDeadOrDyingOrUnconscious: false })
- {
- return;
- }
-
- if (attackMode?.SourceDefinition != itemShadowBlade)
- {
- return;
- }
-
- if (!ValidatorsCharacter.IsNotInBrightLight(defender))
- {
- return;
- }
-
- attackModifier.attackAdvantageTrends.Add(
- new TrendInfo(1, FeatureSourceType.Condition, featureAdvantage.Name, featureAdvantage));
- }
- }
-
- #endregion
-
- #region Psychic Whip
-
- internal static SpellDefinition BuildPsychicWhip()
- {
- const string NAME = "PsychicWhip";
-
- var actionAffinityPsychicWhipNoBonus = FeatureDefinitionActionAffinityBuilder
- .Create($"ActionAffinity{NAME}NoBonus")
- .SetGuiPresentationNoContent(true)
- .SetAllowedActionTypes(bonus: false)
+ var actionAffinityPsychicWhipNoBonus = FeatureDefinitionActionAffinityBuilder
+ .Create($"ActionAffinity{NAME}NoBonus")
+ .SetGuiPresentationNoContent(true)
+ .SetAllowedActionTypes(bonus: false)
.AddToDB();
var conditionPsychicWhipNoBonus = ConditionDefinitionBuilder
@@ -1092,4 +952,363 @@ public IEnumerator OnActionFinishedByMe(CharacterAction characterAction)
}
#endregion
+
+ #region Shadowblade
+
+ [NotNull]
+ internal static SpellDefinition BuildShadowBlade()
+ {
+ const string NAME = "ShadowBlade";
+
+ var itemShadowBlade = ItemDefinitionBuilder
+ .Create(ItemDefinitions.FlameBlade, $"Item{NAME}")
+ .SetOrUpdateGuiPresentation(Category.Item, ItemDefinitions.Enchanted_Dagger_Souldrinker)
+ .SetItemTags(TagsDefinitions.ItemTagConjured)
+ .MakeMagical()
+ .HideFromDungeonEditor()
+ .AddToDB();
+
+ itemShadowBlade.activeTags.Clear();
+ itemShadowBlade.isLightSourceItem = false;
+ itemShadowBlade.itemPresentation.assetReference = ItemDefinitions.ScimitarPlus2.ItemPresentation.AssetReference;
+ itemShadowBlade.weaponDefinition.EffectDescription.EffectParticleParameters.impactParticleReference =
+ EffectProxyDefinitions.ProxyArcaneSword.attackImpactParticle;
+
+ var weaponDescription = itemShadowBlade.WeaponDescription;
+
+ weaponDescription.closeRange = 4;
+ weaponDescription.maxRange = 12;
+ weaponDescription.weaponType = WeaponTypeDefinitions.DaggerType.Name;
+ weaponDescription.weaponTags.Add(TagsDefinitions.WeaponTagThrown);
+
+ var damageForm = weaponDescription.EffectDescription.FindFirstDamageForm();
+
+ damageForm.damageType = DamageTypePsychic;
+ damageForm.dieType = DieType.D8;
+ damageForm.diceNumber = 2;
+
+ var spell = SpellDefinitionBuilder
+ .Create(FlameBlade, NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.ShadeBlade, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolIllusion)
+ .SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.BonusAction)
+ .SetMaterialComponent(MaterialComponentType.None)
+ .SetSomaticComponent(true)
+ .SetVerboseComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Buff)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create(FlameBlade)
+ .SetDurationData(DurationType.Minute, 1)
+ .Build())
+ .AddToDB();
+
+ var summonForm = spell.EffectDescription.EffectForms[0].SummonForm;
+
+ summonForm.itemDefinition = itemShadowBlade;
+
+ var itemPropertyForm = spell.EffectDescription.EffectForms[1].ItemPropertyForm;
+
+ itemPropertyForm.featureBySlotLevel.Clear();
+ itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(2, 0));
+ itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(3, 1));
+ itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(5, 2));
+ itemPropertyForm.featureBySlotLevel.Add(BuildShadowBladeFeatureBySlotLevel(7, 3));
+
+ var conditionShadowBlade = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .AddToDB();
+
+ conditionShadowBlade.AddCustomSubFeatures(
+ new ModifyAttackActionModifierShadowBlade(itemShadowBlade, conditionShadowBlade));
+
+ spell.EffectDescription.EffectForms.Add(
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(conditionShadowBlade, ConditionForm.ConditionOperation.Add, true)
+ .Build());
+
+ return spell;
+ }
+
+ private static FeatureUnlockByLevel BuildShadowBladeFeatureBySlotLevel(int level, int damageDice)
+ {
+ var attackModifierShadowBladeLevel = FeatureDefinitionAttackModifierBuilder
+ .Create(FeatureDefinitionAttackModifiers.AttackModifierFlameBlade2, $"AttackModifierShadowBlade{level}")
+ .AddToDB();
+
+ attackModifierShadowBladeLevel.guiPresentation.description
+ = damageDice > 0
+ ? Gui.Format("Feature/&AttackModifierShadowBladeNDescription", damageDice.ToString())
+ : "Feature/&AttackModifierShadowBlade0Description";
+ attackModifierShadowBladeLevel.additionalDamageDice = damageDice;
+ attackModifierShadowBladeLevel.impactParticleReference =
+ ShadowDagger.EffectDescription.EffectParticleParameters.impactParticleReference;
+ attackModifierShadowBladeLevel.abilityScoreReplacement = AbilityScoreReplacement.None;
+ return new FeatureUnlockByLevel(attackModifierShadowBladeLevel, level);
+ }
+
+ private sealed class ModifyAttackActionModifierShadowBlade(
+ // ReSharper disable once SuggestBaseTypeForParameterInConstructor
+ ItemDefinition itemShadowBlade,
+ BaseDefinition featureAdvantage)
+ : IModifyAttackActionModifier
+ {
+ public void OnAttackComputeModifier(
+ RulesetCharacter myself,
+ RulesetCharacter defender,
+ BattleDefinitions.AttackProximity attackProximity,
+ RulesetAttackMode attackMode,
+ string effectName,
+ ref ActionModifier attackModifier)
+ {
+ if (myself is not { IsDeadOrDyingOrUnconscious: false } ||
+ defender is not { IsDeadOrDyingOrUnconscious: false })
+ {
+ return;
+ }
+
+ if (attackMode?.SourceDefinition != itemShadowBlade)
+ {
+ return;
+ }
+
+ if (!ValidatorsCharacter.IsNotInBrightLight(defender))
+ {
+ return;
+ }
+
+ attackModifier.attackAdvantageTrends.Add(
+ new TrendInfo(1, FeatureSourceType.Condition, featureAdvantage.Name, featureAdvantage));
+ }
+ }
+
+ #endregion
+
+ #region Wither and Bloom
+
+ internal static SpellDefinition BuildWitherAndBloom()
+ {
+ const string NAME = "WitherAndBloom";
+
+ var conditionSpellCastingBonus = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .SetAmountOrigin(ConditionDefinition.OriginOfAmount.Fixed)
+ .SetSpecialInterruptions(ConditionInterruption.AnyBattleTurnEnd)
+ .AddToDB();
+
+ conditionSpellCastingBonus.AddCustomSubFeatures(
+ new ModifyDiceRollHitDiceWitherAndBloom(conditionSpellCastingBonus));
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.WitherAndBloom, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy)
+ .SetSpellLevel(2)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.Mundane)
+ .SetVerboseComponent(true)
+ .SetSomaticComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Attack)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(
+ false, AttributeDefinitions.Constitution, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.HalfDamage)
+ .SetDamageForm(DamageTypeNecrotic, 2, DieType.D6)
+ .Build())
+ .SetCasterEffectParameters(FalseLife)
+ .Build())
+ .AddToDB();
+
+ spell.AddCustomSubFeatures(new CustomBehaviorWitherAndBloom(spell, conditionSpellCastingBonus));
+
+ return spell;
+ }
+
+ private sealed class ModifyDiceRollHitDiceWitherAndBloom(ConditionDefinition conditionWitherAndBloom)
+ : IModifyDiceRollHitDice
+ {
+ public void BeforeRoll(
+ RulesetCharacterHero __instance,
+ ref DieType die,
+ ref int modifier,
+ ref AdvantageType advantageType,
+ ref bool healKindred,
+ ref bool isBonus)
+ {
+ if (__instance.TryGetConditionOfCategoryAndType(
+ AttributeDefinitions.TagEffect, conditionWitherAndBloom.Name, out var activeCondition))
+ {
+ modifier = activeCondition.amount;
+ }
+ }
+ }
+
+ private sealed class CustomBehaviorWitherAndBloom(
+ SpellDefinition spellWitherAndBloom,
+ ConditionDefinition conditionWitherAndBloom) : IMagicEffectInitiatedByMe, IMagicEffectFinishedByMe
+ {
+ private int _spellCastingAbilityModifier;
+ private GameLocationCharacter _target;
+
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ var actionManager =
+ ServiceRepository.GetService() as GameLocationActionManager;
+ var battleManager =
+ ServiceRepository.GetService() as GameLocationBattleManager;
+
+ if (!actionManager || !battleManager)
+ {
+ yield break;
+ }
+
+ if (action.ActionParams.activeEffect is not RulesetEffectSpell rulesetEffectSpell ||
+ _target == null)
+ {
+ yield break;
+ }
+
+ var rulesetTarget = _target.RulesetCharacter.GetOriginalHero();
+
+ if (rulesetTarget == null)
+ {
+ yield break;
+ }
+
+ var attacker = action.ActingCharacter;
+ var hasHealed = false;
+ var effectLevel = rulesetEffectSpell.EffectLevel;
+
+ rulesetTarget.HitDieRolled += HitDieRolled;
+
+ while (--effectLevel > 0 &&
+ rulesetTarget.RemainingHitDiceCount() > 0 &&
+ rulesetTarget.MissingHitPoints > 0)
+ {
+ var maxHitPoints = rulesetTarget.TryGetAttributeValue(AttributeDefinitions.HitPoints);
+ var remainingHitPoints = maxHitPoints - rulesetTarget.MissingHitPoints;
+ var reactionParams =
+ new CharacterActionParams(_target, (ActionDefinitions.Id)ExtraActionId.DoNothingFree)
+ {
+ StringParameter = Gui.Format(
+ "Reaction/&CustomReactionWitherAndBloomDescription",
+ remainingHitPoints.ToString(), maxHitPoints.ToString(), attacker.Name,
+ _spellCastingAbilityModifier.ToString())
+ };
+ var reactionRequest = new ReactionRequestCustom("WitherAndBloom", reactionParams);
+ var count = actionManager.PendingReactionRequestGroups.Count;
+
+ actionManager.AddInterruptRequest(reactionRequest);
+
+ yield return battleManager.WaitForReactions(attacker, actionManager, count);
+
+ if (!reactionParams.ReactionValidated)
+ {
+ break;
+ }
+
+ hasHealed = true;
+ rulesetTarget.RollHitDie();
+ }
+
+ rulesetTarget.HitDieRolled -= HitDieRolled;
+
+ if (hasHealed)
+ {
+ EffectHelpers.StartVisualEffect(attacker, _target, CureWounds, EffectHelpers.EffectType.Effect);
+ }
+ }
+
+ public IEnumerator OnMagicEffectInitiatedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ _target = null;
+
+ if (action.ActionParams.activeEffect is not RulesetEffectSpell rulesetEffectSpell ||
+ action.ActionParams.TargetCharacters.Count == 0)
+ {
+ yield break;
+ }
+
+ _target = action.ActionParams.TargetCharacters[0];
+
+ var attacker = action.ActingCharacter;
+
+ action.ActionParams.TargetCharacters.SetRange(
+ (Gui.Battle?.AllContenders ?? [])
+ .Where(x =>
+ _target.IsWithinRange(x, 2) &&
+ _target.IsOppositeSide(x.Side)));
+
+ action.ActionParams.ActionModifiers.Clear();
+
+ for (var i = 0; i < action.ActionParams.TargetCharacters.Count; i++)
+ {
+ action.ActionParams.ActionModifiers.Add(new ActionModifier());
+ }
+
+ var rulesetAttacker = attacker.RulesetCharacter;
+
+ _spellCastingAbilityModifier = AttributeDefinitions.ComputeAbilityScoreModifier(
+ rulesetAttacker.TryGetAttributeValue(rulesetEffectSpell.spellRepertoire.SpellCastingAbility));
+
+ var rulesetTarget = _target.RulesetCharacter;
+
+ rulesetTarget.InflictCondition(
+ conditionWitherAndBloom.Name,
+ DurationType.Round,
+ 0,
+ TurnOccurenceType.EndOfTurn,
+ AttributeDefinitions.TagEffect,
+ rulesetTarget.guid,
+ rulesetTarget.CurrentFaction.Name,
+ 1,
+ conditionWitherAndBloom.Name,
+ _spellCastingAbilityModifier,
+ 0,
+ 0);
+ }
+
+ private void HitDieRolled(
+ RulesetCharacter character,
+ DieType dieType,
+ int value,
+ AdvantageType advantageType,
+ int roll1,
+ int roll2,
+ int modifier,
+ bool isBonus)
+ {
+ // reuse translation string from other feat
+ const string BASE_LINE = "Feedback/&DwarvenFortitudeHitDieRolled";
+
+ character.ShowDieRoll(
+ dieType, roll1, roll2, advantage: advantageType, title: spellWitherAndBloom.GuiPresentation.Title);
+
+ character.LogCharacterActivatesAbility(
+ Gui.NoLocalization, BASE_LINE, true,
+ extra:
+ [
+ (ConsoleStyleDuplet.ParameterType.AbilityInfo, Gui.FormatDieTitle(dieType)),
+ (ConsoleStyleDuplet.ParameterType.Positive,
+ $"{value - modifier}+{modifier}"),
+ (ConsoleStyleDuplet.ParameterType.Positive, $"{value}")
+ ]);
+ }
+ }
+
+ #endregion
}
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs
index b0fb3321d4..3b22da5429 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs
@@ -194,6 +194,59 @@ internal static SpellDefinition BuildCrusadersMantle()
#endregion
+ #region Intellect Fortress
+
+ internal static SpellDefinition BuildIntellectFortress()
+ {
+ const string NAME = "IntellectFortress";
+
+ var condition = ConditionDefinitionBuilder
+ .Create($"Condition{NAME}")
+ .SetGuiPresentation(NAME, Category.Spell, ConditionProtectedInsideMagicCircle)
+ .SetPossessive()
+ .SetFeatures(
+ FeatureDefinitionSavingThrowAffinityBuilder
+ .Create($"SavingThrowAffinity{NAME}")
+ .SetGuiPresentation(NAME, Category.Spell, Gui.NoLocalization)
+ .SetAffinities(CharacterSavingThrowAffinity.Advantage, false,
+ AttributeDefinitions.Intelligence,
+ AttributeDefinitions.Wisdom,
+ AttributeDefinitions.Charisma)
+ .AddToDB(),
+ FeatureDefinitionDamageAffinitys.DamageAffinityPsychicResistance)
+ .AddToDB();
+
+ condition.GuiPresentation.description = Gui.NoLocalization;
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.IntellectFortress, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolAbjuration)
+ .SetSpellLevel(3)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.None)
+ .SetSomaticComponent(false)
+ .SetVerboseComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Buff)
+ .SetRequiresConcentration(true)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Hour, 1)
+ .SetTargetingData(Side.Ally, RangeType.Distance, 6, TargetType.IndividualsUnique)
+ .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel,
+ additionalTargetsPerIncrement: 1)
+ .SetEffectForms(EffectFormBuilder.ConditionForm(condition))
+ .SetParticleEffectParameters(EnhanceAbility)
+ .SetImpactEffectParameters(Aid)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Pulse Wave
internal static SpellDefinition BuildPulseWave()
@@ -305,6 +358,57 @@ internal static SpellDefinition BuildAdderFangs()
#endregion
+ #region Psionic Blast
+
+ internal static SpellDefinition BuildPsionicBlast()
+ {
+ const string NAME = "PsionicBlast";
+
+ var spell = SpellDefinitionBuilder
+ .Create(NAME)
+ .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.PsionicBlast, 128))
+ .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation)
+ .SetSpellLevel(3)
+ .SetCastingTime(ActivationTime.Action)
+ .SetMaterialComponent(MaterialComponentType.None)
+ .SetSomaticComponent(false)
+ .SetVerboseComponent(true)
+ .SetVocalSpellSameType(VocalSpellSemeType.Buff)
+ .SetRequiresConcentration(true)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.All, RangeType.Self, 6, TargetType.Cone, 6)
+ .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1)
+ .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .ExcludeCaster()
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetMotionForm(MotionForm.MotionType.PushFromOrigin, 4)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetMotionForm(MotionForm.MotionType.FallProne)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.HalfDamage)
+ .SetDamageForm(DamageTypePsychic, 5, DieType.D8)
+ .Build())
+ .SetCasterEffectParameters(ViciousMockery)
+ .SetImpactEffectParameters(DreadfulOmen)
+ .Build())
+ .AddToDB();
+
+ return spell;
+ }
+
+ #endregion
+
#region Aura of Vitality
internal static SpellDefinition BuildAuraOfVitality()
@@ -1274,19 +1378,18 @@ internal static SpellDefinition BuildCorruptingBolt()
.AddToDB();
conditionCorruptingBolt.AddCustomSubFeatures(
- new ActionFinishedByEnemyCorruptingBolt(conditionCorruptingBolt, spell));
+ new ActionFinishedByContenderCorruptingBolt(conditionCorruptingBolt, spell));
return spell;
}
- private sealed class ActionFinishedByEnemyCorruptingBolt(
+ private sealed class ActionFinishedByContenderCorruptingBolt(
// ReSharper disable once SuggestBaseTypeForParameterInConstructor
ConditionDefinition conditionCorruptingBolt,
// ReSharper disable once SuggestBaseTypeForParameterInConstructor
- SpellDefinition spellCorruptingBolt)
- : IActionFinishedByEnemy
+ SpellDefinition spellCorruptingBolt) : IActionFinishedByContender
{
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
{
if (characterAction is CharacterActionCastSpell actionCastSpell &&
actionCastSpell.activeSpell.SpellDefinition == spellCorruptingBolt)
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel04.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel04.cs
index e3695d56b7..cb4e902341 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel04.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel04.cs
@@ -357,10 +357,9 @@ internal static SpellDefinition BuildBlessingOfRime()
private sealed class CustomBehaviorBlessingOfRime(
// ReSharper disable once SuggestBaseTypeForParameterInConstructor
- SpellDefinition spellDefinition)
- : IActionFinishedByEnemy, IRollSavingThrowInitiated
+ SpellDefinition spellDefinition) : IActionFinishedByContender, IRollSavingThrowInitiated
{
- public IEnumerator OnActionFinishedByEnemy(CharacterAction characterAction, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
{
var rulesetCharacter = target.RulesetCharacter;
diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs
index bc57c3e1f8..b034c1333a 100644
--- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs
+++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs
@@ -361,7 +361,9 @@ internal static SpellDefinition BuildWeird()
ConditionForm.ConditionOperation.Add)
.HasSavingThrow(EffectSavingThrowType.Negates, TurnOccurenceType.EndOfTurn, true)
.Build())
- .SetParticleEffectParameters(PhantasmalKiller)
+ .SetCasterEffectParameters(PhantasmalKiller)
+ .SetImpactEffectParameters(
+ PhantasmalKiller.EffectDescription.EffectParticleParameters.effectParticleReference)
.Build())
.SetRequiresConcentration(true)
.AddToDB();
diff --git a/SolastaUnfinishedBusiness/Subclasses/CircleOfTheForestGuardian.cs b/SolastaUnfinishedBusiness/Subclasses/CircleOfTheForestGuardian.cs
index cb439eb556..ad7e721d21 100644
--- a/SolastaUnfinishedBusiness/Subclasses/CircleOfTheForestGuardian.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/CircleOfTheForestGuardian.cs
@@ -200,21 +200,21 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action,
}
private sealed class CustomBehaviorBarkWard(FeatureDefinitionPower powerBarkOrImprovedBarkWard)
- : IAttackBeforeHitPossibleOnMeOrAlly, IActionFinishedByEnemy
+ : IAttackBeforeHitPossibleOnMeOrAlly, IActionFinishedByContender
{
- private bool _shouldTrigger;
+ private bool _isValid;
- public IEnumerator OnActionFinishedByEnemy(CharacterAction action, GameLocationCharacter target)
+ public IEnumerator OnActionFinishedByContender(CharacterAction action, GameLocationCharacter target)
{
- var actingCharacter = action.ActingCharacter;
- var rulesetAttacker = actingCharacter.RulesetCharacter;
-
- if (!_shouldTrigger)
+ if (!_isValid)
{
yield break;
}
- _shouldTrigger = false;
+ _isValid = false;
+
+ var actingCharacter = action.ActingCharacter;
+ var rulesetAttacker = actingCharacter.RulesetCharacter;
if (Gui.Battle != null &&
Gui.Battle.InitiativeRollFinished &&
@@ -235,7 +235,7 @@ public IEnumerator OnAttackBeforeHitPossibleOnMeOrAlly(
RulesetEffect rulesetEffect,
int attackRoll)
{
- _shouldTrigger =
+ _isValid =
defender == helper &&
defender.RulesetCharacter.TemporaryHitPoints > 0 &&
defender.RulesetCharacter.HasConditionOfTypeOrSubType($"Condition{Name}BarkWard") &&
diff --git a/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs b/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs
index 2fc2ec5b2b..445dae90f4 100644
--- a/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs
@@ -323,11 +323,11 @@ private static string GetAdditionalDamageType(
}
private sealed class CustomBehaviorWrathOfTheStorm(FeatureDefinitionPower powerWrathOfTheStorm)
- : IAttackBeforeHitPossibleOnMeOrAlly, IActionFinishedByEnemy
+ : IAttackBeforeHitPossibleOnMeOrAlly, IActionFinishedByContender
{
private bool _isValid;
- public IEnumerator OnActionFinishedByEnemy(CharacterAction action, GameLocationCharacter defender)
+ public IEnumerator OnActionFinishedByContender(CharacterAction action, GameLocationCharacter defender)
{
if (!_isValid)
{
diff --git a/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs b/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs
index bf0d3e45e7..2c1e1ca5c4 100644
--- a/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs
@@ -1,7 +1,7 @@
using System.Collections;
+using System.Collections.Generic;
using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api.GameExtensions;
-using SolastaUnfinishedBusiness.Api.Helpers;
using SolastaUnfinishedBusiness.Behaviors;
using SolastaUnfinishedBusiness.Behaviors.Specific;
using SolastaUnfinishedBusiness.Builders;
@@ -10,6 +10,7 @@
using SolastaUnfinishedBusiness.CustomUI;
using SolastaUnfinishedBusiness.Interfaces;
using SolastaUnfinishedBusiness.Properties;
+using UnityEngine.AddressableAssets;
using static RuleDefinitions;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers;
using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions;
@@ -52,16 +53,18 @@ public InnovationVivisectionist()
.SetNotificationTag("MedicalAccuracy")
.SetDamageDice(DieType.D6, 1)
.SetAdvancement(AdditionalDamageAdvancement.ClassLevel, 1, 1, 4, 3)
- .SetRequiredProperty(RestrictedContextRequiredProperty.FinesseOrRangeWeapon)
+ .SetRequiredProperty(RestrictedContextRequiredProperty.Weapon)
.SetTriggerCondition(AdditionalDamageTriggerCondition.AdvantageOrNearbyAlly)
.SetFrequencyLimit(FeatureLimitedUsage.OncePerTurn)
+ .SetAttackModeOnly()
.AddToDB();
// Emergency Surgery
var powerEmergencySurgery = FeatureDefinitionPowerBuilder
.Create($"Power{Name}EmergencySurgery")
- .SetGuiPresentation(Category.Feature, PowerDomainInsightForeknowledge)
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerEmergencySurgery", Resources.PowerEmergencySurgery, 256, 128))
.SetUsesProficiencyBonus(ActivationTime.Action)
.SetEffectDescription(
EffectDescriptionBuilder
@@ -73,6 +76,9 @@ public InnovationVivisectionist()
.SetHealingForm(
HealingComputation.Dice, 0, DieType.D6, 1, false, HealingCap.MaximumHitPoints)
.Build())
+ .SetCasterEffectParameters(new AssetReference())
+ .SetImpactEffectParameters(PowerTraditionOpenHandWholenessOfBody
+ .EffectDescription.EffectParticleParameters.effectParticleReference)
.Build())
.AddToDB();
@@ -127,7 +133,7 @@ public InnovationVivisectionist()
var powerOrganDonation = FeatureDefinitionPowerBuilder
.Create($"Power{Name}OrganDonation")
.SetGuiPresentation(Category.Feature)
- .SetUsesProficiencyBonus(ActivationTime.NoCost, RechargeRate.ShortRest)
+ .SetUsesFixed(ActivationTime.NoCost, RechargeRate.ShortRest)
.AddToDB();
powerOrganDonation.AddCustomSubFeatures(
@@ -264,12 +270,19 @@ public IEnumerator HandleReducedToZeroHpByMe(
}
var rulesetAttacker = attacker.RulesetCharacter;
+ var usablePowerEmergencyCure = PowerProvider.Get(powerEmergencyCure, rulesetAttacker);
+ var usablePowerEmergencySurgery = PowerProvider.Get(powerEmergencySurgery, rulesetAttacker);
- if (rulesetAttacker.GetRemainingPowerUses(powerOrganDonation) == 0)
+ if (rulesetAttacker.GetRemainingPowerUses(powerOrganDonation) == 0 ||
+ !attacker.OncePerTurnIsValid(powerOrganDonation.Name) ||
+ (usablePowerEmergencyCure.MaxUses == usablePowerEmergencyCure.RemainingUses &&
+ usablePowerEmergencySurgery.MaxUses == usablePowerEmergencySurgery.RemainingUses))
{
yield break;
}
+ attacker.UsedSpecialFeatures.TryAdd(powerOrganDonation.Name, 0);
+
var actionService = ServiceRepository.GetService();
var implementationManager =
ServiceRepository.GetService() as RulesetImplementationManager;
@@ -293,15 +306,7 @@ public IEnumerator HandleReducedToZeroHpByMe(
yield break;
}
- rulesetAttacker.UsePower(usablePower);
- rulesetAttacker.LogCharacterUsedPower(powerOrganDonation);
-
- var usablePowerEmergencyCure = PowerProvider.Get(powerEmergencyCure, rulesetAttacker);
-
rulesetAttacker.RepayPowerUse(usablePowerEmergencyCure);
-
- var usablePowerEmergencySurgery = PowerProvider.Get(powerEmergencySurgery, rulesetAttacker);
-
rulesetAttacker.RepayPowerUse(usablePowerEmergencySurgery);
}
}
diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronArchfey.cs b/SolastaUnfinishedBusiness/Subclasses/PatronArchfey.cs
new file mode 100644
index 0000000000..c112a69e4c
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Subclasses/PatronArchfey.cs
@@ -0,0 +1,582 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using JetBrains.Annotations;
+using SolastaUnfinishedBusiness.Api.GameExtensions;
+using SolastaUnfinishedBusiness.Behaviors;
+using SolastaUnfinishedBusiness.Behaviors.Specific;
+using SolastaUnfinishedBusiness.Builders;
+using SolastaUnfinishedBusiness.Builders.Features;
+using SolastaUnfinishedBusiness.CustomUI;
+using SolastaUnfinishedBusiness.Interfaces;
+using SolastaUnfinishedBusiness.Models;
+using SolastaUnfinishedBusiness.Properties;
+using UnityEngine.Playables;
+using static RuleDefinitions;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions;
+
+namespace SolastaUnfinishedBusiness.Subclasses;
+
+[UsedImplicitly]
+public class PatronArchfey : AbstractSubclass
+{
+ private const string Name = "Archfey";
+
+ public PatronArchfey()
+ {
+ // LEVEL 01
+
+ // Expanded Spells
+
+ var spellListArchfey = SpellListDefinitionBuilder
+ .Create(SpellListDefinitions.SpellListWizard, $"SpellList{Name}")
+ .SetGuiPresentationNoContent(true)
+ .ClearSpells()
+ .SetSpellsAtLevel(1, FaerieFire, Sleep)
+ .SetSpellsAtLevel(2, CalmEmotions, SpellsContext.MirrorImage)
+ .SetSpellsAtLevel(3, ConjureAnimals, ProtectionFromEnergy)
+ .SetSpellsAtLevel(4, DominateBeast, GreaterInvisibility)
+ .SetSpellsAtLevel(5, DominatePerson, SpellsContext.MantleOfThorns)
+ .FinalizeSpells(true, 9)
+ .AddToDB();
+
+ var magicAffinityExpandedSpells = FeatureDefinitionMagicAffinityBuilder
+ .Create($"MagicAffinity{Name}ExpandedSpells")
+ .SetGuiPresentation("MagicAffinityPatronExpandedSpells", Category.Feature)
+ .SetExtendedSpellList(spellListArchfey)
+ .AddToDB();
+
+ // Fey Presence
+
+ var powerFeyPresence = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}FeyPresence")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerFeyPresence", Resources.PowerFeyPresence, 256, 128))
+ .SetUsesFixed(ActivationTime.Action, RechargeRate.ShortRest)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.StartOfTurn)
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cone, 3)
+ .ExcludeCaster()
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .Build())
+ .AddToDB();
+
+ var powerFeyPresenceCharmed = FeatureDefinitionPowerSharedPoolBuilder
+ .Create($"Power{Name}FeyPresenceCharmed")
+ .SetGuiPresentation(Category.Feature, hidden: true)
+ .SetSharedPool(ActivationTime.Action, powerFeyPresence)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cone, 3)
+ .ExcludeCaster()
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(ConditionDefinitions.ConditionCharmed,
+ ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerSorcererDraconicElementalResistance)
+ .SetImpactEffectParameters(
+ CharmPerson.EffectDescription.EffectParticleParameters.effectParticleReference)
+ .Build())
+ .AddToDB();
+
+ var powerFeyPresenceFrightened = FeatureDefinitionPowerSharedPoolBuilder
+ .Create($"Power{Name}FeyPresenceFrightened")
+ .SetGuiPresentation(Category.Feature, hidden: true)
+ .SetSharedPool(ActivationTime.Action, powerFeyPresence)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.StartOfTurn)
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cone, 3)
+ .ExcludeCaster()
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(ConditionDefinitions.ConditionFrightened,
+ ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerSorcererDraconicElementalResistance)
+ .SetImpactEffectParameters(
+ Malediction.EffectDescription.EffectParticleParameters.effectParticleReference)
+ .Build())
+ .AddToDB();
+
+ PowerBundle.RegisterPowerBundle(powerFeyPresence, false,
+ powerFeyPresenceCharmed, powerFeyPresenceFrightened);
+
+ var featureSetFeyPresence = FeatureDefinitionFeatureSetBuilder
+ .Create($"FeatureSet{Name}FeyPresence")
+ .SetGuiPresentation($"Power{Name}FeyPresence", Category.Feature)
+ .SetFeatureSet(powerFeyPresence, powerFeyPresenceCharmed, powerFeyPresenceFrightened)
+ .AddToDB();
+
+ // LEVEL 06
+
+ // Misty Escape
+
+ var conditionMistyEscape = ConditionDefinitionBuilder
+ .Create($"Condition{Name}MistyEscape")
+ .SetGuiPresentationNoContent(true)
+ .SetSilent(Silent.WhenAddedOrRemoved)
+ .SetFeatures(
+ FeatureDefinitionActionAffinityBuilder
+ .Create($"ActionAffinity{Name}MistyEscape")
+ .SetGuiPresentationNoContent(true)
+ .SetForbiddenActions(
+ ActionDefinitions.Id.Shove,
+ ActionDefinitions.Id.ShoveBonus,
+ ActionDefinitions.Id.AttackMain,
+ ActionDefinitions.Id.AttackOff,
+ ActionDefinitions.Id.AttackFree)
+ .AddToDB())
+ .SetSpecialInterruptions(ConditionInterruption.AnyBattleTurnEnd)
+ .AddToDB();
+
+ var powerMistyEscape = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}MistyEscape")
+ .SetGuiPresentation(Category.Feature, MistyStep)
+ .SetUsesFixed(ActivationTime.NoCost, RechargeRate.ShortRest)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Round, 0, TurnOccurenceType.StartOfTurn)
+ .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.Position)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetMotionForm(MotionForm.MotionType.TeleportToDestination)
+ .Build(),
+ EffectFormBuilder.ConditionForm(ConditionDefinitions.ConditionInvisible,
+ ConditionForm.ConditionOperation.Add, true, true))
+ .SetParticleEffectParameters(PowerMelekTeleport)
+ .Build())
+ .AddToDB();
+
+ powerMistyEscape.AddCustomSubFeatures(
+ ModifyPowerVisibility.Hidden,
+ new CustomBehaviorMistyEscape(powerMistyEscape, conditionMistyEscape));
+
+ // LEVEL 10
+
+ // Beguiling Defenses
+
+ var conditionBeguilingDefenses = ConditionDefinitionBuilder
+ .Create(ConditionDefinitions.ConditionCharmed, $"Condition{Name}BeguilingDefenses")
+ .SetParentCondition(ConditionDefinitions.ConditionCharmed)
+ .SetFeatures()
+ .SetSpecialInterruptions(ConditionInterruption.Damaged)
+ .AddToDB();
+
+ var powerBeguilingDefenses = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}BeguilingDefenses")
+ .SetGuiPresentation(Category.Feature, hidden: true)
+ .SetUsesFixed(ActivationTime.NoCost)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(conditionBeguilingDefenses, ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerSorcererDraconicElementalResistance)
+ .SetImpactEffectParameters(
+ CharmPerson.EffectDescription.EffectParticleParameters.effectParticleReference)
+ .Build())
+ .AddToDB();
+
+ powerBeguilingDefenses.AddCustomSubFeatures(
+ new CustomBehaviorBeguilingDefenses(powerBeguilingDefenses));
+
+ var conditionAffinityBeguilingDefenses = FeatureDefinitionConditionAffinityBuilder
+ .Create($"ConditionAffinity{Name}BeguilingDefenses")
+ .SetGuiPresentationNoContent(true)
+ .SetConditionType(ConditionDefinitions.ConditionCharmed)
+ .SetConditionAffinityType(ConditionAffinityType.Immunity)
+ .AddToDB();
+
+ var featureSetBeguilingDefenses = FeatureDefinitionFeatureSetBuilder
+ .Create($"FeatureSet{Name}BeguilingDefenses")
+ .SetGuiPresentation($"Power{Name}BeguilingDefenses", Category.Feature)
+ .SetFeatureSet(powerBeguilingDefenses, conditionAffinityBeguilingDefenses)
+ .AddToDB();
+
+ // LEVEL 14
+
+ // Dark Delirium
+
+ var powerDarkDelirium = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}DarkDelirium")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerDarkDelirium", Resources.PowerDarkDelirium, 256, 128))
+ .SetUsesFixed(ActivationTime.Action, RechargeRate.ShortRest)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .Build())
+ .AddToDB();
+
+ var conditionDarkDeliriumCharmed = ConditionDefinitionBuilder
+ .Create(ConditionDefinitions.ConditionCharmed, $"Condition{Name}DarkDeliriumCharmed")
+ .SetParentCondition(ConditionDefinitions.ConditionCharmed)
+ .SetFeatures()
+ .SetSpecialInterruptions(ConditionInterruption.Damaged)
+ .AddToDB();
+
+ var powerDarkDeliriumCharmed = FeatureDefinitionPowerSharedPoolBuilder
+ .Create($"Power{Name}DarkDeliriumCharmed")
+ .SetGuiPresentation(Category.Feature, hidden: true)
+ .SetSharedPool(ActivationTime.Action, powerDarkDelirium)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(conditionDarkDeliriumCharmed, ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerGreen_Hag_Invisibility)
+ .SetImpactEffectParameters(
+ CharmPerson.EffectDescription.EffectParticleParameters.effectParticleReference)
+ .Build())
+ .AddToDB();
+
+ var conditionDarkDeliriumFrightened = ConditionDefinitionBuilder
+ .Create(ConditionDefinitions.ConditionFrightened, $"Condition{Name}DarkDeliriumFrightened")
+ .SetParentCondition(ConditionDefinitions.ConditionFrightened)
+ .SetFeatures()
+ .SetSpecialInterruptions(ConditionInterruption.Damaged)
+ .AddToDB();
+
+ var powerDarkDeliriumFrightened = FeatureDefinitionPowerSharedPoolBuilder
+ .Create($"Power{Name}DarkDeliriumFrightened")
+ .SetGuiPresentation(Category.Feature, hidden: true)
+ .SetSharedPool(ActivationTime.Action, powerDarkDelirium)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetDurationData(DurationType.Minute, 1)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Wisdom, false,
+ EffectDifficultyClassComputation.SpellCastingFeature)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(conditionDarkDeliriumFrightened, ConditionForm.ConditionOperation.Add)
+ .Build())
+ .SetCasterEffectParameters(PowerGreen_Hag_Invisibility)
+ .SetEffectEffectParameters(PhantasmalKiller)
+ .Build())
+ .AddToDB();
+
+ PowerBundle.RegisterPowerBundle(powerDarkDelirium, false,
+ powerDarkDeliriumCharmed, powerDarkDeliriumFrightened);
+
+ var featureSetDarkDelirium = FeatureDefinitionFeatureSetBuilder
+ .Create($"FeatureSet{Name}DarkDelirium")
+ .SetGuiPresentation($"Power{Name}DarkDelirium", Category.Feature)
+ .SetFeatureSet(powerDarkDelirium, powerDarkDeliriumCharmed, powerDarkDeliriumFrightened)
+ .AddToDB();
+
+ Subclass = CharacterSubclassDefinitionBuilder
+ .Create($"Patron{Name}")
+ .SetGuiPresentation(Category.Subclass, CharacterSubclassDefinitions.RangerShadowTamer)
+ .AddFeaturesAtLevel(1, magicAffinityExpandedSpells, featureSetFeyPresence)
+ .AddFeaturesAtLevel(6, powerMistyEscape)
+ .AddFeaturesAtLevel(10, featureSetBeguilingDefenses)
+ .AddFeaturesAtLevel(14, featureSetDarkDelirium)
+ .AddToDB();
+ }
+
+ internal override CharacterClassDefinition Klass => CharacterClassDefinitions.Warlock;
+
+ internal override CharacterSubclassDefinition Subclass { get; }
+
+ internal override FeatureDefinitionSubclassChoice SubclassChoice =>
+ FeatureDefinitionSubclassChoices.SubclassChoiceWarlockOtherworldlyPatrons;
+
+ // ReSharper disable once UnassignedGetOnlyAutoProperty
+ internal override DeityDefinition DeityDefinition { get; }
+
+ //
+ // Misty Escape
+ //
+
+ private sealed class CustomBehaviorMistyEscape(
+ FeatureDefinitionPower powerMistyEscape,
+ ConditionDefinition conditionMistyEscape)
+ : IMagicEffectBeforeHitConfirmedOnMe, IPhysicalAttackBeforeHitConfirmedOnMe, IActionFinishedByContender,
+ IIgnoreInvisibilityInterruptionCheck
+ {
+ private const string TagMistyEscape = "MistyEscape";
+
+ public IEnumerator OnActionFinishedByContender(CharacterAction characterAction, GameLocationCharacter target)
+ {
+ if (!target.UsedSpecialFeatures.ContainsKey(TagMistyEscape))
+ {
+ yield break;
+ }
+
+ target.UsedSpecialFeatures.Remove(TagMistyEscape);
+
+ yield return SelectPositionAndExecutePower(target);
+ }
+
+ public IEnumerator OnMagicEffectBeforeHitConfirmedOnMe(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender,
+ ActionModifier actionModifier,
+ RulesetEffect rulesetEffect,
+ List actualEffectForms,
+ bool firstTarget,
+ bool criticalHit)
+ {
+ yield return HandleReaction(battleManager, attacker, defender);
+ }
+
+ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnMe(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender,
+ ActionModifier actionModifier,
+ RulesetAttackMode attackMode,
+ bool rangedAttack,
+ AdvantageType advantageType,
+ List actualEffectForms,
+ bool firstTarget,
+ bool criticalHit)
+ {
+ yield return HandleReaction(battleManager, attacker, defender);
+ }
+
+ private static void ResetCamera()
+ {
+ var viewLocationContextualManager =
+ ServiceRepository.GetService() as ViewLocationContextualManager;
+
+ if (!viewLocationContextualManager)
+ {
+ return;
+ }
+
+ if (viewLocationContextualManager.rangeAttackDirector.state == PlayState.Playing)
+ {
+ viewLocationContextualManager.rangeAttackDirector.Stop();
+ viewLocationContextualManager.ContextualSequenceEnd?.Invoke();
+ }
+
+ // ReSharper disable once InvertIf
+ if (viewLocationContextualManager.meleeAttackDirector.state == PlayState.Playing)
+ {
+ viewLocationContextualManager.meleeAttackDirector.Stop();
+ viewLocationContextualManager.ContextualSequenceEnd?.Invoke();
+ }
+ }
+
+ private IEnumerator SelectPositionAndExecutePower(GameLocationCharacter defender)
+ {
+ ResetCamera();
+
+ var rulesetDefender = defender.RulesetCharacter;
+ var cursorManager = ServiceRepository.GetService() as CursorManager;
+ var implementationManager =
+ ServiceRepository.GetService() as RulesetImplementationManager;
+
+ var usablePower = PowerProvider.Get(powerMistyEscape, rulesetDefender);
+ var rulesetEffect = implementationManager
+ .MyInstantiateEffectPower(defender.RulesetCharacter, usablePower, false);
+
+ var actionParams = new CharacterActionParams(defender, (ActionDefinitions.Id)ExtraActionId.DoNothingFree)
+ {
+ RulesetEffect = rulesetEffect, UsablePower = usablePower
+ };
+
+ var cursorLocationSelectPosition =
+ cursorManager!.cursorsByType[typeof(CursorLocationSelectPosition)] as CursorLocationSelectPosition;
+
+ cursorLocationSelectPosition!.selectedPositions.Clear();
+
+ // need this outer loop to ensure we re-activate cursor if game cancels it
+ while (cursorLocationSelectPosition.selectedPositions.Count == 0)
+ {
+ cursorManager!.ActivateCursor(actionParams);
+
+ while (cursorManager.CurrentCursor is CursorLocationSelectPosition)
+ {
+ yield return null;
+ }
+ }
+
+ actionParams = new CharacterActionParams(defender, ActionDefinitions.Id.PowerNoCost)
+ {
+ ActionModifiers = { new ActionModifier() },
+ RulesetEffect = rulesetEffect,
+ UsablePower = usablePower,
+ TargetCharacters = { defender },
+ positions = [.. cursorLocationSelectPosition!.selectedPositions]
+ };
+
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
+
+ private IEnumerator HandleReaction(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender)
+ {
+ var actionManager =
+ ServiceRepository.GetService() as GameLocationActionManager;
+
+ if (!actionManager ||
+ defender.RulesetCharacter.GetRemainingPowerUses(powerMistyEscape) == 0 ||
+ defender.IsMyTurn())
+ {
+ yield break;
+ }
+
+ var reactionParams = new CharacterActionParams(defender, (ActionDefinitions.Id)ExtraActionId.DoNothingFree)
+ {
+ StringParameter = $"Reaction/&CustomReaction{TagMistyEscape}Description"
+ };
+ var reactionRequest = new ReactionRequestCustom(TagMistyEscape, reactionParams);
+ var count = actionManager.PendingReactionRequestGroups.Count;
+
+ actionManager.AddInterruptRequest(reactionRequest);
+
+ yield return battleManager.WaitForReactions(attacker, actionManager, count);
+
+ if (!reactionParams.ReactionValidated)
+ {
+ yield break;
+ }
+
+ defender.UsedSpecialFeatures.TryAdd(TagMistyEscape, 0);
+
+ // trick to ensure enemy won't execute any more attack or shove action after teleport
+ var rulesetAttacker = attacker.RulesetCharacter;
+ var rulesetDefender = defender.RulesetCharacter;
+
+ rulesetAttacker.InflictCondition(
+ conditionMistyEscape.Name,
+ DurationType.Round,
+ 0,
+ TurnOccurenceType.EndOfTurn,
+ AttributeDefinitions.TagEffect,
+ rulesetDefender.guid,
+ rulesetDefender.CurrentFaction.Name,
+ 1,
+ conditionMistyEscape.Name,
+ 0,
+ 0,
+ 0);
+ }
+ }
+
+ //
+ // Beguiling Defenses
+ //
+
+ private class CustomBehaviorBeguilingDefenses(FeatureDefinitionPower powerBeguilingDefenses)
+ : IPhysicalAttackBeforeHitConfirmedOnMe, IMagicEffectBeforeHitConfirmedOnMe
+
+ {
+ public IEnumerator OnMagicEffectBeforeHitConfirmedOnMe(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender,
+ ActionModifier actionModifier,
+ RulesetEffect rulesetEffect,
+ List actualEffectForms,
+ bool firstTarget,
+ bool criticalHit)
+ {
+ yield return HandleReaction(battleManager, attacker, defender, actualEffectForms);
+ }
+
+ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnMe(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender,
+ ActionModifier actionModifier,
+ RulesetAttackMode attackMode,
+ bool rangedAttack,
+ AdvantageType advantageType,
+ List actualEffectForms,
+ bool firstTarget,
+ bool criticalHit)
+ {
+ yield return HandleReaction(battleManager, attacker, defender, actualEffectForms);
+ }
+
+ private IEnumerator HandleReaction(
+ GameLocationBattleManager battleManager,
+ GameLocationCharacter attacker,
+ GameLocationCharacter defender,
+ List actualEffectForms)
+ {
+ if (!defender.CanReact() ||
+ !defender.CanPerceiveTarget(attacker) ||
+ !actualEffectForms.Any(x =>
+ x.FormType == EffectForm.EffectFormType.Condition &&
+ (x.ConditionForm.ConditionDefinition == ConditionDefinitions.ConditionCharmed ||
+ x.ConditionForm.ConditionDefinition.parentCondition == ConditionDefinitions.ConditionCharmed)))
+ {
+ yield break;
+ }
+
+ var actionService = ServiceRepository.GetService();
+ var implementationManager =
+ ServiceRepository.GetService() as RulesetImplementationManager;
+
+ var rulesetDefender = defender.RulesetCharacter;
+ var usablePower = PowerProvider.Get(powerBeguilingDefenses, rulesetDefender);
+ var actionParams =
+ new CharacterActionParams(defender, ActionDefinitions.Id.PowerReaction)
+ {
+ StringParameter = "BeguilingDefenses",
+ ActionModifiers = { new ActionModifier() },
+ RulesetEffect = implementationManager
+ .MyInstantiateEffectPower(rulesetDefender, usablePower, false),
+ UsablePower = usablePower,
+ TargetCharacters = { attacker }
+ };
+ var count = actionService.PendingReactionRequestGroups.Count;
+
+ actionService.ReactToUsePower(actionParams, "UsePower", defender);
+
+ yield return battleManager.WaitForReactions(attacker, actionService, count);
+ }
+ }
+}
diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronRiftWalker.cs b/SolastaUnfinishedBusiness/Subclasses/PatronRiftWalker.cs
index 4aed01ab46..138088e276 100644
--- a/SolastaUnfinishedBusiness/Subclasses/PatronRiftWalker.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/PatronRiftWalker.cs
@@ -92,7 +92,7 @@ public PatronRiftWalker()
EffectDescriptionBuilder
.Create()
.SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
- .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique)
.SetEffectForms(EffectFormBuilder.ConditionForm(ConditionDefinitions.ConditionBanished))
.Build())
.AddCustomSubFeatures(
diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheStormSoul.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheStormSoul.cs
new file mode 100644
index 0000000000..16f1530557
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheStormSoul.cs
@@ -0,0 +1,392 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using JetBrains.Annotations;
+using SolastaUnfinishedBusiness.Api.GameExtensions;
+using SolastaUnfinishedBusiness.Behaviors;
+using SolastaUnfinishedBusiness.Builders;
+using SolastaUnfinishedBusiness.Builders.Features;
+using SolastaUnfinishedBusiness.CustomUI;
+using SolastaUnfinishedBusiness.Interfaces;
+using SolastaUnfinishedBusiness.Properties;
+using SolastaUnfinishedBusiness.Validators;
+using static RuleDefinitions;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers;
+using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions;
+
+namespace SolastaUnfinishedBusiness.Subclasses;
+
+[UsedImplicitly]
+public sealed class WayOfTheStormSoul : AbstractSubclass
+{
+ private const string Name = "WayOfTheStormSoul";
+
+ public WayOfTheStormSoul()
+ {
+ // LEVEL 03
+
+ // Disciple of Storms
+
+ var additionalDamageDiscipleOfStorms = FeatureDefinitionAdditionalDamageBuilder
+ .Create($"AdditionalDamage{Name}DiscipleOfStorms")
+ .SetGuiPresentation(Category.Feature)
+ .SetNotificationTag("DiscipleOfStorms")
+ .SetRequiredProperty(RestrictedContextRequiredProperty.Unarmed)
+ .SetTriggerCondition(ExtraAdditionalDamageTriggerCondition.FlurryOfBlows)
+ .SetDamageValueDetermination(AdditionalDamageValueDetermination.SameAsBaseWeaponDie)
+ .SetSpecificDamageType(DamageTypeLightning)
+ .SetImpactParticleReference(LightningBolt)
+ .AddCustomSubFeatures(new MagicEffectFinishedByMeAnyDiscipleOfStorms())
+ .AddToDB();
+
+ // LEVEL 06
+
+ // Lightning Warrior
+
+ var powerLightningLure = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}LightningLure")
+ .SetGuiPresentation(Category.Feature,
+ Sprites.GetSprite("PowerLightningLure", Resources.PowerLightningLure, 128))
+ .SetUsesFixed(ActivationTime.NoCost)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 3, TargetType.IndividualsUnique)
+ .SetSavingThrowData(false, AttributeDefinitions.Strength, false,
+ EffectDifficultyClassComputation.AbilityScoreAndProficiency)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetMotionForm(MotionForm.MotionType.DragToOrigin, 2)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeLightning, 1, DieType.D6)
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .Build())
+ .SetParticleEffectParameters(LightningBolt)
+ .SetCasterEffectParameters(PowerDomainElementalLightningBlade)
+ .Build())
+ .AddToDB();
+
+ var featureSetLightningWarrior = FeatureDefinitionFeatureSetBuilder
+ .Create($"FeatureSet{Name}LightningWarrior")
+ .SetGuiPresentation(Category.Feature)
+ .AddFeatureSet(powerLightningLure, FeatureDefinitionDamageAffinitys.DamageAffinityLightningResistance)
+ .AddToDB();
+
+ // LEVEL 11
+
+ // Tempest's Fury
+
+ var powerTempestFury = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}TempestFury")
+ .SetGuiPresentation(Category.Feature, PowerOathOfDevotionTurnUnholy)
+ .SetUsesFixed(ActivationTime.NoCost, RechargeRate.KiPoints)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cube, 3)
+ .SetCasterEffectParameters(ShockingGrasp)
+ .Build())
+ .AddCustomSubFeatures(
+ ValidatorsValidatePowerUse.HasBonusAttackAvailable,
+ new ValidatorsValidatePowerUse(ValidatorsCharacter.HasAnyOfConditions(ConditionFlurryOfBlows)),
+ new MagicEffectFinishedByMeTempestFury())
+ .AddToDB();
+
+ // LEVEL 17
+
+ // Eye of The Storm
+
+ var conditionEyeOfTheStorm = ConditionDefinitionBuilder
+ .Create($"Condition{Name}EyeOfTheStorm")
+ .SetGuiPresentation(Category.Condition, ConditionDefinitions.ConditionShocked)
+ .SetPossessive()
+ .SetConditionType(ConditionType.Detrimental)
+ .CopyParticleReferences(ConditionDefinitions.ConditionShocked)
+ .SetSpecialDuration(DurationType.Minute, 1, TurnOccurenceType.EndOfSourceTurn)
+ .AddToDB();
+
+ var additionalDamageEyeOfTheStorm = FeatureDefinitionAdditionalDamageBuilder
+ .Create($"AdditionalDamage{Name}EyeOfTheStorm")
+ .SetGuiPresentationNoContent(true)
+ .SetRequiredProperty(RestrictedContextRequiredProperty.UnarmedOrMonkWeapon)
+ .SetImpactParticleReference(ConditionDefinitions.ConditionShocked.conditionParticleReference)
+ .AddConditionOperation(ConditionOperationDescription.ConditionOperation.Add, conditionEyeOfTheStorm)
+ .AddToDB();
+
+ var powerEyeOfTheStormLeap = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}EyeOfTheStormLeap")
+ .SetGuiPresentation($"FeatureSet{Name}EyeOfTheStorm", Category.Feature, hidden: true)
+ .SetUsesFixed(ActivationTime.NoCost)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Enemy, RangeType.Distance, 0, TargetType.IndividualsUnique)
+ .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn)
+ .SetSavingThrowData(false, AttributeDefinitions.Dexterity, true,
+ EffectDifficultyClassComputation.AbilityScoreAndProficiency)
+ .SetEffectForms(
+ EffectFormBuilder
+ .Create()
+ .SetDamageForm(DamageTypeLightning, 5, DieType.D10)
+ .HasSavingThrow(EffectSavingThrowType.HalfDamage)
+ .Build(),
+ EffectFormBuilder
+ .Create()
+ .SetConditionForm(conditionEyeOfTheStorm, ConditionForm.ConditionOperation.Remove)
+ .Build())
+ .SetParticleEffectParameters(PowerDomainElementalLightningBlade)
+ .Build())
+ .AddCustomSubFeatures(ValidatorsValidatePowerUse.InCombat)
+ .AddToDB();
+
+ powerEyeOfTheStormLeap.EffectDescription.EffectParticleParameters.impactParticleReference =
+ powerEyeOfTheStormLeap.EffectDescription.EffectParticleParameters.effectParticleReference;
+
+ var powerEyeOfTheStorm = FeatureDefinitionPowerBuilder
+ .Create($"Power{Name}EyeOfTheStorm")
+ .SetGuiPresentation($"FeatureSet{Name}EyeOfTheStorm", Category.Feature,
+ Sprites.GetSprite(Name, Resources.PowerEyeOfTheStorm, 256, 128))
+ .SetUsesFixed(ActivationTime.Action, RechargeRate.KiPoints, 3)
+ .SetShowCasting(false)
+ .SetEffectDescription(
+ EffectDescriptionBuilder
+ .Create()
+ .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self)
+ .SetParticleEffectParameters(ShockingGrasp)
+ .Build())
+ .AddCustomSubFeatures(
+ ValidatorsValidatePowerUse.InCombat,
+ new MagicEffectFinishedByMeEyeOfTheStorm(powerEyeOfTheStormLeap, conditionEyeOfTheStorm))
+ .AddToDB();
+
+ var featureSetEyeOfTheStorm = FeatureDefinitionFeatureSetBuilder
+ .Create($"FeatureSet{Name}EyeOfTheStorm")
+ .SetGuiPresentation(Category.Feature)
+ .AddFeatureSet(additionalDamageEyeOfTheStorm, powerEyeOfTheStorm, powerEyeOfTheStormLeap)
+ .AddToDB();
+
+ powerLightningLure.AddCustomSubFeatures(
+ ValidatorsValidatePowerUse.HasMainAttackAvailable,
+ new CustomBehaviorLightningLure(powerLightningLure, conditionEyeOfTheStorm));
+
+ //
+ // MAIN
+ //
+
+ Subclass = CharacterSubclassDefinitionBuilder
+ .Create(Name)
+ .SetGuiPresentation(Category.Subclass, CharacterSubclassDefinitions.DomainElementalLighting)
+ .AddFeaturesAtLevel(3, additionalDamageDiscipleOfStorms)
+ .AddFeaturesAtLevel(6, featureSetLightningWarrior)
+ .AddFeaturesAtLevel(11, powerTempestFury)
+ .AddFeaturesAtLevel(17, featureSetEyeOfTheStorm)
+ .AddToDB();
+ }
+
+ internal override CharacterClassDefinition Klass => CharacterClassDefinitions.Monk;
+
+ internal override CharacterSubclassDefinition Subclass { get; }
+
+ internal override FeatureDefinitionSubclassChoice SubclassChoice =>
+ FeatureDefinitionSubclassChoices.SubclassChoiceMonkMonasticTraditions;
+
+ // ReSharper disable once UnassignedGetOnlyAutoProperty
+ internal override DeityDefinition DeityDefinition { get; }
+
+ //
+ // Disciple of Storms
+ //
+
+ private sealed class MagicEffectFinishedByMeAnyDiscipleOfStorms : IMagicEffectFinishedByMeAny
+ {
+ public IEnumerator OnMagicEffectFinishedByMeAny(
+ CharacterActionMagicEffect action,
+ GameLocationCharacter attacker,
+ List targets)
+ {
+ if (action is not CharacterActionUsePower characterActionUsePower ||
+ characterActionUsePower.activePower.PowerDefinition != PowerMonkFlurryOfBlows)
+ {
+ yield break;
+ }
+
+ var rulesetCharacter = attacker.RulesetCharacter;
+
+ rulesetCharacter.InflictCondition(
+ ConditionDisengaging,
+ DurationType.Round,
+ 0,
+ TurnOccurenceType.EndOfTurn,
+ // all disengaging in game is set under TagCombat (why?)
+ AttributeDefinitions.TagCombat,
+ rulesetCharacter.guid,
+ rulesetCharacter.CurrentFaction.Name,
+ 1,
+ ConditionDisengaging,
+ 0,
+ 0,
+ 0);
+ }
+ }
+
+ //
+ // Lightning Lure
+ //
+
+ private sealed class CustomBehaviorLightningLure(
+ FeatureDefinitionPower powerLightningLure,
+ ConditionDefinition conditionEyeOfTheStorm) : IModifyEffectDescription, IMagicEffectFinishedByMe
+ {
+ private readonly EffectForm _effectFormEyeOfTheStorm = EffectFormBuilder
+ .Create()
+ .HasSavingThrow(EffectSavingThrowType.Negates)
+ .SetConditionForm(conditionEyeOfTheStorm, ConditionForm.ConditionOperation.Add)
+ .Build();
+
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ var actingCharacter = action.ActingCharacter;
+
+ actingCharacter.BurnOneMainAttack();
+
+ yield break;
+ }
+
+ public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription)
+ {
+ return definition == powerLightningLure;
+ }
+
+ public EffectDescription GetEffectDescription(
+ BaseDefinition definition,
+ EffectDescription effectDescription,
+ RulesetCharacter character,
+ RulesetEffect rulesetEffect)
+ {
+ if (character.GetClassLevel(CharacterClassDefinitions.Monk) >= 17)
+ {
+ effectDescription.EffectForms.Add(_effectFormEyeOfTheStorm);
+ }
+
+ effectDescription.EffectForms[1].DamageForm.DieType = character.GetMonkDieType();
+ effectDescription.EffectForms[1].DamageForm.BonusDamage = AttributeDefinitions.ComputeAbilityScoreModifier(
+ character.TryGetAttributeValue(AttributeDefinitions.Dexterity));
+
+ return effectDescription;
+ }
+ }
+
+ //
+ // Tempest Fury
+ //
+
+ internal sealed class MagicEffectFinishedByMeTempestFury : IMagicEffectFinishedByMe, IValidatePowerUse
+ {
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
+
+ var actingCharacter = action.ActingCharacter;
+ var targets = Gui.Battle.GetContenders(actingCharacter, withinRange: 1);
+
+ if (targets.Count == 0)
+ {
+ yield break;
+ }
+
+ var attackModeOff = actingCharacter.FindActionAttackMode(ActionDefinitions.Id.AttackOff);
+
+ if (attackModeOff == null)
+ {
+ yield break;
+ }
+
+ //get copy to be sure we don't break existing mode
+ var attackMode = RulesetAttackMode.AttackModesPool.Get();
+
+ attackMode.Copy(attackModeOff);
+ attackMode.ActionType = ActionDefinitions.ActionType.NoCost;
+
+ actingCharacter.BurnOneBonusAttack();
+ actingCharacter.UsedSpecialFeatures.TryAdd("PowerTempestFury", 0);
+
+ // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
+ foreach (var target in targets)
+ {
+ var attackModifier = new ActionModifier();
+ var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.AttackFree)
+ {
+ AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
+ };
+
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
+ }
+
+ public bool CanUsePower(RulesetCharacter character, FeatureDefinitionPower power)
+ {
+ var glc = GameLocationCharacter.GetFromActor(character);
+
+ return glc != null && glc.OncePerTurnIsValid("PowerTempestFury");
+ }
+ }
+
+ //
+ // Eye of The Storm
+ //
+
+ internal sealed class MagicEffectFinishedByMeEyeOfTheStorm(
+ FeatureDefinitionPower powerEyeOfTheStormLeap,
+ // ReSharper disable once SuggestBaseTypeForParameterInConstructor
+ ConditionDefinition conditionEyeOfTheStorm) : IMagicEffectFinishedByMe
+ {
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
+ {
+ if (Gui.Battle == null)
+ {
+ yield break;
+ }
+
+ var attacker = action.ActingCharacter;
+ var rulesetAttacker = attacker.RulesetCharacter;
+
+ var implementationManager =
+ ServiceRepository.GetService() as RulesetImplementationManager;
+
+ var usablePower = PowerProvider.Get(powerEyeOfTheStormLeap, rulesetAttacker);
+ var targets = Gui.Battle.GetContenders(attacker)
+ .Where(x =>
+ x.RulesetActor.AllConditions
+ .Any(y => y.ConditionDefinition == conditionEyeOfTheStorm &&
+ y.SourceGuid == rulesetAttacker.Guid))
+ .ToList();
+ var actionModifiers = new List();
+
+ for (var i = 0; i < targets.Count; i++)
+ {
+ actionModifiers.Add(new ActionModifier());
+ }
+
+ var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.PowerNoCost)
+ {
+ ActionModifiers = actionModifiers,
+ RulesetEffect = implementationManager
+ .MyInstantiateEffectPower(rulesetAttacker, usablePower, false),
+ UsablePower = usablePower,
+ targetCharacters = targets
+ };
+
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
+ }
+}
diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs
index 5777732e1f..462015974f 100644
--- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs
@@ -1,11 +1,9 @@
using System.Collections;
using System.Collections.Generic;
-using System.Linq;
using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Api.LanguageExtensions;
-using SolastaUnfinishedBusiness.Behaviors;
using SolastaUnfinishedBusiness.Builders;
using SolastaUnfinishedBusiness.Builders.Features;
using SolastaUnfinishedBusiness.CustomUI;
@@ -20,7 +18,7 @@
namespace SolastaUnfinishedBusiness.Subclasses;
[UsedImplicitly]
-public sealed class WayOfTheTempest : AbstractSubclass
+public sealed class WayOfTheTempest // : AbstractSubclass
{
private const string Name = "WayOfTheTempest";
@@ -87,7 +85,7 @@ public WayOfTheTempest()
.Build())
.AddToDB();
- powerTempestFury.AddCustomSubFeatures(new AttackAfterMagicEffectTempestFury());
+ powerTempestFury.AddCustomSubFeatures(new WayOfTheStormSoul.MagicEffectFinishedByMeTempestFury());
_ = ActionDefinitionBuilder
.Create(DatabaseHelper.ActionDefinitions.FlurryOfBlows, "ActionTempestFury")
@@ -213,7 +211,8 @@ public WayOfTheTempest()
.Build())
.AddCustomSubFeatures(
ValidatorsValidatePowerUse.InCombat,
- new MagicEffectFinishedByMeEyeOfTheStorm(powerEyeOfTheStormLeap, conditionEyeOfTheStorm))
+ new WayOfTheStormSoul.MagicEffectFinishedByMeEyeOfTheStorm(powerEyeOfTheStormLeap,
+ conditionEyeOfTheStorm))
.AddToDB();
var featureSetEyeOfTheStorm = FeatureDefinitionFeatureSetBuilder
@@ -226,7 +225,7 @@ public WayOfTheTempest()
// MAIN
//
- Subclass = CharacterSubclassDefinitionBuilder
+ _ = CharacterSubclassDefinitionBuilder
.Create(Name)
.SetGuiPresentation(Category.Subclass, Sprites.GetSprite(Name, Resources.WayOfTheTempest, 256))
.AddFeaturesAtLevel(3, movementAffinityTempestSwiftness)
@@ -236,6 +235,7 @@ public WayOfTheTempest()
.AddToDB();
}
+#if false
internal override CharacterClassDefinition Klass => CharacterClassDefinitions.Monk;
internal override CharacterSubclassDefinition Subclass { get; }
@@ -245,6 +245,7 @@ public WayOfTheTempest()
// ReSharper disable once UnassignedGetOnlyAutoProperty
internal override DeityDefinition DeityDefinition { get; }
+#endif
//
// Tempest Swiftness
@@ -281,153 +282,4 @@ public IEnumerator OnMagicEffectFinishedByMeAny(
0);
}
}
-
- //
- // Tempest Fury
- //
-
- private sealed class AttackAfterMagicEffectTempestFury : IAttackAfterMagicEffect
- {
- public IAttackAfterMagicEffect.CanAttackHandler CanAttack { get; } =
- CanMeleeAttack;
-
- public IAttackAfterMagicEffect.GetAttackAfterUseHandler PerformAttackAfterUse { get; } =
- DefaultAttackHandler;
-
- public IAttackAfterMagicEffect.CanUseHandler CanBeUsedToAttack { get; } =
- DefaultCanUseHandler;
-
- private static bool CanMeleeAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
- {
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackOff);
-
- if (attackMode == null)
- {
- return false;
- }
-
- var battleService = ServiceRepository.GetService();
- var attackModifier = new ActionModifier();
- var evalParams = new BattleDefinitions.AttackEvaluationParams();
-
- evalParams.FillForPhysicalReachAttack(
- caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier);
-
- return battleService.CanAttack(evalParams);
- }
-
- [CanBeNull]
- private static IEnumerable DefaultAttackHandler(
- [CanBeNull] CharacterActionMagicEffect effect)
- {
- var actionParams = effect?.ActionParams;
-
- if (actionParams == null)
- {
- return null;
- }
-
- if (Gui.Battle == null)
- {
- return null;
- }
-
- var caster = actionParams.ActingCharacter;
- var targets = Gui.Battle
- .GetContenders(caster, withinRange: 1);
-
- if (targets.Count == 0)
- {
- return null;
- }
-
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackOff);
-
- if (attackMode == null)
- {
- return null;
- }
-
- //get copy to be sure we don't break existing mode
- var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
-
- rulesetAttackModeCopy.Copy(attackMode);
-
- attackMode = rulesetAttackModeCopy;
-
- //set action type to be same as the one used for the magic effect
- attackMode.ActionType = effect.ActionType;
-
- var attackModifier = new ActionModifier();
-
- return targets
- .Where(t => CanMeleeAttack(caster, t))
- .Select(target =>
- new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree)
- {
- AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
- });
- }
-
- private static bool DefaultCanUseHandler(
- [NotNull] CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target, [NotNull] out string failure)
- {
- failure = string.Empty;
-
- return true;
- }
- }
-
- //
- // Eye of The Storm
- //
-
- private sealed class MagicEffectFinishedByMeEyeOfTheStorm(
- FeatureDefinitionPower powerEyeOfTheStormLeap,
- // ReSharper disable once SuggestBaseTypeForParameterInConstructor
- ConditionDefinition conditionEyeOfTheStorm)
- : IMagicEffectFinishedByMe
- {
- public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
- {
- if (Gui.Battle == null)
- {
- yield break;
- }
-
- var attacker = action.ActingCharacter;
- var rulesetAttacker = attacker.RulesetCharacter;
-
- var implementationManager =
- ServiceRepository.GetService() as RulesetImplementationManager;
-
- var usablePower = PowerProvider.Get(powerEyeOfTheStormLeap, rulesetAttacker);
- var targets = Gui.Battle.GetContenders(attacker)
- .Where(x =>
- x.RulesetActor.AllConditions
- .Any(y => y.ConditionDefinition == conditionEyeOfTheStorm &&
- y.SourceGuid == rulesetAttacker.Guid))
- .ToList();
- var actionModifiers = new List();
-
- for (var i = 0; i < targets.Count; i++)
- {
- actionModifiers.Add(new ActionModifier());
- }
-
- var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.PowerNoCost)
- {
- ActionModifiers = actionModifiers,
- RulesetEffect = implementationManager
- .MyInstantiateEffectPower(rulesetAttacker, usablePower, false),
- UsablePower = usablePower,
- targetCharacters = targets
- };
-
- ServiceRepository.GetService()?
- .ExecuteAction(actionParams, null, true);
- }
- }
}
diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheZenArchery.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheZenArchery.cs
index 916c0b5dd3..8d884051b0 100644
--- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheZenArchery.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheZenArchery.cs
@@ -1,5 +1,4 @@
using System.Collections;
-using System.Collections.Generic;
using System.Linq;
using JetBrains.Annotations;
using SolastaUnfinishedBusiness.Api;
@@ -106,7 +105,7 @@ public WayOfZenArchery()
.Create()
.SetTargetingData(Side.Enemy, RangeType.Self, 0, TargetType.Cone, 9)
.Build())
- .AddCustomSubFeatures(new AttackAfterMagicEffectHailOfArrows())
+ .AddCustomSubFeatures(new MagicEffectFinishedByMeHailOfArrows())
.AddToDB();
var actionHailOfArrows = ActionDefinitionBuilder
@@ -240,91 +239,69 @@ public void ModifyAttackMode(RulesetCharacter character, RulesetAttackMode attac
// Hail of Arrows
//
- private sealed class AttackAfterMagicEffectHailOfArrows : IAttackAfterMagicEffect
+ private sealed class MagicEffectFinishedByMeHailOfArrows : IMagicEffectFinishedByMe
{
- public IAttackAfterMagicEffect.CanAttackHandler CanAttack { get; } =
- CanBowAttack;
-
- public IAttackAfterMagicEffect.GetAttackAfterUseHandler PerformAttackAfterUse { get; } =
- DefaultAttackHandler;
-
- public IAttackAfterMagicEffect.CanUseHandler CanBeUsedToAttack { get; } =
- DefaultCanUseHandler;
-
- private static bool CanBowAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
+ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition)
{
- if (!ValidatorsCharacter.HasBowWithoutArmor(caster.RulesetCharacter))
+ if (Gui.Battle == null)
{
- return false;
- }
-
- var battleService = ServiceRepository.GetService();
- var attackModifier = new ActionModifier();
- var evalParams = new BattleDefinitions.AttackEvaluationParams();
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
-
- evalParams.FillForPhysicalRangeAttack(
- caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier);
-
- return battleService.CanAttack(evalParams);
- }
-
- [CanBeNull]
- private static IEnumerable DefaultAttackHandler(
- [CanBeNull] CharacterActionMagicEffect effect)
- {
- var actionParams = effect?.ActionParams;
-
- if (actionParams == null)
- {
- return null;
+ yield break;
}
- var caster = actionParams.ActingCharacter;
- var targets = actionParams.TargetCharacters;
+ var actingCharacter = action.ActingCharacter;
+ var targets = action.ActionParams.TargetCharacters
+ .Where(x => CanBowAttack(actingCharacter, x))
+ .ToList();
if (targets.Count == 0)
{
- return null;
+ yield break;
}
- var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+ var attackModeMain = actingCharacter.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
- if (attackMode == null)
+ if (attackModeMain == null)
{
- return null;
+ yield break;
}
//get copy to be sure we don't break existing mode
- var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get();
+ var attackMode = RulesetAttackMode.AttackModesPool.Get();
- rulesetAttackModeCopy.Copy(attackMode);
-
- attackMode = rulesetAttackModeCopy;
-
- //set action type to be same as the one used for the magic effect
- attackMode.ActionType = effect.ActionType;
+ attackMode.Copy(attackModeMain);
+ attackMode.ActionType = ActionDefinitions.ActionType.NoCost;
attackMode.AttackTags.Add(HailOfArrows);
- var attackModifier = new ActionModifier();
-
- return targets
- .Where(t => CanBowAttack(caster, t))
- .Select(target =>
- new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree)
- {
- AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
- });
+ // ReSharper disable once ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator
+ foreach (var target in targets)
+ {
+ var attackModifier = new ActionModifier();
+ var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.AttackFree)
+ {
+ AttackMode = attackMode, TargetCharacters = { target }, ActionModifiers = { attackModifier }
+ };
+
+ ServiceRepository.GetService()?
+ .ExecuteAction(actionParams, null, true);
+ }
}
- private static bool DefaultCanUseHandler(
- [NotNull] CursorLocationSelectTarget targeting,
- GameLocationCharacter caster,
- GameLocationCharacter target, [NotNull] out string failure)
+ private static bool CanBowAttack([NotNull] GameLocationCharacter caster, GameLocationCharacter target)
{
- failure = string.Empty;
+ if (!ValidatorsCharacter.HasBowWithoutArmor(caster.RulesetCharacter))
+ {
+ return false;
+ }
- return true;
+ var battleService = ServiceRepository.GetService();
+ var attackModifier = new ActionModifier();
+ var evalParams = new BattleDefinitions.AttackEvaluationParams();
+ var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain);
+
+ evalParams.FillForPhysicalRangeAttack(
+ caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier);
+
+ return battleService.CanAttack(evalParams);
}
}
}
diff --git a/SolastaUnfinishedBusiness/Subclasses/_CommonBuilders.cs b/SolastaUnfinishedBusiness/Subclasses/_CommonBuilders.cs
index d81d43b385..beaf70e2ae 100644
--- a/SolastaUnfinishedBusiness/Subclasses/_CommonBuilders.cs
+++ b/SolastaUnfinishedBusiness/Subclasses/_CommonBuilders.cs
@@ -10,7 +10,6 @@
using SolastaUnfinishedBusiness.Interfaces;
using SolastaUnfinishedBusiness.Models;
using SolastaUnfinishedBusiness.Properties;
-using SolastaUnfinishedBusiness.Spells;
using SolastaUnfinishedBusiness.Validators;
using static RuleDefinitions;
using static FeatureDefinitionAttributeModifier;
@@ -165,70 +164,29 @@ private sealed class AttackReplaceWithCantrip : IAttackReplaceWithCantrip;
private sealed class CustomBehaviorCasterFightingWarMagic(
// ReSharper disable once SuggestBaseTypeForParameterInConstructor
- ConditionDefinition conditionDefinition)
- : IMagicEffectBeforeHitConfirmedOnEnemy, IPhysicalAttackBeforeHitConfirmedOnEnemy
+ ConditionDefinition conditionDefinition) : IMagicEffectFinishedByMeAny
{
- public IEnumerator OnMagicEffectBeforeHitConfirmedOnEnemy(
- GameLocationBattleManager battleManager,
+ public IEnumerator OnMagicEffectFinishedByMeAny(
+ CharacterActionMagicEffect action,
GameLocationCharacter attacker,
- GameLocationCharacter defender,
- ActionModifier actionModifier,
- RulesetEffect rulesetEffect,
- List actualEffectForms,
- bool firstTarget,
- bool criticalHit)
+ List targets)
{
- if (rulesetEffect is not RulesetEffectSpell rulesetEffectSpell)
+ if (Gui.Battle == null ||
+ action.ActionType is not (ActionDefinitions.ActionType.Main or ActionDefinitions.ActionType.Bonus) ||
+ action.ActionParams.activeEffect is not RulesetEffectSpell rulesetEffectSpell ||
+ (!Main.Settings.EnableCantripsTriggeringOnWarMagic &&
+ rulesetEffectSpell.SpellDefinition.SpellLevel <= 0))
{
yield break;
}
- if (rulesetEffectSpell.SpellDefinition.SpellLevel == 0 && !Main.Settings.EnableCantripsTriggeringOnWarMagic)
- {
- yield break;
- }
-
- yield return TryAddCondition(attacker);
- }
-
- //supports Sunlit Blade and Resonating Strike
- public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy(
- GameLocationBattleManager battleManager,
- GameLocationCharacter attacker,
- GameLocationCharacter defender,
- ActionModifier actionModifier,
- RulesetAttackMode attackMode,
- bool rangedAttack,
- AdvantageType advantageType,
- List actualEffectForms,
- bool firstTarget,
- bool criticalHit)
- {
- if (!Main.Settings.EnableCantripsTriggeringOnWarMagic ||
- (attackMode != null && !attackMode.AttackTags.Contains(SpellBuilders.PhysicalAttackFromCantrip)))
- {
- yield break;
- }
-
- yield return TryAddCondition(attacker);
- }
-
- private IEnumerator TryAddCondition(IControllableCharacter attacker)
- {
var rulesetAttacker = attacker.RulesetCharacter;
- if (rulesetAttacker is not { IsDeadOrDyingOrUnconscious: false } ||
- rulesetAttacker.HasConditionOfCategoryAndType(
- AttributeDefinitions.TagEffect, conditionDefinition.Name))
- {
- yield break;
- }
-
rulesetAttacker.InflictCondition(
conditionDefinition.Name,
DurationType.Round,
0,
- TurnOccurenceType.EndOfTurn,
+ TurnOccurenceType.StartOfTurn,
AttributeDefinitions.TagEffect,
rulesetAttacker.guid,
rulesetAttacker.CurrentFaction.Name,
diff --git a/SolastaUnfinishedBusiness/Translations/de/Feats/Group-de.txt b/SolastaUnfinishedBusiness/Translations/de/Feats/Group-de.txt
index c8287670ab..4ebe727864 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Feats/Group-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Feats/Group-de.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Erhöhe eines deiner Geistesattribute u
Feat/&FeatGroupVerdantTouchedTitle=Grün berührt
Feat/&FeatGroupWeaponMasterDescription=Sie haben ausgiebig mit einer Vielzahl von Waffen geübt und dabei die folgenden Vorteile erlangt:\n• Erhöhen Sie Ihren Stärke- oder Geschicklichkeitswert um 1 auf maximal 20.\n• Sie erwerben Kenntnisse im Umgang mit vier Waffen Ihrer Wahl. Bei jeder davon muss es sich um eine einfache Waffe oder eine Kampfwaffe handeln.
Feat/&FeatGroupWeaponMasterTitle=Waffenmeister
+Feat/&FeatGroupWhirlWindAttackDescription=Sie werden zum Meister des wirbelnden Todes und erhalten die folgenden Vorteile:\n• Steigern Sie Ihre Stärke oder Geschicklichkeit um 1, bis zu einem Maximum von 20.\n• Wenn Sie einmal während Ihres Zuges die Angriffsaktion ausführen, während Sie ein Großschwert, eine Großaxt oder einen Streitkolben tragen, können Sie einen Angriff ersetzen, indem Sie stattdessen einen Wirbelwindangriff starten. Der Wirbelwindangriff führt einen Angriffswurf gegen alle feindlichen Kreaturen innerhalb von 5 Fuß um Sie herum aus, fügt Ihrem Attributmodifikator jedoch nicht den zugefügten Schaden hinzu (es sei denn, dieser Modifikator ist negativ).
+Feat/&FeatGroupWhirlWindAttackTitle=Wirbelwind-Angriff
diff --git a/SolastaUnfinishedBusiness/Translations/de/Feats/MeleeCombat-de.txt b/SolastaUnfinishedBusiness/Translations/de/Feats/MeleeCombat-de.txt
index 231b7277c8..ade7320ef7 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Feats/MeleeCombat-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Feats/MeleeCombat-de.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Lass sie kommen!
Condition/&ConditionFeatCleavingAttackFinishTitle=Großer Waffenmeister
Condition/&ConditionFeatCrusherCriticalHitDescription=Sie wurden durch einen kritischen Treffer niedergestreckt und die Angriffe gegen Sie sind im Vorteil.
Condition/&ConditionFeatCrusherCriticalHitTitle=Zerquetscht
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Sie führen alle Angriffswürfe mit Nachteil gegen die Quelle aus, während Sie sich in einem Umkreis von 1,5 m um sie befinden.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Konzentrierte Verteidigung
Condition/&ConditionFeatPiercerNonMagicDescription=Wenn du eine Kreatur mit einem Angriff triffst, der Stichschaden verursacht, kannst du den Würfel erneut werfen, wenn du eine 1 würfelst, und du musst den neuen Wurf verwenden.
Condition/&ConditionFeatPiercerNonMagicTitle=Piercer
Condition/&ConditionFeatSlasherCriticalHitDescription=Du wurdest durch einen kritischen Treffer getroffen und deine Angriffe haben einen Nachteil.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=Du beherrschst Handaxt, Streitaxt, Großaxt, Kri
Feat/&FeatFellHandedTitle=Gefallen
Feat/&FeatFencerDescription=Wenn Sie in Ihrem Zug die Angriffsaktion ausführen, während Sie eine einhändige Nahkampfwaffe oder eine vielseitige Waffe und keine andere Waffe oder einen anderen Schild in der Hand halten, können Sie eine Bonusaktion verwenden, um mit der Waffe, die Sie in der Hand halten, anzugreifen und dabei Ihren Attributmodifikator zum verursachten Schaden hinzuzufügen.
Feat/&FeatFencerTitle=Fechter
+Feat/&FeatGreatWeaponDefenseDescription=Sie nutzen gekonnt die Größe Ihrer Waffe, um sich darauf zu konzentrieren, eingehende Schläge abzuwehren. Während Sie eine schwere oder vielseitige Nahkampfwaffe und keine andere Waffe oder einen anderen Schild tragen, erhalten Sie die folgenden Vorteile:\n• Erhöhen Sie Ihre Rüstungsklasse um 1, während Sie die Waffe führen. \n• Du kannst jeden Hauptaktionsangriff ersetzen, um eine Kreatur in einem Umkreis von 5 Fuß um dich herum anzuvisieren. Diese Kreatur hat bis zum Beginn deines nächsten Zuges einen Nachteil bei allen Angriffen gegen dich, bis du dich nicht mehr neben der Kreatur befindest oder eine andere Waffe oder einen anderen Schild ausrüstest.
+Feat/&FeatGreatWeaponDefenseTitle=Großartige Waffenverteidigung
Feat/&FeatHammerThePointDescription=Sie wissen, wie Sie sich auf den gleichen Punkt fokussieren und konzentrieren können. Nachdem du einen Angriffswurf gegen ein Ziel durchgeführt hast, erhältst du bis zum Ende deines Zuges +1 auf Angriffs- und Schadenswürfe gegen dieses Ziel [Stapel].
Feat/&FeatHammerThePointTitle=Hämmern Sie den Punkt
Feat/&FeatLongswordFinesseDescription=Sie stammen von einem Meister des Langschwerts ab, und ein Teil dieser Meisterschaft ist auf Sie übergegangen. Sie erhalten die folgenden Vorteile:\n• Erhöhen Sie Ihre Geschicklichkeit um 1 auf maximal 20.\n• Während Sie ein Langschwert tragen, erhalten Sie einen Bonus von +1 auf die Rüstungsklasse.\n• Langschwert hat die Finesse-Eigenschaft, wenn Sie sie einsetzen.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=Sie haben gelernt, wo Sie schneiden müssen, um
Feat/&FeatSlasherStrTitle=Schlitzer [Str]
Feat/&FeatSpearMasteryDescription=Obwohl der Speer eine einfach zu erlernende Waffe ist, belohnt er Sie für die Zeit, die Sie gebraucht haben, um ihn zu beherrschen:\n• Sie erhalten einen Bonus von +1 auf Angriffswürfe, die Sie mit einem Speer ausführen, und sein Schadenswürfel ändert sich von W6 auf ein W8 und von einem W8 bis zu einem W10, wenn er mit zwei Händen geführt wird.\n• Als Bonusaktion können Sie Ihren Speer anspannen, um sich nähernde Feinde abzufangen. Sie können die Reaktion nutzen, um einen Gelegenheitsangriff mit einem Speer auf einen Feind auszuführen, der in Ihre Reichweite gerät, und zusätzlichen Schaden zu verursachen, wenn dieser Angriff trifft.\n• Als Bonusaktion können Sie Ihre Reichweite mit einem Speer um 5 Fuß erhöhen den Rest deines Zuges.
Feat/&FeatSpearMasteryTitle=Speerbeherrschung
+Feat/&FeatWhirlWindAttackDexDescription=Sie werden zum Meister des wirbelnden Todes und erhalten die folgenden Vorteile:\n• Steigern Sie Ihre Geschicklichkeit um 1, bis zu einem Maximum von 20.\n• Einmal während Ihres Zuges, wenn Sie die Angriffsaktion ausführen, während Sie ein Großschwert, eine Großaxt oder einen Streitkolben tragen, können Sie einen Angriff ersetzen, indem Sie stattdessen einen Wirbelwindangriff starten. Der Wirbelwindangriff führt einen Angriffswurf gegen alle feindlichen Kreaturen innerhalb von 5 Fuß um Sie herum aus, fügt aber Ihren Attributmodifikator nicht zum verursachten Schaden hinzu (es sei denn, dieser Modifikator ist negativ).
+Feat/&FeatWhirlWindAttackDexTitle=Wirbelwindangriff [Geschick]
+Feat/&FeatWhirlWindAttackStrDescription=Du wirst zum Meister des wirbelnden Todes und erhältst die folgenden Vorteile:\n• Deine Stärke wird um 1 erhöht, bis zu einem Maximum von 20.\n• Einmal während deines Zuges, wenn du die Angriffsaktion ausführst, während du ein Großschwert, eine Großaxt oder einen Streitkolben schwingst, kannst du einen Angriff ersetzen, indem du stattdessen einen Wirbelwindangriff startest. Der Wirbelwindangriff führt einen Angriffswurf gegen alle feindlichen Kreaturen innerhalb von 5 Fuß um dich herum aus, fügt aber deinen Attributmodifikator nicht zum verursachten Schaden hinzu (es sei denn, dieser Modifikator ist negativ).
+Feat/&FeatWhirlWindAttackStrTitle=Wirbelwindangriff [Str]
Feature/&AttackModifierFeatSpearMasteryDescription=Sie erhalten einen Bonus von +1 auf Angriffswürfe, die Sie mit einem Speer ausführen, und sein Schadenswürfel ändert sich von W6 auf W8 und von W8 auf W10, wenn er mit zwei Händen geführt wird.
Feature/&AttackModifierFeatSpearMasteryTitle=Speerbeherrschung
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Solange du ein Langschwert trägst, erhältst du einen Bonus von +1 auf die Rüstungsklasse.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Sie können Ihren Speer aufstell
Feature/&PowerFeatSpearMasteryChargeTitle=Speerklammer
Feature/&PowerFeatSpearMasteryReachDescription=Sie können Ihre Reichweite mit einem Speer für den Rest Ihres Zuges um 5 Fuß erhöhen.
Feature/&PowerFeatSpearMasteryReachTitle=Speerreichweite
+Feature/&PowerGreatWeaponDefenseDescription=Sie können jeden Hauptaktionsangriff ersetzen, um eine Kreatur in einem Umkreis von 5 Fuß um Sie anzuvisieren. Diese Kreatur hat bis zum Beginn deines nächsten Zuges einen Nachteil bei allen Angriffen gegen dich, bis du dich nicht mehr neben der Kreatur befindest oder eine andere Waffe oder einen anderen Schild ausrüstest.
+Feature/&PowerGreatWeaponDefenseTitle=Großartige Waffenverteidigung
+Feature/&PowerWhirlWindAttackDescription=Einmal während deines Zuges, wenn du die Angriffsaktion ausführst, während du ein Großschwert, eine Großaxt oder einen Streitkolben schwingst, kannst du einen Angriff ersetzen, indem du stattdessen einen Wirbelwindangriff startest. Der Wirbelwindangriff führt einen Angriffswurf gegen alle feindlichen Kreaturen innerhalb von 5 Fuß von dir aus, fügt aber deinen Attributmodifikator nicht zum verursachten Schaden hinzu (es sei denn, dieser Modifikator ist negativ).
+Feature/&PowerWhirlWindAttackTitle=Wirbelwind-Angriff
Feedback/&AdditionalDamageChargerFormat=Ladegerät!
Feedback/&AdditionalDamageChargerLine={0} lädt {1} auf und verursacht zusätzlichen {2} Schaden!
Feedback/&AdditionalDamageCrusherFormat=Brecher!
diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt
index 6dac23ee4c..872b6d431e 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Geblendet von Stinking Cloud
Condition/&ConditionBlindedExtendedDescription=Das Sehen ist geblendet. Angriffswürfe gegen die Kreatur haben einen Vorteil, und die Angriffswürfe der Kreatur haben einen Nachteil.
Condition/&ConditionLightlyObscuredDescription=Die Sicht ist leicht eingeschränkt. Nachteil bei Weisheits-(Wahrnehmungs-)Rettungswürfen.
Condition/&ConditionLightlyObscuredTitle=Leicht verdeckt
+Condition/&ConditionMonkSuperiorDefenseDescription=Sofern Sie nicht handlungsunfähig sind, sind Sie gegen alle Schäden außer Gewalt resistent.
+Condition/&ConditionMonkSuperiorDefenseTitle=Überlegene Verteidigung
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Entwaffnet
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Zurückgezogen
Condition/&ConditionRogueDeviousStrikeDazedDescription=Sie können weder Reaktionen noch Bonusaktionen verwenden und können sich in Ihrem Zug bewegen oder andere Aktionen ausführen, nicht beides.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Wenn dir ein Rettungswurf misslingt, kannst du ihn mit einem Bonus in Höhe deiner Kämpferstufe wiederholen. Wenn Sie dies tun, müssen Sie die neue Rolle verwenden und können diese Funktion erst wieder verwenden, wenn Sie eine lange Pause beendet haben.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Erweiterte Zauber
+Feature/&FeatureMonkBodyAndMindDescription=Sie haben Ihren Körper und Geist auf ein neues Niveau gebracht. Ihre Geschicklichkeit und Weisheit erhöhen sich um 4.
+Feature/&FeatureMonkBodyAndMindTitle=Körper und Geist
+Feature/&FeatureMonkHeightenedMetabolismDescription=Ihr Training hat Ihren Körper und Geist auf ein neues Niveau gebracht. Ihr „Schlaghagel“, „Geduldige Verteidigung“ und „Schritt des Windes“ erhalten die folgenden Vorteile:\n• „Schlaghagel“: Wenn Sie „Schlaghagel“ verwenden, führen Sie damit drei unbewaffnete Schläge statt zwei aus.\n• „Geduldige Verteidigung“. : Wenn Sie „Geduldige Verteidigung“ verwenden, erhalten Sie eine Anzahl temporärer Trefferpunkte, die zwei Würfen Ihres Kampfkunstwürfels entspricht.\n• Schritt des Windes: Wenn Sie eine der Funktionen „Schritt des Windes“ (Entfernen oder Sprinten) verwenden, werden Sie Profitieren Sie auch von den Vorteilen des anderen Effekts.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Erhöhter Stoffwechsel
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Sie können 1 Ki-Punkt ausgeben, um als Bonusaktion zwei unbewaffnete Schläge auszuführen.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Schlaghagel
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Wenn du „Rücksichtsloser Angriff“ verwendest, verursacht einer deiner auf Stärke basierenden Angriffswürfe, die du vor dem Ende deines Zuges ausführst, zusätzlich 1W10 Schaden an der gleichen Art, die durch die Waffe oder „Unbewaffneter Schlag“ verursacht wird, und du kannst außerdem einen der folgenden Effekte wählen, wenn er trifft :\n• Kraftvoller Schlag. Das Ziel wird 15 Fuß direkt von Ihnen weggeschoben.\n• Hamstring Blow. Die Geschwindigkeit des Ziels wird bis zum Beginn Ihres nächsten Zuges um 15 Fuß verringert.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Trennender Schlag
Feature/&PowerBarbarianBrutalStrikeTitle=Brutaler Schlag
Feature/&PowerHelpDescription=Du kannst einer befreundeten Kreatur dabei helfen, eine Kreatur in einem Umkreis von 5 Fuß um dich anzugreifen. Sie täuschen vor, lenken das Ziel ab oder schließen sich auf andere Weise zusammen, um den Angriff Ihres Verbündeten effektiver zu machen. Wenn Ihr Verbündeter das Ziel vor Ihrem nächsten Zug angreift, erfolgt der erste Angriffswurf mit Vorteil.
Feature/&PowerHelpTitle=Helfen
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Sie können 1 Ki-Punkt ausgeben, um in Ihrem Zug sowohl die Aktion „Ausklinken“ als auch die Aktion „Sprinten“ als Bonusaktion auszuführen, und Ihre Sprungdistanz wird für den Zug verdoppelt.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Schritt des Windes
+Feature/&PowerMonkSuperiorDefenseDescription=Als kostenlose Aktion können Sie 3 Ki-Punkte ausgeben, um sich 1 Minute lang oder bis Sie handlungsunfähig werden, perfekt gegen Schaden zu wappnen. Während dieser Zeit hast du Widerstand gegen jeglichen Schaden außer Machtschaden.
+Feature/&PowerMonkSuperiorDefenseTitle=Überlegene Verteidigung
Feature/&PowerRangerNatureShroudDescription=Sie nutzen die Kräfte der Natur, um sich für kurze Zeit vor den Blicken zu verstecken. Als Bonusaktion können Sie bis zum Beginn Ihres nächsten Zuges zusammen mit der Ausrüstung, die Sie tragen oder tragen, auf magische Weise unsichtbar werden. Sie können diese Funktion so oft nutzen, wie es Ihrem Fähigkeitsbonus entspricht, und Sie erhalten alle verbrauchten Nutzungen zurück, wenn Sie eine lange Pause beendet haben.
Feature/&PowerRangerNatureShroudTitle=Schleier der Natur
Feature/&PowerRogueCunningStrikeDescription=Sie haben clevere Möglichkeiten entwickelt, Ihren Sneak Attack einzusetzen. Wenn du Sneak Attack-Schaden verursachst, kannst du auf Sneak Attack-Würfel verzichten und stattdessen zusätzliche Listy Strike-Effekte hinzufügen.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Hat Klingenmeister-Waffentypen in der Hand:
Rules/&SituationalContext9001Format=Hat Großschwert in Händen:
Rules/&SituationalContext9002Format=Hat Langschwert in Händen:
Rules/&SituationalContext9003Format=Hat Nahkampfwaffe in der Haupthand mit freier Nebenhand:
+Rules/&SituationalContext9004Format=Hat eine schwere oder vielseitige Waffe in der Haupthand und eine freie Zweithand:
Rules/&SituationalContext9005Format=Hat einfache oder Kampfwaffen in der Hand:
Rules/&SituationalContext9007Format=Steht nicht in hellem Licht:
Rules/&SituationalContext9008Format=Wütet und führt zwei Waffen:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=Ist {0}
Tooltip/&PreReqIsNot=Ist nicht {0}
Tooltip/&PreReqIsWithLevel=Ist {0} Level {1}
Tooltip/&PreReqLevelFormat=Min. Charakterlevel {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Muss zusätzliche Angriffe haben
Tooltip/&PreReqMustKnow=Muss wissen {0}
Tooltip/&Tag9000Title=Benutzerdefinierter Effekt
Tooltip/&TagUnfinishedBusinessTitle=Unerledigte Aufgabe
diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt
index ef50c21227..08ecd90e62 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Erlaube das Wirken von Zaubersprüchen mit zusätzliche
ModUi/&AllowHornsOnAllRaces=Erlaube Hörner bei allen Rennen [Ergebnisse können je nach Rasse, Kopf und Hupe schrecklich aussehen]
ModUi/&AllowMoreRealStateOnRestPanel=Ermöglichen Sie einen realistischeren Status im Ruhebereich [Aktionen nach Ruhe im Bereich vor dem Bereich ausblenden und Wiederherstellungsfunktionen im Bereich nach dem Bereich ausblenden]
ModUi/&AllowStackedMaterialComponent=Gestapelte Materialkomponente zulassen[z.B. 2x500gp Diamant entspricht 1000gp Diamant]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Erlaubt Zielauswahl beim Wirken des Zaubers Kettenblitzschlag
ModUi/&AllowUnmarkedSorcerers=Erlaube Sorcerer ohne Ursprungsmarkierungen und Tätowierungen
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=Die ALT-Taste hebt nur Gadgets im Sichtfeld der Gruppe hervor [nur benutzerdefinierte Dungeons]
ModUi/&ArcaneShieldstaffOptions=Ermöglichen Sie die Abstimmung von Arkaner Schildstab durch jede Klasse
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Aktivieren Sie die Protokollierung von Dialog
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Aktivieren Sie die Protokollierung ungültiger Referenzen in benutzerdefinierten Kampagnen
ModUi/&EnableMinInOutAttributes=+ Mindestfähigkeitswerte für die Teilnahme und den Abschluss von Vorbedingungen durchsetzen
ModUi/&EnableMonkAbundantKi=Aktivieren Sie Mönch reichlich vorhandenes Ki auf Stufe 2 [Sie erhalten zusätzliches Ki, das der Hälfte des aufgerundeten Fähigkeitsbonus entspricht]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Aktiviere Mönch Körper und Geist, um Perfektes Selbst auf Stufe 20 zu ersetzen
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Aktivieren Sie Mönch Kampfkunst – Bonus für unbewaffnete Schläge, damit vor der Verwendung keine Angriffsaktion erforderlich ist
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Aktivieren Sie Mönch Flurry of Blows, damit vor der Verwendung keine Angriffsaktion erforderlich ist
ModUi/&EnableMonkFightingStyle=Aktiviere die Wahl des Mönchs Kampfstils auf Stufe 2
+ModUi/&EnableMonkHeightenedMetabolism=Aktiviere Mönch Erhöhter Stoffwechsel auf Stufe 10 [Schlaghagel, Geduldige Verteidigung und Schritt des Windes erhalten zusätzliche Vorteile]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Aktivieren Sie Mönch Verbesserte ungepanzerte Bewegung, um sich entlang vertikaler Flächen zu bewegen, ohne zu fallen
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Aktivieren Sie Mönch Überlegene Verteidigung, um Leeren Körper auf Stufe 18 zu ersetzen
ModUi/&EnableMonkWeaponSpecialization=Aktiviere Mönch Waffenspezialisierung auf den Stufen 2 und 11 [der ausgewählte Waffentyp wird für dich zu einer Mönchswaffe]
ModUi/&EnableMulticlass=Aktivieren Sie Multiclass [Neustart erforderlich]
+ModUi/&EnableOneDndHealingSpellsBuf=Aktiviere den OneDnd-Heilwürfel-Buf für Wunden heilen, Heilendes Wort, Massenhafte Wunden heilen und Massenhaftes Heilendes Wort
ModUi/&EnablePcgRandom=Aktivieren Sie einen besseren Zufallsgenerator-Algorithmus [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Aktiviere die Funktion Waldläufer Naturschleier auf Stufe 10 [als Bonusaktion kannst du bis zum Beginn der nächsten Runde auf magische Weise unsichtbar werden ]
ModUi/&EnableRejoinParty=Aktivieren Sie STRG-UMSCHALT-(R), um sich der Gruppe um den ausgewählten Helden oder den Anführer wieder anzuschließen, wenn keiner ausgewählt ist [nützlich bei Gruppen von 5 oder 6 Personen ]
diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt
index 6a7f3ea8f8..09873d0e8b 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=Die Hülle der Booming Blade
Condition/&ConditionMindSpikeDescription=Zieht 1W4 vom nächsten Rettungswurf ab.
Condition/&ConditionMindSpikeTitle=Gedankensplitter
Condition/&ConditionResonatingStrikeTitle=Resonanz
+Condition/&ConditionStarryWispDescription=Der Zustand „Unsichtbar“ kann nicht profitieren.
+Condition/&ConditionStarryWispTitle=Sternenwisp
Condition/&ConditionSunlightBladeDescription=Auf der 5. Stufe verursachen Angriffe, die durch diesen Zauber ausgelöst werden, zusätzlich 1W8 Strahlungsschaden. Auf der 11. und 17. Stufe erhöht sich der Schaden um weitere 1W8.
Condition/&ConditionSunlightBladeTitle=Der Brand der sonnenbeschienenen Klinge
Condition/&ConditionWrackDescription=Sie können die Dash- oder Disengage-Aktion nicht ausführen.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=Du entziehst die Vitalität einer Kreatur, die d
Spell/&EnduringStingTitle=Sapping Sting
Spell/&IlluminatingSphereDescription=Lässt Lichtquellen wie Fackeln und Manalampen im Wirkungsbereich aufleuchten.
Spell/&IlluminatingSphereTitle=Leuchtende Kugel
+Spell/&InfestationDescription=Du lässt eine Wolke aus Milben, Flöhen und anderen Parasiten kurzzeitig auf einer Kreatur erscheinen, die du in Reichweite sehen kannst. Das Ziel muss einen Konstitutionsrettungswurf bestehen, sonst erleidet es 1W6 Giftschaden und bewegt sich 5 Fuß in eine zufällige Richtung.\nDer Schaden dieses Zaubers erhöht sich um 1W6, wenn du die 5. Stufe (2W6), die 11. Stufe (3W6) und die 17. Stufe (4W6) erreichst.
+Spell/&InfestationTitle=Befall
+Spell/&LightningLureDescription=Du erschaffst einen Energieblitz, der eine Kreatur deiner Wahl trifft, die du in einem Umkreis von 15 Fuß um dich sehen kannst. Dem Ziel muss ein kraftsparender Wurf gelingen oder es wird bis zu 10 Fuß in einer geraden Linie auf dich zugezogen und erleidet dann 1W8 Blitzschaden.\nDer Schaden dieses Zaubers erhöht sich um 1W8, wenn du die 5. Stufe (2W8), die 11. Stufe ( 3W8) und 17. Stufe (4W8).
+Spell/&LightningLureTitle=Blitzköder
Spell/&MindSpikeDescription=Sie stoßen einen verwirrenden Stoß psychischer Energie in den Geist einer Kreatur, die Sie in Reichweite sehen können. Dem Ziel muss ein Intelligenzrettungswurf gelingen oder es erleidet 1W6 psychischen Schaden und zieht vor dem Ende Ihres nächsten Zuges 1W4 vom nächsten Rettungswurf ab.
Spell/&MindSpikeTitle=Gedankensplitter
Spell/&MinorLifestealDescription=Du entziehst einer gegnerischen Kreatur in der Nähe Lebensenergie. Führe einen Nahkampfzauberangriff gegen eine Kreatur in einem Umkreis von 5 Fuß um dich aus. Bei einem Treffer erleidet die Kreatur 1W6 nekrotischen Schaden und du heilst dich um die Hälfte des verursachten Schadens (abgerundet). Dieser Zauber hat keine Wirkung auf Untote und Konstrukte. Der Schaden des Zaubers erhöht sich auf der 5., 11. und 17. Stufe um einen zusätzlichen Würfel.
Spell/&MinorLifestealTitle=Kleiner Lebensraub
+Spell/&PrimalSavageryDescription=Du kanalisierst Urmagie, um deine Zähne oder Fingernägel zu schärfen und bist bereit für einen ätzenden Angriff. Führe einen Nahkampfzauberangriff gegen eine Kreatur innerhalb von 5 Fuß um dich herum aus. Bei einem Treffer erleidet das Ziel 1W10 Säureschaden. \nDer Schaden dieses Zaubers erhöht sich um 1W6, wenn du die 5. Stufe (2W6), die 11. Stufe (3W6) und die 17. Stufe (4W6) erreichst.
+Spell/&PrimalSavageryTitle=Ursprüngliche Wildheit
Spell/&ResonatingStrikeDescription=Wähle eine Kreatur in Nahkampfreichweite um dich und eine andere Kreatur, die du innerhalb von 5 Fuß um das Hauptziel sehen kannst. Du führst einen Nahkampfangriff mit der aktuellen Waffe gegen die erste Kreatur durch. Bei einem Treffer erleidet das Ziel die normalen Effekte des Waffenangriffs und Flammen springen auf das zweite Ziel über und verursachen Feuerschaden in Höhe Ihres Zauberfähigkeitsmodifikators.\nAuf der 5. Stufe fügt der Nahkampfangriff dem Ziel zusätzlich 1W8 Feuerschaden zu Treffer, und der Feuerschaden für die zweite Kreatur erhöht sich auf 1W8 + Modifikator Ihrer Zauberfähigkeit. Beide Schadenswürfe erhöhen sich auf der 11. und 17. Stufe um 1W8.
Spell/&ResonatingStrikeTitle=Grüne Flammenklinge
+Spell/&StarryWispDescription=Du schießt einen Lichtfleck auf eine Kreatur oder ein Objekt in Reichweite. Führe einen Fernangriff mit einem Zauber gegen das Ziel aus. Bei einem Treffer erleidet das Ziel 1W8 Strahlungsschaden und strahlt bis zum Ende deines nächsten Zuges schwaches Licht in einem Radius von 10 Fuß aus und kann nicht vom Zustand Unsichtbar profitieren.\nDer Schaden dieses Zaubers erhöht sich um 1W8, wenn du Level 5 (2W8), 11 (3W8) und 17 (4W8) erreichst.
+Spell/&StarryWispTitle=Sternenwisp
Spell/&SunlightBladeDescription=Führen Sie einen Nahkampfangriff mit einer Waffe durch. Bei einem Treffer erleidet das Ziel die normalen Effekte des Angriffs und wird von leuchtender Strahlungsenergie umhüllt, die für die gesamte Runde schwaches Licht abgibt. Der nächste Angriff gegen diese Kreatur, während sie hervorgehoben ist, erfolgt mit Vorteil.\nAuf der 5. Stufe fügt der Nahkampfangriff dem Ziel zusätzlich 1W8 Strahlungsschaden zu. Der Schaden erhöht sich auf der 11. und 17. Stufe um weitere 1W8.
Spell/&SunlightBladeTitle=Sonnenbeschienene Klinge
Spell/&SwordStormDescription=Du erschaffst für einen Moment einen Kreis aus Spektralklingen, die dich umkreisen. Allen anderen Kreaturen im Umkreis von 1,5 m um dich muss jeweils ein Geschicklichkeitsrettungswurf gelingen, sonst erleiden sie 1W6 Kraftschaden.
diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt
index 9f2843d706..ae0841d8ca 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=Du kannst bis zum Ende dein
Condition/&ConditionPsychicWhipNoReactionTitle=Tashas Gedankenpeitsche
Feature/&AttackModifierShadowBlade0Description=Magischer Angriff.
Feature/&AttackModifierShadowBladeNDescription=Magischer Angriff, verursacht zusätzlich {0}d8 psychischen Schaden.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Sie können sich durch den Raum jeder Kreatur bewegen
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Kinetischer Ausflug
Feedback/&MirrorImageAttackerHasSense={0} hat {1} und ignoriert {2}
Feedback/&MirrorImageAttackerIsBlind={0} ist {1} und ignoriert {2}
Feedback/&MirrorImageRetargetResult={0} zielt auf {1} ab
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=Du hast {0}/{1} Trefferpunkte.
Reaction/&CustomReactionWitherAndBloomReactDescription=Erhalte Trefferpunkte zurück.
Reaction/&CustomReactionWitherAndBloomReactTitle=Verdorren und blühen
Reaction/&CustomReactionWitherAndBloomTitle=Verdorren und blühen
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Wählen Sie eine Fertigkeit aus, in der Sie keine Kompetenzen haben. Für 1 Stunde beherrschen Sie die gewählte Fertigkeit.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Verfügen Sie über Kenntnisse in der gewählten Fertigkeit.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Geliehenes Wissen
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Geliehenes Wissen
Spell/&AganazzarScorcherDescription=Eine Linie tosender Flammen mit einer Länge von 30 Fuß und einer Breite von 5 Fuß geht von Ihnen in eine von Ihnen gewählte Richtung aus. Jede Kreatur in der Reihe muss einen Geschicklichkeitsrettungswurf durchführen. Bei einem fehlgeschlagenen Rettungswurf erleidet eine Kreatur 3W10 Feuerschaden, bei einem erfolgreichen Rettungswurf die Hälfte des Schadens. Wenn Sie diesen Zauber mit einem Zauberslot der 3. Stufe oder höher wirken, erhöht sich der Schaden um 1W10 für jede Slotstufe über der 2. Stufe.
Spell/&AganazzarScorcherTitle=Aganazzars Scorcher
Spell/&BindingIceDescription=Ein Ausbruch kalter Energie geht in einem 30-Fuß-Kegel von Ihnen aus. Jede Kreatur in diesem Bereich muss einen Konstitutionsrettungswurf durchführen. Bei einem fehlgeschlagenen Rettungswurf erleidet eine Kreatur 3W8 Kälteschaden und wird 1 Minute lang durch Eisformationen behindert, oder bis sie eine Aktion ausführt, um das Eis aufzubrechen. Die Geschwindigkeit einer Kreatur, die durch Eis behindert wird, wird auf 0 reduziert. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur halb so viel Schaden und wird nicht durch Eis behindert.
Spell/&BindingIceTitle=Rimes bindendes Eis
+Spell/&BorrowedKnowledgeDescription=Du greifst auf das Wissen von Geistern aus der Vergangenheit zurück. Wähle eine Fertigkeit, in der du keine Beherrschung hast. Für 1 Stunde beherrschst du die gewählte Fertigkeit. Der Zauber endet vorzeitig, wenn du ihn erneut wirkst.
+Spell/&BorrowedKnowledgeTitle=Geliehenes Wissen
Spell/&CloudOfDaggersDescription=Sie füllen die Luft mit sich drehenden Dolchen in einem Würfel von 5 Fuß auf jeder Seite, zentriert auf einem von Ihnen gewählten Punkt in Reichweite. Eine Kreatur erleidet 4W4 Hiebschaden, wenn sie zum ersten Mal in einem Zug den Wirkungsbereich des Zaubers betritt oder dort ihren Zug beginnt. Wenn Sie diesen Zauber mit einem Zauberslot der 3. Stufe oder höher wirken, erhöht sich der Schaden um 2W4 für jede Slotstufe über der 2. Stufe.
Spell/&CloudOfDaggersTitle=Wolke der Dolche
Spell/&ColorBurstDescription=Lass einen leuchtenden Würfel platzen, der jeden im Umkreis von 10 Fuß kurzzeitig blendet. 8W10 ist die Anzahl der Trefferpunkte von Kreaturen, die dieser Zauber beeinflussen kann.
Spell/&ColorBurstTitle=Farbexplosion
+Spell/&KineticJauntDescription=Sie verleihen Ihrer Bewegung auf magische Weise durch tanzähnliche Schritte mehr Kraft und verschaffen sich dadurch für die Dauer die folgenden Vorteile:\n• Ihre Gehgeschwindigkeit erhöht sich um 10 Fuß.\n• Sie provozieren keine Gelegenheitsangriffe.\n• Sie können sich durch den Raum jeder Kreatur bewegen.
+Spell/&KineticJauntTitle=Kinetischer Ausflug
Spell/&MirrorImageDescription=Drei illusorische Duplikate von dir selbst erscheinen in deinem Feld. Bis der Zauber endet, würfelst du jedes Mal, wenn eine Kreatur dich mit einem Angriff anvisiert, einen W20, um zu bestimmen, ob der Angriff stattdessen auf eines deiner Duplikate zielt.\nWenn du 3 Duplikate hast, musst du eine 6 oder höher würfeln, um das Ziel des Angriffs in ein Duplikat zu ändern. Bei 2 Duplikaten musst du eine 8 oder höher würfeln. Bei 1 Duplikat musst du eine 11 oder höher würfeln.\nDie Rüstungsklasse eines Duplikats entspricht 10 + deinem Geschicklichkeitsmodifikator. Wenn ein Angriff ein Duplikat trifft, wird das Duplikat zerstört. Ein Duplikat kann nur durch einen Angriff zerstört werden, der es trifft. Es ignoriert allen anderen Schaden und alle anderen Effekte. Der Zauber endet, wenn alle drei Duplikate zerstört sind.\nEine Kreatur bleibt von diesem Zauber unberührt, falls sie geblendet ist oder über Blindsicht, Wahre Sicht oder Erschütterungssinn verfügt (gilt nicht, wenn Sie den Boden nicht berühren).
Spell/&MirrorImageTitle=Spiegelbild
Spell/&NoxiousSprayDescription=Sie entfesseln einen Strahl schädlicher Gase auf ein Ziel in Reichweite. Führen Sie einen Fernkampfangriff durch. Bei einem Treffer erleidet das Ziel 4W6 Giftschaden und muss einen Konstitutionsrettungswurf erfolgreich absolvieren, sonst verbringt es die gesamte nächste Runde mit Würgen und Würgen und ist unfähig, sich zu bewegen oder Aktionen auszuführen. Konstrukte, Elementare und Untote sind von diesem Zauber nicht betroffen. Wenn du diesen Zauber mit einem Slot der 3. Stufe oder höher wirkst, kannst du für jede Slot-Stufe über der 2. Stufe eine zusätzliche Kreatur als Ziel wählen.
diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt
index b2645dd7ee..665481296c 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Sie müssen eine Fernkampfwaffe tragen. Wenn ein Z
Spell/&FlameArrowsTitle=Flammenpfeile
Spell/&HungerOfTheVoidDescription=Du öffnest ein Tor zur Dunkelheit zwischen den Sternen, einer Region voller unbekannter Schrecken. Es erscheint eine Kugel aus Dunkelheit und bitterer Kälte mit einem Radius von 20 Fuß, die an einem Punkt mit Reichweite zentriert ist und für die Dauer anhält. Der Bereich löscht das Licht und die Kreaturen darin werden geblendet. Jede Kreatur, die ihren Zug in diesem Bereich beginnt, erleidet 2W6 Kälteschaden. Jeder Kreatur, die ihren Zug in diesem Bereich beendet, muss ein Geschicklichkeitsrettungswurf gelingen, sonst erleidet sie 2W6 Säureschaden, da milchige, jenseitige Tentakel an ihr reiben.
Spell/&HungerOfTheVoidTitle=Hunger von Hadar
+Spell/&IntellectFortressDescription=Während der Zauberdauer sind Sie oder eine willige Kreatur, die Sie in Reichweite sehen können, resistent gegen psychischen Schaden und haben einen Vorteil bei Rettungswürfen für Intelligenz, Weisheit und Charisma. Wenn Sie diesen Zauber mit einem Zauberplatz der 4. Stufe oder höher wirken, können Sie für jede Stufe über der 3. eine weitere Kreatur in Reichweite als Ziel wählen.
+Spell/&IntellectFortressTitle=Festung der Intelligenz
Spell/&LightningArrowDescription=Wenn Sie während der Wirkungsdauer des Zaubers das nächste Mal einen Fernkampfwaffenangriff ausführen, verwandelt sich die Munition der Waffe oder die Waffe selbst, wenn es sich um eine Wurfwaffe handelt, in einen Blitz. Führen Sie den Angriffswurf wie gewohnt durch. Das Ziel erleidet bei einem Treffer 3W8 Blitzschaden, bei einem Fehlschuss halb so viel Schaden. Unabhängig davon, ob Sie treffen oder verfehlen, muss jede Kreatur im Umkreis von 10 Fuß um das Ziel einen Geschicklichkeitsrettungswurf durchführen. Jede dieser Kreaturen erleidet bei einem fehlgeschlagenen Rettungswurf 2W8 Blitzschaden, bei einem erfolgreichen Rettungswurf halb so viel Schaden. Wenn Sie diesen Zauber mit einem Zauberslot der 4. Stufe oder höher wirken, erhöht sich der Schaden für beide Effekte des Zaubers um 1W8 für jede Slotstufe über der 3. Stufe.
Spell/&LightningArrowTitle=Blitzpfeil
+Spell/&PsionicBlastDescription=Du entfesselst eine zerstörerische Welle mentaler Kraft in einem 30-Fuß-Kegel. Jede Kreatur in der Umgebung muss einen Geschicklichkeitsrettungswurf machen. Bei einem misslungenen Rettungswurf erleidet das Ziel 5W8 Kraftschaden, wird 20 Fuß direkt von dir weggestoßen und niedergeschlagen. Bei einem erfolgreichen Rettungswurf erleidet das Ziel nur halb so viel Schaden und wird nicht gestoßen oder niedergeschlagen. Wenn du diesen Zauber mit einem Zauberplatz der 4. Stufe oder höher wirkst, erhöht sich der Schaden um 1W8 für jeden Platzlevel über der 3.
+Spell/&PsionicBlastTitle=Psi-Explosion
Spell/&PulseWaveDescription=Schleudere Feinde mit starkem Gravitationsdruck weg.
Spell/&PulseWaveTitle=Pulswelle
Spell/&SpiritShroudDamageColdDescription=Verursacht zusätzlichen Kälteschaden.
diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt
index e65da1f5a3..a4de50c8f4 100644
--- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Du nimmst für die Dauer die Gestalt einer anderen
Spell/&ShapechangeTitle=Formänderung
Spell/&TimeStopDescription=Du stoppst kurzzeitig den Zeitfluss für alle außer dir selbst. Für andere Kreaturen vergeht keine Zeit, während du 1W4 + 1 Runden am Stück machst, in denen du Aktionen ausführen und dich wie gewohnt bewegen kannst.
Spell/&TimeStopTitle=Zeitstopp
-Spell/&WeirdDescription=Ausgehend von den tiefsten Ängsten einer Gruppe von Kreaturen erschaffst du in ihren Köpfen illusorische Kreaturen, die nur für sie sichtbar sind. Jede Kreatur in einer Kugel mit einem Radius von 30 Fuß, die auf einem Punkt Ihrer Wahl in Reichweite zentriert ist, muss einen Weisheitsrettungswurf durchführen. Bei einem fehlgeschlagenen Rettungswurf wird eine Kreatur für die Dauer verängstigt. Die Illusion ruft die tiefsten Ängste der Kreatur hervor und manifestiert ihre schlimmsten Albträume als unerbittliche Bedrohung. Am Ende jedes Zuges der verängstigten Kreatur muss ihr ein Weisheitsrettungswurf gelingen, sonst erleidet sie 4W10 psychischen Schaden. Bei einem erfolgreichen Rettungswurf endet der Zauber für diese Kreatur.
+Spell/&WeirdDescription=Indem Sie die tiefsten Ängste einer Gruppe von Kreaturen nutzen, erschaffen Sie in ihren Köpfen illusionäre Kreaturen, die nur für sie sichtbar sind. Jeder Feind in einer Kugel mit einem Radius von 30 Fuß, der auf einen Punkt Ihrer Wahl in Reichweite zentriert ist, muss einen Weisheitsrettungswurf machen. Bei einem misslungenen Rettungswurf ist die Kreatur für die Dauer verängstigt. Die Illusion ruft die tiefsten Ängste der Kreatur hervor und manifestiert ihre schlimmsten Albträume als unerbittliche Bedrohung. Am Ende jedes Zuges der verängstigten Kreatur muss diese einen Weisheitsrettungswurf bestehen oder 4W10 psychischen Schaden erleiden. Bei einem erfolgreichen Rettungswurf endet der Zauber für diese Kreatur.
Spell/&WeirdTitle=Seltsam
diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/InnovationVivisectionist-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/InnovationVivisectionist-de.txt
index 930e3b50e7..c7ad35c4e6 100644
--- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/InnovationVivisectionist-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/InnovationVivisectionist-de.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Einm
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Medizinische Genauigkeit
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Lernen Sie und seien Sie immer vorbereitet:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Vivisektionistische Zauber
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Wenn du einen Heilzauber wirkst, beträgt dein minimaler Heilwürfelwurf 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Wenn Sie eine andere Kreatur heilen, behandeln Sie alle 1er-Würfe stattdessen als 2er-Würfe.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=Aufgrund der stabilen Chirurgie zwingt {0} den {1}-Würfel auf eine 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Stabile Chirurgie
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Sie können eine Bonusaktion ausführen, um „Geringere Wiederherstellung“ oder „Fluch entfernen“ bei einem Verbündeten im Umkreis von 1,5 m anzuwenden. Sie können dies mehrmals in Höhe Ihres Kompetenzbonus tun. Alle Anwendungen laden nach einer langen Pause wieder auf.
diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronArchfey-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronArchfey-de.txt
new file mode 100644
index 0000000000..aa304cf96d
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronArchfey-de.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Du bist immun gegen Bezauberung und wenn eine andere Kreatur versucht, dich zu bezaubern, kannst du deine Reaktion nutzen, um den Zauber auf diese Kreatur zurückzuwerfen. Die Kreatur muss einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs bestehen oder ist 1 Minute lang von dir bezaubert oder bis die Kreatur Schaden nimmt.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Betörende Verteidigung
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Wähle als Aktion eine Kreatur, die du in einem Umkreis von 60 Fuß sehen kannst. Sie muss einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs bestehen. Bei einem misslungenen Rettungswurf ist sie für 1 Minute von dir bezaubert. Dieser Effekt endet vorzeitig, wenn die Kreatur Schaden nimmt. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Dark Delirium: Zauberhafte Hexen
+Feature/&PowerArchfeyDarkDeliriumDescription=Wähle als Aktion eine Kreatur, die du in einem Umkreis von 60 Fuß sehen kannst. Sie muss einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs bestehen. Bei einem misslungenen Rettungswurf wird sie von dir (deine Wahl) 1 Minute lang bezaubert oder verängstigt. Dieser Effekt endet vorzeitig, wenn die Kreatur Schaden nimmt. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Wähle als Aktion eine Kreatur, die du in einem Umkreis von 60 Fuß sehen kannst. Sie muss einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs bestehen. Bei einem misslungenen Rettungswurf wird sie 1 Minute lang von dir erschreckt. Dieser Effekt endet vorzeitig, wenn die Kreatur Schaden nimmt. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Dunkles Delirium: Angst
+Feature/&PowerArchfeyDarkDeliriumTitle=Dunkles Delirium
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Als Aktion kannst du jedes Wesen in einem 15 Fuß großen Kegel dazu bringen, einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs zu machen. Die Wesen, die ihre Rettungswürfe nicht schaffen, sind alle bis zum Ende deines nächsten Zuges von dir bezaubert. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Feenhafte Präsenz: Charmed
+Feature/&PowerArchfeyFeyPresenceDescription=Als Aktion kannst du jedes Wesen in einem 15 Fuß großen Kegel dazu bringen, einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs zu machen. Die Wesen, die ihre Rettungswürfe nicht schaffen, werden alle von dir bezaubert oder verängstigt (deine Wahl) bis zum Ende deines nächsten Zuges. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Als Aktion kannst du jedes Wesen in einem 15 Fuß großen Kegel dazu bringen, einen Weisheitsrettungswurf gegen den SG deines Hexenmeister-Zauberrettungswurfs zu machen. Die Wesen, die ihre Rettungswürfe nicht schaffen, werden alle bis zum Ende deines nächsten Zuges von dir verängstigt. Sobald du diese Funktion verwendest, kannst du sie nicht erneut verwenden, bis du eine kurze oder lange Rast beendet hast.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Feenhafte Präsenz: Erschrocken
+Feature/&PowerArchfeyFeyPresenceTitle=Feenhafte Präsenz
+Feature/&PowerArchfeyMistyEscapeDescription=Wenn Sie getroffen werden, können Sie Ihre Reaktion nutzen, um unsichtbar zu werden und sich bis zu 60 Fuß weit an einen freien Ort zu teleportieren, den Sie sehen können. Sie bleiben unsichtbar bis zum Beginn Ihres nächsten Zuges oder bis Sie angreifen oder einen Zauber wirken. Sobald Sie diese Funktion nutzen, können Sie sie nicht erneut nutzen, bis Sie eine kurze oder lange Pause eingelegt haben.
+Feature/&PowerArchfeyMistyEscapeTitle=Nebelige Flucht
+Reaction/&CustomReactionMistyEscapeDescription=Sie wurden getroffen. Ihre Reaktion können Sie dazu nutzen, unsichtbar zu werden und sich bis zu 20 Meter weit an einen freien Ort zu teleportieren, den Sie sehen können.
+Reaction/&CustomReactionMistyEscapeReactDescription=Werden Sie unsichtbar und teleportieren Sie sich bis zu 60 Fuß weit.
+Reaction/&CustomReactionMistyEscapeReactTitle=Nebelige Flucht
+Reaction/&CustomReactionMistyEscapeTitle=Nebelige Flucht
+Reaction/&UseBeguilingDefensesDescription=Ein Feind hat versucht, Sie zu bezaubern. Mit Ihrer Reaktion können Sie versuchen, den Zauber zurückzudrehen.
+Reaction/&UseBeguilingDefensesReactDescription=Drehen Sie den Zauber zurück.
+Reaction/&UseBeguilingDefensesReactTitle=Betörende Verteidigung
+Reaction/&UseBeguilingDefensesTitle=Betörende Verteidigung
+Subclass/&PatronArchfeyDescription=Ihr Schutzpatron ist ein Feenherr oder eine Feenfrau, ein legendäres Wesen, das Geheimnisse hütet, die vor der Geburt der sterblichen Rassen vergessen wurden. Die Motive dieses Wesens sind oft unergründlich und manchmal wunderlich und könnten das Streben nach größerer magischer Macht oder die Beilegung uralter Grollgefühle beinhalten.
+Subclass/&PatronArchfeyTitle=Die Erzfeen
diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/WayOfTheStormSoul-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/WayOfTheStormSoul-de.txt
new file mode 100644
index 0000000000..2c7327cac5
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/WayOfTheStormSoul-de.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Dieses Zeichen kann jederzeit explodieren und 5W10 Donnerschaden verursachen.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Sturmzeichen
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Immer wenn Sie „Flurry of Blows“ einsetzen, profitieren Sie auch von den Vorteilen der Rückzugsaktion. Die dadurch bereitgestellten Bonusangriffe verursachen zusätzlichen Blitzschaden in Höhe Ihres Kampfkunstwürfels.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Schüler der Stürme
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Immer wenn du einer Kreatur mit einer Mönchswaffe, einem unbewaffneten Angriff oder einem Blitzköder-Cantrip Schaden zufügst, markierst du diese Kreatur 1 Minute lang mit anhaltenden leitfähigen Energien. Du kannst deine Aktion nutzen und 3 Ki ausgeben, um das Zeichen auf jeder Kreatur zu verbrauchen und ihnen einen Geschicklichkeitsrettungswurf zu erzwingen (SG = 8 + Fähigkeitsbonus + Weisheitsmodifikator). Bei einem fehlgeschlagenen Rettungswurf erleidet jede Kreatur 5W10 Blitzschaden (bis auf die Hälfte).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Das Auge des Sturms
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Du erhältst Resistenz gegen Blitzschaden und kannst jeden deiner Hauptaktionsangriffe ersetzen, um einen „Blitzköder“-Cantrip ohne Komponenten zu wirken, indem du deine Weisheit als Zaubermodifikator verwendest.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Blitzkrieger
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Sie können jeden Ihrer Hauptaktionsangriffe ersetzen, um einen „Blitzköder“-Cantrip ohne Komponenten zu wirken, indem Sie Ihre Weisheit als Zaubermodifikator verwenden.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Blitzköder
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Du kannst 1 Ki ausgeben, um einen der Bonusangriffe von „Flurry of Blows“ zu ersetzen und stattdessen alle gegnerischen Kreaturen in einem Umkreis von 5 Fuß um dich herum damit anzugreifen.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Zorn des Sturms
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Schüler der Stürme!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} trifft {1} mit einem Blitz (+{2})
+Subclass/&WayOfTheStormSoulDescription=Mönche des Weges der Sturmseele leben auf den höchsten Berggipfeln von Solasta, stellen sich auf die Energien mächtiger Stürme ein und lernen, die Kraft des Blitzes in ihr Wesen zu kanalisieren. Diese Kampfkünstler nutzen ihre einzigartigen Disziplinen, um zu einem ungezügelten Sturm zu werden, der mühelos das Schlachtfeld manövriert, von einem Feind zum nächsten stürmt und unzählige Blitzschläge auf ihn entfesselt.
+Subclass/&WayOfTheStormSoulTitle=Weg der Sturmseele
diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/WizardWarMagic-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/WizardWarMagic-de.txt
index 789f937188..00bcd3b553 100644
--- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/WizardWarMagic-de.txt
+++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/WizardWarMagic-de.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=Die Magie, die du kanalisierst,
Feature/&FeatureWarMagicDurableMagicTitle=Dauerhafte Magie
Feature/&PowerWarMagicDeflectionShroudDescription=Deine arkane Abwehr wird mit tödlicher Magie erfüllt. Wenn Sie Ihre Funktion „Arkane Ablenkung“ verwenden, können Sie magische Energie aus sich herausströmen lassen. Bis zu drei Kreaturen, die dir im Umkreis von 60 Fuß am nächsten sind, erleiden jeweils Kraftschaden in Höhe der Hälfte deiner Zaubererstufe.
Feature/&PowerWarMagicDeflectionShroudTitle=Ablenkungsmantel
-Feature/&PowerWarMagicSurgeDescription=Du hast eine Anzahl an Kraftstößen, die deinem Intelligenzmodifikator entspricht (mindestens einer). Immer wenn du einen Zauber erfolgreich mit Counterspell beendest, erhältst du einen Kraftschub. Einmal pro Spielzug, wenn du einer Kreatur oder einem Objekt mit einem Zauberspruch Schaden zufügst, kannst du einen Kraftschub ausgeben, um bei einem Schadenswurf dieses Zaubers zusätzlichen Kraftschaden zu verursachen. Der zusätzliche Schaden entspricht deiner Zaubererstufe.
+Feature/&PowerWarMagicSurgeDescription=Sie haben eine Anzahl von Energiestößen, die Ihrem Intelligenzmodifikator entspricht (mindestens einer) pro langer Pause. Immer wenn Sie einen Zauber mit Gegenzauber erfolgreich beenden, erhalten Sie einen Energiestoß zurück. Einmal pro Runde, wenn Sie einer Kreatur oder einem Objekt mit einem Zaubererzauber Schaden zufügen, können Sie einen Energiestoß ausgeben, um bei einem Schadenswurf dieses Zaubers zusätzlichen Kraftschaden zu verursachen. Der zusätzliche Schaden entspricht Ihrer Zaubererstufe.
Feature/&PowerWarMagicSurgeTitle=Überspannung
Feedback/&ArcaneDeflectionAttackRoll={0} verwendet {1}, um den Intelligenzmodifikator ({2}) vom Angriffswurf ({3}) abzuziehen.
Feedback/&ArcaneDeflectionSavingRoll={0} verwendet {1}, um den Intelligenzmodifikator ({2}) zum Rettungswurf ({3}) hinzuzufügen.
diff --git a/SolastaUnfinishedBusiness/Translations/en/Feats/Group-en.txt b/SolastaUnfinishedBusiness/Translations/en/Feats/Group-en.txt
index 01c4d8370e..92e57c99c9 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Feats/Group-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Feats/Group-en.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Increase one of your mental attributes
Feat/&FeatGroupVerdantTouchedTitle=Verdant Touched
Feat/&FeatGroupWeaponMasterDescription=You have practiced extensively with a variety of weapons, gaining the following benefits:\n• Increase your Strength or Dexterity score by 1, to a maximum of 20.\n• You gain proficiency with four weapons of your choice. Each one must be a simple or a martial weapon.
Feat/&FeatGroupWeaponMasterTitle=Weapon Master
+Feat/&FeatGroupWhirlWindAttackDescription=You become a master of whirling death, gaining the following benefits:\n• Increase your Strength or Dexterity by 1, to a maximum of 20.\n• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative).
+Feat/&FeatGroupWhirlWindAttackTitle=Whirlwind Attack
diff --git a/SolastaUnfinishedBusiness/Translations/en/Feats/MeleeCombat-en.txt b/SolastaUnfinishedBusiness/Translations/en/Feats/MeleeCombat-en.txt
index 5d44557f06..199c7e13f2 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Feats/MeleeCombat-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Feats/MeleeCombat-en.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Keep them coming!
Condition/&ConditionFeatCleavingAttackFinishTitle=Great Weapon Master
Condition/&ConditionFeatCrusherCriticalHitDescription=You've been crushed by a critical hit and attacks against you have advantage.
Condition/&ConditionFeatCrusherCriticalHitTitle=Crushed
+Condition/&ConditionFeatGreatWeaponDefenseDescription=You make all attack rolls with disadvantage against the source while you are within 5ft of it.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Focused Defense
Condition/&ConditionFeatPiercerNonMagicDescription=When you hit a creature with an attack that deals piercing damage, you can re-roll dice when you roll a 1, and you must use the new roll.
Condition/&ConditionFeatPiercerNonMagicTitle=Piercer
Condition/&ConditionFeatSlasherCriticalHitDescription=You've been slashed by a critical hit and your attacks have disadvantage.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=You master the handaxe, battleaxe, greataxe, war
Feat/&FeatFellHandedTitle=Fell Handed
Feat/&FeatFencerDescription=If you take the Attack action on your turn while holding a melee one-handed or versatile weapon and no other weapon or shield, you can use a bonus action to attack with the weapon you are holding, adding your attribute modifier to the damage dealt.
Feat/&FeatFencerTitle=Fencer
+Feat/&FeatGreatWeaponDefenseDescription=You expertly use the size of your weapon to focus on parrying incoming blows. While you are wielding a heavy or versatile melee weapon and no other weapon or shield, you gain the following benefits:\n• Increase your Armor Class by 1 while wielding the weapon. \n• You can replace any main action attack to target a creature within 5ft of you. That creature has disadvantage on all attacks against you until the start of your next turn, until you are no longer adjacent to the creature or if you equip another weapon or shield.
+Feat/&FeatGreatWeaponDefenseTitle=Great Weapon Defense
Feat/&FeatHammerThePointDescription=You know how to focus and concentrate on the same spot. After you make an attack roll against a target, get a +1 to attack and damage rolls against this target until the end of you turn [stacks].
Feat/&FeatHammerThePointTitle=Hammer the Point
Feat/&FeatLongswordFinesseDescription=You are descended from a master of the longsword, and some of that mastery has passed on to you. You gain the following benefits:\n• Increase your Dexterity by 1, to a maximum of 20.\n• While you are holding a longsword, you gain a +1 bonus to armor class.\n• Longsword has the finesse property when you wield it.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=You've learned where to cut to have the greatest
Feat/&FeatSlasherStrTitle=Slasher [Str]
Feat/&FeatSpearMasteryDescription=Though the spear is a simple weapon to learn, it rewards you for the time you have taken to master it:\n• You gain a +1 bonus to attack rolls you make with a spear and its damage die changes from a d6 to a d8, and from a d8 to a d10 when wielded with two hands.\n• As a bonus action you can brace your spear to intercept approaching enemies. You can use reaction to perform attack of opportunity with a spear on enemy that enters your reach and deal extra die of damage if that attack hits.\n• As a bonus action, you can increase your reach with a spear by 5 ft for the rest of your turn.
Feat/&FeatSpearMasteryTitle=Spear Mastery
+Feat/&FeatWhirlWindAttackDexDescription=You become a master of whirling death, gaining the following benefits:\n• Increase your Dexterity by 1, to a maximum of 20.\n• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative).
+Feat/&FeatWhirlWindAttackDexTitle=Whirlwind Attack [Dex]
+Feat/&FeatWhirlWindAttackStrDescription=You become a master of whirling death, gaining the following benefits:\n• Increase your Strength by 1, to a maximum of 20.\n• Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative).
+Feat/&FeatWhirlWindAttackStrTitle=Whirlwind Attack [Str]
Feature/&AttackModifierFeatSpearMasteryDescription=You gain a +1 bonus to attack rolls you make with a spear and its damage die changes from a d6 to a d8, and from a d8 to a d10 when wielded with two hands.
Feature/&AttackModifierFeatSpearMasteryTitle=Spear Mastery
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=While you are holding a longsword, you gain a +1 bonus to armor class.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=You can brace your spear to inte
Feature/&PowerFeatSpearMasteryChargeTitle=Spear Brace
Feature/&PowerFeatSpearMasteryReachDescription=You can increase your reach with a spear by 5 ft for the rest of your turn.
Feature/&PowerFeatSpearMasteryReachTitle=Spear Reach
+Feature/&PowerGreatWeaponDefenseDescription=You can replace any main action attack to target a creature within 5ft of you. That creature has disadvantage on all attacks against you until the start of your next turn, until you are no longer adjacent to the creature or if you equip another weapon or shield.
+Feature/&PowerGreatWeaponDefenseTitle=Great Weapon Defense
+Feature/&PowerWhirlWindAttackDescription=Once during your turn when you take the Attack action while wielding a greatsword, greataxe or maul, you can replace one attack to instead launch a Whirlwind Attack. Whirlwind Attack makes one attack roll against all enemy creatures within 5ft of you but doesn't add your attribute modifier to damage dealt (unless that modifier is negative).
+Feature/&PowerWhirlWindAttackTitle=Whirlwind Attack
Feedback/&AdditionalDamageChargerFormat=Charger!
Feedback/&AdditionalDamageChargerLine={0} charges {1} and deals extra {2} damage!
Feedback/&AdditionalDamageCrusherFormat=Crusher!
diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt
index 752edb1365..847877de10 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Blinded by Stinking Cloud
Condition/&ConditionBlindedExtendedDescription=Vision is blinded. Attack rolls against the creature have advantage, and the creature's attack rolls have disadvantage.
Condition/&ConditionLightlyObscuredDescription=Vision is lightly obscured. Disadvantage on wisdom (perception) saving throws.
Condition/&ConditionLightlyObscuredTitle=Lightly Obscured
+Condition/&ConditionMonkSuperiorDefenseDescription=You have resistance to all damage but force unless incapacitated.
+Condition/&ConditionMonkSuperiorDefenseTitle=Superior Defense
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Disarmed
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Withdrawn
Condition/&ConditionRogueDeviousStrikeDazedDescription=You cannot use reactions or bonus actions, and can move or take other actions in your turn, not both.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=If you fail a saving throw, you can reroll it with a bonus equal to your Fighter level. If you do so, you must use the new roll, and you can't use this feature again until you finish a long rest.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Expanded Spells
+Feature/&FeatureMonkBodyAndMindDescription=You have honed your body and mind to new heights. Your Dexterity and Wisdom increase by 4.
+Feature/&FeatureMonkBodyAndMindTitle=Body and Mind
+Feature/&FeatureMonkHeightenedMetabolismDescription=Your training has pushed your body and mind to new levels. Your Flurry of Blows, Patient Defense, and Step of the Wind gain the following benefits:\n• Flurry of Blows: When you use Flurry of Blows, you make three Unarmed Strikes with it instead of two.\n• Patient Defense: When you use Patient Defense, you gain a number of temporary hit points equal to two rolls of your Martial Arts die.\n• Step of the Wind: When you use either Step of the Wind feature (Disengage or Dash), you also gain the benefits of the other effect.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Heightened Metabolism
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=You can spend 1 Ki point to make two unarmed strikes as a bonus action.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Flurry of Blows
Feature/&FeatureSetBarbarianBrutalStrikeDescription=When you use Reckless Attack, one of your Strength-based attack rolls you make before your turn ends deals an extra 1d10 damage of the same type dealt by the weapon or Unarmed Strike, and you can also choose one of the following effects if it hits:\n• Forceful Blow. The target is pushed 15 feet straight away from you.\n• Hamstring Blow. The target's Speed is reduced by 15 feet until the start of your next turn.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Sundering Blow
Feature/&PowerBarbarianBrutalStrikeTitle=Brutal Strike
Feature/&PowerHelpDescription=You can aid a friendly creature in attacking a creature within 5 ft of you. You feint, distract the target, or in some other way team up to make your ally's attack more effective. If your ally attacks the target before your next turn, the first attack roll is made with advantage.
Feature/&PowerHelpTitle=Help
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=You can spend 1 Ki point to take both the Disengage and Dash action as a bonus action on your turn, and your jump distance is doubled for the turn.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Step of the Wind
+Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 Ki Points to perfectly bolster yourself against harm for 1 minute or until you become incapacitated. During that time, you have resistance to all damage except Force damage.
+Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense
Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your proficiency bonus, and you regain all expended uses when you finish a long rest.
Feature/&PowerRangerNatureShroudTitle=Nature's Veil
Feature/&PowerRogueCunningStrikeDescription=You have developed cunning ways to use your Sneak Attack. When you deal Sneak Attack damage, you can forgo Sneak Attack dice to add instead additional Cunning Strike effects.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Has Blade Mastery weapon types in hands:
Rules/&SituationalContext9001Format=Has Greatsword in hands:
Rules/&SituationalContext9002Format=Has Longsword in hands:
Rules/&SituationalContext9003Format=Has Melee weapon in main hand with free off hand:
+Rules/&SituationalContext9004Format=Has Heavy or Versatile weapon in main hand with free off hand:
Rules/&SituationalContext9005Format=Has simple or martial weapons in hand:
Rules/&SituationalContext9007Format=Is not in bright light:
Rules/&SituationalContext9008Format=Is raging and dual wielding:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=Is {0}
Tooltip/&PreReqIsNot=Isn't {0}
Tooltip/&PreReqIsWithLevel=Is {0} level {1}
Tooltip/&PreReqLevelFormat=Min Character Level {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Must have extra attacks
Tooltip/&PreReqMustKnow=Must know {0}
Tooltip/&Tag9000Title=Custom Effect
Tooltip/&TagUnfinishedBusinessTitle=Unfinished Business
diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt
index 22d77c5730..1c46c2134c 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Allow casting spells with extra action from being Haste
ModUi/&AllowHornsOnAllRaces=Allow horns on all races [results might look terrible depending on race, head and horn]
ModUi/&AllowMoreRealStateOnRestPanel=Allow more real state on rest panel [hide after rest actions on before panel and recovery features on after panel]
ModUi/&AllowStackedMaterialComponent=Allow stacked material component [e.g. 2x500gp diamond is equivalent to 1000gp diamond]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Allow target selection when casting the Chain Lightning spell
ModUi/&AllowUnmarkedSorcerers=Allow Sorcerer without origin markings and tattoos
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=ALT key only highlights gadgets in party field of view [custom dungeons only]
ModUi/&ArcaneShieldstaffOptions=Allow Arcane Shieldstaff to be attuned by any class
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Enable log dialogues to game console during n
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Enable logging invalid references in custom campaigns
ModUi/&EnableMinInOutAttributes=+ Enforce ability scores minimum in & out pre-requisites
ModUi/&EnableMonkAbundantKi=Enable Monk Abundant Ki at level 2 [gain additional Ki equals to half the proficiency bonus rounded up]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Enable Monk Body and Mind to replace Perfect Self at level 20
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Enable Monk Martial Arts - Bonus Unarmed Strikes to not require an attack action before usage
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Enable Monk Flurry of Blows to not require an attack action before usage
ModUi/&EnableMonkFightingStyle=Enable Monk Fighting Style choice at level 2
+ModUi/&EnableMonkHeightenedMetabolism=Enable Monk Heightened Metabolism at level 10 [Flurry of Blows, Patient Defense, and Step of the Wind gain additional benefits]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Enable Monk Improved Unarmored Movement to move along vertical surfaces without falling
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Enable Monk Superior Defense to replace Empty Body at level 18
ModUi/&EnableMonkWeaponSpecialization=Enable Monk Weapon Specialization at levels 2 and 11 [the selected weapon type becomes a monk weapon to you]
ModUi/&EnableMulticlass=Enable multiclass [Requires Restart]
+ModUi/&EnableOneDndHealingSpellsBuf=Enable OneDnd healing dice buff on Cure Wounds, Healing Word, Mass Cure Wounds, and Mass Healing Word
ModUi/&EnablePcgRandom=Enable a better random generator algorithm [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Enable Ranger Nature's Veil feature at level 10 [as a bonus action, you can magically become invisible until start of next turn]
ModUi/&EnableRejoinParty=Enable CTRL-SHIFT-(R) to rejoin the party around the selected hero or the leader if none is selected [useful with parties of 5 or 6]
diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt
index 690a5d9b6e..de06479588 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=Booming Blade's sheath
Condition/&ConditionMindSpikeDescription=Subtracts 1d4 from the next saving throw.
Condition/&ConditionMindSpikeTitle=Mind Sliver
Condition/&ConditionResonatingStrikeTitle=Resonance
+Condition/&ConditionStarryWispDescription=Can't benefit from the Invisible condition.
+Condition/&ConditionStarryWispTitle=Starry Wisp
Condition/&ConditionSunlightBladeDescription=At 5th level, attacks triggered by this cantrip deals an additional 1d8 radiant damage. The damage further increases by 1d8 at 11th and 17th levels.
Condition/&ConditionSunlightBladeTitle=Sunlit Blade's burn
Condition/&ConditionWrackDescription=You are unable to take the dash or disengage action.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=You sap the vitality of one creature you can see
Spell/&EnduringStingTitle=Sapping Sting
Spell/&IlluminatingSphereDescription=Causes light sources such as torches and mana lamps in the area of effect to light up.
Spell/&IlluminatingSphereTitle=Illuminating Sphere
+Spell/&InfestationDescription=You cause a cloud of mites, fleas, and other parasites to appear momentarily on one creature you can see within range. The target must succeed on a Constitution saving throw, or it takes 1d6 poison damage and moves 5 feet in a random direction.\nThis spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).
+Spell/&InfestationTitle=Infestation
+Spell/&LightningLureDescription=You create a lash of lightning energy that strikes at one creature of your choice that you can see within 15 feet of you. The target must succeed on a Strength saving throw or be pulled up to 10 feet in a straight line toward you and then take 1d8 lightning damage.\nThis spell's damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8).
+Spell/&LightningLureTitle=Lightning Lure
Spell/&MindSpikeDescription=You drive a disorienting spike of psychic energy into the mind of one creature you can see within range. The target must succeed on an Intelligence saving throw or take 1d6 psychic damage and subtract 1d4 from the next saving throw it makes before the end of your next turn.
Spell/&MindSpikeTitle=Mind Sliver
Spell/&MinorLifestealDescription=You drain vital energy from a nearby enemy creature. Make a melee spell attack against a creature within 5 feet of you. On a hit, the creature takes 1d6 necrotic damage, and you heal for half the damage dealt (rounded down). This spell has no effect on undead and constructs. The spell's damage increases by an additional die at 5th, 11th and 17th level.
Spell/&MinorLifestealTitle=Minor Lifesteal
+Spell/&PrimalSavageryDescription=You channel primal magic to cause your teeth or fingernails to sharpen, ready to deliver a corrosive attack. Make a melee spell attack against one creature within 5 feet of you. On a hit, the target takes 1d10 acid damage. \nThis spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).
+Spell/&PrimalSavageryTitle=Primal Savagery
Spell/&ResonatingStrikeDescription=Select one creature within melee range of you and a different creature that you can see within 5 ft of main target. You make a melee attack with current weapon against first creature. On a hit, the target suffers the weapon attack's normal effects, and flames leap to second target, dealing fire damage equal to your spellcasting ability modifier.\nAt 5th level, the melee attack deals extra 1d8 fire damage to the target on a hit, and the fire damage to the second creature increases to 1d8 + your spellcasting ability modifier. Both damage rolls increase by 1d8 at 11th and 17th levels.
Spell/&ResonatingStrikeTitle=Green-Flame Blade
+Spell/&StarryWispDescription=You launch a mote of light at one creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d8 Radiant damage, and until the end of your next turn, it emits Dim Light in a 10-foot radius and can't benefit from the Invisible condition.\nThis spell's damage increases by 1d8 when you reach levels 5 (2d8), 11 (3d8), and 17 (4d8).
+Spell/&StarryWispTitle=Starry Wisp
Spell/&SunlightBladeDescription=Make a melee attack with a weapon. On a hit, the target suffers the attack's normal effects, and is enveloped in glowing radiant energy, shedding dim light for the turn. Next attack against this creature while it is highlighted is done with advantage.\nAt 5th level, the melee attack deals an extra 1d8 radiant damage to the target. The damage increases by another 1d8 at 11th level and 17th level.
Spell/&SunlightBladeTitle=Sunlit Blade
Spell/&SwordStormDescription=You create a momentary circle of spectral blades that sweep around you. All other creatures within 5 ft of you must each succeed on a Dexterity saving throw or take 1d6 force damage.
diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt
index 3c43ac67d9..b0f2e891b9 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=You can't take a reaction u
Condition/&ConditionPsychicWhipNoReactionTitle=Tasha's Mind Whip
Feature/&AttackModifierShadowBlade0Description=Magical attack.
Feature/&AttackModifierShadowBladeNDescription=Magical attack, deals additional {0}d8 psychic damage.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=You can move through the space of any creature
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Kinetic Jaunt
Feedback/&MirrorImageAttackerHasSense={0} has {1} and ignores {2}
Feedback/&MirrorImageAttackerIsBlind={0} is {1} and ignores {2}
Feedback/&MirrorImageRetargetResult={0} will target {1}
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=You have {0}/{1} hit points. Y
Reaction/&CustomReactionWitherAndBloomReactDescription=Regain hit points.
Reaction/&CustomReactionWitherAndBloomReactTitle=Wither And Bloom
Reaction/&CustomReactionWitherAndBloomTitle=Wither And Bloom
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Choose one skill in which you lack proficiency. For 1 hour, you have proficiency in the chosen skill.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Have proficiency in the chosen skill.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Borrowed Knowledge
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Borrowed Knowledge
Spell/&AganazzarScorcherDescription=A line of roaring flame 30 feet long and 5 feet wide emanates from you in a direction you choose. Each creature in the line must make a Dexterity saving throw. A creature takes 3d10 fire damage on a failed save, or half as much damage on a successful one. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d10 for each slot level above 2nd.
Spell/&AganazzarScorcherTitle=Aganazzar's Scorcher
Spell/&BindingIceDescription=A burst of cold energy emanates from you in a 30-foot cone. Each creature in that area must make a Constitution saving throw. On a failed save, a creature takes 3d8 cold damage and is hindered by ice formations for 1 minute, or until it uses an action to break away the ice. A creature hindered by ice has its speed reduced to 0. On a successful save, a creature takes half as much damage and isn't hindered by ice.
Spell/&BindingIceTitle=Rime's Binding Ice
+Spell/&BorrowedKnowledgeDescription=You draw on knowledge from spirits of the past. Choose one skill in which you lack proficiency. For 1 hour, you have proficiency in the chosen skill. The spell ends early if you cast it again.
+Spell/&BorrowedKnowledgeTitle=Borrowed Knowledge
Spell/&CloudOfDaggersDescription=You fill the air with spinning daggers in a cube 5 feet on each side, centered on a point you choose within range. A creature takes 4d4 slashing damage when it enters the spell's area for the first time on a turn or starts its turn there. When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 2d4 for each slot level above 2nd.
Spell/&CloudOfDaggersTitle=Cloud of Daggers
Spell/&ColorBurstDescription=Burst a luminous cube that briefly blinds anyone within 10 ft. 8d10 is how many hit points of creatures this spell can affect.
Spell/&ColorBurstTitle=Color Burst
+Spell/&KineticJauntDescription=You magically empower your movement with dance like steps, giving yourself the following benefits for the duration:\n• Your walking speed increases by 10 feet.\n• You don't provoke opportunity attacks.\n• You can move through the space of any creature.
+Spell/&KineticJauntTitle=Kinetic Jaunt
Spell/&MirrorImageDescription=Three illusory duplicates of yourself appear in your space. Until the spell ends, each time a creature targets you with an attack, roll a d20 to determine whether the attack instead targets one of your duplicates.\nIf you have 3 duplicates, you must roll a 6 or higher to change the attack's target to a duplicate. With 2 duplicates, you must roll an 8 or higher. With 1 duplicate, you must roll an 11 or higher.\nA duplicate's armor class is equal to 10 + your Dexterity modifier. If an attack hits a duplicate, the duplicate is destroyed. A duplicate can be destroyed only by an attack that hits it. It ignores all other damage and effects. The spell ends when all three duplicates are destroyed.\nA creature is unaffected by this spell if it is Blinded, or has Blindsight, Truesight or Tremorsense (doesn't apply if you don't touch ground).
Spell/&MirrorImageTitle=Mirror Image
Spell/&NoxiousSprayDescription=You unleash a spray of noxious gases on a target within range. Make a ranged spell attack. On a hit, the target takes 4d6 poison damage and must succeed on a Constitution saving throw or spend all its next turn retching and heaving, unable to move or take actions. Constructs, elementals and undead are unaffected by this spell. When you cast this spell using a slot of 3rd level or higher, you can target one additional creature for each slot level above 2nd.
diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt
index e82a8e26f4..21a7adc32e 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=You must be wielding a ranged weapon. When a targe
Spell/&FlameArrowsTitle=Flame Arrows
Spell/&HungerOfTheVoidDescription=You open a gateway to the dark between the stars, a region infested with unknown horrors. A 20-foot-radius sphere of blackness and bitter cold appears, centered on a point with range and lasting for the duration. The area extinguishes light, and creatures within it are blinded. Any creature that starts its turn in the area takes 2d6 cold damage. Any creature that ends its turn in the area must succeed on a Dexterity saving throw or take 2d6 acid damage as milky, otherworldly tentacles rub against it.
Spell/&HungerOfTheVoidTitle=Hunger of Hadar
+Spell/&IntellectFortressDescription=For the duration, you or one willing creature you can see within range has resistance to psychic damage, as well as advantage on Intelligence, Wisdom, and Charisma saving throws. When you cast this spell using a spell slot of 4th level or higher, you may target an additional creature within range for each slot level above 3rd.
+Spell/&IntellectFortressTitle=Intellect Fortress
Spell/&LightningArrowDescription=The next time you make a ranged weapon attack during the spell's duration, the weapon's ammunition, or the weapon itself if it's a thrown weapon, transforms into a bolt of lightning. Make the attack roll as normal. The target takes 3d8 lightning damage on a hit, or half as much damage on a miss. Whether you hit or miss, each creature within 10 feet of the target must make a Dexterity saving throw. Each of these creatures takes 2d8 lightning damage on a failed save, or half as much damage on a successful one. When you cast this spell using a spell slot of 4th level or higher, the damage for both effects of the spell increases by 1d8 for each slot level above 3rd.
Spell/&LightningArrowTitle=Lightning Arrow
+Spell/&PsionicBlastDescription=You unleash a destructive wave of mental power in a 30-foot cone. Each creature in the area must make a Dexterity saving throw. On a failed save, a target takes 5d8 force damage, is pushed 20 feet directly away from you, and is knocked prone. On a successful save, a target takes half as much damage and isn’t pushed or knocked prone. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd.
+Spell/&PsionicBlastTitle=Psionic Blast
Spell/&PulseWaveDescription=Hurl enemies away with intense gravitational pressure.
Spell/&PulseWaveTitle=Pulse Wave
Spell/&SpiritShroudDamageColdDescription=Deal bonus cold damage.
diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt
index 467d963842..81888ac6be 100644
--- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=You assume the form of a different creature for th
Spell/&ShapechangeTitle=Shapechange
Spell/&TimeStopDescription=You briefly stop the flow of time for everyone but yourself. No time passes for other creatures, while you take 1d4 + 1 turns in a row, during which you can use actions and move as normal.
Spell/&TimeStopTitle=Time Stop
-Spell/&WeirdDescription=Drawing on the deepest fears of a group of creatures, you create illusory creatures in their minds, visible only to them. Each creature in a 30-foot-radius sphere centered on a point of your choice within range must make a Wisdom saving throw. On a failed save, a creature becomes frightened for the duration. The illusion calls on the creature's deepest fears, manifesting its worst nightmares as an implacable threat. At the end of each of the frightened creature's turns, it must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends for that creature.
+Spell/&WeirdDescription=Drawing on the deepest fears of a group of creatures, you create illusory creatures in their minds, visible only to them. Each enemy in a 30-foot-radius sphere centered on a point of your choice within range must make a Wisdom saving throw. On a failed save, a creature becomes frightened for the duration. The illusion calls on the creature's deepest fears, manifesting its worst nightmares as an implacable threat. At the end of each of the frightened creature's turns, it must succeed on a Wisdom saving throw or take 4d10 psychic damage. On a successful save, the spell ends for that creature.
Spell/&WeirdTitle=Weird
diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/InnovationVivisectionist-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/InnovationVivisectionist-en.txt
index 72dedc830a..b262fcf9e3 100644
--- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/InnovationVivisectionist-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/InnovationVivisectionist-en.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Once
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Medical Accuracy
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Learn and have always prepared:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Vivisectionist Spells
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=When casting a healing spell your minimum healing dice roll is 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Whenever you heal another creature, you treat all 1 rolls as 2 instead.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=Because of Stable Surgery {0} forces the {1} die to a 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Stable Surgery
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=You can take a bonus action to use Lesser Restoration or Remove Curse on an ally within 5 feet. You may do this a number of times equal to your proficiency bonus. All uses recharge after a long rest.
diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronArchfey-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronArchfey-en.txt
new file mode 100644
index 0000000000..e8d4439d6a
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronArchfey-en.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=You are immune to being charmed, and when another creature attempts to charm you, you can use your reaction to attempt to turn the charm back on that creature. The creature must succeed on a Wisdom saving throw against your warlock spell save DC or be charmed by you for 1 minute or until the creature takes any damage.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Beguiling Defenses
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=As an action, choose a creature that you can see within 60 feet of you. It must make a Wisdom saving throw against your warlock spell save DC. On a failed save, it is charmed by you for 1 minute. This effect ends early if the creature takes any damage. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Dark Delirium: Charmed
+Feature/&PowerArchfeyDarkDeliriumDescription=As an action, choose a creature that you can see within 60 feet of you. It must make a Wisdom saving throw against your warlock spell save DC. On a failed save, it is charmed or frightened by you (your choice) for 1 minute. This effect ends early if the creature takes any damage. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=As an action, choose a creature that you can see within 60 feet of you. It must make a Wisdom saving throw against your warlock spell save DC. On a failed save, it is frightened by you for 1 minute. This effect ends early if the creature takes any damage. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Dark Delirium: Frightened
+Feature/&PowerArchfeyDarkDeliriumTitle=Dark Delirium
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=As an action, you can cause each creature in a 15 ft cone to make a Wisdom saving throw against your warlock spell save DC. The creatures that fail their saving throws are all charmed by you until the end of your next turn. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Fey Presence: Charmed
+Feature/&PowerArchfeyFeyPresenceDescription=As an action, you can cause each creature in a 15 ft cone to make a Wisdom saving throw against your warlock spell save DC. The creatures that fail their saving throws are all charmed or frightened by you (your choice) until the end of your next turn. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=As an action, you can cause each creature in a 15 ft cone to make a Wisdom saving throw against your warlock spell save DC. The creatures that fail their saving throws are all frightened by you until the end of your next turn. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Fey Presence: Frightened
+Feature/&PowerArchfeyFeyPresenceTitle=Fey Presence
+Feature/&PowerArchfeyMistyEscapeDescription= When you are hit, you can use your reaction to turn invisible and teleport up to 60 feet to an unoccupied space you can see. You remain invisible until the start of your next turn or until you attack or cast a spell. Once you use this feature, you can't use it again until you finish a short or long rest.
+Feature/&PowerArchfeyMistyEscapeTitle=Misty Escape
+Reaction/&CustomReactionMistyEscapeDescription=You were hit. You can use your reaction to turn invisible and teleport up to 60 feet to an unoccupied space you can see.
+Reaction/&CustomReactionMistyEscapeReactDescription=Turn invisible and teleport up to 60 feet.
+Reaction/&CustomReactionMistyEscapeReactTitle=Misty Escape
+Reaction/&CustomReactionMistyEscapeTitle=Misty Escape
+Reaction/&UseBeguilingDefensesDescription=An enemy tried to charm you. You can use your reaction to attempt to turn the charm back.
+Reaction/&UseBeguilingDefensesReactDescription=Turn the charm back.
+Reaction/&UseBeguilingDefensesReactTitle=Beguiling Defenses
+Reaction/&UseBeguilingDefensesTitle=Beguiling Defenses
+Subclass/&PatronArchfeyDescription=Your patron is a lord or lady of the fey, a creature of legend who holds secrets that were forgotten before the mortal races were born. This being's motivations are often inscrutable, and sometimes whimsical, and might involve a striving for greater magical power or the settling of age-old grudges.
+Subclass/&PatronArchfeyTitle=The Archfey
diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/WayOfTheStormSoul-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/WayOfTheStormSoul-en.txt
new file mode 100644
index 0000000000..0b24b55a13
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/WayOfTheStormSoul-en.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=This mark can can explode at any time and cause 5D10 thunder damage.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Storm Mark
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Whenever you use your Flurry of Blows, you also gain the benefits of the disengage action. Bonus attacks provided by it deal extra lightning damage equal to your martial arts die.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Disciple of Storms
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Whenever you damage a creature with a monk weapon, unarmed attack or Lightning Lure cantrip, you mark that creature with lingering conductive energies for 1 minute. You can use your action and spend 3 ki to consume the mark on each creature and force a Dexterity saving throw on them (DC = 8 + proficiency bonus + Wisdom modifier). On a failed saving throw, each creature receives 5d10 lightning damage (save for half).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Eye of the Storm
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=You gain resistance to lightning damage, and you can replace any of your main action attacks to cast Lightning Lure cantrip without any components using your Wisdom as spellcasting modifier.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Lightning Warrior
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=You can replace any of your main action attacks to cast Lightning Lure cantrip without any components using your Wisdom as spellcasting modifier.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Lightning Lure
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=You can spend 1 ki to replace one of bonus attacks provided by Flurry of Blows to instead attack all enemy creatures within 5 ft of you with it.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Tempest's Fury
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Disciple of Storms!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} strikes {1} with lightning (+{2})
+Subclass/&WayOfTheStormSoulDescription=Monks of the Way of the Storm Soul live on the highest mountaintops of Solasta, attuning themselves to the energies of mighty storms and learning to channel the power of lightning into their being. These martial artists use their unique disciplines to become an unbridled tempest, effortlessly maneuvering the battlefield, rushing from one enemy to the next and unleashing countless lightning-infused strikes upon them.
+Subclass/&WayOfTheStormSoulTitle=Way of Storm Soul
diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/WizardWarMagic-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/WizardWarMagic-en.txt
index d4fe575a3b..7eeb07c04b 100644
--- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/WizardWarMagic-en.txt
+++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/WizardWarMagic-en.txt
@@ -4,13 +4,13 @@ Condition/&ConditionWarMagicArcaneDeflectionDescription=You can't cast spells ot
Condition/&ConditionWarMagicArcaneDeflectionTitle=Arcane Deflection
Feature/&AttributeModifierWarMagicTacticalWitDescription=Your keen ability to assess tactical situations allows you to act quickly in battle. You can give yourself a bonus to your initiative rolls equal to your Intelligence modifier.
Feature/&AttributeModifierWarMagicTacticalWitTitle=Tactical Wit
-Feature/&FeatureWarMagicArcaneDeflectionDescription=You have learned to weave your magic to fortify yourself against harm. When you are hit by an attack or you fail a saving throw, you can use your reaction to subtract your Intelligence modifier from the attack roll, or add it to the saving roll. When you use this feature, you can't cast spells other than cantrips until the end of your next turn.
+Feature/&FeatureWarMagicArcaneDeflectionDescription=You have learned to weave your magic to fortify yourself against harm. When you are hit by an attack, or you fail a saving throw, you can use your reaction to subtract your Intelligence modifier from the attack roll, or add it to the saving roll. When you use this feature, you can't cast spells other than cantrips until the end of your next turn.
Feature/&FeatureWarMagicArcaneDeflectionTitle=Arcane Deflection
Feature/&FeatureWarMagicDurableMagicDescription=The magic you channel helps ward off harm. While you maintain concentration on a spell, you have a +2 bonus to AC and all saving throws.
Feature/&FeatureWarMagicDurableMagicTitle=Durable Magic
Feature/&PowerWarMagicDeflectionShroudDescription=Your Arcane Deflection becomes infused with deadly magic. When you use your Arcane Deflection feature, you can cause magical energy to arc from you. Up to three closest creatures within 60 feet of you each take force damage equal to half your wizard level.
Feature/&PowerWarMagicDeflectionShroudTitle=Deflection Shroud
-Feature/&PowerWarMagicSurgeDescription=You have a number of power surges equal to your Intelligence modifier (minimum of one). Whenever you successfully end a spell with Counterspell, you gain one power surge. Once per turn when you deal damage to a creature or object with a wizard spell, you can spend one power surge to deal extra force damage to on one damage roll of that spell. The extra damage equals your wizard level.
+Feature/&PowerWarMagicSurgeDescription=You have a number of power surges equal to your Intelligence modifier (minimum of one) per long rest. Whenever you successfully end a spell with Counterspell, you regain one power surge. Once per turn when you deal damage to a creature or object with a wizard spell, you can spend one power surge to deal extra force damage to on one damage roll of that spell. The extra damage equals your wizard level.
Feature/&PowerWarMagicSurgeTitle=Power Surge
Feedback/&ArcaneDeflectionAttackRoll={0} uses {1} to subtract the Intelligence modifier ({2}) from the attack roll ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} uses {1} to add the Intelligence modifier ({2}) to the saving roll ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/es/Feats/Group-es.txt b/SolastaUnfinishedBusiness/Translations/es/Feats/Group-es.txt
index a3b4296da5..fa57a3d438 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Feats/Group-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Feats/Group-es.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Aumenta uno de tus atributos mentales e
Feat/&FeatGroupVerdantTouchedTitle=Verde tocado
Feat/&FeatGroupWeaponMasterDescription=Has practicado extensamente con una variedad de armas y has obtenido los siguientes beneficios:\n• Aumenta tu puntuación de Fuerza o Destreza en 1, hasta un máximo de 20.\n• Obtienes competencia con cuatro armas de tu elección. Cada uno debe ser un arma simple o marcial.
Feat/&FeatGroupWeaponMasterTitle=Maestro de armas
+Feat/&FeatGroupWhirlWindAttackDescription=Te conviertes en un maestro de la muerte giratoria y obtienes los siguientes beneficios:\n• Aumenta tu Fuerza o Destreza en 1, hasta un máximo de 20.\n• Una vez durante tu turno, cuando realizas la acción de Ataque mientras empuñas una gran espada, gran hacha o mazo, puedes reemplazar un ataque para lanzar un ataque torbellino. Whirlwind Attack realiza una tirada de ataque contra todas las criaturas enemigas a 5 pies de ti, pero no agrega tu modificador de atributo al daño infligido (a menos que ese modificador sea negativo).
+Feat/&FeatGroupWhirlWindAttackTitle=Ataque torbellino
diff --git a/SolastaUnfinishedBusiness/Translations/es/Feats/MeleeCombat-es.txt b/SolastaUnfinishedBusiness/Translations/es/Feats/MeleeCombat-es.txt
index a75fb197b5..3d77478202 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Feats/MeleeCombat-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Feats/MeleeCombat-es.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=¡Manténlos viniendo!
Condition/&ConditionFeatCleavingAttackFinishTitle=Gran maestro de armas
Condition/&ConditionFeatCrusherCriticalHitDescription=Has sido aplastado por un golpe crítico y los ataques en tu contra tienen ventaja.
Condition/&ConditionFeatCrusherCriticalHitTitle=Aplastada
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Realizas todas las tiradas de ataque con desventaja contra la fuente mientras estás a 5 pies de ella.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Defensa enfocada
Condition/&ConditionFeatPiercerNonMagicDescription=Cuando golpeas a una criatura con un ataque que causa daño penetrante, puedes volver a tirar los dados cuando sacas un 1, y debes usar la nueva tirada.
Condition/&ConditionFeatPiercerNonMagicTitle=Perforador
Condition/&ConditionFeatSlasherCriticalHitDescription=Has recibido un golpe crítico y tus ataques tienen desventaja.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=Dominas el hacha de mano, el hacha de batalla, e
Feat/&FeatFellHandedTitle=Cayó con la mano
Feat/&FeatFencerDescription=Si realizas la acción de Ataque en tu turno mientras sostienes un arma cuerpo a cuerpo con una mano o versátil y ninguna otra arma o escudo, puedes usar una acción adicional para atacar con el arma que estás sosteniendo, agregando tu modificador de atributo al daño infligido.
Feat/&FeatFencerTitle=Esgrimidor
+Feat/&FeatGreatWeaponDefenseDescription=Utilizas de manera experta el tamaño de tu arma para concentrarte en detener los golpes entrantes. Mientras empuñas un arma cuerpo a cuerpo pesada o versátil y ninguna otra arma o escudo, obtienes los siguientes beneficios:\n• Aumenta tu clase de armadura en 1 mientras empuñas el arma. \n• Puedes reemplazar cualquier ataque de acción principal para apuntar a una criatura a 5 pies de ti. Esa criatura tiene desventaja en todos los ataques contra ti hasta el inicio de tu siguiente turno, hasta que ya no estés adyacente a la criatura o si equipas otra arma o escudo.
+Feat/&FeatGreatWeaponDefenseTitle=Gran defensa de armas
Feat/&FeatHammerThePointDescription=Sabes cómo enfocarte y concentrarte en el mismo lugar. Después de realizar una tirada de ataque contra un objetivo, obtienes un +1 a las tiradas de ataque y daño contra este objetivo hasta el final de tu turno [acumulaciones].
Feat/&FeatHammerThePointTitle=Martilla la punta
Feat/&FeatLongswordFinesseDescription=Eres descendiente de un maestro de la espada larga y parte de ese dominio te ha pasado a ti. Obtienes los siguientes beneficios:\n• Aumenta tu destreza en 1, hasta un máximo de 20.\n• Mientras sostienes una espada larga, obtienes una bonificación de +1 a la clase de armadura.\n• La espada larga tiene la Propiedad de delicadeza cuando la empuñas.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=Ha aprendido dónde cortar para obtener los mejo
Feat/&FeatSlasherStrTitle=Asesino [Str]
Feat/&FeatSpearMasteryDescription=Aunque la lanza es un arma fácil de aprender, te recompensa por el tiempo que te has tomado para dominarla:\n• Obtienes una bonificación de +1 a las tiradas de ataque que haces con una lanza y su dado de daño cambia de un d6 a un d8, y de un d8 a un d10 cuando se empuña con las dos manos.\n• Como acción adicional, puedes apuntalar tu lanza para interceptar a los enemigos que se acercan. Puedes usar la reacción para realizar un ataque de oportunidad con una lanza al enemigo que entre a tu alcance e infligir un daño adicional si ese ataque impacta.\n• Como acción adicional, puedes aumentar tu alcance con una lanza en 5 pies por el resto de tu turno.
Feat/&FeatSpearMasteryTitle=Dominio de la lanza
+Feat/&FeatWhirlWindAttackDexDescription=Te conviertes en un maestro de la muerte giratoria y obtienes los siguientes beneficios:\n• Aumenta tu Destreza en 1, hasta un máximo de 20.\n• Una vez durante tu turno, cuando realizas la acción de Ataque mientras empuñas una gran espada, una gran hacha o maul, puedes reemplazar un ataque para lanzar un ataque de torbellino. Whirlwind Attack realiza una tirada de ataque contra todas las criaturas enemigas a 5 pies de ti, pero no agrega tu modificador de atributo al daño infligido (a menos que ese modificador sea negativo).
+Feat/&FeatWhirlWindAttackDexTitle=Ataque torbellino [Dex]
+Feat/&FeatWhirlWindAttackStrDescription=Te conviertes en un maestro de la muerte giratoria y obtienes los siguientes beneficios:\n• Aumenta tu Fuerza en 1, hasta un máximo de 20.\n• Una vez durante tu turno, cuando realizas la acción de Ataque mientras empuñas una gran espada, una gran hacha o maul, puedes reemplazar un ataque para lanzar un ataque de torbellino. Whirlwind Attack realiza una tirada de ataque contra todas las criaturas enemigas a 5 pies de ti, pero no agrega tu modificador de atributo al daño infligido (a menos que ese modificador sea negativo).
+Feat/&FeatWhirlWindAttackStrTitle=Ataque torbellino [Str]
Feature/&AttackModifierFeatSpearMasteryDescription=Obtienes una bonificación de +1 a las tiradas de ataque que realizas con una lanza y su dado de daño cambia de d6 a d8, y de d8 a d10 cuando se empuña con las dos manos.
Feature/&AttackModifierFeatSpearMasteryTitle=Dominio de la lanza
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Mientras sostienes una espada larga, obtienes una bonificación de +1 a la clase de armadura.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Puedes apuntalar tu lanza para i
Feature/&PowerFeatSpearMasteryChargeTitle=Soporte de lanza
Feature/&PowerFeatSpearMasteryReachDescription=Puedes aumentar tu alcance con una lanza en 5 pies durante el resto de tu turno.
Feature/&PowerFeatSpearMasteryReachTitle=Alcance de la lanza
+Feature/&PowerGreatWeaponDefenseDescription=Puedes reemplazar cualquier ataque de acción principal para apuntar a una criatura a 5 pies de ti. Esa criatura tiene desventaja en todos los ataques contra ti hasta el inicio de tu siguiente turno, hasta que ya no estés adyacente a la criatura o si equipas otra arma o escudo.
+Feature/&PowerGreatWeaponDefenseTitle=Gran defensa de armas
+Feature/&PowerWhirlWindAttackDescription=Una vez durante tu turno, cuando realizas la acción de Ataque mientras empuñas una gran espada, un gran hacha o un mazo, puedes reemplazar un ataque para lanzar un Ataque de Torbellino. Whirlwind Attack realiza una tirada de ataque contra todas las criaturas enemigas a 5 pies de ti, pero no agrega tu modificador de atributo al daño infligido (a menos que ese modificador sea negativo).
+Feature/&PowerWhirlWindAttackTitle=Ataque torbellino
Feedback/&AdditionalDamageChargerFormat=¡Cargador!
Feedback/&AdditionalDamageChargerLine=¡{0} carga {1} e inflige {2} daño adicional!
Feedback/&AdditionalDamageCrusherFormat=¡Trituradora!
diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt
index b947cc7281..8acc1ce9c0 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Cegado por una nube apestosa
Condition/&ConditionBlindedExtendedDescription=La visión está ciega. Las tiradas de ataque contra la criatura tienen ventaja y las tiradas de ataque de la criatura tienen desventaja.
Condition/&ConditionLightlyObscuredDescription=La visión está ligeramente oscurecida. Desventaja en las tiradas de salvación de sabiduría (percepción).
Condition/&ConditionLightlyObscuredTitle=Ligeramente oscurecido
+Condition/&ConditionMonkSuperiorDefenseDescription=Tienes resistencia a todo daño excepto a la fuerza a menos que estés incapacitado.
+Condition/&ConditionMonkSuperiorDefenseTitle=Defensa superior
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Desarmado
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Retirado
Condition/&ConditionRogueDeviousStrikeDazedDescription=No puedes usar reacciones ni acciones adicionales, y puedes moverte o realizar otras acciones en tu turno, no ambas.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Si fallas una tirada de salvación, puedes volver a tirarla con una bonificación igual a tu nivel de Luchador. Si lo haces, deberás utilizar la nueva tirada y no podrás volver a utilizar esta función hasta que termines un descanso largo.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Hechizos ampliados
+Feature/&FeatureMonkBodyAndMindDescription=Has perfeccionado tu cuerpo y tu mente a nuevas alturas. Tu Destreza y Sabiduría aumentan en 4.
+Feature/&FeatureMonkBodyAndMindTitle=Cuerpo y mente
+Feature/&FeatureMonkHeightenedMetabolismDescription=Tu entrenamiento ha llevado tu cuerpo y tu mente a nuevos niveles. Tu Ráfaga de golpes, Defensa del paciente y Paso del viento obtienen los siguientes beneficios:\n• Ráfaga de golpes: cuando usas Ráfaga de golpes, realizas tres golpes desarmados con él en lugar de dos.\n• Defensa del paciente : Cuando usas Defensa del Paciente, obtienes una cantidad de puntos de vida temporales equivalentes a dos tiradas de tu dado de Artes Marciales.\n• Paso del Viento: cuando usas cualquiera de las funciones Paso del Viento (Desactivarse o Correr), También obtendrá los beneficios del otro efecto.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo acelerado
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puedes gastar 1 punto Ki para realizar dos ataques sin armas como acción adicional.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Ráfaga de golpes
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Cuando usas Ataque imprudente, una de tus tiradas de ataque basadas en Fuerza que realizas antes de que finalice tu turno inflige 1d10 de daño adicional al mismo tipo infligido por el arma o Golpe desarmado, y también puedes elegir uno de los siguientes efectos si golpea. :\n• Golpe contundente. El objetivo es empujado a 15 pies de distancia de usted.\n• Golpe en el tendón de la corva. La velocidad del objetivo se reduce en 15 pies hasta el comienzo de tu siguiente turno.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe desgarrador
Feature/&PowerBarbarianBrutalStrikeTitle=Golpe brutal
Feature/&PowerHelpDescription=Puedes ayudar a una criatura amiga a atacar a una criatura que se encuentre a 5 pies de ti. Fintas, distraes al objetivo o de alguna otra forma te unes para hacer que el ataque de tu aliado sea más efectivo. Si tu aliado ataca al objetivo antes de tu siguiente turno, la primera tirada de ataque se realiza con ventaja.
Feature/&PowerHelpTitle=Ayuda
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puedes gastar 1 punto Ki para realizar las acciones Desenganchar y Correr como acción adicional en tu turno, y tu distancia de salto se duplica durante ese turno.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Paso del viento
+Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gastar 3 puntos Ki para reforzarte perfectamente contra el daño durante 1 minuto o hasta que quedes incapacitado. Durante ese tiempo, tienes resistencia a todo el daño excepto al daño de la Fuerza.
+Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior
Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte brevemente de la vista. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o lleves, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu bonificación de competencia y recuperas todos los usos gastados cuando terminas un descanso prolongado.
Feature/&PowerRangerNatureShroudTitle=Velo de la naturaleza
Feature/&PowerRogueCunningStrikeDescription=Has desarrollado formas astutas de utilizar tu ataque furtivo. Cuando infliges daño de ataque furtivo, puedes renunciar a los dados de ataque furtivo para agregar en su lugar efectos de golpe astuto adicionales.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Tiene tipos de armas Blade Mastery en manos:
Rules/&SituationalContext9001Format=Tiene gran espada en manos:
Rules/&SituationalContext9002Format=Tiene Longsword en manos:
Rules/&SituationalContext9003Format=Tiene arma cuerpo a cuerpo en la mano principal con la mano libre:
+Rules/&SituationalContext9004Format=Tiene un arma pesada o versátil en la mano principal con la mano libre:
Rules/&SituationalContext9005Format=Tiene armas simples o marciales en la mano:
Rules/&SituationalContext9007Format=No hay mucha luz:
Rules/&SituationalContext9008Format=Está furioso y con doble empuñadura:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=Es {0}
Tooltip/&PreReqIsNot=¿No es {0}
Tooltip/&PreReqIsWithLevel=Es {0} nivel {1}
Tooltip/&PreReqLevelFormat=Nivel mínimo de personaje {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Debe tener ataques extra
Tooltip/&PreReqMustKnow=Debe saber {0}
Tooltip/&Tag9000Title=Efecto personalizado
Tooltip/&TagUnfinishedBusinessTitle=Negocios inconclusos
diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt
index 25dc90e693..dcaf213d18 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Permitir que se apresure el lanzamiento de hechizos con
ModUi/&AllowHornsOnAllRaces=Permitir bocinas en todas las razas [los resultados pueden verse terribles según la raza, la cabeza y la bocina]
ModUi/&AllowMoreRealStateOnRestPanel=Permitir más estado real en el panel de descanso [ocultar acciones después del descanso en el panel anterior y funciones de recuperación en el panel posterior]
ModUi/&AllowStackedMaterialComponent=Permitir el componente de material apilado [p. ej. 2 diamantes de 500 po equivalen a 1000 po de diamante]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Permitir la selección de objetivos al lanzar el hechizo Chain Lightning
ModUi/&AllowUnmarkedSorcerers=Permitir Hechicero sin marcas de origen ni tatuajes
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=La tecla ALT solo resalta los gadgets en el campo de visión del grupo [solo mazmorras personalizadas]
ModUi/&ArcaneShieldstaffOptions=Permitir que cualquier clase sintonice Arcane Shieldstaff
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Habilite los diálogos de registro en la cons
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Habilite el registro de referencias no válidas en campañas personalizadas
ModUi/&EnableMinInOutAttributes=+ Hacer cumplir los requisitos previos mínimos de entrada y salida de puntuaciones de capacidad
ModUi/&EnableMonkAbundantKi=Habilite Monje Abundante Ki en el nivel 2 [obtener Ki adicional equivale a la mitad del bono de competencia redondeado hacia arriba]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Habilita Monje Cuerpo y Mente para reemplazar Yo Perfecto en el nivel 20.
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Habilite Monje Artes marciales: ataques extra sin armas para que no requiera una acción de ataque antes de su uso.
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Habilite Monje Ráfaga de golpes para que no requiera una acción de ataque antes de su uso.
ModUi/&EnableMonkFightingStyle=Habilita la elección de Monje Estilo de lucha en el nivel 2.
+ModUi/&EnableMonkHeightenedMetabolism=Activa Monje Metabolismo intensificado en el nivel 10 [Ráfaga de golpes, Defensa del paciente. y El Paso del Viento obtienen beneficios adicionales]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Habilite Monje Movimiento sin armadura mejorado para moverse a lo largo de superficies verticales sin caerse.
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Habilite Monje Defensa superior para reemplazar Cuerpo vacío en el nivel 18.
ModUi/&EnableMonkWeaponSpecialization=Habilita Monje Especialización en armas en los niveles 2 y 11 [el tipo de arma seleccionada se convierte en un arma de monje para ti]
ModUi/&EnableMulticlass=Habilitar multiclase [Requiere reinicio]
+ModUi/&EnableOneDndHealingSpellsBuf=Habilite la mejora de dados de curación OneDnd en Curar heridas, Palabra de curación, Curar heridas en masa y Palabra de sanación masiva
ModUi/&EnablePcgRandom=Habilite un mejor algoritmo generador aleatorio [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Activa la función Ranger Velo de la Naturaleza en el nivel 10 [como acción adicional, puedes volverte invisible mágicamente hasta el comienzo del siguiente turno. ]
ModUi/&EnableRejoinParty=Habilite CTRL-SHIFT-(R) para volver a unirse al grupo alrededor del héroe seleccionado o del líder si no se selecciona ninguno [útil con grupos de 5 o 6 ]
diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt
index 99a86d9b5f..1333d6da45 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=La vaina de Booming Blade
Condition/&ConditionMindSpikeDescription=Resta 1d4 de la siguiente tirada de salvación.
Condition/&ConditionMindSpikeTitle=Astilla mental
Condition/&ConditionResonatingStrikeTitle=Resonancia
+Condition/&ConditionStarryWispDescription=No puedo beneficiarme de la condición Invisible.
+Condition/&ConditionStarryWispTitle=Brizna estrellada
Condition/&ConditionSunlightBladeDescription=En el nivel 5, los ataques desencadenados por este truco causan 1d8 de daño radiante adicional. El daño aumenta aún más en 1d8 en los niveles 11 y 17.
Condition/&ConditionSunlightBladeTitle=Quemadura de Sunlit Blade
Condition/&ConditionWrackDescription=No puedes realizar la acción de correr o desconectarte.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=Sacas la vitalidad de una criatura que puedes ve
Spell/&EnduringStingTitle=Picadura debilitante
Spell/&IlluminatingSphereDescription=Hace que se enciendan fuentes de luz como antorchas y lámparas de maná en el área de efecto.
Spell/&IlluminatingSphereTitle=Esfera iluminadora
+Spell/&InfestationDescription=Haces que aparezca momentáneamente una nube de ácaros, pulgas y otros parásitos en una criatura que puedes ver dentro del alcance. El objetivo debe superar una tirada de salvación de Constitución, o sufrirá 1d6 de daño por veneno y se moverá 5 pies en una dirección aleatoria.\nEl daño de este hechizo aumenta en 1d6 cuando alcanzas el nivel 5 (2d6), el nivel 11 (3d6) y Nivel 17 (4d6).
+Spell/&InfestationTitle=Infestación
+Spell/&LightningLureDescription=Creas un latigazo de energía de relámpago que golpea a una criatura de tu elección que puedes ver a 15 pies de ti. El objetivo debe superar una tirada de salvación de Fuerza o ser arrastrado hasta 10 pies en línea recta hacia ti y luego sufrir 1d8 de daño por rayo.\nEl daño de este hechizo aumenta en 1d8 cuando alcanzas el nivel 5 (2d8), el nivel 11 ( 3d8) y nivel 17 (4d8).
+Spell/&LightningLureTitle=Señuelo relámpago
Spell/&MindSpikeDescription=Introduces un pico desorientador de energía psíquica en la mente de una criatura que puedes ver dentro del alcance. El objetivo debe tener éxito en una tirada de salvación de Inteligencia o sufrir 1d6 de daño psíquico y restar 1d4 de la siguiente tirada de salvación que realice antes del final de su siguiente turno.
Spell/&MindSpikeTitle=Astilla mental
Spell/&MinorLifestealDescription=Drenas energía vital de una criatura enemiga cercana. Realiza un ataque con hechizo cuerpo a cuerpo contra una criatura a 5 pies de ti. Con un golpe, la criatura sufre 1d6 de daño necrótico y tú te curas la mitad del daño infligido (redondeado hacia abajo). Este hechizo no tiene efecto sobre los muertos vivientes ni sobre los constructos. El daño del hechizo aumenta en un dado adicional en los niveles 5, 11 y 17.
Spell/&MinorLifestealTitle=Robo de vida menor
+Spell/&PrimalSavageryDescription=Canalizas magia primaria para hacer que tus dientes o uñas se afilen, listos para lanzar un ataque corrosivo. Realiza un ataque con hechizo cuerpo a cuerpo contra una criatura a 5 pies de ti. Con un impacto, el objetivo sufre 1d10 de daño por ácido. \nEl daño de este hechizo aumenta en 1d6 cuando alcanzas el nivel 5 (2d6), el nivel 11 (3d6) y el nivel 17 (4d6).
+Spell/&PrimalSavageryTitle=Salvajismo primigenio
Spell/&ResonatingStrikeDescription=Selecciona una criatura dentro del alcance cuerpo a cuerpo tuyo y una criatura diferente que puedas ver a 5 pies del objetivo principal. Realizas un ataque cuerpo a cuerpo con el arma actual contra la primera criatura. Con un impacto, el objetivo sufre los efectos normales del ataque con arma y las llamas saltan al segundo objetivo, causando daño de fuego igual a tu modificador de habilidad de lanzamiento de hechizos.\nEn el nivel 5, el ataque cuerpo a cuerpo causa 1d8 de daño de fuego adicional al objetivo en un golpea, y el daño de fuego a la segunda criatura aumenta a 1d8 + tu modificador de habilidad de lanzamiento de hechizos. Ambas tiradas de daño aumentan en 1d8 en los niveles 11 y 17.
Spell/&ResonatingStrikeTitle=Hoja de llama verde
+Spell/&StarryWispDescription=Lanzas una mota de luz a una criatura u objeto dentro del alcance. Realiza un ataque con hechizo a distancia contra el objetivo. Con un golpe, el objetivo recibe 1d8 de daño Radiante y, hasta el final de tu siguiente turno, emite Luz Tenue en un radio de 10 pies y no puede beneficiarse de la condición Invisible.\nEl daño de este hechizo aumenta en 1d8 cuando alcanzas los niveles 5 (2d8), 11 (3d8) y 17 (4d8).
+Spell/&StarryWispTitle=Brizna estrellada
Spell/&SunlightBladeDescription=Realiza un ataque cuerpo a cuerpo con un arma. Con un golpe, el objetivo sufre los efectos normales del ataque y queda envuelto en una energía radiante y brillante, que arroja una luz tenue durante el turno. El siguiente ataque contra esta criatura mientras está resaltada se realiza con ventaja.\nEn el nivel 5, el ataque cuerpo a cuerpo inflige 1d8 de daño radiante adicional al objetivo. El daño aumenta en otros 1d8 en los niveles 11 y 17.
Spell/&SunlightBladeTitle=Hoja iluminada por el sol
Spell/&SwordStormDescription=Creas un círculo momentáneo de espadas espectrales que te rodean. Todas las demás criaturas a 5 pies de ti deben superar una tirada de salvación de Destreza o sufrir 1d6 de daño de fuerza.
diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt
index 04f2269243..328e249fa5 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=No puedes reaccionar hasta
Condition/&ConditionPsychicWhipNoReactionTitle=Látigo mental de Tasha
Feature/&AttackModifierShadowBlade0Description=Ataque mágico.
Feature/&AttackModifierShadowBladeNDescription=Ataque mágico que inflige {0}d8 daño psíquico adicional.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Puedes moverte por el espacio de cualquier criatura
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Excursión cinética
Feedback/&MirrorImageAttackerHasSense={0} tiene {1} e ignora {2}
Feedback/&MirrorImageAttackerIsBlind={0} es {1} e ignora {2}
Feedback/&MirrorImageRetargetResult={0} se dirigirá a {1}
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=Tienes {0}/{1} puntos de vida.
Reaction/&CustomReactionWitherAndBloomReactDescription=Recupera puntos de vida.
Reaction/&CustomReactionWitherAndBloomReactTitle=Marchitarse y florecer
Reaction/&CustomReactionWitherAndBloomTitle=Marchitarse y florecer
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Elija una habilidad en la que no tenga competencia. Durante 1 hora, dominas la habilidad elegida.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Tener competencia en la habilidad elegida.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Conocimiento prestado
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Conocimiento prestado
Spell/&AganazzarScorcherDescription=Una línea de llamas rugientes de 30 pies de largo y 5 pies de ancho emana de ti en la dirección que elijas. Cada criatura en la línea debe realizar una tirada de salvación de Destreza. Una criatura sufre 3d10 daños por fuego si falla una salvación, o la mitad de daño si tiene éxito. Cuando lanzas este hechizo usando un espacio de hechizo de 3er nivel o superior, el daño aumenta en 1d10 por cada nivel de espacio por encima del 2do.
Spell/&AganazzarScorcherTitle=Abrasador de Aganazar
Spell/&BindingIceDescription=Una explosión de energía fría emana de ti en un cono de 30 pies. Cada criatura en esa área debe realizar una tirada de salvación de Constitución. Si falla la salvación, la criatura sufre 3d8 de daño por frío y se ve obstaculizada por formaciones de hielo durante 1 minuto, o hasta que utilice una acción para romper el hielo. Una criatura obstaculizada por el hielo ve su velocidad reducida a 0. Con una salvación exitosa, una criatura sufre la mitad de daño y no se ve obstaculizada por el hielo.
Spell/&BindingIceTitle=Hielo vinculante de Rime
+Spell/&BorrowedKnowledgeDescription=Aprovechas el conocimiento de los espíritus del pasado. Elija una habilidad en la que no tenga competencia. Durante 1 hora, dominas la habilidad elegida. El hechizo termina antes si lo vuelves a lanzar.
+Spell/&BorrowedKnowledgeTitle=Conocimiento prestado
Spell/&CloudOfDaggersDescription=Llenas el aire con dagas giratorias en un cubo de 5 pies de cada lado, centrado en un punto que elijas dentro del alcance. Una criatura sufre 4d4 de daño cortante cuando entra en el área del hechizo por primera vez en un turno o comienza su turno allí. Cuando lanzas este hechizo usando un espacio de hechizo de 3er nivel o superior, el daño aumenta en 2d4 por cada nivel de espacio por encima del 2do.
Spell/&CloudOfDaggersTitle=Nube de dagas
Spell/&ColorBurstDescription=Explota un cubo luminoso que ciega brevemente a cualquiera en un radio de 10 pies. 8d10 es la cantidad de puntos de vida de las criaturas que este hechizo puede afectar.
Spell/&ColorBurstTitle=Ráfaga de color
+Spell/&KineticJauntDescription=Mágicamente potencias tu movimiento con pasos de baile, lo que te brinda los siguientes beneficios mientras duran:\n• Tu velocidad al caminar aumenta en 10 pies.\n• No provocas ataques de oportunidad.\n• Puedes moverte a través del espacio de cualquier criatura.
+Spell/&KineticJauntTitle=Excursión cinética
Spell/&MirrorImageDescription=Tres duplicados ilusorios de ti aparecen en tu espacio. Hasta que finalice el hechizo, cada vez que una criatura te apunte con un ataque, tira un d20 para determinar si el ataque apunta a uno de tus duplicados.\nSi tienes 3 duplicados, debes tirar un 6 o más para cambiar el valor del ataque. objetivo a un duplicado. Con 2 duplicados, debes sacar un 8 o más. Con 1 duplicado, debes obtener un resultado de 11 o más.\nLa clase de armadura de un duplicado es igual a 10 + tu modificador de Destreza. Si un ataque alcanza a un duplicado, el duplicado es destruido. Un duplicado sólo puede ser destruido mediante un ataque que lo golpee. Ignora todos los demás daños y efectos. El hechizo termina cuando se destruyen los tres duplicados.\nUna criatura no se ve afectada por este hechizo si está cegada, o tiene Blindsight, Truesight o Tremorsense (no se aplica si no tocas el suelo).
Spell/&MirrorImageTitle=Imagen de espejo
Spell/&NoxiousSprayDescription=Liberas un chorro de gases nocivos sobre un objetivo dentro del alcance. Realiza un ataque con hechizo a distancia. Con un impacto, el objetivo sufre 4d6 daños por veneno y debe superar una tirada de salvación de Constitución o pasar todo el siguiente turno vomitando y jadeando, incapaz de moverse o realizar acciones. Los constructos, elementales y no-muertos no se ven afectados por este hechizo. Cuando lanzas este hechizo usando un espacio de nivel 3 o superior, puedes apuntar a una criatura adicional por cada nivel de espacio por encima del 2.
diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt
index 5487993900..7a288566ef 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Debes estar empuñando un arma a distancia. Cuando
Spell/&FlameArrowsTitle=Flechas de llamas
Spell/&HungerOfTheVoidDescription=Abres una puerta a la oscuridad entre las estrellas, una región infestada de horrores desconocidos. Aparece una esfera de oscuridad y frío intenso de 20 pies de radio, centrada en un punto con alcance y que dura todo el tiempo. El área apaga la luz y las criaturas que se encuentran dentro de ella quedan cegadas. Cualquier criatura que comience su turno en el área sufre 2d6 de daño por frío. Cualquier criatura que termine su turno en el área debe superar una tirada de salvación de Destreza o sufrir 2d6 de daño por ácido mientras tentáculos lechosos y de otro mundo la frotan.
Spell/&HungerOfTheVoidTitle=Hambre de Hadar
+Spell/&IntellectFortressDescription=Mientras dure, tú o una criatura voluntaria que puedas ver dentro del alcance tienes resistencia al daño psíquico, así como ventaja en las tiradas de salvación de Inteligencia, Sabiduría y Carisma. Cuando lanzas este hechizo usando un espacio de hechizo de nivel 4 o superior, puedes apuntar a una criatura adicional dentro del alcance por cada nivel de espacio por encima del 3.
+Spell/&IntellectFortressTitle=Fortaleza del intelecto
Spell/&LightningArrowDescription=La próxima vez que realices un ataque con arma a distancia durante la duración del hechizo, la munición del arma, o el arma misma si es un arma arrojadiza, se transforma en un rayo. Haz la tirada de ataque normalmente. El objetivo sufre 3d8 daños por rayo con un impacto, o la mitad de daño con un fallo. Ya sea que aciertes o falles, cada criatura a 10 pies del objetivo debe realizar una tirada de salvación de Destreza. Cada una de estas criaturas sufre 2d8 daños por rayo si falla la salvación, o la mitad de daño si tiene éxito. Cuando lanzas este hechizo usando un espacio de hechizo de 4º nivel o superior, el daño por ambos efectos del hechizo aumenta en 1d8 por cada nivel de espacio por encima del 3º.
Spell/&LightningArrowTitle=Flecha relámpago
+Spell/&PsionicBlastDescription=Desatas una ola destructiva de poder mental en un cono de 30 pies. Cada criatura en el área debe realizar una tirada de salvación de Destreza. En una salvación fallida, un objetivo sufre 5d8 de daño de fuerza, es empujado a 20 pies directamente de ti y queda derribado. Con una salvación exitosa, el objetivo recibe la mitad de daño y no es empujado ni derribado. Cuando lanzas este hechizo usando un espacio de hechizo de 4º nivel o superior, el daño aumenta en 1d8 por cada nivel de espacio por encima del 3º.
+Spell/&PsionicBlastTitle=Explosión psiónica
Spell/&PulseWaveDescription=Lanza a los enemigos con una intensa presión gravitacional.
Spell/&PulseWaveTitle=Onda de pulso
Spell/&SpiritShroudDamageColdDescription=Inflige daño adicional por frío.
diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt
index cd5b95432a..37b8ae26c6 100644
--- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Asumes la forma de una criatura diferente mientras
Spell/&ShapechangeTitle=Cambio de forma
Spell/&TimeStopDescription=Detienes brevemente el flujo del tiempo para todos menos para ti. Para otras criaturas no pasa el tiempo, mientras tú tomas 1d4 + 1 turnos seguidos, durante los cuales puedes usar acciones y moverte con normalidad.
Spell/&TimeStopTitle=Parada del tiempo
-Spell/&WeirdDescription=Basándote en los miedos más profundos de un grupo de criaturas, creas criaturas ilusorias en sus mentes, visibles sólo para ellos. Cada criatura en una esfera de 30 pies de radio centrada en un punto de tu elección dentro del alcance debe realizar una tirada de salvación de Sabiduría. Si falla la salvación, la criatura queda asustada mientras dure. La ilusión invoca los miedos más profundos de la criatura, manifestando sus peores pesadillas como una amenaza implacable. Al final de cada uno de los turnos de la criatura asustada, debe superar una tirada de salvación de Sabiduría o sufrir 4d10 de daño psíquico. Con una salvación exitosa, el hechizo termina para esa criatura.
+Spell/&WeirdDescription=Basándote en los miedos más profundos de un grupo de criaturas, creas criaturas ilusorias en sus mentes, visibles sólo para ellos. Cada enemigo en una esfera de 30 pies de radio centrada en un punto de tu elección dentro del alcance debe realizar una tirada de salvación de Sabiduría. Si falla la salvación, la criatura queda asustada mientras dure. La ilusión invoca los miedos más profundos de la criatura, manifestando sus peores pesadillas como una amenaza implacable. Al final de cada uno de los turnos de la criatura asustada, debe superar una tirada de salvación de Sabiduría o sufrir 4d10 de daño psíquico. Con una salvación exitosa, el hechizo termina para esa criatura.
Spell/&WeirdTitle=Extraño
diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/InnovationVivisectionist-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/InnovationVivisectionist-es.txt
index a9855679ee..0040af5991 100644
--- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/InnovationVivisectionist-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/InnovationVivisectionist-es.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Una
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Precisión médica
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Aprende y siempre prepárate:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Hechizos viviseccionistas
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Al lanzar un hechizo de curación, tu tirada mínima de dados de curación es 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Siempre que curas a otra criatura, tratas todas las tiradas de 1 como 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=Debido a la Cirugía Estable, {0} fuerza al dado {1} a 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Cirugía estable
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Puedes realizar una acción adicional para usar Restauración menor o Eliminar maldición en un aliado dentro de 5 pies. Puedes hacer esto un número de veces igual a tu bonificación de competencia. Todos los usos se recargan después de un largo descanso.
diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronArchfey-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronArchfey-es.txt
new file mode 100644
index 0000000000..be9fe07a30
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronArchfey-es.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Eres inmune a ser hechizado, y cuando otra criatura intenta hechizarte, puedes usar tu reacción para intentar devolverle el hechizo a esa criatura. La criatura debe tener éxito en una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo o ser hechizada por ti durante 1 minuto o hasta que la criatura reciba algún daño.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Defensas seductoras
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Como acción, elige una criatura que puedas ver a 60 pies de ti. Debe realizar una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Si falla la salvación, quedará encantado durante 1 minuto. Este efecto termina antes de tiempo si la criatura sufre algún daño. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Delirio Oscuro: Encantado
+Feature/&PowerArchfeyDarkDeliriumDescription=Como acción, elige una criatura que puedas ver a 60 pies de ti. Debe realizar una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Si falla la salvación, quedará encantado o asustado por ti (tú eliges) durante 1 minuto. Este efecto termina antes de tiempo si la criatura sufre algún daño. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Como acción, elige una criatura que puedas ver a 60 pies de ti. Debe realizar una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Si falla la partida, lo asustarás durante 1 minuto. Este efecto termina antes de tiempo si la criatura sufre algún daño. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Delirio oscuro: asustado
+Feature/&PowerArchfeyDarkDeliriumTitle=Delirio oscuro
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Como acción, puedes hacer que cada criatura en un cono de 15 pies haga una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Las criaturas que fallan sus tiradas de salvación quedan encantadas hasta el final de tu siguiente turno. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Presencia Fey: Encantada
+Feature/&PowerArchfeyFeyPresenceDescription=Como acción, puedes hacer que cada criatura en un cono de 15 pies haga una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Las criaturas que fallan sus tiradas de salvación quedan encantadas o asustadas por ti (tú eliges) hasta el final de tu siguiente turno. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Como acción, puedes hacer que cada criatura en un cono de 15 pies haga una tirada de salvación de Sabiduría contra la CD de salvación de tu hechizo de brujo. Las criaturas que fallan sus tiradas de salvación quedarán asustadas por ti hasta el final de tu siguiente turno. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Presencia Fey: Asustado
+Feature/&PowerArchfeyFeyPresenceTitle=Presencia feérica
+Feature/&PowerArchfeyMistyEscapeDescription=Cuando te golpean, puedes usar tu reacción para volverte invisible y teletransportarte hasta 60 pies a un espacio desocupado que puedas ver. Permaneces invisible hasta el comienzo de tu siguiente turno o hasta que atacas o lanzas un hechizo. Una vez que uses esta función, no podrás volver a usarla hasta que termines un descanso corto o largo.
+Feature/&PowerArchfeyMistyEscapeTitle=Escape brumoso
+Reaction/&CustomReactionMistyEscapeDescription=Fuiste golpeado. Puedes usar tu reacción para volverte invisible y teletransportarte hasta 60 pies a un espacio desocupado que puedas ver.
+Reaction/&CustomReactionMistyEscapeReactDescription=Vuélvete invisible y teletransportate hasta 60 pies.
+Reaction/&CustomReactionMistyEscapeReactTitle=Escape brumoso
+Reaction/&CustomReactionMistyEscapeTitle=Escape brumoso
+Reaction/&UseBeguilingDefensesDescription=Un enemigo intentó encantarte. Puedes usar tu reacción para intentar revertir el hechizo.
+Reaction/&UseBeguilingDefensesReactDescription=Devuelve el amuleto.
+Reaction/&UseBeguilingDefensesReactTitle=Defensas seductoras
+Reaction/&UseBeguilingDefensesTitle=Defensas seductoras
+Subclass/&PatronArchfeyDescription=Tu patrón es un señor o una dama de las hadas, una criatura legendaria que guarda secretos que fueron olvidados antes de que nacieran las razas mortales. Las motivaciones de este ser son a menudo inescrutables y, a veces, caprichosas, y pueden implicar la lucha por un mayor poder mágico o la resolución de viejos rencores.
+Subclass/&PatronArchfeyTitle=El Archifey
diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/WayOfTheStormSoul-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/WayOfTheStormSoul-es.txt
new file mode 100644
index 0000000000..a75c9ce259
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/WayOfTheStormSoul-es.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Esta marca puede explotar en cualquier momento y causar daño por trueno 5D10.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Marca de tormenta
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Siempre que uses tu Ráfaga de golpes, también obtendrás los beneficios de la acción de desenganche. Los ataques adicionales que proporciona infligen un daño de rayo adicional equivalente a tu dado de artes marciales.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Discípulo de las tormentas
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Cada vez que dañas a una criatura con un arma de monje, un ataque desarmado o un truco de Lightning Lure, marcas a esa criatura con energías conductoras persistentes durante 1 minuto. Puedes usar tu acción y gastar 3 ki para consumir la marca de cada criatura y forzarles una tirada de salvación de Destreza (CD = 8 + bonificación de competencia + modificador de Sabiduría). En una tirada de salvación fallida, cada criatura recibe 5d10 de daño por rayo (excepto la mitad).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Ojo de la tormenta
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Obtienes resistencia al daño del rayo y puedes reemplazar cualquiera de tus ataques de acción principales para lanzar el truco Lightning Lure sin ningún componente usando tu Sabiduría como modificador de lanzamiento de hechizos.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Guerrero relámpago
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Puedes reemplazar cualquiera de tus ataques de acción principales para lanzar el truco Lightning Lure sin ningún componente usando tu Sabiduría como modificador de lanzamiento de hechizos.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Señuelo relámpago
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Puedes gastar 1 ki para reemplazar uno de los ataques adicionales proporcionados por Flurry of Blows para atacar con él a todas las criaturas enemigas a 5 pies de ti.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Furia de la tempestad
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=¡Discípulo de las tormentas!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} cae sobre {1} con un rayo (+{2})
+Subclass/&WayOfTheStormSoulDescription=Los monjes del Camino del Alma de la Tormenta viven en las cimas más altas de Solasta, sintonizándose con las energías de poderosas tormentas y aprendiendo a canalizar el poder del rayo en su ser. Estos artistas marciales utilizan sus disciplinas únicas para convertirse en una tempestad desenfrenada, maniobrando sin esfuerzo en el campo de batalla, corriendo de un enemigo a otro y desatando innumerables rayos sobre ellos.
+Subclass/&WayOfTheStormSoulTitle=Camino del alma de tormenta
diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/WizardWarMagic-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/WizardWarMagic-es.txt
index 7e8d076a0c..8d3ad2b7b3 100644
--- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/WizardWarMagic-es.txt
+++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/WizardWarMagic-es.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=La magia que canalizas ayuda a p
Feature/&FeatureWarMagicDurableMagicTitle=Magia duradera
Feature/&PowerWarMagicDeflectionShroudDescription=Tu Desvío Arcano se infunde con magia mortal. Cuando usas tu función de Desvío Arcano, puedes hacer que energía mágica salga de ti. Hasta tres criaturas más cercanas a 60 pies de ti reciben cada una un daño de fuerza equivalente a la mitad de tu nivel de mago.
Feature/&PowerWarMagicDeflectionShroudTitle=Cubierta de desviación
-Feature/&PowerWarMagicSurgeDescription=Tienes una cantidad de sobretensiones igual a tu modificador de Inteligencia (mínimo uno). Cada vez que finalizas con éxito un hechizo con Contrahechizo, obtienes un aumento de energía. Una vez por turno, cuando infliges daño a una criatura u objeto con un hechizo de mago, puedes gastar un aumento de poder para infligir daño de fuerza adicional en una tirada de daño de ese hechizo. El daño adicional equivale a tu nivel de mago.
+Feature/&PowerWarMagicSurgeDescription=Tienes una cantidad de sobretensiones igual a tu modificador de Inteligencia (mínimo de uno) por cada descanso prolongado. Cada vez que finalizas con éxito un hechizo con Contrahechizo, recuperas un aumento de energía. Una vez por turno, cuando infliges daño a una criatura u objeto con un hechizo de mago, puedes gastar un aumento de poder para infligir daño de fuerza adicional en una tirada de daño de ese hechizo. El daño adicional equivale a tu nivel de mago.
Feature/&PowerWarMagicSurgeTitle=Sobrecarga de energía
Feedback/&ArcaneDeflectionAttackRoll={0} usa {1} para restar el modificador de Inteligencia ({2}) de la tirada de ataque ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} usa {1} para agregar el modificador de Inteligencia ({2}) a la tirada de ahorro ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Backgrounds-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Backgrounds-fr.txt
index 4fdc27c5d7..870402e841 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Backgrounds-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Backgrounds-fr.txt
@@ -1,4 +1,4 @@
-Background/&BackgroundDevotedDescription=Après des années d’errance sans but et de recherches infructueuses, vous avez trouvé votre cause. Qu'il s'agisse d'une divinité ou d'une religion, d'une campagne politique, d'un mouvement philosophique ou simplement de la promotion des bières et de l'hydromel de Maître Tuckin, vous avez vu la lumière et vous êtes de tout cœur dévoué à faire avancer la cause que vous avez choisie.
+Background/&BackgroundDevotedDescription=Après des années d'errance sans but et de recherches infructueuses, vous avez trouvé votre cause. Qu'il s'agisse d'une divinité ou d'une religion, d'une campagne politique, d'un mouvement philosophique ou simplement de la promotion des bières et de l'hydromel de Maître Tuckin, vous avez vu la lumière et vous êtes de tout cœur dévoué à faire avancer la cause que vous avez choisie.
Background/&BackgroundDevotedTitle=Dévoué
Background/&BackgroundFarmerDescription=Vous avez travaillé la terre et élevé du bétail à la main depuis la naissance pour nourrir la bouche de nombreuses personnes. En tant qu'agriculteur, vous vous réveilliez avant le soleil et revenez du travail des champs après son coucher. Vous avez quitté une vie banale pour rechercher l'aventure, le frisson, la gloire ou la fortune.
Background/&BackgroundFarmerTitle=Fermier
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Feats/Group-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Feats/Group-fr.txt
index 6f2be5199a..2155fa915d 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Feats/Group-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Feats/Group-fr.txt
@@ -38,7 +38,7 @@ Feat/&FeatGroupDragonHideDescription=Vous manifestez des écailles et des griffe
Feat/&FeatGroupDragonHideTitle=Peau de dragon
Feat/&FeatGroupElementalAdeptDescription=Lorsque vous obtenez ce don, choisissez l'un des types de dégâts suivants : acide, froid, feu, foudre ou tonnerre. Les sorts que vous lancez ignorent la résistance aux dégâts du type choisi. De plus, lorsque vous lancez des dégâts pour un sort que vous lancez et qui inflige des dégâts à ce type, vous pouvez relancer n'importe quel 1.
Feat/&FeatGroupElementalAdeptTitle=Adepte élémentaire
-Feat/&FeatGroupElementalMasterDescription=Lorsque vous obtenez ce don, choisissez l'un des types de dégâts suivants : acide, froid, feu, foudre ou tonnerre. Les sorts que vous lancez ignorent l’immunité aux dégâts du type choisi. De plus, lorsque vous lancez un jet d'attaque pour un sort que vous lancez et qui inflige des dégâts à ce type, vous pouvez relancer n'importe quel 1.
+Feat/&FeatGroupElementalMasterDescription=Lorsque vous obtenez ce don, choisissez l'un des types de dégâts suivants : acide, froid, feu, foudre ou tonnerre. Les sorts que vous lancez ignorent l'immunité aux dégâts du type choisi. De plus, lorsque vous lancez un jet d'attaque pour un sort que vous lancez et qui inflige des dégâts à ce type, vous pouvez relancer n'importe quel 1.
Feat/&FeatGroupElementalMasterTitle=Maître élémentaire
Feat/&FeatGroupElementalTouchDescription=La première fois à chaque tour où vous infligez des dégâts avec une attaque ou une arme à mains nues, vous infligez des dégâts élémentaires supplémentaires égaux à votre bonus de maîtrise.
Feat/&FeatGroupElementalTouchTitle=Toucher élémentaire
@@ -106,7 +106,7 @@ Feat/&FeatGroupRangedCombatDescription={0}
Feat/&FeatGroupRangedCombatTitle=Combat : à distance
Feat/&FeatGroupRetinueTouchedDescription=Augmentez l'un de vos attributs mentaux de 1, jusqu'à un maximum de 20.\nVous gagnez la capacité de lancer les sorts de bénédiction, d'héroïsme et d'amélioration de capacité une fois par repos long, et vous pouvez lancer ces sorts avec vos emplacements de sorts.
Feat/&FeatGroupRetinueTouchedTitle=Suite touchée
-Feat/&FeatGroupRevenantGreatSwordDescription=Vous descendez d’un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre dextérité ou votre force de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• La grande épée a la propriété de finesse lorsque vous la maniez.
+Feat/&FeatGroupRevenantGreatSwordDescription=Vous descendez d'un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre dextérité ou votre force de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• La grande épée a la propriété de finesse lorsque vous la maniez.
Feat/&FeatGroupRevenantGreatSwordTitle=Lame revenante
Feat/&FeatGroupShadowTouchedDescription=Augmentez l'un de vos attributs mentaux de 1, jusqu'à un maximum de 20.\nVous gagnez la capacité de lancer l'invisibilité, d'infliger des blessures et de faux sorts de vie une fois par repos long, et vous pouvez lancer ces sorts avec vos emplacements de sorts.
Feat/&FeatGroupShadowTouchedTitle=Ombre touchée
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Augmentez l'un de vos attributs mentaux
Feat/&FeatGroupVerdantTouchedTitle=Verdoyant touché
Feat/&FeatGroupWeaponMasterDescription=Vous vous êtes beaucoup entraîné avec une variété d'armes, bénéficiant des avantages suivants :\n• Augmentez votre score de force ou de dextérité de 1, jusqu'à un maximum de 20.\n• Vous maîtrisez quatre armes de votre choix. Chacun doit être une arme simple ou martiale.
Feat/&FeatGroupWeaponMasterTitle=Maître d'armes
+Feat/&FeatGroupWhirlWindAttackDescription=Vous devenez un maître de la mort tourbillonnante et bénéficiez des avantages suivants :\n• Augmentez votre force ou votre dextérité de 1, jusqu'à un maximum de 20.\n• Une fois pendant votre tour lorsque vous effectuez l'action d'attaque tout en brandissant une épée à grande épée, grande hache ou maul, vous pouvez remplacer une attaque pour lancer à la place une attaque tourbillon. Whirlwind Attack effectue un jet d'attaque contre toutes les créatures ennemies à moins de 1,50 mètre de vous, mais n'ajoute pas votre modificateur d'attribut aux dégâts infligés (sauf si ce modificateur est négatif).
+Feat/&FeatGroupWhirlWindAttackTitle=Attaque tourbillonnante
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Feats/MeleeCombat-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Feats/MeleeCombat-fr.txt
index baa2a7cd10..09a8d71288 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Feats/MeleeCombat-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Feats/MeleeCombat-fr.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Laissez-les venir!
Condition/&ConditionFeatCleavingAttackFinishTitle=Grand maître d'armes
Condition/&ConditionFeatCrusherCriticalHitDescription=Vous avez été écrasé par un coup critique et les attaques contre vous ont un avantage.
Condition/&ConditionFeatCrusherCriticalHitTitle=Écrasé
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Vous effectuez tous les jets d'attaque avec un désavantage contre la source tant que vous êtes à moins de 1,50 mètre de celle-ci.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Défense ciblée
Condition/&ConditionFeatPiercerNonMagicDescription=Lorsque vous touchez une créature avec une attaque qui inflige des dégâts perçants, vous pouvez relancer les dés lorsque vous obtenez un 1, et vous devez utiliser le nouveau jet.
Condition/&ConditionFeatPiercerNonMagicTitle=Perceur
Condition/&ConditionFeatSlasherCriticalHitDescription=Vous avez été frappé par un coup critique et vos attaques sont désavantagées.
@@ -12,9 +14,9 @@ Condition/&ConditionFeatSpearMasteryChargeDescription=Vous pouvez utiliser la r
Condition/&ConditionFeatSpearMasteryChargeTitle=Lance prête
Feat/&FeatAlwaysReadyDescription=Vous préparez automatiquement une attaque au corps à corps ou à mains nues à la fin de votre tour si vous avez effectué l'action d'attaque et avez manqué une attaque au corps à corps ou à mains nues.
Feat/&FeatAlwaysReadyTitle=Toujours prêt
-Feat/&FeatBladeMasteryDescription=Vous maîtrisez le poignard, l'épée courte, l'épée longue, le cimeterre, la rapière et l'épée longue. Vous gagnez un bonus de +1 aux jets d'attaque que vous effectuez avec l'arme, et un bonus de +1 à votre CA lorsque vous maniez l'une d'entre elles. Lorsque vous effectuez une attaque d’opportunité avec l’arme, vous avez l’avantage au jet d’attaque.
+Feat/&FeatBladeMasteryDescription=Vous maîtrisez le poignard, l'épée courte, l'épée longue, le cimeterre, la rapière et l'épée longue. Vous gagnez un bonus de +1 aux jets d'attaque que vous effectuez avec l'arme, et un bonus de +1 à votre CA lorsque vous maniez l'une d'entre elles. Lorsque vous effectuez une attaque d'opportunité avec l'arme, vous avez l'avantage au jet d'attaque.
Feat/&FeatBladeMasteryTitle=Maîtrise de la lame
-Feat/&FeatChargerDescription=Vous vous êtes entraîné à charger tête baissée dans la bataille, bénéficiant des avantages suivants :\n• Chaque fois que vous effectuez une action Dash, vous pouvez utiliser votre action bonus pour effectuer une attaque au corps à corps.\n• Si vous vous déplacez d'au moins 10 pieds en ligne droite. immédiatement avant de frapper avec une arme de mêlée ou une attaque à mains nues à votre tour, choisissez l'un des effets suivants : gagnez un bonus de +1d8 au jet de dégâts de l'attaque, ou poussez la cible jusqu'à 10 pieds, à condition que la cible que vous souhaitez pousser soit de grande taille ou plus petite. Vous ne pouvez utiliser cet avantage qu’une seule fois à chacun de vos tours.
+Feat/&FeatChargerDescription=Vous vous êtes entraîné à charger tête baissée dans la bataille, bénéficiant des avantages suivants :\n• Chaque fois que vous effectuez une action Dash, vous pouvez utiliser votre action bonus pour effectuer une attaque au corps à corps.\n• Si vous vous déplacez d'au moins 10 pieds en ligne droite. immédiatement avant de frapper avec une arme de mêlée ou une attaque à mains nues à votre tour, choisissez l'un des effets suivants : gagnez un bonus de +1d8 au jet de dégâts de l'attaque, ou poussez la cible jusqu'à 10 pieds, à condition que la cible que vous souhaitez pousser soit de grande taille ou plus petite. Vous ne pouvez utiliser cet avantage qu'une seule fois à chacun de vos tours.
Feat/&FeatChargerTitle=Chargeur
Feat/&FeatCleavingAttackDescription=Vous avez appris à mettre le poids d'une arme à votre avantage, en laissant son élan renforcer vos frappes :\n• À votre tour, lorsque vous infligez un coup critique avec une arme de mêlée ou réduisez une créature à 0 point de vie avec une , vous pouvez effectuer une attaque au corps à corps avec une arme lourde comme une action bonus.\n• Avant d'effectuer une attaque au corps à corps avec une arme lourde que vous maîtrisez, vous pouvez choisir de subir un malus de -5 à votre jet d'attaque afin de faire +10 dégâts supplémentaires.
Feat/&FeatCleavingAttackTitle=Grand maître d'armes
@@ -28,9 +30,11 @@ Feat/&FeatFellHandedDescription=Vous maîtrisez la hache, la hache de combat, la
Feat/&FeatFellHandedTitle=Tombé remis
Feat/&FeatFencerDescription=Si vous effectuez l'action Attaque à votre tour tout en tenant une arme de mêlée à une main ou polyvalente et aucune autre arme ou bouclier, vous pouvez utiliser une action bonus pour attaquer avec l'arme que vous tenez, en ajoutant votre modificateur d'attribut aux dégâts infligés.
Feat/&FeatFencerTitle=Escrimeur
+Feat/&FeatGreatWeaponDefenseDescription=Vous utilisez habilement la taille de votre arme pour vous concentrer sur la parade des coups reçus. Lorsque vous utilisez une arme de mêlée lourde ou polyvalente et aucune autre arme ou bouclier, vous bénéficiez des avantages suivants :\n• Augmentez votre classe d'armure de 1 lorsque vous utilisez l'arme. \n• Vous pouvez remplacer n'importe quelle attaque d'action principale pour cibler une créature à moins de 1,50 mètre de vous. Cette créature a un désavantage sur toutes les attaques contre vous jusqu'au début de votre prochain tour, jusqu'à ce que vous ne soyez plus adjacent à la créature ou si vous équipez une autre arme ou un autre bouclier.
+Feat/&FeatGreatWeaponDefenseTitle=Grande défense d'arme
Feat/&FeatHammerThePointDescription=Vous savez vous concentrer et vous concentrer au même endroit. Après avoir effectué un jet d'attaque contre une cible, obtenez un +1 aux jets d'attaque et de dégâts contre cette cible jusqu'à la fin de votre tour [piles].
Feat/&FeatHammerThePointTitle=Marteler le point
-Feat/&FeatLongswordFinesseDescription=Vous descendez d’un maître de l’épée longue, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre Dextérité de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une épée longue, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• L'épée longue a le propriété de finesse lorsque vous l’utilisez.
+Feat/&FeatLongswordFinesseDescription=Vous descendez d'un maître de l'épée longue, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre Dextérité de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une épée longue, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• L'épée longue a le propriété de finesse lorsque vous l'utilisez.
Feat/&FeatLongswordFinesseTitle=Finesse de l'épée longue
Feat/&FeatOldTacticsDexDescription=Augmentez votre Dextérité de 1. Une fois par round, lorsqu'un ennemi à terre à portée de votre arme de mêlée se relève, vous pouvez effectuer une attaque d'opportunité contre la cible.
Feat/&FeatOldTacticsDexTitle=Anciennes tactiques [Dex]
@@ -52,9 +56,13 @@ Feat/&FeatSlasherStrDescription=Vous avez appris où couper pour obtenir les mei
Feat/&FeatSlasherStrTitle=Trancheur [Str]
Feat/&FeatSpearMasteryDescription=Bien que la lance soit une arme simple à apprendre, elle vous récompense pour le temps que vous avez mis à la maîtriser :\n• Vous bénéficiez d'un bonus de +1 aux jets d'attaque que vous effectuez avec une lance et son dé de dégâts passe de d6 à un d8, et d'un d8 à un d10 lorsqu'il est utilisé à deux mains.\n• En guise d'action bonus, vous pouvez préparer votre lance pour intercepter les ennemis qui s'approchent. Vous pouvez utiliser la réaction pour effectuer une attaque d'opportunité avec une lance sur un ennemi qui entre dans votre portée et infliger un dé de dégâts supplémentaire si cette attaque touche.\n• En tant qu'action bonus, vous pouvez augmenter votre portée avec une lance de 1,50 m pendant le reste de votre tour.
Feat/&FeatSpearMasteryTitle=Maîtrise de la lance
+Feat/&FeatWhirlWindAttackDexDescription=Vous devenez un maître de la mort tourbillonnante et bénéficiez des avantages suivants :\n• Augmentez votre Dextérité de 1, jusqu'à un maximum de 20.\n• Une fois pendant votre tour lorsque vous effectuez l'action d'Attaque en brandissant une grande épée, une grande hache ou maul, vous pouvez remplacer une attaque pour lancer à la place une attaque tourbillon. Whirlwind Attack effectue un jet d'attaque contre toutes les créatures ennemies à moins de 1,50 mètre de vous, mais n'ajoute pas votre modificateur d'attribut aux dégâts infligés (sauf si ce modificateur est négatif).
+Feat/&FeatWhirlWindAttackDexTitle=Attaque tourbillonnante [Dex]
+Feat/&FeatWhirlWindAttackStrDescription=Vous devenez un maître de la mort tourbillonnante et bénéficiez des avantages suivants :\n• Augmentez votre Force de 1, jusqu'à un maximum de 20.\n• Une fois pendant votre tour lorsque vous effectuez l'action d'Attaque en brandissant une grande épée, une grande hache ou maul, vous pouvez remplacer une attaque pour lancer à la place une attaque tourbillon. Whirlwind Attack effectue un jet d'attaque contre toutes les créatures ennemies à moins de 1,50 mètre de vous, mais n'ajoute pas votre modificateur d'attribut aux dégâts infligés (sauf si ce modificateur est négatif).
+Feat/&FeatWhirlWindAttackStrTitle=Attaque tourbillonnante [For]
Feature/&AttackModifierFeatSpearMasteryDescription=Vous bénéficiez d'un bonus de +1 aux jets d'attaque que vous effectuez avec une lance et son dé de dégâts passe d'un d6 à un d8, et d'un d8 à un d10 lorsqu'il est manié à deux mains.
Feature/&AttackModifierFeatSpearMasteryTitle=Maîtrise de la lance
-Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Tant que vous tenez une épée longue, vous gagnez un bonus de +1 à la classe d’armure.
+Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Tant que vous tenez une épée longue, vous gagnez un bonus de +1 à la classe d'armure.
Feature/&AttributeModifierFeatLongswordFinesseArmorClassTitle=Finesse de l'épée longue
Feature/&PowerFeatChargerAddDamageDescription=Bénéficiez d'un bonus de +1d8 au jet de dégâts de l'attaque.
Feature/&PowerFeatChargerAddDamageTitle=Ajouter 1D8 dégâts
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Vous pouvez préparer votre lanc
Feature/&PowerFeatSpearMasteryChargeTitle=Attelle de lance
Feature/&PowerFeatSpearMasteryReachDescription=Vous pouvez augmenter votre portée avec une lance de 1,50 m pour le reste de votre tour.
Feature/&PowerFeatSpearMasteryReachTitle=Portée de la lance
+Feature/&PowerGreatWeaponDefenseDescription=Vous pouvez remplacer n'importe quelle attaque d'action principale pour cibler une créature à moins de 1,50 mètre de vous. Cette créature a un désavantage sur toutes les attaques contre vous jusqu'au début de votre prochain tour, jusqu'à ce que vous ne soyez plus adjacent à la créature ou si vous équipez une autre arme ou un autre bouclier.
+Feature/&PowerGreatWeaponDefenseTitle=Grande défense d'arme
+Feature/&PowerWhirlWindAttackDescription=Une fois pendant votre tour, lorsque vous effectuez l'action d'Attaque tout en brandissant une grande épée, une grande hache ou un maul, vous pouvez remplacer une attaque par une attaque tourbillonnante. Whirlwind Attack effectue un jet d'attaque contre toutes les créatures ennemies à moins de 1,50 mètre de vous, mais n'ajoute pas votre modificateur d'attribut aux dégâts infligés (sauf si ce modificateur est négatif).
+Feature/&PowerWhirlWindAttackTitle=Attaque tourbillonnante
Feedback/&AdditionalDamageChargerFormat=Chargeur!
Feedback/&AdditionalDamageChargerLine={0} charge {1} et inflige {2} dégâts supplémentaires !
Feedback/&AdditionalDamageCrusherFormat=Broyeur!
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Feats/OtherFeats-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Feats/OtherFeats-fr.txt
index 1b9e6d769f..557ed59345 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Feats/OtherFeats-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Feats/OtherFeats-fr.txt
@@ -4,7 +4,7 @@ Condition/&ConditionFeatMobileAfterDashDescription=Accorde l'immunité aux restr
Condition/&ConditionFeatMobileAfterDashTitle=Liberté
Feat/&FeatAcrobatDescription=Vous devenez plus agile et bénéficiez des avantages suivants :\n• Augmentez votre dextérité de 1, jusqu'à un maximum de 20.\n• Vous maîtrisez les compétences ou l'expertise acrobatiques si vous les maîtrisez déjà.\n• En tant que action bonus, vous pouvez effectuer un test de Dextérité (Acrobaties) DD 15. Si vous réussissez, les terrains difficiles ne vous coûtent pas de mouvement supplémentaire jusqu'à la fin du tour en cours.
Feat/&FeatAcrobatTitle=Acrobate
-Feat/&FeatAlertDescription=Toujours à l'affût du danger, vous bénéficiez des avantages suivants :\n• Vous ne pouvez pas être surpris tant que vous êtes conscient.\n• Vous bénéficiez d'un bonus de +5 à l'initiative.\n• Les autres créatures ne le font pas. obtenez un avantage aux jets d’attaque contre vous parce que vous n’êtes pas perçu.
+Feat/&FeatAlertDescription=Toujours à l'affût du danger, vous bénéficiez des avantages suivants :\n• Vous ne pouvez pas être surpris tant que vous êtes conscient.\n• Vous bénéficiez d'un bonus de +5 à l'initiative.\n• Les autres créatures ne le font pas. obtenez un avantage aux jets d'attaque contre vous parce que vous n'êtes pas perçu.
Feat/&FeatAlertTitle=Alerte
Feat/&FeatArcaneArcherAdeptDescription=Vous disposez d'un entraînement à la magie arcanique et à l'arc qui vous permet d'effectuer des manœuvres de combat spéciales.
Feat/&FeatArcaneArcherAdeptTitle=Adepte archer arcanique
@@ -32,7 +32,7 @@ Feat/&FeatChefWisDescription=Augmentez votre Sagesse de 1, jusqu'à un maximum d
Feat/&FeatChefWisTitle=Chef [Sagesse]
Feat/&FeatDungeonDelverDescription=Alerté aux pièges cachés et aux portes secrètes trouvés dans de nombreux donjons, vous bénéficiez des avantages suivants :\n• Vous avez un avantage aux tests de Sagesse (Perception) et d'Intelligence (Enquête).\n• Vous avez un avantage aux jets de sauvegarde effectués pour évitez ou résistez aux pièges.\n• Vous avez une résistance aux dégâts infligés par les pièges.\n• Voyager à un rythme rapide n'impose pas la pénalité normale de -5 sur votre score passif de Sagesse (Perception).
Feat/&FeatDungeonDelverTitle=Sondeur de donjon
-Feat/&FeatEldritchAdeptDescription=Vous apprenez une option d’invocation surnaturelle de votre choix auprès de la classe de démoniste. Si l'invocation a un prérequis, vous ne pouvez choisir cette invocation que si vous êtes un démoniste et seulement si vous remplissez le prérequis. Chaque fois que vous gagnez un niveau, vous pouvez remplacer l'invocation par une autre de la classe démoniste.
+Feat/&FeatEldritchAdeptDescription=Vous apprenez une option d'invocation surnaturelle de votre choix auprès de la classe de démoniste. Si l'invocation a un prérequis, vous ne pouvez choisir cette invocation que si vous êtes un démoniste et seulement si vous remplissez le prérequis. Chaque fois que vous gagnez un niveau, vous pouvez remplacer l'invocation par une autre de la classe démoniste.
Feat/&FeatEldritchAdeptTitle=Adepte surnaturel
Feat/&FeatElementalAdeptDescription={0} les sorts de type dégâts que vous lancez ignorent la résistance de la cible aux dégâts. De plus, lorsque vous lancez des dégâts pour ces sorts, vous pouvez relancer n'importe quel 1.
Feat/&FeatElementalAdeptTitle=Adepte élémentaire [{0}]
@@ -64,7 +64,7 @@ Feat/&FeatMobileDescription=Vous êtes exceptionnellement rapide et agile. Votre
Feat/&FeatMobileTitle=Mobile
Feat/&FeatMonkInitiateDescription=Vous avez appris certaines des voies du moine. Vous gagnez des points Ki égaux à votre bonus de maîtrise, que vous pouvez dépenser pour utiliser Rafale de coups, Défense patient ou Pas du vent.
Feat/&FeatMonkInitiateTitle=Moine Initié
-Feat/&FeatPickPocketDescription=Vous gagnez en maîtrise du tour de passe-passe ou en expertise si vous le maîtrisez déjà. Vous bénéficiez également d’un avantage lors des tests de dextérité du tour de passe-passe.
+Feat/&FeatPickPocketDescription=Vous gagnez en maîtrise du tour de passe-passe ou en expertise si vous le maîtrisez déjà. Vous bénéficiez également d'un avantage lors des tests de dextérité du tour de passe-passe.
Feat/&FeatPickPocketTitle=Pickpocket
Feat/&FeatPoisonousSkinDescription=Toute créature qui vous frappe au corps à corps ou est touchée par votre attaque à mains nues, vous bouscule ou est bousculée par vous doit réussir un jet de sauvegarde de Constitution (DD 8 + votre bonus de maîtrise + votre modificateur de Constitution) ou devenir empoisonnée pendant 1 minute.
Feat/&FeatPoisonousSkinTitle=Peau venimeuse
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Feats/Races-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Feats/Races-fr.txt
index 41e7638c41..5c616a96a8 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Feats/Races-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Feats/Races-fr.txt
@@ -44,9 +44,9 @@ Feat/&FeatOrcishFuryConDescription=Votre fureur brûle inlassablement. Vous bén
Feat/&FeatOrcishFuryConTitle=Fureur orque [Con]
Feat/&FeatOrcishFuryStrDescription=Votre fureur brûle inlassablement. Vous bénéficiez des avantages suivants :\n• Augmentez votre Force de 1, jusqu'à un maximum de 20.\n• Lorsque vous frappez avec une attaque effectuée avec une arme simple ou martiale, vous pouvez lancer l'un des dés de dégâts de l'arme. une fois supplémentaire et ajoutez-le comme dégâts supplémentaires au type de dégâts de l'arme. Une fois que vous avez utilisé cette capacité, vous ne pouvez plus l'utiliser avant d'avoir terminé un repos court ou long.\n• Immédiatement après avoir utilisé votre trait Endurance implacable, vous pouvez utiliser votre réaction pour effectuer une attaque avec une arme.
Feat/&FeatOrcishFuryStrTitle=Fureur orque [Str]
-Feat/&FeatRevenantGreatSwordDexDescription=Vous descendez d’un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre dextérité de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• Grande épée. a la propriété de finesse lorsque vous l'utilisez.
+Feat/&FeatRevenantGreatSwordDexDescription=Vous descendez d'un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre dextérité de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• Grande épée. a la propriété de finesse lorsque vous l'utilisez.
Feat/&FeatRevenantGreatSwordDexTitle=Lame revenante [Dex]
-Feat/&FeatRevenantGreatSwordStrDescription=Vous descendez d’un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre force de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• Grande épée. a la propriété de finesse lorsque vous l'utilisez.
+Feat/&FeatRevenantGreatSwordStrDescription=Vous descendez d'un maître de la grande épée, et une partie de cette maîtrise vous a été transmise. Vous bénéficiez des avantages suivants :\n• Augmentez votre force de 1, jusqu'à un maximum de 20.\n• Pendant que vous tenez une grande épée, vous bénéficiez d'un bonus de +1 à la classe d'armure.\n• Grande épée. a la propriété de finesse lorsque vous l'utilisez.
Feat/&FeatRevenantGreatSwordStrTitle=Lame revenante [Str]
Feat/&FeatSquatNimblenessDexDescription=Vous êtes exceptionnellement agile pour votre race. Augmentez votre dextérité de 1, jusqu'à un maximum de 20. Augmentez votre vitesse de marche de 1,50 m. Vous gagnez la maîtrise ou l'expertise de la compétence Acrobatie.
Feat/&FeatSquatNimblenessDexTitle=Agilité accroupie [Dex]
@@ -54,7 +54,7 @@ Feat/&FeatSquatNimblenessStrDescription=Vous êtes exceptionnellement agile pour
Feat/&FeatSquatNimblenessStrTitle=Agilité du squat [Str]
Feat/&FeatWoodElfMagicDescription=Vous apprenez la magie des bois primitifs, vénérés et protégés par votre peuple. Vous apprenez un cantrip Druide de votre choix. Vous apprenez également les sorts Longstrider et Pass Without Trace, que vous pouvez lancer chacun une fois sans dépenser d'emplacement de sort. Vous retrouvez ainsi la possibilité de lancer ces deux sorts lorsque vous terminez un repos long.
Feat/&FeatWoodElfMagicTitle=Magie des Elfes des Bois
-Feature/&AttributeModifierFeatRevenantGreatSwordArmorClassDescription=Tant que vous tenez une grande épée, vous gagnez un bonus de +1 à la classe d’armure.
+Feature/&AttributeModifierFeatRevenantGreatSwordArmorClassDescription=Tant que vous tenez une grande épée, vous gagnez un bonus de +1 à la classe d'armure.
Feature/&AttributeModifierFeatRevenantGreatSwordArmorClassTitle=Lame revenante
Feature/&DieRollModifierFeatFlamesOfPhlegethosReroll=À cause des Flammes de Phlégethos, {0} relance le dé {1} de {2} à {3}.
Feature/&PowerFeatDragonFearDescription=Vous pouvez dépenser une utilisation de votre trait Souffle pour rugir, forçant chaque créature de votre choix à moins de 9 mètres de vous à effectuer un jet de sauvegarde de Sagesse (DD 8 + votre bonus de maîtrise + votre modificateur de Charisme). En cas d'échec, la cible devient effrayée pendant 1 minute. Si la cible effrayée subit des dégâts, elle peut répéter le jet de sauvegarde, mettant ainsi fin à l'effet sur elle-même en cas de réussite.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Gambits-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Gambits-fr.txt
index 8a3172e1ef..19cdeca6c4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Gambits-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Gambits-fr.txt
@@ -8,7 +8,7 @@ Condition/&ConditionGambitSwitchGoodDescription=Vous gagnez une CA supplémentai
Condition/&ConditionGambitSwitchGoodTitle=Commuté
Feature/&GambitBlindDescription=La prochaine attaque avec une arme ou à mains nues qui frappe une créature avant la fin de votre tour dépensera un dé de supériorité pour infliger des dégâts supplémentaires égaux au jet de supériorité et distraire la cible, accordant au prochain jet d'attaque contre la cible par un attaquant autre que vous un avantage si l'attaque est effectuée avant la fin de votre prochain tour.
Feature/&GambitBlindTitle=Frappe distrayante
-Feature/&GambitBraceDescription=Lorsqu'une créature entre à portée de votre arme de mêlée, vous pouvez utiliser la réaction et dépenser un dé de supériorité pour lancer une attaque d'opportunité contre elle avec une arme ou une attaque à mains nues. Si l’attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
+Feature/&GambitBraceDescription=Lorsqu'une créature entre à portée de votre arme de mêlée, vous pouvez utiliser la réaction et dépenser un dé de supériorité pour lancer une attaque d'opportunité contre elle avec une arme ou une attaque à mains nues. Si l'attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
Feature/&GambitBraceTitle=Entretoise
Feature/&GambitCoordinatedAttackDescription=La prochaine arme ou attaque à mains nues qui touche une créature avant la fin de votre tour dépensera un dé de supériorité pour infliger des dégâts supplémentaires égaux au jet de supériorité et manœuvrer l'un de vos alliés dans une position plus avantageuse. Ciblez un allié à moins de 9 mètres de vous qui n'est ni maîtrisé ni incapable d'agir. Cet allié peut utiliser sa réaction pour se déplacer jusqu'à la moitié de sa vitesse sans provoquer d'attaques d'opportunité.
Feature/&GambitCoordinatedAttackTitle=Attaque de manœuvre
@@ -16,7 +16,7 @@ Feature/&GambitDebilitateDescription=La prochaine arme ou attaque à mains nues
Feature/&GambitDebilitateTitle=Frappe débilitante
Feature/&GambitElusiveMovementDescription=Vous pouvez dépenser un dé de supériorité par une action libre, en lançant le dé et en ajoutant le nombre obtenu à votre CA jusqu'à la fin de votre tour.
Feature/&GambitElusiveMovementTitle=Jeu de jambes évasif
-Feature/&GambitFeintDescription=La prochaine attaque avec une arme ou à mains nues que vous effectuerez avant la fin de votre tour utilisera votre action bonus et dépensera un dé de supériorité pour lancer l'attaque avec avantage. Si l’attaque réussit, elle infligera des dégâts supplémentaires égaux au jet de supériorité.
+Feature/&GambitFeintDescription=La prochaine attaque avec une arme ou à mains nues que vous effectuerez avant la fin de votre tour utilisera votre action bonus et dépensera un dé de supériorité pour lancer l'attaque avec avantage. Si l'attaque réussit, elle infligera des dégâts supplémentaires égaux au jet de supériorité.
Feature/&GambitFeintTitle=Attaque ciblée
Feature/&GambitGoadingDescription=La prochaine arme de mêlée ou attaque à mains nues qui touche une créature avant la fin de votre tour dépensera un dé de supériorité pour infliger des dégâts supplémentaires égaux au jet de dé de supériorité et narguer la créature jusqu'au début de votre prochain tour. Une créature que vous provoquez a un désavantage à tout jet d'attaque qui ne vous cible pas. Cet effet se termine plus tôt si un autre allié provoque la créature ou si vous êtes à plus de 1,50 mètre de la créature.
Feature/&GambitGoadingTitle=Attaque d'aiguillon
@@ -34,9 +34,9 @@ Feature/&GambitRallyDescription=Vous pouvez utiliser votre action bonus et dépe
Feature/&GambitRallyTitle=Se rallier
Feature/&GambitRepelDescription=La prochaine arme ou attaque à mains nues qui frappe une créature avant la fin de votre tour dépensera un dé de supériorité pour infliger des dégâts supplémentaires égaux au jet de supériorité, repoussant la créature de 15 pieds si elle échoue au jet de sauvegarde de Force contre votre DD de Manœuvre.
Feature/&GambitRepelTitle=Attaque poussée
-Feature/&GambitReturnFireDescription=Lorsqu'une créature rate son attaque contre vous et se trouve à plus de 1,50 mètre de vous, vous pouvez dépenser un dé de supériorité et utiliser votre réaction pour effectuer une attaque d'opportunité avec votre arme à distance équipée contre la créature. Si l’attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
+Feature/&GambitReturnFireDescription=Lorsqu'une créature rate son attaque contre vous et se trouve à plus de 1,50 mètre de vous, vous pouvez dépenser un dé de supériorité et utiliser votre réaction pour effectuer une attaque d'opportunité avec votre arme à distance équipée contre la créature. Si l'attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
Feature/&GambitReturnFireTitle=Renvoyer le feu
-Feature/&GambitRiposteDescription=Lorsqu'une créature rate son attaque contre vous et est à portée de votre arme de mêlée équipée, vous pouvez dépenser un dé de supériorité et utiliser votre réaction pour lancer une attaque d'opportunité avec l'arme contre elle. Si l’attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
+Feature/&GambitRiposteDescription=Lorsqu'une créature rate son attaque contre vous et est à portée de votre arme de mêlée équipée, vous pouvez dépenser un dé de supériorité et utiliser votre réaction pour lancer une attaque d'opportunité avec l'arme contre elle. Si l'attaque réussit, vous infligez des dégâts supplémentaires égaux au jet de supériorité.
Feature/&GambitRiposteTitle=Riposte
Feature/&GambitSwiftThrowDescription=Par une action bonus, vous pouvez dépenser un dé de supériorité et effectuer une attaque à distance avec un poignard dissimulé. Si vous touchez, vous infligez 1d4 + dé de supériorité + modificateur de Force ou de Dextérité, selon celui qui est le plus élevé en dégâts perforants.
Feature/&GambitSwiftThrowTitle=Lancer rapide
@@ -44,7 +44,7 @@ Feature/&GambitSwitchDescription=Vous pouvez utiliser votre action bonus pour d
Feature/&GambitSwitchTitle=Appât et interrupteur
Feature/&GambitThreatenDescription=La prochaine arme ou attaque à mains nues qui frappe une créature avant la fin de votre tour dépensera un dé de supériorité pour infliger des dégâts supplémentaires égaux au jet de supériorité et la fera effrayer jusqu'à la fin de votre prochain tour si elle échoue au jet de sauvegarde de Sagesse contre votre cible. Manœuvre DC.
Feature/&GambitThreatenTitle=Attaque menaçante
-Feature/&GambitUrgentDescription=Vous pouvez renoncer à l’une de vos attaques d’action principale pour demander à un allié de frapper. Ce faisant, dépensez un dé de supériorité, choisissez un allié (autre que vous-même) et un ennemi. Les deux créatures doivent se trouver à moins de 9 mètres de vous. L'allié choisi peut immédiatement utiliser sa réaction pour lancer une attaque d'opportunité contre l'ennemi ciblé avec son arme équipée ou une attaque à mains nues, en ajoutant le dé de supériorité au jet de dégâts de l'attaque en cas de coup sûr.
+Feature/&GambitUrgentDescription=Vous pouvez renoncer à l'une de vos attaques d'action principale pour demander à un allié de frapper. Ce faisant, dépensez un dé de supériorité, choisissez un allié (autre que vous-même) et un ennemi. Les deux créatures doivent se trouver à moins de 9 mètres de vous. L'allié choisi peut immédiatement utiliser sa réaction pour lancer une attaque d'opportunité contre l'ennemi ciblé avec son arme équipée ou une attaque à mains nues, en ajoutant le dé de supériorité au jet de dégâts de l'attaque en cas de coup sûr.
Feature/&GambitUrgentTitle=Frappe du commandant
Feature/&PowerGambitCoordinatedAttackCommandDescription=Vous pouvez cibler un allié à moins de 9 mètres de vous qui n'est ni maîtrisé ni incapable d'agir. Cet allié peut utiliser sa réaction pour se déplacer jusqu'à la moitié de sa vitesse sans provoquer d'attaques d'opportunité.
Feature/&PowerGambitCoordinatedAttackCommandTitle=Allié de commandement
@@ -61,7 +61,7 @@ Reaction/&CustomReactionGambitParryReactDescription=Dépensez un dé de supério
Reaction/&CustomReactionGambitParryReactTitle=Réagir
Reaction/&CustomReactionGambitParryTitle=Manœuvre : parade
Reaction/&CustomReactionGambitPreciseDescription={0} a raté {1} et peut dépenser un dé de supériorité pour lancer {3} et ajouter le résultat au jet d'attaque.
-Reaction/&CustomReactionGambitPreciseReactDescription=Dépensez un dé de supériorité pour l’ajouter au jet d’attaque.
+Reaction/&CustomReactionGambitPreciseReactDescription=Dépensez un dé de supériorité pour l'ajouter au jet d'attaque.
Reaction/&CustomReactionGambitPreciseReactTitle=Dépenser mourir
Reaction/&CustomReactionGambitPreciseTitle=Manœuvre : précise
Reaction/&CustomReactionGambitSwitchDescription=Choisissez une cible pour recevoir une CA supplémentaire égale à votre dé de supériorité. Choisissez allié pour accorder la CA à votre allié, ou passer pour l'accorder à vous-même.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Inventor-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Inventor-fr.txt
index 2f96d6c09d..3ded645adb 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Inventor-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Inventor-fr.txt
@@ -1,4 +1,4 @@
-Class/&InventorDescription=Les artificiers sont des bricoleurs, des alchimistes et bien plus encore. Ils comblent l’espace entre la magie et la technologie.
+Class/&InventorDescription=Les artificiers sont des bricoleurs, des alchimistes et bien plus encore. Ils comblent l'espace entre la magie et la technologie.
Class/&InventorTitle=Artificier
Feature/&BonusCantripsInventorMagicalTinkeringDescription=Vous savez investir une étincelle de magie dans des objets banals. Apprenez ces petits sorts : {0}
Feature/&BonusCantripsInventorMagicalTinkeringTitle=Bricolage magique
@@ -12,7 +12,7 @@ Feature/&MagicAffinityInventorMagicItemSavantDescription=Votre compétence avec
Feature/&MagicAffinityInventorMagicItemSavantTitle=Savant des objets magiques
Feature/&PointPoolInventorRightToolForTheJobTitle=Connaissez vos outils
Feature/&PointPoolInventorSkillsTitle=Compétences des artificiers
-Feature/&PointPoolInventorToolsTitle=Choix de compétence d’outil d’artificier
+Feature/&PointPoolInventorToolsTitle=Choix de compétence d'outil d'artificier
Feature/&PowerAfterRestStopInfusionsDescription=Supprimez toutes les infusions que vous mettez dans les objets.
Feature/&PowerAfterRestStopInfusionsTitle=Terminer les perfusions
Feature/&PowerInventorFlashOfGeniusDescription=Lorsqu'un allié à 9 mètres échoue à son jet de sauvegarde avec un taux inférieur à votre modificateur d'Intelligence, vous pouvez utiliser votre réaction pour improviser une aide qui donnerait à ce jet un bonus égal à votre modificateur d'Intelligence. Vous pouvez utiliser cette capacité avec le modificateur d'Intelligence plusieurs fois par repos long.
@@ -22,7 +22,7 @@ Feature/&PowerInventorSpellStoringItemTitle=Baguette de stockage de sorts
Feature/&PowerUseModifierInventorInfusionPoolDescription=Vous pouvez faire infuser 1 objet supplémentaire à la fois.
Feature/&PowerUseModifierInventorInfusionPoolTitle=Augmentation de la limite de perfusion
Feature/&ProficiencyInventorArmorTitle=Compétences en armure d'artificier
-Feature/&ProficiencyInventorToolExpertiseDescription=Vous acquérez la maîtrise de tous les outils d’artisanat, ou une expertise si vous maîtrisiez déjà cet outil.
+Feature/&ProficiencyInventorToolExpertiseDescription=Vous acquérez la maîtrise de tous les outils d'artisanat, ou une expertise si vous maîtrisiez déjà cet outil.
Feature/&ProficiencyInventorToolExpertiseTitle=Expertise en outils d'artificier
Feature/&ProficiencyInventorToolsTitle=Compétences des outils d'artificier
Feature/&ProficiencyInventorWeaponTitle=Maîtrise des armes d'artificier
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt
index 5b2b76f33b..6e3b79cac4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt
@@ -22,7 +22,7 @@ Invocation/&InvocationBondOfTheTalismanDescription=Vous pouvez utiliser l'action
Invocation/&InvocationBondOfTheTalismanTitle=Lien du Talisman
Invocation/&InvocationBreakerAndBanisherDescription=Vous pouvez lancer Dissipation du Mal et du Bien une fois, sans dépenser d'emplacement de sort. Vous ne pouvez plus recommencer avant d'avoir terminé un long repos.
Invocation/&InvocationBreakerAndBanisherTitle=Don du Dispellateur
-Invocation/&InvocationBreathOfTheNightDescription=Vous pouvez lancer Fog Cloud à volonté, sans dépenser d’emplacement de sort.
+Invocation/&InvocationBreathOfTheNightDescription=Vous pouvez lancer Fog Cloud à volonté, sans dépenser d'emplacement de sort.
Invocation/&InvocationBreathOfTheNightTitle=Souffle de la nuit
Invocation/&InvocationBurningHexDescription=Par une action bonus, vous faites subir à une cible maudite des dégâts de feu égaux à votre modificateur de Charisme (minimum de 1) et elle prend feu.
Invocation/&InvocationBurningHexTitle=Maléfice brûlant
@@ -78,7 +78,7 @@ Invocation/&InvocationStasisDescription=Vous pouvez lancer Lenteur une fois, san
Invocation/&InvocationStasisTitle=Enliser l'esprit
Invocation/&InvocationSuperiorPactWeaponDescription=Votre arme bénéficie d'un bonus de +1 à ses jets d'attaque et de dégâts.
Invocation/&InvocationSuperiorPactWeaponTitle=Arme du Pacte supérieure
-Invocation/&InvocationTenaciousPlagueDescription=Vous pouvez lancer Insect Plague une fois, sans dépenser d’emplacement de sort. Vous ne pouvez plus recommencer avant d'avoir terminé un long repos.
+Invocation/&InvocationTenaciousPlagueDescription=Vous pouvez lancer Insect Plague une fois, sans dépenser d'emplacement de sort. Vous ne pouvez plus recommencer avant d'avoir terminé un long repos.
Invocation/&InvocationTenaciousPlagueTitle=Peste tenace
Invocation/&InvocationThunderBlastDescription=Vous pouvez modifier le type de dégâts de l'explosion surnaturelle en dégâts de tonnerre au lieu de dégâts de force.
Invocation/&InvocationThunderBlastTitle=Explosion de tonnerre
@@ -88,7 +88,7 @@ Invocation/&InvocationTrickstersEscapeDescription=Vous pouvez lancer Liberté de
Invocation/&InvocationTrickstersEscapeTitle=L'évasion du filou
Invocation/&InvocationUltimatePactWeaponDescription=Votre arme bénéficie d'un bonus de +1 à ses jets d'attaque et de dégâts.
Invocation/&InvocationUltimatePactWeaponTitle=Arme du Pacte ultime
-Invocation/&InvocationUndyingServitudeDescription=Vous pouvez lancer Raise Skeletal Enforcer une fois, sans dépenser d’emplacement de sort. Vous ne pouvez plus recommencer avant d'avoir terminé un long repos.
+Invocation/&InvocationUndyingServitudeDescription=Vous pouvez lancer Raise Skeletal Enforcer une fois, sans dépenser d'emplacement de sort. Vous ne pouvez plus recommencer avant d'avoir terminé un long repos.
Invocation/&InvocationUndyingServitudeTitle=Servitude éternelle
Invocation/&InvocationVerdantArmorDescription=Vous pouvez lancer Barkskin à volonté, sans dépenser d'emplacement de sort et sans nécessiter de concentration.
Invocation/&InvocationVerdantArmorTitle=Armure verdoyante
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Level20-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Level20-fr.txt
index 473070cfa5..a14ee886d4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Level20-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Level20-fr.txt
@@ -4,7 +4,7 @@ Condition/&ConditionFortuneFavorTheBoldPsychicDamageDescription=Vous infligez 4d
Condition/&ConditionFortuneFavorTheBoldPsychicDamageTitle=Dommages psychiques
Condition/&ConditionMartialCommanderPeerlessCommanderMovementDescription=Gagnez 10 pieds supplémentaires de mouvement.
Condition/&ConditionMartialCommanderPeerlessCommanderMovementTitle=Mouvement dirigé
-Condition/&ConditionMartialCommanderPeerlessCommanderSavingsDescription=Bénéficiez d’un avantage lors de votre prochain jet de sauvegarde.
+Condition/&ConditionMartialCommanderPeerlessCommanderSavingsDescription=Bénéficiez d'un avantage lors de votre prochain jet de sauvegarde.
Condition/&ConditionMartialCommanderPeerlessCommanderSavingsTitle=Défense dirigée
Condition/&ConditionMonkEmptyBodyDescription=Vous avez une résistance à tous les dégâts sauf à la force.
Condition/&ConditionMonkEmptyBodyTitle=Corps vide
@@ -28,7 +28,7 @@ Condition/&ConditionTraditionSurvivalPhysicalPerfectionDescription=Tant que vous
Condition/&ConditionTraditionSurvivalPhysicalPerfectionTitle=Corps incassable (régénération améliorée)
Feature/&AttributeModifierTraditionFreedomFluidStrikesDescription=Vous pouvez attaquer trois fois, au lieu de deux, chaque fois que vous effectuez l'action Attaque pendant votre tour.
Feature/&AttributeModifierTraditionFreedomFluidStrikesTitle=Frappes fluides
-Feature/&BattleStartedListenerMonkPerfectSelfDescription=Lorsque vous commencez la bataille et qu’il ne vous reste plus de points Ki, vous récupérez 4 points Ki.
+Feature/&BattleStartedListenerMonkPerfectSelfDescription=Lorsque vous commencez la bataille et qu'il ne vous reste plus de points Ki, vous récupérez 4 points Ki.
Feature/&BattleStartedListenerMonkPerfectSelfTitle=Soi parfait
Feature/&ChangeAbilityCheckBarbarianIndomitableMightDescription=Si votre total pour un test de Force est inférieur à votre score de Force, vous pouvez utiliser ce score à la place du total.
Feature/&ChangeAbilityCheckBarbarianIndomitableMightTitle=Pouvoir indomptable
@@ -36,13 +36,13 @@ Feature/&CustomCodeBarbarianPrimalChampionDescription=À partir du niveau 20, vo
Feature/&CustomCodeBarbarianPrimalChampionTitle=Champion primordial
Feature/&DomainLifeSupremeHealingDescription=Alors que vous lanceriez normalement un ou plusieurs dés pour restaurer des points de vie avec un sort, vous utilisez plutôt le nombre le plus élevé possible pour chaque dé.
Feature/&DomainLifeSupremeHealingTitle=Guérison Suprême
-Feature/&FeatureBardSuperiorInspirationDescription=Lorsque vous lancez un jet d’initiative et qu’il ne vous reste plus d’utilisation d’Inspiration bardique, vous récupérez une utilisation.
+Feature/&FeatureBardSuperiorInspirationDescription=Lorsque vous lancez un jet d'initiative et qu'il ne vous reste plus d'utilisation d'Inspiration bardique, vous récupérez une utilisation.
Feature/&FeatureBardSuperiorInspirationTitle=Inspiration supérieure
Feature/&FeatureDomainLawFinalWordDescription=Chaque fois que vous brisez la concentration de lancement de sorts d'un ennemi, cet ennemi devient silencieux jusqu'à la fin de votre prochain tour.
Feature/&FeatureDomainLawFinalWordTitle=Dernier mot
Feature/&FeatureDomainOblivionKeeperOfOblivionDescription=Vous volez la force vitale de vos ennemis alors qu'ils se dirigent vers les portes de l'oubli, pour accorder un moment de répit à vos alliés. Lorsqu'un ennemi que vous pouvez voir meurt à moins de 9 mètres de vous, les alliés à moins de 9 mètres de vous récupèrent des points de vie provenant d'une réserve égale à votre niveau de clerc. Les alliés ayant le moins de points de vie sont soignés en premier jusqu'à ce que la réserve soit entièrement consommée. Une fois que vous l'avez utilisé, vous ne pouvez plus le faire avant le début de votre prochain tour.
Feature/&FeatureDomainOblivionKeeperOfOblivionTitle=Gardien de l'oubli
-Feature/&FeatureDruidBeastSpellsDescription=Vous pouvez lancer plusieurs de vos sorts de druide sous n’importe quelle forme que vous prenez en utilisant Wild Shape. Vous pouvez exécuter les composantes somatiques et verbales d'un sort de druide sous forme de bête, mais vous n'êtes pas en mesure de fournir des composantes matérielles.
+Feature/&FeatureDruidBeastSpellsDescription=Vous pouvez lancer plusieurs de vos sorts de druide sous n'importe quelle forme que vous prenez en utilisant Wild Shape. Vous pouvez exécuter les composantes somatiques et verbales d'un sort de druide sous forme de bête, mais vous n'êtes pas en mesure de fournir des composantes matérielles.
Feature/&FeatureDruidBeastSpellsTitle=Sorts de bête
Feature/&FeatureMartialChampionSurvivorDescription=Vous atteignez le summum de la résilience au combat. Au début de chacun de vos tours, vous récupérez des points de vie égaux à 5 + votre modificateur de Constitution s'il ne vous reste plus que la moitié de vos points de vie. Vous ne bénéficiez pas de cet avantage si vous avez 0 point de vie.
Feature/&FeatureMartialChampionSurvivorTitle=Survivant
@@ -78,7 +78,7 @@ Feature/&FeatureWizardSpellMasteryDescription=Vous maîtrisez tellement certains
Feature/&FeatureWizardSpellMasteryTitle=Maîtrise des sorts
Feature/&GrantInvocationsSpellMasteryDescription=Vous maîtrisez tellement certains sorts que vous pouvez les lancer à volonté. Les deux premiers sorts de sorcier de niveau 1 et 2 que vous préparez peuvent être lancés à leur niveau le plus bas sans dépenser d'emplacement de sort. Si vous souhaitez lancer l'un ou l'autre sort à un niveau supérieur, vous devez dépenser un emplacement de sort comme d'habitude.
Feature/&GrantInvocationsSpellMasteryTitle=Maîtrise des sorts
-Feature/&InvocationPoolWizardSignatureSpellsDescription=Vous maîtrisez deux sorts puissants et pouvez les lancer avec peu d’effort. Choisissez deux sorts de sorcier de 3ème niveau comme sorts de signature. Vous avez toujours ces sorts préparés, ils ne comptent pas dans le nombre de sorts que vous avez préparés, et vous pouvez lancer chacun d'eux une fois au niveau 3 sans dépenser d'emplacement de sort. Lorsque vous le faites, vous ne pouvez plus le faire avant d'avoir terminé un repos court ou long.
+Feature/&InvocationPoolWizardSignatureSpellsDescription=Vous maîtrisez deux sorts puissants et pouvez les lancer avec peu d'effort. Choisissez deux sorts de sorcier de 3ème niveau comme sorts de signature. Vous avez toujours ces sorts préparés, ils ne comptent pas dans le nombre de sorts que vous avez préparés, et vous pouvez lancer chacun d'eux une fois au niveau 3 sans dépenser d'emplacement de sort. Lorsque vous le faites, vous ne pouvez plus le faire avant d'avoir terminé un repos court ou long.
Feature/&InvocationPoolWizardSignatureSpellsTitle=Sorts de signature
Feature/&MagicAffinityArchDruidDescription=Vous pouvez utiliser votre Wildshape un nombre illimité de fois. De plus, vous pouvez ignorer les composantes verbales et somatiques de vos sorts de druide, ainsi que toutes les composantes matérielles qui n'ont pas de coût et ne sont pas consommées par un sort. Vous bénéficiez de cet avantage à la fois dans votre forme normale et dans votre forme de bête grâce à Wildshape.
Feature/&MagicAffinityArchDruidTitle=Archidruide
@@ -86,7 +86,7 @@ Feature/&MagicAffinitySorcererChildRiftMagicMasteryDescription=À partir du nive
Feature/&MagicAffinitySorcererChildRiftMagicMasteryTitle=Maîtrise de la magie des failles
Feature/&PowerClericImprovedDivineInterventionDescription=Vous tentez de demander l'aide de votre divinité, avec 100 % de chances de succès.
Feature/&PowerClericImprovedDivineInterventionTitle=Intervention divine améliorée
-Feature/&PowerDomainBattleImprovedHeraldOfBattleDescription=Les alliés à moins de 15 pieds gagnent +1 aux jets d’attaque, de dégâts, de CA et de sauvegarde.
+Feature/&PowerDomainBattleImprovedHeraldOfBattleDescription=Les alliés à moins de 15 pieds gagnent +1 aux jets d'attaque, de dégâts, de CA et de sauvegarde.
Feature/&PowerDomainBattleImprovedHeraldOfBattleTitle=Héraut de bataille amélioré
Feature/&PowerDomainColdSummonBlizzardDescription=Par une action, vous pouvez invoquer 2 élémentaires de glace. Une fois que vous avez utilisé cette capacité, vous ne pouvez plus l'utiliser avant d'avoir terminé un long repos.
Feature/&PowerDomainColdSummonBlizzardTitle=Invocation de Blizzard
@@ -132,7 +132,7 @@ Feature/&PowerSorcererDraconicBloodlineAwePresenceDescription=Chaque créature h
Feature/&PowerSorcererDraconicBloodlineAwePresenceTitle=Présence impressionnante
Feature/&PowerSorcererDraconicBloodlineFearPresenceDescription=Chaque créature hostile dans la zone doit réussir un jet de sauvegarde de Sagesse ou être effrayée. Chaque créature peut refaire le jet de sauvegarde à la fin de chacun de ses tours.
Feature/&PowerSorcererDraconicBloodlineFearPresenceTitle=Présence de peur
-Feature/&PowerSorcererHauntedSoulPossessionDescription=À partir du niveau 18, vous pouvez utiliser votre action pour posséder les corps de vos ennemis avec des esprits malveillants. Ciblez une zone 4x4 à moins de 120 pieds de vous. Chaque créature ennemie dans cette zone est obligée de lancer un jet de sauvegarde de Charisme contre le DD de votre sort. En cas d'échec d'un jet de sauvegarde, chaque créature ennemie reçoit 6d10 dégâts nécrotiques et est dominée jusqu'à la fin de votre prochain tour. Une fois la condition de domination expirée, ils reçoivent un niveau d’épuisement. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
+Feature/&PowerSorcererHauntedSoulPossessionDescription=À partir du niveau 18, vous pouvez utiliser votre action pour posséder les corps de vos ennemis avec des esprits malveillants. Ciblez une zone 4x4 à moins de 120 pieds de vous. Chaque créature ennemie dans cette zone est obligée de lancer un jet de sauvegarde de Charisme contre le DD de votre sort. En cas d'échec d'un jet de sauvegarde, chaque créature ennemie reçoit 6d10 dégâts nécrotiques et est dominée jusqu'à la fin de votre prochain tour. Une fois la condition de domination expirée, ils reçoivent un niveau d'épuisement. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&PowerSorcererHauntedSoulPossessionTitle=Possession
Feature/&PowerSorcererManaPainterManaOverflowDescription=Lancez une attaque de sort au corps à corps. En cas de succès, la créature ciblée subit 4d10 + les dégâts de force de votre modificateur de Charisme, vous récupérez 2 points de sorcellerie. Vous devez prendre un court repos pour récupérer ce pouvoir.
Feature/&PowerSorcererManaPainterManaOverflowTitle=Drain de mana
@@ -142,7 +142,7 @@ Feature/&PowerTraditionSurvivalPhysicalPerfectionDescription=À partir du niveau
Feature/&PowerTraditionSurvivalPhysicalPerfectionTitle=Perfection physique
Feature/&PowerWarlockEldritchMasterDescription=Vous pouvez puiser dans votre réserve intérieure de pouvoir mystique tout en suppliant votre patron de récupérer les emplacements de sorts dépensés. Vous pouvez passer 1 minute à demander de l'aide à votre patron pour récupérer tous vos emplacements de sorts dépensés grâce à votre fonction Pact Magic. Une fois que vous avez récupéré des emplacements de sorts avec cette fonctionnalité, vous devez terminer un long repos avant de pouvoir le faire à nouveau.
Feature/&PowerWarlockEldritchMasterTitle=Maître surnaturel
-Feature/&PowerWizardSignatureSpellsDescription=Vous maîtrisez deux sorts puissants et pouvez les lancer avec peu d’effort. Choisissez deux sorts de sorcier de niveau 3 dans votre livre de sorts comme sorts de signature. Vous avez toujours ces sorts préparés, ils ne comptent pas dans le nombre de sorts que vous avez préparés, et vous pouvez lancer chacun d'eux une fois au niveau 3 sans dépenser d'emplacement de sort. Lorsque vous le faites, vous ne pouvez plus le faire avant d'avoir terminé un repos court ou long.
+Feature/&PowerWizardSignatureSpellsDescription=Vous maîtrisez deux sorts puissants et pouvez les lancer avec peu d'effort. Choisissez deux sorts de sorcier de niveau 3 dans votre livre de sorts comme sorts de signature. Vous avez toujours ces sorts préparés, ils ne comptent pas dans le nombre de sorts que vous avez préparés, et vous pouvez lancer chacun d'eux une fois au niveau 3 sans dépenser d'emplacement de sort. Lorsque vous le faites, vous ne pouvez plus le faire avant d'avoir terminé un repos court ou long.
Feature/&PowerWizardSignatureSpellsTitle=Sorts de signature
Feature/&SenseRangerFeralSensesDescription=Vous acquérez des sens surnaturels qui vous aident à combattre des créatures que vous ne pouvez pas voir. Lorsque vous attaquez une créature que vous ne pouvez pas voir, votre incapacité à la voir n'impose pas de désavantage à vos jets d'attaque contre elle.
Feature/&SenseRangerFeralSensesTitle=Sens sauvages
@@ -164,7 +164,7 @@ RestActivity/&RestActivitySignatureSpellsDescription=Vous pouvez sélectionner v
RestActivity/&RestActivitySignatureSpellsTitle=Sorts de signature
RestActivity/&RestActivitySpellMasteryDescription=Vous pouvez modifier votre liste de sorts de maîtrise lorsque vous terminez un repos long.
RestActivity/&RestActivitySpellMasteryTitle=Maîtrise des sorts
-Rules/&DamagePureDescription=Des vibrations imperceptibles qui désintègrent la victime de l’intérieur.
+Rules/&DamagePureDescription=Des vibrations imperceptibles qui désintègrent la victime de l'intérieur.
Rules/&DamagePureTitle=Pur
Screen/&SignatureSpellsExtraSpellDescription=Ce sort Signature est toujours préparé et, une fois par repos long, il ne consomme pas d'emplacement de sort lorsqu'il est lancé au niveau.
Screen/&SignatureSpellsExtraSpellTitle=Sorts de signature
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt
index f9529ab7d3..6d6f8eb3b1 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Aveuglé par un nuage puant
Condition/&ConditionBlindedExtendedDescription=La vision est aveuglée. Les jets d'attaque contre la créature ont un avantage, et les jets d'attaque de la créature ont un désavantage.
Condition/&ConditionLightlyObscuredDescription=La vision est légèrement obscurcie. Inconvénient sur les jets de sauvegarde de sagesse (perception).
Condition/&ConditionLightlyObscuredTitle=Légèrement obscurci
+Condition/&ConditionMonkSuperiorDefenseDescription=Vous avez une résistance à tous les dégâts sauf à la force, sauf en cas d'incapacité.
+Condition/&ConditionMonkSuperiorDefenseTitle=Défense supérieure
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Désarmé
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Retiré
Condition/&ConditionRogueDeviousStrikeDazedDescription=Vous ne pouvez pas utiliser de réactions ou d'actions bonus, et pouvez vous déplacer ou effectuer d'autres actions pendant votre tour, mais pas les deux.
@@ -78,16 +80,20 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Si vous échouez à un jet de sauvegarde, vous pouvez le relancer avec un bonus égal à votre niveau de Combattant. Si vous le faites, vous devez utiliser le nouveau jet et vous ne pourrez plus utiliser cette fonctionnalité tant que vous n'aurez pas terminé un repos long.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Sorts étendus
+Feature/&FeatureMonkBodyAndMindDescription=Vous avez perfectionné votre corps et votre esprit vers de nouveaux sommets. Votre Dextérité et votre Sagesse augmentent de 4.
+Feature/&FeatureMonkBodyAndMindTitle=Corps et esprit
+Feature/&FeatureMonkHeightenedMetabolismDescription=Votre entraînement a poussé votre corps et votre esprit à de nouveaux niveaux. Votre Rafale de coups, votre Défense du patient et votre Pas du vent bénéficient des avantages suivants :\n• Rafale de coups : lorsque vous utilisez Rafale de coups, vous effectuez trois frappes à mains nues avec au lieu de deux.\n• Défense du patient. : Lorsque vous utilisez Patient Defense, vous gagnez un nombre de points de vie temporaires égal à deux lancers de votre dé d'arts martiaux.\n• Pas du vent : lorsque vous utilisez l'une des fonctions Pas du vent (Désengagement ou Dash), vous bénéficiez également des avantages de l'autre effet.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Métabolisme accru
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Vous pouvez dépenser 1 point Ki pour effectuer deux frappes à mains nues en guise d'action bonus.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Déluge de coups
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Lorsque vous utilisez Attaque imprudente, l'un de vos jets d'attaque basés sur la Force que vous effectuez avant la fin de votre tour inflige 1d10 dégâts supplémentaires du même type infligés par l'arme ou la Frappe à mains nues, et vous pouvez également choisir l'un des effets suivants s'il touche :\n• Coup puissant. La cible est poussée à 15 pieds tout droit de vous.\n• Coup aux ischio-jambiers. La vitesse de la cible est réduite de 15 pieds jusqu'au début de votre prochain tour.
-Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Vous avez perfectionné de nouvelles façons d’attaquer furieusement. Les effets suivants font désormais partie de vos options de Frappe brutale :\n• Coup stupéfiant. La cible a un désavantage lors du prochain jet de sauvegarde qu'elle effectue, et elle ne peut pas effectuer d'attaques d'opportunité avant le début de votre prochain tour.\n• Coup tranchant. Votre coup laisse une ouverture dans la défense de la créature pour un allié jusqu'au début de votre prochain tour. Le prochain jet d'attaque effectué par une créature autre que vous contre la cible bénéficie d'un bonus de 1d10 aux jets d'attaque et de dégâts.
+Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Vous avez perfectionné de nouvelles façons d'attaquer furieusement. Les effets suivants font désormais partie de vos options de Frappe brutale :\n• Coup stupéfiant. La cible a un désavantage lors du prochain jet de sauvegarde qu'elle effectue, et elle ne peut pas effectuer d'attaques d'opportunité avant le début de votre prochain tour.\n• Coup tranchant. Votre coup laisse une ouverture dans la défense de la créature pour un allié jusqu'au début de votre prochain tour. Le prochain jet d'attaque effectué par une créature autre que vous contre la cible bénéficie d'un bonus de 1d10 aux jets d'attaque et de dégâts.
Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Amélioration des frappes brutales
Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Les dégâts supplémentaires infligés par votre Brutal Strike augmentent à 2d10.
Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Amélioration des frappes brutales
Feature/&FeatureSetBarbarianBrutalStrikeTitle=Frappe brutale
-Feature/&FeatureSetRageExtendedDescription=Au combat, vous combattez avec une férocité primordiale. À votre tour, vous pouvez entrer en colère comme une action bonus. Cela vous confère un avantage sur les sauvegardes et les tests de force, un bonus initial de +2 aux dégâts d'attaque en mêlée et une résistance aux dégâts tranchants, contondants et perçants. Vous bénéficiez de ces avantages uniquement si vous ne portez pas d’armure lourde. Dure 1 minute ou se termine si vous n'avez pas attaqué ou subi de dégâts depuis votre dernier tour.\n Vous démarrez avec 2 rages, renouvelées après un long repos. Au niveau 7, vous regagnez un point de rage après un court repos.
-Feature/&FeatureSorcererMagicalGuidanceDescription=Vous pouvez puiser dans votre source de magie intérieure pour essayer de conjurer le succès de l’échec. Lorsque vous effectuez un test de capacité qui échoue, vous pouvez dépenser 1 point de sorcellerie pour relancer le d20, et vous devez utiliser le nouveau jet, transformant potentiellement l'échec en succès.
+Feature/&FeatureSetRageExtendedDescription=Au combat, vous combattez avec une férocité primordiale. À votre tour, vous pouvez entrer en colère comme une action bonus. Cela vous confère un avantage sur les sauvegardes et les tests de force, un bonus initial de +2 aux dégâts d'attaque en mêlée et une résistance aux dégâts tranchants, contondants et perçants. Vous bénéficiez de ces avantages uniquement si vous ne portez pas d'armure lourde. Dure 1 minute ou se termine si vous n'avez pas attaqué ou subi de dégâts depuis votre dernier tour.\n Vous démarrez avec 2 rages, renouvelées après un long repos. Au niveau 7, vous regagnez un point de rage après un court repos.
+Feature/&FeatureSorcererMagicalGuidanceDescription=Vous pouvez puiser dans votre source de magie intérieure pour essayer de conjurer le succès de l'échec. Lorsque vous effectuez un test de capacité qui échoue, vous pouvez dépenser 1 point de sorcellerie pour relancer le d20, et vous devez utiliser le nouveau jet, transformant potentiellement l'échec en succès.
Feature/&FeatureSorcererMagicalGuidanceTitle=Conseils magiques
Feature/&FighterExtraAttackDescription=Vous pouvez attaquer deux fois, plutôt qu'une, lorsque vous utilisez les actions d'attaque ou de poussée.
Feature/&FlightResumeDescription=Reprend votre effet de vol suspendu
@@ -100,7 +106,7 @@ Feature/&InvocationPoolArcaneShotChoiceLearnDescription=Sélectionnez un tir arc
Feature/&InvocationPoolArcaneShotChoiceLearnTitle=Tir arcanique
Feature/&InvocationPoolFeatGrudgeBearerChoiceLearnDescription=Sélectionnez un ennemi Rancune.
Feature/&InvocationPoolFeatGrudgeBearerChoiceLearnTitle=Porteur de rancune
-Feature/&InvocationPoolFeatWeaponMasterChoiceLearnDescription=Sélectionnez de nouveaux types d’armes pour acquérir des compétences.
+Feature/&InvocationPoolFeatWeaponMasterChoiceLearnDescription=Sélectionnez de nouveaux types d'armes pour acquérir des compétences.
Feature/&InvocationPoolFeatWeaponMasterChoiceLearnTitle=Maître d'armes
Feature/&InvocationPoolKindredSpiritChoiceLearnDescription=Sélectionnez un esprit apparenté pour votre druide.
Feature/&InvocationPoolKindredSpiritChoiceLearnTitle=Âme sœur
@@ -119,7 +125,7 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Ascendance draconique
Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n
Feature/&MonkAlternateUnarmoredMovementImprovedDescription=À partir du niveau 9, vous acquérez la capacité de vous déplacer sur des surfaces verticales sans tomber.
Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Mouvement sans armure – Amélioré
-Feature/&PowerAfterRestIdentifyDescription=Identifiez tous les objets magiques de l’inventaire.
+Feature/&PowerAfterRestIdentifyDescription=Identifiez tous les objets magiques de l'inventaire.
Feature/&PowerAfterRestIdentifyTitle=Identifier
Feature/&PowerBarbarianBrutalStrikeDescription=Frappe brutale à déterminer
Feature/&PowerBarbarianBrutalStrikeForcefulBlowDescription=La cible est repoussée à 15 pieds de vous.
@@ -133,9 +139,13 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Coup déchirant
Feature/&PowerBarbarianBrutalStrikeTitle=Frappe brutale
Feature/&PowerHelpDescription=Vous pouvez aider une créature amie à attaquer une créature à moins de 1,50 mètre de vous. Vous faites une feinte, distrayez la cible ou faites équipe d'une autre manière pour rendre l'attaque de votre allié plus efficace. Si votre allié attaque la cible avant votre prochain tour, le premier jet d'attaque est effectué avec avantage.
Feature/&PowerHelpTitle=Aide
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Vous pouvez dépenser 1 point Ki pour effectuer à la fois les actions Désengagement et Dash comme action bonus pendant votre tour, et votre distance de saut est doublée pour le tour.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Pas du vent
+Feature/&PowerMonkSuperiorDefenseDescription=Par une action gratuite, vous pouvez dépenser 3 points Ki pour vous protéger parfaitement contre les dégâts pendant 1 minute ou jusqu'à ce que vous deveniez incapable d'agir. Pendant ce temps, vous bénéficiez d'une résistance à tous les dégâts, à l'exception des dégâts de Force.
+Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure
Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher brièvement des regards. Par une action bonus, vous pouvez devenir comme par magie invisible, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette fonctionnalité un nombre de fois égal à votre bonus de maîtrise, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long.
Feature/&PowerRangerNatureShroudTitle=Le voile de la nature
-Feature/&PowerRogueCunningStrikeDescription=Vous avez développé des façons astucieuses d’utiliser votre attaque sournoise. Lorsque vous infligez des dégâts d’Attaque sournoise, vous pouvez renoncer aux dés d’Attaque sournoise pour ajouter à la place des effets de Frappe rusée supplémentaires.
+Feature/&PowerRogueCunningStrikeDescription=Vous avez développé des façons astucieuses d'utiliser votre attaque sournoise. Lorsque vous infligez des dégâts d'Attaque sournoise, vous pouvez renoncer aux dés d'Attaque sournoise pour ajouter à la place des effets de Frappe rusée supplémentaires.
Feature/&PowerRogueCunningStrikeDisarmDescription=La cible doit réussir un jet de sauvegarde de Dextérité, ou être désavantagée sur toutes ses attaques jusqu'à la fin de son prochain tour.
Feature/&PowerRogueCunningStrikeDisarmTitle=Désarmer
Feature/&PowerRogueCunningStrikePoisonDescription=La cible doit réussir un jet de sauvegarde de Constitution, sous peine d'être empoisonnée pendant 1 minute. Ils peuvent réessayer la sauvegarde à chaque début de tour.
@@ -153,7 +163,7 @@ Feature/&PowerRogueDeviousStrikeKnockOutTitle=Assommer
Feature/&PowerRogueDeviousStrikeObscureDescription=La cible doit réussir un jet de sauvegarde de Dextérité, sous peine d'être aveuglée jusqu'à la fin de son prochain tour.
Feature/&PowerRogueDeviousStrikeObscureTitle=Obscur
Feature/&PowerRogueDeviousStrikeTitle=Frappe sournoise
-Feature/&PowerTeleportSummonDescription=Vous pouvez vous téléporter n’importe où à moins de 1,50 m du lanceur.
+Feature/&PowerTeleportSummonDescription=Vous pouvez vous téléporter n'importe où à moins de 1,50 m du lanceur.
Feature/&PowerTeleportSummonTitle=Téléportation
Feature/&PowerVanishSummonDescription=Vous pouvez faire disparaître votre invocation.
Feature/&PowerVanishSummonTitle=Disparaître
@@ -209,8 +219,8 @@ Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Vous pou
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Appliquez un effet supplémentaire.
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactTitle=Frappe brutale
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeTitle=Frappe brutale
-Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Vous pouvez renoncer aux dés d’attaque sournoise pour appliquer un effet supplémentaire.
-Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Vous pouvez renoncer aux dés d’attaque sournoise pour appliquer un effet supplémentaire.
+Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Vous pouvez renoncer aux dés d'attaque sournoise pour appliquer un effet supplémentaire.
+Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Vous pouvez renoncer aux dés d'attaque sournoise pour appliquer un effet supplémentaire.
Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Frappe rusée
Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Frappe rusée
Reaction/&ReactionSpendPowerBundleTitle=Dépenser de l'énergie
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=A des types d'armes de maîtrise de la lame
Rules/&SituationalContext9001Format=A l'espadon dans les mains :
Rules/&SituationalContext9002Format=A une épée longue en main :
Rules/&SituationalContext9003Format=A une arme de mêlée dans la main principale avec une main libre :
+Rules/&SituationalContext9004Format=Possède une arme lourde ou polyvalente dans la main principale avec une main libre :
Rules/&SituationalContext9005Format=A des armes simples ou martiales en main :
Rules/&SituationalContext9007Format=N'est pas exposé à une lumière vive :
Rules/&SituationalContext9008Format=Est déchaîné et à double usage :
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=Est-ce que {0}
Tooltip/&PreReqIsNot=N'est-ce pas {0}
Tooltip/&PreReqIsWithLevel=Est-ce que {0} est au niveau {1}
Tooltip/&PreReqLevelFormat=Niveau de personnage minimum {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Doit avoir des attaques supplémentaires
Tooltip/&PreReqMustKnow=Je dois savoir {0}
Tooltip/&Tag9000Title=Effet personnalisé
Tooltip/&TagUnfinishedBusinessTitle=Inachevé
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Races/Battleborn-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Races/Battleborn-fr.txt
index 1db232e470..f25214d442 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Races/Battleborn-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Races/Battleborn-fr.txt
@@ -3,7 +3,7 @@ Feature/&FeatureSetBattlebornAbilityScoreIncreaseDescription=Constitution +2, au
Feature/&FeatureSetBattlebornAbilityScoreIncreaseTitle=Augmentation du score de capacité
Feature/&FeatureSetBattlebornArcaneResilienceDescription=Vous avez été créé pour avoir une force d'âme remarquable, représentée par les avantages suivants :\n• Vous gagnez un bonus de +1 à la classe d'armure.\n• Vous avez un avantage aux jets de sauvegarde contre l'empoisonnement et vous avez une résistance aux dégâts de poison. \n• Vous êtes immunisé contre les maladies.\n• Vous n'avez pas besoin de dormir et la magie ne peut pas vous endormir.
Feature/&FeatureSetBattlebornArcaneResilienceTitle=Résilience arcanique
-Feature/&FeatureSetBattlebornSpecializedInfusionDescription=Vous gagnez une maîtrise de compétence et une maîtrise d’outil de votre choix.
+Feature/&FeatureSetBattlebornSpecializedInfusionDescription=Vous gagnez une maîtrise de compétence et une maîtrise d'outil de votre choix.
Feature/&FeatureSetBattlebornSpecializedInfusionTitle=Infusion spécialisée
-Race/&RaceBattlebornDescription=Les Battleborn sont le résultat d'expériences arcaniques, mélangeant chair, alchimie et magie pour créer de parfaits soldats de champ de bataille. Créés pour servir d’armes, ils doivent désormais trouver une utilité au-delà de la guerre. Un né au combat peut être un allié fidèle, une machine à tuer sans pitié ou un errant en quête de but et de sens.
+Race/&RaceBattlebornDescription=Les Battleborn sont le résultat d'expériences arcaniques, mélangeant chair, alchimie et magie pour créer de parfaits soldats de champ de bataille. Créés pour servir d'armes, ils doivent désormais trouver une utilité au-delà de la guerre. Un né au combat peut être un allié fidèle, une machine à tuer sans pitié ou un errant en quête de but et de sens.
Race/&RaceBattlebornTitle=Forgeron de guerre
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Races/FlexibleRaces-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Races/FlexibleRaces-fr.txt
index a50a10a348..0d547e49bd 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Races/FlexibleRaces-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Races/FlexibleRaces-fr.txt
@@ -1,6 +1,6 @@
-Feature/&PointPoolAbilityScore3Description=Utilisez trois boosts sur les scores de capacité dans n’importe quelle combinaison de votre choix.
+Feature/&PointPoolAbilityScore3Description=Utilisez trois boosts sur les scores de capacité dans n'importe quelle combinaison de votre choix.
Feature/&PointPoolAbilityScore3Title=Augmentation du score de capacité
-Feature/&PointPoolAbilityScore4Description=Utilisez quatre boosts sur les scores de capacité dans n’importe quelle combinaison de votre choix.
+Feature/&PointPoolAbilityScore4Description=Utilisez quatre boosts sur les scores de capacité dans n'importe quelle combinaison de votre choix.
Feature/&PointPoolAbilityScore4Title=Augmentation du score de capacité
Feature/&PointPoolSelectBonusFeatsDescription=Sélectionnez {0} exploits supplémentaires pour votre personnage.
Feature/&PointPoolSelectBonusFeatsTitle={0} exploits bonus
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Races/Imp-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Races/Imp-fr.txt
index cd357a0f65..0be82c04ea 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Races/Imp-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Races/Imp-fr.txt
@@ -2,7 +2,7 @@ Action/&ImpishWrathToggleDescription=Activer/désactiver Impish Wrath
Action/&ImpishWrathToggleTitle=Colère espiègle
Condition/&ConditionImpAssistedAllyDescription=Vous avez l'avantage au premier jet d'attaque effectué sur une cible assistée.
Condition/&ConditionImpAssistedAllyTitle=Assisté
-Condition/&ConditionImpAssistedEnemyDescription=L’allié assisté a un avantage aux jets d’attaque contre cette unité.
+Condition/&ConditionImpAssistedEnemyDescription=L'allié assisté a un avantage aux jets d'attaque contre cette unité.
Condition/&ConditionImpAssistedEnemyTitle=Cible assistée
Condition/&ConditionImpPassageDescription=Votre vitesse de déplacement augmente de 10 pieds.
Condition/&ConditionImpPassageTitle=Passage
@@ -24,7 +24,7 @@ Feature/&PowerImpBadlandAssistDescription=Par une action bonus, vous pouvez aide
Feature/&PowerImpBadlandAssistPoolDescription=À partir du niveau 3, vous pouvez choisir l'un des effets suivants chaque fois que vous utilisez Assistance : \n - Hospitalité : vous et votre allié gagnerez des PV temporaires. \n- Passage : Pendant un round, vous et votre allié augmentez votre vitesse de déplacement de 10 pieds. \n - Mépris : lorsque votre allié touche une cible assistée, la cible sera désavantagée au premier jet d'attaque qu'elle effectuera dans la minute qui suit.
Feature/&PowerImpBadlandAssistPoolTitle=Cadeau Fey
Feature/&PowerImpBadlandAssistTitle=Assister
-Feature/&PowerImpBadlandDrawInspirationDescription=Chaque fois que vous échouez à un jet d’attaque ou à un jet de sauvegarde, vous pouvez ajouter +3 au jet. Vous pouvez utiliser ce trait égal à votre bonus de maîtrise et récupérer les utilisations dépensées après un long repos.
+Feature/&PowerImpBadlandDrawInspirationDescription=Chaque fois que vous échouez à un jet d'attaque ou à un jet de sauvegarde, vous pouvez ajouter +3 au jet. Vous pouvez utiliser ce trait égal à votre bonus de maîtrise et récupérer les utilisations dépensées après un long repos.
Feature/&PowerImpBadlandDrawInspirationTitle=Dessiner l'inspiration
Feature/&PowerImpBadlandHospitalityDescription=Par une action bonus, aidez un allié à attaquer un ennemi à moins de 1,50 mètre de vous en un round. Vous et votre allié gagnerez 1d6 + bonus de maîtrise des PV temporaires jusqu'à un repos long. Vous pouvez utiliser ce trait égal à votre bonus de maîtrise et récupérer les utilisations dépensées après un long repos.
Feature/&PowerImpBadlandHospitalityTitle=Assistance - Hospitalité
@@ -34,12 +34,12 @@ Feature/&PowerImpBadlandSpiteDescription=Par une action bonus, aidez un allié
Feature/&PowerImpBadlandSpiteTitle=Assistance - Malgré
Feature/&PowerImpForestImpishWrathDescription=Lorsque vous blessez un ennemi, vous pouvez choisir d'infliger des dégâts supplémentaires égaux à votre bonus de maîtrise. Vous pouvez utiliser ce trait égal à votre bonus de maîtrise et récupérer les utilisations dépensées après un long repos.
Feature/&PowerImpForestImpishWrathTitle=Colère espiègle
-Race/&RaceImpBadlandDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd’hui, certains d’entre eux ont décidé d’émerger et d’explorer le monde qui les entoure, même si ceux qui y vivent n’apprécient pas leur nature démoniaque.
+Race/&RaceImpBadlandDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd'hui, certains d'entre eux ont décidé d'émerger et d'explorer le monde qui les entoure, même si ceux qui y vivent n'apprécient pas leur nature démoniaque.
Race/&RaceImpBadlandTitle=Diablotin des Badlands
-Race/&RaceImpDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd’hui, certains d’entre eux ont décidé d’émerger et d’explorer le monde qui les entoure, même si ceux qui y vivent n’apprécient pas leur nature démoniaque.
-Race/&RaceImpForestDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd’hui, certains d’entre eux ont décidé d’émerger et d’explorer le monde qui les entoure, même si ceux qui y vivent n’apprécient pas leur nature démoniaque.
+Race/&RaceImpDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd'hui, certains d'entre eux ont décidé d'émerger et d'explorer le monde qui les entoure, même si ceux qui y vivent n'apprécient pas leur nature démoniaque.
+Race/&RaceImpForestDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd'hui, certains d'entre eux ont décidé d'émerger et d'explorer le monde qui les entoure, même si ceux qui y vivent n'apprécient pas leur nature démoniaque.
Race/&RaceImpForestTitle=Diablotin des forêts
-Race/&RaceImpInfernalDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd’hui, certains d’entre eux ont décidé d’émerger et d’explorer le monde qui les entoure, même si ceux qui y vivent n’apprécient pas leur nature démoniaque.
+Race/&RaceImpInfernalDescription=Les expériences interplanaires menées au cours de l'ère Manacalon ont conduit à l'introduction de démons et d'autres créatures dans le plan matériel. Bien que beaucoup de ces créatures aient finalement été confinées ou bannies, les diablotins sournois ont pu se cacher, s'adaptant secrètement et prospérant depuis lors dans diverses poches des Badlands. Aujourd'hui, certains d'entre eux ont décidé d'émerger et d'explorer le monde qui les entoure, même si ceux qui y vivent n'apprécient pas leur nature démoniaque.
Race/&RaceImpInfernalTitle=Diablotin infernal
Race/&RaceImpTitle=Imp
Reaction/&SpendPowerDrawInspirationDescription=Vous êtes sur le point de rater un jet d'attaque ou un jet de sauvegarde. Dépensez de la puissance pour ajouter 3 au jet d'attaque ou au jet de sauvegarde.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Races/Kobold-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Races/Kobold-fr.txt
index 34cdc90c39..7db648b050 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Races/Kobold-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Races/Kobold-fr.txt
@@ -9,9 +9,9 @@ Feature/&PowerDraconicKoboldDraconicCryTitle=Cri draconique
Feature/&ProficiencyKoboldAbilityScoreIncrease=Augmentez un score de capacité de 2 et augmentez un autre score de 1, ou vous augmentez trois scores différents de 1.
Feature/&ProficiencyKoboldLanguagesDescription=Commun, Draconique.
Feature/&ProficiencyKoboldLanguagesTitle=Langues
-Race/&RaceDarkKoboldDescription=Les Kobolds Noirs sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d’interagir avec d’autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
+Race/&RaceDarkKoboldDescription=Les Kobolds Noirs sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d'interagir avec d'autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
Race/&RaceDarkKoboldTitle=Kobold Sombre
-Race/&RaceDraconicKoboldDescription=Les Kobolds draconiques sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d’interagir avec d’autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
+Race/&RaceDraconicKoboldDescription=Les Kobolds draconiques sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d'interagir avec d'autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
Race/&RaceDraconicKoboldTitle=Kobold draconique
-Race/&RaceKoboldDescription=Les Kobolds sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d’interagir avec d’autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
+Race/&RaceKoboldDescription=Les Kobolds sont de petites créatures solitaires. Récemment, certaines des tribus de kobolds les plus avancées ont choisi de se révéler et d'interagir avec d'autres races. Ce n'est pas une coïncidence si cela se produit au même moment où les enfants de dragon se font connaître, car les kobolds les plus avancés semblent imiter les enfants de dragon à bien des égards, se nommant même dans un style similaire. Ils peuvent même être plus avancés que les autres kobolds en raison de leur mélange avec les enfants de dragon.
Race/&RaceKoboldTitle=Kobold
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Races/ShadarKai-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Races/ShadarKai-fr.txt
index f7baf00851..85affb85b4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Races/ShadarKai-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Races/ShadarKai-fr.txt
@@ -2,5 +2,5 @@ Feature/&DamageAffinityShadarKaiDescription=Vous avez une résistance aux dommag
Feature/&DamageAffinityShadarKaiTitle=Résistance nécrotique
Feature/&PowerShadarKaiTeleportDescription=Par une action bonus, vous pouvez vous téléporter comme par magie jusqu'à 9 mètres dans un espace inoccupé que vous pouvez voir. Vous pouvez utiliser ce trait un nombre de fois égal à votre bonus de maîtrise, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. À partir du niveau 3, vous gagnez également une résistance à tous les dégâts lorsque vous vous téléportez en utilisant cette aptitude. La résistance dure jusqu'au début de votre prochain tour. Pendant ce temps, vous apparaissez fantomatique et translucide.
Feature/&PowerShadarKaiTeleportTitle=Bénédiction de la Reine Corbeau
-Race/&RaceShadarKaiDescription=Shadar-kai sont les elfes de Shadowfell, initialement attirés vers ce royaume redoutable par la Reine Corbeau. Au fil des siècles, certains d’entre eux ont continué à la servir, tandis que d’autres se sont aventurés dans le plan Matériel pour forger leur propre destinée.
+Race/&RaceShadarKaiDescription=Shadar-kai sont les elfes de Shadowfell, initialement attirés vers ce royaume redoutable par la Reine Corbeau. Au fil des siècles, certains d'entre eux ont continué à la servir, tandis que d'autres se sont aventurés dans le plan Matériel pour forger leur propre destinée.
Race/&RaceShadarKaiTitle=Shadar-Kai
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt
index 1a439d8cee..c4024ed5c8 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Autoriser le lancement de sorts avec une action supplé
ModUi/&AllowHornsOnAllRaces=Autoriser les klaxons sur toutes les courses [les résultats peuvent paraître terribles selon la race, la tête et le klaxon]
ModUi/&AllowMoreRealStateOnRestPanel=Autoriser davantage d'état réel sur le panneau de repos [masquer les actions après le repos sur le panneau avant et les fonctionnalités de récupération sur le panneau après]
ModUi/&AllowStackedMaterialComponent=Autoriser les composants de matériaux empilés [par ex. 2x500gp diamant équivaut à 1000gp diamant]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Autoriser la sélection de cible lors du lancement du sort Chaîne d'éclairs
ModUi/&AllowUnmarkedSorcerers=Autoriser Sorcier sans marques d'origine ni tatouages
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=La touche ALT ne met en évidence que les gadgets dans le champ de vision du groupe [donjons personnalisés uniquement]
ModUi/&ArcaneShieldstaffOptions=Permettre au Bâton de bouclier arcanique d'être harmonisé par n'importe quelle classe.
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Activer les dialogues de journal sur la conso
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Activer la journalisation des références invalides dans les campagnes personnalisées
ModUi/&EnableMinInOutAttributes=+ Imposer les scores de capacité minimum à l'entrée et à la sortie
ModUi/&EnableMonkAbundantKi=Activer Moine Ki abondant au niveau 2 [gagner du Ki supplémentaire égal à la moitié du bonus de compétence arrondi au supérieur]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Activez Moine Corps et esprit pour remplacer Perfect Self au niveau 20.
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Activez Moine Arts martiaux - Bonus de frappes à mains nues pour ne pas nécessiter d'action d'attaque avant utilisation.
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Activez Moine Flurry of Blows pour ne pas nécessiter d'action d'attaque avant utilisation.
ModUi/&EnableMonkFightingStyle=Activer le choix Moine Style de combat au niveau 2
+ModUi/&EnableMonkHeightenedMetabolism=Activer Moine Métabolisme accru au niveau 10 [Rafale de coups, Défense du patient et Pas du Vent gagnent des avantages supplémentaires]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Permet au Moine Mouvement sans armure amélioré de se déplacer le long des surfaces verticales sans tomber.
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Activez Moine Défense supérieure pour remplacer Corps vide au niveau 18
ModUi/&EnableMonkWeaponSpecialization=Activez la Moine Spécialisation d'arme aux niveaux 2 et 11 [le type d'arme sélectionné devient une arme de moine pour vous]
ModUi/&EnableMulticlass=Activer le multiclasse [Nécessite un redémarrage]
+ModUi/&EnableOneDndHealingSpellsBuf=Activez le bonus des dés de guérison OneDnd sur Cure Wounds, Healing Word, Mass Cure Wounds et Mot de guérison de masse
ModUi/&EnablePcgRandom=Activer un meilleur algorithme de générateur aléatoire [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Activez la fonctionnalité Ranger Voile de la nature au niveau 10 [en tant qu'action bonus, vous pouvez devenir invisible par magie jusqu'au début du prochain tour. ]
ModUi/&EnableRejoinParty=Activez CTRL-SHIFT-(R) pour rejoindre le groupe autour du héros sélectionné ou du chef si aucun n'est sélectionné [utile avec des groupes de 5 ou 6 personnes ]
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt
index 9ce4084605..b6f9cac1ac 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt
@@ -1,12 +1,14 @@
Condition/&ConditionAcidClawsDescription=La classe d'armure est réduite de 1.
Condition/&ConditionAcidClawsTitle=Brûlure acide
Condition/&ConditionBoomingBladeDescription=Au niveau 5, les attaques déclenchées par ce cantrip infligent 1d8 dégâts de tonnerre supplémentaires. Les dégâts augmentent encore de 1d8 aux niveaux 11 et 17.
-Condition/&ConditionBoomingBladeSheathedDescription=Vous êtes enveloppé d’une énergie en plein essor. Si vous vous déplacez volontairement de 1,50 mètre ou plus, vous subissez des dégâts de tonnerre.
+Condition/&ConditionBoomingBladeSheathedDescription=Vous êtes enveloppé d'une énergie en plein essor. Si vous vous déplacez volontairement de 1,50 mètre ou plus, vous subissez des dégâts de tonnerre.
Condition/&ConditionBoomingBladeSheathedTitle=Gainé
Condition/&ConditionBoomingBladeTitle=Gaine de Lame Boomante
Condition/&ConditionMindSpikeDescription=Soustrait 1d4 au prochain jet de sauvegarde.
Condition/&ConditionMindSpikeTitle=Ruban mental
Condition/&ConditionResonatingStrikeTitle=Résonance
+Condition/&ConditionStarryWispDescription=Ne peut pas bénéficier de la condition Invisible.
+Condition/&ConditionStarryWispTitle=Feu follet étoilé
Condition/&ConditionSunlightBladeDescription=Au niveau 5, les attaques déclenchées par ce cantrip infligent 1d8 dégâts radiants supplémentaires. Les dégâts augmentent encore de 1d8 aux niveaux 11 et 17.
Condition/&ConditionSunlightBladeTitle=Brûlure de Sunlit Blade
Condition/&ConditionWrackDescription=Vous ne parvenez pas à vous lancer ou à désengager l'action.
@@ -19,7 +21,7 @@ Feedback/&AdditionalDamageSunlightBladeFormat=Lame ensoleillée !
Feedback/&AdditionalDamageSunlightBladeLine={0} illumine {1} avec Sunlit Blade ! (+{2})
Spell/&AcidClawsDescription=Vos ongles aiguisent, prêts à délivrer une attaque corrosive. Lancez une attaque de sort au corps à corps contre une créature à moins de 1,50 mètre de vous. En cas de coup, la cible subit 1d8 dégâts d'acide et sa classe d'armure est réduite de 1 pendant 1 round (non cumulable).
Spell/&AcidClawsTitle=Griffes acides
-Spell/&AirBlastDescription=Tirez une explosion d’air concentré sur votre cible.
+Spell/&AirBlastDescription=Tirez une explosion d'air concentré sur votre cible.
Spell/&AirBlastTitle=Rafale
Spell/&BladeWardDescription=Vous tendez la main et tracez un sceau de protection dans les airs. Jusqu'à la fin de votre prochain tour, vous bénéficiez d'une résistance aux dégâts contondants, perforants et tranchants infligés par les attaques avec des armes.
Spell/&BladeWardTitle=Garde-lame
@@ -27,16 +29,24 @@ Spell/&BoomingBladeDescription=Effectuez une attaque au corps à corps avec une
Spell/&BoomingBladeTitle=Lame en plein essor
Spell/&BurstOfRadianceDescription=Créez un flash brillant de lumière chatoyante, endommageant tous les ennemis autour de vous.
Spell/&BurstOfRadianceTitle=Mot d'éclat
-Spell/&EnduringStingDescription=Vous sapez la vitalité d’une créature que vous pouvez voir à portée. La cible doit réussir un jet de sauvegarde de Constitution ou subir 1d4 dégâts nécrotiques et tomber à terre.
+Spell/&EnduringStingDescription=Vous sapez la vitalité d'une créature que vous pouvez voir à portée. La cible doit réussir un jet de sauvegarde de Constitution ou subir 1d4 dégâts nécrotiques et tomber à terre.
Spell/&EnduringStingTitle=Dard sapant
Spell/&IlluminatingSphereDescription=Fait s'allumer les sources de lumière telles que les torches et les lampes à mana dans la zone d'effet.
Spell/&IlluminatingSphereTitle=Sphère éclairante
+Spell/&InfestationDescription=Vous faites apparaître momentanément un nuage d'acariens, de puces et d'autres parasites sur une créature que vous pouvez voir à portée. La cible doit réussir un jet de sauvegarde de Constitution, sinon elle subit 1d6 dégâts de poison et se déplace de 1,50 mètre dans une direction aléatoire.\nLes dégâts de ce sort augmentent de 1d6 lorsque vous atteignez le niveau 5 (2d6), le niveau 11 (3d6) et 17ème niveau (4d6).
+Spell/&InfestationTitle=Infestation
+Spell/&LightningLureDescription=Vous créez un éclair d'énergie éclair qui frappe une créature de votre choix que vous pouvez voir à moins de 4,50 mètres de vous. La cible doit réussir un jet de sauvegarde de Force ou être tirée jusqu'à 10 pieds en ligne droite vers vous, puis subir 1d8 dégâts de foudre.\nLes dégâts de ce sort augmentent de 1d8 lorsque vous atteignez le niveau 5 (2d8), le niveau 11 ( 3d8) et niveau 17 (4d8).
+Spell/&LightningLureTitle=Leurre Foudre
Spell/&MindSpikeDescription=Vous envoyez un pic désorientant d'énergie psychique dans l'esprit d'une créature que vous pouvez voir à portée. La cible doit réussir un jet de sauvegarde d'Intelligence ou subir 1d6 dégâts psychiques et soustraire 1d4 au prochain jet de sauvegarde qu'elle effectuera avant la fin de votre prochain tour.
Spell/&MindSpikeTitle=Ruban mental
Spell/&MinorLifestealDescription=Vous drainez l'énergie vitale d'une créature ennemie proche. Lancez une attaque de sort au corps à corps contre une créature à moins de 1,50 mètre de vous. En cas de coup, la créature subit 1d6 dégâts nécrotiques et vous soignez pour la moitié des dégâts infligés (arrondi à l'inférieur). Ce sort n'a aucun effet sur les morts-vivants et les constructions. Les dégâts du sort augmentent d'un dé supplémentaire aux niveaux 5, 11 et 17.
Spell/&MinorLifestealTitle=Vol de vie mineur
+Spell/&PrimalSavageryDescription=Vous canalisez la magie primitive pour aiguiser vos dents ou vos ongles, prêts à lancer une attaque corrosive. Lancez une attaque de sort au corps à corps contre une créature à moins de 1,50 mètre de vous. En cas de coup, la cible subit 1d10 dégâts d'acide. \n Les dégâts de ce sort augmentent de 1d6 lorsque vous atteignez le niveau 5 (2d6), le niveau 11 (3d6) et le niveau 17 (4d6).
+Spell/&PrimalSavageryTitle=Sauvagerie primordiale
Spell/&ResonatingStrikeDescription=Sélectionnez une créature à portée de mêlée de vous et une créature différente que vous pouvez voir à moins de 1,50 mètre de la cible principale. Vous effectuez une attaque au corps à corps avec votre arme actuelle contre la première créature. En cas de coup, la cible subit les effets normaux de l'attaque avec l'arme et les flammes sautent sur la deuxième cible, infligeant des dégâts de feu égaux au modificateur de votre capacité de lancement de sorts.\nAu niveau 5, l'attaque de mêlée inflige 1d8 dégâts de feu supplémentaires à la cible sur un coup. touché, et les dégâts de feu infligés à la deuxième créature augmentent à 1d8 + le modificateur de votre capacité de lancement de sorts. Les deux jets de dégâts augmentent de 1d8 aux niveaux 11 et 17.
Spell/&ResonatingStrikeTitle=Lame de flamme verte
+Spell/&StarryWispDescription=Vous lancez un grain de lumière sur une créature ou un objet à portée. Effectuez une attaque magique à distance contre la cible. En cas de coup, la cible subit 1d8 dégâts radiants et jusqu'à la fin de votre prochain tour, elle émet une faible lumière dans un rayon de 10 pieds et ne peut pas bénéficier de la condition Invisible.\nLes dégâts de ce sort augmentent de 1d8 lorsque vous atteignez les niveaux 5 (2d8), 11 (3d8) et 17 (4d8).
+Spell/&StarryWispTitle=Feu follet étoilé
Spell/&SunlightBladeDescription=Effectuez une attaque au corps à corps avec une arme. En cas de coup, la cible subit les effets normaux de l'attaque et est enveloppée d'une énergie rayonnante et rayonnante, projetant une faible lumière pendant le tour. La prochaine attaque contre cette créature alors qu'elle est en surbrillance est effectuée avec avantage.\nAu niveau 5, l'attaque de mêlée inflige 1d8 dégâts radiants supplémentaires à la cible. Les dégâts augmentent encore de 1d8 aux niveaux 11 et 17.
Spell/&SunlightBladeTitle=Lame ensoleillée
Spell/&SwordStormDescription=Vous créez un cercle momentané de lames spectrales qui balayent autour de vous. Toutes les autres créatures à moins de 1,50 mètre de vous doivent chacune réussir un jet de sauvegarde de Dextérité ou subir 1d6 dégâts de force.
@@ -45,7 +55,7 @@ Spell/&ThornyVinesDescription=Vous créez une longue vigne en forme de fouet cou
Spell/&ThornyVinesTitle=Fouet épineux
Spell/&ThunderStrikeDescription=Créez une explosion de bruit de tonnerre, forçant les créatures adjacentes à vous à effectuer un jet de sauvegarde de Constitution ou à subir 1d6 dégâts de tonnerre.\nLes dégâts de ce sort augmentent de 1d6 lorsque vous atteignez le niveau 5 (2d6), le niveau 11 (3d6) et le 17e. niveau (4d6).
Spell/&ThunderStrikeTitle=Coup de tonnerre
-Spell/&TollTheDeadDescription=Vous pointez du doigt une créature que vous pouvez voir à portée, et le son d’une cloche douloureuse remplit l’air autour d’elle pendant un instant. La cible doit réussir un jet de sauvegarde de Sagesse ou subir 1d8 dégâts nécrotiques. Si la cible manque un de ses points de vie, elle subit 1d12 dégâts nécrotiques.
+Spell/&TollTheDeadDescription=Vous pointez du doigt une créature que vous pouvez voir à portée, et le son d'une cloche douloureuse remplit l'air autour d'elle pendant un instant. La cible doit réussir un jet de sauvegarde de Sagesse ou subir 1d8 dégâts nécrotiques. Si la cible manque un de ses points de vie, elle subit 1d12 dégâts nécrotiques.
Spell/&TollTheDeadTitle=Péage des morts
Spell/&WrackDescription=Déchaînez une vague de douleur paralysante sur une créature à portée. La cible doit réussir un jet de sauvegarde de Constitution sous peine de subir 1d8 dégâts nécrotiques, et l'empêcher de se précipiter ou de se désengager.
Spell/&WrackTitle=Varech
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt
index 39455cc8ba..fce5495d31 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt
@@ -23,7 +23,7 @@ Condition/&ConditionStrikeWithTheWindDescription=Votre mouvement ne provoque pas
Condition/&ConditionStrikeWithTheWindMovementDescription=Votre vitesse de déplacement augmente de 30 pieds.
Condition/&ConditionStrikeWithTheWindMovementTitle=Bougez avec le vent
Condition/&ConditionStrikeWithTheWindTitle=Frappe du Zéphyr
-Condition/&ConditionVileBrewDescription=Vous êtes couvert d’acide et pouvez utiliser votre action pour gratter ou laver l’acide vous-même. Vous subissez des dégâts d'acide au début de chacun de vos tours.
+Condition/&ConditionVileBrewDescription=Vous êtes couvert d'acide et pouvez utiliser votre action pour gratter ou laver l'acide vous-même. Vous subissez des dégâts d'acide au début de chacun de vos tours.
Condition/&ConditionVileBrewTitle=Couvert d'acide
Condition/&ConditionWitchBoltDescription=Marqué par Witch Bolt.
Condition/&ConditionWitchBoltTitle=Trait de sorcière
@@ -64,7 +64,7 @@ Reaction/&ReactionSpendPowerBundleChaosBoltReactDescription=Choisissez un type d
Reaction/&ReactionSpendPowerBundleChaosBoltReactTitle=Trait du Chaos
Reaction/&ReactionSpendPowerBundleChaosBoltTitle=Trait du Chaos
Reaction/&SpendSpellSlotElementalInfusionDescription=Vous pouvez devenir résistant aux dégâts élémentaires reçus et infliger 1d6 dégâts élémentaires supplémentaires par niveau d'emplacement de sort lors de votre prochaine attaque.
-Reaction/&SpendSpellSlotElementalInfusionReactDescription=Absorber l’élément de dégâts entrant
+Reaction/&SpendSpellSlotElementalInfusionReactDescription=Absorber l'élément de dégâts entrant
Reaction/&SpendSpellSlotElementalInfusionReactTitle=Absorber l'élément
Reaction/&SpendSpellSlotElementalInfusionTitle=Attaque d'élément entrante !
Reaction/&SubitemSelectElementalInfusionTitle=Sélectionnez un emplacement.
@@ -76,7 +76,7 @@ Spell/&ChromaticOrbDescription=Vous lancez une sphère d'énergie de 4 pouces de
Spell/&ChromaticOrbTitle=Orbe chromatique
Spell/&EarthTremorDescription=Vous frappez le sol et déclenchez une secousse sismique, projetant de la terre, des roches et du sable.
Spell/&EarthTremorTitle=Tremblement de terre
-Spell/&ElementalInfusionDescription=Le sort capture une partie de l'énergie entrante, atténuant son effet sur vous et la stockant pour votre prochaine attaque de mêlée. Vous avez une résistance au type de dégâts déclencheur jusqu’au début de votre prochain tour. De plus, la première fois que vous frappez avec une attaque au corps à corps lors de votre prochain tour, la cible subit 1d6 dégâts supplémentaires au type de déclenchement et le sort prend fin. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, les dégâts supplémentaires augmentent de 1d6 pour chaque niveau d'emplacement supérieur au 1er.
+Spell/&ElementalInfusionDescription=Le sort capture une partie de l'énergie entrante, atténuant son effet sur vous et la stockant pour votre prochaine attaque de mêlée. Vous avez une résistance au type de dégâts déclencheur jusqu'au début de votre prochain tour. De plus, la première fois que vous frappez avec une attaque au corps à corps lors de votre prochain tour, la cible subit 1d6 dégâts supplémentaires au type de déclenchement et le sort prend fin. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, les dégâts supplémentaires augmentent de 1d6 pour chaque niveau d'emplacement supérieur au 1er.
Spell/&ElementalInfusionTitle=Absorber les éléments
Spell/&EnsnaringStrikeDescription=La prochaine fois que vous toucherez une créature avec une attaque avec une arme avant la fin de ce sort, une masse se tordant de vignes épineuses apparaîtra au point d'impact, et la cible devra réussir un jet de sauvegarde de Force ou être retenue par les vignes magiques jusqu'à la fin du sort. .Quand elle est retenue par ce sort, la cible subit 1d6 dégâts perforants au début de chacun de ses tours. Une créature retenue par les vignes peut utiliser son action pour effectuer un test de Force contre votre DD de sauvegarde de sort.
Spell/&EnsnaringStrikeTitle=Frappe prenante
@@ -109,7 +109,7 @@ Spell/&VileBrewDescription=Un jet d'acide émane de vous selon une ligne de 30 p
Spell/&VileBrewTitle=Bière caustique de Tasha
Spell/&VoidGraspDescription=Vous invoquez le pouvoir des forces malveillantes. Des vrilles d'énergie sombre jaillissent de vous et frappent toutes les créatures à moins de 3 mètres de vous. Chaque créature dans cette zone doit effectuer un jet de sauvegarde de Force. En cas d'échec, la cible subit 2d6 dégâts nécrotiques et ne peut réagir qu'au début de votre prochain tour. En cas de sauvegarde réussie, la créature subit la moitié des dégâts, mais ne subit aucun autre effet. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, les dégâts augmentent de 1d6 pour chaque niveau d'emplacement supérieur au 1er.
Spell/&VoidGraspTitle=Armes de Hadar
-Spell/&WitchBoltDescription=Un rayon d’énergie bleue crépitante se dirige vers une créature à portée, formant un arc d’éclair soutenu entre vous et la cible. Effectuez une attaque magique à distance contre cette créature. En cas de coup, la cible subit 1d12 dégâts de foudre, et à chacun de vos tours pendant toute la durée, vous pouvez utiliser votre action pour infliger automatiquement 1d12 dégâts de foudre à la cible. Le sort prend fin si vous utilisez votre action pour faire autre chose. Le sort prend également fin si la cible se trouve hors de portée du sort. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, les dégâts initiaux augmentent de 1d12 pour chaque niveau d'emplacement supérieur au 1er.
+Spell/&WitchBoltDescription=Un rayon d'énergie bleue crépitante se dirige vers une créature à portée, formant un arc d'éclair soutenu entre vous et la cible. Effectuez une attaque magique à distance contre cette créature. En cas de coup, la cible subit 1d12 dégâts de foudre, et à chacun de vos tours pendant toute la durée, vous pouvez utiliser votre action pour infliger automatiquement 1d12 dégâts de foudre à la cible. Le sort prend fin si vous utilisez votre action pour faire autre chose. Le sort prend également fin si la cible se trouve hors de portée du sort. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, les dégâts initiaux augmentent de 1d12 pour chaque niveau d'emplacement supérieur au 1er.
Spell/&WitchBoltTitle=Trait de sorcière
Spell/&WrathfulSmiteDescription=Votre prochain coup inflige 1d6 dégâts psychiques supplémentaires. Si la cible échoue au jet de sauvegarde du WIS, son esprit explose de douleur et elle devient effrayée.
Spell/&WrathfulSmiteTitle=Châtiment courroucé
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt
index c1610b0a5e..2b212c0b53 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=Vous ne pouvez pas réagir
Condition/&ConditionPsychicWhipNoReactionTitle=Le fouet mental de Tasha
Feature/&AttackModifierShadowBlade0Description=Attaque magique.
Feature/&AttackModifierShadowBladeNDescription=Attaque magique, inflige {0}d8 dégâts psychiques supplémentaires.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Vous pouvez vous déplacer dans l'espace de n'importe quelle créature
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Escapade cinétique
Feedback/&MirrorImageAttackerHasSense={0} a {1} et ignore {2}
Feedback/&MirrorImageAttackerIsBlind={0} est {1} et ignore {2}
Feedback/&MirrorImageRetargetResult={0} ciblera {1}
@@ -20,25 +22,33 @@ Reaction/&CustomReactionWitherAndBloomDescription=Vous avez {0}/{1} points de v
Reaction/&CustomReactionWitherAndBloomReactDescription=Récupérez des points de vie.
Reaction/&CustomReactionWitherAndBloomReactTitle=Flétrir et fleurir
Reaction/&CustomReactionWitherAndBloomTitle=Flétrir et fleurir
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Choisissez une compétence dans laquelle vous ne maîtrisez pas. Pendant 1 heure, vous maîtrisez la compétence choisie.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Avoir une maîtrise de la compétence choisie.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Connaissance empruntée
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Connaissance empruntée
Spell/&AganazzarScorcherDescription=Une ligne de flammes rugissantes de 30 pieds de long et 5 pieds de large émane de vous dans la direction que vous choisissez. Chaque créature de la ligne doit effectuer un jet de sauvegarde de Dextérité. Une créature subit 3d10 dégâts de feu en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 3 ou supérieur, les dégâts augmentent de 1d10 pour chaque niveau d'emplacement au-dessus du niveau 2.
Spell/&AganazzarScorcherTitle=Brûleur d'Aganazzar
-Spell/&BindingIceDescription=Une explosion d’énergie froide émane de vous dans un cône de 30 pieds. Chaque créature dans cette zone doit effectuer un jet de sauvegarde de Constitution. En cas d'échec, une créature subit 3d8 dégâts de froid et est gênée par les formations de glace pendant 1 minute, ou jusqu'à ce qu'elle utilise une action pour briser la glace. Une créature gênée par la glace voit sa vitesse réduite à 0. En cas de sauvegarde réussie, la créature subit deux fois moins de dégâts et n'est pas gênée par la glace.
+Spell/&BindingIceDescription=Une explosion d'énergie froide émane de vous dans un cône de 30 pieds. Chaque créature dans cette zone doit effectuer un jet de sauvegarde de Constitution. En cas d'échec, une créature subit 3d8 dégâts de froid et est gênée par les formations de glace pendant 1 minute, ou jusqu'à ce qu'elle utilise une action pour briser la glace. Une créature gênée par la glace voit sa vitesse réduite à 0. En cas de sauvegarde réussie, la créature subit deux fois moins de dégâts et n'est pas gênée par la glace.
Spell/&BindingIceTitle=Glace de liaison de Rime
+Spell/&BorrowedKnowledgeDescription=Vous faites appel aux connaissances des esprits du passé. Choisissez une compétence dans laquelle vous ne maîtrisez pas. Pendant 1 heure, vous maîtrisez la compétence choisie. Le sort se termine plus tôt si vous le lancez à nouveau.
+Spell/&BorrowedKnowledgeTitle=Connaissance empruntée
Spell/&CloudOfDaggersDescription=Vous remplissez l'air de poignards tournants dans un cube de 1,50 mètre de chaque côté, centré sur un point que vous choisissez à portée. Une créature subit 4d4 dégâts tranchants lorsqu'elle entre dans la zone du sort pour la première fois d'un tour ou qu'elle y commence son tour. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 3 ou supérieur, les dégâts augmentent de 2d4 pour chaque niveau d'emplacement supérieur au 2e.
Spell/&CloudOfDaggersTitle=Nuage de poignards
Spell/&ColorBurstDescription=Faites éclater un cube lumineux qui aveugle brièvement toute personne dans un rayon de 10 pieds. 8d10 est le nombre de points de vie des créatures que ce sort peut affecter.
Spell/&ColorBurstTitle=Éclat de couleur
+Spell/&KineticJauntDescription=Vous renforcez comme par magie votre mouvement avec des pas de danse, vous offrant les avantages suivants pour la durée :\n• Votre vitesse de marche augmente de 10 pieds.\n• Vous ne provoquez pas d'attaques d'opportunité.\n• Vous pouvez bouger. à travers l'espace de n'importe quelle créature.
+Spell/&KineticJauntTitle=Escapade cinétique
Spell/&MirrorImageDescription=Trois doublons illusoires de vous-même apparaissent dans votre espace. Jusqu'à la fin du sort, chaque fois qu'une créature vous cible avec une attaque, lancez un d20 pour déterminer si l'attaque cible à la place l'un de vos doublons.\nSi vous avez 3 doublons, vous devez lancer un 6 ou plus pour modifier l'attaque. cibler un doublon. Avec 2 doublons, vous devez obtenir un 8 ou plus. Avec 1 double, vous devez obtenir un 11 ou plus.\nLa classe d'armure d'un double est égale à 10 + votre modificateur de Dextérité. Si une attaque touche un double, celui-ci est détruit. Un double ne peut être détruit que par une attaque qui le touche. Il ignore tous les autres dégâts et effets. Le sort se termine lorsque les trois doublons sont détruits.\nUne créature n'est pas affectée par ce sort si elle est aveuglée ou si elle possède Blindsight, Truesight ou Tremorsense (ne s'applique pas si vous ne touchez pas le sol).
Spell/&MirrorImageTitle=Image miroir
Spell/&NoxiousSprayDescription=Vous libérez un jet de gaz nocifs sur une cible à portée. Effectuez une attaque magique à distance. En cas de coup sûr, la cible subit 4d6 dégâts de poison et doit réussir un jet de sauvegarde de Constitution ou passer tout son prochain tour à vomir et à vomir, incapable de bouger ou d'entreprendre des actions. Les constructions, les élémentaires et les morts-vivants ne sont pas affectés par ce sort. Lorsque vous lancez ce sort en utilisant un emplacement de niveau 3 ou supérieur, vous pouvez cibler une créature supplémentaire pour chaque niveau d'emplacement supérieur au 2e.
Spell/&NoxiousSprayTitle=Spray nocif
-Spell/&PetalStormDescription=Choisissez un cube d’air inoccupé de 15 pieds que vous pouvez voir à portée. Une force élémentaire de vents tourbillonnants apparaît dans le cube et dure pendant toute la durée du sort. Le nuage obscurcit fortement sa zone. Toute créature qui entre dans la tempête pour la première fois lors d'un tour ou qui y commence son tour doit effectuer un jet de sauvegarde de Force. En cas d'échec, la créature subit 3d4 dégâts tranchants. Par une action bonus, vous pouvez déplacer la tempête jusqu'à 9 mètres dans n'importe quelle direction.
+Spell/&PetalStormDescription=Choisissez un cube d'air inoccupé de 15 pieds que vous pouvez voir à portée. Une force élémentaire de vents tourbillonnants apparaît dans le cube et dure pendant toute la durée du sort. Le nuage obscurcit fortement sa zone. Toute créature qui entre dans la tempête pour la première fois lors d'un tour ou qui y commence son tour doit effectuer un jet de sauvegarde de Force. En cas d'échec, la créature subit 3d4 dégâts tranchants. Par une action bonus, vous pouvez déplacer la tempête jusqu'à 9 mètres dans n'importe quelle direction.
Spell/&PetalStormTitle=Tempête de pétales
Spell/&ProtectThresholdDescription=En traçant des sceaux arcaniques le long de ses limites, vous pouvez protéger une porte, une fenêtre ou un autre portail de l'entrée. Pendant toute cette durée, une créature surnaturelle invisible traque le portail protégé. Toute créature qui tente de franchir le portail doit effectuer un jet de sauvegarde de Sagesse ou subir 4d6 dégâts psychiques, ou la moitié en cas de réussite.
Spell/&ProtectThresholdTitle=Seuil de protection
Spell/&PsychicWhipDescription=Vous vous attaquez psychiquement à une créature que vous pouvez voir à portée. La cible doit effectuer un jet de sauvegarde d'Intelligence. En cas d'échec, la cible subit 3d6 dégâts psychiques et ne peut réagir qu'à la fin de son prochain tour. De plus, lors de son prochain tour, il doit choisir s'il obtient un déplacement, une action ou une action bonus ; il n'obtient qu'un seul des trois. En cas de sauvegarde réussie, la cible subit la moitié de dégâts et ne subit aucun des autres effets du sort. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 3 ou supérieur, vous pouvez cibler une créature supplémentaire pour chaque niveau d'emplacement supérieur au 2e.
Spell/&PsychicWhipTitle=Le fouet mental de Tasha
-Spell/&ShadowBladeDescription=Vous tissez des fils d’ombre pour créer une épée de ténèbres solidifiée dans votre main.
+Spell/&ShadowBladeDescription=Vous tissez des fils d'ombre pour créer une épée de ténèbres solidifiée dans votre main.
Spell/&ShadowBladeTitle=Lame de l'ombre
Spell/&SnillocSnowballStormDescription=Une rafale de boules de neige magiques éclate à partir d'un point que vous choisissez à portée. Chaque créature dans un cube 3x3 centré sur ce point doit effectuer un jet de sauvegarde de Dextérité. Une créature subit 3d8 dégâts de froid en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 3 ou supérieur, les dégâts augmentent de 1d8 pour chaque niveau d'emplacement au-dessus du niveau 2.
Spell/&SnillocSnowballStormTitle=Tempête de boules de neige de Snilloc
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt
index a45ae3a133..49a3d1d534 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt
@@ -42,7 +42,7 @@ Spell/&BoomingStepDescription=Vous vous téléportez dans un espace inoccupé qu
Spell/&BoomingStepTitle=Étape du tonnerre
Spell/&CorruptingBoltDescription=Vous pouvez déclencher une impulsion d'énergie nécrotique qui provoque le flétrissement et la décomposition du corps d'une créature. Effectuez une attaque à distance contre une créature. En cas de coup, la cible subit 4d8 dégâts nécrotiques et doit réussir un jet de sauvegarde de Constitution. En cas d'échec d'un jet de sauvegarde, la prochaine fois que vous ou un de vos alliés frappez la créature corrompue avec une attaque avant la fin de votre prochain tour, la créature devient vulnérable à tous les dégâts de cette attaque, et la corruption prend alors fin. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, les dégâts augmentent de 1d8 pour chaque niveau d'emplacement au-dessus du niveau 3.
Spell/&CorruptingBoltTitle=Trait corrupteur
-Spell/&CrusadersMantleDescription=Entourez-vous d’une aura magique. Les alliés dans l’aura bénéficient d’un bonus de 1d4 dégâts radiants sur leurs attaques.
+Spell/&CrusadersMantleDescription=Entourez-vous d'une aura magique. Les alliés dans l'aura bénéficient d'un bonus de 1d4 dégâts radiants sur leurs attaques.
Spell/&CrusadersMantleTitle=Manteau du croisé
Spell/&ElementalWeaponDamageAcidDescription=Imprègne une arme non magique de dégâts acides.
Spell/&ElementalWeaponDamageAcidTitle=Arme élémentaire acide
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Vous devez utiliser une arme à distance. Lorsqu'u
Spell/&FlameArrowsTitle=Flèches de flammes
Spell/&HungerOfTheVoidDescription=Vous ouvrez une porte vers l'obscurité entre les étoiles, une région infestée d'horreurs inconnues. Une sphère de noirceur et de froid glacial d'un rayon de 20 pieds apparaît, centrée sur un point avec une portée et qui dure toute la durée. La zone éteint la lumière et les créatures qui s'y trouvent sont aveuglées. Toute créature qui commence son tour dans la zone subit 2d6 dégâts de froid. Toute créature qui termine son tour dans la zone doit réussir un jet de sauvegarde de Dextérité ou subir 2d6 dégâts d'acide alors que des tentacules laiteux d'un autre monde se frottent contre elle.
Spell/&HungerOfTheVoidTitle=Faim de Hadar
-Spell/&LightningArrowDescription=La prochaine fois que vous effectuerez une attaque à distance avec une arme pendant la durée du sort, les munitions de l'arme, ou l'arme elle-même s'il s'agit d'une arme de lancer, se transformeront en un éclair. Effectuez le jet d’attaque normalement. La cible subit 3d8 dégâts de foudre en cas de coup, ou la moitié de ces dégâts en cas d'échec. Que vous touchiez ou ratiez votre cible, chaque créature située à moins de 3 mètres de la cible doit effectuer un jet de sauvegarde de Dextérité. Chacune de ces créatures subit 2d8 dégâts de foudre en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, les dégâts des deux effets du sort augmentent de 1d8 pour chaque niveau d'emplacement au-dessus du niveau 3.
+Spell/&IntellectFortressDescription=Pendant toute la durée du sort, vous ou une créature volontaire que vous pouvez voir à portée avez une résistance aux dégâts psychiques, ainsi qu'un avantage aux jets de sauvegarde d'Intelligence, de Sagesse et de Charisme. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, vous pouvez cibler une créature supplémentaire à portée pour chaque niveau d'emplacement au-dessus du niveau 3.
+Spell/&IntellectFortressTitle=Forteresse intellectuelle
+Spell/&LightningArrowDescription=La prochaine fois que vous effectuerez une attaque à distance avec une arme pendant la durée du sort, les munitions de l'arme, ou l'arme elle-même s'il s'agit d'une arme de lancer, se transformeront en un éclair. Effectuez le jet d'attaque normalement. La cible subit 3d8 dégâts de foudre en cas de coup, ou la moitié de ces dégâts en cas d'échec. Que vous touchiez ou ratiez votre cible, chaque créature située à moins de 3 mètres de la cible doit effectuer un jet de sauvegarde de Dextérité. Chacune de ces créatures subit 2d8 dégâts de foudre en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, les dégâts des deux effets du sort augmentent de 1d8 pour chaque niveau d'emplacement au-dessus du niveau 3.
Spell/&LightningArrowTitle=Flèche de foudre
+Spell/&PsionicBlastDescription=Vous libérez une vague de puissance mentale destructrice dans un cône de 9 mètres. Chaque créature présente dans la zone doit effectuer un jet de sauvegarde de Dextérité. En cas d'échec, la cible subit 5d8 dégâts de force, est poussée à 6 mètres directement de vous et est projetée à terre. En cas de sauvegarde réussie, la cible subit deux fois moins de dégâts et n’est ni poussée ni mise à terre. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, les dégâts augmentent de 1d8 pour chaque niveau d'emplacement au-dessus du niveau 3.
+Spell/&PsionicBlastTitle=Explosion psionique
Spell/&PulseWaveDescription=Chassez les ennemis avec une pression gravitationnelle intense.
Spell/&PulseWaveTitle=Onde de pouls
Spell/&SpiritShroudDamageColdDescription=Inflige des dégâts de froid supplémentaires.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells04-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells04-fr.txt
index 459690ef9f..44191df759 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells04-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells04-fr.txt
@@ -20,9 +20,9 @@ Feedback/&AdditionalDamageStaggeringSmiteFormat=Châtiment stupéfiant !
Feedback/&AdditionalDamageStaggeringSmiteLine={0} inflige plus de dégâts à {1} grâce à un châtiment stupéfiant (+{2})
Proxy/&ProxyFaithfulHoundDescription=Chien fidèle qui inflige 4d8 dégâts perforants à l'impact.
Proxy/&ProxyFaithfulHoundTitle=Le chien fidèle de Mordenkainen
-Spell/&AuraOfPerseveranceDescription=Une énergie purificatrice rayonne de vous dans une aura d’un rayon de 9 mètres. Jusqu'à la fin du sort, l'aura se déplace avec vous, centrée sur vous. Chaque créature non hostile dans l'aura, y compris vous, ne peut pas tomber malade, a une résistance aux dégâts de poison et a un avantage aux jets de sauvegarde contre les effets qui provoquent l'une des conditions suivantes : aveuglé, charmé, assourdi, effrayé, paralysé, empoisonné et abasourdi.
+Spell/&AuraOfPerseveranceDescription=Une énergie purificatrice rayonne de vous dans une aura d'un rayon de 9 mètres. Jusqu'à la fin du sort, l'aura se déplace avec vous, centrée sur vous. Chaque créature non hostile dans l'aura, y compris vous, ne peut pas tomber malade, a une résistance aux dégâts de poison et a un avantage aux jets de sauvegarde contre les effets qui provoquent l'une des conditions suivantes : aveuglé, charmé, assourdi, effrayé, paralysé, empoisonné et abasourdi.
Spell/&AuraOfPerseveranceTitle=Aura de pureté
-Spell/&AuraOfVitalityDescription=Une énergie vitale rayonne de vous dans une aura d’un rayon de 9 mètres. Jusqu'à la fin du sort, l'aura se déplace avec vous, centrée sur vous. Chaque créature non hostile dans l'aura, vous y compris, a une résistance aux dégâts nécrotiques et son maximum de points de vie ne peut pas être réduit. De plus, une créature vivante non hostile récupère 1 point de vie lorsqu'elle commence son tour dans l'aura avec 0 point de vie.
+Spell/&AuraOfVitalityDescription=Une énergie vitale rayonne de vous dans une aura d'un rayon de 9 mètres. Jusqu'à la fin du sort, l'aura se déplace avec vous, centrée sur vous. Chaque créature non hostile dans l'aura, vous y compris, a une résistance aux dégâts nécrotiques et son maximum de points de vie ne peut pas être réduit. De plus, une créature vivante non hostile récupère 1 point de vie lorsqu'elle commence son tour dans l'aura avec 0 point de vie.
Spell/&AuraOfVitalityTitle=Aura de vie
Spell/&BeastForestGuardianDescription=Une fourrure bestiale recouvre votre corps, les traits de votre visage deviennent sauvages et vous bénéficiez des avantages suivants :\n• Votre vitesse de marche augmente de 10 pieds.\n• Vous bénéficiez d'une vision dans le noir avec une portée de 120 pieds.\n• Vous effectuez des jets d'attaque basés sur la Force avec avantage.\n• Vos attaques avec une arme de mêlée infligent 1d6 dégâts de force supplémentaires en cas de coup.
Spell/&BeastForestGuardianTitle=Bête sauvage
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt
index 1aeedb5c13..7befc225cb 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt
@@ -12,19 +12,19 @@ Spell/&BanishingSmiteDescription=Votre prochain coup inflige 5d10 dégâts de fo
Spell/&BanishingSmiteTitle=Bannir le Châtiment
Spell/&CircleOfMagicalNegationDescription=L'énergie divine rayonne de vous, déformant et diffusant l'énergie magique dans un rayon de 9 mètres autour de vous. Jusqu'à la fin du sort, la sphère se déplace avec vous, centrée sur vous. Pendant toute la durée de l'effet, chaque créature amie présente dans la zone, vous y compris, bénéficie d'un avantage aux jets de sauvegarde contre les sorts et autres effets magiques. De plus, lorsqu'une créature affectée réussit un jet de sauvegarde contre un sort ou un effet magique qui lui permet d'effectuer un jet de sauvegarde pour ne subir que la moitié des dégâts, elle ne subit aucun dégât si elle réussit les jets de sauvegarde.
Spell/&CircleOfMagicalNegationTitle=Cercle de pouvoir
-Spell/&DawnDescription=La lumière de l’aube éclaire un endroit que vous spécifiez à portée. Jusqu'à la fin du sort, un cylindre de lumière vive de 9 mètres de rayon et de 12 mètres de haut y scintille. Cette lumière est la lumière du soleil. Lorsque le cylindre apparaît, chaque créature qu'il contient doit effectuer un jet de sauvegarde de Constitution, subissant 4d10 dégâts radiants en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Une créature doit également effectuer ce jet de sauvegarde à chaque fois qu'elle termine son tour dans le cylindre. Si vous êtes à moins de 60 pieds du cylindre, vous pouvez le déplacer jusqu'à 60 pieds par une action bonus pendant votre tour.
+Spell/&DawnDescription=La lumière de l'aube éclaire un endroit que vous spécifiez à portée. Jusqu'à la fin du sort, un cylindre de lumière vive de 9 mètres de rayon et de 12 mètres de haut y scintille. Cette lumière est la lumière du soleil. Lorsque le cylindre apparaît, chaque créature qu'il contient doit effectuer un jet de sauvegarde de Constitution, subissant 4d10 dégâts radiants en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Une créature doit également effectuer ce jet de sauvegarde à chaque fois qu'elle termine son tour dans le cylindre. Si vous êtes à moins de 60 pieds du cylindre, vous pouvez le déplacer jusqu'à 60 pieds par une action bonus pendant votre tour.
Spell/&DawnTitle=Aube
-Spell/&DivineWrathDescription=Vous frappez le sol, créant une explosion d’énergie divine qui se propage vers l’extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts radiants ou nécrotiques, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
-Spell/&DivineWrathNecroticDescription=Vous frappez le sol, créant une explosion d’énergie divine qui se propage vers l’extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts nécrotiques, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
+Spell/&DivineWrathDescription=Vous frappez le sol, créant une explosion d'énergie divine qui se propage vers l'extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts radiants ou nécrotiques, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
+Spell/&DivineWrathNecroticDescription=Vous frappez le sol, créant une explosion d'énergie divine qui se propage vers l'extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts nécrotiques, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
Spell/&DivineWrathNecroticTitle=Vague destructrice [Nécrotique]
-Spell/&DivineWrathRadiantDescription=Vous frappez le sol, créant une explosion d’énergie divine qui se propage vers l’extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts radiants, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
+Spell/&DivineWrathRadiantDescription=Vous frappez le sol, créant une explosion d'énergie divine qui se propage vers l'extérieur. Chaque créature que vous choisissez à moins de 9 mètres de vous doit réussir un jet de sauvegarde de Constitution ou subir 5d6 dégâts de tonnerre, ainsi que 5d6 dégâts radiants, et être mise à terre. Une créature qui réussit son jet de sauvegarde subit la moitié de dégâts et n'est pas mise à terre.
Spell/&DivineWrathRadiantTitle=Vague destructrice [radieuse]
Spell/&DivineWrathTitle=Vague destructrice
Spell/&FarStepDescription=Vous vous téléportez jusqu'à 60 pieds dans un espace inoccupé que vous pouvez voir. A chacun de vos tours avant la fin du sort, vous pouvez utiliser une action bonus pour vous téléporter à nouveau de cette manière.
Spell/&FarStepTitle=Pas lointain
Spell/&IncinerationDescription=Les flammes enveloppent une créature que vous pouvez voir à portée. La cible doit effectuer un jet de sauvegarde de Dextérité. Il subit 8d6 dégâts de feu en cas d'échec, ou la moitié de ces dégâts en cas de réussite. En cas d'échec, la cible brûle également pendant toute la durée du sort. La cible en feu projette une lumière vive dans un rayon de 9 mètres et une lumière faible sur 9 mètres supplémentaires et subit 8d6 dégâts de feu au début de chacun de ses tours.
Spell/&IncinerationTitle=Immolation
-Spell/&MantleOfThornsDescription=Entourez-vous d’une aura d’épines. Ceux qui commencent ou traversent subissent 2d8 dégâts perforants. Ces dégâts augmentent aux niveaux supérieurs de 1d8 par emplacement.
+Spell/&MantleOfThornsDescription=Entourez-vous d'une aura d'épines. Ceux qui commencent ou traversent subissent 2d8 dégâts perforants. Ces dégâts augmentent aux niveaux supérieurs de 1d8 par emplacement.
Spell/&MantleOfThornsTitle=Manteau d'épines
Spell/&SonicBoomDescription=Un petit orbe de la même couleur que le ballon utilisé apparaît à un point que vous choisissez à portée, puis se dilate avec un grand craquement en une explosion de force. Chaque créature dans un rayon de 9 mètres doit effectuer un jet de sauvegarde de Force. Une cible est repoussée jusqu'à 9 mètres du centre et inflige 6d8 dégâts de tonnerre en cas d'échec, ou la moitié de ces dégâts et aucun mouvement en cas de réussite.
Spell/&SonicBoomTitle=Détonation supersonique
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells06-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells06-fr.txt
index 4842e419f7..b41f722754 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells06-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells06-fr.txt
@@ -1,4 +1,4 @@
-Condition/&ConditionHeroicInfusionDescription=Vous vous dotez d’une endurance et de prouesses martiales alimentées par la magie.
+Condition/&ConditionHeroicInfusionDescription=Vous vous dotez d'une endurance et de prouesses martiales alimentées par la magie.
Condition/&ConditionHeroicInfusionTitle=Transformation du Tenseur
Feature/&PowerRingOfBladesDescription=Par une action bonus, vous pouvez lancer une attaque magique à distance sur une créature située à moins de 60 pieds de vous, en utilisant l'une de vos épées Ring of Blades.
Feature/&PowerRingOfBladesTitle=Anneau de lames
@@ -8,7 +8,7 @@ Spell/&FizbanPlatinumShieldDescription=Vous créez un champ de lumière argenté
Spell/&FizbanPlatinumShieldTitle=Bouclier de platine de Fizban
Spell/&FlashFreezeDescription=Vous tentez d'enfermer une créature que vous pouvez voir à portée dans une prison de glace solide. La cible doit effectuer un jet de sauvegarde de Dextérité. En cas d'échec, la cible subit 10d6 dégâts de froid et est retenue dans des couches de glace épaisse. En cas de sauvegarde réussie, la cible subit deux fois moins de dégâts et n'est pas retenue. Le sort ne peut être utilisé que sur des créatures de grande taille. Pour s'échapper, la cible maîtrisée peut effectuer un test de Force en tant qu'action contre votre DD de sauvegarde de sort. En cas de succès, la cible s'échappe et n'est plus retenue. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 7 ou supérieur, les dégâts de froid augmentent de 2d6 pour chaque niveau d'emplacement supérieur au 6.
Spell/&FlashFreezeTitle=Gel instantané
-Spell/&HeroicInfusionDescription=Vous vous dotez d’une endurance et de prouesses martiales alimentées par la magie. Jusqu'à la fin du sort, vous ne pouvez pas lancer de sorts et vous bénéficiez des avantages suivants :\n• Vous gagnez 50 points de vie temporaires. Si l'un d'entre eux reste à la fin du sort, il est perdu.\n• Vous avez un avantage sur les jets d'attaque que vous effectuez avec des armes simples et martiales.\n• Lorsque vous touchez une cible avec une attaque avec une arme, cette cible prend 2d12 dégâts de force supplémentaires.\n• Vous disposez des compétences d'armure, d'armes et de jets de sauvegarde de classe Combattant.\n• Vous pouvez attaquer deux fois, au lieu d'une, lorsque vous effectuez l'action d'attaque à votre tour.\n Immédiatement après la fin du sort, vous devez réussir un jet de sauvegarde de Constitution DD 15 ou subir un niveau d'épuisement.
+Spell/&HeroicInfusionDescription=Vous vous dotez d'une endurance et de prouesses martiales alimentées par la magie. Jusqu'à la fin du sort, vous ne pouvez pas lancer de sorts et vous bénéficiez des avantages suivants :\n• Vous gagnez 50 points de vie temporaires. Si l'un d'entre eux reste à la fin du sort, il est perdu.\n• Vous avez un avantage sur les jets d'attaque que vous effectuez avec des armes simples et martiales.\n• Lorsque vous touchez une cible avec une attaque avec une arme, cette cible prend 2d12 dégâts de force supplémentaires.\n• Vous disposez des compétences d'armure, d'armes et de jets de sauvegarde de classe Combattant.\n• Vous pouvez attaquer deux fois, au lieu d'une, lorsque vous effectuez l'action d'attaque à votre tour.\n Immédiatement après la fin du sort, vous devez réussir un jet de sauvegarde de Constitution DD 15 ou subir un niveau d'épuisement.
Spell/&HeroicInfusionTitle=Transformation du Tenseur
Spell/&MysticalCloakDescription=En prononçant une incantation, vous faites appel à la magie des plans inférieurs ou supérieurs (votre choix) pour vous transformer.
Spell/&MysticalCloakHigherPlaneDescription=Vous êtes immunisé contre les dégâts radiants et nécrotiques, immunisé contre la condition charmée. Vous gagnez un bonus de +2 à la CA, une vitesse de vol de 40 pieds, une attaque supplémentaire, toutes les attaques sont magiques et vous pouvez utiliser votre attribut de capacité de sort au lieu de STR ou DEX lorsque vous effectuez l'action d'attaque à votre tour.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt
index e79b921e08..dd420c3708 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt
@@ -1,4 +1,4 @@
-Condition/&ConditionForesightDescription=Avantage sur tous les jets d’attaque, tests de caractéristiques et jets de sauvegarde. Les autres créatures ont un désavantage aux jets d'attaque.
+Condition/&ConditionForesightDescription=Avantage sur tous les jets d'attaque, tests de caractéristiques et jets de sauvegarde. Les autres créatures ont un désavantage aux jets d'attaque.
Condition/&ConditionForesightTitle=Prévoyance
Condition/&ConditionTimeStopDescription=Le temps est figé pour la créature affectée.
Condition/&ConditionTimeStopTitle=Temps arrêté
@@ -6,11 +6,11 @@ Condition/&ConditionWeirdDescription=Effrayé. A la fin de chaque tour, effectue
Condition/&ConditionWeirdTitle=Bizarre
Spell/&ForesightDescription=Vous touchez une créature volontaire et lui confèrez une capacité limitée à voir dans le futur immédiat. Pendant toute sa durée, la cible ne peut pas être surprise et a un avantage aux jets d'attaque, aux tests de caractéristiques et aux jets de sauvegarde. De plus, d'autres créatures ont un désavantage aux jets d'attaque contre la cible pendant toute la durée du sort.
Spell/&ForesightTitle=Prévoyance
-Spell/&MassHealDescription=Un flot d’énergie curative circule de vous vers les créatures blessées autour de vous. Vous restaurez 120 points de vie chacun à 6 créatures que vous pouvez voir à portée. Les créatures soignées par ce sort sont également guéries de toutes les maladies et de tout effet les rendant aveuglées ou assourdies. Ce sort n'a aucun effet sur les morts-vivants ou les constructions.
+Spell/&MassHealDescription=Un flot d'énergie curative circule de vous vers les créatures blessées autour de vous. Vous restaurez 120 points de vie chacun à 6 créatures que vous pouvez voir à portée. Les créatures soignées par ce sort sont également guéries de toutes les maladies et de tout effet les rendant aveuglées ou assourdies. Ce sort n'a aucun effet sur les morts-vivants ou les constructions.
Spell/&MassHealTitle=Guérison de masse
Spell/&MeteorSwarmSingleTargetDescription=Des orbes de feu flamboyants tombent au sol en un seul point que vous pouvez voir à portée. Chaque créature dans une sphère de 40 pieds de rayon centrée sur le point que vous choisissez doit effectuer un jet de sauvegarde de Dextérité. La sphère s'étend dans les coins. Une créature subit 20d6 dégâts de feu et 20d6 dégâts contondants en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Une créature située dans la zone de plusieurs explosions de feu n'est affectée qu'une seule fois.
Spell/&MeteorSwarmSingleTargetTitle=Essaim de météores
-Spell/&PowerWordHealDescription=Une vague d’énergie curative envahit la créature que vous touchez. La cible récupère tous ses points de vie. Si la créature est charmée, effrayée, paralysée ou étourdie, la condition prend fin. Si la créature est à terre, elle peut utiliser sa réaction pour se relever. Ce sort n'a aucun effet sur les morts-vivants ou les constructions.
+Spell/&PowerWordHealDescription=Une vague d'énergie curative envahit la créature que vous touchez. La cible récupère tous ses points de vie. Si la créature est charmée, effrayée, paralysée ou étourdie, la condition prend fin. Si la créature est à terre, elle peut utiliser sa réaction pour se relever. Ce sort n'a aucun effet sur les morts-vivants ou les constructions.
Spell/&PowerWordHealTitle=Guérison par mot de pouvoir
Spell/&PowerWordKillDescription=Vous prononcez un mot de pouvoir qui peut contraindre une créature que vous pouvez voir à portée de mourir instantanément. Si la créature que vous choisissez a 100 points de vie ou moins, elle meurt. Sinon, le sort n'a aucun effet.
Spell/&PowerWordKillTitle=Tuer le mot de pouvoir
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Vous prenez la forme d'une créature différente p
Spell/&ShapechangeTitle=Changement de forme
Spell/&TimeStopDescription=Vous arrêtez brièvement l'écoulement du temps pour tout le monde sauf vous-même. Aucun temps ne s'écoule pour les autres créatures, alors que vous effectuez 1d4 + 1 tours consécutifs, pendant lesquels vous pouvez utiliser des actions et vous déplacer normalement.
Spell/&TimeStopTitle=Arrêt du temps
-Spell/&WeirdDescription=En vous appuyant sur les peurs les plus profondes d'un groupe de créatures, vous créez des créatures illusoires dans leur esprit, visibles uniquement par elles. Chaque créature dans une sphère de 9 mètres de rayon centrée sur un point de votre choix à portée doit effectuer un jet de sauvegarde de Sagesse. En cas d'échec, la créature devient effrayée pour toute la durée du sort. L'illusion fait appel aux peurs les plus profondes de la créature, manifestant ses pires cauchemars comme une menace implacable. À la fin de chacun des tours de la créature effrayée, elle doit réussir un jet de sauvegarde de Sagesse ou subir 4d10 dégâts psychiques. En cas de sauvegarde réussie, le sort prend fin pour cette créature.
+Spell/&WeirdDescription=En vous appuyant sur les peurs les plus profondes d'un groupe de créatures, vous créez des créatures illusoires dans leur esprit, visibles uniquement par elles. Chaque ennemi dans une sphère de 9 mètres de rayon centrée sur un point de votre choix à portée doit effectuer un jet de sauvegarde de Sagesse. En cas d'échec, la créature devient effrayée pour toute la durée du sort. L'illusion fait appel aux peurs les plus profondes de la créature, manifestant ses pires cauchemars comme une menace implacable. À la fin de chacun des tours de la créature effrayée, elle doit réussir un jet de sauvegarde de Sagesse ou subir 4d10 dégâts psychiques. En cas de sauvegarde réussie, le sort prend fin pour cette créature.
Spell/&WeirdTitle=Bizarre
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt
index ad796ff586..0bbc062d81 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt
@@ -1,4 +1,4 @@
-Condition/&ConditionAncientForestPhotosynthesisDescription=Vous pouvez absorber l’énergie du soleil. Tant que vous êtes en pleine lumière directe, vous récupérez 2 PV au début de votre tour.
+Condition/&ConditionAncientForestPhotosynthesisDescription=Vous pouvez absorber l'énergie du soleil. Tant que vous êtes en pleine lumière directe, vous récupérez 2 PV au début de votre tour.
Condition/&ConditionAncientForestPhotosynthesisTitle=Photosynthèse
Condition/&ConditionAncientForestRootedDescription=Des vrilles arboricoles poussent sur vos pieds et s'enfoncent dans le sol. Vous pouvez lancer un enchevêtrement à volonté. Votre vitesse devient 0 et vous gagnez un avantage sur tous les jets de sauvegarde pour vous pousser, vous tirer ou vous mettre à terre.
Condition/&ConditionAncientForestRootedTitle=Enraciné
@@ -20,11 +20,11 @@ Feature/&BonusCantripAncientForestDescription=Vous apprendrez des secrets sur la
Feature/&BonusCantripAncientForestTitle=Cantrips bonus de la forêt ancienne
Feature/&FeatureSetWallOfThornsDescription=Lancez Mur d'épines un nombre de fois par jour égal à votre bonus de maîtrise.
Feature/&FeatureSetWallOfThornsTitle=Barrière forestière
-Feature/&LightAffinityAncientForestPhotosynthesisDescription=Vous pouvez absorber l’énergie du soleil. Tant que vous êtes sous une lumière directe et vive, vous gagnez 2 HP par tour.
+Feature/&LightAffinityAncientForestPhotosynthesisDescription=Vous pouvez absorber l'énergie du soleil. Tant que vous êtes sous une lumière directe et vive, vous gagnez 2 HP par tour.
Feature/&LightAffinityAncientForestPhotosynthesisTitle=Photosynthèse
Feature/&OnMagicalAttackDamageEffectAncientForestLifeSapDescription=Lorsque vous endommagez un ennemi avec un sort, vous récupérez des PV égaux à la moitié de votre niveau une fois par tour. Si vous avez moins de la moitié de vos PV, vous soignez des PV égaux à votre niveau, mais seulement jusqu'à la moitié de vos PV maximum.
Feature/&OnMagicalAttackDamageEffectAncientForestLifeSapTitle=Sève de vie
-Feature/&PowerAncientForestRegrowthDescription=Vous disposez d’une réserve de pouvoir de guérison qui se reconstitue lorsque vous prenez un long repos. Avec cette réserve, vous pouvez restaurer un nombre total de points de vie égal à votre niveau de Druide × 5.
+Feature/&PowerAncientForestRegrowthDescription=Vous disposez d'une réserve de pouvoir de guérison qui se reconstitue lorsque vous prenez un long repos. Avec cette réserve, vous pouvez restaurer un nombre total de points de vie égal à votre niveau de Druide × 5.
Feature/&PowerAncientForestRegrowthTitle=Repousse
Feature/&PowerAncientForestRootedDescription=Des vrilles arboricoles poussent sur vos pieds et s'enfoncent dans le sol. Votre vitesse devient 0 et vous bénéficiez d'un avantage à tous les jets de sauvegarde pour vous pousser, vous tirer ou vous mettre à terre. Vous pouvez lancer enchevêtrement à volonté.
Feature/&PowerAncientForestRootedTitle=Enraciné
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheCosmos-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheCosmos-fr.txt
index 25787b1904..9bcd4ab82a 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheCosmos-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheCosmos-fr.txt
@@ -1,4 +1,4 @@
-Feature/&DieRollModifierCircleOfTheCosmosDragonAbilityDescription=Lorsque vous effectuez un test d’Intelligence ou de Sagesse, vous pouvez traiter un résultat de 9 ou moins sur le d20 comme un 10.
+Feature/&DieRollModifierCircleOfTheCosmosDragonAbilityDescription=Lorsque vous effectuez un test d'Intelligence ou de Sagesse, vous pouvez traiter un résultat de 9 ou moins sur le d20 comme un 10.
Feature/&DieRollModifierCircleOfTheCosmosDragonConcentrationDescription=Lorsque vous effectuez un jet de sauvegarde de Constitution pour rester concentré sur un sort, vous pouvez traiter un résultat de 9 ou moins sur le d20 comme un 10.
Feature/&FeatureCircleOfTheCosmosNovaStarDescription=Sous votre forme étoilée, vous devenez partiellement incorporel, vous conférant une résistance aux dégâts contondants, perçants et tranchants.
Feature/&FeatureCircleOfTheCosmosNovaStarTitle=Plein d'étoiles
@@ -6,7 +6,7 @@ Feature/&FeatureSetCircleOfTheCosmosConstellationFormDescription=En tant qu'acti
Feature/&FeatureSetCircleOfTheCosmosConstellationFormTitle=Forme étoilée
Feature/&FeatureSetCircleOfTheCosmosConstellationMapDescription=Vous avez créé une carte des étoiles dans le cadre de vos études célestes. Lorsque vous tenez cette carte, vous bénéficiez des avantages suivants :\n• Vous connaissez le sort mineur Guidage.\n• Vous avez préparé le sort Trait de guidage et pouvez le lancer sans dépenser d'emplacement de sort. Vous pouvez le faire un nombre de fois égal à votre bonus de maîtrise, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long.
Feature/&FeatureSetCircleOfTheCosmosConstellationMapTitle=Carte des étoiles
-Feature/&FeatureSetCircleOfTheCosmosTwinklingStarsDescription=Les constellations de votre Forme Étoilée s’améliorent. Le 1d8 de l'Archer et du Calice devient 2d8, et tant que le Dragon est actif, vous avez une vitesse de vol de 20 pieds. De plus, si vous n'avez pas encore bougé ou utilisé de bonus ou d'action principale sous votre Forme Étoilée, vous peut changer la constellation qui scintille sur votre corps.
+Feature/&FeatureSetCircleOfTheCosmosTwinklingStarsDescription=Les constellations de votre Forme Étoilée s'améliorent. Le 1d8 de l'Archer et du Calice devient 2d8, et tant que le Dragon est actif, vous avez une vitesse de vol de 20 pieds. De plus, si vous n'avez pas encore bougé ou utilisé de bonus ou d'action principale sous votre Forme Étoilée, vous peut changer la constellation qui scintille sur votre corps.
Feature/&FeatureSetCircleOfTheCosmosTwinklingStarsTitle=Constellations scintillantes
Feature/&PowerCircleOfTheCosmosArcherConstellationFormDescription=Une constellation d'archer apparaît sur vous. Lorsque vous activez cette forme, et comme une action bonus lors de vos tours suivants pendant qu'elle dure, vous pouvez effectuer une attaque magique à distance, lançant une flèche lumineuse qui cible une créature à moins de 60 pieds de vous. En cas de coup, l'attaque inflige des dégâts radiants égaux à 1d8 + votre modificateur de Sagesse. Ces dégâts augmentent à 2d8 + votre modificateur de Sagesse au niveau 10.
Feature/&PowerCircleOfTheCosmosArcherConstellationFormTitle=Archer
@@ -33,7 +33,7 @@ Feedback/&CosmosOmenCheckToHitRoll={0} utilise {1} pour lancer un D6 et ajoute {
Feedback/&CosmosOmenSavingToHitRoll={0} utilise {1} pour lancer un D6 et ajoute {2} au jet de sauvegarde ({3})
Feedback/&DieRollModifierCircleOfTheCosmosDragonReroll=À cause de Dragon, {0} force le dé {1} à 10.
Reaction/&SpendPowerWealCosmosOmenAttackDescription={0} ont manqué {1}. {2} peut réagir en lançant un D6 et ajouter le résultat au jet d'attaque.
-Reaction/&SpendPowerWealCosmosOmenAttackReactDescription=Lancez un D6 pour l’ajouter au jet d’attaque.
+Reaction/&SpendPowerWealCosmosOmenAttackReactDescription=Lancez un D6 pour l'ajouter au jet d'attaque.
Reaction/&SpendPowerWealCosmosOmenAttackReactTitle=Bonheur
Reaction/&SpendPowerWealCosmosOmenAttackTitle=Présage cosmique : Bienheureux
Reaction/&SpendPowerWealCosmosOmenCheckDescription={0} a échoué à un jet de contrôle. {1} peut réagir en lançant un D6 et ajouter le résultat au jet de contrôle.
@@ -45,7 +45,7 @@ Reaction/&SpendPowerWealCosmosOmenSavingReactDescription=Lancez un D6 pour aider
Reaction/&SpendPowerWealCosmosOmenSavingReactTitle=Bonheur
Reaction/&SpendPowerWealCosmosOmenSavingTitle=Présage cosmique : Bienheureux
Reaction/&SpendPowerWoeCosmosOmenAttackDescription={0} ont atteint {1}. {2} peut réagir en lançant un D6 et soustraire le résultat du jet d'attaque.
-Reaction/&SpendPowerWoeCosmosOmenAttackReactDescription=Lancez un D6 pour le soustraire du jet d’attaque.
+Reaction/&SpendPowerWoeCosmosOmenAttackReactDescription=Lancez un D6 pour le soustraire du jet d'attaque.
Reaction/&SpendPowerWoeCosmosOmenAttackReactTitle=Woe
Reaction/&SpendPowerWoeCosmosOmenAttackTitle=Présage cosmique : malheur
Reaction/&SpendPowerWoeCosmosOmenCheckDescription={0} réussit un jet de contrôle. {1} peut réagir en lançant un D6 et soustraire le résultat du jet de contrôle.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheForestGuardian-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheForestGuardian-fr.txt
index bd4543042e..22efc1872b 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheForestGuardian-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheForestGuardian-fr.txt
@@ -4,9 +4,9 @@ Condition/&ConditionForestGuardianImprovedBarkWardDescription=Vous gagnez 8 poin
Condition/&ConditionForestGuardianImprovedBarkWardTitle=Protection contre l'écorce améliorée
Feature/&AttackModifierForestGuardianSylvanDurabilityDescription=Vos attaques avec des armes non à deux mains comptent comme magiques et vous utilisez votre modificateur de lancement de sorts pour vos jets d'attaque et de dégâts. Si vous utilisez le style de combat à deux armes, ces changements s'appliquent également à votre attaque désinvolte.
Feature/&AttackModifierForestGuardianSylvanDurabilityTitle=Magie Sylvestre
-Feature/&PowerSharedPoolForestGuardianBarkWardDescription=Vous pouvez utiliser votre action bonus et dépenser une utilisation de votre fonction Wild Shape pour vous couvrir d’écorce régénérante. Tant que l'aboiement est actif, vous gagnez 4 points de vie temporaires au début de chacun de votre tour, y compris le tour où vous avez utilisé cette fonctionnalité. Les points de vie temporaires sont augmentés à 6 au niveau 6 et la puissance est améliorée au niveau 10. L'aboiement dure une minute ou jusqu'à ce que vous deveniez incapable.
+Feature/&PowerSharedPoolForestGuardianBarkWardDescription=Vous pouvez utiliser votre action bonus et dépenser une utilisation de votre fonction Wild Shape pour vous couvrir d'écorce régénérante. Tant que l'aboiement est actif, vous gagnez 4 points de vie temporaires au début de chacun de votre tour, y compris le tour où vous avez utilisé cette fonctionnalité. Les points de vie temporaires sont augmentés à 6 au niveau 6 et la puissance est améliorée au niveau 10. L'aboiement dure une minute ou jusqu'à ce que vous deveniez incapable.
Feature/&PowerSharedPoolForestGuardianBarkWardTitle=Quartier des écorces
-Feature/&PowerSharedPoolForestGuardianImprovedBarkWardDescription=Vous pouvez utiliser votre action bonus et dépenser une utilisation de votre fonction Wild Shape pour vous couvrir d’écorce régénérante. Tant que l'aboiement est actif, vous gagnez 8 points de vie temporaires au début de chacun de votre tour, y compris le tour où vous avez utilisé cette fonctionnalité. Les points de vie temporaires sont augmentés à 10 au niveau 14. De plus, vous bénéficiez de l'immunité contre le poison lorsque Bark Ward est actif, et chaque fois qu'une créature vous blesse avec une attaque au corps à corps avec une arme à moins de 1,50 mètre de vous et tant que vous avez des points de vie temporaires, la créature reçoit 2d8 dégâts perforants. L'écorce améliorée dure une minute ou jusqu'à ce que vous deveniez incapable.
+Feature/&PowerSharedPoolForestGuardianImprovedBarkWardDescription=Vous pouvez utiliser votre action bonus et dépenser une utilisation de votre fonction Wild Shape pour vous couvrir d'écorce régénérante. Tant que l'aboiement est actif, vous gagnez 8 points de vie temporaires au début de chacun de votre tour, y compris le tour où vous avez utilisé cette fonctionnalité. Les points de vie temporaires sont augmentés à 10 au niveau 14. De plus, vous bénéficiez de l'immunité contre le poison lorsque Bark Ward est actif, et chaque fois qu'une créature vous blesse avec une attaque au corps à corps avec une arme à moins de 1,50 mètre de vous et tant que vous avez des points de vie temporaires, la créature reçoit 2d8 dégâts perforants. L'écorce améliorée dure une minute ou jusqu'à ce que vous deveniez incapable.
Feature/&PowerSharedPoolForestGuardianImprovedBarkWardTitle=Protection contre l'écorce améliorée
Feature/&PowerSharedPoolForestGuardianSuperiorBarkWardDescription=Lorsque vous activez Bark Ward, et au début de chacun de vos tours pendant que votre Bark Ward est actif, tous les alliés que vous pouvez voir à moins de 15 pieds de vous en reçoivent également le même nombre de points de vie temporaires que vous.
Feature/&PowerSharedPoolForestGuardianSuperiorBarkWardTitle=Gardien de la nature
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheNight-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheNight-fr.txt
index 59075cce50..06cdcbd935 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheNight-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheNight-fr.txt
@@ -18,7 +18,7 @@ Monster/&WildShapeDireBearDescription=L'ours omnivore ne dérange généralement
Monster/&WildShapeDireBearTitle=Ours sinistre
Monster/&WildShapeMinotaurEliteDescription=Issu des rangs des puissants minotaures, Greymane apparaît comme des combattants supérieurs et reçoit un entraînement supplémentaire, suffisant pour maîtriser des compétences mortelles, et encore plus de force et de puissance que leurs frères.
Monster/&WildShapeMinotaurEliteTitle=Minotaure Grisetête
-Monster/&WildShapeWaterElementalDescription=Un élémental d’eau est un torrent d’eau suffocant provenant de la pression de 3 000 gallons d’eau tourbillonnants.
+Monster/&WildShapeWaterElementalDescription=Un élémental d'eau est un torrent d'eau suffocant provenant de la pression de 3 000 gallons d'eau tourbillonnants.
Monster/&WildShapeWaterElementalTitle=Élémentaire d'eau
Subclass/&CircleOfTheNightDescription=Les druides du Cercle de la Lune sont de féroces gardiens de la nature. Leur ordre se rassemble sous la pleine lune pour partager des nouvelles et des avertissements commerciaux. Ils hantent les parties les plus profondes de la nature sauvage, où ils peuvent passer des semaines entières avant de croiser la route d'une autre créature humanoïde, sans parler d'un autre druide.
Subclass/&CircleOfTheNightTitle=Cercle de la Lune
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfAudacity-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfAudacity-fr.txt
index 7402d18846..b0c8c080d3 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfAudacity-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfAudacity-fr.txt
@@ -4,11 +4,11 @@ Action/&MasterfulWhirlToggleDescription=Activer/désactiver Masterful Whirl
Action/&MasterfulWhirlToggleTitle=Tourbillon magistral
Feature/&AttributeModifierCollegeOfAudacityDefensiveWhirlDescription=Faites tourner le rouleau jusqu'à AC.
Feature/&AttributeModifierCollegeOfAudacityDefensiveWhirlTitle=Tourbillon défensif
-Feature/&FeatureSetCollegeOfAudacityAudaciousWhirlDescription=Chaque fois que vous effectuez l'action Attaque à votre tour, votre vitesse de marche augmente de 3 mètres jusqu'à la fin du tour, et si une attaque avec une arme de mêlée que vous effectuez dans le cadre de cette action touche une créature, vous pouvez dépenser une utilisation de votre arme bardique. Inspiration pour que l'arme inflige des dégâts supplémentaires à la cible que vous touchez. Les dégâts sont égaux au nombre obtenu sur le dé d’inspiration bardique. Vous choisissez également une manœuvre particulière :\n• Tourbillon défensif : vous ajoutez le jet de dé d'inspiration bardique à votre CA jusqu'au début de votre prochain tour.\n• Tourbillon tranchant. b> : vous infligez des dégâts supplémentaires à toutes les autres créatures ennemies à moins de 1,50 mètre de vous.\n• Tourbillon mobile : vous bénéficiez des avantages de désengagement jusqu'à la fin de votre tour.
+Feature/&FeatureSetCollegeOfAudacityAudaciousWhirlDescription=Chaque fois que vous effectuez l'action Attaque à votre tour, votre vitesse de marche augmente de 3 mètres jusqu'à la fin du tour, et si une attaque avec une arme de mêlée que vous effectuez dans le cadre de cette action touche une créature, vous pouvez dépenser une utilisation de votre arme bardique. Inspiration pour que l'arme inflige des dégâts supplémentaires à la cible que vous touchez. Les dégâts sont égaux au nombre obtenu sur le dé d'inspiration bardique. Vous choisissez également une manœuvre particulière :\n• Tourbillon défensif : vous ajoutez le jet de dé d'inspiration bardique à votre CA jusqu'au début de votre prochain tour.\n• Tourbillon tranchant. b> : vous infligez des dégâts supplémentaires à toutes les autres créatures ennemies à moins de 1,50 mètre de vous.\n• Tourbillon mobile : vous bénéficiez des avantages de désengagement jusqu'à la fin de votre tour.
Feature/&FeatureSetCollegeOfAudacityAudaciousWhirlTitle=Tourbillon audacieux
Feature/&FeatureSetCollegeOfAudacityBonusProficienciesDescription=Vous gagnez en maîtrise avec l'armure moyenne et le cimeterre. Vous pouvez également utiliser votre arme comme foyer de lancement de sorts pour vos sorts de barde.
Feature/&FeatureSetCollegeOfAudacityBonusProficienciesTitle=Compétences bonus
-Feature/&FeatureSetCollegeOfAudacityMasterfulWhirlDescription=Chaque fois que vous utilisez une option Audacious Whirl, vous pouvez lancer un D6 et l’utiliser au lieu de dépenser un dé d’inspiration bardique.
+Feature/&FeatureSetCollegeOfAudacityMasterfulWhirlDescription=Chaque fois que vous utilisez une option Audacious Whirl, vous pouvez lancer un D6 et l'utiliser au lieu de dépenser un dé d'inspiration bardique.
Feature/&FeatureSetCollegeOfAudacityMasterfulWhirlTitle=Tourbillon magistral
Feature/&FightingStyleChoiceCollegeOfAudacityDescription=Vous adoptez un style de combat particulier comme spécialité. Choisissez soit le duel, soit le combat à deux armes.
Feature/&FightingStyleChoiceCollegeOfAudacityTitle=Style de combat
@@ -22,5 +22,5 @@ Reaction/&ReactionSpendPowerBundlePowerCollegeOfAudacityAudaciousWhirlDescriptio
Reaction/&ReactionSpendPowerBundlePowerCollegeOfAudacityAudaciousWhirlReactDescription=Tourbillon
Reaction/&ReactionSpendPowerBundlePowerCollegeOfAudacityAudaciousWhirlReactTitle=Tourbillon
Reaction/&ReactionSpendPowerBundlePowerCollegeOfAudacityAudaciousWhirlTitle=Tourbillon
-Subclass/&CollegeOfAudacityDescription=Les bardes du Collège des Épées divertissent grâce à des prouesses audacieuses en matière d'armes. Ils effectuent des cascades telles que avaler des épées, lancer des couteaux, jongler et simuler des combats. Bien qu’ils utilisent leurs armes pour se divertir, ils sont également des guerriers hautement qualifiés et compétents.
+Subclass/&CollegeOfAudacityDescription=Les bardes du Collège des Épées divertissent grâce à des prouesses audacieuses en matière d'armes. Ils effectuent des cascades telles que avaler des épées, lancer des couteaux, jongler et simuler des combats. Bien qu'ils utilisent leurs armes pour se divertir, ils sont également des guerriers hautement qualifiés et compétents.
Subclass/&CollegeOfAudacityTitle=Collège des Épées
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfElegance-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfElegance-fr.txt
index cde33b38f4..36ef65bd6f 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfElegance-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfElegance-fr.txt
@@ -5,15 +5,15 @@ Feature/&DieRollModifierCollegeOfEleganceGraceDescription=Lorsque vous effectuez
Feature/&DieRollModifierCollegeOfEleganceGraceTitle=La grâce
Feature/&FeatureCollegeOfEleganceEvasiveFootworkDescription=Chaque fois qu'une attaque est sur le point de vous frapper et que vous ne portez ni armure ni bouclier, vous pouvez utiliser votre réaction pour ajouter votre dé d'inspiration bardique à votre classe d'armure pour cette attaque, la faisant potentiellement rater.
Feature/&FeatureCollegeOfEleganceEvasiveFootworkTitle=Jeu de jambes évasif
-Feature/&FeatureSetCollegeOfEleganceAmazingDisplayDescription=Chaque fois que vous effectuez l’action Attaque, vous pouvez effectuer une série impressionnante de mouvements qui stupéfient vos ennemis. Toutes les créatures ennemies à moins de 9 mètres de vous et qui peuvent vous voir doivent réussir un jet de sauvegarde de Sagesse contre votre DD de lancement de sorts ou être étonnées jusqu'à la fin de votre prochain tour. Les créatures émerveillées ne peuvent pas utiliser de réactions et voient leur vitesse de déplacement réduite à 0. Les créatures immunisées contre le charme sont également immunisées contre cet effet. Qu'une créature réussisse ou échoue le jet de sauvegarde, elle devient immunisée contre d'autres effets d'étonnement. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise.
+Feature/&FeatureSetCollegeOfEleganceAmazingDisplayDescription=Chaque fois que vous effectuez l'action Attaque, vous pouvez effectuer une série impressionnante de mouvements qui stupéfient vos ennemis. Toutes les créatures ennemies à moins de 9 mètres de vous et qui peuvent vous voir doivent réussir un jet de sauvegarde de Sagesse contre votre DD de lancement de sorts ou être étonnées jusqu'à la fin de votre prochain tour. Les créatures émerveillées ne peuvent pas utiliser de réactions et voient leur vitesse de déplacement réduite à 0. Les créatures immunisées contre le charme sont également immunisées contre cet effet. Qu'une créature réussisse ou échoue le jet de sauvegarde, elle devient immunisée contre d'autres effets d'étonnement. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise.
Feature/&FeatureSetCollegeOfEleganceAmazingDisplayTitle=Affichage étonnant
Feature/&FeatureSetCollegeOfEleganceElegantFightingDescription=Vous exprimez vos arts de combat par l'agilité et le mouvement. Tant que vous ne portez aucune armure et que vous n'utilisez pas de bouclier, vous bénéficiez des avantages suivants :\n• Votre classe d'armure est égale à 10 + votre modificateur de Dextérité + votre modificateur de Charisme.\n• Vous pouvez dépenser un dé d'Inspiration bardique et utiliser votre action bonus pour bénéficier des avantages des actions Dash, Désengagement ou Esquive.
Feature/&FeatureSetCollegeOfEleganceElegantFightingTitle=Combats élégants
-Feature/&PowerCollegeOfEleganceDashDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l’action Dash comme action bonus pendant votre tour.
+Feature/&PowerCollegeOfEleganceDashDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l'action Dash comme action bonus pendant votre tour.
Feature/&PowerCollegeOfEleganceDashTitle=Étapes élégantes : Dash
-Feature/&PowerCollegeOfEleganceDisengageDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l’action Désengagement comme action bonus pendant votre tour.
+Feature/&PowerCollegeOfEleganceDisengageDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l'action Désengagement comme action bonus pendant votre tour.
Feature/&PowerCollegeOfEleganceDisengageTitle=Étapes élégantes : désengagez-vous
-Feature/&PowerCollegeOfEleganceDodgeDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l’action Esquive comme action bonus à votre tour.
+Feature/&PowerCollegeOfEleganceDodgeDescription=Vous pouvez dépenser 1 dé bardique pour effectuer l'action Esquive comme action bonus à votre tour.
Feature/&PowerCollegeOfEleganceDodgeTitle=Étapes élégantes : Esquiver
Feedback/&AmazingDisplayNotTriggered={1} n'a pas déclenché la puissance d'affichage incroyable car aucun ennemi pouvant être ciblé n'a été trouvé
Feedback/&DieRollModifierCollegeOfEleganceGraceReroll=À cause de Grace, {0} force le dé {1} à 10.
@@ -22,5 +22,5 @@ Reaction/&CustomReactionEvasiveFootworkDescription=Vous êtes sur le point d'êt
Reaction/&CustomReactionEvasiveFootworkReactDescription=Utilisez votre jeu de jambes évasif pour éviter le coup.
Reaction/&CustomReactionEvasiveFootworkReactTitle=Défendre
Reaction/&CustomReactionEvasiveFootworkTitle=Jeu de jambes évasif
-Subclass/&CollegeOfEleganceDescription=Le Collège de l'Élégance est la demeure des bardes qui maîtrisaient l'art du mouvement corporel. Ils voient une beauté exquise dans le fait de danser et de s’exprimer à travers des gestes fascinants, en portant des tenues flashy et en cherchant souvent à être le centre de l’attention. Au combat, ces bardes intègrent des pas élégants dans les manœuvres de combat, les associant à une arme de choix et créant un spectacle inoubliable pour leurs amis comme pour leurs ennemis.
+Subclass/&CollegeOfEleganceDescription=Le Collège de l'Élégance est la demeure des bardes qui maîtrisaient l'art du mouvement corporel. Ils voient une beauté exquise dans le fait de danser et de s'exprimer à travers des gestes fascinants, en portant des tenues flashy et en cherchant souvent à être le centre de l'attention. Au combat, ces bardes intègrent des pas élégants dans les manœuvres de combat, les associant à une arme de choix et créant un spectacle inoubliable pour leurs amis comme pour leurs ennemis.
Subclass/&CollegeOfEleganceTitle=Collège de l'élégance
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfGuts-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfGuts-fr.txt
index 8b181783c8..7bc4542f95 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfGuts-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfGuts-fr.txt
@@ -1,4 +1,4 @@
Feature/&PowerCollegeOfGutsArcaneDeflectionDescription=Vous pouvez utiliser vos pouvoirs arcaniques pour vous protéger en réaction. Cela vous donne +3 à votre classe d'armure jusqu'à votre prochain tour.
Feature/&PowerCollegeOfGutsArcaneDeflectionTitle=Déviation intestinale
-Subclass/&CollegeOfGutsDescription=Les bardes du Collège de la Valeur se rassemblent dans les halls d'hydromel ou autour de grands feux de joie pour chanter les exploits des puissants, passés et présents. Ils parcourent le pays pour être témoins de grands événements et pour s'assurer que le souvenir de ces événements ne disparaisse pas du monde. Avec leurs chansons, ils inspirent les autres à atteindre les mêmes sommets d’accomplissement que les héros d’autrefois.
+Subclass/&CollegeOfGutsDescription=Les bardes du Collège de la Valeur se rassemblent dans les halls d'hydromel ou autour de grands feux de joie pour chanter les exploits des puissants, passés et présents. Ils parcourent le pays pour être témoins de grands événements et pour s'assurer que le souvenir de ces événements ne disparaisse pas du monde. Avec leurs chansons, ils inspirent les autres à atteindre les mêmes sommets d'accomplissement que les héros d'autrefois.
Subclass/&CollegeOfGutsTitle=Collège de la Valeur
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfLife-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfLife-fr.txt
index 6bf60882e3..9cf92c2782 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfLife-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfLife-fr.txt
@@ -20,5 +20,5 @@ Feature/&PowerSharedPoolCollegeOfLifeHealDescription=Utilisez votre Force de tra
Feature/&PowerSharedPoolCollegeOfLifeHealTitle=Guérir
Feature/&PowerSharedPoolCollegeOfLifeReviveDescription=Utilisez votre Force de transmutation pour faire revivre un personnage dans la minute qui suit sa mort.
Feature/&PowerSharedPoolCollegeOfLifeReviveTitle=Relancer
-Subclass/&CollegeOfLifeDescription=Maîtres dans la manipulation de la matière et de l’énergie vitale.
+Subclass/&CollegeOfLifeDescription=Maîtres dans la manipulation de la matière et de l'énergie vitale.
Subclass/&CollegeOfLifeTitle=Collège de la Vie
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfThespian-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfThespian-fr.txt
index 0109bd91c8..840aca74b4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfThespian-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfThespian-fr.txt
@@ -4,7 +4,7 @@ Condition/&ConditionCollegeOfThespianCombatInspirationMovementDescription=Vous g
Condition/&ConditionCollegeOfThespianCombatInspirationMovementTitle=Mouvement inspiré
Feature/&MagicAffinityCollegeOfThespianMacabreInstrumentsDescription=Vous pouvez utiliser vos armes comme cible de lancement de sorts et êtes capable d'exécuter des composants somatiques de sorts tout en tenant des objets.
Feature/&MagicAffinityCollegeOfThespianMacabreInstrumentsTitle=Instruments macabres
-Feature/&PowerCollegeOfThespianCombatInspirationDescription=Vous êtes inspiré lorsque vous vous baignez dans le feu d’un combat. Une fois pendant votre tour, par une action libre, vous pouvez lancer une inspiration bardique, ajoutant le jet à votre vitesse de déplacement et bénéficiant d'un avantage lors du prochain jet d'attaque que vous effectuez avant la fin de votre tour.
+Feature/&PowerCollegeOfThespianCombatInspirationDescription=Vous êtes inspiré lorsque vous vous baignez dans le feu d'un combat. Une fois pendant votre tour, par une action libre, vous pouvez lancer une inspiration bardique, ajoutant le jet à votre vitesse de déplacement et bénéficiant d'un avantage lors du prochain jet d'attaque que vous effectuez avant la fin de votre tour.
Feature/&PowerCollegeOfThespianCombatInspirationTitle=Inspiration de combat
Feature/&PowerCollegeOfThespianFinaleDescription=Vous récupérez un dé d'inspiration bardique chaque fois que vous réduisez une créature à 0 point de vie.
Feature/&PowerCollegeOfThespianFinaleTitle=Final
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfValiance-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfValiance-fr.txt
index b1607eb737..6eedf63406 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfValiance-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CollegeOfValiance-fr.txt
@@ -4,7 +4,7 @@ Feature/&AutoPreparedSpellsCollegeOfValianceRecallLanguageDescription=Vous avez
Feature/&AutoPreparedSpellsCollegeOfValianceRecallLanguageTitle=Langue de rappel
Feature/&FeatureCollegeOfValianceCaptivatingPresenceDescription=Vous laissez une impression durable aux gens qui vous entourent. Lorsque vous effectuez un test de Déception ou de Performance, vous pouvez traiter un résultat d20 de 9 ou moins comme un 10.
Feature/&FeatureCollegeOfValianceCaptivatingPresenceTitle=Langue d'argent
-Feature/&FeatureCollegeOfValianceSteadfastInspirationDescription=Vos paroles inspirantes sont si encourageantes que d’autres se sentent poussés à réussir. Lorsqu'une créature amie ajoute l'un de vos dés d'Inspiration bardique à son test de capacité, son jet d'attaque ou son jet de sauvegarde et que le jet échoue, la créature peut conserver le dé d'Inspiration bardique.
+Feature/&FeatureCollegeOfValianceSteadfastInspirationDescription=Vos paroles inspirantes sont si encourageantes que d'autres se sentent poussés à réussir. Lorsqu'une créature amie ajoute l'un de vos dés d'Inspiration bardique à son test de capacité, son jet d'attaque ou son jet de sauvegarde et que le jet échoue, la créature peut conserver le dé d'Inspiration bardique.
Feature/&FeatureCollegeOfValianceSteadfastInspirationTitle=Une inspiration inébranlable
Feature/&PowerCollegeOfValianceDishearteningPerformanceDescription=Votre vaillance au combat démoralise vos ennemis. Par une action bonus, vous pouvez dépenser une utilisation de votre Inspiration bardique et choisir une créature hostile que vous pouvez voir à moins de 20 mètres de vous. Lancez le dé Inspiration Bardique. La créature doit soustraire le nombre obtenu lors du premier jet de sauvegarde qu'elle réussit avant la fin de votre prochain tour.
Feature/&PowerCollegeOfValianceDishearteningPerformanceTitle=Des performances décourageantes
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainDefiler-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainDefiler-fr.txt
index 0ee67016f8..1963c12ba3 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainDefiler-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainDefiler-fr.txt
@@ -12,7 +12,7 @@ Feature/&DamageAffinityDomainDefilerDivineImmunityDescription=Vous êtes immunis
Feature/&DamageAffinityDomainDefilerDivineImmunityTitle=Immunité divine
Feature/&FeatureDomainDefilerInsidiousDeathMagicDescription=Les créatures auxquelles vous infligez des dégâts nécrotiques via des sorts, des capacités ou des armes ne peuvent pas recevoir de soins avant la fin de votre prochain tour.
Feature/&FeatureDomainDefilerInsidiousDeathMagicTitle=Magie de la mort insidieuse
-Feature/&PowerDomainDefilerDefileLifeDescription=Libérez une vague d’énergie nécrotique autour de vous. Chaque créature hostile non-mort-vivante dans un rayon de 9 mètres doit effectuer un jet de sauvegarde de Constitution. Les créatures affectées subissent 2d10 + dégâts nécrotiques de niveau clerc en cas d'échec d'un jet de sauvegarde, ou la moitié de ce montant en cas de réussite.
+Feature/&PowerDomainDefilerDefileLifeDescription=Libérez une vague d'énergie nécrotique autour de vous. Chaque créature hostile non-mort-vivante dans un rayon de 9 mètres doit effectuer un jet de sauvegarde de Constitution. Les créatures affectées subissent 2d10 + dégâts nécrotiques de niveau clerc en cas d'échec d'un jet de sauvegarde, ou la moitié de ce montant en cas de réussite.
Feature/&PowerDomainDefilerDefileLifeTitle=Souiller la vie
Feature/&PowerDomainDefilerDyingLightDescription=Chaque fois que vous infligez des dégâts nécrotiques, vous pouvez infliger un maximum de dégâts au lieu de lancer. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&PowerDomainDefilerDyingLightTitle=Lumière mourante
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainNature-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainNature-fr.txt
index c9753cd1c7..f486b73aa6 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainNature-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainNature-fr.txt
@@ -1,4 +1,4 @@
-Feature/&AdditionalDamageDomainNatureDivineStrikeDescription=Vous gagnez la capacité d’imprégner vos frappes d’armes d’énergie divine. Une fois à chacun de vos tours, lorsque vous touchez une créature avec une attaque avec une arme, vous pouvez faire en sorte que l'attaque inflige 1d8 dégâts de froid aléatoires supplémentaires à la cible. Lorsque vous atteignez le niveau 14, les dégâts supplémentaires passent à 2d8.
+Feature/&AdditionalDamageDomainNatureDivineStrikeDescription=Vous gagnez la capacité d'imprégner vos frappes d'armes d'énergie divine. Une fois à chacun de vos tours, lorsque vous touchez une créature avec une attaque avec une arme, vous pouvez faire en sorte que l'attaque inflige 1d8 dégâts de froid aléatoires supplémentaires à la cible. Lorsque vous atteignez le niveau 14, les dégâts supplémentaires passent à 2d8.
Feature/&AdditionalDamageDomainNatureDivineStrikeTitle=Frappe divine
Feature/&FeatureSetDomainNatureAcolyteOfNatureDescription=• Vous apprenez un sort mineur de votre choix dans la liste des sorts du druide. Ce cantrip de clerc compte pour vous comme un cantrip de clerc, mais il ne compte pas dans le nombre de cantrips de clerc que vous connaissez.\n• Vous maîtrisez l'une des compétences suivantes de votre choix : Manipulation des animaux, Nature ou Survie.
Feature/&FeatureSetDomainNatureAcolyteOfNatureTitle=Acolyte de la nature
@@ -14,6 +14,6 @@ Reaction/&CustomReactionDampenElementsDescription={0} est sur le point de subir
Reaction/&CustomReactionDampenElementsReactDescription=Accordez la résistance.
Reaction/&CustomReactionDampenElementsReactTitle=Éléments amortissants
Reaction/&CustomReactionDampenElementsTitle=Éléments amortissants
-Subclass/&DomainNatureDescription=Les dieux de la nature sont aussi variés que le monde naturel lui-même ; des dieux impénétrables des forêts profondes aux divinités amicales associées à des sources et des bosquets particuliers. Les druides vénèrent la nature dans son ensemble et peuvent servir l'une de ces divinités, pratiquant des rites mystérieux et récitant des prières presque oubliées dans leur propre langue secrète. Mais beaucoup de ces dieux ont également des prêtres, des champions qui jouent un rôle plus actif dans la promotion des intérêts d’un dieu de la nature particulier. Ces prêtres pourraient chasser les monstruosités maléfiques qui ravagent les forêts, bénir les récoltes des fidèles ou flétrir les récoltes de ceux qui irritent leurs dieux.
+Subclass/&DomainNatureDescription=Les dieux de la nature sont aussi variés que le monde naturel lui-même ; des dieux impénétrables des forêts profondes aux divinités amicales associées à des sources et des bosquets particuliers. Les druides vénèrent la nature dans son ensemble et peuvent servir l'une de ces divinités, pratiquant des rites mystérieux et récitant des prières presque oubliées dans leur propre langue secrète. Mais beaucoup de ces dieux ont également des prêtres, des champions qui jouent un rôle plus actif dans la promotion des intérêts d'un dieu de la nature particulier. Ces prêtres pourraient chasser les monstruosités maléfiques qui ravagent les forêts, bénir les récoltes des fidèles ou flétrir les récoltes de ceux qui irritent leurs dieux.
Subclass/&DomainNatureTitle=Nature
Tag/&DomainNatureCantripSpecialTagTitle=Domaine Nature Cantrips
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainSmith-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainSmith-fr.txt
index f5d7e26680..e2c0b7101e 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainSmith-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainSmith-fr.txt
@@ -10,7 +10,7 @@ Feature/&FeatureDomainSmithBlessedMetalDescription=Votre affinité bénie avec l
Feature/&FeatureDomainSmithBlessedMetalTitle=Métal béni
Feature/&FeatureSetDomainSmithBonusProficiencyDescription=Maîtrisez les outils de forgeron et les armures lourdes.
Feature/&FeatureSetDomainSmithBonusProficiencyTitle=Compétences bonus
-Feature/&PowerDomainSmithAdamantBenedictionDescription=À l’aide d’une action, renforcez l’armure des alliés dans un rayon de 9 mètres. Leur armure acquiert la Force d'une armure adamantine, gagnant ainsi l'immunité aux critiques pendant 1 minute.
+Feature/&PowerDomainSmithAdamantBenedictionDescription=À l'aide d'une action, renforcez l'armure des alliés dans un rayon de 9 mètres. Leur armure acquiert la Force d'une armure adamantine, gagnant ainsi l'immunité aux critiques pendant 1 minute.
Feature/&PowerDomainSmithAdamantBenedictionTitle=Bénédiction catégorique
Feature/&PowerDomainSmithReinforceArmorDescription=Une fois par court repos, vous pouvez renforcer une pièce d'armure ou un bouclier non magique. L'objet renforcé gagne +{0} CA supplémentaire.
Feature/&PowerDomainSmithReinforceArmorTitle=Renforcer l'armure
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainTempest-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainTempest-fr.txt
index 6129915614..3d7be9b4d2 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainTempest-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/DomainTempest-fr.txt
@@ -1,6 +1,6 @@
Feature/&ActionAffinityThunderousStrikeToggleDescription=Pendant votre tour, lorsque vous infligez des dégâts de tonnerre à une créature de grande ou de petite taille, vous pouvez également la pousser jusqu'à 3 mètres de vous.
Feature/&ActionAffinityThunderousStrikeToggleTitle=Frappe tonitruante
-Feature/&AdditionalDamageDomainTempestDivineStrikeDescription=Vous gagnez la capacité d’imprégner vos frappes d’armes d’énergie divine. Une fois à chacun de vos tours, lorsque vous touchez une créature avec une attaque avec une arme, vous pouvez faire en sorte que l'attaque inflige 1d8 dégâts de tonnerre supplémentaires à la cible. Lorsque vous atteignez le niveau 14, les dégâts supplémentaires passent à 2d8.
+Feature/&AdditionalDamageDomainTempestDivineStrikeDescription=Vous gagnez la capacité d'imprégner vos frappes d'armes d'énergie divine. Une fois à chacun de vos tours, lorsque vous touchez une créature avec une attaque avec une arme, vous pouvez faire en sorte que l'attaque inflige 1d8 dégâts de tonnerre supplémentaires à la cible. Lorsque vous atteignez le niveau 14, les dégâts supplémentaires passent à 2d8.
Feature/&AdditionalDamageDomainTempestDivineStrikeTitle=Frappe divine
Feature/&FeatureSetDomainTempestBonusProficiencyDescription=Vous gagnez en maîtrise des armures lourdes et des armes martiales.
Feature/&FeatureSetDomainTempestBonusProficiencyTitle=Compétences bonus
@@ -16,8 +16,8 @@ Feature/&PowerDomainTempestWrathOfTheStormLightningDescription=Vous pouvez répr
Feature/&PowerDomainTempestWrathOfTheStormLightningTitle=Foudre
Feature/&PowerDomainTempestWrathOfTheStormThunderDescription=Vous pouvez réprimander violemment les attaquants. Lorsqu'une créature à moins de 1,50 mètre de vous et que vous pouvez voir vous frappe avec une attaque, vous pouvez utiliser votre réaction pour que la créature effectue un jet de sauvegarde de Dextérité. La créature subit 2d8 dégâts de tonnerre en cas d'échec d'un jet de sauvegarde, et la moitié de ces dégâts en cas de réussite. Vous pouvez utiliser cette fonctionnalité un nombre de fois égal à votre modificateur de Sagesse (au minimum une fois). Les dégâts augmentent à 3d8 au niveau 5, 4d8 au niveau 11 et 5d8 au niveau 17. Vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long.
Feature/&PowerDomainTempestWrathOfTheStormThunderTitle=Tonnerre
-Reaction/&ReactionSpendPowerBundleWrathOfTheStormDescription=Un ennemi vous a attaqué. Vous pouvez réprimander l’attaque avec un ton tonitruant.
-Reaction/&ReactionSpendPowerBundleWrathOfTheStormReactDescription=Réprimandez avec tonnerre l’attaque.
+Reaction/&ReactionSpendPowerBundleWrathOfTheStormDescription=Un ennemi vous a attaqué. Vous pouvez réprimander l'attaque avec un ton tonitruant.
+Reaction/&ReactionSpendPowerBundleWrathOfTheStormReactDescription=Réprimandez avec tonnerre l'attaque.
Reaction/&ReactionSpendPowerBundleWrathOfTheStormReactTitle=Réprimander
Reaction/&ReactionSpendPowerBundleWrathOfTheStormTitle=Colère de la tempête
Subclass/&DomainTempestDescription=Les dieux dont les portefeuilles incluent le domaine Tempête gouvernent les tempêtes, la mer et le ciel. Ils comprennent les dieux de la foudre et du tonnerre, les dieux des tremblements de terre, certains dieux du feu et certains dieux de la violence, de la force physique et du courage. Dans certains panthéons, un dieu de ce domaine règne sur d'autres divinités et est connu pour sa justice rapide rendue par la foudre. Dans les panthéons des marins, les dieux de ce domaine sont des divinités océaniques et les patrons des marins. Les dieux de la tempête envoient leurs prêtres pour inspirer la peur aux gens ordinaires, soit pour les maintenir sur le chemin de la justice, soit pour les encourager à offrir des sacrifices de propitiation pour conjurer la colère divine.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationAlchemy-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationAlchemy-fr.txt
index 7f1a562b47..31e4eb32f2 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationAlchemy-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationAlchemy-fr.txt
@@ -5,7 +5,7 @@ Condition/&ConditionInnovationAlchemyDamagePsychicDescription=Obtient -1d4 aux j
Condition/&ConditionInnovationAlchemyDamagePsychicTitle=Accablé
Condition/&ConditionInnovationAlchemyDamageThunderDescription=Obtient -1d4 aux jets de sauvegarde d'Intelligence, de Sagesse et de Charisme.
Condition/&ConditionInnovationAlchemyDamageThunderTitle=Commotionné
-Feature/&ActionAffinityInnovationAlchemyFastHandsDescription=Vous avez appris à mélanger des réactifs et à utiliser rapidement divers appareils. Vous pouvez utiliser une action bonus pour activer n’importe quel appareil.
+Feature/&ActionAffinityInnovationAlchemyFastHandsDescription=Vous avez appris à mélanger des réactifs et à utiliser rapidement divers appareils. Vous pouvez utiliser une action bonus pour activer n'importe quel appareil.
Feature/&ActionAffinityInnovationAlchemyFastHandsTitle=Mains rapides
Feature/&AutoPreparedSpellsInnovationAlchemyDescription=Apprenez et soyez toujours préparé :\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationAlchemyTitle=Sorts de Grenadier
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVitriolist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVitriolist-fr.txt
index 509749f668..3af4a5273b 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVitriolist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVitriolist-fr.txt
@@ -8,7 +8,7 @@ Feature/&FeatureInnovationVitriolistParagonDescription=Vous maîtrisez vos méla
Feature/&FeatureInnovationVitriolistParagonTitle=Parangon du vitrioliste
Feature/&FeatureSetInnovationVitriolistArsenalDescription=Vous avez appris à décomposer votre propre magie pour créer des mélanges vitrioliques supplémentaires. Par une action, vous pouvez convertir un emplacement de sort en utilisations de votre fonction Mélange vitriolique. Vous regagnez une utilisation par niveau d'emplacement de sort converti.\nVous avez appris à rendre votre mélange vitriolique si puissant qu'il est capable de contourner la résistance à l'acide et d'infliger la moitié des dégâts aux créatures immunisées contre l'acide. De plus, en raison de leur puissance accrue, chaque mélange choque désormais également le système cible, lui supprimant la possibilité d'utiliser des réactions jusqu'au début de son prochain tour.
Feature/&FeatureSetInnovationVitriolistArsenalTitle=Arsenal Vitrioliste
-Feature/&FeatureSetInnovationVitriolistInfusionDescription=Votre exposition constante à l’acide a imprégné votre corps d’une résistance aux acides. Votre exposition à l'acide vous a également conféré une affinité pour celui-ci et vous ajoutez désormais votre bonus de maîtrise sous forme de dégâts supplémentaires à tous les dégâts d'acide infligés.
+Feature/&FeatureSetInnovationVitriolistInfusionDescription=Votre exposition constante à l'acide a imprégné votre corps d'une résistance aux acides. Votre exposition à l'acide vous a également conféré une affinité pour celui-ci et vous ajoutez désormais votre bonus de maîtrise sous forme de dégâts supplémentaires à tous les dégâts d'acide infligés.
Feature/&FeatureSetInnovationVitriolistInfusionTitle=Infusion vitriolique
Feature/&FeatureSetInnovationVitriolistMixtureDescription=Vous obtenez la possibilité d'utiliser un mélange vitriolique de votre propre fabrication :\n• Affliction : en cas de coup, la créature subit 2d4 dégâts d'acide et 2d4 dégâts de poison. La créature est également empoisonnée jusqu'à la fin de son prochain tour.\n• Corrosion : sur un coup, la créature subit 2d8 dégâts d'acide. La créature voit également sa CA réduite de 2 jusqu'à la fin de son prochain tour.\n• Miserie : en cas de coup, la créature subit 2d8 dégâts d'acide qui persistent sur sa peau, infligeant 2d4 dégâts d'acide supplémentaires. à la fin de son prochain tour.\n• Viscosité : sur un coup, la créature subit 2d8 dégâts d'acide. La créature est également gênée jusqu'à la fin de son prochain tour.\nTous les dés de dégâts augmentent aux niveaux 7, 14 et 18. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise + modificateur d'Intelligence.
Feature/&FeatureSetInnovationVitriolistMixtureTitle=Mélanges vitrioliques
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVivisectionist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVivisectionist-fr.txt
index 6b0efc7e7b..38449c5924 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVivisectionist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationVivisectionist-fr.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Une
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Précision médicale
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Apprenez et soyez toujours préparé :\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Sorts de vivisectionniste
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Lorsque vous lancez un sort de guérison, votre jet minimum de dés de guérison est de 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Chaque fois que vous soignez une autre créature, vous traitez tous les jets de 1 comme 2 à la place.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=En raison de la chirurgie stable, {0} force le dé {1} à 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Chirurgie stable
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Vous pouvez effectuer une action bonus pour utiliser Restauration mineure ou Supprimer la malédiction sur un allié à moins de 1,50 mètre. Vous pouvez le faire un nombre de fois égal à votre bonus de maîtrise. Tous les usages se rechargent après un long repos.
@@ -21,8 +21,8 @@ Feature/&PowerInnovationVivisectionistOrganDonationDescription=Récupérez une u
Feature/&PowerInnovationVivisectionistOrganDonationTitle=Don d'organe
Feedback/&AdditionalDamageMedicalAccuracyFormat=Précision médicale !
Feedback/&AdditionalDamageMedicalAccuracyLine={0} effectue une attaque de précision médicale sur {1} (+{2})
-Reaction/&SpendPowerOrganDonationDescription=Vous pouvez retrouver une utilisation de Chirurgie d’urgence et de Cure d’urgence.
-Reaction/&SpendPowerOrganDonationReactDescription=Vous pouvez retrouver une utilisation de Chirurgie d’urgence et de Cure d’urgence.
+Reaction/&SpendPowerOrganDonationDescription=Vous pouvez retrouver une utilisation de Chirurgie d'urgence et de Cure d'urgence.
+Reaction/&SpendPowerOrganDonationReactDescription=Vous pouvez retrouver une utilisation de Chirurgie d'urgence et de Cure d'urgence.
Reaction/&SpendPowerOrganDonationReactTitle=Don d'organe
Reaction/&SpendPowerOrganDonationTitle=Don d'organe
Screen/&InventorVivisectionistSpellDescription=Ce sort vivisectionniste est toujours considéré comme préparé.\nIl ne compte pas dans votre limite de préparation de sort.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationWeapon-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationWeapon-fr.txt
index 50ae9564eb..4fb015c7c4 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationWeapon-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/InnovationWeapon-fr.txt
@@ -8,10 +8,10 @@ Feature/&FeatureSetInnovationWeaponSteelDefenderDescription=Vos expériences ave
Feature/&FeatureSetInnovationWeaponSteelDefenderTitle=Défenseur d'acier
Feature/&PowerInnovationWeaponArcaneJoltDescription=Lorsque vous touchez un ennemi avec votre attaque, vous pouvez canaliser de l'énergie magique à travers la frappe pour faire subir à la cible 2d6 dégâts de Force supplémentaires. Vous pouvez utiliser ce pouvoir un nombre de fois égal à votre modificateur d'Intelligence par repos long, mais pas plus d'une fois par tour.
Feature/&PowerInnovationWeaponArcaneJoltTitle=Force de choc
-Feature/&PowerInnovationWeaponSteelDefenderRecuperateDescription=Steel Defender a un nombre de dés de vie d8 égal à votre niveau d’artificier. Pendant un court repos, vous pouvez les lancer pour restaurer les HP de Steel Defender.
+Feature/&PowerInnovationWeaponSteelDefenderRecuperateDescription=Steel Defender a un nombre de dés de vie d8 égal à votre niveau d'artificier. Pendant un court repos, vous pouvez les lancer pour restaurer les HP de Steel Defender.
Feature/&PowerInnovationWeaponSteelDefenderRecuperateFormat=PV de la lame :\n{0}/{1}
Feature/&PowerInnovationWeaponSteelDefenderRecuperateTitle=Dé de coup du défenseur en acier
-Feature/&PowerInnovationWeaponSteelDefenderRepairDescription=Les mécanismes magiques à l’intérieur du défenseur se redonnent 2d8 + 4 points de vie.
+Feature/&PowerInnovationWeaponSteelDefenderRepairDescription=Les mécanismes magiques à l'intérieur du défenseur se redonnent 2d8 + 4 points de vie.
Feature/&PowerInnovationWeaponSteelDefenderRepairTitle=Auto-réparation
Feature/&PowerInnovationWeaponSummonSteelDefenderDescription=Invoquez Steel Defender pour vous aider dans les batailles. Ses PV sont égaux à 2 + votre modificateur d'Intelligence + 5x votre niveau d'Artificier. Il utilise votre bonus d'attaque des sorts pour frapper et ajoute votre bonus de maîtrise aux dégâts de son attaque.
Feature/&PowerInnovationWeaponSummonSteelDefenderTitle=Défenseur d'acier
@@ -20,7 +20,7 @@ Feature/&PowerInventorWeaponSteelDefenderCommandTitle=Défenseur d'acier de comm
Feature/&ProficiencyInnovationWeaponBattleReadyDescription=Après avoir expérimenté des armes, vous avez appris que vous pouvez utiliser votre intelligence pour les manipuler :\n• Vous maîtrisez toutes les armes martiales.\n• Vous pouvez utiliser l'intelligence pour des jets d'attaque et de dégâts avec des armes magiques.
Feature/&ProficiencyInnovationWeaponBattleReadyTitle=Utilisation inventive des armes
Item/&MonsterAttackSteelDefenderTitle=Forcer la frappe
-Monster/&InnovationWeaponSteelDefenderDescription=Fidèle défenseur de l’armurier.
+Monster/&InnovationWeaponSteelDefenderDescription=Fidèle défenseur de l'armurier.
Monster/&InnovationWeaponSteelDefenderTitle=Défenseur d'acier
Reaction/&SpendPowerPowerInnovationWeaponArcaneJoltDescription=Canalisez l'énergie magique à travers la frappe pour faire subir à la cible 2d6 dégâts de Force supplémentaires.
Reaction/&SpendPowerPowerInnovationWeaponArcaneJoltReactDescription=Utilisez ce pouvoir pour infliger des dégâts supplémentaires.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialArcaneArcher-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialArcaneArcher-fr.txt
index eb60ea79c9..6861c6c68e 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialArcaneArcher-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialArcaneArcher-fr.txt
@@ -2,13 +2,13 @@ Condition/&ConditionMartialArcaneArcherEnfeeblingArrowDescription=La créature i
Condition/&ConditionMartialArcaneArcherEnfeeblingArrowTitle=Affaibli
Condition/&ConditionMartialArcaneArcherInsightArrowDescription=La créature ne peut pas bénéficier de l'invisibilité, les attaquants ont l'avantage. Ils éclairent également 10 cellules de lumière vive + 10 cellules de lumière faible.
Condition/&ConditionMartialArcaneArcherInsightArrowTitle=Souligné
-Feature/&CastSpellMartialArcaneArcherArcaneMagicDescription=Vous choisissez d’apprendre un cantrip de sorcier.
+Feature/&CastSpellMartialArcaneArcherArcaneMagicDescription=Vous choisissez d'apprendre un cantrip de sorcier.
Feature/&CastSpellMartialArcaneArcherArcaneMagicTitle=Magie arcanique
Feature/&FeatureMartialArcaneArcherEverReadyShotDescription=Votre tir à l'arc magique est disponible dès que la bataille commence. Si vous lancez un jet d'initiative et qu'il manque au moins une utilisation d'Arcane Shot, vous en récupérez une utilisation.
Feature/&FeatureMartialArcaneArcherEverReadyShotTitle=Prise de vue toujours prête
Feature/&FeatureMartialArcaneArcherGuidedShotDescription=Vous imprégnez vos flèches de magie divinatoire, ce qui les rend plus susceptibles d'atteindre leurs cibles. Lorsque vous effectuez un jet d'attaque avec un arc court ou un arc long et que vous le ratez, vous pouvez utiliser votre réaction pour relancer le jet d'attaque contre cette créature.
Feature/&FeatureMartialArcaneArcherGuidedShotTitle=Tir guidé
-Feature/&FeatureMartialArcaneArcherMagicArrowDescription=Vous gagnez la capacité d’imprégner de magie les flèches. Chaque fois que vous tirez une flèche non magique avec un arc court ou un arc long, vous pouvez la rendre magique dans le but de vaincre la résistance et l'immunité aux attaques et dégâts non magiques. La magie disparaît de la flèche immédiatement après qu'elle ait atteint ou raté sa cible.
+Feature/&FeatureMartialArcaneArcherMagicArrowDescription=Vous gagnez la capacité d'imprégner de magie les flèches. Chaque fois que vous tirez une flèche non magique avec un arc court ou un arc long, vous pouvez la rendre magique dans le but de vaincre la résistance et l'immunité aux attaques et dégâts non magiques. La magie disparaît de la flèche immédiatement après qu'elle ait atteint ou raté sa cible.
Feature/&FeatureMartialArcaneArcherMagicArrowTitle=Flèche magique
Feature/&FeatureSetMartialArcaneArcherArcaneLoreDescription=Vous choisissez de maîtriser soit la compétence Arcanes, soit la compétence Nature.
Feature/&FeatureSetMartialArcaneArcherArcaneLoreTitle=Connaissance des Arcanes
@@ -22,7 +22,7 @@ Feature/&PowerMartialArcaneArcherBanishingArrowDescription=Vous utilisez la magi
Feature/&PowerMartialArcaneArcherBanishingArrowTitle=Flèche de bannissement
Feature/&PowerMartialArcaneArcherBeguilingArrowDescription=Votre magie d'enchantement fait que cette flèche séduit temporairement sa cible. La créature touchée par la flèche subit 2d6 dégâts psychiques supplémentaires et doit réussir un jet de sauvegarde de Sagesse sous peine d'être charmée jusqu'à la fin de votre prochain tour. Ces dégâts passent à 3d6 au niveau 11 et à 4d6 au niveau 17.
Feature/&PowerMartialArcaneArcherBeguilingArrowTitle=Flèche séduisante
-Feature/&PowerMartialArcaneArcherBurstingArrowDescription=Vous imprégnez votre flèche d’énergie de force tirée de l’école de l’évocation. L'énergie explose après votre attaque. Immédiatement après que la flèche a touché la créature, la cible et toutes les autres créatures ennemies dans un rayon de 15 pieds autour d'elle subissent 2d6 dégâts de force supplémentaires. Ces dégâts passent à 3d6 au niveau 11 et à 4d6 au niveau 17.
+Feature/&PowerMartialArcaneArcherBurstingArrowDescription=Vous imprégnez votre flèche d'énergie de force tirée de l'école de l'évocation. L'énergie explose après votre attaque. Immédiatement après que la flèche a touché la créature, la cible et toutes les autres créatures ennemies dans un rayon de 15 pieds autour d'elle subissent 2d6 dégâts de force supplémentaires. Ces dégâts passent à 3d6 au niveau 11 et à 4d6 au niveau 17.
Feature/&PowerMartialArcaneArcherBurstingArrowTitle=Flèche éclatante
Feature/&PowerMartialArcaneArcherEnfeeblingArrowDescription=Vous insérez de la magie nécromantique dans votre flèche. La créature touchée par la flèche subit 2d6 dégâts nécrotiques supplémentaires et doit réussir un jet de sauvegarde de Constitution, ou infliger la moitié des dégâts lors des attaques basées sur la Force et avoir un désavantage sur tous les jets de sauvegarde et tests de capacité de Force, Dextérité et Constitution jusqu'à la fin de votre prochain tourner. Ces dégâts passent à 3d6 au niveau 11 et à 4d6 au niveau 17.
Feature/&PowerMartialArcaneArcherEnfeeblingArrowTitle=Flèche affaiblissante
@@ -44,8 +44,8 @@ Reaction/&CustomReactionMartialArcaneArcherGuidedShotDescription=Vous pouvez uti
Reaction/&CustomReactionMartialArcaneArcherGuidedShotReactDescription=Vous pouvez utiliser votre réaction pour réessayer l'attaque.
Reaction/&CustomReactionMartialArcaneArcherGuidedShotReactTitle=Réessayer l'attaque
Reaction/&CustomReactionMartialArcaneArcherGuidedShotTitle=Tir guidé
-Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotDescription=Vous pouvez appliquer l’une de vos techniques Arcane Shot.
-Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotReactDescription=Vous pouvez appliquer l’une de vos techniques Arcane Shot.
+Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotDescription=Vous pouvez appliquer l'une de vos techniques Arcane Shot.
+Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotReactDescription=Vous pouvez appliquer l'une de vos techniques Arcane Shot.
Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotReactTitle=Tir arcanique
Reaction/&ReactionSpendPowerBundlePowerMartialArcaneArcherArcaneShotTitle=Tir arcanique
Screen/&InvocationPoolArcaneShotChoiceHeader=Tirs arcaniques
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialTactician-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialTactician-fr.txt
index ce3fb9298a..00ef0b85fa 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialTactician-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialTactician-fr.txt
@@ -1,10 +1,10 @@
-Feature/&FeatureAdaptiveStrategyDescription=Gagnez un dé de supériorité chaque fois que vous obtenez un échec critique ou un coup critique sur l'une de vos attaques. Ce gain ne peut se produire qu’une seule fois par tour et ne peut pas vous faire dépasser votre limite maximale de dés de supériorité.
+Feature/&FeatureAdaptiveStrategyDescription=Gagnez un dé de supériorité chaque fois que vous obtenez un échec critique ou un coup critique sur l'une de vos attaques. Ce gain ne peut se produire qu'une seule fois par tour et ne peut pas vous faire dépasser votre limite maximale de dés de supériorité.
Feature/&FeatureAdaptiveStrategyTitle=Stratégie : Adapter
Feature/&FeatureImproviseStrategyDescription=Augmentez le maximum de votre dé de supériorité de 2.
Feature/&FeatureImproviseStrategyTitle=Stratégie : improviser
-Feature/&FeatureOvercomingStrategyDescription=Regagnez un dé de supériorité chaque fois qu'une de vos attaques tue une créature, ou chaque fois qu'une créature endommagée par vos capacités de dé de supériorité dommageables meurt avant le début de votre prochain tour. Ce gain ne peut se produire qu’une seule fois par tour et ne peut pas vous faire dépasser votre limite maximale de dés de supériorité.
+Feature/&FeatureOvercomingStrategyDescription=Regagnez un dé de supériorité chaque fois qu'une de vos attaques tue une créature, ou chaque fois qu'une créature endommagée par vos capacités de dé de supériorité dommageables meurt avant le début de votre prochain tour. Ce gain ne peut se produire qu'une seule fois par tour et ne peut pas vous faire dépasser votre limite maximale de dés de supériorité.
Feature/&FeatureOvercomingStrategyTitle=Stratégie : surmonter
-Feature/&FeatureSefTacticianStrategicPlanDescription=Vous pouvez choisir une stratégie pour faire face à des rencontres prolongées – des capacités qui vous permettraient d’obtenir des dés de supériorité dans certaines circonstances.
+Feature/&FeatureSefTacticianStrategicPlanDescription=Vous pouvez choisir une stratégie pour faire face à des rencontres prolongées – des capacités qui vous permettraient d'obtenir des dés de supériorité dans certaines circonstances.
Feature/&FeatureSefTacticianStrategicPlanTitle=Plan stratégique
Feature/&FeatureSetTacticianBattleClarityDescription=Gagnez en compétence avec un jet de sauvegarde de votre choix.
Feature/&FeatureSetTacticianBattleClarityTitle=Clarté du combat
@@ -12,7 +12,7 @@ Feature/&FeatureSetTacticianHonedCraftDescription=Gagnez en expertise avec une c
Feature/&FeatureSetTacticianHonedCraftTitle=Compétence aiguisée
Feature/&FeatureSetTacticianSharpMindDescription=Maîtrisez une compétence de votre choix.
Feature/&FeatureSetTacticianSharpMindTitle=Esprit vif
-Feature/&FeatureSetTacticianTacticalAwarenessDescription=Tant que vous n'êtes pas incapable d'agir, vous bénéficiez des avantages suivants :\n• Une fois par tour, votre attaque avec une arme inflige des dégâts supplémentaires égaux à votre bonus de maîtrise.\n• Les attaques d'opportunité que vous effectuez sont effectuées avec avantage.\n• Les attaques d’opportunité contre vous se font avec un désavantage.
+Feature/&FeatureSetTacticianTacticalAwarenessDescription=Tant que vous n'êtes pas incapable d'agir, vous bénéficiez des avantages suivants :\n• Une fois par tour, votre attaque avec une arme inflige des dégâts supplémentaires égaux à votre bonus de maîtrise.\n• Les attaques d'opportunité que vous effectuez sont effectuées avec avantage.\n• Les attaques d'opportunité contre vous se font avec un désavantage.
Feature/&FeatureSetTacticianTacticalAwarenessTitle=Conscience tactique
Feature/&FeatureTacticianGambitDieSizeD10Description=Votre dé de supériorité passe à D10.
Feature/&FeatureTacticianGambitDieSizeD10Title=Taille du dé de supériorité (d10)
@@ -22,7 +22,7 @@ Feature/&InvocationPoolGambitLearn1Description=Apprenez 1 manœuvre.
Feature/&InvocationPoolGambitLearn1Title=Manœuvres
Feature/&InvocationPoolGambitLearn2Description=Apprenez 2 manœuvres.
Feature/&InvocationPoolGambitLearn2Title=Manœuvres
-Feature/&InvocationPoolGambitLearn4Description=Vous apprenez trois techniques spéciales appelées manœuvres. Utiliser une manœuvre coûte un dé de supériorité. La plupart des manœuvres améliorent vos attaques d'une certaine manière et ajoutent le jet de supériorité aux dégâts de l'attaque. Vous ne pouvez avoir qu’une seule manœuvre active à la fois. Certaines de vos manœuvres nécessitent que votre cible effectue un jet de sauvegarde pour éviter ses effets néfastes. Le DD de Manœuvre de ces manœuvres est de 8 + bonus de maîtrise + modificateur de Force ou de Dextérité, selon le plus élevé des deux.
+Feature/&InvocationPoolGambitLearn4Description=Vous apprenez trois techniques spéciales appelées manœuvres. Utiliser une manœuvre coûte un dé de supériorité. La plupart des manœuvres améliorent vos attaques d'une certaine manière et ajoutent le jet de supériorité aux dégâts de l'attaque. Vous ne pouvez avoir qu'une seule manœuvre active à la fois. Certaines de vos manœuvres nécessitent que votre cible effectue un jet de sauvegarde pour éviter ses effets néfastes. Le DD de Manœuvre de ces manœuvres est de 8 + bonus de maîtrise + modificateur de Force ou de Dextérité, selon le plus élevé des deux.
Feature/&InvocationPoolGambitLearn4Title=Manœuvres
Feature/&InvocationPoolGambitLearnDescription=Sélectionnez les manœuvres à apprendre.
Feature/&InvocationPoolGambitLearnTitle=Apprendre la manœuvre
@@ -38,7 +38,7 @@ Feedback/&AdditionalDamageTacticalAwarenessFormat=Conscience tactique!
Feedback/&AdditionalDamageTacticalAwarenessLine={0} effectue une frappe tactique sur {1} (+{2})
Screen/&GambitDieDescription=Votre dé de supériorité est un {0} et il vous reste {1} utilisations.
Screen/&InvocationPoolGambitHeader=Manœuvres
-Subclass/&MartialTacticianDescription=Pour les maîtres de bataille, une bataille est autant une épreuve d’esprit qu’une épreuve de force. Ils emploient diverses techniques martiales transmises par les chefs militaires triomphants, dans le but de déjouer et de surpasser le camp adverse en utilisant toutes les tactiques nécessaires pour remporter la victoire.
+Subclass/&MartialTacticianDescription=Pour les maîtres de bataille, une bataille est autant une épreuve d'esprit qu'une épreuve de force. Ils emploient diverses techniques martiales transmises par les chefs militaires triomphants, dans le but de déjouer et de surpasser le camp adverse en utilisant toutes les tactiques nécessaires pour remporter la victoire.
Subclass/&MartialTacticianTitle=Maître de bataille
Tooltip/&CustomPortraitPoolPowerPoolTacticianGambit=Dé de supériorité
UI/&CustomFeatureSelectionTooltipTypeGambit=Manœuvre
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWarlord-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWarlord-fr.txt
index 67309f4f47..d8ecf3fe7b 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWarlord-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWarlord-fr.txt
@@ -2,11 +2,11 @@ Condition/&ConditionMartialWarlordCoveringStrikeDescription=Tous les alliés aut
Condition/&ConditionMartialWarlordCoveringStrikeTitle=Redirigé
Condition/&ConditionMartialWarlordExploitOpeningDescription=Le prochain jet d'attaque effectué par un attaquant autre que la source contre vous est effectué avec avantage.
Condition/&ConditionMartialWarlordExploitOpeningTitle=Exploité
-Condition/&ConditionMartialWarlordPredictAttackDescription=Vous êtes désavantagé lors de votre prochain jet d’attaque.
+Condition/&ConditionMartialWarlordPredictAttackDescription=Vous êtes désavantagé lors de votre prochain jet d'attaque.
Condition/&ConditionMartialWarlordPredictAttackTitle=Prévisible
Feature/&FeatureMartialWarlordBattlePlanDescription=Votre expérience du champ de bataille s'étend désormais à toutes les créatures alliées situées à moins de 9 mètres de vous.
Feature/&FeatureMartialWarlordBattlePlanTitle=Plan de bataille
-Feature/&FeatureMartialWarlordBattlefieldExperienceDescription=Vous gagnez un bonus aux jets d’initiative égal à votre modificateur de Sagesse (minimum +1).
+Feature/&FeatureMartialWarlordBattlefieldExperienceDescription=Vous gagnez un bonus aux jets d'initiative égal à votre modificateur de Sagesse (minimum +1).
Feature/&FeatureMartialWarlordBattlefieldExperienceTitle=Expérience sur le champ de bataille
Feature/&FeatureSetMartialWarlordControlTheFieldDescription=Vous récupérez une utilisation de votre assaut coordonné chaque fois que vous lancez un jet d'initiative, et chaque fois que vous utilisez votre fonction de repositionnement stratégique, vous pouvez réutiliser cette fonctionnalité en tant qu'action gratuite avant la fin de votre tour.
Feature/&FeatureSetMartialWarlordControlTheFieldTitle=Contrôlez le terrain
@@ -19,12 +19,12 @@ Feature/&PowerMartialWarlordControlTheFieldTitle=Repositionnement stratégique
Feature/&PowerMartialWarlordCoveringStrikeDescription=Tous les alliés autres que vous ne provoquent pas d'attaques d'opportunité de la part de cette créature. Cet effet dure jusqu'au début de votre prochain tour.
Feature/&PowerMartialWarlordCoveringStrikeTitle=Grève de couverture
Feature/&PowerMartialWarlordExploitOpeningDescription=Le prochain jet d'attaque effectué par un attaquant autre que vous contre cette créature est effectué avec avantage. L'attaque doit être effectuée avant le début de votre prochain tour.
-Feature/&PowerMartialWarlordExploitOpeningTitle=Ouverture d’exploit
+Feature/&PowerMartialWarlordExploitOpeningTitle=Ouverture d'exploit
Feature/&PowerMartialWarlordPredictAttackDescription=La créature est désavantagée lors du prochain jet d'attaque qu'elle effectue avant le début de votre prochain tour.
Feature/&PowerMartialWarlordPredictAttackTitle=Prédire l'attaque
Feature/&PowerMartialWarlordStrategicRepositionDescription=Vous pouvez utiliser votre action bonus pour ordonner à un allié autre que vous, que vous pouvez voir et qui se trouve à moins de 9 mètres de vous, de changer de position. L'allié ciblé peut se déplacer jusqu'à la moitié de sa vitesse de déplacement (arrondie au supérieur) sans provoquer d'attaques d'opportunité.
Feature/&PowerMartialWarlordStrategicRepositionTitle=Repositionnement stratégique
-Reaction/&CoordinatedAssaultDescription={0} est la cible d'une attaque coordonnée. Les alliés peuvent utiliser leur réaction pour se joindre à l’assaut.
+Reaction/&CoordinatedAssaultDescription={0} est la cible d'une attaque coordonnée. Les alliés peuvent utiliser leur réaction pour se joindre à l'assaut.
Reaction/&CoordinatedAssaultReactDescription=Utilisez la réaction pour attaquer la cible.
Reaction/&CoordinatedAssaultReactTitle=Attaque
Reaction/&CoordinatedAssaultTitle=Assaut coordonné
@@ -33,5 +33,5 @@ Reaction/&ReactionSpendPowerBundlePowerMartialWarlordPressTheAdvantageReactDescr
Reaction/&ReactionSpendPowerBundlePowerMartialWarlordPressTheAdvantageReactTitle=Appuyez sur l'avantage
Reaction/&ReactionSpendPowerBundlePowerMartialWarlordPressTheAdvantageTitle=Appuyez sur l'avantage
Reaction/&SubitemSelectCoordinatedAssaultTitle=Sélectionnez l'action
-Subclass/&MartialWarlordDescription=Qu’ils soient aimés, respectés ou craints, les chefs de guerre sont avant tout connus pour une chose : diriger des soldats comme personne d’autre. Un chef de guerre se tient aux côtés de ses alliés et peut renverser le cours de n’importe quelle bataille, peu importe si elle nécessite une épée ou une langue acérée. La simple présence de ces dirigeants accomplis est suffisante pour qu’un soldat suive leurs ordres en toute confiance et soit la meilleure version de lui-même.
+Subclass/&MartialWarlordDescription=Qu'ils soient aimés, respectés ou craints, les chefs de guerre sont avant tout connus pour une chose : diriger des soldats comme personne d'autre. Un chef de guerre se tient aux côtés de ses alliés et peut renverser le cours de n'importe quelle bataille, peu importe si elle nécessite une épée ou une langue acérée. La simple présence de ces dirigeants accomplis est suffisante pour qu'un soldat suive leurs ordres en toute confiance et soit la meilleure version de lui-même.
Subclass/&MartialWarlordTitle=Chef militaire
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWeaponMaster-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWeaponMaster-fr.txt
index 71db9b1c3f..ee5c90d6bf 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWeaponMaster-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/MartialWeaponMaster-fr.txt
@@ -1,6 +1,6 @@
Condition/&ConditionMartialWeaponMasterFocusedStrikesDescription=Vous avez l'avantage sur toutes les attaques avec votre arme spécialisée jusqu'à la fin de votre tour.
Condition/&ConditionMartialWeaponMasterFocusedStrikesTitle=Frappes ciblées
-Feature/&AttributeModifierMartialWeaponMasterSpecializationDescription=Vous gagnez +1 aux jets de touche et de dégâts avec votre type d’arme spécialisée. Un Maître d'Armes Martiales aura un désavantage pour attaquer avec tous les autres types d'armes mais obtiendra un bonus de +2 à partir du niveau 9 et un bonus de +3 à partir du niveau 17.
+Feature/&AttributeModifierMartialWeaponMasterSpecializationDescription=Vous gagnez +1 aux jets de touche et de dégâts avec votre type d'arme spécialisée. Un Maître d'Armes Martiales aura un désavantage pour attaquer avec tous les autres types d'armes mais obtiendra un bonus de +2 à partir du niveau 9 et un bonus de +3 à partir du niveau 17.
Feature/&AttributeModifierMartialWeaponMasterSpecializationTitle=Spécialisation des armes
Feature/&FeatureMartialWeaponMasterBattleStanceDescription=Chaque fois que vous lancez un jet d'initiative, vous gagnez des points de vie temporaires égaux à votre niveau de maîtrise d'arme + modificateur de Constitution et récupérez une utilisation de votre fonction Frappes ciblées si votre arme spécialisée est équipée.
Feature/&FeatureMartialWeaponMasterBattleStanceTitle=Position de combat
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfAltruism-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfAltruism-fr.txt
index 4bd5cea747..0c961769af 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfAltruism-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfAltruism-fr.txt
@@ -1,10 +1,10 @@
-Condition/&ConditionOathOfAltruismAuraOfTheGuardianDescription=Ce personnage est à portée des réactions d’Aura of the Guardian.
+Condition/&ConditionOathOfAltruismAuraOfTheGuardianDescription=Ce personnage est à portée des réactions d'Aura of the Guardian.
Condition/&ConditionOathOfAltruismAuraOfTheGuardianTitle=Aura du Gardien
Condition/&ConditionOathOfAltruismExaltedProtectorDescription=Protecteur Exalté
Condition/&ConditionOathOfAltruismExaltedProtectorTitle=Protecteur Exalté
Condition/&ConditionOathOfAltruismSpiritualShieldingDescription=Vous disposez d'un bouclier protecteur de force pure autour, vous accordant une CA supplémentaire égale au modificateur de Charisme du Serment d'Altruisme.
Condition/&ConditionOathOfAltruismSpiritualShieldingTitle=Protection spirituelle
-Feature/&FeatureOathOfAltruismDefensiveStrikeDescription=Lorsqu'une créature amie que vous pouvez voir est touchée par une attaque, vous pouvez utiliser Channel Divinity pour projeter un élan de volonté inébranlable dans cette créature - elle utilise immédiatement sa réaction pour lancer une attaque avec une arme de mêlée, en ajoutant votre modificateur de Charisme aux deux. jets d’attaque et de dégâts.
+Feature/&FeatureOathOfAltruismDefensiveStrikeDescription=Lorsqu'une créature amie que vous pouvez voir est touchée par une attaque, vous pouvez utiliser Channel Divinity pour projeter un élan de volonté inébranlable dans cette créature - elle utilise immédiatement sa réaction pour lancer une attaque avec une arme de mêlée, en ajoutant votre modificateur de Charisme aux deux. jets d'attaque et de dégâts.
Feature/&FeatureOathOfAltruismDefensiveStrikeTitle=Channel Divinity : Frappe défensive
Feature/&FeatureOathOfAltruismSpiritualShieldingDescription=Lorsqu'une créature amie que vous pouvez voir est sur le point d'être touchée par une attaque, vous pouvez dépenser une utilisation de Channel Divinity en lui accordant une CA supplémentaire égale à votre modificateur de Charisme.
Feature/&FeatureOathOfAltruismSpiritualShieldingTitle=Divinité de canal : protection spirituelle
@@ -21,7 +21,7 @@ Reaction/&CustomReactionFeatureOathOfAltruismDefensiveStrikeDescription={0}
Reaction/&CustomReactionFeatureOathOfAltruismDefensiveStrikeReactDescription=Dépensez Channel Divinity pour inciter votre allié à riposter.
Reaction/&CustomReactionFeatureOathOfAltruismDefensiveStrikeReactTitle=Dépenser
Reaction/&CustomReactionFeatureOathOfAltruismDefensiveStrikeTitle=Channel Divinity : Frappe défensive
-Reaction/&CustomReactionGuardianAuraDescription={0} a subi {1} dégâts. Vous pouvez utiliser votre réaction pour les soigner d’autant et subir les dégâts vous-même.
+Reaction/&CustomReactionGuardianAuraDescription={0} a subi {1} dégâts. Vous pouvez utiliser votre réaction pour les soigner d'autant et subir les dégâts vous-même.
Reaction/&CustomReactionGuardianAuraReactDescription=Utilisez votre réaction pour soigner votre allié et subir vous-même les dégâts.
Reaction/&CustomReactionGuardianAuraReactTitle=Réagir
Reaction/&CustomReactionGuardianAuraTitle=Aura de gardien !
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfDemonHunter-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfDemonHunter-fr.txt
index 2474f5f365..43b31132fb 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfDemonHunter-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/OathOfDemonHunter-fr.txt
@@ -1,6 +1,6 @@
Condition/&ConditionOathOfDemonHunterTrialMarkDescription=Vous subissez des dégâts radiants supplémentaires lorsque vous subissez des dégâts d'arme provenant de la source de la marque d'essai.
Condition/&ConditionOathOfDemonHunterTrialMarkTitle=Marque d'essai
-Feature/&AttributeModifierOathOfDemonHunterDivineCrossbowDescription=À partir du niveau 15, vous imprégnez votre arbalète d’un pouvoir divin. Vous bénéficiez des avantages suivants :\n· La portée de vos arbalètes augmente de 9 pieds.\n· La portée de votre menace de coup critique augmente de 1 point.
+Feature/&AttributeModifierOathOfDemonHunterDivineCrossbowDescription=À partir du niveau 15, vous imprégnez votre arbalète d'un pouvoir divin. Vous bénéficiez des avantages suivants :\n· La portée de vos arbalètes augmente de 9 pieds.\n· La portée de votre menace de coup critique augmente de 1 point.
Feature/&AttributeModifierOathOfDemonHunterDivineCrossbowTitle=Arbalète divine
Feature/&DieRollModifierOathOfDemonHunterDemonSlayer=Grâce à la capacité de Demon Slayer, {0} relance le dé {1} de {2} à {3}.
Feature/&FeatureOathOfDemonHunterDemonHunterDescription=À partir du niveau 3, vous pouvez appliquer votre capacité Châtiment divin lorsque vous frappez un ennemi avec une arbalète légère, une arbalète à main ou une arbalète lourde.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheSpirits-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheSpirits-fr.txt
index 05298a757c..5ed0beb948 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheSpirits-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheSpirits-fr.txt
@@ -6,7 +6,7 @@ Condition/&ConditionPathOfTheSpiritsHonedAnimalAspectsWolfDescription=Obtenez la
Condition/&ConditionPathOfTheSpiritsHonedAnimalAspectsWolfTitle=Coup de loup aiguisé
Condition/&ConditionPathOfTheSpiritsWolfLeadershipPackDescription=L'esprit du loup vous confère un avantage aux jets d'attaque en mêlée.
Condition/&ConditionPathOfTheSpiritsWolfLeadershipPackTitle=Esprit du loup
-Feature/&ActionAffinityPathOfTheSpiritsCunningActionDescription=L’esprit de l’aigle fait de vous un prédateur agile qui peut se faufiler facilement dans la mêlée. Vous pouvez vous précipiter, vous désengager ou vous cacher comme une action bonus.
+Feature/&ActionAffinityPathOfTheSpiritsCunningActionDescription=L'esprit de l'aigle fait de vous un prédateur agile qui peut se faufiler facilement dans la mêlée. Vous pouvez vous précipiter, vous désengager ou vous cacher comme une action bonus.
Feature/&ActionAffinityPathOfTheSpiritsCunningActionTitle=Esprit d'aigle
Feature/&FeatureSetPathOfTheSpiritsAnimalAspectChoiceBearDescription=L'esprit de l'ours augmente vos PV de 2 points pour chaque niveau atteint dans cette classe et vous accorde un avantage aux tests de Force.
Feature/&FeatureSetPathOfTheSpiritsAnimalAspectChoiceBearTitle=Aspect ours
@@ -30,7 +30,7 @@ Feature/&FeatureSetPathOfTheSpiritsSpiritSeekerDescription=Lorsque vous adoptez
Feature/&FeatureSetPathOfTheSpiritsSpiritSeekerTitle=Chercheur d'esprit
Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerDescription=Chaque fois que vous commencez à faire rage, vous pouvez également lancer le sort Spirit Guardians dans le cadre de la fonction Rage qui dure une minute sans aucun composant et sans nécessiter de concentration. Vous pouvez utiliser cette fonctionnalité une fois par repos long. Si vous commencez à faire rage et que vous n'utilisez plus cette fonctionnalité, vous pouvez à la place dépenser une charge de Rage pour l'utiliser à nouveau.
Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerTitle=Marcheur spirituel
-Feature/&PowerPathOfTheSpiritsBearResistanceDescription=L’esprit de l’ours vous rend suffisamment résistant pour résister à n’importe quelle punition. En rage, vous avez une résistance à tous les dégâts, à l'exception des dégâts psychiques.
+Feature/&PowerPathOfTheSpiritsBearResistanceDescription=L'esprit de l'ours vous rend suffisamment résistant pour résister à n'importe quelle punition. En rage, vous avez une résistance à tous les dégâts, à l'exception des dégâts psychiques.
Feature/&PowerPathOfTheSpiritsBearResistanceTitle=Résistance à l'ours
Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsBearDescription=Lorsqu'ils sont en rage, ceux qui se trouvent à 1,50 mètre de vous ont un désavantage aux jets d'attaque de ceux qui sont autres que vous.
Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsBearTitle=Aura d'ours aiguisée
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheYeoman-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheYeoman-fr.txt
index d5a2274ddd..338f1df09a 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheYeoman-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PathOfTheYeoman-fr.txt
@@ -4,7 +4,7 @@ Feature/&ActionAffinityPathOfTheYeomanStaggeringBlowDescription=Lorsque vous êt
Feature/&ActionAffinityPathOfTheYeomanStaggeringBlowTitle=Coup stupéfiant
Feature/&CombatAffinityPathOfTheYeomanBulwarkDescription=Les attaques à distance des ennemis avec des armes contre vous sont désavantagées.
Feature/&CombatAffinityPathOfTheYeomanBulwarkTitle=Rempart
-Feature/&FeaturePathOfTheYeomanKeenEyeDescription=Reckless Attack donne l’avantage à vos attaques en utilisant une attaque de force avec un arc long. Lorsque vous débloquez Brutal Critical, cela s’applique également à vos attaques de force effectuées avec des arcs longs.
+Feature/&FeaturePathOfTheYeomanKeenEyeDescription=Reckless Attack donne l'avantage à vos attaques en utilisant une attaque de force avec un arc long. Lorsque vous débloquez Brutal Critical, cela s'applique également à vos attaques de force effectuées avec des arcs longs.
Feature/&FeaturePathOfTheYeomanKeenEyeTitle=Œil vif
Feature/&FeaturePathOfTheYeomanMightyShotDescription=Augmentez les dés de dégâts des arcs longs de d8 à d12. Lorsque vous êtes enragé et ne portez pas d'armure lourde, lorsque vous frappez un ennemi avec une attaque à l'arc long, les ennemis à moins de 15 pieds de la cible doivent effectuer un jet de sauvegarde de Dextérité ou subir des dégâts de tonnerre égaux à votre bonus de dégâts de rage plus votre modificateur de Force.
Feature/&FeaturePathOfTheYeomanMightyShotTitle=Tir puissant
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronArchfey-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronArchfey-fr.txt
new file mode 100644
index 0000000000..2303f5b0c4
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronArchfey-fr.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Vous êtes immunisé contre le charme, et lorsqu'une autre créature tente de vous charmer, vous pouvez utiliser votre réaction pour tenter de retourner le charme sur cette créature. La créature doit réussir un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste ou être charmée par vous pendant 1 minute ou jusqu'à ce que la créature subisse des dégâts.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Défenses séduisantes
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Par une action, choisissez une créature que vous pouvez voir dans un rayon de 20 mètres autour de vous. Il doit effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. En cas d'échec de sauvegarde, il est charmé par vous pendant 1 minute. Cet effet se termine plus tôt si la créature subit des dégâts. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Délire sombre : Charmé
+Feature/&PowerArchfeyDarkDeliriumDescription=Par une action, choisissez une créature que vous pouvez voir dans un rayon de 20 mètres autour de vous. Il doit effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. En cas d'échec, il est charmé ou effrayé par vous (au choix) pendant 1 minute. Cet effet se termine plus tôt si la créature subit des dégâts. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Par une action, choisissez une créature que vous pouvez voir dans un rayon de 20 mètres autour de vous. Il doit effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. En cas d'échec de sauvegarde, il est effrayé par vous pendant 1 minute. Cet effet se termine plus tôt si la créature subit des dégâts. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Délire sombre : effrayé
+Feature/&PowerArchfeyDarkDeliriumTitle=Délire sombre
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Par une action, vous pouvez amener chaque créature dans un cône de 15 pieds à effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. Les créatures qui échouent à leur jet de sauvegarde sont toutes charmées par vous jusqu'à la fin de votre prochain tour. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Présence Fey : Charmée
+Feature/&PowerArchfeyFeyPresenceDescription=Par une action, vous pouvez amener chaque créature dans un cône de 15 pieds à effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. Les créatures qui échouent à leur jet de sauvegarde sont toutes charmées ou effrayées par vous (votre choix) jusqu'à la fin de votre prochain tour. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Par une action, vous pouvez amener chaque créature dans un cône de 15 pieds à effectuer un jet de sauvegarde de Sagesse contre le DD de sauvegarde de votre sort de démoniste. Les créatures qui échouent à leur jet de sauvegarde sont toutes effrayées par vous jusqu'à la fin de votre prochain tour. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Présence féerique : effrayée
+Feature/&PowerArchfeyFeyPresenceTitle=Présence féerique
+Feature/&PowerArchfeyMistyEscapeDescription=Lorsque vous êtes touché, vous pouvez utiliser votre réaction pour devenir invisible et vous téléporter jusqu'à 60 pieds dans un espace inoccupé que vous pouvez voir. Vous restez invisible jusqu'au début de votre prochain tour ou jusqu'à ce que vous attaquiez ou lanciez un sort. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un repos court ou long.
+Feature/&PowerArchfeyMistyEscapeTitle=Évasion brumeuse
+Reaction/&CustomReactionMistyEscapeDescription=Vous avez été touché. Vous pouvez utiliser votre réaction pour devenir invisible et vous téléporter jusqu'à 60 pieds dans un espace inoccupé que vous pouvez voir.
+Reaction/&CustomReactionMistyEscapeReactDescription=Devenez invisible et téléportez-vous jusqu'à 60 pieds.
+Reaction/&CustomReactionMistyEscapeReactTitle=Évasion brumeuse
+Reaction/&CustomReactionMistyEscapeTitle=Évasion brumeuse
+Reaction/&UseBeguilingDefensesDescription=Un ennemi a essayé de vous charmer. Vous pouvez utiliser votre réaction pour tenter de retourner le charme.
+Reaction/&UseBeguilingDefensesReactDescription=Retournez le charme.
+Reaction/&UseBeguilingDefensesReactTitle=Défenses séduisantes
+Reaction/&UseBeguilingDefensesTitle=Défenses séduisantes
+Subclass/&PatronArchfeyDescription=Votre patron est un seigneur ou une dame des fées, une créature légendaire qui détient des secrets oubliés avant la naissance des races mortelles. Les motivations de cet être sont souvent impénétrables, et parfois fantaisistes, et peuvent impliquer une recherche d'un plus grand pouvoir magique ou le règlement de rancunes séculaires.
+Subclass/&PatronArchfeyTitle=L'Archfey
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronCelestial-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronCelestial-fr.txt
index f50820ee56..08d73e0b59 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronCelestial-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronCelestial-fr.txt
@@ -1,18 +1,18 @@
Condition/&ConditionBlindedBySearingVengeanceTitle=Aveuglé par une vengeance brûlante
Feature/&BonusCantripCelestialDescription=Vous apprenez les sorts mineurs Lumière et Flamme sacrée. Ils comptent pour vous comme des sorts mineurs de démoniste, mais ils ne comptent pas dans votre nombre de sorts mineurs connus.
Feature/&BonusCantripCelestialTitle=Cantrips bonus
-Feature/&FeatureSetCelestialRadiantSoulDescription=Votre lien avec le Céleste vous permet de servir de conduit à l’énergie rayonnante. Vous avez une résistance aux dégâts radiants, et lorsque vous lancez un sort qui inflige des dégâts radiants ou de feu, vous ajoutez votre modificateur de Charisme à un jet de dégâts radiants ou de feu de ce sort.
+Feature/&FeatureSetCelestialRadiantSoulDescription=Votre lien avec le Céleste vous permet de servir de conduit à l'énergie rayonnante. Vous avez une résistance aux dégâts radiants, et lorsque vous lancez un sort qui inflige des dégâts radiants ou de feu, vous ajoutez votre modificateur de Charisme à un jet de dégâts radiants ou de feu de ce sort.
Feature/&FeatureSetCelestialRadiantSoulTitle=Âme Radieuse
Feature/&PowerCelestialCelestialResistanceDescription=Vous gagnez des points de vie temporaires chaque fois que vous terminez un repos court ou long. Ces points de vie temporaires sont égaux à votre niveau de démoniste + votre modificateur de Charisme. De plus, tous les membres d'origine du groupe gagnent des points de vie temporaires égaux à la moitié de votre niveau de démoniste + votre modificateur de Charisme.
Feature/&PowerCelestialCelestialResistanceTitle=Résistance céleste
-Feature/&PowerCelestialHealingLightDescription=Vous gagnez la capacité de canaliser l’énergie céleste pour soigner les blessures. Vous disposez d’une réserve de D6 que vous dépensez pour alimenter cette guérison. Le nombre de dés dans la réserve est égal à 1 + votre niveau de Démoniste. Par une action bonus, vous pouvez soigner une créature que vous pouvez voir à moins de 20 mètres de vous, en dépensant des dés de la piscine. Le nombre maximum de dés que vous pouvez dépenser en même temps est égal à votre modificateur de Charisme (minimum d'un dé et maximum de six). Lancez les dés que vous dépensez, additionnez-les et restaurez un nombre de points de vie égal au total. Votre réserve récupère tous les dés dépensés lorsque vous terminez un repos long.
+Feature/&PowerCelestialHealingLightDescription=Vous gagnez la capacité de canaliser l'énergie céleste pour soigner les blessures. Vous disposez d'une réserve de D6 que vous dépensez pour alimenter cette guérison. Le nombre de dés dans la réserve est égal à 1 + votre niveau de Démoniste. Par une action bonus, vous pouvez soigner une créature que vous pouvez voir à moins de 20 mètres de vous, en dépensant des dés de la piscine. Le nombre maximum de dés que vous pouvez dépenser en même temps est égal à votre modificateur de Charisme (minimum d'un dé et maximum de six). Lancez les dés que vous dépensez, additionnez-les et restaurez un nombre de points de vie égal au total. Votre réserve récupère tous les dés dépensés lorsque vous terminez un repos long.
Feature/&PowerCelestialHealingLightTitle=Lumière de guérison
-Feature/&PowerCelestialSearingVengeanceDescription=L’énergie rayonnante que vous canalisez vous permet de résister à la mort. Lorsque vous devez effectuer un jet de sauvegarde contre la mort au début de votre tour, vous pouvez à la place vous remettre sur pied avec une explosion d'énergie rayonnante. Vous récupérez des points de vie égaux à la moitié de votre maximum de points de vie, puis vous vous relevez. Chaque créature de votre choix se trouvant à moins de 9 mètres de vous subit des dégâts radiants égaux à 2d8 + votre modificateur de Charisme et est aveuglée jusqu'à la fin de votre prochain tour. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un long repos.
+Feature/&PowerCelestialSearingVengeanceDescription=L'énergie rayonnante que vous canalisez vous permet de résister à la mort. Lorsque vous devez effectuer un jet de sauvegarde contre la mort au début de votre tour, vous pouvez à la place vous remettre sur pied avec une explosion d'énergie rayonnante. Vous récupérez des points de vie égaux à la moitié de votre maximum de points de vie, puis vous vous relevez. Chaque créature de votre choix se trouvant à moins de 9 mètres de vous subit des dégâts radiants égaux à 2d8 + votre modificateur de Charisme et est aveuglée jusqu'à la fin de votre prochain tour. Une fois que vous utilisez cette fonctionnalité, vous ne pouvez plus l'utiliser tant que vous n'avez pas terminé un long repos.
Feature/&PowerCelestialSearingVengeanceTitle=Vengeance brûlante
Feature/&PowerSharedPoolCelestialHealingLightDescription=Par une action bonus, vous pouvez soigner une créature que vous pouvez voir à moins de 20 mètres de vous, en dépensant {0} dés de la réserve. Lancez les dés que vous dépensez, additionnez-les et restaurez un nombre de points de vie égal au total. Votre réserve récupère tous les dés dépensés lorsque vous terminez un repos long.
Feature/&PowerSharedPoolCelestialHealingLightTitle=Lumière de guérison {0}D6
Reaction/&UseSearingVengeanceDescription=Vous récupérez des points de vie égaux à la moitié de votre maximum de points de vie, infligez des dégâts radiants égaux à 2d8 + votre modificateur de Charisme aux ennemis à moins de 9 mètres et les aveuglez.
-Reaction/&UseSearingVengeanceReactDescription=Remettez-vous sur pied avec une explosion d’énergie rayonnante.
+Reaction/&UseSearingVengeanceReactDescription=Remettez-vous sur pied avec une explosion d'énergie rayonnante.
Reaction/&UseSearingVengeanceReactTitle=Vengeance brûlante
Reaction/&UseSearingVengeanceTitle=Vengeance brûlante
Subclass/&PatronCelestialDescription=Votre patron est un être puissant des plans supérieurs. Vous vous êtes lié à une ancienne entité empyrée, solaire, ki-rin, licorne ou autre qui réside dans les plans du bonheur éternel. Votre pacte avec cet être vous permet de ressentir le moindre contact de la lumière sacrée qui illumine le multivers.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronElementalist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronElementalist-fr.txt
index 8b4d9031d4..6ccad83f45 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronElementalist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronElementalist-fr.txt
@@ -1,4 +1,4 @@
-Feature/&BonusCantripElementalistMinorElementalDescription=Votre contrôle sur les énergies élémentaires a augmenté au point que vous dominez désormais les élémentaux les plus faibles. Vous pouvez lancer une conjuration d’élémentaire mineur à volonté.
+Feature/&BonusCantripElementalistMinorElementalDescription=Votre contrôle sur les énergies élémentaires a augmenté au point que vous dominez désormais les élémentaux les plus faibles. Vous pouvez lancer une conjuration d'élémentaire mineur à volonté.
Feature/&BonusCantripElementalistMinorElementalTitle=Serviteurs élémentaires
Feature/&ElementalPatronAirPlane=Avion
Feature/&ElementalPatronEarthPlane=Plan terrestre
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt
index 2818b46886..2bff1c1311 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt
@@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Les dégâts infligés à vo
Feature/&FeatureMoonlitScionLunarEmbraceTitle=Étreinte lunaire
Feature/&FeatureSetMoonlitScionLunarCloakDescription=Vous pouvez utiliser votre action bonus pour invoquer un manteau de lumière ou d'obscurité, bénéficiant ainsi de l'un des avantages suivants pendant une minute :\nPleine Lune : vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon de 15 pieds supplémentaire. rayon autour de vous et gagnez le pouvoir de rayonnement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour.\nNouvelle Lune : vous êtes obscurci par des ténèbres non magiques. Si vous vous déplacez vers une tuile qui est dans une lumière faible ou vive, vous êtes considéré comme étant dans l'obscurité non magique et gagnez le pouvoir de refroidissement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour.
Feature/&FeatureSetMoonlitScionLunarCloakTitle=Cape lunaire
-Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active, et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l’avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste et subir des dégâts ne peut pas briser votre concentration pour ce sort.
+Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active, et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l'avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste et subir des dégâts ne peut pas briser votre concentration pour ce sort.
Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bénédiction de minuit
Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Vous gagnez une vitesse de vol égale à votre vitesse de marche
Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Étreinte lunaire
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMountain-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMountain-fr.txt
index 355a9014d9..29038b8b8d 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMountain-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMountain-fr.txt
@@ -1,6 +1,6 @@
Feature/&FeatureSetPatronMountainEternalGuardianDescription=Vous pouvez utiliser votre fonction Barrière de pierre un nombre de fois égal à votre modificateur de Charisme par court repos.
Feature/&FeatureSetPatronMountainEternalGuardianTitle=Gardien éternel
-Feature/&FeatureSetPatronMountainIceboundSoulDescription=Gagnez l’immunité contre les dégâts du froid. La première fois que vous frappez un ennemi avec une attaque pendant votre tour, il doit effectuer un jet de sauvegarde de Constitution contre le DD de votre sort de démoniste ou devenir aveuglé jusqu'à la fin de son prochain tour.
+Feature/&FeatureSetPatronMountainIceboundSoulDescription=Gagnez l'immunité contre les dégâts du froid. La première fois que vous frappez un ennemi avec une attaque pendant votre tour, il doit effectuer un jet de sauvegarde de Constitution contre le DD de votre sort de démoniste ou devenir aveuglé jusqu'à la fin de son prochain tour.
Feature/&FeatureSetPatronMountainIceboundSoulTitle=Âme glacée
Feature/&FeatureSetPatronMountainKnowledgeOfAeonsDescription=Maîtrisez la nature et la survie. Gagnez Montagne comme type de terrain privilégié.
Feature/&FeatureSetPatronMountainKnowledgeOfAeonsTitle=Connaissance des éons
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronRiftWalker-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronRiftWalker-fr.txt
index 6e9e206506..f01de57dd1 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronRiftWalker-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronRiftWalker-fr.txt
@@ -4,7 +4,7 @@ Feature/&ConditionAffinityRiftWalkerRestrainedImmunityDescription=Vous ne pouvez
Feature/&ConditionAffinityRiftWalkerRestrainedImmunityTitle=Liberté de faille
Feature/&DamageAffinityRiftWalkerFadeIntoTheVoidDescription=Lorsque vous êtes réduit à 0 point de vie mais que vous n'êtes pas tué sur le coup, vous tombez à 1 point de vie à la place tandis que vous disparaissez brièvement dans le vide pour réduire les dégâts. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&DamageAffinityRiftWalkerFadeIntoTheVoidTitle=Fondu dans le vide
-Feature/&PowerRiftWalkerBlinkDescription=Par une action bonus, vous disparaissez de votre plan d'existence actuel, évitant ainsi tout dommage. Au début de votre prochain tour, vous retournez à l’espace d’où vous avez disparu. Vous pouvez utiliser cette fonctionnalité deux fois par repos long.
+Feature/&PowerRiftWalkerBlinkDescription=Par une action bonus, vous disparaissez de votre plan d'existence actuel, évitant ainsi tout dommage. Au début de votre prochain tour, vous retournez à l'espace d'où vous avez disparu. Vous pouvez utiliser cette fonctionnalité deux fois par repos long.
Feature/&PowerRiftWalkerBlinkTitle=Clignoter
Feature/&PowerRiftWalkerRiftCloakDescription=En tant qu'action principale, votre contrôle des portails de faille a augmenté au point que vous pouvez désormais accorder une résistance contre tous les types de dégâts à un allié que vous pouvez voir. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&PowerRiftWalkerRiftCloakTitle=Cape de la Faille
@@ -18,5 +18,5 @@ Reaction/&SpendPowerPowerRiftWalkerRiftStrikeDescription=Bannissez l'attaquant p
Reaction/&SpendPowerPowerRiftWalkerRiftStrikeReactDescription=Bannit l'attaquant.
Reaction/&SpendPowerPowerRiftWalkerRiftStrikeReactTitle=Frappe de faille
Reaction/&SpendPowerPowerRiftWalkerRiftStrikeTitle=Frappe de faille
-Subclass/&PatronRiftWalkerDescription=Votre patron est l’un des rares êtres à avoir élu domicile dans le vide entre les mondes. Ils se glissent facilement entre les plans et les connaissances que vous avez acquises en interagissant avec eux vous permettent d'exploiter les énergies de faille persistantes à votre bénéfice au sein de Solasta. Vous pourriez parfois être empli d'une nostalgie du royaume lointain de votre patron, d'un désir d'errer entre les dimensions pour le reste de vos jours, ou d'observer les signes d'un autre événement Rift, que ce soit pour prévenir ou encourager.
+Subclass/&PatronRiftWalkerDescription=Votre patron est l'un des rares êtres à avoir élu domicile dans le vide entre les mondes. Ils se glissent facilement entre les plans et les connaissances que vous avez acquises en interagissant avec eux vous permettent d'exploiter les énergies de faille persistantes à votre bénéfice au sein de Solasta. Vous pourriez parfois être empli d'une nostalgie du royaume lointain de votre patron, d'un désir d'errer entre les dimensions pour le reste de vos jours, ou d'observer les signes d'un autre événement Rift, que ce soit pour prévenir ou encourager.
Subclass/&PatronRiftWalkerTitle=Le marcheur des failles
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerArcanist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerArcanist-fr.txt
index 447fc7154b..2ec520d320 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerArcanist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerArcanist-fr.txt
@@ -1,6 +1,6 @@
Condition/&ConditionMarkedByArcanistDescription=Lorsqu'elle est touchée par le lanceur avec une attaque avec une arme, la marque explose, infligeant 1d6 dégâts de force à la personne touchée et détruisant la marque. À partir du niveau 11, les dégâts de votre détonation arcanique augmentent à 2d6.
Condition/&ConditionMarkedByArcanistTitle=Marque de l'arcaniste
-Feature/&AdditionalDamageArcanistArcaneDetonationDescription=À partir du niveau 3, vous imprégnez vos armes d’un pouvoir arcanique. Les créatures touchées par vos attaques sont affligées par la Marque de l'Arcaniste.
+Feature/&AdditionalDamageArcanistArcaneDetonationDescription=À partir du niveau 3, vous imprégnez vos armes d'un pouvoir arcanique. Les créatures touchées par vos attaques sont affligées par la Marque de l'Arcaniste.
Feature/&AdditionalDamageArcanistArcaneDetonationTitle=Détonation arcanique
Feature/&AdditionalDamageArcanistArcaneDetonationUpgradeDescription=À partir du niveau 11, les dégâts de votre détonation arcanique augmentent à 2d6.
Feature/&AdditionalDamageArcanistArcaneDetonationUpgradeTitle=Détonation arcanique supérieure
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerFeyWanderer-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerFeyWanderer-fr.txt
index a44467c743..75390275c9 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerFeyWanderer-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerFeyWanderer-fr.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageRangerFeyWandererDreadfulStrikesDescription=Vous pouvez
Feature/&AdditionalDamageRangerFeyWandererDreadfulStrikesTitle=Frappes épouvantables
Feature/&AutoPreparedSpellsRangerFeyWandererDescription=Vous gagnez des sorts bonus qui sont considérés comme des sorts de Rôdeur pour vous, ils sont toujours préparés et ne comptent pas dans le nombre de sorts de Rôdeur que vous connaissez :\n{0}\n\n
Feature/&AutoPreparedSpellsRangerFeyWandererTitle=Magie du Vagabond Fey
-Feature/&FeatureSetRangerFeyWandererOtherworldlyGlamourDescription=Vos qualités féeriques vous confèrent un charme surnaturel. En conséquence, vous effectuez des tests de Charisme avec avantage. De plus, vous maîtrisez l’une des compétences suivantes de votre choix : Tromperie, Performance ou Persuasion.
+Feature/&FeatureSetRangerFeyWandererOtherworldlyGlamourDescription=Vos qualités féeriques vous confèrent un charme surnaturel. En conséquence, vous effectuez des tests de Charisme avec avantage. De plus, vous maîtrisez l'une des compétences suivantes de votre choix : Tromperie, Performance ou Persuasion.
Feature/&FeatureSetRangerFeyWandererOtherworldlyGlamourTitle=Glamour d'un autre monde
Feature/&PowerRangerFeyWandererBeguilingTwistCharmedDescription=Vous pouvez utiliser votre réaction pour forcer la source à effectuer un jet de sauvegarde de Sagesse contre votre DD de sauvegarde de sort. Si la sauvegarde échoue, la source est charmée par vous pendant 1 minute. La source peut répéter le jet de sauvegarde à la fin de chacun de ses tours, mettant ainsi fin à l'effet sur elle-même en cas de sauvegarde réussie.
Feature/&PowerRangerFeyWandererBeguilingTwistCharmedTitle=Charmé
@@ -12,12 +12,12 @@ Feature/&PowerRangerFeyWandererBeguilingTwistFrightenedTitle=Effrayé
Feature/&PowerRangerFeyWandererBeguilingTwistTitle=Torsion séduisante
Feature/&PowerRangerFeyWandererFeyReinforcementsDescription=Une fois par repos long, vous pouvez utiliser votre action pour lancer le sort Conjure Fey. Lancer le sort de cette façon ne nécessite ni composants ni concentration et la durée du sort est d'une minute.
Feature/&PowerRangerFeyWandererFeyReinforcementsTitle=Renforts Fey
-Feature/&PowerRangerFeyWandererMistyWandererDescription=Vous pouvez entrer et sortir du Fey Wild pour vous déplacer en un clin d’œil : vous pouvez lancer Misty Step sans dépenser d’emplacement de sort. Vous pouvez le faire un nombre de fois égal à votre modificateur de Sagesse (au minimum une fois), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. De plus, chaque fois que vous lancez Misty Step, vous pouvez amener avec vous une créature volontaire que vous pouvez voir à moins de 1,50 mètre de vous.
+Feature/&PowerRangerFeyWandererMistyWandererDescription=Vous pouvez entrer et sortir du Fey Wild pour vous déplacer en un clin d'œil : vous pouvez lancer Misty Step sans dépenser d'emplacement de sort. Vous pouvez le faire un nombre de fois égal à votre modificateur de Sagesse (au minimum une fois), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. De plus, chaque fois que vous lancez Misty Step, vous pouvez amener avec vous une créature volontaire que vous pouvez voir à moins de 1,50 mètre de vous.
Feature/&PowerRangerFeyWandererMistyWandererTitle=Vagabond brumeux
Feedback/&AdditionalDamageDreadfulStrikesFormat=Frappes épouvantables
Feedback/&AdditionalDamageDreadfulStrikesLine=Dreadful Strikes inflige +{2} dégâts supplémentaires !
Reaction/&ReactionSpendPowerBundlePowerRangerFeyWandererBeguilingTwistDescription=Vous pouvez réagir pour forcer l'attaquant à effectuer un jet de sauvegarde de Sagesse contre votre DD de sauvegarde de sort. Si la sauvegarde échoue, l'attaquant est charmé ou effrayé par vous pendant 1 minute.
-Reaction/&ReactionSpendPowerBundlePowerRangerFeyWandererBeguilingTwistReactDescription=Charmez ou effrayez l’attaquant.
+Reaction/&ReactionSpendPowerBundlePowerRangerFeyWandererBeguilingTwistReactDescription=Charmez ou effrayez l'attaquant.
Reaction/&ReactionSpendPowerBundlePowerRangerFeyWandererBeguilingTwistReactTitle=Torsion séduisante
Reaction/&ReactionSpendPowerBundlePowerRangerFeyWandererBeguilingTwistTitle=Torsion séduisante
Subclass/&RangerFeyWandererDescription=Une mystique féerique vous entoure, grâce à la bénédiction d'un archfée, aux fruits brillants que vous avez mangés d'un arbre parlant, à la source magique dans laquelle vous avez nagé ou à tout autre événement de bon augure. Quelle que soit la manière dont vous avez acquis votre magie féerique, vous êtes désormais un Fey Wanderer, un rôdeur qui représente à la fois le royaume des mortels et celui des fées. Tandis que vous parcourez le multivers, votre rire joyeux illumine le cœur des opprimés et vos prouesses martiales sèment la terreur chez vos ennemis, car grande est la gaieté des fées et terrible est leur fureur.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerGloomStalker-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerGloomStalker-fr.txt
index 258dc6f118..f26ec370c9 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerGloomStalker-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerGloomStalker-fr.txt
@@ -6,9 +6,9 @@ Feature/&FeatureRangerGloomStalkerShadowyDodgeDescription=Chaque fois qu'une cr
Feature/&FeatureRangerGloomStalkerShadowyDodgeTitle=Esquive ténébreuse
Feature/&FeatureRangerGloomStalkerStalkersFlurryDescription=Une fois à chacun de vos tours, lorsque vous ratez une attaque avec une arme, vous réessayez automatiquement l'attaque contre la même cible.
Feature/&FeatureRangerGloomStalkerStalkersFlurryTitle=Rafale de traqueur
-Feature/&FeatureRangerGloomStalkerUmbralSightDescription=Vous bénéficiez d'une vision dans le noir jusqu'à une portée de 60 pieds. Si vous avez déjà la vision dans le noir, sa portée augmente de 30 pieds. Tant que vous êtes dans l’obscurité naturelle, les créatures ne peuvent pas utiliser leur vision dans le noir pour vous percevoir.
+Feature/&FeatureRangerGloomStalkerUmbralSightDescription=Vous bénéficiez d'une vision dans le noir jusqu'à une portée de 60 pieds. Si vous avez déjà la vision dans le noir, sa portée augmente de 30 pieds. Tant que vous êtes dans l'obscurité naturelle, les créatures ne peuvent pas utiliser leur vision dans le noir pour vous percevoir.
Feature/&FeatureRangerGloomStalkerUmbralSightTitle=Vue ombrale
-Feature/&FeatureSetRangerGloomStalkerIronMindDescription=Vous avez perfectionné votre capacité à résister aux pouvoirs altérant l’esprit de votre proie. Vous gagnez la maîtrise des jets de sauvegarde d'Intelligence, de Sagesse ou de Charisme.
+Feature/&FeatureSetRangerGloomStalkerIronMindDescription=Vous avez perfectionné votre capacité à résister aux pouvoirs altérant l'esprit de votre proie. Vous gagnez la maîtrise des jets de sauvegarde d'Intelligence, de Sagesse ou de Charisme.
Feature/&FeatureSetRangerGloomStalkerIronMindTitle=Esprit de fer
Feedback/&AdditionalDamageDreadAmbusherFormat=Embusqué de l'effroi
Feedback/&AdditionalDamageDreadAmbusherLine=Dread Ambusher inflige +{2} dégâts supplémentaires !
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerHellWalker-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerHellWalker-fr.txt
index 726d2251e4..6fcc6a973e 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerHellWalker-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerHellWalker-fr.txt
@@ -16,6 +16,6 @@ Monster/&MonsterHezrouDescription=Les Hezrous étaient de grandes monstruosités
Monster/&MonsterHezrouTitle=Hézrou
Monster/&MonsterMarilithDescription=À partir de la taille, les mariliths ressemblaient à de jolies femmes humanoïdes à six bras, mais leurs moitiés inférieures étaient celles de serpents verts géants. Dans chaque main, ils portaient des armes très décorées et se paraient de bracelets et de bijoux.
Monster/&MonsterMarilithTitle=Marilith
-Subclass/&RangerHellWalkerDescription=Vous êtes un Hellwalker, un ranger enveloppé dans la magie des plans inférieurs. Comment vous êtes parvenu à être associé à cette magie, vous seul le savez. Peut-être que votre grand ancêtre était d’origine démoniaque, ou peut-être que votre lignée porte une malédiction démoniaque. Quelle que soit la raison, la magie est désormais inextricablement liée à vous, votre propre présence étant à jamais liée aux êtres infernaux d'en bas.
+Subclass/&RangerHellWalkerDescription=Vous êtes un Hellwalker, un ranger enveloppé dans la magie des plans inférieurs. Comment vous êtes parvenu à être associé à cette magie, vous seul le savez. Peut-être que votre grand ancêtre était d'origine démoniaque, ou peut-être que votre lignée porte une malédiction démoniaque. Quelle que soit la raison, la magie est désormais inextricablement liée à vous, votre propre présence étant à jamais liée aux êtres infernaux d'en bas.
Subclass/&RangerHellWalkerTitle=Marcheur des Enfers
Tooltip/&MustHaveDammingStrikeCondition=N'est pas marqué par Damning Strike
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerLightBearer-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerLightBearer-fr.txt
index 85eb5f8a0d..2f1771f67b 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerLightBearer-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerLightBearer-fr.txt
@@ -11,7 +11,7 @@ Feature/&PowerRangerLightBearerAngelicFormDismissDescription=Rejetez votre forme
Feature/&PowerRangerLightBearerAngelicFormDismissTitle=Rejeter la forme angélique
Feature/&PowerRangerLightBearerAngelicFormSproutDescription=Vous êtes capable de vous transformer brièvement en une forme sacrée. Par une action, pendant 1 minute maximum, vous pouvez vous donner une vitesse de vol égale à votre vitesse de marche, et vos attaques comptent également comme magiques. De plus, vous gagnez un nombre de points de vie temporaires égal à votre niveau de ranger. Vous pouvez utiliser ce pouvoir une fois par repos long.
Feature/&PowerRangerLightBearerAngelicFormSproutTitle=Forme angélique
-Feature/&PowerRangerLightBearerBlessedGlowDescription=Vous avez la capacité d’invoquer la lumière sacrée. Lorsque vous lancez Lumière, vous pouvez forcer toutes les créatures à moins de 20 pieds de la source de lumière à réussir une sauvegarde de Constitution lancée contre votre DD de sauvegarde de sorts ou à être aveuglées pendant 1 minute. Un mort-vivant ou un démon est désavantagé lors de ce jet de sauvegarde. Vous pouvez utiliser ce pouvoir une fois par repos long.
+Feature/&PowerRangerLightBearerBlessedGlowDescription=Vous avez la capacité d'invoquer la lumière sacrée. Lorsque vous lancez Lumière, vous pouvez forcer toutes les créatures à moins de 20 pieds de la source de lumière à réussir une sauvegarde de Constitution lancée contre votre DD de sauvegarde de sorts ou à être aveuglées pendant 1 minute. Un mort-vivant ou un démon est désavantagé lors de ce jet de sauvegarde. Vous pouvez utiliser ce pouvoir une fois par repos long.
Feature/&PowerRangerLightBearerBlessedGlowTitle=Lueur bénie
Feature/&PowerRangerLightBearerBlessedWarriorDescription=Par une action bonus, choisissez une créature à moins de 9 mètres de vous. La prochaine fois que vous toucherez cette créature ce tour-ci avec une attaque avec une arme, tous les dégâts infligés par l'attaque deviennent des dégâts radiants, et la créature subit 1d8 dégâts radiants supplémentaires de l'attaque. À partir du niveau 11, les dégâts supplémentaires passent à 2d8.
Feature/&PowerRangerLightBearerBlessedWarriorTitle=Guerrier béni
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerSkyWarrior-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerSkyWarrior-fr.txt
index 1434b770b9..cb5d1c25e8 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerSkyWarrior-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RangerSkyWarrior-fr.txt
@@ -18,9 +18,9 @@ Feature/&PowerRangerSkyWarriorGiftOfTheWindDescription=Tout en portant un boucli
Feature/&PowerRangerSkyWarriorGiftOfTheWindTitle=Cadeau du vent
Feature/&ProficiencyRangerSkyWarriorAerialAgilityDescription=Maîtrisez les acrobaties.
Feature/&ProficiencyRangerSkyWarriorAerialAgilityTitle=Agilité aérienne
-Reaction/&UseGhostlyHowlDescription=Vous avez été attaqué ! Vous pouvez utiliser votre réaction pour tenter d’effrayer l’ennemi.
-Reaction/&UseGhostlyHowlReactDescription=Utilisez votre réaction pour tenter d’effrayer l’ennemi.
+Reaction/&UseGhostlyHowlDescription=Vous avez été attaqué ! Vous pouvez utiliser votre réaction pour tenter d'effrayer l'ennemi.
+Reaction/&UseGhostlyHowlReactDescription=Utilisez votre réaction pour tenter d'effrayer l'ennemi.
Reaction/&UseGhostlyHowlReactTitle=Hurlement fantomatique
Reaction/&UseGhostlyHowlTitle=Hurlement fantomatique
-Subclass/&RangerSkyWarriorDescription=Les Sky Warriors ont été touchés par la puissance persistante de paysages arides balayés par les vents, habités uniquement par des mirages et des fantômes. Ils combinent des manœuvres élégantes de lame et de bouclier avec une magie d’illusion pour prospérer au combat.
+Subclass/&RangerSkyWarriorDescription=Les Sky Warriors ont été touchés par la puissance persistante de paysages arides balayés par les vents, habités uniquement par des mirages et des fantômes. Ils combinent des manœuvres élégantes de lame et de bouclier avec une magie d'illusion pour prospérer au combat.
Subclass/&RangerSkyWarriorTitle=Guerrier du Ciel
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishArcaneScoundrel-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishArcaneScoundrel-fr.txt
index e2ec63bc55..4ce1b0e40f 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishArcaneScoundrel-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishArcaneScoundrel-fr.txt
@@ -6,7 +6,7 @@ Feature/&AdditionalDamageRoguishArcaneScoundrelDistractingAmbushDescription=À p
Feature/&AdditionalDamageRoguishArcaneScoundrelDistractingAmbushTitle=Embuscade distrayante
Feature/&CastSpellRoguishArcaneScoundrelDescription=Lancez des sorts et des cantrips de sorcier.
Feature/&CastSpellRoguishArcaneScoundrelTitle=Lancement de sorts
-Feature/&FeatureSetRoguishArcaneScoundrelTricksOfTheTradeDescription=À partir du niveau 17, vous pouvez voler l’essence d’une créature et l’utiliser pour en blesser une autre. Pendant votre tour, lorsque vous infligez des dégâts d'attaque sournoise à une créature, vous pouvez cibler n'importe quelle autre créature à moins de 9 mètres de vous par une action libre, infligeant la moitié de vos dés d'attaque sournoise (arrondis à l'inférieur) sous forme de dégâts de force et lui appliquant une condition d'embuscade distrayante. créature.
+Feature/&FeatureSetRoguishArcaneScoundrelTricksOfTheTradeDescription=À partir du niveau 17, vous pouvez voler l'essence d'une créature et l'utiliser pour en blesser une autre. Pendant votre tour, lorsque vous infligez des dégâts d'attaque sournoise à une créature, vous pouvez cibler n'importe quelle autre créature à moins de 9 mètres de vous par une action libre, infligeant la moitié de vos dés d'attaque sournoise (arrondis à l'inférieur) sous forme de dégâts de force et lui appliquant une condition d'embuscade distrayante. créature.
Feature/&FeatureSetRoguishArcaneScoundrelTricksOfTheTradeTitle=Voleur d'essence
Feature/&MagicAffinityRoguishArcaneScoundrelGuilefulCastingDescription=Vous pouvez utiliser vos armes comme cible de lancement de sorts et êtes capable d'exécuter des composants somatiques de sorts tout en tenant des objets.
Feature/&MagicAffinityRoguishArcaneScoundrelGuilefulCastingTitle=Casting rusé
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishBladeCaller-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishBladeCaller-fr.txt
index c463f8261a..c9eff4accc 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishBladeCaller-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishBladeCaller-fr.txt
@@ -20,5 +20,5 @@ Reaction/&UseHailOfBladesDescription=Utilisez votre réaction pour invoquer un m
Reaction/&UseHailOfBladesReactDescription=Utilisez votre réaction pour invoquer un maelström de lames éthérées et lancez-les sur vos ennemis.
Reaction/&UseHailOfBladesReactTitle=Grêle de lames
Reaction/&UseHailOfBladesTitle=Grêle de lames
-Subclass/&RoguishBladeCallerDescription=Les Blade Callers sont les descendants d’assassins légendaires, du moins c’est ce que disent les histoires urbaines. Rapides et précis, ces combattants utilisent des arts de l'épée mortels pour exploiter les points faibles de leurs adversaires, les frappant avec une finesse sans égal lorsque le moment opportun se présente.
+Subclass/&RoguishBladeCallerDescription=Les Blade Callers sont les descendants d'assassins légendaires, du moins c'est ce que disent les histoires urbaines. Rapides et précis, ces combattants utilisent des arts de l'épée mortels pour exploiter les points faibles de leurs adversaires, les frappant avec une finesse sans égal lorsque le moment opportun se présente.
Subclass/&RoguishBladeCallerTitle=Appeleur de lame
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishDuelist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishDuelist-fr.txt
index 5838cae494..b3e80f60ec 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishDuelist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishDuelist-fr.txt
@@ -12,5 +12,5 @@ Feature/&FeatureSetRoguishDuelistSureFootedDescription=Lorsqu'il n'est pas armé
Feature/&FeatureSetRoguishDuelistSureFootedTitle=Le pied sûr
Feedback/&AdditionalDamageSureFootedFormat=Le pied sûr
Feedback/&AdditionalDamageSureFootedLine=Sure Footed inflige +{2} dégâts supplémentaires !
-Subclass/&RoguishDuelistDescription=Les duellistes possèdent une bravade fanfaronne. Ils sont vifs d’esprit, autonomes et dangereux pour les ennemis isolés.
+Subclass/&RoguishDuelistDescription=Les duellistes possèdent une bravade fanfaronne. Ils sont vifs d'esprit, autonomes et dangereux pour les ennemis isolés.
Subclass/&RoguishDuelistTitle=Duelliste
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishOpportunist-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishOpportunist-fr.txt
index b66852d0c7..f4a4a39c3e 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishOpportunist-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishOpportunist-fr.txt
@@ -4,7 +4,7 @@ Condition/&ConditionRoguishOpportunistExposedDescription=Vous êtes affaibli par
Condition/&ConditionRoguishOpportunistExposedTitle=Débilité
Condition/&ConditionRoguishOpportunistImprovedDebilitatedDescription=Vous êtes affaibli par un opportuniste, vous lancez tous vos jets de sauvegarde avec une pénalité de -1d6 et votre vitesse de déplacement est réduite de 3 mètres.
Condition/&ConditionRoguishOpportunistImprovedDebilitatedTitle=Débilité
-Feature/&FeatureRoguishOpportunistOpportunityDescription=Durant le premier round de combat, vous lancez tous les jets d’attaque avec avantage. De plus, vous lancez toujours toutes les attaques d’opportunité avec avantage.
+Feature/&FeatureRoguishOpportunistOpportunityDescription=Durant le premier round de combat, vous lancez tous les jets d'attaque avec avantage. De plus, vous lancez toujours toutes les attaques d'opportunité avec avantage.
Feature/&FeatureRoguishOpportunistOpportunityTitle=Opportunité
Feature/&FeatureRoguishOpportunistSeizeTheChanceDescription=À partir du niveau 9, lorsqu'un ennemi échoue pour la première fois à un jet de sauvegarde et que ce n'est pas votre tour, vous pouvez utiliser votre réaction pour lancer une attaque d'opportunité contre lui.
Feature/&FeatureRoguishOpportunistSeizeTheChanceTitle=Saisissez l'opportunité
@@ -14,10 +14,10 @@ Feature/&PowerRoguishOpportunistExposedWeaknessDescription=À partir du niveau 1
Feature/&PowerRoguishOpportunistExposedWeaknessTitle=Faiblesse exposée
Feature/&PowerRoguishOpportunistImprovedDebilitatingStrikeDescription=À partir du niveau 13, chaque fois que vous attaquez sournoisement une créature, cette créature doit réussir un jet de sauvegarde de Constitution (DD 8 + bonus de maîtrise + modificateur de Dextérité) ou voir sa vitesse de déplacement réduite de 10 pieds, et lancer tous les jets de sauvegarde avec une pénalité de –1d6 jusqu'à ce que la fin de votre prochain tour.
Feature/&PowerRoguishOpportunistImprovedDebilitatingStrikeTitle=Frappe débilitante améliorée
-Reaction/&SeizeTheChanceDescription=Un ennemi a raté un jet de sauvegarde. Vous pouvez utiliser votre réaction pour lancer une attaque d’opportunité.
-Reaction/&SeizeTheChanceReactDescription=Un ennemi a raté un jet de sauvegarde. Vous pouvez utiliser votre réaction pour lancer une attaque d’opportunité.
+Reaction/&SeizeTheChanceDescription=Un ennemi a raté un jet de sauvegarde. Vous pouvez utiliser votre réaction pour lancer une attaque d'opportunité.
+Reaction/&SeizeTheChanceReactDescription=Un ennemi a raté un jet de sauvegarde. Vous pouvez utiliser votre réaction pour lancer une attaque d'opportunité.
Reaction/&SeizeTheChanceReactTitle=Saisissez l'opportunité
Reaction/&SeizeTheChanceTitle=Saisissez l'opportunité
Reaction/&SubitemSelectSeizeTheChanceTitle=Saisissez l'opportunité
-Subclass/&RoguishOpportunistDescription=Les opportunistes sont ceux qui ne laissent jamais passer une chance d’en finir avec leurs ennemis. Ils frappent vite et là où ça compte. Peu de gens qui leur font face peuvent s’en sortir indemnes.
+Subclass/&RoguishOpportunistDescription=Les opportunistes sont ceux qui ne laissent jamais passer une chance d'en finir avec leurs ennemis. Ils frappent vite et là où ça compte. Peu de gens qui leur font face peuvent s'en sortir indemnes.
Subclass/&RoguishOpportunistTitle=Opportuniste
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishSlayer-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishSlayer-fr.txt
index 5ef6be124b..0de1dde435 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishSlayer-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishSlayer-fr.txt
@@ -10,5 +10,5 @@ Feature/&FeatureRoguishSlayerFatalStrikeDescription=À partir du niveau 17, vous
Feature/&FeatureRoguishSlayerFatalStrikeTitle=Frappe fatale
Feature/&PowerRoguishSlayerCloakOfShadowsDescription=À partir du niveau 13, vous pouvez utiliser votre action bonus pour devenir invisible pendant 1 minute. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre modificateur de Dextérité.
Feature/&PowerRoguishSlayerCloakOfShadowsTitle=Cape des ombres
-Subclass/&RoguishSlayerDescription=Les Slayers concentrent leur entraînement sur l’art sinistre de la mort. Ceux qui adhèrent à cet archétype sont divers : des tueurs à gages, des espions, des chasseurs de primes et même des prêtres spécialement oints et formés pour exterminer les ennemis de leur divinité. La furtivité, le poison et le déguisement vous aident à éliminer vos ennemis avec une efficacité mortelle.
+Subclass/&RoguishSlayerDescription=Les Slayers concentrent leur entraînement sur l'art sinistre de la mort. Ceux qui adhèrent à cet archétype sont divers : des tueurs à gages, des espions, des chasseurs de primes et même des prêtres spécialement oints et formés pour exterminer les ennemis de leur divinité. La furtivité, le poison et le déguisement vous aident à éliminer vos ennemis avec une efficacité mortelle.
Subclass/&RoguishSlayerTitle=Tueur
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishUmbralStalker-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishUmbralStalker-fr.txt
index a2702c6647..0f58c0a94e 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishUmbralStalker-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/RoguishUmbralStalker-fr.txt
@@ -1,13 +1,13 @@
Condition/&ConditionRoguishUmbralStalkerShadowDanceDescription=Vous êtes obscurci par l'obscurité magique que vous pouvez voir à travers, et chaque fois que vous infligez des dégâts d'attaque sournoise et que vous lancez le nombre maximum sur l'un de vos dés d'attaque, vous relancez ce dé et l'ajoutez aux dégâts.
Condition/&ConditionRoguishUmbralStalkerShadowDanceTitle=Danse de l'ombre
-Feature/&ActionAffinityGloomBladeToggleDescription=Vous imprégnez vos attaques de l'essence des ténèbres elles-mêmes. Chaque fois que vous attaquez sournoisement une créature avec une attaque au corps à corps avec une arme, vous infligez 1d6 dégâts nécrotiques supplémentaires et relancez les 1 et 2 sur les dés de dégâts de cette attaque et devez prendre le deuxième résultat. De plus, vous pouvez choisir de lancer à volonté vos dés de dégâts d’attaque sournoise sous forme de dégâts nécrotiques.
+Feature/&ActionAffinityGloomBladeToggleDescription=Vous imprégnez vos attaques de l'essence des ténèbres elles-mêmes. Chaque fois que vous attaquez sournoisement une créature avec une attaque au corps à corps avec une arme, vous infligez 1d6 dégâts nécrotiques supplémentaires et relancez les 1 et 2 sur les dés de dégâts de cette attaque et devez prendre le deuxième résultat. De plus, vous pouvez choisir de lancer à volonté vos dés de dégâts d'attaque sournoise sous forme de dégâts nécrotiques.
Feature/&ActionAffinityGloomBladeToggleTitle=Feuilles sombres
-Feature/&FeatureSetRoguishUmbralStalkerDeadlyShadowsDescription=Vous vous habituez à l’obscurité et en faites votre terrain de jeu mortel. Vous obtenez une vision dans le noir de 60 pieds. Vous n'avez pas besoin d'un avantage au jet d'attaque pour utiliser votre attaque sournoise si vous et la créature ciblée êtes tous les deux dans une faible lumière ou dans l'obscurité, si vous êtes à moins de 1,50 mètre de la créature et si vous n'avez pas de désavantage au jet d'attaque. Toutes les autres règles relatives aux attaques sournoises s'appliquent toujours à vous.
+Feature/&FeatureSetRoguishUmbralStalkerDeadlyShadowsDescription=Vous vous habituez à l'obscurité et en faites votre terrain de jeu mortel. Vous obtenez une vision dans le noir de 60 pieds. Vous n'avez pas besoin d'un avantage au jet d'attaque pour utiliser votre attaque sournoise si vous et la créature ciblée êtes tous les deux dans une faible lumière ou dans l'obscurité, si vous êtes à moins de 1,50 mètre de la créature et si vous n'avez pas de désavantage au jet d'attaque. Toutes les autres règles relatives aux attaques sournoises s'appliquent toujours à vous.
Feature/&FeatureSetRoguishUmbralStalkerDeadlyShadowsTitle=Ombres mortelles
Feature/&FeatureSetRoguishUmbralStalkerUmbralSoulDescription=Vous gagnez en résistance au froid et aux dégâts nécrotiques. De plus, chaque fois que vous êtes réduit à 0 point de vie, vous récupérez un nombre de points de vie égal à votre niveau de voleur, et vous vous relevez. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&FeatureSetRoguishUmbralStalkerUmbralSoulTitle=Âme ombrale
Feature/&GloomBladeAttackReroll=À cause de Gloomblade, {0} relance un dé de dégâts de {1} de {2} à {3}.
-Feature/&PowerRoguishUmbralStalkerShadowDanceDescription=Vous pouvez utiliser votre action bonus pour vous doter d’un nimbe tourbillonnant d’énergie de l’ombre pendant une minute. Tant que cette énergie d'ombre persiste, vous êtes obscurci par l'obscurité magique à travers laquelle vous pouvez voir, et chaque fois que vous infligez des dégâts d'attaque sournoise et que vous obtenez le nombre maximum sur l'un de vos dés d'attaque, vous relancez ce dé et l'ajoutez aux dégâts. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
+Feature/&PowerRoguishUmbralStalkerShadowDanceDescription=Vous pouvez utiliser votre action bonus pour vous doter d'un nimbe tourbillonnant d'énergie de l'ombre pendant une minute. Tant que cette énergie d'ombre persiste, vous êtes obscurci par l'obscurité magique à travers laquelle vous pouvez voir, et chaque fois que vous infligez des dégâts d'attaque sournoise et que vous obtenez le nombre maximum sur l'un de vos dés d'attaque, vous relancez ce dé et l'ajoutez aux dégâts. Vous pouvez utiliser cette fonctionnalité une fois par repos long.
Feature/&PowerRoguishUmbralStalkerShadowDanceTitle=Danse de l'ombre
Feature/&PowerRoguishUmbralStalkerShadowStrideDescription=Une fois par tour, par une action libre, vous pouvez remplacer n'importe quelle quantité de votre mouvement par une téléportation de distance équivalente. Lorsque vous vous téléportez de cette manière, votre emplacement de départ et votre emplacement final doivent être dans une faible lumière ou dans l'obscurité.
Feature/&PowerRoguishUmbralStalkerShadowStrideTitle=Foulée de l'ombre
@@ -19,5 +19,5 @@ Reaction/&UseUmbralSoulDescription=Vous récupérez un nombre de points de vie
Reaction/&UseUmbralSoulReactDescription=Vous récupérez un nombre de points de vie égal à votre niveau de voleur et vous relevez.
Reaction/&UseUmbralSoulReactTitle=Âme ombrale
Reaction/&UseUmbralSoulTitle=Âme ombrale
-Subclass/&RoguishUmbralStalkerDescription=Les rumeurs disent qu'il existe des choses bien plus sombres que n'importe quelle ombre rôdant dans les coins les plus sombres de Solasta. Des histoires mettant en garde contre des entités brandissant des pouvoirs surnaturels pour manipuler les ténèbres, tendant une embuscade aux malheureux et disparaissant apparemment à volonté. Que ces histoires soient vraies ou non, nombreux sont ceux qui regardent à deux fois par-dessus leurs épaules lorsqu’ils traversent une ruelle sombre en pleine nuit.
+Subclass/&RoguishUmbralStalkerDescription=Les rumeurs disent qu'il existe des choses bien plus sombres que n'importe quelle ombre rôdant dans les coins les plus sombres de Solasta. Des histoires mettant en garde contre des entités brandissant des pouvoirs surnaturels pour manipuler les ténèbres, tendant une embuscade aux malheureux et disparaissant apparemment à volonté. Que ces histoires soient vraies ou non, nombreux sont ceux qui regardent à deux fois par-dessus leurs épaules lorsqu'ils traversent une ruelle sombre en pleine nuit.
Subclass/&RoguishUmbralStalkerTitle=Traqueur ombral
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousPsion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousPsion-fr.txt
index 5c7768075d..82e799fceb 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousPsion-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousPsion-fr.txt
@@ -8,9 +8,9 @@ Feature/&DamageAffinitySorcerousPsionPsionicMindDescription=Vous gagnez en rési
Feature/&DamageAffinitySorcerousPsionPsionicMindTitle=Esprit psionique
Feature/&FeatureSetSorcerousPsionPsychokinesisDescription=Vous pouvez utiliser votre action bonus et cibler une créature à moins de 9 mètres de vous. La créature ciblée est ensuite déplacée jusqu'à 15 pieds vers vous ou loin de vous. Les créatures ennemies doivent réussir un jet de sauvegarde de Force contre votre DD de lancement de sorts ou être déplacées dans la direction choisie tandis que les créatures alliées sont déplacées sans jet de sauvegarde. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise, et pouvez payer 1 point de sorcellerie à la place si vous n'en avez plus d'utilisation.
Feature/&FeatureSetSorcerousPsionPsychokinesisTitle=Télékinésie
-Feature/&FeatureSetSorcerousPsionSupremeWillDescription=Chaque fois que vous lancez un sort de concentration, vous pouvez payer un nombre de points de sorcellerie égal à deux fois le niveau du sort pour lancer le sort sans nécessiter de concentration. Vous ne pouvez utiliser cette fonctionnalité qu’une seule fois par court repos.
+Feature/&FeatureSetSorcerousPsionSupremeWillDescription=Chaque fois que vous lancez un sort de concentration, vous pouvez payer un nombre de points de sorcellerie égal à deux fois le niveau du sort pour lancer le sort sans nécessiter de concentration. Vous ne pouvez utiliser cette fonctionnalité qu'une seule fois par court repos.
Feature/&FeatureSetSorcerousPsionSupremeWillTitle=Volonté suprême
-Feature/&PowerSorcerousPsionMindOverMatterDescription=Si vous tombez à 0 point de vie et ne mourez pas carrément, vous pouvez regagner 1 point de vie, vous relever, gagner un nombre de points de vie temporaires égal à trois fois votre niveau de sorcier pendant une minute et frapper tous les ennemis à moins de 3 mètres de vous. tu es sujet. Cet effet ne peut se produire qu’une seule fois par repos prolongé.
+Feature/&PowerSorcerousPsionMindOverMatterDescription=Si vous tombez à 0 point de vie et ne mourez pas carrément, vous pouvez regagner 1 point de vie, vous relever, gagner un nombre de points de vie temporaires égal à trois fois votre niveau de sorcier pendant une minute et frapper tous les ennemis à moins de 3 mètres de vous. tu es sujet. Cet effet ne peut se produire qu'une seule fois par repos prolongé.
Feature/&PowerSorcerousPsionMindOverMatterTitle=L'esprit avant la matière
Feature/&PowerSorcerousPsionPsychokinesisDragDescription=Vous pouvez utiliser votre action bonus et cibler une créature à moins de 9 mètres de vous. La créature ciblée est ensuite déplacée jusqu'à 15 pieds vers vous. Les créatures ennemies doivent réussir un jet de sauvegarde de Force contre votre DD de lancement de sorts ou être déplacées dans la direction choisie tandis que les créatures alliées sont déplacées sans jet de sauvegarde. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise, et pouvez payer 2 points de sorcellerie à la place si vous n'en avez plus d'utilisation.
Feature/&PowerSorcerousPsionPsychokinesisDragTitle=Télékinésie [Tirer]
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousSorrAkkath-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousSorrAkkath-fr.txt
index 3ef38b8821..b6810b67bd 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousSorrAkkath-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/SorcerousSorrAkkath-fr.txt
@@ -1,6 +1,6 @@
Feature/&AdditionalDamageSorcerousSorrAkkathSpellSneakAttackDescription=Une fois par tour, vous pouvez infliger 1d6 dégâts supplémentaires à une créature touchée par une attaque de sort si vous avez un avantage au jet d'attaque. Vous n'avez pas besoin d'un avantage au jet d'attaque si un autre ennemi de la cible se trouve à moins de 1,50 mètre de celle-ci, cet ennemi n'est pas incapable d'agir et vous n'avez pas de désavantage au jet d'attaque. Les dégâts augmentent à 2d6 au niveau 5, 3d6 au niveau 11 et 4d6 au niveau 17.
Feature/&AdditionalDamageSorcerousSorrAkkathSpellSneakAttackTitle=Sort d'attaque sournoise
-Feature/&FeatureSetSorcerousSorrAkkathBloodOfSorrAkkathDescription=À partir du niveau 6, vous devenez résistant aux dégâts de poison et obtenez l’immunité contre les empoisonnements. De plus, toucher une créature avec la fonction Spell Sneak Attack impose un jet de sauvegarde de Constitution à cette créature. Si la créature échoue, elle devient empoisonnée jusqu'à la fin de votre prochain tour.
+Feature/&FeatureSetSorcerousSorrAkkathBloodOfSorrAkkathDescription=À partir du niveau 6, vous devenez résistant aux dégâts de poison et obtenez l'immunité contre les empoisonnements. De plus, toucher une créature avec la fonction Spell Sneak Attack impose un jet de sauvegarde de Constitution à cette créature. Si la créature échoue, elle devient empoisonnée jusqu'à la fin de votre prochain tour.
Feature/&FeatureSetSorcerousSorrAkkathBloodOfSorrAkkathTitle=Sang de Sorr-Akkath
Feature/&FeatureSetSorcerousSorrAkkathDarknessAffinityDescription=À partir du niveau 14, lorsque vous êtes dans une faible lumière ou dans l'obscurité, vous gagnez :\n• +2 à la CA.\n• +2 aux jets d'attaque.\n• +2 aux jets de sauvegarde.\n• Régénération +2 points de vie à la fin de votre tour.
Feature/&FeatureSetSorcerousSorrAkkathDarknessAffinityTitle=Affinité avec les ténèbres
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDiscordance-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDiscordance-fr.txt
index 2ece8d2940..5df598823a 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDiscordance-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDiscordance-fr.txt
@@ -6,7 +6,7 @@ Condition/&ConditionWayOfTheDiscordanceTurmoilDescription=Prenez -1d4 à tous le
Condition/&ConditionWayOfTheDiscordanceTurmoilTitle=La tourmente
Feature/&FeatureSetWayOfTheDiscordanceBurstOfDisharmonyDescription=Vous pouvez dépenser 2 Ki et utiliser votre action bonus pour provoquer une éruption d'énergie négative accumulée, infligeant 3d6 dégâts nécrotiques dans une zone de 3x3 cellules aux créatures ennemies qui échouent au jet de sauvegarde de Dextérité (DD 8 + bonus de maîtrise + modificateur de Sagesse, sauvegarde de moitié). et appliquer une instance de condition de discordance à chaque créature affectée, qu'elle réussisse ou non le jet de sauvegarde. Pour chaque point Ki supplémentaire que vous dépensez, vous augmentez les dégâts de 1d6 supplémentaires, jusqu'à un coût total égal à la moitié de votre niveau de moine (arrondi au supérieur).
Feature/&FeatureSetWayOfTheDiscordanceBurstOfDisharmonyTitle=Explosion de disharmonie
-Feature/&FeatureSetWayOfTheDiscordanceChaosChannelingDescription=Vous pouvez rassembler une partie de votre propre chaos accumulé et l’utiliser pour créer des pics d’énergie négative. Par une action libre, augmentez la portée de vos frappes à mains nues de 9 mètres et convertissez tous les dégâts que vous infligez avec des frappes à mains nues en dégâts nécrotiques jusqu'à la fin de votre tour. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise et pouvez dépenser 2 points Ki pour l'utiliser à nouveau si vous n'en avez plus d'utilisation.
+Feature/&FeatureSetWayOfTheDiscordanceChaosChannelingDescription=Vous pouvez rassembler une partie de votre propre chaos accumulé et l'utiliser pour créer des pics d'énergie négative. Par une action libre, augmentez la portée de vos frappes à mains nues de 9 mètres et convertissez tous les dégâts que vous infligez avec des frappes à mains nues en dégâts nécrotiques jusqu'à la fin de votre tour. Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise et pouvez dépenser 2 points Ki pour l'utiliser à nouveau si vous n'en avez plus d'utilisation.
Feature/&FeatureSetWayOfTheDiscordanceChaosChannelingTitle=Canalisation du chaos
Feature/&FeatureSetWayOfTheDiscordanceDiscordanceDescription=Vous apprenez à manipuler le chaos intérieur de vos ennemis. Chaque fois que vous frappez une créature avec une frappe à mains nues, la créature reçoit une instance de condition de Discordance pendant 1 minute. Lorsqu'une créature reçoit la 2ème instance, les deux instances sont supprimées, la créature reçoit des dégâts nécrotiques égaux à votre dé d'arts martiaux + modificateur de Sagesse, et la créature ne peut pas recevoir d'instances de condition de discordance supplémentaires jusqu'à la fin de ce tour.
Feature/&FeatureSetWayOfTheDiscordanceDiscordanceTitle=Désaccord
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDragon-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDragon-fr.txt
index f631bd4da7..546b3f6814 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDragon-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheDragon-fr.txt
@@ -22,10 +22,10 @@ Feature/&AdditionalDamageWayOfTheDragonDragonFuryPoisonDescription=Vous êtes fr
Feature/&AdditionalDamageWayOfTheDragonDragonFuryPoisonTitle=Fureur du dragon - Poison
Feature/&FeatureSetWayOfTheDragonBreathDescription=Une fois pendant votre tour, vous pouvez renoncer à l'une de vos attaques d'action principale pour expirer de l'énergie élémentaire. La forme et le type de dégâts de votre souffle dépendent de votre fonction Dragon Ancestry. Chaque créature affectée par votre souffle doit réussir un jet de sauvegarde de Dextérité ou recevoir trois dés d'arts martiaux comme type de dégâts de votre fonction Ancêtre du Dragon (sauf pour la moitié). Vous pouvez utiliser cette fonctionnalité un nombre de fois par repos long égal à votre bonus de maîtrise, et vous pouvez dépenser 2 ki à la place si vous n'en avez plus d'utilisation. Au niveau 17, les dégâts infligés à votre respiration s'élèvent à quatre dés d'arts martiaux.
Feature/&FeatureSetWayOfTheDragonBreathTitle=Souffle élémentaire
-Feature/&FeatureSetWayOfTheDragonFuryDescription=Obtenez la capacité d’imprégner vos poings d’énergie élémentaire. Vous pouvez payer 2 Ki par une action gratuite pour infliger 2d6 dégâts élémentaires supplémentaires avec toutes vos attaques à mains nues jusqu'à la fin de votre tour, le type de dégâts dépendant de votre fonction Dragon Ancestry.
+Feature/&FeatureSetWayOfTheDragonFuryDescription=Obtenez la capacité d'imprégner vos poings d'énergie élémentaire. Vous pouvez payer 2 Ki par une action gratuite pour infliger 2d6 dégâts élémentaires supplémentaires avec toutes vos attaques à mains nues jusqu'à la fin de votre tour, le type de dégâts dépendant de votre fonction Dragon Ancestry.
Feature/&FeatureSetWayOfTheDragonFuryTitle=La fureur du dragon
Feature/&PowerWayOfTheDragonAscensionDescription=Vous pouvez utiliser votre action bonus pour faire germer une paire d'ailes, gagnant ainsi une vitesse de vol égale à votre vitesse de marche. Ils durent jusqu'à ce que vous les rejetiez en utilisant votre action bonus. Pendant que vos ailes se manifestent, vous gagnez également +2 CA.
-Feature/&PowerWayOfTheDragonAscensionDismissDescription=Rejetez l’Ascension draconique.
+Feature/&PowerWayOfTheDragonAscensionDismissDescription=Rejetez l'Ascension draconique.
Feature/&PowerWayOfTheDragonAscensionDismissTitle=Ascension draconique [Rejeter]
Feature/&PowerWayOfTheDragonAscensionTitle=Ascension draconique
Feature/&PowerWayOfTheDragonDragonFuryAcidDescription=Dépensez 2 points Ki pour infliger 2d6 dégâts d'acide aux frappes à mains nues jusqu'à la fin de votre tour.
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheSilhouette-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheSilhouette-fr.txt
index 8a0d91698b..dba319479a 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheSilhouette-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheSilhouette-fr.txt
@@ -2,7 +2,7 @@ Condition/&ConditionWayOfSilhouetteSilhouetteStepDescription=La prochaine attaqu
Condition/&ConditionWayOfSilhouetteSilhouetteStepTitle=Étape de l'ombre
Feature/&AdditionalDamageWayOfSilhouetteStrikeTheVitalsDescription=Une fois par tour, vous pouvez infliger des dégâts supplémentaires égaux à votre dé d'arts martiaux si vous touchez une créature avec une attaque qui avait un avantage au jet d'attaque. Vous n'avez pas besoin d'un avantage au jet d'attaque si un autre ennemi de la cible se trouve à moins de 1,50 mètre de celle-ci, cet ennemi n'est pas incapable d'agir et vous n'avez pas de désavantage au jet d'attaque. Vous devez utiliser une attaque à mains nues ou une arme de moine. Ces dégâts augmentent d'un dé d'arts martiaux supplémentaire aux niveaux 11 et 17.
Feature/&AdditionalDamageWayOfSilhouetteStrikeTheVitalsTitle=Frappez les signes vitaux
-Feature/&FeatureSetWayOfSilhouetteSilhouetteArtsDescription=Vous pouvez voir normalement dans une faible lumière et dans l’obscurité naturelle comme dans une faible lumière, jusqu’à une distance de 60 pieds. Vous pouvez également dépenser 1 ki pour lancer Ténèbres en tant qu'action sans fournir de composants matériels.
+Feature/&FeatureSetWayOfSilhouetteSilhouetteArtsDescription=Vous pouvez voir normalement dans une faible lumière et dans l'obscurité naturelle comme dans une faible lumière, jusqu'à une distance de 60 pieds. Vous pouvez également dépenser 1 ki pour lancer Ténèbres en tant qu'action sans fournir de composants matériels.
Feature/&FeatureSetWayOfSilhouetteSilhouetteArtsTitle=Arts de l'Ombre
Feature/&FeatureWayOfSilhouetteShadowFlurryDescription=Une fois à chacun de vos tours, lorsque vous ratez votre attaque avec une arme de moine ou une attaque à mains nues, vous retentez automatiquement l'attaque contre la même cible.
Feature/&FeatureWayOfSilhouetteShadowFlurryTitle=Rafale d'ombre
@@ -12,9 +12,9 @@ Feature/&PowerWayOfSilhouetteSilhouetteStepDescription=Vous pouvez utiliser votr
Feature/&PowerWayOfSilhouetteSilhouetteStepTitle=Étape de l'ombre
Feedback/&AdditionalDamageStrikeTheVitalsFormat=Frappez les Vitals !
Feedback/&AdditionalDamageStrikeTheVitalsLine={0} lance une attaque vitale sur {1} (+{2})
-Reaction/&UseShadowySanctuaryDescription=Vous pouvez entrer dans l’ombre et disparaître, annulant ainsi tout dommage ou effet néfaste que vous auriez reçu de cette attaque.
+Reaction/&UseShadowySanctuaryDescription=Vous pouvez entrer dans l'ombre et disparaître, annulant ainsi tout dommage ou effet néfaste que vous auriez reçu de cette attaque.
Reaction/&UseShadowySanctuaryReactDescription=Utilisez votre réaction pour disparaître.
Reaction/&UseShadowySanctuaryReactTitle=Sanctuaire ténébreux
Reaction/&UseShadowySanctuaryTitle=Sanctuaire ténébreux
-Subclass/&WayOfSilhouetteDescription=Les pratiquants de la Voie de l'Ombre suivent une tradition qui valorise la furtivité et le subterfuge. Ces moines servent d'espions et d'assassins. Parfois, les membres d'un monastère ninja sont des membres d'une famille, formant un clan juré de garder le secret sur leurs arts et leurs missions. D'autres monastères ressemblent davantage à des guildes de voleurs, louant leurs services à des nobles, de riches marchands ou à toute autre personne pouvant payer leurs honoraires. Quelles que soient leurs méthodes, les chefs de ces monastères attendent l’obéissance inconditionnelle de leurs étudiants.
+Subclass/&WayOfSilhouetteDescription=Les pratiquants de la Voie de l'Ombre suivent une tradition qui valorise la furtivité et le subterfuge. Ces moines servent d'espions et d'assassins. Parfois, les membres d'un monastère ninja sont des membres d'une famille, formant un clan juré de garder le secret sur leurs arts et leurs missions. D'autres monastères ressemblent davantage à des guildes de voleurs, louant leurs services à des nobles, de riches marchands ou à toute autre personne pouvant payer leurs honoraires. Quelles que soient leurs méthodes, les chefs de ces monastères attendent l'obéissance inconditionnelle de leurs étudiants.
Subclass/&WayOfSilhouetteTitle=Voie de l'Ombre
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheStormSoul-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheStormSoul-fr.txt
new file mode 100644
index 0000000000..7424bcd9b1
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheStormSoul-fr.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Cette marque peut exploser à tout moment et causer 5D10 dégâts de tonnerre.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Marque de tempête
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Chaque fois que vous utilisez votre Rafale de coups, vous bénéficiez également des avantages de l'action de désengagement. Les attaques bonus qu'il fournit infligent des dégâts de foudre supplémentaires égaux à votre dé d'arts martiaux.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Disciple des Tempêtes
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Chaque fois que vous endommagez une créature avec une arme de moine, une attaque à mains nues ou un cantrip Lightning Lure, vous marquez cette créature avec des énergies conductrices persistantes pendant 1 minute. Vous pouvez utiliser votre action et dépenser 3 ki pour consommer la marque sur chaque créature et leur imposer un jet de sauvegarde de Dextérité (DD = 8 + bonus de maîtrise + modificateur de Sagesse). En cas d'échec d'un jet de sauvegarde, chaque créature reçoit 5d10 dégâts de foudre (réserve de moitié).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=L'œil du cyclone
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Vous gagnez une résistance aux dégâts de foudre et vous pouvez remplacer n'importe laquelle de vos attaques d'action principale par un sort cantrip Lightning Lure sans qu'aucun composant n'utilise votre Sagesse comme modificateur de lancement de sorts.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Guerrier de foudre
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Vous pouvez remplacer n'importe laquelle de vos attaques d'action principale par un cantrip Lightning Lure sans qu'aucun composant n'utilise votre Sagesse comme modificateur de lancement de sorts.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Leurre Foudre
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Vous pouvez dépenser 1 ki pour remplacer l'une des attaques bonus fournies par Rafale de coups et attaquer à la place toutes les créatures ennemies à moins de 1,50 m de vous avec.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Fureur de la tempête
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Disciple des Tempêtes !
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} frappe {1} avec la foudre (+{2})
+Subclass/&WayOfTheStormSoulDescription=Les moines de la Voie de l'Âme des Tempêtes vivent sur les plus hauts sommets de Solasta, s'adaptant aux énergies des puissantes tempêtes et apprenant à canaliser le pouvoir de la foudre dans leur être. Ces artistes martiaux utilisent leurs disciplines uniques pour devenir une tempête débridée, manœuvrant sans effort sur le champ de bataille, se précipitant d'un ennemi à l'autre et déclenchant d'innombrables frappes éclair sur eux.
+Subclass/&WayOfTheStormSoulTitle=Voie de l'âme de la tempête
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheTempest-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheTempest-fr.txt
index e8b016dc19..e4b02cd40a 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheTempest-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheTempest-fr.txt
@@ -12,9 +12,9 @@ Feature/&FeatureSetWayOfTheTempestGatheringStormDescription=À partir du niveau
Feature/&FeatureSetWayOfTheTempestGatheringStormTitle=Une tempête menaçante
Feature/&FeatureSetWayOfTheTempestTempestFuryDescription=À partir du niveau 11, après avoir utilisé votre action d'attaque, vous pouvez dépenser 3 Ki pour utiliser Fureur de la Tempête comme action bonus. Il s'agit d'une version améliorée de votre Rafale de Coups, qui en plus d'accorder les avantages de l'action de désengagement et de vous permettre d'effectuer deux attaques à mains nues en tant qu'action bonus, lance également immédiatement une attaque à mains nues supplémentaire contre chaque créature ennemie à moins de 1,50 mètre de vous. dès son activation. Toutes les attaques fournies par cette fonctionnalité infligent des dégâts de foudre supplémentaires égaux à votre dé d'arts martiaux.
Feature/&FeatureSetWayOfTheTempestTempestFuryTitle=Fureur de la tempête
-Feature/&MovementAffinityWayOfTheTempestTempestSwiftnessDescription=À partir du niveau 3, votre vitesse de déplacement de base est augmentée de 10 pieds. Chaque fois que vous utilisez votre Rafale de coups, vous bénéficiez également des avantages de l’action de désengagement.
+Feature/&MovementAffinityWayOfTheTempestTempestSwiftnessDescription=À partir du niveau 3, votre vitesse de déplacement de base est augmentée de 10 pieds. Chaque fois que vous utilisez votre Rafale de coups, vous bénéficiez également des avantages de l'action de désengagement.
Feature/&MovementAffinityWayOfTheTempestTempestSwiftnessTitle=Rapidité de la tempête
Feedback/&AdditionalDamageGatheringStormFormat=Une tempête menaçante!
Feedback/&AdditionalDamageGatheringStormLine={0} frappe {1} avec la foudre (+{2})
-Subclass/&WayOfTheTempestDescription=Les moines de la Voie de la Tempête poussent leur corps au-delà de ses limites physiques en utilisant des techniques de manipulation du ki transmises par leurs maîtres et professeurs. Ces artistes martiaux manœuvrent sans effort sur le champ de bataille, se précipitant d’un ennemi à l’autre et leur infligeant d’innombrables coups.
+Subclass/&WayOfTheTempestDescription=Les moines de la Voie de la Tempête poussent leur corps au-delà de ses limites physiques en utilisant des techniques de manipulation du ki transmises par leurs maîtres et professeurs. Ces artistes martiaux manœuvrent sans effort sur le champ de bataille, se précipitant d'un ennemi à l'autre et leur infligeant d'innombrables coups.
Subclass/&WayOfTheTempestTitle=Voie de la tempête
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheZenArchery-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheZenArchery-fr.txt
index a9753a0360..31d729c750 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheZenArchery-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WayOfTheZenArchery-fr.txt
@@ -2,11 +2,11 @@ Feature/&FeatureWayOfZenArcheryFlurryOfArrowsDescription=Chaque fois que vous ut
Feature/&FeatureWayOfZenArcheryFlurryOfArrowsTitle=Rafale de flèches
Feature/&FeatureWayOfZenArcheryKiEmpoweredArrowsDescription=Vos attaques à l'arc sont considérées comme magiques dans le but de vaincre la résistance et l'immunité aux attaques et aux dégâts non magiques, et vous pouvez désormais utiliser votre fonction Superbe Frappe avec les attaques à l'arc.
Feature/&FeatureWayOfZenArcheryKiEmpoweredArrowsTitle=Flèches alimentées par Ki
-Feature/&FeatureWayOfZenArcheryUnerringPrecisionDescription=Vous gagnez la moitié de votre bonus de maîtrise (arrondi à l’inférieur) en bonus à tous les jets d’attaque et de dégâts avec des arcs.
+Feature/&FeatureWayOfZenArcheryUnerringPrecisionDescription=Vous gagnez la moitié de votre bonus de maîtrise (arrondi à l'inférieur) en bonus à tous les jets d'attaque et de dégâts avec des arcs.
Feature/&FeatureWayOfZenArcheryUnerringPrecisionTitle=Précision infaillible
Feature/&PowerWayOfZenArcheryHailOfArrowsDescription=Vous pouvez utiliser votre action et dépenser 3 ki pour tirer un barrage de flèches. Vous effectuez une attaque à l'arc contre chaque créature ennemie que vous pouvez voir dans un cône de 45 pieds.
Feature/&PowerWayOfZenArcheryHailOfArrowsTitle=Pluie de flèches
-Feature/&ProficiencyWayOfZenArcheryOneWithTheBowDescription=Vous maîtrisez l’arc court et l’arc long. Ces armes comptent désormais comme des armes de moine pour vous. Vous acquérez également des compétences avec les outils de forge.
+Feature/&ProficiencyWayOfZenArcheryOneWithTheBowDescription=Vous maîtrisez l'arc court et l'arc long. Ces armes comptent désormais comme des armes de moine pour vous. Vous acquérez également des compétences avec les outils de forge.
Feature/&ProficiencyWayOfZenArcheryOneWithTheBowTitle=Un avec l'arc
-Subclass/&WayOfZenArcheryDescription=Une arme est une extension de soi et une interprétation simple de celui qui la manie. Les moines de la Voie du Tir à l’Arc Zen le savent bien. La beauté et la précision des arts martiaux ont donné à ces moines les outils nécessaires pour maîtriser leur arme de prédilection : l’arc. Ils le manient avec une habileté sans égal et affichent leur maîtrise du tir à l’arc à chaque tirage de corde.
+Subclass/&WayOfZenArcheryDescription=Une arme est une extension de soi et une interprétation simple de celui qui la manie. Les moines de la Voie du Tir à l'Arc Zen le savent bien. La beauté et la précision des arts martiaux ont donné à ces moines les outils nécessaires pour maîtriser leur arme de prédilection : l'arc. Ils le manient avec une habileté sans égal et affichent leur maîtrise du tir à l'arc à chaque tirage de corde.
Subclass/&WayOfZenArcheryTitle=Voie du Tir à l'Arc Zen
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardArcaneFighter-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardArcaneFighter-fr.txt
index 9ee935ab4e..c9386352d5 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardArcaneFighter-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardArcaneFighter-fr.txt
@@ -6,5 +6,5 @@ Feature/&MagicAffinityArcaneFighterConcentrationAdvantageDescription=Grâce à v
Feature/&MagicAffinityArcaneFighterConcentrationAdvantageTitle=Concentration améliorée
Feedback/&AdditionalDamageArcaneFighterFormat=Combattant arcanique !
Feedback/&AdditionalDamageArcaneFighterLine=Arcane Fighter inflige +{2} dégâts supplémentaires !
-Subclass/&WizardArcaneFighterDescription=Les combattants arcaniques canalisent la magie dans leurs armes afin d'effectuer des attaques dévastatrices. Leurs adversaires sont souvent surpris de la férocité et de l’acharnement de ces lanceurs de sorts.
+Subclass/&WizardArcaneFighterDescription=Les combattants arcaniques canalisent la magie dans leurs armes afin d'effectuer des attaques dévastatrices. Leurs adversaires sont souvent surpris de la férocité et de l'acharnement de ces lanceurs de sorts.
Subclass/&WizardArcaneFighterTitle=Combattant arcanique
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardDeadMaster-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardDeadMaster-fr.txt
index 18533ea891..5329751097 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardDeadMaster-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardDeadMaster-fr.txt
@@ -10,5 +10,5 @@ Feature/&TargetReducedToZeroHpDeadMasterStarkHarvestDescription=Une fois par tou
Feature/&TargetReducedToZeroHpDeadMasterStarkHarvestTitle=Récolte austère
Spell/&SpellRaiseDeadFormatDescription=Invocation {0} :\n{1}
Spell/&SpellRaiseDeadFormatTitle=Augmenter {0}
-Subclass/&WizardDeadMasterDescription=Les Deadmasters apprennent à manipuler l’énergie qui anime tous les êtres vivants. Au fur et à mesure de votre progression, vous apprenez à saper la force vitale d'une créature tandis que votre magie détruit son corps, transformant cette énergie vitale en pouvoir magique que vous pouvez manipuler.
+Subclass/&WizardDeadMasterDescription=Les Deadmasters apprennent à manipuler l'énergie qui anime tous les êtres vivants. Au fur et à mesure de votre progression, vous apprenez à saper la force vitale d'une créature tandis que votre magie détruit son corps, transformant cette énergie vitale en pouvoir magique que vous pouvez manipuler.
Subclass/&WizardDeadMasterTitle=Maître mort
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardSpellMaster-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardSpellMaster-fr.txt
index 58e4c2f704..8f5bb4c482 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardSpellMaster-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardSpellMaster-fr.txt
@@ -1,4 +1,4 @@
-Feature/&MagicAffinitySpellMasterExtraPreparedDescription=Préparez des sorts supplémentaires de modificateur d’Intelligence pour avoir toujours ce dont vous avez besoin.
+Feature/&MagicAffinitySpellMasterExtraPreparedDescription=Préparez des sorts supplémentaires de modificateur d'Intelligence pour avoir toujours ce dont vous avez besoin.
Feature/&MagicAffinitySpellMasterExtraPreparedTitle=Extra préparé
Feature/&MagicAffinitySpellMasterKnowledgeDescription=Tracez un sort supplémentaire à chaque niveau supérieur.
Feature/&MagicAffinitySpellMasterKnowledgeTitle=Étendue des connaissances
diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardWarMagic-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardWarMagic-fr.txt
index 2d5ae62d5f..673080ea78 100644
--- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardWarMagic-fr.txt
+++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/WizardWarMagic-fr.txt
@@ -8,9 +8,9 @@ Feature/&FeatureWarMagicArcaneDeflectionDescription=Vous avez appris à tisser v
Feature/&FeatureWarMagicArcaneDeflectionTitle=Déviation des Arcanes
Feature/&FeatureWarMagicDurableMagicDescription=La magie que vous canalisez aide à prévenir le mal. Tant que vous restez concentré sur un sort, vous bénéficiez d'un bonus de +2 à la CA et à tous les jets de sauvegarde.
Feature/&FeatureWarMagicDurableMagicTitle=Magie durable
-Feature/&PowerWarMagicDeflectionShroudDescription=Votre Déflexion arcanique est imprégnée d’une magie mortelle. Lorsque vous utilisez votre fonction de déviation des arcanes, vous pouvez provoquer un arc d'énergie magique hors de vous. Jusqu'à trois créatures les plus proches à moins de 60 pieds de vous subissent chacune des dégâts de force égaux à la moitié de votre niveau de sorcier.
+Feature/&PowerWarMagicDeflectionShroudDescription=Votre Déflexion arcanique est imprégnée d'une magie mortelle. Lorsque vous utilisez votre fonction de déviation des arcanes, vous pouvez provoquer un arc d'énergie magique hors de vous. Jusqu'à trois créatures les plus proches à moins de 60 pieds de vous subissent chacune des dégâts de force égaux à la moitié de votre niveau de sorcier.
Feature/&PowerWarMagicDeflectionShroudTitle=Enveloppe de déviation
-Feature/&PowerWarMagicSurgeDescription=Vous disposez d'un nombre de surtensions de puissance égal à votre modificateur d'Intelligence (au minimum un). Chaque fois que vous réussissez à mettre fin à un sort avec Contresort, vous gagnez une poussée de puissance. Une fois par tour, lorsque vous infligez des dégâts à une créature ou à un objet avec un sort de sorcier, vous pouvez dépenser une poussée de puissance pour infliger des dégâts de force supplémentaires lors d'un jet de dégâts de ce sort. Les dégâts supplémentaires sont égaux à votre niveau de sorcier.
+Feature/&PowerWarMagicSurgeDescription=Vous disposez d'un nombre de surtensions de puissance égal à votre modificateur d'Intelligence (minimum d'une) par repos long. Chaque fois que vous réussissez à mettre fin à un sort avec Contresort, vous récupérez une poussée de puissance. Une fois par tour, lorsque vous infligez des dégâts à une créature ou à un objet avec un sort de sorcier, vous pouvez dépenser une poussée de puissance pour infliger des dégâts de force supplémentaires lors d'un jet de dégâts de ce sort. Les dégâts supplémentaires sont égaux à votre niveau de sorcier.
Feature/&PowerWarMagicSurgeTitle=Surtension
Feedback/&ArcaneDeflectionAttackRoll={0} utilise {1} pour soustraire le modificateur d'Intelligence ({2}) du jet d'attaque ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} utilise {1} pour ajouter le modificateur Intelligence ({2}) au jet de sauvegarde ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/it/Feats/Group-it.txt b/SolastaUnfinishedBusiness/Translations/it/Feats/Group-it.txt
index 215f4c8d08..ed3332906b 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Feats/Group-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Feats/Group-it.txt
@@ -112,7 +112,7 @@ Feat/&FeatGroupShadowTouchedDescription=Aumenta uno dei tuoi attributi mentali d
Feat/&FeatGroupShadowTouchedTitle=Toccato dall'ombra
Feat/&FeatGroupSkillsDescription={0}
Feat/&FeatGroupSkillsTitle=Competenze
-Feat/&FeatGroupSlasherDescription=Aumenta la tua Forza o Destrezza di 1, fino a un massimo di 20.\nQuando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all’inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
+Feat/&FeatGroupSlasherDescription=Aumenta la tua Forza o Destrezza di 1, fino a un massimo di 20.\nQuando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all'inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
Feat/&FeatGroupSlasherTitle=Slasher
Feat/&FeatGroupSpellCombatDescription={0}
Feat/&FeatGroupSpellCombatTitle=Combattimento: incantesimo
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Aumenta uno dei tuoi attributi mentali
Feat/&FeatGroupVerdantTouchedTitle=Toccato verdeggiante
Feat/&FeatGroupWeaponMasterDescription=Ti sei esercitato a lungo con una varietà di armi, ottenendo i seguenti vantaggi:\n• Aumenta il tuo punteggio di Forza o Destrezza di 1, fino a un massimo di 20.\n• Ottieni competenza con quattro armi a tua scelta. Ognuna deve essere un'arma semplice o da guerra.
Feat/&FeatGroupWeaponMasterTitle=Maestro d'armi
+Feat/&FeatGroupWhirlWindAttackDescription=Diventi un maestro della morte vorticosa, ottenendo i seguenti benefici:\n• Aumenta la tua Forza o Destrezza di 1, fino a un massimo di 20.\n• Una volta durante il tuo turno, quando esegui l'azione Attacco mentre impugni uno spadone, con un'ascia bipenne o una mazza, puoi sostituire un attacco per lanciare invece un Attacco Turbinante. Attacco Turbinante effettua un tiro per colpire contro tutte le creature nemiche entro 1,5 piedi da te, ma non aggiunge il tuo modificatore di attributo al danno inflitto (a meno che quel modificatore non sia negativo).
+Feat/&FeatGroupWhirlWindAttackTitle=Attacco vorticoso
diff --git a/SolastaUnfinishedBusiness/Translations/it/Feats/MeleeCombat-it.txt b/SolastaUnfinishedBusiness/Translations/it/Feats/MeleeCombat-it.txt
index 9c08d5f79c..d9abf264ac 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Feats/MeleeCombat-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Feats/MeleeCombat-it.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Continua a farli venire!
Condition/&ConditionFeatCleavingAttackFinishTitle=Grande maestro d'armi
Condition/&ConditionFeatCrusherCriticalHitDescription=Sei stato schiacciato da un colpo critico e gli attacchi contro di te hanno un vantaggio.
Condition/&ConditionFeatCrusherCriticalHitTitle=Schiacciato
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Effettui tutti i tiri per colpire con svantaggio contro la fonte mentre ti trovi entro 1,5 metri da essa.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Difesa mirata
Condition/&ConditionFeatPiercerNonMagicDescription=Quando colpisci una creatura con un attacco che infligge danni perforanti, puoi ripetere il tiro dei dadi quando ottieni 1 e devi usare il nuovo tiro.
Condition/&ConditionFeatPiercerNonMagicTitle=Perforatore
Condition/&ConditionFeatSlasherCriticalHitDescription=Sei stato ferito da un colpo critico e i tuoi attacchi hanno uno svantaggio.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=Padroneggia l'ascia, l'ascia da battaglia, l'asc
Feat/&FeatFellHandedTitle=Caduto le mani
Feat/&FeatFencerDescription=Se effettui l'azione Attacco nel tuo turno mentre impugni un'arma da mischia a una mano o versatile e nessun'altra arma o scudo, puoi usare un'azione bonus per attaccare con l'arma che stai impugnando, aggiungendo il tuo modificatore di attributo al danno inflitto.
Feat/&FeatFencerTitle=Schermidore
+Feat/&FeatGreatWeaponDefenseDescription=Utilizzi abilmente la dimensione della tua arma per concentrarti sulla parata dei colpi in arrivo. Mentre impugni un'arma da mischia pesante o versatile e nessun'altra arma o scudo, ottieni i seguenti vantaggi:\n• Aumenta la tua Classe Armatura di 1 mentre impugni l'arma. \n• Puoi sostituire qualsiasi attacco dell'azione principale per prendere di mira una creatura entro 1,5 metri da te. Quella creatura ha svantaggio su tutti gli attacchi contro di te fino all'inizio del tuo turno successivo, finché non sei più adiacente alla creatura o se equipaggi un'altra arma o scudo.
+Feat/&FeatGreatWeaponDefenseTitle=Ottima difesa dell'arma
Feat/&FeatHammerThePointDescription=Sai come focalizzarti e concentrarti sullo stesso punto. Dopo aver effettuato un tiro per colpire contro un bersaglio, ottieni +1 ai tiri per colpire e per i danni contro questo bersaglio fino alla fine del tuo turno [stack].
Feat/&FeatHammerThePointTitle=Martella il punto
Feat/&FeatLongswordFinesseDescription=Tu discendi da un maestro della spada lunga e parte di quella maestria ti è stata trasmessa. Ottieni i seguenti vantaggi:\n• Aumenta la tua Destrezza di 1, fino a un massimo di 20.\n• Mentre impugni una spada lunga, ottieni un bonus di +1 alla classe armatura.\n• La spada lunga ha il proprietà di finezza quando lo maneggi.
@@ -46,12 +50,16 @@ Feat/&FeatPowerAttackTitle=Attacco di POTENZA
Feat/&FeatSavageAttackDescription=Rilancia i dadi di danno dell'arma e degli incantesimi quando ottieni 1 (non tutte le fonti di danno rilanciano i dadi. Ad esempio, i danni di attacco furtivo e di punizione non vengono rilanciati).
Feat/&FeatSavageAttackReroll=A causa del Savage Attacker, {0} lancia nuovamente il dado {1} da {2} a {3}.
Feat/&FeatSavageAttackTitle=Attacco selvaggio
-Feat/&FeatSlasherDexDescription=Hai imparato dove tagliare per ottenere i migliori risultati. Aumenta la tua Destrezza di 1, fino a un massimo di 20. Quando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all’inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
+Feat/&FeatSlasherDexDescription=Hai imparato dove tagliare per ottenere i migliori risultati. Aumenta la tua Destrezza di 1, fino a un massimo di 20. Quando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all'inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
Feat/&FeatSlasherDexTitle=Slasher [Dex]
-Feat/&FeatSlasherStrDescription=Hai imparato dove tagliare per ottenere i migliori risultati. Aumenta la tua Forza di 1, fino a un massimo di 20. Quando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all’inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
+Feat/&FeatSlasherStrDescription=Hai imparato dove tagliare per ottenere i migliori risultati. Aumenta la tua Forza di 1, fino a un massimo di 20. Quando colpisci una creatura con un attacco che infligge danni taglienti, puoi ridurre la velocità del bersaglio di 3 metri fino all'inizio del tuo turno successivo. Quando ottieni un colpo critico, lo ferisci gravemente. Fino all'inizio del tuo turno successivo, il bersaglio ha svantaggio su tutti i tiri per colpire.
Feat/&FeatSlasherStrTitle=Slasher [Str]
Feat/&FeatSpearMasteryDescription=Sebbene la lancia sia un'arma semplice da imparare, ti ricompensa per il tempo che hai impiegato per padroneggiarla:\n• Ottieni un bonus di +1 ai tiri per colpire effettuati con una lancia e il suo dado di danno cambia da d6 a un d8 e da un d8 a un d10 se impugnato con due mani.\n• Come azione bonus puoi impugnare la lancia per intercettare i nemici in avvicinamento. Puoi usare la reazione per eseguire un attacco di opportunità con una lancia sul nemico che entra nella tua portata e infliggere un dado di danni extra se l'attacco va a segno.\n• Come azione bonus, puoi aumentare la tua portata con una lancia di 5 piedi per il resto del tuo turno.
Feat/&FeatSpearMasteryTitle=Maestria della lancia
+Feat/&FeatWhirlWindAttackDexDescription=Diventi un maestro della morte vorticosa, ottenendo i seguenti benefici:\n• Aumenta la tua Destrezza di 1, fino a un massimo di 20.\n• Una volta durante il tuo turno, quando esegui l'azione Attacco mentre impugni uno spadone, un'ascia o maul, puoi sostituire un attacco per lanciare invece un Attacco Turbinante. Attacco Turbinante effettua un tiro per colpire contro tutte le creature nemiche entro 1,5 piedi da te, ma non aggiunge il tuo modificatore di attributo al danno inflitto (a meno che quel modificatore non sia negativo).
+Feat/&FeatWhirlWindAttackDexTitle=Attacco Turbinante [Destrezza]
+Feat/&FeatWhirlWindAttackStrDescription=Diventi un maestro della morte vorticosa, ottenendo i seguenti benefici:\n• Aumenta la tua Forza di 1, fino a un massimo di 20.\n• Una volta durante il tuo turno, quando esegui l'azione Attacco mentre impugni uno spadone, un'ascia bipenne o maul, puoi sostituire un attacco per lanciare invece un Attacco Turbinante. Attacco Turbinante effettua un tiro per colpire contro tutte le creature nemiche entro 1,5 piedi da te, ma non aggiunge il tuo modificatore di attributo al danno inflitto (a meno che quel modificatore non sia negativo).
+Feat/&FeatWhirlWindAttackStrTitle=Attacco vorticoso [Str]
Feature/&AttackModifierFeatSpearMasteryDescription=Ottieni un bonus di +1 ai tiri per colpire effettuati con una lancia e il suo dado di danno cambia da d6 a d8 e da d8 a d10 quando impugnata con due mani.
Feature/&AttackModifierFeatSpearMasteryTitle=Maestria della lancia
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Mentre impugni una spada lunga, ottieni bonus +1 alla Classe Armatura.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Puoi impugnare la lancia per int
Feature/&PowerFeatSpearMasteryChargeTitle=Tutore per lancia
Feature/&PowerFeatSpearMasteryReachDescription=Puoi aumentare la tua portata con una lancia di 1,5 m per il resto del tuo turno.
Feature/&PowerFeatSpearMasteryReachTitle=Portata della lancia
+Feature/&PowerGreatWeaponDefenseDescription=Puoi sostituire qualsiasi attacco dell'azione principale per prendere di mira una creatura entro 1,5 piedi da te. Quella creatura ha svantaggio su tutti gli attacchi contro di te fino all'inizio del tuo turno successivo, finché non sei più adiacente alla creatura o se equipaggi un'altra arma o scudo.
+Feature/&PowerGreatWeaponDefenseTitle=Ottima difesa dell'arma
+Feature/&PowerWhirlWindAttackDescription=Una volta durante il tuo turno, quando esegui l'azione Attacco mentre impugni uno spadone, un'ascia o una mazza, puoi sostituire un attacco per lanciare invece un Attacco Turbinante. Attacco Turbinante effettua un tiro per colpire contro tutte le creature nemiche entro 1,5 piedi da te, ma non aggiunge il tuo modificatore di attributo al danno inflitto (a meno che quel modificatore non sia negativo).
+Feature/&PowerWhirlWindAttackTitle=Attacco vorticoso
Feedback/&AdditionalDamageChargerFormat=Caricabatterie!
Feedback/&AdditionalDamageChargerLine={0} carica {1} e infligge {2} danni extra!
Feedback/&AdditionalDamageCrusherFormat=Frantoio!
diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt
index 324641e1be..05a6e5515b 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Accecato dalla nuvola puzzolente
Condition/&ConditionBlindedExtendedDescription=La vista è accecata. I tiri per colpire contro la creatura hanno vantaggio, mentre i tiri per colpire della creatura hanno svantaggio.
Condition/&ConditionLightlyObscuredDescription=La visione è leggermente oscurata. Svantaggio sui tiri salvezza su saggezza (percezione).
Condition/&ConditionLightlyObscuredTitle=Leggermente oscurato
+Condition/&ConditionMonkSuperiorDefenseDescription=Hai resistenza a tutti i danni tranne la forza, a meno che non sia incapace.
+Condition/&ConditionMonkSuperiorDefenseTitle=Difesa superiore
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Disarmato
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Ritirato
Condition/&ConditionRogueDeviousStrikeDazedDescription=Non puoi utilizzare reazioni o azioni bonus e puoi muoverti o eseguire altre azioni nel tuo turno, non entrambe.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Se fallisci un tiro salvezza, puoi lanciarlo nuovamente con un bonus pari al tuo livello da Guerriero. Se lo fai, devi utilizzare il nuovo tiro e non potrai utilizzare nuovamente questo privilegio finché non avrai terminato un riposo lungo.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Incantesimi espansi
+Feature/&FeatureMonkBodyAndMindDescription=Hai affinato il tuo corpo e la tua mente a nuovi livelli. La tua Destrezza e Saggezza aumentano di 4.
+Feature/&FeatureMonkBodyAndMindTitle=Corpo e mente
+Feature/&FeatureMonkHeightenedMetabolismDescription=Il tuo allenamento ha spinto il tuo corpo e la tua mente a nuovi livelli. Raffica di colpi, Difesa paziente e Passo del vento ottengono i seguenti vantaggi:\n• Raffica di colpi: quando usi Raffica di colpi, effettui tre colpi senz'armi invece di due.\n• Difesa paziente. : quando usi Difesa Paziente, guadagni un numero di punti ferita temporanei pari a due tiri di dado di Arti Marziali.\n• Passo del Vento: quando usi la funzione Passo del Vento (Disingaggio o Scatto), puoi ottengono anche i benefici dell'altro effetto.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo intensificato
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puoi spendere 1 punto Ki per effettuare due colpi senz'armi come azione bonus.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Raffica di colpi
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando usi Attacco Temerario, uno dei tuoi tiri per colpire basati sulla Forza che effettui prima della fine del tuo turno infligge 1d10 danni extra dello stesso tipo inflitto dall'arma o dal Colpo Senz'Armi, e puoi anche scegliere uno dei seguenti effetti se colpisce :\n• Colpo potente. Il bersaglio viene spinto a 15 piedi di distanza da te.\n• Colpo al tendine del ginocchio. La Velocità del bersaglio viene ridotta di 4,5 metri fino all'inizio del tuo turno successivo.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Colpo di separazione
Feature/&PowerBarbarianBrutalStrikeTitle=Colpo Brutale
Feature/&PowerHelpDescription=Puoi aiutare una creatura amica ad attaccare una creatura entro 1,5 metri da te. Finti, distrai il bersaglio o fai squadra in qualche altro modo per rendere l'attacco del tuo alleato più efficace. Se il tuo alleato attacca il bersaglio prima del tuo turno successivo, il primo tiro per colpire viene effettuato con vantaggio.
Feature/&PowerHelpTitle=Aiuto
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puoi spendere 1 punto Ki per eseguire sia l'azione Disimpegno che quella Scattare come azione bonus nel tuo turno, e la distanza del tuo salto verrà raddoppiata per il turno.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo del vento
+Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere 3 punti Ki per rafforzarti perfettamente contro i danni per 1 minuto o finché non diventi incapace. Durante questo periodo, hai resistenza a tutti i danni tranne quelli di Forza.
+Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore
Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento che indossi o trasporti, fino all'inizio del tuo turno successivo. È possibile utilizzare questo privilegio un numero di volte pari al proprio bonus di competenza e si recuperano tutti gli usi spesi al termine di un riposo lungo.
Feature/&PowerRangerNatureShroudTitle=Il velo della natura
Feature/&PowerRogueCunningStrikeDescription=Hai sviluppato modi astuti per usare il tuo attacco furtivo. Quando infliggi danni da Attacco Furtivo, puoi rinunciare ai dadi Attacco Furtivo per aggiungere invece effetti aggiuntivi di Colpo Astuto.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Ha in mano i tipi di armi Maestria della lam
Rules/&SituationalContext9001Format=Ha lo spadone in mano:
Rules/&SituationalContext9002Format=Ha la spada lunga in mano:
Rules/&SituationalContext9003Format=Ha un'arma da mischia nella mano principale con la mano secondaria libera:
+Rules/&SituationalContext9004Format=Ha un'arma pesante o versatile nella mano principale con la mano secondaria libera:
Rules/&SituationalContext9005Format=Ha in mano armi semplici o da guerra:
Rules/&SituationalContext9007Format=Non è in piena luce:
Rules/&SituationalContext9008Format=È furioso e ha una doppia impugnatura:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=È {0}
Tooltip/&PreReqIsNot=Non è {0}
Tooltip/&PreReqIsWithLevel={0} è al livello {1}
Tooltip/&PreReqLevelFormat=Livello personaggio minimo {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Deve avere attacchi extra
Tooltip/&PreReqMustKnow=Deve sapere {0}
Tooltip/&Tag9000Title=Effetto personalizzato
Tooltip/&TagUnfinishedBusinessTitle=Lavoro incompleto
diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt
index be031d7de0..10fe6c3ca8 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Consenti di lanciare incantesimi con azione extra dall'
ModUi/&AllowHornsOnAllRaces=Consenti corni a tutte le razze [i risultati potrebbero sembrare terribili a seconda della razza, della testa e del corno]
ModUi/&AllowMoreRealStateOnRestPanel=Consenti più stato reale nel pannello di riposo [nascondi le azioni dopo il riposo nel pannello prima e le funzionalità di ripristino nel pannello dopo]
ModUi/&AllowStackedMaterialComponent=Consenti componente materiale impilato [ad es. 2 diamanti da 500 mo equivalgono a 1000 mo di diamanti]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Consenti la selezione del bersaglio quando lanci l'incantesimo Catena di Fulmini
ModUi/&AllowUnmarkedSorcerers=Consenti Stregone senza segni di origine e tatuaggi
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=Il tasto ALT evidenzia solo i gadget nel campo visivo del gruppo [solo dungeon personalizzati]
ModUi/&ArcaneShieldstaffOptions=Consenti al Bastone dello Scudo Arcano di essere sintonizzato da qualsiasi classe
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Abilita i dialoghi di registro sulla console
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Abilita la registrazione dei riferimenti non validi nelle campagne personalizzate
ModUi/&EnableMinInOutAttributes=+ Applica i prerequisiti minimi di entrata e uscita dei punteggi di abilità
ModUi/&EnableMonkAbundantKi=Abilita Monaco Ki abbondante al livello 2 [ottieni Ki aggiuntivo pari alla metà del bonus di competenza arrotondato per eccesso]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Abilita Mistico Corpo e Mente per sostituire Sé Perfetto al livello 20
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Abilita Monaco Arti marziali - Colpi senz'armi bonus per non richiedere un'azione di attacco prima dell'uso
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Abilita Mistico Raffica di Colpi per non richiedere un'azione di attacco prima dell'uso
ModUi/&EnableMonkFightingStyle=Abilita la scelta dello Mistico Stile di combattimento al livello 2
+ModUi/&EnableMonkHeightenedMetabolism=Abilita Mistico Metabolismo potenziato al livello 10 [Raffica di colpi, Difesa del paziente e Step of the Wind ottengono ulteriori vantaggi]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Abilita Mistico Movimento senza armatura migliorato per muoversi lungo superfici verticali senza cadere
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Abilita Mistico Difesa superiore per sostituire Corpo Vuoto al livello 18
ModUi/&EnableMonkWeaponSpecialization=Abilita Monaco specializzazione arma ai livelli 2 e 11 [il tipo di arma selezionato diventa per te un'arma da monaco]
ModUi/&EnableMulticlass=Abilita multiclasse [Richiede il riavvio]
+ModUi/&EnableOneDndHealingSpellsBuf=Abilita il potenziamento dei dadi di guarigione OneDnd su Cura ferite, Parola curativa, Cura ferite di massa e Parola di guarigione di massa
ModUi/&EnablePcgRandom=Abilita un algoritmo di generazione casuale migliore [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Abilita la funzione Ranger Velo della Natura al livello 10 [come azione bonus, puoi diventare magicamente invisibile fino all'inizio del turno successivo ]
ModUi/&EnableRejoinParty=Abilita CTRL-MAIUSC-(R) per unirsi al gruppo attorno all'eroe selezionato o al leader se non è selezionato nessuno [utile con gruppi di 5 o 6 ]
diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt
index ec89080e95..34470d4dee 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=Il fodero della Lama Booming
Condition/&ConditionMindSpikeDescription=Sottrae 1d4 dal tiro salvezza successivo.
Condition/&ConditionMindSpikeTitle=Tramutante della Mente
Condition/&ConditionResonatingStrikeTitle=Risonanza
+Condition/&ConditionStarryWispDescription=Non può beneficiare della condizione Invisibile.
+Condition/&ConditionStarryWispTitle=Fuoco Stellato
Condition/&ConditionSunlightBladeDescription=Al 5° livello, gli attacchi innescati da questo trucchetto infliggono 1d8 danni radiosi aggiuntivi. Il danno aumenta ulteriormente di 1d8 all'11° e al 17° livello.
Condition/&ConditionSunlightBladeTitle=Bruciore della Lama Illuminata dal Sole
Condition/&ConditionWrackDescription=Non sei in grado di eseguire lo scatto o di disimpegnarsi.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=Prosciuga la vitalità di una creatura che puoi
Spell/&EnduringStingTitle=Puntura indebolente
Spell/&IlluminatingSphereDescription=Fa accendere fonti di luce come torce e lampade di mana nell'area d'effetto.
Spell/&IlluminatingSphereTitle=Sfera illuminante
+Spell/&InfestationDescription=Fai apparire momentaneamente una nuvola di acari, pulci e altri parassiti su una creatura che puoi vedere e che si trova a gittata. Il bersaglio deve superare un tiro salvezza su Costituzione, altrimenti subisce 1d6 danni da veleno e si muove di 1,5 metri in una direzione casuale.\nIl danno di questo incantesimo aumenta di 1d6 quando raggiungi il 5° livello (2d6), l'11° livello (3d6) e 17° livello (4d6).
+Spell/&InfestationTitle=Infestazione
+Spell/&LightningLureDescription=Crei una sferza di energia fulminea che colpisce una creatura di tua scelta che puoi vedere entro 4,5 piedi da te. Il bersaglio deve superare un tiro salvezza su Forza o essere trascinato fino a 3 metri in linea retta verso di te e subire 1d8 danni da fulmine.\nIl danno di questo incantesimo aumenta di 1d8 quando raggiungi il 5° livello (2d8), 11° livello ( 3d8) e 17° livello (4d8).
+Spell/&LightningLureTitle=Esca fulminea
Spell/&MindSpikeDescription=Impulsi un picco disorientante di energia psichica nella mente di una creatura che puoi vedere e che si trova a gittata. Il bersaglio deve riuscire in un tiro salvezza su Intelligenza o subire 1d6 danni psichici e sottrarre 1d4 dal tiro salvezza successivo che effettua prima della fine del tuo turno successivo.
Spell/&MindSpikeTitle=Tramutante della Mente
Spell/&MinorLifestealDescription=Prosciughi energia vitale da una creatura nemica vicina. Effettua un attacco con incantesimo in mischia contro una creatura entro 1,5 metri da te. Se colpisce, la creatura subisce 1d6 danni necrotici e tu guarisci per la metà del danno inflitto (arrotondato per difetto). Questo incantesimo non ha effetto sui non morti e sui costrutti. Il danno dell'incantesimo aumenta di un dado aggiuntivo al 5°, 11° e 17° livello.
Spell/&MinorLifestealTitle=Rubavita minore
+Spell/&PrimalSavageryDescription=Incanali la magia primordiale per affilare i tuoi denti o le tue unghie, pronti a sferrare un attacco corrosivo. Effettua un attacco con incantesimo in mischia contro una creatura entro 1,5 metri da te. Se colpisce, il bersaglio subisce 1d10 danni da acido. \nIl danno di questo incantesimo aumenta di 1d6 quando si raggiunge il 5° livello (2d6), l'11° livello (3d6) e il 17° livello (4d6).
+Spell/&PrimalSavageryTitle=La ferocia primordiale
Spell/&ResonatingStrikeDescription=Seleziona una creatura entro il tuo raggio di mischia e un'altra creatura che puoi vedere entro 1,5 m dal bersaglio principale. Effettui un attacco in mischia con l'arma attuale contro la prima creatura. In caso di colpo, il bersaglio subisce i normali effetti dell'attacco con l'arma e le fiamme balzano sul secondo bersaglio, infliggendo danni da fuoco pari al tuo modificatore di abilità da incantatore.\nAl 5° livello, l'attacco in mischia infligge 1d8 danni da fuoco aggiuntivi al bersaglio in un colpito, e il danno da fuoco alla seconda creatura aumenta a 1d8 + il tuo modificatore di abilità da incantatore. Entrambi i tiri per i danni aumentano di 1d8 all'11° e al 17° livello.
Spell/&ResonatingStrikeTitle=Lama della Fiamma Verde
+Spell/&StarryWispDescription=Lanci un granello di luce contro una creatura o un oggetto a gittata. Effettua un attacco con incantesimo a distanza contro il bersaglio. Se colpisce, il bersaglio subisce 1d8 danni radiosi e, fino alla fine del tuo turno successivo, emette luce fioca in un raggio di 3 metri e non può beneficiare della condizione invisibile.\nIl danno di questo incantesimo aumenta di 1d8 quando raggiungi i livelli 5 (2d8), 11 (3d8) e 17 (4d8).
+Spell/&StarryWispTitle=Fuoco Stellato
Spell/&SunlightBladeDescription=Effettua un attacco in mischia con un'arma. Se va a segno, il bersaglio subisce i normali effetti dell'attacco e viene avvolto da un'energia raggiante e luminosa, che emette luce fioca per il turno. L'attacco successivo contro questa creatura mentre è evidenziata viene effettuato con vantaggio.\nAl 5° livello, l'attacco in mischia infligge 1d8 danni radiosi aggiuntivi al bersaglio. Il danno aumenta di altri 1d8 all'11° e al 17° livello.
Spell/&SunlightBladeTitle=Lama illuminata dal sole
Spell/&SwordStormDescription=Crei un circolo momentaneo di lame spettrali che ti circondano. Tutte le altre creature entro 1,5 metri da te devono riuscire ciascuna un tiro salvezza su Destrezza o subire 1d6 danni da forza.
diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt
index d039903d64..fcde2450d9 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=Non puoi effettuare una rea
Condition/&ConditionPsychicWhipNoReactionTitle=La frusta mentale di Tasha
Feature/&AttackModifierShadowBlade0Description=Attacco magico.
Feature/&AttackModifierShadowBladeNDescription=Attacco magico, infligge {0}d8 danni psichici aggiuntivi.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Puoi muoverti attraverso lo spazio di qualsiasi creatura
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Viaggio cinetico
Feedback/&MirrorImageAttackerHasSense={0} ha {1} e ignora {2}
Feedback/&MirrorImageAttackerIsBlind={0} è {1} e ignora {2}
Feedback/&MirrorImageRetargetResult={0} sceglierà come target {1}
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=Hai {0}/{1} punti ferita. Puoi
Reaction/&CustomReactionWitherAndBloomReactDescription=Recupera punti ferita.
Reaction/&CustomReactionWitherAndBloomReactTitle=Appassire e fiorire
Reaction/&CustomReactionWitherAndBloomTitle=Appassire e fiorire
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Scegli un'abilità in cui ti manca competenza. Per 1 ora diventi competente nell'abilità scelta.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Avere competenza nell'abilità scelta.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Conoscenza presa in prestito
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Conoscenza presa in prestito
Spell/&AganazzarScorcherDescription=Una linea di fiamme ruggenti lunga 9 metri e larga 1,5 metri emana da te in una direzione a tua scelta. Ogni creatura in fila deve effettuare un tiro salvezza su Destrezza. Una creatura subisce 3d10 danni da fuoco se fallisce il tiro salvezza, o la metà di questi danni se lo riesce. Quando esegui questo incantesimo utilizzando uno slot incantesimo di 3° livello o superiore, il danno aumenta di 1d10 per ogni livello dello slot superiore al 2°.
Spell/&AganazzarScorcherTitle=Il Bruciatore di Aganazzar
Spell/&BindingIceDescription=Un'esplosione di energia fredda emana da te in un cono di 9 metri. Ogni creatura in quell'area deve effettuare un tiro salvezza su Costituzione. Se fallisce il Tiro Salvezza, una creatura subisce 3d8 danni da freddo e viene ostacolata dalle formazioni di ghiaccio per 1 minuto, o finché non usa un'azione per rompere il ghiaccio. Una creatura ostacolata dal ghiaccio vede la sua velocità ridotta a 0. Se supera il tiro salvezza, la creatura subisce la metà dei danni e non viene ostacolata dal ghiaccio.
Spell/&BindingIceTitle=Il ghiaccio vincolante di Rime
+Spell/&BorrowedKnowledgeDescription=Attingi alla conoscenza degli spiriti del passato. Scegli un'abilità in cui ti manca competenza. Per 1 ora diventi competente nell'abilità scelta. L'incantesimo termina prima se lo lanci di nuovo.
+Spell/&BorrowedKnowledgeTitle=Conoscenza presa in prestito
Spell/&CloudOfDaggersDescription=Riempi l'aria con pugnali rotanti in un cubo di 1,5 metri su ciascun lato, centrato su un punto a tua scelta entro la gittata. Una creatura subisce 4d4 danni taglienti quando entra nell'area dell'incantesimo per la prima volta in un turno o inizia lì il suo turno. Quando esegui questo incantesimo utilizzando uno slot incantesimo di 3° livello o superiore, il danno aumenta di 2d4 per ogni livello dello slot superiore al 2°.
Spell/&CloudOfDaggersTitle=Nuvola di pugnali
Spell/&ColorBurstDescription=Fai esplodere un cubo luminoso che acceca brevemente chiunque si trovi entro 3 metri. 8d10 è il numero di punti ferita delle creature che questo incantesimo può influenzare.
Spell/&ColorBurstTitle=Esplosione di colori
+Spell/&KineticJauntDescription=Potenzia magicamente i tuoi movimenti con passi simili a quelli di una danza, ottenendo i seguenti benefici per tutta la durata:\n• La tua velocità di camminata aumenta di 3 metri.\n• Non provoca attacchi di opportunità.\n• Puoi muoverti attraverso lo spazio di qualsiasi creatura.
+Spell/&KineticJauntTitle=Viaggio cinetico
Spell/&MirrorImageDescription=Tre duplicati illusori di te stesso appaiono nel tuo spazio. Fino al termine dell'incantesimo, ogni volta che una creatura ti prende di mira con un attacco, tira un d20 per determinare se l'attacco prende di mira invece uno dei tuoi duplicati.\nSe hai 3 duplicati, devi tirare un 6 o più per cambiare il valore dell'attacco destinazione a un duplicato. Con 2 duplicati, devi ottenere un 8 o più. Con 1 duplicato, devi ottenere un risultato pari o superiore a 11.\nLa classe armatura di un duplicato è pari a 10 + il tuo modificatore di Destrezza. Se un attacco colpisce un duplicato, il duplicato viene distrutto. Un duplicato può essere distrutto solo da un attacco che lo colpisca. Ignora tutti gli altri danni ed effetti. L'incantesimo termina quando tutti e tre i duplicati vengono distrutti.\nUna creatura non viene influenzata da questo incantesimo se è Accecata o ha Vista cieca, Vista vera o Senso tremorsico (non si applica se non tocchi terra).
Spell/&MirrorImageTitle=Immagine riflessa
Spell/&NoxiousSprayDescription=Rilasci uno spruzzo di gas nocivi su un bersaglio a gittata. Effettua un attacco con incantesimo a distanza. Se colpisce, il bersaglio subisce 4d6 danni da veleno e deve riuscire un tiro salvezza su Costituzione o trascorrere tutto il suo turno successivo a conati di vomito e conati di vomito, incapace di muoversi o compiere azioni. Costrutti, elementali e non morti non sono influenzati da questo incantesimo. Quando lanci questo incantesimo utilizzando uno slot di 3° livello o superiore, puoi prendere come bersaglio una creatura aggiuntiva per ogni livello di slot superiore al 2°.
diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt
index ec7dd8e6ea..aed300c2ad 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Devi impugnare un'arma a distanza. Quando un bersa
Spell/&FlameArrowsTitle=Frecce di fiamma
Spell/&HungerOfTheVoidDescription=Apri una porta verso l'oscurità tra le stelle, una regione infestata da orrori sconosciuti. Appare una sfera di oscurità e freddo pungente del raggio di 6 metri, centrata su un punto con gittata e persistente per la durata. L'area spegne la luce e le creature al suo interno vengono accecate. Qualsiasi creatura che inizia il suo turno nell'area subisce 2d6 danni da freddo. Qualsiasi creatura che termina il suo turno nell'area deve riuscire un tiro salvezza su Destrezza o subire 2d6 danni da acido mentre tentacoli lattiginosi e ultraterreni si sfregano contro di essa.
Spell/&HungerOfTheVoidTitle=Fame di Hadar
+Spell/&IntellectFortressDescription=Per tutta la durata, tu o una creatura consenziente che puoi vedere entro la gittata avete resistenza ai danni psichici, oltre a vantaggio sui tiri salvezza su Intelligenza, Saggezza e Carisma. Quando lanci questo incantesimo utilizzando uno slot incantesimo di 4° livello o superiore, puoi prendere di mira una creatura aggiuntiva entro la gittata per ogni livello di slot superiore al 3°.
+Spell/&IntellectFortressTitle=Fortezza dell'Intelletto
Spell/&LightningArrowDescription=La prossima volta che effettui un attacco con un'arma a distanza durante la durata dell'incantesimo, le munizioni dell'arma, o l'arma stessa se è un'arma da lancio, si trasformano in un fulmine. Effettua il tiro per colpire normalmente. Il bersaglio subisce 3d8 danni da fulmine se colpisce, o la metà di questi danni se fallisce. Sia che colpisca o manchi, ogni creatura entro 3 metri dal bersaglio deve effettuare un tiro salvezza su Destrezza. Ognuna di queste creature subisce 2d8 danni da fulmine se fallisce il tiro salvezza, o la metà di questi danni se lo supera. Quando esegui questo incantesimo utilizzando uno slot incantesimo di 4° livello o superiore, il danno per entrambi gli effetti dell'incantesimo aumenta di 1d8 per ogni livello dello slot superiore al 3°.
Spell/&LightningArrowTitle=Freccia fulminea
+Spell/&PsionicBlastDescription=Scagli un'onda distruttiva di potere mentale in un cono di 9 metri. Ogni creatura nell'area deve effettuare un tiro salvezza su Destrezza. Se fallisce il tiro salvezza, il bersaglio subisce 5d8 danni da forza, viene spinto a 6 metri direttamente lontano da te e cade prono. Se il tiro salvezza riesce, il bersaglio subisce la metà dei danni e non viene spinto o gettato prono. Quando esegui questo incantesimo utilizzando uno slot incantesimo di 4° livello o superiore, il danno aumenta di 1d8 per ogni livello dello slot superiore al 3°.
+Spell/&PsionicBlastTitle=Esplosione psionica
Spell/&PulseWaveDescription=Scaglia via i nemici con un'intensa pressione gravitazionale.
Spell/&PulseWaveTitle=Onda di impulso
Spell/&SpiritShroudDamageColdDescription=Infligge danni da freddo bonus.
diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt
index f4352c23c4..4457bad422 100644
--- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Assumi la forma di una creatura diversa per la dur
Spell/&ShapechangeTitle=Cambiamento di forma
Spell/&TimeStopDescription=Interrompi brevemente il flusso del tempo per tutti tranne che per te stesso. Il tempo non passa per le altre creature, mentre effettui 1d4 + 1 turni di fila, durante i quali puoi utilizzare azioni e muoverti normalmente.
Spell/&TimeStopTitle=Fermata del tempo
-Spell/&WeirdDescription=Attingendo alle paure più profonde di un gruppo di creature, crei nelle loro menti creature illusorie, visibili solo a loro. Ogni creatura in una sfera di 9 metri di raggio centrata su un punto a tua scelta entro la gittata deve effettuare un tiro salvezza su Saggezza. Se il tiro salvezza fallisce, la creatura diventa spaventata per la durata. L'illusione fa appello alle paure più profonde della creatura, manifestando i suoi peggiori incubi come una minaccia implacabile. Alla fine di ogni turno della creatura spaventata, essa deve riuscire un tiro salvezza su Saggezza o subire 4d10 danni psichici. Se il tiro salvezza riesce, l'incantesimo termina per quella creatura.
+Spell/&WeirdDescription=Attingendo alle paure più profonde di un gruppo di creature, crei nelle loro menti creature illusorie, visibili solo a loro. Ogni nemico in una sfera di 9 metri di raggio centrata su un punto a tua scelta entro la gittata deve effettuare un tiro salvezza su Saggezza. Se il tiro salvezza fallisce, la creatura diventa spaventata per la durata. L'illusione fa appello alle paure più profonde della creatura, manifestando i suoi peggiori incubi come una minaccia implacabile. Alla fine di ogni turno della creatura spaventata, essa deve riuscire un tiro salvezza su Saggezza o subire 4d10 danni psichici. Se il tiro salvezza riesce, l'incantesimo termina per quella creatura.
Spell/&WeirdTitle=Strano
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/InnovationVivisectionist-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/InnovationVivisectionist-it.txt
index 710cf7cabc..a51092e8ee 100644
--- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/InnovationVivisectionist-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/InnovationVivisectionist-it.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Una
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Precisione medica
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Impara e sii sempre preparato:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Incantesimi vivisezionisti
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Quando lanci un incantesimo di guarigione il tuo tiro minimo di dadi di guarigione è 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Ogni volta che curi un'altra creatura, consideri invece tutti i tiri 1 come 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=A causa della Chirurgia Stabile, {0} forza il dado {1} a 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Chirurgia stabile
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Puoi eseguire un'azione bonus per usare Ristorazione Inferiore o Rimuovi Maledizione su un alleato entro 1,5 metri. Puoi farlo un numero di volte pari al tuo bonus di competenza. Tutti gli usi si ricaricano dopo un lungo riposo.
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronArchfey-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronArchfey-it.txt
new file mode 100644
index 0000000000..140dac56b1
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronArchfey-it.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Sei immune all'essere affascinato e quando un'altra creatura tenta di affascinarti, puoi usare la tua reazione per tentare di riportare l'incantesimo su quella creatura. La creatura deve riuscire un tiro salvezza su Saggezza contro la CD del tiro salvezza del tuo incantesimo da stregone o essere affascinata da te per 1 minuto o finché la creatura non subisce danni.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Difese ingannevoli
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Come azione, scegli una creatura che puoi vedere entro 60 piedi da te. Deve effettuare un tiro salvezza su Saggezza contro la CD del tiro salvezza degli incantesimi da stregone. Se fallisce il tiro salvezza, resta affascinato da te per 1 minuto. Questo effetto termina anticipatamente se la creatura subisce danni. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Delirio Oscuro: Incantato
+Feature/&PowerArchfeyDarkDeliriumDescription=Come azione, scegli una creatura che puoi vedere entro 60 piedi da te. Deve effettuare un tiro salvezza su Saggezza contro la CD del tiro salvezza degli incantesimi da stregone. Se fallisce il Tiro Salvezza, rimane affascinato o spaventato da te (a tua scelta) per 1 minuto. Questo effetto termina anticipatamente se la creatura subisce danni. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Come azione, scegli una creatura che puoi vedere entro 60 piedi da te. Deve effettuare un tiro salvezza su Saggezza contro la CD del tiro salvezza degli incantesimi da stregone. Se fallisce il Tiro Salvezza, viene spaventato da te per 1 minuto. Questo effetto termina anticipatamente se la creatura subisce danni. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Delirio oscuro: spaventato
+Feature/&PowerArchfeyDarkDeliriumTitle=Delirio Oscuro
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Come azione, puoi far sì che ogni creatura in un cono di 15 piedi effettui un tiro salvezza su Saggezza contro la tua CD di tiro salvezza degli incantesimi da warlock. Le creature che falliscono i loro tiri salvezza sono tutte affascinate da te fino alla fine del tuo turno successivo. Una volta che usi questa caratteristica, non puoi usarla di nuovo finché non finisci un riposo breve o lungo.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Presenza Fata: Ammaliato
+Feature/&PowerArchfeyFeyPresenceDescription=Con un'azione, puoi fare in modo che ogni creatura in un cono di 4,5 metri effettui un tiro salvezza su Saggezza contro la CD del tuo incantesimo da stregone. Le creature che falliscono il tiro salvezza vengono tutte affascinate o spaventate da te (a tua scelta) fino alla fine del tuo turno successivo. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Con un'azione, puoi fare in modo che ogni creatura in un cono di 4,5 metri effettui un tiro salvezza su Saggezza contro la CD del tuo incantesimo da stregone. Le creature che falliscono il tiro salvezza sono tutte spaventate da te fino alla fine del tuo turno successivo. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Presenza Fatata: Spaventato
+Feature/&PowerArchfeyFeyPresenceTitle=Presenza Fatata
+Feature/&PowerArchfeyMistyEscapeDescription=Quando vieni colpito, puoi usare la tua reazione per diventare invisibile e teletrasportarti fino a 18 metri in uno spazio non occupato che puoi vedere. Rimani invisibile fino all'inizio del tuo turno successivo o finché non attacchi o lanci un incantesimo. Una volta utilizzata questa capacità, non è possibile utilizzarla nuovamente finché non si termina un riposo breve o lungo.
+Feature/&PowerArchfeyMistyEscapeTitle=Fuga nebbiosa
+Reaction/&CustomReactionMistyEscapeDescription=Sei stato colpito. Puoi usare la tua reazione per diventare invisibile e teletrasportarti fino a 18 metri in uno spazio non occupato che puoi vedere.
+Reaction/&CustomReactionMistyEscapeReactDescription=Diventa invisibile e teletrasporta fino a 60 piedi.
+Reaction/&CustomReactionMistyEscapeReactTitle=Fuga nebbiosa
+Reaction/&CustomReactionMistyEscapeTitle=Fuga nebbiosa
+Reaction/&UseBeguilingDefensesDescription=Un nemico ha cercato di ammaliarti. Puoi usare la tua reazione per tentare di respingere l'incantesimo.
+Reaction/&UseBeguilingDefensesReactDescription=Riporta indietro il fascino.
+Reaction/&UseBeguilingDefensesReactTitle=Difese ingannevoli
+Reaction/&UseBeguilingDefensesTitle=Difese ingannevoli
+Subclass/&PatronArchfeyDescription=Il tuo patrono è un signore o una signora delle fate, una creatura leggendaria che custodisce segreti dimenticati prima della nascita delle razze mortali. Le motivazioni di questo essere sono spesso imperscrutabili e talvolta stravaganti e potrebbero implicare il desiderio di ottenere un potere magico maggiore o la risoluzione di rancori secolari.
+Subclass/&PatronArchfeyTitle=L'Arcifey
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheSilhouette-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheSilhouette-it.txt
index e09e4c5ef9..5444afb26f 100644
--- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheSilhouette-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheSilhouette-it.txt
@@ -16,5 +16,5 @@ Reaction/&UseShadowySanctuaryDescription=Puoi entrare nell'ombra e scomparire, a
Reaction/&UseShadowySanctuaryReactDescription=Usa la tua reazione per scomparire.
Reaction/&UseShadowySanctuaryReactTitle=Santuario oscuro
Reaction/&UseShadowySanctuaryTitle=Santuario oscuro
-Subclass/&WayOfSilhouetteDescription=I praticanti della Via dell'Ombra seguono una tradizione che valorizza la furtività e il sotterfugio. Questi monaci servono come spie e assassini. A volte i membri di un monastero ninja sono membri della famiglia, che formano un clan che ha giurato di mantenere il segreto sulle loro arti e missioni. Altri monasteri sono più simili a corporazioni di ladri, che affidano i loro servizi a nobili, ricchi mercanti o chiunque altro possa pagare le loro parcelle. Indipendentemente dai loro metodi, i capi di questi monasteri si aspettano l’obbedienza incondizionata dei loro studenti.
+Subclass/&WayOfSilhouetteDescription=I praticanti della Via dell'Ombra seguono una tradizione che valorizza la furtività e il sotterfugio. Questi monaci servono come spie e assassini. A volte i membri di un monastero ninja sono membri della famiglia, che formano un clan che ha giurato di mantenere il segreto sulle loro arti e missioni. Altri monasteri sono più simili a corporazioni di ladri, che affidano i loro servizi a nobili, ricchi mercanti o chiunque altro possa pagare le loro parcelle. Indipendentemente dai loro metodi, i capi di questi monasteri si aspettano l'obbedienza incondizionata dei loro studenti.
Subclass/&WayOfSilhouetteTitle=Via dell'Ombra
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheStormSoul-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheStormSoul-it.txt
new file mode 100644
index 0000000000..d2d238857e
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheStormSoul-it.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Questo marchio può esplodere in qualsiasi momento e causare 5D10 danni da tuono.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Marco Tempesta
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Ogni volta che usi Raffica di Colpi, ottieni anche i benefici dell'azione di disimpegnarsi. Gli attacchi bonus forniti da esso infliggono danni da fulmine aggiuntivi pari al tuo dado di arti marziali.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Discepolo delle Tempeste
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Ogni volta che si danneggia una creatura con un'arma da monaco, un attacco senz'armi o un trucchetto con Esca Fulminante, si marchi quella creatura con energie conduttive persistenti per 1 minuto. Puoi usare la tua azione e spendere 3 ki per consumare il marchio su ogni creatura e forzare un tiro salvezza su Destrezza su di loro (CD = 8 + bonus di competenza + modificatore di Saggezza). Se il tiro salvezza fallisce, ogni creatura riceve 5d10 danni da fulmine (tiro salvezza per la metà).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Occhio del ciclone
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Ottieni resistenza ai danni da fulmine e puoi sostituire qualsiasi attacco dell'azione principale per lanciare il trucchetto Lightning Lure senza alcun componente utilizzando la tua Saggezza come modificatore di lancio di incantesimi.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Guerriero del Fulmine
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Puoi sostituire qualsiasi attacco dell'azione principale per lanciare il trucchetto Lightning Lure senza alcun componente utilizzando la tua Saggezza come modificatore di lancio di incantesimi.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Esca fulminea
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Puoi spendere 1 ki per sostituire uno degli attacchi bonus forniti da Raffica di colpi per attaccare invece tutte le creature nemiche entro 1,5 m da te con esso.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=La furia della tempesta
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Discepolo delle Tempeste!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} colpisce {1} con un fulmine (+{2})
+Subclass/&WayOfTheStormSoulDescription=I monaci della Via dell'Anima della Tempesta vivono sulle vette più alte di Solasta, sintonizzandosi con le energie delle potenti tempeste e imparando a incanalare il potere del fulmine nel loro essere. Questi artisti marziali usano le loro discipline uniche per trasformarsi in una tempesta sfrenata, manovrando senza sforzo il campo di battaglia, correndo da un nemico all'altro e scatenando su di loro innumerevoli colpi infusi di fulmini.
+Subclass/&WayOfTheStormSoulTitle=Via dell'Anima della Tempesta
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheZenArchery-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheZenArchery-it.txt
index 07ad173690..6177a3321d 100644
--- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheZenArchery-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WayOfTheZenArchery-it.txt
@@ -8,5 +8,5 @@ Feature/&PowerWayOfZenArcheryHailOfArrowsDescription=Puoi usare la tua azione e
Feature/&PowerWayOfZenArcheryHailOfArrowsTitle=Grandine di frecce
Feature/&ProficiencyWayOfZenArcheryOneWithTheBowDescription=Diventi abile nell'arco corto e nell'arco lungo. Queste armi ora contano come armi da monaco per te. Acquisisci anche competenza con gli strumenti da forgiatore.
Feature/&ProficiencyWayOfZenArcheryOneWithTheBowTitle=Uno con l'Arco
-Subclass/&WayOfZenArcheryDescription=Un'arma è un'estensione di se stessi e una semplice interpretazione di colui che la brandisce. Lo sanno bene i monaci della Via del Tiro con l’Arco Zen. La bellezza e la precisione delle arti marziali hanno dato a questi monaci gli strumenti per padroneggiare la loro arma preferita: l'arco. Lo maneggiano con impareggiabile abilità e dimostrano la loro maestria nel tiro con l'arco ad ogni tiro della corda.
+Subclass/&WayOfZenArcheryDescription=Un'arma è un'estensione di se stessi e una semplice interpretazione di colui che la brandisce. Lo sanno bene i monaci della Via del Tiro con l'Arco Zen. La bellezza e la precisione delle arti marziali hanno dato a questi monaci gli strumenti per padroneggiare la loro arma preferita: l'arco. Lo maneggiano con impareggiabile abilità e dimostrano la loro maestria nel tiro con l'arco ad ogni tiro della corda.
Subclass/&WayOfZenArcheryTitle=Via del tiro con l'arco Zen
diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WizardWarMagic-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WizardWarMagic-it.txt
index 7260a10c9c..f520baa313 100644
--- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/WizardWarMagic-it.txt
+++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/WizardWarMagic-it.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=La magia che canalizzi aiuta a s
Feature/&FeatureWarMagicDurableMagicTitle=Magia durevole
Feature/&PowerWarMagicDeflectionShroudDescription=La tua Deviazione Arcana viene infusa di magia mortale. Quando usi la tua funzione di Deviazione Arcana, puoi far sì che l'energia magica si sprigiona da te. Fino a tre creature più vicine entro 18 metri da te subiscono danni da forza pari alla metà del tuo livello da mago.
Feature/&PowerWarMagicDeflectionShroudTitle=Copertura di deflessione
-Feature/&PowerWarMagicSurgeDescription=Hai un numero di sbalzi di potere pari al tuo modificatore di Intelligenza (minimo uno). Ogni volta che termini con successo un incantesimo con Controincantesimo, ottieni un aumento di potere. Una volta per turno, quando infliggi danni a una creatura o a un oggetto con un incantesimo da mago, puoi spendere un impulso di potere per infliggere danni da forza aggiuntivi con un tiro per i danni di quell'incantesimo. Il danno extra è pari al tuo livello da mago.
+Feature/&PowerWarMagicSurgeDescription=Hai un numero di ondate di potere pari al tuo modificatore di Intelligenza (minimo uno) per riposo lungo. Ogni volta che termini con successo un incantesimo con Controincantesimo, recuperi un aumento di potere. Una volta per turno, quando infliggi danni a una creatura o a un oggetto con un incantesimo da mago, puoi spendere un impulso di potere per infliggere danni da forza aggiuntivi con un tiro per i danni di quell'incantesimo. Il danno extra è pari al tuo livello da mago.
Feature/&PowerWarMagicSurgeTitle=Fonte d'energia
Feedback/&ArcaneDeflectionAttackRoll={0} usa {1} per sottrarre il modificatore di Intelligenza ({2}) dal tiro per colpire ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} usa {1} per aggiungere il modificatore di Intelligenza ({2}) al tiro salvezza ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Feats/Group-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Feats/Group-ja.txt
index 1087bb2ab9..fa8a2f8f6b 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Feats/Group-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Feats/Group-ja.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=精神属性の 1 つを 1 つ増やし
Feat/&FeatGroupVerdantTouchedTitle=緑豊かなタッチ
Feat/&FeatGroupWeaponMasterDescription=さまざまな武器を使って徹底的に練習したため、次のようなメリットが得られます。\n• 強さまたは器用さのスコアが 1 増加し、最大 20 になります。\n• 選択した 4 つの武器の熟練度が上がります。それぞれが単純な武器か武用武器でなければなりません。
Feat/&FeatGroupWeaponMasterTitle=ウェポンマスター
+Feat/&FeatGroupWhirlWindAttackDescription=あなたは死の旋風の達人となり、以下の恩恵を得ます:\n• 筋力または敏捷性が 1 増加します (最大 20)。\n• 大剣、大斧、またはモールを装備して攻撃アクションを実行するとき、自分のターンに 1 回、攻撃 1 回を代わりに旋風攻撃に置き換えることができます。旋風攻撃は、5 フィート以内のすべての敵クリーチャーに対して 1 回の攻撃ロールを行いますが、与えるダメージに属性修正値を追加しません (その修正値がマイナスでない限り)。
+Feat/&FeatGroupWhirlWindAttackTitle=旋風攻撃
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Feats/MeleeCombat-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Feats/MeleeCombat-ja.txt
index f979df94a0..e09fb5c3d7 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Feats/MeleeCombat-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Feats/MeleeCombat-ja.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=これからも来てく
Condition/&ConditionFeatCleavingAttackFinishTitle=グレートウェポンマスター
Condition/&ConditionFeatCrusherCriticalHitDescription=あなたはクリティカルヒットで潰されており、あなたに対する攻撃が有利です。
Condition/&ConditionFeatCrusherCriticalHitTitle=破砕されました
+Condition/&ConditionFeatGreatWeaponDefenseDescription=発生源から 5 フィート以内にいる間、発生源に対するすべての攻撃ロールは不利になります。
+Condition/&ConditionFeatGreatWeaponDefenseTitle=集中防御
Condition/&ConditionFeatPiercerNonMagicDescription=貫通ダメージを与える攻撃でクリーチャーを攻撃した場合、1 をロールしたときにダイスを振り直すことができ、新しいロールを使用する必要があります。
Condition/&ConditionFeatPiercerNonMagicTitle=ピアサー
Condition/&ConditionFeatSlasherCriticalHitDescription=クリティカルヒットを受けて攻撃が不利になってしまいました。
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=あなたはハンドアックス、バトルア
Feat/&FeatFellHandedTitle=フェルハンド
Feat/&FeatFencerDescription=近接片手武器または汎用武器を保持し、他の武器や盾を持たずに自分のターンに攻撃アクションを実行した場合、ボーナス アクションを使用して、保持している武器で攻撃し、与えるダメージに属性修正値を追加できます。
Feat/&FeatFencerTitle=剣士
+Feat/&FeatGreatWeaponDefenseDescription=武器のサイズを巧みに利用して、入ってくる打撃を受け流すことに集中します。重武器または汎用性の高い近接武器を使用し、他の武器や盾を使用していない場合、次の利点が得られます:\n• 武器を使用している間、アーマー クラスが 1 増加します。 \n• メインアクションの攻撃を置き換えて、5フィート以内のクリーチャーをターゲットにすることができます。そのクリーチャーは、次のターンの開始時まで、あなたがそのクリーチャーに隣接しなくなるか、別の武器やシールドを装備するまで、あなたに対するすべての攻撃に対して不利になります。
+Feat/&FeatGreatWeaponDefenseTitle=優れた武器防御力
Feat/&FeatHammerThePointDescription=同じ場所に集中して集中する方法を知っています。あなたがターゲットに対して攻撃ロールを行った後、あなたのターンが終了するまで、このターゲットに対する攻撃ロールとダメージロールに+1を得る[スタック]。
Feat/&FeatHammerThePointTitle=ポイントを叩き込む
Feat/&FeatLongswordFinesseDescription=あなたはロングソードのマスターの子孫であり、その熟練の一部はあなたに受け継がれています。次の利点が得られます。\n・器用さが 1 増加し、最大 20 になります。\n・ロングソードを保持している間、アーマー クラスに +1 ボーナスが得られます。\n・ロングソードには、使用するとフィネス特性が得られます。
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=最大の結果を得るにはどこをカット
Feat/&FeatSlasherStrTitle=スラッシャー[Str]
Feat/&FeatSpearMasteryDescription=槍は習得するのが簡単な武器ですが、それを習得するのに費やした時間に対して報酬が得られます:\n• 槍を使って行う攻撃ロールに+1のボーナスを獲得し、そのダメージダイスはd6からd6に変わります。 d8、両手で持つと d8 から d10 になります。\n• ボーナス アクションとして、槍を構えて近づいてくる敵を迎撃することができます。リアクションを使用して、リーチに入った敵に槍で機会攻撃を実行し、その攻撃が命中した場合に追加のダイスによるダメージを与えることができます。\n• ボーナス アクションとして、槍のリーチを 5 フィート延長できます。残りのターン。
Feat/&FeatSpearMasteryTitle=槍マスタリー
+Feat/&FeatWhirlWindAttackDexDescription=あなたは死の旋風の達人となり、以下の恩恵を得ます:\n• 敏捷性が 1 増加し、最大 20 になります。\n• グレートソード、グレートアックス、またはモールを装備して攻撃アクションを実行するとき、自分のターンに 1 回、攻撃 1 回を置き換えて旋風攻撃を開始できます。旋風攻撃は、5 フィート以内のすべての敵クリーチャーに対して 1 回の攻撃ロールを行いますが、与えるダメージに属性修正値を追加しません (その修正値がマイナスでない限り)。
+Feat/&FeatWhirlWindAttackDexTitle=旋風攻撃[Dex]
+Feat/&FeatWhirlWindAttackStrDescription=あなたは死の旋風の達人となり、以下の恩恵を得ます:\n• 筋力が 1 増加します (最大 20)。\n• グレートソード、グレートアックス、またはモールを装備して攻撃アクションを実行するとき、自分のターンに 1 回、攻撃 1 回を置き換えて旋風攻撃を開始できます。旋風攻撃は、5 フィート以内のすべての敵クリーチャーに対して 1 回の攻撃ロールを行いますが、与えるダメージに属性修正値を追加しません (その修正値がマイナスでない限り)。
+Feat/&FeatWhirlWindAttackStrTitle=旋風の攻撃[Str]
Feature/&AttackModifierFeatSpearMasteryDescription=槍で行う攻撃ロールには +1 ボーナスが得られ、両手で使用した場合、ダメージ ダイスは d6 から d8 に、d8 から d10 に変化します。
Feature/&AttackModifierFeatSpearMasteryTitle=槍マスタリー
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=ロングソードを保持している間、アーマー クラスに +1 ボーナスが得られます。
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=槍を構えて、近づいて
Feature/&PowerFeatSpearMasteryChargeTitle=スピアブレス
Feature/&PowerFeatSpearMasteryReachDescription=ターンの残りの間、槍のリーチを 5 フィート増やすことができます。
Feature/&PowerFeatSpearMasteryReachTitle=スピアリーチ
+Feature/&PowerGreatWeaponDefenseDescription=メインアクションの攻撃を置き換えて、5フィート以内のクリーチャーをターゲットにすることができます。そのクリーチャーは、次のターンの開始時まで、あなたがそのクリーチャーに隣接しなくなるか、別の武器やシールドを装備するまで、あなたに対するすべての攻撃に対して不利になります。
+Feature/&PowerGreatWeaponDefenseTitle=優れた武器防御力
+Feature/&PowerWhirlWindAttackDescription=あなたのターン中に一度、グレートソード、グレートアックス、またはモールを装備して攻撃アクションを行うとき、1 回の攻撃を置き換えて、代わりに旋風攻撃を開始することができます。旋風攻撃は、あなたの 5 フィート以内のすべての敵クリーチャーに対して 1 回の攻撃ロールを行いますが、与えるダメージにあなたの属性修正値を追加しません (その修正値がマイナスでない限り)。
+Feature/&PowerWhirlWindAttackTitle=旋風攻撃
Feedback/&AdditionalDamageChargerFormat=充電器!
Feedback/&AdditionalDamageChargerLine={0} は {1} をチャージし、追加の {2} ダメージを与えます。
Feedback/&AdditionalDamageCrusherFormat=クラッシャー!
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt
index e0ec7bcdc1..bb14525d60 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=臭い雲に目がくらんだ
Condition/&ConditionBlindedExtendedDescription=視界が遮られます。クリーチャーに対する攻撃ロールは有利であり、クリーチャーの攻撃ロールは不利です。
Condition/&ConditionLightlyObscuredDescription=視界が軽く遮られます。知恵(知覚)セービングスローのデメリット。
Condition/&ConditionLightlyObscuredTitle=軽くぼやけています
+Condition/&ConditionMonkSuperiorDefenseDescription=無力化されていない限り、フォースを除くすべてのダメージに対する耐性を持ちます。
+Condition/&ConditionMonkSuperiorDefenseTitle=優れた防御力
Condition/&ConditionRogueCunningStrikeDisarmedTitle=武装解除
Condition/&ConditionRogueCunningStrikeWithdrawTitle=引きこもった
Condition/&ConditionRogueDeviousStrikeDazedDescription=リアクションやボーナス アクションを使用することはできません。また、自分の番に移動または他のアクションを実行することはできますが、両方を実行することはできません。
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=セーヴィング スローに失敗した場合は、ファイター レベルに等しいボーナスを獲得して再ロールできます。その場合は、新しいロールを使用する必要があり、長い休憩が終了するまでこの機能を再度使用することはできません。
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=拡張された呪文
+Feature/&FeatureMonkBodyAndMindDescription=あなたは肉体と精神を新たな高みにまで磨き上げました。あなたの器用さと知恵は 4 増加します。
+Feature/&FeatureMonkBodyAndMindTitle=体と心
+Feature/&FeatureMonkHeightenedMetabolismDescription=あなたのトレーニングはあなたの体と心を新たなレベルに押し上げました。 Flurry of Blows、Patient Defense、Step of the Wind には次の利点があります:\n• Flurry of Blows: Flurry of Blows を使用すると、素手攻撃を 2 回ではなく 3 回行うことができます。\n• 患者の防御: 患者の防御を使用すると、格闘技ダイスの 2 ロールに等しい一時的なヒット ポイントを獲得します。\n• 風のステップ: 風のステップの機能 (離脱またはダッシュ) を使用すると、他の効果の恩恵も受けます。
+Feature/&FeatureMonkHeightenedMetabolismTitle=代謝の向上
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=ボーナス アクションとして、1 Ki ポイントを消費して素手攻撃を 2 回行うことができます。
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=連打
Feature/&FeatureSetBarbarianBrutalStrikeDescription=無謀な攻撃を使用する場合、ターン終了前に行う力ベースの攻撃ロールの 1 つが、武器または素手攻撃によって与えられるのと同じタイプに追加の 1d10 ダメージを与えます。また、それがヒットした場合は、次の効果のいずれかを選択することもできます。 :\n• 力強い打撃。ターゲットはあなたから 15 フィート真っ直ぐに押し出されます。\n・ハムストリングブロー。次のターンの開始まで、ターゲットの速度が 15 フィート減少します。
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=サンダーブロウ
Feature/&PowerBarbarianBrutalStrikeTitle=ブルータル・ストライク
Feature/&PowerHelpDescription=味方のクリーチャーが自分から 5 フィート以内のクリーチャーを攻撃するのを助けることができます。フェイントをかけたり、ターゲットの気をそらしたり、その他の方法でチームを組んで味方の攻撃をより効果的にします。次のターンの前に味方がターゲットを攻撃した場合、最初の攻撃ロールは有利に行われます。
Feature/&PowerHelpTitle=ヘルプ
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=1 気ポイントを消費して、自分のターンにボーナス アクションとして離脱とダッシュの両方のアクションを実行でき、そのターンのジャンプ距離が 2 倍になります。
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=風のステップ
+Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして、3 Ki ポイントを消費して、1 分間または無力化されるまで、危害に対して完全に強化することができます。その間、あなたはフォースダメージを除くすべてのダメージに対する耐性を持ちます。
+Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力
Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着ている装備や持ち運んでいる装備品とともに魔法のように透明になることができます。この機能は熟練度ボーナスに等しい回数だけ使用でき、長い休憩が終了すると消費した使用量はすべて回復します。
Feature/&PowerRangerNatureShroudTitle=自然のベール
Feature/&PowerRogueCunningStrikeDescription=あなたはスニークアタックを使用する狡猾な方法を開発しました。 Sneak Attack ダメージを与えるとき、Sneak Attack ダイスを無視して、代わりに追加の Cunning Strike 効果を追加することができます。
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=ブレードマスタリーの武器タイ
Rules/&SituationalContext9001Format=手に大剣を持っている:
Rules/&SituationalContext9002Format=ロングソードを手に持っている:
Rules/&SituationalContext9003Format=メインハンドに近接武器を持ち、オフハンドをフリーにします。
+Rules/&SituationalContext9004Format=メインハンドにヘビーまたはバーサタイル武器を持ち、オフハンドをフリーにします。
Rules/&SituationalContext9005Format=簡易武器または格闘武器を手に持っている:
Rules/&SituationalContext9007Format=明るい場所ではない場合:
Rules/&SituationalContext9008Format=荒れ狂う二刀流です。
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs={0} です
Tooltip/&PreReqIsNot={0}ではありませんか
Tooltip/&PreReqIsWithLevel={0} レベルは {1} です
Tooltip/&PreReqLevelFormat=最小キャラクターレベル {0}
+Tooltip/&PreReqMustHaveExtraAttacks=追加攻撃が必要
Tooltip/&PreReqMustKnow={0} を知っておく必要があります
Tooltip/&Tag9000Title=カスタムエフェクト
Tooltip/&TagUnfinishedBusinessTitle=未完の仕事
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt
index cf78d2660d..3fb019858f 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=追加のアクションを持つ呪文をヘイスト
ModUi/&AllowHornsOnAllRaces=すべての種族で角を許可します [種族、頭、角によっては結果がひどいものになる可能性があります]
ModUi/&AllowMoreRealStateOnRestPanel=残りのパネルでより実際の状態を許可します[前のパネルでは休憩後のアクションを非表示にし、後のパネルでは回復機能を非表示にします]
ModUi/&AllowStackedMaterialComponent=スタックされたマテリアル コンポーネントを許可します[例: 2x500gp ダイヤモンドは 1000gp ダイヤモンドに相当します]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=チェインライトニング呪文を唱える際にターゲット選択を許可します
ModUi/&AllowUnmarkedSorcerers=起源のマークやタトゥーのない魔術師を許可する
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=ALT キーはパーティの視野内のガジェットのみを強調表示します[カスタム ダンジョンのみ]
ModUi/&ArcaneShieldstaffOptions=アルケイン・シールドスタッフをどのクラスでも調整できるようにする
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=物語シーケンス中にゲームコンソ
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=カスタム キャンペーンで無効な参照のログを有効にする
ModUi/&EnableMinInOutAttributes=+ 前提条件の内外での能力スコアの最小値を強制する
ModUi/&EnableMonkAbundantKi=モンク の豊富な気力をレベル 2 で有効にします[熟練度ボーナスの切り上げの半分に等しい追加気力を獲得]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=レベル 20 でモンクの肉体と精神を完璧な自己に置き換えられるようにします
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=モンクの格闘技 - ボーナス素手攻撃を有効にすると、使用前に攻撃アクションが不要になります。
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=モンク の連打を有効にして、使用前に攻撃アクションを必要としないようにします
ModUi/&EnableMonkFightingStyle=レベル 2 でモンクの戦闘スタイルの選択が可能になります
+ModUi/&EnableMonkHeightenedMetabolism=モンク の新陳代謝の向上をレベル 10 で有効にします。 [連打、患者の防御力] と 風のステップ には追加のメリットが得られます]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=モンク の非武装での移動の改善が可能になり、落下せずに垂直面に沿って移動できるようになります
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=レベル18でモンクの優れた防御力を有効にして空の体を置き換えます。
ModUi/&EnableMonkWeaponSpecialization=レベル 2 と 11 でモンクの武器特化を有効にします[選択した武器タイプがモンク武器になります]
ModUi/&EnableMulticlass=マルチクラス [再起動が必要] を有効にする
+ModUi/&EnableOneDndHealingSpellsBuf=Cure Wounds、Healing Word、Mass Cure Wounds、Mass Healing Word で OneDnd ヒーリング ダイス バッファーを有効にします。
ModUi/&EnablePcgRandom=より優れたランダム生成アルゴリズムを有効にする [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=レンジャー の自然のベール機能をレベル 10 で有効にします[ボーナス アクションとして、次のターンの開始時まで魔法のように透明になることができます。 ]
ModUi/&EnableRejoinParty=CTRL-SHIFT-(R) を有効にすると、何も選択されていない場合、選択したヒーローまたはリーダーを中心としたパーティーに再参加できます[5 人または 6 人のパーティーで便利です] ]
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt
index 32a5fe5502..0101a1f5da 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=ブーミングブレードの鞘
Condition/&ConditionMindSpikeDescription=次のセーヴィング スローから 1d4 を減算します。
Condition/&ConditionMindSpikeTitle=マインドスライバー
Condition/&ConditionResonatingStrikeTitle=共振
+Condition/&ConditionStarryWispDescription=不可視状態の恩恵を受けることはできません。
+Condition/&ConditionStarryWispTitle=星のウィスプ
Condition/&ConditionSunlightBladeDescription=5 レベルでは、このキャントリップによって引き起こされる攻撃は追加の 1d8 放射ダメージを与えます。 11 レベルと 17 レベルでは、ダメージはさらに 1d8 増加します。
Condition/&ConditionSunlightBladeTitle=陽光の刃の火傷
Condition/&ConditionWrackDescription=ダッシュしたり、離脱アクションを実行したりすることはできません。
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=範囲内に見える1匹の生き物の活力
Spell/&EnduringStingTitle=サッピング・スティング
Spell/&IlluminatingSphereDescription=効果範囲内のトーチやマナランプなどの光源を発光させる。
Spell/&IlluminatingSphereTitle=イルミネーションスフィア
+Spell/&InfestationDescription=範囲内にいる、あなたが見ることができる 1 体のクリーチャーに、ダニ、ノミ、その他の寄生虫の群れを一瞬出現させます。ターゲットは耐久力セーヴィング スローに成功しなければならず、失敗すると 1d6 の毒ダメージを受け、ランダムな方向に 5 フィート移動します。\nこの呪文のダメージは、5 レベル (2d6)、11 レベル (3d6)、17 レベル (4d6) に達すると 1d6 増加します。
+Spell/&InfestationTitle=感染
+Spell/&LightningLureDescription=あなたは、15 フィート以内に見える、あなたが選んだ 1 匹の生き物を攻撃する稲妻のエネルギーを生み出します。ターゲットはストレングスセーヴィングスローに成功するか、あなたに向かって直線で最大10フィートまで引き寄せられ、その後1d8の雷ダメージを受ける必要があります。\nこの呪文のダメージは、あなたが第5レベル(2d8)、第11レベル( 3d8)、および 17 レベル (4d8)。
+Spell/&LightningLureTitle=ライトニングルアー
Spell/&MindSpikeDescription=あなたは、範囲内に見える 1 匹の生き物の心に、方向感覚を失わせるような精神的エネルギーのスパイクを打ち込みます。対象は知力セーヴィング・スローに成功するか、1d6の精神的ダメージを受け、次のターン終了前に行う次のセーヴィング・スローから1d4を減算しなければならない。
Spell/&MindSpikeTitle=マインドスライバー
Spell/&MinorLifestealDescription=近くの敵クリーチャーから生命エネルギーを奪います。 5フィート以内のクリーチャーに対して近接呪文攻撃を行う。ヒットすると、クリーチャーは 1d6 の壊死ダメージを受け、あなたは与えられたダメージの半分 (切り捨て) を回復します。この呪文はアンデッドや構築物には効果がありません。この呪文のダメージは、5、11、17 レベルで追加のダイスによって増加します。
Spell/&MinorLifestealTitle=マイナーライフスティール
+Spell/&PrimalSavageryDescription=原始の魔法を流して歯や爪を鋭くし、腐食攻撃を仕掛ける準備を整えます。5 フィート以内にいる 1 体のクリーチャーに近接呪文攻撃を行います。命中すると、ターゲットは 1d10 の酸ダメージを受けます。\nこの呪文のダメージは、レベル 5 (2d6)、レベル 11 (3d6)、レベル 17 (4d6) に達すると 1d6 増加します。
+Spell/&PrimalSavageryTitle=原始的な野蛮さ
Spell/&ResonatingStrikeDescription=あなたの近接攻撃範囲内にあるクリーチャーを 1 体選択し、メイン ターゲットから 5 フィート以内に見える別のクリーチャーを 1 体選択します。最初のクリーチャーに対して現在の武器で近接攻撃を行います。命中すると、ターゲットは武器攻撃の通常の効果を受け、炎が 2 番目のターゲットに飛び移り、呪文詠唱能力修正値に等しい火ダメージを与えます。\n5 レベルでは、近接攻撃はターゲットに 1d8 の追加火ダメージを与えます。ヒットすると、2番目のクリーチャーへの火によるダメージは1d8 + あなたの呪文詠唱能力修正値に増加します。両方のダメージロールは11レベルと17レベルで1d8増加します。
Spell/&ResonatingStrikeTitle=緑炎の刃
+Spell/&StarryWispDescription=範囲内の 1 つのクリーチャーまたはオブジェクトに光の粒を発射します。ターゲットに対して遠隔呪文攻撃を行います。命中すると、ターゲットは 1d8 の光ダメージを受け、次のターンの終了時まで、ターゲットは 10 フィートの半径に薄暗い光を発し、不可視状態の恩恵を受けなくなります。\nこの呪文のダメージは、レベル 5 (2d8)、11 (3d8)、および 17 (4d8) に達すると 1d8 増加します。
+Spell/&StarryWispTitle=星のウィスプ
Spell/&SunlightBladeDescription=武器を使って近接攻撃を行います。ヒットすると、ターゲットは攻撃の通常の効果を受け、輝く放射エネルギーに包まれ、ターン中薄暗い光を放ちます。ハイライトされているこのクリーチャーに対する次の攻撃は有利に行われます。\n5 レベルでは、近接攻撃はターゲットに追加の 1d8 放射ダメージを与えます。 11 レベルと 17 レベルでは、ダメージはさらに 1d8 増加します。
Spell/&SunlightBladeTitle=陽光の刃
Spell/&SwordStormDescription=あなたは自分の周りを一掃するスペクトルの刃の瞬間的な円を作成します。あなたから 5 フィート以内にいる他のすべてのクリーチャーは、器用さセーヴィング スローに成功するか、1d6 のフォース ダメージを受けなければなりません。
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt
index bf9e3d69b2..3d4f7f121c 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=次のターンが終了す
Condition/&ConditionPsychicWhipNoReactionTitle=ターシャのマインドウィップ
Feature/&AttackModifierShadowBlade0Description=魔法攻撃。
Feature/&AttackModifierShadowBladeNDescription=魔法攻撃、追加の {0}d8 精神的ダメージを与える。
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=あらゆる生物の空間を移動できます
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=キネティック ジャント
Feedback/&MirrorImageAttackerHasSense={0} には {1} があり、{2} は無視されます
Feedback/&MirrorImageAttackerIsBlind={0} は {1} であり、{2} を無視します
Feedback/&MirrorImageRetargetResult={0} は {1} をターゲットにします
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=ヒット ポイントは {0}/
Reaction/&CustomReactionWitherAndBloomReactDescription=ヒットポイントを回復します。
Reaction/&CustomReactionWitherAndBloomReactTitle=枯れて咲く
Reaction/&CustomReactionWitherAndBloomTitle=枯れて咲く
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=習熟していないスキルを 1 つ選択します。1 時間の間、選択したスキルに習熟します。
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=選択したスキルに熟練している。
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=借り物の知識
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=借り物の知識
Spell/&AganazzarScorcherDescription=長さ 30 フィート、幅 5 フィートの燃え盛る炎のラインが、選択した方向に向かって放射されます。列内の各クリーチャーは器用さセーヴィング・スローを行わなければなりません。クリーチャーはセーブに失敗すると 3d10 の火ダメージを受け、成功するとその半分のダメージを受けます。あなたが第 3 レベル以上の呪文スロットを使用してこの呪文を唱えると、ダメージは第 2 レベル以上のスロット レベルごとに 1d10 増加します。
Spell/&AganazzarScorcherTitle=アガナザールのスコーチャー
Spell/&BindingIceDescription=冷たいエネルギーの爆発が、高さ 30 フィートの円錐形の中であなたから発せられます。そのエリアにいる各クリーチャーは憲法セーヴィング・スローを行わなければなりません。セーブに失敗すると、クリーチャーは 3d8 の冷気ダメージを受け、1 分間、または氷を砕くアクションを使用するまで氷の形成によって妨げられます。氷によって妨げられたクリーチャーの速度は 0 に減少します。セーブに成功すると、クリーチャーは受けるダメージが半分になり、氷によって妨げられなくなります。
Spell/&BindingIceTitle=ライムの結束氷
+Spell/&BorrowedKnowledgeDescription=過去の霊から知識を引き出し、習熟していない技能を 1 つ選択します。1 時間の間、選択した技能に習熟します。この呪文を再度唱えると、呪文は早く終了します。
+Spell/&BorrowedKnowledgeTitle=借り物の知識
Spell/&CloudOfDaggersDescription=範囲内で選択した点を中心として、各辺 5 フィートの立方体に回転するダガーを空中に詰め込みます。クリーチャーは、ターン中に初めて呪文の領域に入ったとき、またはそこでターンを開始したときに、4d4 の斬撃ダメージを受けます。あなたが第 3 レベル以上の呪文スロットを使用してこの呪文を唱えると、ダメージは第 2 レベル以上のスロット レベルごとに 2d4 増加します。
Spell/&CloudOfDaggersTitle=短剣の雲
Spell/&ColorBurstDescription=発光キューブを破裂させ、10 フィート以内にいる全員を短時間盲目にします。8d10 は、この呪文が影響を与えることができるクリーチャーのヒット ポイントの数です。
Spell/&ColorBurstTitle=カラーバースト
+Spell/&KineticJauntDescription=魔法的にダンスのようなステップで移動力を強化し、持続時間中は以下の利点を得ます:\n• 歩行速度が 10 フィート増加します。\n• 機会攻撃を誘発しません。\n• どのクリーチャーの空間でも移動できます。
+Spell/&KineticJauntTitle=キネティック ジャント
Spell/&MirrorImageDescription=あなた自身の 3 つの幻想的な分身があなたの空間に現れます。呪文が終了するまで、クリーチャーがあなたを攻撃のターゲットにするたびに、d20 を出して、その攻撃が代わりにあなたの複製の 1 つをターゲットにするかどうかを決定します。\nあなたの複製が 3 つある場合、攻撃を変更するには 6 以上の目を出す必要があります。複製をターゲットにします。重複が 2 つある場合は、8 以上の目を出す必要があります。重複が 1 つある場合、11 以上の目を出す必要があります。\n重複のアーマー クラスは 10 + あなたの器用さ修正値に等しくなります。攻撃が複製にヒットすると、複製は破壊されます。分身は攻撃が当たった場合のみ破壊できます。他のダメージや効果はすべて無視されます。この呪文は、3 つの複製がすべて破壊されると終了します。\nクリーチャーがブラインド状態であるか、ブラインドサイト、トゥルーサイト、またはトレモルセンスを持っている場合は、この呪文の影響を受けません(地面に触れていない場合は適用されません)。
Spell/&MirrorImageTitle=鏡像
Spell/&NoxiousSprayDescription=範囲内のターゲットに有毒ガスを噴射します。遠隔呪文攻撃を行います。命中すると、ターゲットは 4d6 の毒ダメージを受け、耐久力セーヴィング スローに成功しなければ次のターン中ずっと嘔吐と吐き戻しを繰り返すことになり、移動や行動ができなくなります。人造生物、精霊、アンデッドはこの呪文の影響を受けません。3 レベル以上のスロットを使用してこの呪文を発動する場合、2 レベルを超えるスロット レベルごとに 1 体のクリーチャーを追加でターゲットにすることができます。
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt
index a1c85aed38..64d58cabe2 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=遠距離武器を使用している必要があ
Spell/&FlameArrowsTitle=フレイムアロー
Spell/&HungerOfTheVoidDescription=あなたは星々の間の暗闇、未知の恐怖がはびこる領域への門を開きます。範囲を持つポイントを中心に、半径 20 フィートの暗黒と極寒の球体が現れ、持続時間中続きます。エリアは光を消し、そのエリア内のクリーチャーは盲目になります。エリア内でターンを開始するクリーチャーは 2d6 の冷気ダメージを受けます。エリア内でターンを終了するクリーチャーは敏捷性セーヴィング スローに成功しなければ、乳白色の異次元の触手がこすれてきて 2d6 の酸ダメージを受けます。
Spell/&HungerOfTheVoidTitle=ハダルの飢え
+Spell/&IntellectFortressDescription=持続時間中、あなたまたは範囲内にいるあなたが見ることができる同意するクリーチャー 1 体は、精神ダメージに対する耐性と、知力、判断力、魅力のセーヴィング スローに対するアドバンテージを得ます。4 レベル以上の呪文スロットを使用してこの呪文を発動する場合、3 レベルを超える各スロット レベルごとに、範囲内の追加のクリーチャーをターゲットにすることができます。
+Spell/&IntellectFortressTitle=知性の要塞
Spell/&LightningArrowDescription=呪文の持続時間中に次回遠隔武器攻撃を行うと、武器の弾薬、または投擲武器の場合は武器自体が稲妻に変わります。通常通りに攻撃ロールを行います。ターゲットは命中すると 3d8 の雷ダメージを受け、命中しないとその半分のダメージを受けます。当たるか外れるかにかかわらず、ターゲットから 10 フィート以内にいる各クリーチャーは器用さセーヴィング スローを行わなければなりません。これらのクリーチャーはそれぞれ、セーブに失敗すると 2d8 の雷ダメージを受け、成功するとその半分のダメージを受けます。あなたが第 4 レベル以上の呪文スロットを使用してこの呪文を唱えると、呪文の両方の効果によるダメージは第 3 レベル以上のスロット レベルごとに 1d8 ずつ増加します。
Spell/&LightningArrowTitle=ライトニングアロー
+Spell/&PsionicBlastDescription=30 フィートの円錐形に破壊的な精神力の波を解き放ちます。範囲内のクリーチャーはそれぞれ敏捷セーヴィング スローを行なわなければなりません。セーヴィングに失敗すると、ターゲットは 5d8 の力場ダメージを受け、あなたから 20 フィートまっすぐ押し出され、うつ伏せにされます。セーヴィングに成功すると、ターゲットは半分のダメージを受け、押されたりうつ伏せにされたりしません。この呪文を 4 レベル以上の呪文スロットを使用して発動すると、3 レベルを超えるスロット レベルごとにダメージが 1d8 増加します。
+Spell/&PsionicBlastTitle=サイオニックブラスト
Spell/&PulseWaveDescription=強烈な重力圧力で敵を吹き飛ばします。
Spell/&PulseWaveTitle=脈波
Spell/&SpiritShroudDamageColdDescription=ボーナス冷気ダメージを与える。
diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt
index 31c356f2f8..f38b809796 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=その間、あなたは別の生き物の姿を
Spell/&ShapechangeTitle=形状変化
Spell/&TimeStopDescription=自分以外の全員の時間の流れを一時的に止めます。あなたは連続して 1d4 + 1 ターンかかり、他のクリーチャーには時間が経過しません。その間、通常どおりアクションを使用したり移動したりできます。
Spell/&TimeStopTitle=タイムストップ
-Spell/&WeirdDescription=生き物のグループの最も深い恐怖を利用して、彼らの心の中に彼らにしか見えない幻想的な生き物を作成します。範囲内で選択した点を中心とした半径 30 フィートの球体の各クリーチャーは、ウィズダム セーヴィング スローを行う必要があります。セーブに失敗すると、クリーチャーはその間怯え続けます。この幻想は生き物の最も深い恐怖を呼び起こし、その最悪の悪夢を容赦ない脅威として明らかにします。怯えたクリーチャーの各ターンの終わりに、それは知恵のセーヴィング・スローに成功するか、4d10の精神的ダメージを受けなければなりません。セーブに成功すると、そのクリーチャーの呪文は終了します。
+Spell/&WeirdDescription=クリーチャーの集団の最も深い恐怖を利用して、その心の中に、そのクリーチャーにしか見えない幻影のクリーチャーを作り出す。範囲内の、君が選んだ地点を中心とした半径 30 フィートの球体の中にいる各敵は、【判断力】セーヴィング スローを行わなければならない。セーヴィングに失敗すると、クリーチャーは効果時間中、怯え状態になる。幻影はクリーチャーの最も深い恐怖を呼び起こし、最悪の悪夢を容赦ない脅威として顕現させる。怯えているクリーチャーは、ターンの終了時に【判断力】セーヴィング スローに成功するか、4d10 の精神ダメージを受けるかのどちらかである。セーヴィングに成功すると、そのクリーチャーの呪文は終了する。
Spell/&WeirdTitle=奇妙な
diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/InnovationVivisectionist-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/InnovationVivisectionist-ja.txt
index d204354a8d..d4e186ae7f 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/InnovationVivisectionist-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/InnovationVivisectionist-ja.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=攻
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=医療の正確さ
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=以下のことを学び、常に準備してきました。\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=生体解剖学者の呪文
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=治癒呪文を唱えるとき、最小の治癒ダイスロールは 2 です。
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=他のクリーチャーを治療するたびに、代わりにすべての 1 ロールを 2 として扱います。
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=安定した手術により、{0} は {1} のダイスを 2 にします。
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=安定した手術
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=5 フィート以内の味方に Lesser Restoration または Remove Curse を使用するボーナス アクションを実行できます。これを熟練度ボーナスに等しい回数だけ行うことができます。すべての使用は長い休憩の後に再充電されます。
diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronArchfey-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronArchfey-ja.txt
new file mode 100644
index 0000000000..7058faaa97
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronArchfey-ja.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=あなたは魅了されることに耐性があり、他のクリーチャーがあなたを魅了しようとしたとき、あなたは反応を使ってそのクリーチャーに魅了を返そうとすることができます。クリーチャーはあなたのウォーロック呪文セーヴ難易度に対する判断力セーヴィングスローに成功しなければならず、失敗すると 1 分間またはクリーチャーがダメージを受けるまで魅了された状態になります。
+Feature/&PowerArchfeyBeguilingDefensesTitle=魅力的な防御
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=アクションとして、あなたの 60 フィート以内にいる、あなたが見ることができるクリーチャーを 1 体選択します。そのクリーチャーは、あなたのウォーロック呪文セーヴ DC に対して、【判断力】セーヴィング スローを行う必要があります。セーヴィングに失敗すると、そのクリーチャーは 1 分間、あなたに魅了されます。この効果は、クリーチャーがダメージを受けると、早期に終了します。この特徴を一度使用すると、小休憩または大休憩を終了するまで、再度使用することはできません。
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=ダークデリリウム:チャームド
+Feature/&PowerArchfeyDarkDeliriumDescription=アクションとして、あなたの 60 フィート以内にいる、あなたが見ることができるクリーチャーを 1 体選択します。そのクリーチャーは、あなたのウォーロック呪文セーヴ DC に対して、【判断力】セーヴィング スローを行わなければなりません。セーヴィング スローに失敗すると、そのクリーチャーは 1 分間、あなたによって魅了されるか、または恐怖状態にされます (選択はあなたです)。この効果は、クリーチャーがダメージを受けると早期に終了します。この特徴を一度使用すると、小休憩または大休憩を終了するまで、再び使用することはできません。
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=アクションとして、あなたの 60 フィート以内にいる、あなたが見ることができるクリーチャーを 1 体選択します。そのクリーチャーは、あなたのウォーロック呪文セーヴ DC に対して、【判断力】セーヴィング スローを行わなければなりません。セーヴィングに失敗すると、そのクリーチャーは 1 分間、あなたに怯えさせられます。この効果は、クリーチャーがダメージを受けると早期に終了します。この特徴を一度使用すると、小休憩または大休憩を終了するまで、再度使用することはできません。
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=ダークデリリウム:恐怖
+Feature/&PowerArchfeyDarkDeliriumTitle=ダークデリリウム
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=アクションとして、15 フィートの円錐形の範囲内にいる各クリーチャーに、あなたのウォーロック呪文セーヴ DC に対する判断力セーヴィング スローを行わせることができます。セーヴィング スローに失敗したクリーチャーはすべて、あなたの次のターンの終了時まで魅了されます。この機能を一度使用すると、小休憩または大休憩を終了するまで再度使用することはできません。
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=妖精の存在: 魅了
+Feature/&PowerArchfeyFeyPresenceDescription=アクションとして、15 フィートの円錐形の範囲内にいる各クリーチャーに、あなたのウォーロック呪文セーヴ DC に対する判断力セーヴィング スローを行わせることができます。セーヴィング スローに失敗したクリーチャーは、あなたの次のターンの終了時まで、すべて魅了または恐怖状態にされます (選択はあなた次第です)。この機能を一度使用すると、小休憩または大休憩を終了するまで再度使用することはできません。
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=アクションとして、15 フィートの円錐形の範囲内にいる各クリーチャーに、あなたのウォーロック呪文セーヴ DC に対する判断力セーヴィング スローを行わせることができます。セーヴィング スローに失敗したクリーチャーは、あなたの次のターンの終了時まですべてあなたに怯えさせられます。この機能を一度使用すると、小休憩または大休憩を終了するまで再度使用することはできません。
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=妖精の存在: 怯えている
+Feature/&PowerArchfeyFeyPresenceTitle=フェイの存在
+Feature/&PowerArchfeyMistyEscapeDescription=攻撃を受けたとき、反応を使って透明になり、視界内の空いている場所まで最大 60 フィートテレポートすることができます。次のターンの開始時または攻撃または呪文を唱えるまで透明のままです。この機能を一度使用すると、小休憩または大休憩を終了するまで再度使用することはできません。
+Feature/&PowerArchfeyMistyEscapeTitle=ミスティエスケープ
+Reaction/&CustomReactionMistyEscapeDescription=あなたは攻撃を受けました。反応を利用して透明になり、視界内の空いているスペースまで最大 60 フィートテレポートできます。
+Reaction/&CustomReactionMistyEscapeReactDescription=透明になり、最大 60 フィートまでテレポートします。
+Reaction/&CustomReactionMistyEscapeReactTitle=ミスティエスケープ
+Reaction/&CustomReactionMistyEscapeTitle=ミスティエスケープ
+Reaction/&UseBeguilingDefensesDescription=敵があなたを魅了しようとしました。反応を利用して魅了を返そうとすることができます。
+Reaction/&UseBeguilingDefensesReactDescription=チャームを元に戻します。
+Reaction/&UseBeguilingDefensesReactTitle=魅力的な防御
+Reaction/&UseBeguilingDefensesTitle=魅力的な防御
+Subclass/&PatronArchfeyDescription=あなたの守護者は妖精の領主または領主夫人であり、定命の種族が生まれる前に忘れ去られた秘密を持つ伝説の生き物です。この存在の動機はしばしば不可解で、時には気まぐれで、より大きな魔法の力を求めることや、長年の恨みを清算することを伴う場合があります。
+Subclass/&PatronArchfeyTitle=アーチフェイ
diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WayOfTheStormSoul-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WayOfTheStormSoul-ja.txt
new file mode 100644
index 0000000000..983ff22f19
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WayOfTheStormSoul-ja.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=このマークはいつでも爆発して、5D10 の雷ダメージを引き起こす可能性があります。
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=ストームマーク
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Flurry of Blows を使用するたびに、解除アクションの利点も得られます。それによって提供されるボーナス攻撃は、武道のダイスに等しい追加の雷ダメージを与えます。
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=嵐の弟子
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=モンク武器、素手攻撃、またはライトニングルアーのキャントリップでクリーチャーにダメージを与えるたび、そのクリーチャーに1分間残留する伝導エネルギーのマークを付けます。あなたはアクションを使用し、3 気を消費して各クリーチャーのマークを消費し、それらに器用さセーヴィング・スローを強制することができます (難易度 = 8 + 熟練度ボーナス + 知恵修正値)。セーヴィング・スローが失敗すると、各クリーチャーは 5d10 の雷ダメージを受けます (半分はセーブされます)。
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=台風の目
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=あなたは雷ダメージに対する耐性を獲得し、あなたの知恵を呪文詠唱修飾子として使用することで、コンポーネントなしでメインアクション攻撃の代わりにライトニングルアーキャントリップを唱えることができます。
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=ライトニングウォリアー
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=ウィズダムを呪文詠唱修飾子として使用することで、コンポーネントなしでメインのアクション攻撃をライトニング ルアー キャントリップに置き換えることができます。
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=ライトニングルアー
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=1 ki を消費して、Flurry of Blows が提供するボーナス攻撃の 1 つを置き換えて、5 フィート以内のすべての敵クリーチャーを攻撃することができます。
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=テンペストの怒り
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=嵐の弟子!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} が {1} に雷を落とします (+{2})
+Subclass/&WayOfTheStormSoulDescription=嵐の魂の道の修道士たちはソラスタの最も高い山頂に住んでおり、強力な嵐のエネルギーに同調し、稲妻の力を自分たちの存在に導く方法を学んでいます。これらの武道家は、独自の規律を駆使して制御不能の嵐となり、戦場を楽々と操縦し、敵から敵へと突進し、無数の稲妻攻撃を敵に繰り出します。
+Subclass/&WayOfTheStormSoulTitle=嵐の魂の道
diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WizardWarMagic-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WizardWarMagic-ja.txt
index 55ca78e3a0..a7e1031f5c 100644
--- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WizardWarMagic-ja.txt
+++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/WizardWarMagic-ja.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=あなたが伝える魔法は
Feature/&FeatureWarMagicDurableMagicTitle=耐久魔法
Feature/&PowerWarMagicDeflectionShroudDescription=あなたの Arcane Deflection には致命的な魔法が注入されます。 Arcane Deflection 機能を使用すると、魔法のエネルギーを自分から放射させることができます。あなたから60フィート以内にいる最大3匹の最も近いクリーチャーは、それぞれあなたのウィザードレベルの半分に等しい強制ダメージを受けます。
Feature/&PowerWarMagicDeflectionShroudTitle=偏向シュラウド
-Feature/&PowerWarMagicSurgeDescription=インテリジェンス修正値と同じ数のパワー サージ (最低 1) があります。 Counterspell で呪文を正常に終了するたびに、パワー サージを 1 つ獲得します。 1ターンに1回、ウィザード呪文でクリーチャーまたはオブジェクトにダメージを与えるとき、パワー・サージを1つ消費して、その呪文の1つのダメージ・ロールに追加のフォース・ダメージを与えることができる。追加ダメージはウィザードのレベルに等しい。
+Feature/&PowerWarMagicSurgeDescription=大休憩ごとに、知力修正値に等しい数のパワー サージ (最低 1) が得られます。カウンタースペルで呪文を正常に終了するたびに、パワー サージを 1 回回復します。1 ターンに 1 回、ウィザード呪文でクリーチャーまたはオブジェクトにダメージを与えるときに、パワー サージを 1 回消費して、その呪文の 1 回のダメージ ロールに追加のフォース ダメージを与えることができます。追加ダメージはウィザード レベルに等しいです。
Feature/&PowerWarMagicSurgeTitle=電力サージ
Feedback/&ArcaneDeflectionAttackRoll={0} は {1} を使用して、攻撃ロール ({3}) から知力修正値 ({2}) を減算します。
Feedback/&ArcaneDeflectionSavingRoll={0} は {1} を使用して、インテリジェンス修飾子 ({2}) をセービング ロール ({3}) に追加します。
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Feats/Group-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Feats/Group-ko.txt
index 48287e624a..91eb51dfb7 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Feats/Group-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Feats/Group-ko.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=정신 속성 중 하나를 1 증가시
Feat/&FeatGroupVerdantTouchedTitle=신록의 감동
Feat/&FeatGroupWeaponMasterDescription=다양한 무기를 사용하여 광범위하게 연습하여 다음과 같은 이점을 얻었습니다.\n• 힘 또는 민첩 점수를 1 올려 최대 20까지 높입니다.\n• 선택한 4가지 무기를 능숙하게 사용할 수 있습니다. 각각은 단순한 무기이거나 전투용 무기여야 합니다.
Feat/&FeatGroupWeaponMasterTitle=무기 마스터
+Feat/&FeatGroupWhirlWindAttackDescription=소용돌이치는 죽음의 달인이 되어 다음과 같은 이점을 얻습니다.\n• 힘이나 민첩이 1 증가하여 최대 20까지 증가합니다.\n• 자신의 차례에 대검을 휘두르며 공격 행동을 취할 때 한 번, greataxe 또는 maul의 경우 하나의 공격을 대신하여 Whirlwind Attack을 시작할 수 있습니다. 회오리바람 공격은 당신으로부터 5피트 내의 모든 적 생물에 대해 한 번의 공격 굴림을 하지만, 입히는 피해에 당신의 속성 수정자를 추가하지 않습니다(해당 수정자가 음수인 경우는 제외).
+Feat/&FeatGroupWhirlWindAttackTitle=회오리바람 공격
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Feats/MeleeCombat-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Feats/MeleeCombat-ko.txt
index ba51ef8b9c..7132303a95 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Feats/MeleeCombat-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Feats/MeleeCombat-ko.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=계속 오세요!
Condition/&ConditionFeatCleavingAttackFinishTitle=위대한 무기 마스터
Condition/&ConditionFeatCrusherCriticalHitDescription=당신은 치명타에 압도당했고 당신에 대한 공격이 유리합니다.
Condition/&ConditionFeatCrusherCriticalHitTitle=밀어 넣는
+Condition/&ConditionFeatGreatWeaponDefenseDescription=당신은 소스로부터 5피트 이내에 있는 동안 소스에 대해 불이익을 주는 모든 공격 굴림을 합니다.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=집중방어
Condition/&ConditionFeatPiercerNonMagicDescription=관통 피해를 주는 공격으로 생물을 공격하면 1이 나올 때 주사위를 다시 굴릴 수 있으며 새 굴림을 사용해야 합니다.
Condition/&ConditionFeatPiercerNonMagicTitle=꿰뚫는 사람
Condition/&ConditionFeatSlasherCriticalHitDescription=당신은 치명타로 베였으며 공격에 불이익이 있습니다.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=당신은 손도끼, 전투도끼, 거대도끼,
Feat/&FeatFellHandedTitle=쓰러진 손
Feat/&FeatFencerDescription=근접 한손 또는 다용도 무기를 들고 다른 무기나 방패를 들고 있지 않은 상태에서 자신의 차례에 공격 행동을 취하는 경우, 보너스 행동을 사용하여 들고 있는 무기로 공격할 수 있으며 피해량에 속성 수정치를 추가할 수 있습니다.
Feat/&FeatFencerTitle=검객
+Feat/&FeatGreatWeaponDefenseDescription=당신은 무기의 크기를 전문적으로 사용하여 들어오는 타격을 막는 데 집중합니다. 다른 무기나 방패 없이 무겁거나 다용도인 근접 무기를 휘두르는 동안 다음과 같은 이점을 얻을 수 있습니다.\n• 무기를 휘두르는 동안 방어구 등급이 1 증가합니다. \n• 주요 행동 공격을 대체하여 5피트 내의 생물을 목표로 삼을 수 있습니다. 그 생물은 당신의 다음 턴이 시작될 때까지, 당신이 더 이상 그 생물에 인접하지 않을 때까지 또는 당신이 다른 무기나 방패를 장비할 때까지 당신에 대한 모든 공격에 대해 불이익을 받습니다.
+Feat/&FeatGreatWeaponDefenseTitle=훌륭한 무기 방어
Feat/&FeatHammerThePointDescription=같은 지점에 집중하고 집중하는 방법을 알고 있습니다. 당신이 목표에 대해 공격 굴림을 한 후, 당신의 턴이 끝날 때까지 이 목표에 대한 공격 및 피해 굴림에 +1을 얻습니다.
Feat/&FeatHammerThePointTitle=요점을 망치다
Feat/&FeatLongswordFinesseDescription=당신은 장검의 대가의 후손이며, 그 숙달 중 일부가 당신에게 물려졌습니다. 다음과 같은 이점이 있습니다.\n• 민첩 점수가 1씩 증가하여 최대 20이 됩니다.\n• 롱소드를 들고 있는 동안 갑옷 클래스에 +1 보너스를 얻습니다.\n• 롱소드는 휘두를 때의 기교 속성.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=최고의 결과를 얻으려면 어디를 잘
Feat/&FeatSlasherStrTitle=슬래셔 [Str]
Feat/&FeatSpearMasteryDescription=창은 배우기 쉬운 무기이지만 숙달하는 데 들인 시간에 대해 보상을 받습니다.\n• 창으로 하는 공격 굴림에 +1 보너스를 얻고 피해 주사위는 d6에서 d6에서 다음으로 변경됩니다. d8, 두 손으로 휘두르면 d8에서 d10까지.\n• 보너스 액션으로 창을 받쳐 다가오는 적을 요격할 수 있습니다. 반응을 사용하여 손이 닿는 적에게 창으로 기회 공격을 수행하고 해당 공격이 적중하면 추가 피해를 줄 수 있습니다.\n• 보너스 행동으로 창의 도달 범위를 5피트 늘릴 수 있습니다. 남은 차례.
Feat/&FeatSpearMasteryTitle=스피어 마스터리
+Feat/&FeatWhirlWindAttackDexDescription=소용돌이치는 죽음의 달인이 되어 다음과 같은 이점을 얻습니다.\n• 민첩성이 1 증가하여 최대 20까지 증가합니다.\n• 자신의 차례에 대검, 대도끼 또는 대검을 휘두르며 공격 행동을 취할 때 한 번 마울, 하나의 공격을 교체하여 대신 회오리 바람 공격을 시작할 수 있습니다. 회오리바람 공격은 당신으로부터 5피트 내의 모든 적 생물에 대해 한 번의 공격 굴림을 하지만, 입히는 피해에 당신의 속성 수정자를 추가하지 않습니다(해당 수정자가 음수인 경우는 제외).
+Feat/&FeatWhirlWindAttackDexTitle=회오리공격 [덱스]
+Feat/&FeatWhirlWindAttackStrDescription=소용돌이치는 죽음의 달인이 되어 다음 혜택을 얻습니다.\n• 힘이 1 증가하여 최대 20까지 증가합니다.\n• 자신의 차례에 대검, 거대도끼 또는 대검을 휘두르며 공격 행동을 취할 때 한 번 마울, 하나의 공격을 교체하여 대신 회오리 바람 공격을 시작할 수 있습니다. 회오리바람 공격은 당신으로부터 5피트 내의 모든 적 생물에 대해 한 번의 공격 굴림을 하지만, 입히는 피해에 당신의 속성 수정자를 추가하지 않습니다(해당 수정자가 음수인 경우는 제외).
+Feat/&FeatWhirlWindAttackStrTitle=회오리 공격 [Str]
Feature/&AttackModifierFeatSpearMasteryDescription=창으로 하는 공격 굴림에 +1 보너스를 받으며 창의 피해 주사위는 두 손으로 휘두르면 d6에서 d8로, d8에서 d10으로 변경됩니다.
Feature/&AttackModifierFeatSpearMasteryTitle=스피어 마스터리
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=롱소드를 들고 있는 동안 방어구 등급에 +1 보너스를 얻습니다.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=창을 준비하여 다가오는
Feature/&PowerFeatSpearMasteryChargeTitle=창 버팀대
Feature/&PowerFeatSpearMasteryReachDescription=남은 턴 동안 창의 도달 거리를 5피트 늘릴 수 있습니다.
Feature/&PowerFeatSpearMasteryReachTitle=스피어 리치
+Feature/&PowerGreatWeaponDefenseDescription=당신은 주요 행동 공격을 대체하여 당신으로부터 5피트 내의 생물을 목표로 삼을 수 있습니다. 그 생물은 당신의 다음 턴이 시작될 때까지, 당신이 더 이상 그 생물에 인접하지 않을 때까지 또는 당신이 다른 무기나 방패를 장비할 때까지 당신에 대한 모든 공격에 대해 불이익을 받습니다.
+Feature/&PowerGreatWeaponDefenseTitle=훌륭한 무기 방어
+Feature/&PowerWhirlWindAttackDescription=당신의 차례 중 한 번 대검, 대도끼 또는 망치를 휘두르며 공격 행동을 취할 때, 한 번의 공격을 교체하여 대신 회오리바람 공격을 시작할 수 있습니다. 회오리바람 공격은 당신으로부터 5피트 내의 모든 적 생물에 대해 한 번의 공격 굴림을 하지만, 입히는 피해에 당신의 속성 수정자를 추가하지 않습니다(해당 수정자가 음수인 경우는 제외).
+Feature/&PowerWhirlWindAttackTitle=회오리바람 공격
Feedback/&AdditionalDamageChargerFormat=충전기!
Feedback/&AdditionalDamageChargerLine={0}이(가) {1}을(를) 청구하고 추가로 {2} 피해를 입힙니다!
Feedback/&AdditionalDamageCrusherFormat=파쇄기!
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt
index 4eedd7a549..5cd5595271 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=악취나는 구름에 눈이
Condition/&ConditionBlindedExtendedDescription=시력이 흐려졌습니다. 생물에 대한 공격 굴림에는 이점이 있고 생물의 공격 굴림에는 불리한 점이 있습니다.
Condition/&ConditionLightlyObscuredDescription=시야가 살짝 흐려집니다. 지혜(지각) 내성 굴림에 불리함.
Condition/&ConditionLightlyObscuredTitle=살짝 가려짐
+Condition/&ConditionMonkSuperiorDefenseDescription=무력화되지 않는 이상 무력을 제외한 모든 피해에 대한 저항력을 갖습니다.
+Condition/&ConditionMonkSuperiorDefenseTitle=우수한 방어력
Condition/&ConditionRogueCunningStrikeDisarmedTitle=무장해제
Condition/&ConditionRogueCunningStrikeWithdrawTitle=빼는
Condition/&ConditionRogueDeviousStrikeDazedDescription=반응이나 보너스 행동을 사용할 수 없으며, 자신의 차례에 이동하거나 다른 행동을 취할 수 있습니다. 둘 다 할 수는 없습니다.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=내성 굴림에 실패하면 파이터 레벨과 동일한 보너스를 받아 다시 굴릴 수 있습니다. 그럴 경우 새 롤을 사용해야 하며, 긴 휴식을 마칠 때까지 이 기능을 다시 사용할 수 없습니다.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=확장된 주문
+Feature/&FeatureMonkBodyAndMindDescription=당신은 몸과 마음을 새로운 차원으로 연마했습니다. 민첩성과 지혜가 4 증가합니다.
+Feature/&FeatureMonkBodyAndMindTitle=몸과 마음
+Feature/&FeatureMonkHeightenedMetabolismDescription=당신의 훈련은 당신의 몸과 마음을 새로운 수준으로 끌어 올렸습니다. Flurry of Blows, Patient Defense 및 Step of the Wind는 다음과 같은 이점을 얻습니다.\n• Flurry of Blows: Flurry of Blows를 사용하면 2번이 아닌 3번의 비무장 공격이 가능합니다.\n• 환자 방어 : 환자 방어를 사용하면 무술 주사위 굴림 2개에 해당하는 임시 체력을 얻습니다.\n• 바람의 발걸음: 바람의 발걸음 기능(해제 또는 돌진)을 사용하면 다른 효과의 이점도 얻습니다.
+Feature/&FeatureMonkHeightenedMetabolismTitle=강화된 신진대사
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=보너스 행동으로 1 Ki 포인트를 사용하여 두 번의 비무장 공격을 할 수 있습니다.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=폭풍우의 타격
Feature/&FeatureSetBarbarianBrutalStrikeDescription=무모한 공격을 사용할 때, 턴이 끝나기 전에 하는 힘 기반 공격 굴림 중 하나는 무기나 비무장 타격이 가하는 동일한 유형의 추가 1d10 피해를 입히고, 적중할 경우 다음 효과 중 하나를 선택할 수도 있습니다. :\n• 강력한 타격. 목표물은 당신에게서 직선으로 15피트 떨어진 곳으로 밀려납니다.\n• 햄스트링 블로우. 다음 턴이 시작될 때까지 대상의 속도가 15피트만큼 감소합니다.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=가르는 일격
Feature/&PowerBarbarianBrutalStrikeTitle=잔인한 일격
Feature/&PowerHelpDescription=당신은 당신으로부터 5피트 내의 생물을 공격하는 아군 생물을 도울 수 있습니다. 당신은 가장하거나, 대상의 주의를 분산시키거나, 다른 방식으로 협력하여 아군의 공격을 더욱 효과적으로 만듭니다. 당신의 다음 턴 전에 당신의 동료가 목표물을 공격한다면, 첫 번째 공격 굴림이 유리하게 이루어집니다.
Feature/&PowerHelpTitle=돕다
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=당신은 1 Ki 포인트를 소비하여 당신의 턴에 보너스 액션으로 Disengage와 Dash 액션을 모두 취할 수 있으며, 점프 거리는 턴 동안 두 배가 됩니다.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=바람의 발걸음
+Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포인트를 사용하여 1분 동안 또는 무력화될 때까지 피해로부터 자신을 완벽하게 강화할 수 있습니다. 그 동안 포스 데미지를 제외한 모든 데미지에 대한 저항력을 갖게 됩니다.
+Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력
Feature/&PowerRangerNatureShroudDescription=당신은 자연의 힘을 이용하여 잠시 동안 자신의 모습을 숨길 수 있습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 입고 있거나 들고 있는 모든 장비와 함께 마법처럼 투명해질 수 있습니다. 이 기능은 숙련도 보너스만큼 여러 번 사용할 수 있으며, 긴 휴식을 마치면 소모한 사용 횟수를 모두 회복합니다.
Feature/&PowerRangerNatureShroudTitle=자연의 베일
Feature/&PowerRogueCunningStrikeDescription=당신은 몰래 공격을 사용하는 교활한 방법을 개발했습니다. 은밀한 공격 피해를 입힐 때 은밀한 공격 주사위 대신 추가 교활한 일격 효과를 추가할 수 있습니다.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=손에 블레이드 마스터리 무기 유
Rules/&SituationalContext9001Format=대검을 손에 쥐고 있음:
Rules/&SituationalContext9002Format=손에 장검이 있음:
Rules/&SituationalContext9003Format=주 손에 근접 무기를 들고 다른 손에는 없는 경우:
+Rules/&SituationalContext9004Format=보조 손으로 중화기 또는 다용도 무기를 주손에 들고 있는 경우:
Rules/&SituationalContext9005Format=손에 단순 또는 군용 무기가 있음:
Rules/&SituationalContext9007Format=밝은 빛이 아닙니다:
Rules/&SituationalContext9008Format=격노하고 이중 휘두르기:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs={0}입니다
Tooltip/&PreReqIsNot={0}이(가) 아닌가요?
Tooltip/&PreReqIsWithLevel={0}레벨은 {1}입니다
Tooltip/&PreReqLevelFormat=최소 캐릭터 레벨 {0}
+Tooltip/&PreReqMustHaveExtraAttacks=추가 공격이 있어야 합니다.
Tooltip/&PreReqMustKnow={0}을(를) 알아야 합니다.
Tooltip/&Tag9000Title=맞춤 효과
Tooltip/&TagUnfinishedBusinessTitle=끝나지 않은 사업
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt
index 7ff5e6e6e0..21f8713aba 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=추가 행동이 포함된 주문의 시전이 가속
ModUi/&AllowHornsOnAllRaces=모든 인종에 경적 허용 [인종, 머리, 경적에 따라 결과가 끔찍해 보일 수 있음]
ModUi/&AllowMoreRealStateOnRestPanel=나머지 패널에서 더 많은 실제 상태 허용 [전 패널의 휴식 작업 후 숨기기 및 후 패널의 복구 기능]
ModUi/&AllowStackedMaterialComponent=스택된 재료 구성요소 허용 [예: 2x500gp 다이아몬드는 1000gp 다이아몬드와 같습니다.]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=연쇄 번개 주문 시전 시 대상 선택 허용
ModUi/&AllowUnmarkedSorcerers=원산지 표시와 문신 없이 Sorcerer를 허용합니다.
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=ALT 키만 파티 시야에 있는 가젯을 강조 표시합니다. [사용자 정의 던전만 해당]
ModUi/&ArcaneShieldstaffOptions=모든 클래스가 아케인 쉴드스태프를 조정할 수 있도록 허용
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=내러티브 시퀀스 중에 게임 콘솔
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=맞춤 캠페인에서 잘못된 참조 기록 활성화
ModUi/&EnableMinInOutAttributes=+ 능력 점수 최소 입력 및 출력 전제 조건 시행
ModUi/&EnableMonkAbundantKi=레벨 2에서 몽크 풍부한 Ki 활성화 [숙련 보너스 반올림에 해당하는 추가 Ki 획득]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=수도사 몸과 정신을 활성화하여 레벨 20에서 완벽한 자아를 대체하세요.
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=몽크 무술 - 보너스 비무장 공격을 활성화하여 사용 전에 공격 조치가 필요하지 않도록 하세요.
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=몽크 Flurry of Blows를 활성화하면 사용 전에 공격 조치가 필요하지 않습니다.
ModUi/&EnableMonkFightingStyle=레벨 2에서 몽크 격투 스타일 선택 활성화
+ModUi/&EnableMonkHeightenedMetabolism=레벨 10 [폭풍의 타격, 환자 방어에서 몽크 신진대사 강화 활성화 및 바람의 발걸음은 추가 혜택을 얻습니다.]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=추락하지 않고 수직 표면을 따라 이동하려면 몽크 향상된 비무장 이동을 활성화하세요.
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=레벨 18에서 Empty Body를 대체하려면 몽크 우수 방어를 활성화하세요.
ModUi/&EnableMonkWeaponSpecialization=레벨 2와 11에서 몽크 무기 전문화를 활성화하세요. [선택한 무기 유형이 몽크 무기가 됩니다]
ModUi/&EnableMulticlass=멀티클래스 활성화 [다시 시작 필요]
+ModUi/&EnableOneDndHealingSpellsBuf=상처 치료, 치유의 말씀, 상처 대량 치료 및 대량 치유의 말씀
ModUi/&EnablePcgRandom=더 나은 무작위 생성기 알고리즘 활성화 [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=레벨 10에서 레인저 자연의 장막 기능을 활성화하세요. [보너스 액션으로 다음 턴이 시작될 때까지 마법처럼 투명해질 수 있습니다 ]
ModUi/&EnableRejoinParty=CTRL-SHIFT-(R)을 활성화하면 선택한 영웅이나 리더를 중심으로 파티에 다시 합류할 수 있습니다. [5인 또는 6인 파티에 유용합니다. ]
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt
index 76a3ca7f5d..a56c63dabc 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=부밍 블레이드의 칼집
Condition/&ConditionMindSpikeDescription=다음 내성 굴림에서 1d4를 뺍니다.
Condition/&ConditionMindSpikeTitle=마인드 슬라이버
Condition/&ConditionResonatingStrikeTitle=공명
+Condition/&ConditionStarryWispDescription=투명 상태의 이점을 누릴 수 없습니다.
+Condition/&ConditionStarryWispTitle=별이 빛나는 위습
Condition/&ConditionSunlightBladeDescription=5레벨에서 이 캔트립에 의해 유발된 공격은 1d8의 추가 방사 피해를 입힙니다. 11레벨과 17레벨에서는 데미지가 1d8씩 더 증가합니다.
Condition/&ConditionSunlightBladeTitle=햇볕에 쬐인 칼날의 화상
Condition/&ConditionWrackDescription=대시를 하거나 해제 조치를 취할 수 없습니다.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=범위 내에서 볼 수 있는 생물 하나의
Spell/&EnduringStingTitle=수액 찌르기
Spell/&IlluminatingSphereDescription=효과 영역에 있는 횃불, 마나 램프 등의 광원이 빛을 발하게 합니다.
Spell/&IlluminatingSphereTitle=조명 구체
+Spell/&InfestationDescription=범위 내에서 볼 수 있는 한 생물체에 진드기, 벼룩 및 기타 기생충이 일시적으로 나타나게 합니다. 대상은 건강 내성 굴림에 성공해야 하며, 그렇지 않으면 1d6의 독 피해를 입고 무작위 방향으로 5피트를 이동합니다.\n이 주문의 피해는 5레벨(2d6), 11레벨(3d6)에 도달하면 1d6만큼 증가하고, 17레벨(4d6).
+Spell/&InfestationTitle=감염
+Spell/&LightningLureDescription=당신은 15피트 이내에서 볼 수 있는 당신이 선택한 생물 하나를 공격하는 번개 에너지의 채찍을 생성합니다. 대상은 근력 내성 굴림에 성공하거나 당신을 향해 직선으로 10피트까지 끌어당겨진 다음 1d8의 번개 피해를 입어야 합니다.\n이 주문의 피해는 5레벨(2d8)에 도달할 때 1d8만큼 증가하고, 11레벨( 3d8) 및 17번째 레벨(4d8).
+Spell/&LightningLureTitle=번개 미끼
Spell/&MindSpikeDescription=당신은 범위 내에서 볼 수 있는 한 생물의 정신에 혼란스러운 심령 에너지의 스파이크를 몰아냅니다. 대상은 지능 내성 굴림에 성공해야 하며, 그렇지 않으면 1d6의 정신적 피해를 입고 다음 차례가 끝나기 전에 다음 내성 굴림에서 1d4를 빼야 합니다.
Spell/&MindSpikeTitle=마인드 슬라이버
Spell/&MinorLifestealDescription=근처의 적 생물에게서 생명 에너지를 흡수합니다. 당신으로부터 5피트 이내에 있는 생물체에 대해 근접 주문 공격을 가하십시오. 명중 시 생물은 1d6의 괴사 피해를 입고 입힌 피해의 절반(내림)만큼 치유됩니다. 이 주문은 언데드와 구조물에는 효과가 없습니다. 주문의 피해는 5, 11, 17레벨에서 추가 주사위로 증가합니다.
Spell/&MinorLifestealTitle=사소한 생명력 훔치기
+Spell/&PrimalSavageryDescription=원시 마법을 사용하여 치아나 손톱을 날카롭게 만들어 부식성 공격을 가할 준비를 합니다. 당신으로부터 5피트 이내에 있는 생물 하나에 대해 근접 주문 공격을 가하십시오. 적중 시 대상은 1d10의 산성 피해를 입습니다. \n이 주문의 피해는 5레벨(2d6), 11레벨(3d6), 17레벨(4d6)에 도달하면 1d6만큼 증가합니다.
+Spell/&PrimalSavageryTitle=원시적 야만성
Spell/&ResonatingStrikeDescription=당신의 근접 범위 내에 있는 생물 하나와 주 대상으로부터 5피트 이내에서 볼 수 있는 다른 생물을 선택하십시오. 당신은 첫 번째 생물에 대해 현재 무기로 근접 공격을 합니다. 적중 시 대상은 무기 공격의 일반 효과를 받고 화염이 두 번째 대상으로 도약하여 주문 시전 능력 수정치와 동일한 화염 피해를 입힙니다.\n5레벨에서 근접 공격은 대상에게 1d8의 추가 화염 피해를 입힙니다. 적중하면 두 번째 생물에 대한 화염 피해는 1d8 + 주문 시전 능력 수정치로 증가합니다. 두 피해 굴림은 11레벨과 17레벨에서 1d8만큼 증가합니다.
Spell/&ResonatingStrikeTitle=녹색불꽃칼날
+Spell/&StarryWispDescription=범위 내의 생물이나 물체 하나에 빛의 티끌을 발사합니다. 대상에게 원거리 주문 공격을 가합니다. 적중 시 대상은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 10피트 반경에 희미한 빛을 방출하며 투명 상태의 혜택을 받을 수 없습니다.\n이 주문의 피해는 다음과 같은 경우 1d8만큼 증가합니다. 레벨 5(2d8), 11(3d8) 및 17(4d8)에 도달합니다.
+Spell/&StarryWispTitle=별이 빛나는 위습
Spell/&SunlightBladeDescription=무기를 이용해 근접 공격을 가하세요. 적중 시 대상은 공격의 일반 효과를 받고 빛나는 복사 에너지에 둘러싸여 해당 턴 동안 희미한 빛을 발산합니다. 강조 표시된 동안 이 생물에 대한 다음 공격은 유리하게 수행됩니다.\n5레벨에서 근접 공격은 대상에게 1d8의 추가 방사 피해를 입힙니다. 11레벨과 17레벨에서는 데미지가 1d8 더 증가합니다.
Spell/&SunlightBladeTitle=햇볕에 쬐인 칼날
Spell/&SwordStormDescription=당신은 당신 주위를 휩쓰는 순간적인 스펙트럼 칼날의 원을 만듭니다. 당신으로부터 5피트 내의 다른 모든 생물은 각각 민첩 내성 굴림에 성공해야 하며 그렇지 않으면 1d6의 강제 피해를 입어야 합니다.
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt
index 7314aefac8..ebcbc52481 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=다음 턴이 끝날 때까
Condition/&ConditionPsychicWhipNoReactionTitle=타샤의 마인드 휩
Feature/&AttackModifierShadowBlade0Description=마법 공격.
Feature/&AttackModifierShadowBladeNDescription=마법 공격은 추가로 {0}d8의 정신적 피해를 입힙니다.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=당신은 모든 생물의 공간을 통과할 수 있습니다
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=키네틱 소운트
Feedback/&MirrorImageAttackerHasSense={0}은(는) {1}을 가지며 {2}을(를) 무시합니다.
Feedback/&MirrorImageAttackerIsBlind={0}은(는) {1}이며 {2}을(를) 무시합니다.
Feedback/&MirrorImageRetargetResult={0}은(는) {1}을(를) 타겟팅합니다.
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=귀하의 체력은 {0}/{1}입
Reaction/&CustomReactionWitherAndBloomReactDescription=체력을 회복하세요.
Reaction/&CustomReactionWitherAndBloomReactTitle=시들고 피어나다
Reaction/&CustomReactionWitherAndBloomTitle=시들고 피어나다
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=귀하의 숙련도가 부족한 기술을 하나 선택하십시오. 1시간 동안 선택한 스킬에 숙련도가 부여됩니다.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=선택한 기술에 능숙해집니다.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=빌린 지식
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=빌린 지식
Spell/&AganazzarScorcherDescription=길이 30피트, 폭 5피트의 맹렬한 불꽃이 당신이 선택한 방향으로 나옵니다. 줄에 있는 각 생물은 민첩 내성 굴림을 해야 합니다. 생물은 저장 실패 시 3d10의 화염 피해를 입거나, 성공 시 절반의 피해를 입습니다. 3레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 2레벨 이상의 각 슬롯 레벨마다 피해가 1d10씩 증가합니다.
Spell/&AganazzarScorcherTitle=아가나자르의 불태우기
Spell/&BindingIceDescription=30피트 원뿔 모양의 차가운 에너지가 당신에게서 뿜어져 나옵니다. 그 지역에 있는 각 생물은 건강 내성 굴림을 해야 합니다. 저장에 실패하면 생물은 3d8의 냉기 피해를 입고 1분 동안 또는 얼음을 깨는 행동을 사용할 때까지 얼음 형성에 의해 방해를 받습니다. 얼음에 의해 방해를 받는 생물은 속도가 0으로 감소합니다. 성공적으로 저장하면 생물은 절반의 피해를 입고 얼음에 의해 방해를 받지 않습니다.
Spell/&BindingIceTitle=라임의 결속 얼음
+Spell/&BorrowedKnowledgeDescription=당신은 과거의 영혼으로부터 지식을 끌어옵니다. 당신이 능숙하지 않은 기술 하나를 선택합니다. 1시간 동안, 당신은 선택한 기술에 능숙해집니다. 당신이 다시 시전하면 주문은 일찍 끝납니다.
+Spell/&BorrowedKnowledgeTitle=빌린 지식
Spell/&CloudOfDaggersDescription=범위 내에서 선택한 지점을 중심으로 각 측면이 5피트인 입방체에 회전하는 단검으로 공기를 채웁니다. 생물은 턴에 처음으로 주문의 영역에 들어가거나 그곳에서 턴을 시작할 때 4d4의 절단 피해를 입습니다. 3레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 2레벨 이상의 각 슬롯 레벨마다 피해가 2d4씩 증가합니다.
Spell/&CloudOfDaggersTitle=단검의 구름
Spell/&ColorBurstDescription=10피트 내의 모든 사람의 눈을 잠시 멀게 하는 빛나는 큐브를 터뜨립니다. 8d10은 이 주문이 영향을 미칠 수 있는 생물의 체력 수입니다.
Spell/&ColorBurstTitle=컬러 버스트
+Spell/&KineticJauntDescription=춤과 같은 발걸음으로 마법처럼 움직임에 힘을 실어 해당 기간 동안 다음과 같은 이점을 얻을 수 있습니다.\n• 걷는 속도가 10피트 증가합니다.\n• 기회 공격을 유발하지 않습니다.\n• 움직일 수 있습니다. 모든 생물의 공간을 통해.
+Spell/&KineticJauntTitle=키네틱 소운트
Spell/&MirrorImageDescription=당신의 공간에 당신의 환상적 복제물 3개가 나타납니다. 주문이 끝날 때까지 생물이 공격으로 당신을 표적으로 삼을 때마다 d20을 굴려 공격이 대신 당신의 중복 생물 중 하나를 표적으로 삼는지 결정합니다.\n복제 생물이 3개 있는 경우, 공격을 변경하려면 6 이상을 굴려야 합니다. 중복 대상을 지정합니다. 2개의 중복이 있으면 8 이상을 굴려야 합니다. 중복 항목이 1개 있으면 11 이상을 굴려야 합니다.\n복제 항목의 방어구 등급은 10 + 민첩 수정치와 같습니다. 공격이 복제물에 적중하면 복제물은 파괴됩니다. 복제물은 공격을 가해야만 파괴될 수 있습니다. 다른 모든 피해와 효과를 무시합니다. 세 개의 중복 개체가 모두 파괴되면 주문은 종료됩니다.\n생물이 실명 상태이거나 실명, 진실 시야 또는 떨림 기능을 갖고 있는 경우(지면에 닿지 않으면 적용되지 않음) 생물은 이 주문의 영향을 받지 않습니다.
Spell/&MirrorImageTitle=미러 이미지
Spell/&NoxiousSprayDescription=범위 내의 대상에게 유해 가스를 분사합니다. 원거리 주문 공격을 가합니다. 명중 시 대상은 4d6의 독 피해를 입으며 건강 내성 굴림에 성공해야 합니다. 그렇지 않으면 다음 턴 내내 구역질과 몸부림을 보내며 움직이거나 행동을 취할 수 없습니다. 구조물, 정령, 언데드는 이 주문의 영향을 받지 않습니다. 3레벨 이상의 슬롯을 사용하여 이 주문을 시전할 때, 2레벨 이상의 슬롯 레벨마다 생물 한 마리를 추가로 목표로 삼을 수 있습니다.
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt
index ca5ad07311..6441be1095 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=원거리 무기를 착용하고 있어야 합니
Spell/&FlameArrowsTitle=화염 화살
Spell/&HungerOfTheVoidDescription=당신은 알려지지 않은 공포로 가득 찬 지역인 별들 사이의 어둠으로 통하는 관문을 엽니다. 범위가 있는 지점을 중심으로 지속 시간 동안 지속되는 반경 20피트의 암흑과 혹독한 추위의 구체가 나타납니다. 해당 지역은 빛을 끄고 그 안에 있는 생물들은 눈이 멀게 됩니다. 해당 지역에서 턴을 시작하는 모든 생물은 2d6의 냉기 피해를 입습니다. 해당 지역에서 턴을 끝내는 모든 생명체는 민첩 내성 굴림에 성공해야 하며, 그렇지 않으면 유백색의 다른 세계의 촉수가 마찰을 일으키기 때문에 2d6의 산성 피해를 입어야 합니다.
Spell/&HungerOfTheVoidTitle=하다르의 굶주림
+Spell/&IntellectFortressDescription=지속 시간 동안 당신 또는 당신이 범위 내에서 볼 수 있는 하나의 의지 있는 생물은 정신 피해에 대한 저항력을 가질 뿐만 아니라 지능, 지혜, 카리스마 내성 굴림에 이점을 갖습니다. 4레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전할 때, 3레벨 이상의 각 슬롯 레벨에 대해 범위 내의 추가 생물을 목표로 삼을 수 있습니다.
+Spell/&IntellectFortressTitle=지능의 요새
Spell/&LightningArrowDescription=주문이 지속되는 동안 다음에 원거리 무기 공격을 하면 무기의 탄약 또는 투척 무기인 경우 무기 자체가 번개 화살로 변합니다. 공격 굴림을 정상적으로 수행하십시오. 대상은 적중 시 3d8의 번개 피해를 입거나, 빗나가면 절반의 피해를 입습니다. 명중하든 실패하든, 대상으로부터 10피트 내의 각 생물은 민첩 내성 굴림을 해야 합니다. 이 생물들 각각은 저장 실패 시 2d8의 번개 피해를 입거나, 성공 시 절반의 피해를 입습니다. 4레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면, 주문의 두 효과에 대한 피해는 3레벨 이상의 슬롯 레벨마다 1d8씩 증가합니다.
Spell/&LightningArrowTitle=번개 화살
+Spell/&PsionicBlastDescription=당신은 30피트 원뿔 모양으로 파괴적인 정신력의 파동을 일으킵니다. 해당 지역에 있는 각 생물은 민첩 내성 굴림을 해야 합니다. 저장에 실패하면 대상은 5d8의 힘 피해를 입고 바로 20피트 떨어진 곳으로 밀려나며 넘어지게 됩니다. 내성굴림에 성공하면 대상은 절반의 피해를 입고 밀리지도 않고 쓰러지지도 않습니다. 4레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 3레벨 이상의 슬롯 레벨마다 피해가 1d8씩 증가합니다.
+Spell/&PsionicBlastTitle=사이오닉 폭발
Spell/&PulseWaveDescription=강력한 중력 압력으로 적을 멀리 던져보세요.
Spell/&PulseWaveTitle=맥파
Spell/&SpiritShroudDamageColdDescription=보너스 냉기 피해를 줍니다.
diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt
index 69f3f16038..9454e569ea 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=당신은 지속 시간 동안 다른 생물의
Spell/&ShapechangeTitle=변신
Spell/&TimeStopDescription=당신은 자신을 제외한 모든 사람의 시간의 흐름을 잠시 멈춥니다. 다른 생물에게는 시간이 흐르지 않으며, 연속으로 1d4 + 1턴을 수행하며, 그 동안 평소처럼 행동을 사용하고 이동할 수 있습니다.
Spell/&TimeStopTitle=시간 정지
-Spell/&WeirdDescription=당신은 생물 집단의 가장 깊은 두려움을 이용하여 그들의 마음 속에 그들에게만 보이는 환상의 생물을 창조합니다. 범위 내에서 당신이 선택한 지점을 중심으로 하는 반경 30피트 구체의 각 생물은 지혜 내성 굴림을 해야 합니다. 저장에 실패하면 생물은 지속 시간 동안 겁을 먹습니다. 환영은 생명체의 가장 깊은 두려움을 불러일으키며 최악의 악몽을 무자비한 위협으로 드러냅니다. 겁에 질린 생명체의 턴이 끝날 때마다 지혜 내성굴림에 성공하지 않으면 4d10의 정신적 피해를 입어야 합니다. 저장에 성공하면 해당 생물에 대한 주문이 종료됩니다.
+Spell/&WeirdDescription=당신은 생물 집단의 가장 깊은 두려움을 이용하여 그들의 마음 속에 그들에게만 보이는 환상의 생물을 창조합니다. 범위 내에서 당신이 선택한 지점을 중심으로 하는 반경 30피트 구체 안에 있는 각 적은 지혜 내성 굴림을 해야 합니다. 저장에 실패하면 생물은 지속 시간 동안 겁을 먹습니다. 환영은 생명체의 가장 깊은 두려움을 불러일으키고 최악의 악몽을 무자비한 위협으로 드러냅니다. 겁에 질린 생명체의 턴이 끝날 때마다 지혜 내성굴림에 성공하거나 4d10의 정신적 피해를 입어야 합니다. 성공적으로 저장하면 해당 생물에 대한 주문이 종료됩니다.
Spell/&WeirdTitle=기이한
diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/InnovationVivisectionist-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/InnovationVivisectionist-ko.txt
index e17ca68496..4411c3d4d1 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/InnovationVivisectionist-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/InnovationVivisectionist-ko.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=턴
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=의학적 정확성
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=다음 사항을 배우고 항상 준비해 왔습니다.\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=생체 해부 주문
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=치유 주문을 시전할 때 최소 치유 주사위 굴림은 2입니다.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=다른 생물을 치료할 때마다 대신 굴림 1개를 모두 2개로 처리합니다.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=안정적인 수술로 인해 {0}은 {1} 주사위를 2로 강제합니다.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=안정적인 수술
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=5피트 내의 아군에게 하급 복원 또는 저주 제거를 사용하는 보너스 조치를 취할 수 있습니다. 당신은 숙련도 보너스만큼 이 작업을 여러 번 수행할 수 있습니다. 모두 오랜 휴식 후 재충전하여 사용합니다.
diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronArchfey-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronArchfey-ko.txt
new file mode 100644
index 0000000000..99b18473c3
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronArchfey-ko.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=당신은 매혹에 면역이며, 다른 생물이 당신을 매혹하려고 시도할 때, 당신은 반응을 사용하여 그 생물에게 매력을 되돌리려고 시도할 수 있습니다. 생물은 당신의 흑마법사 주문에 대한 지혜 내성 굴림에 성공해야 합니다. 그렇지 않으면 1분 동안 또는 생물이 피해를 입을 때까지 당신에게 매료됩니다.
+Feature/&PowerArchfeyBeguilingDefensesTitle=매혹적인 방어
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=행동으로 당신으로부터 60피트 이내에서 볼 수 있는 생물을 선택하십시오. 그것은 당신의 흑마법사 주문 저장 DC에 대해 지혜 저장 굴림을 해야 합니다. 저장에 실패하면 1분 동안 당신에게 매료됩니다. 이 효과는 생물이 피해를 입으면 일찍 종료됩니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=어둠의 섬망: 매혹
+Feature/&PowerArchfeyDarkDeliriumDescription=행동으로 당신으로부터 60피트 이내에서 볼 수 있는 생물을 선택하십시오. 그것은 당신의 흑마법사 주문 저장 DC에 대해 지혜 저장 굴림을 해야 합니다. 저장에 실패하면 1분 동안 당신(당신의 선택)에 매료되거나 겁을 먹습니다. 이 효과는 생물이 피해를 입으면 일찍 종료됩니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=행동으로 당신으로부터 60피트 이내에서 볼 수 있는 생물을 선택하십시오. 그것은 당신의 흑마법사 주문 저장 DC에 대해 지혜 저장 굴림을 해야 합니다. 저장에 실패하면 1분 동안 당신에게 겁을 먹습니다. 이 효과는 생물이 피해를 입으면 일찍 종료됩니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=어두운 섬망: 겁먹음
+Feature/&PowerArchfeyDarkDeliriumTitle=어두운 섬망
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=행동으로, 당신은 15피트 원뿔 안에 있는 각 생물이 당신의 흑마법사 주문 저장 DC에 대해 지혜 내성 굴림을 하게 할 수 있습니다. 내성 굴림에 실패한 생물은 모두 당신의 다음 턴이 끝날 때까지 당신에게 매료됩니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=페이의 존재감: 매혹됨
+Feature/&PowerArchfeyFeyPresenceDescription=행동으로, 당신은 15피트 원뿔에 있는 각 생물이 당신의 워록 주문 세이브 DC에 대해 지혜 세이브를 하도록 할 수 있습니다. 세이브에 실패한 생물은 모두 당신의 다음 턴이 끝날 때까지 당신에게 매료되거나 두려워합니다(당신의 선택). 이 기능을 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=행동으로, 당신은 15피트 원뿔 안에 있는 각 생물이 당신의 흑마법사 주문 저장 DC에 대해 지혜 내성 굴림을 하게 할 수 있습니다. 내성굴림에 실패한 생물은 모두 당신의 다음 턴이 끝날 때까지 당신 때문에 겁을 먹습니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=페이의 존재: 겁먹음
+Feature/&PowerArchfeyFeyPresenceTitle=페이 존재
+Feature/&PowerArchfeyMistyEscapeDescription=공격을 받으면 반응을 통해 투명하게 변하고 볼 수 있는 비어 있는 공간으로 최대 60피트까지 순간이동할 수 있습니다. 당신은 다음 턴이 시작될 때까지 또는 공격하거나 주문을 시전할 때까지 투명 상태로 유지됩니다. 이 기능을 한 번 사용하면 짧은 휴식이나 긴 휴식을 마칠 때까지 다시 사용할 수 없습니다.
+Feature/&PowerArchfeyMistyEscapeTitle=미스티 이스케이프
+Reaction/&CustomReactionMistyEscapeDescription=당신은 맞았습니다. 반응을 사용하여 투명하게 변하고 볼 수 있는 비어 있는 공간으로 최대 60피트까지 순간이동할 수 있습니다.
+Reaction/&CustomReactionMistyEscapeReactDescription=투명하게 변하고 최대 60피트까지 순간이동합니다.
+Reaction/&CustomReactionMistyEscapeReactTitle=미스티 이스케이프
+Reaction/&CustomReactionMistyEscapeTitle=미스티 이스케이프
+Reaction/&UseBeguilingDefensesDescription=적이 당신을 매료시키려고 했습니다. 반응을 이용해 매력을 되돌릴 수 있습니다.
+Reaction/&UseBeguilingDefensesReactDescription=매력을 되돌리세요.
+Reaction/&UseBeguilingDefensesReactTitle=매혹적인 방어
+Reaction/&UseBeguilingDefensesTitle=매혹적인 방어
+Subclass/&PatronArchfeyDescription=당신의 후원자는 필멸의 종족이 태어나기 전에 잊혀진 비밀을 간직하고 있는 전설의 생물인 페이의 영주 또는 여주인입니다. 이 존재의 동기는 종종 알 수 없고 때로는 기발하며, 더 큰 마법의 힘을 얻으려는 노력이나 오래된 원한을 해소하는 것과 관련될 수 있습니다.
+Subclass/&PatronArchfeyTitle=더 아치페이
diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WayOfTheStormSoul-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WayOfTheStormSoul-ko.txt
new file mode 100644
index 0000000000..9db6a133ed
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WayOfTheStormSoul-ko.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=이 표식은 언제든지 폭발하여 5D10 천둥 피해를 입힐 수 있습니다.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=폭풍의 표식
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Flurry of Blows를 사용할 때마다 해제 조치의 이점도 얻습니다. 그것이 제공하는 보너스 공격은 무술 주사위와 동일한 추가 번개 피해를 입힙니다.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=폭풍의 제자
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=수도사 무기, 비무장 공격 또는 번개 미끼 캔트립으로 생물체에 피해를 줄 때마다 해당 생물체에 1분 동안 지속되는 전도성 에너지 표시가 표시됩니다. 당신은 당신의 행동을 사용하고 3ki를 소비하여 각 생물의 표식을 소비하고 민첩 내성 굴림을 강제할 수 있습니다(DC = 8 + 숙련도 보너스 + 지혜 수정치). 내성 굴림에 실패하면 각 생물은 5d10의 번개 피해를 받습니다(절반만 절약).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=폭풍의 눈
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=당신은 번개 피해에 대한 저항력을 얻고, 지혜를 주문 시전 수정자로 사용하여 구성 요소 없이 번개 미끼 캔트립을 시전하기 위해 주요 행동 공격을 대체할 수 있습니다.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=번개 전사
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=지혜를 주문 시전 수정자로 사용하여 구성 요소 없이 Lightning Lure 캔트립을 시전하기 위해 주요 액션 공격을 대체할 수 있습니다.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=번개 미끼
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=1ki를 사용하여 Flurry of Blows가 제공하는 보너스 공격 중 하나를 대신 사용하여 5피트 내의 모든 적 생물을 공격할 수 있습니다.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=폭풍우의 분노
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=폭풍의 제자!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0}이(가) 번개(+{2})로 {1}을(를) 쳤습니다.
+Subclass/&WayOfTheStormSoulDescription=폭풍 영혼의 길의 수도사들은 솔라스타의 가장 높은 산꼭대기에 살면서 강력한 폭풍의 에너지에 적응하고 번개의 힘을 자신의 존재에 전달하는 방법을 배웁니다. 이 무술가들은 자신들의 고유한 기술을 사용하여 자유로운 폭풍이 되어 전장을 쉽게 이동하고, 한 적에서 다음 적으로 돌진하고, 수많은 번개가 주입된 공격을 퍼붓습니다.
+Subclass/&WayOfTheStormSoulTitle=폭풍의 영혼의 길
diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WizardWarMagic-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WizardWarMagic-ko.txt
index 2bda134338..f0e4eef69e 100644
--- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WizardWarMagic-ko.txt
+++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/WizardWarMagic-ko.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=당신이 전달하는 마법은
Feature/&FeatureWarMagicDurableMagicTitle=튼튼한 마법
Feature/&PowerWarMagicDeflectionShroudDescription=비전 편향에 치명적인 마법이 주입됩니다. Arcane Deflection 기능을 사용하면 마법 에너지가 당신에게서 솟아오르게 할 수 있습니다. 당신으로부터 60피트 이내에 있는 가장 가까운 생명체 최대 3마리는 각각 당신의 마법사 레벨의 절반에 해당하는 강제 피해를 입습니다.
Feature/&PowerWarMagicDeflectionShroudTitle=편향 슈라우드
-Feature/&PowerWarMagicSurgeDescription=지능 수정치(최소 1개)만큼 전력 급증이 발생합니다. Counterspell로 주문을 성공적으로 끝낼 때마다 파워 서지를 한 번 얻습니다. 턴당 한 번씩 마법사 주문으로 생물이나 물체에 피해를 입힐 때, 파워 서지 1개를 소비하여 해당 주문의 피해 굴림 1개에 추가 힘 피해를 입힐 수 있습니다. 추가 피해는 마법사 레벨과 동일합니다.
+Feature/&PowerWarMagicSurgeDescription=긴 휴식마다 지능 수정치(최소 1개)만큼 전력 급증이 발생합니다. Counterspell로 주문을 성공적으로 종료할 때마다 전력 급증을 한 번 회복합니다. 턴당 한 번, 마법사 주문으로 생물이나 물체에 피해를 입힐 때, 파워 서지 1개를 소비하여 해당 주문의 피해 굴림 1개에 추가 힘 피해를 입힐 수 있습니다. 추가 피해는 마법사 레벨과 동일합니다.
Feature/&PowerWarMagicSurgeTitle=전력 서지
Feedback/&ArcaneDeflectionAttackRoll={0}는 {1}를 사용하여 공격 판정({3})에서 지능 수정자({2})를 뺍니다.
Feedback/&ArcaneDeflectionSavingRoll={0}는 {1}를 사용하여 지능 수정자({2})를 저장 목록({3})에 추가합니다.
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/Group-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/Group-pt-BR.txt
index aedc70ab03..a84df2a3f3 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/Group-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/Group-pt-BR.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Aumente um de seus atributos mentais em
Feat/&FeatGroupVerdantTouchedTitle=Verdejante Tocado
Feat/&FeatGroupWeaponMasterDescription=Você praticou extensivamente com uma variedade de armas, ganhando os seguintes benefícios:\n• Aumente seu valor de Força ou Destreza em 1, até um máximo de 20.\n• Você ganha proficiência com quatro armas de sua escolha. Cada uma deve ser uma arma simples ou marcial.
Feat/&FeatGroupWeaponMasterTitle=Mestre das Armas
+Feat/&FeatGroupWhirlWindAttackDescription=Você se torna um mestre da morte giratória, ganhando os seguintes benefícios:\n• Aumenta sua Força ou Destreza em 1, até um máximo de 20.\n• Uma vez durante seu turno, quando você realiza a ação de Ataque enquanto empunha uma espada larga, machado grande ou maul, você pode substituir um ataque para lançar um Ataque Redemoinho. O Ataque Redemoinho realiza uma jogada de ataque contra todas as criaturas inimigas a até 1,5 metro de você, mas não adiciona seu modificador de atributo ao dano causado (a menos que esse modificador seja negativo).
+Feat/&FeatGroupWhirlWindAttackTitle=Ataque Redemoinho
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/MeleeCombat-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/MeleeCombat-pt-BR.txt
index 1cd4feb249..448e9963d3 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/MeleeCombat-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Feats/MeleeCombat-pt-BR.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Continue vindo!
Condition/&ConditionFeatCleavingAttackFinishTitle=Grande Mestre de Armas
Condition/&ConditionFeatCrusherCriticalHitDescription=Você foi esmagado por um golpe crítico e os ataques contra você têm vantagem.
Condition/&ConditionFeatCrusherCriticalHitTitle=Esmagado
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Você faz todas as jogadas de ataque com desvantagem contra a fonte enquanto estiver a até 1,5 metro dela.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Defesa Focada
Condition/&ConditionFeatPiercerNonMagicDescription=Quando você atinge uma criatura com um ataque que causa dano perfurante, você pode jogar novamente os dados quando obtiver 1 e deverá usar a nova jogada.
Condition/&ConditionFeatPiercerNonMagicTitle=Perfurador
Condition/&ConditionFeatSlasherCriticalHitDescription=Você foi atingido por um golpe crítico e seus ataques têm desvantagem.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=Você domina o machado de mão, o machado de bat
Feat/&FeatFellHandedTitle=Caiu com a mão
Feat/&FeatFencerDescription=Se você realizar a ação de Ataque em seu turno enquanto segura uma arma corpo-a-corpo de uma mão ou versátil e nenhuma outra arma ou escudo, você pode usar uma ação bônus para atacar com a arma que está segurando, adicionando seu modificador de atributo ao dano causado.
Feat/&FeatFencerTitle=Esgrimista
+Feat/&FeatGreatWeaponDefenseDescription=Você usa habilmente o tamanho da sua arma para se concentrar em aparar os golpes recebidos. Enquanto estiver empunhando uma arma corpo a corpo pesada ou versátil e nenhuma outra arma ou escudo, você ganha os seguintes benefícios:\n• Aumenta sua Classe de Armadura em 1 enquanto empunha a arma. \n• Você pode substituir qualquer ataque de ação principal para atingir uma criatura a até 1,5 metro de você. Aquela criatura tem desvantagem em todos os ataques contra você até o início do seu próximo turno, até que você não esteja mais adjacente à criatura ou se você equipar outra arma ou escudo.
+Feat/&FeatGreatWeaponDefenseTitle=Ótima defesa com armas
Feat/&FeatHammerThePointDescription=Você sabe como focar e concentrar-se no mesmo lugar. Depois de fazer uma jogada de ataque contra um alvo, receba +1 nas jogadas de ataque e dano contra esse alvo até o final do seu turno [acumula].
Feat/&FeatHammerThePointTitle=Martele o ponto
Feat/&FeatLongswordFinesseDescription=Você é descendente de um mestre da espada longa e parte desse domínio foi passado para você. Você ganha os seguintes benefícios:\n• Aumenta sua Destreza em 1, até um máximo de 20.\n• Enquanto estiver segurando uma espada longa, você ganha um bônus de +1 na classe de armadura.\n• A Espada Longa tem o propriedade de sutileza quando você a empunha.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=Você aprendeu onde cortar para obter os melhore
Feat/&FeatSlasherStrTitle=Cortador [Str]
Feat/&FeatSpearMasteryDescription=Embora a lança seja uma arma simples de aprender, ela recompensa você pelo tempo que levou para dominá-la:\n• Você ganha um bônus de +1 nas jogadas de ataque que fizer com uma lança e seu dado de dano muda de d6 para um d8 e de d8 a d10 quando empunhado com as duas mãos.\n• Como ação bônus, você pode preparar sua lança para interceptar inimigos que se aproximam. Você pode usar a reação para realizar um ataque de oportunidade com uma lança no inimigo que estiver ao seu alcance e causar um dado extra de dano se o ataque acertar.\n• Como uma ação bônus, você pode aumentar seu alcance com uma lança em 1,5 metro por o resto do seu turno.
Feat/&FeatSpearMasteryTitle=Maestria de Lança
+Feat/&FeatWhirlWindAttackDexDescription=Você se torna um mestre da morte giratória, ganhando os seguintes benefícios:\n• Aumenta sua Destreza em 1, até um máximo de 20.\n• Uma vez durante seu turno, quando você realiza a ação de Ataque enquanto empunha uma espada grande, um machado grande ou maul, você pode substituir um ataque para lançar um Ataque Redemoinho. O Ataque Redemoinho realiza uma jogada de ataque contra todas as criaturas inimigas a até 1,5 metro de você, mas não adiciona seu modificador de atributo ao dano causado (a menos que esse modificador seja negativo).
+Feat/&FeatWhirlWindAttackDexTitle=Ataque Redemoinho [Dex]
+Feat/&FeatWhirlWindAttackStrDescription=Você se torna um mestre da morte giratória, ganhando os seguintes benefícios:\n• Aumenta sua Força em 1, até um máximo de 20.\n• Uma vez durante seu turno, quando você realiza a ação de Ataque enquanto empunha uma espada grande, um machado grande ou maul, você pode substituir um ataque para lançar um Ataque Redemoinho. O Ataque Redemoinho realiza uma jogada de ataque contra todas as criaturas inimigas a até 1,5 metro de você, mas não adiciona seu modificador de atributo ao dano causado (a menos que esse modificador seja negativo).
+Feat/&FeatWhirlWindAttackStrTitle=Ataque Redemoinho [For]
Feature/&AttackModifierFeatSpearMasteryDescription=Você ganha um bônus de +1 nas jogadas de ataque que fizer com uma lança e seu dado de dano muda de d6 para d8 e de d8 para d10 quando empunhada com as duas mãos.
Feature/&AttackModifierFeatSpearMasteryTitle=Maestria de Lança
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Enquanto estiver segurando uma espada longa, você ganha +1 de bônus na classe de armadura.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Você pode preparar sua lança p
Feature/&PowerFeatSpearMasteryChargeTitle=Suporte de lança
Feature/&PowerFeatSpearMasteryReachDescription=Você pode aumentar seu alcance com uma lança em 1,5 metro pelo resto do seu turno.
Feature/&PowerFeatSpearMasteryReachTitle=Alcance da Lança
+Feature/&PowerGreatWeaponDefenseDescription=Você pode substituir qualquer ataque de ação principal para atingir uma criatura a até 1,5 metro de você. Aquela criatura tem desvantagem em todos os ataques contra você até o início do seu próximo turno, até que você não esteja mais adjacente à criatura ou se você equipar outra arma ou escudo.
+Feature/&PowerGreatWeaponDefenseTitle=Ótima defesa com armas
+Feature/&PowerWhirlWindAttackDescription=Uma vez durante o seu turno, quando você realiza a ação de Ataque enquanto empunha uma espada grande, um machado grande ou um malho, você pode substituir um ataque para lançar um Ataque Redemoinho. O Ataque Redemoinho realiza uma jogada de ataque contra todas as criaturas inimigas a até 1,5 metro de você, mas não adiciona seu modificador de atributo ao dano causado (a menos que esse modificador seja negativo).
+Feature/&PowerWhirlWindAttackTitle=Ataque Redemoinho
Feedback/&AdditionalDamageChargerFormat=Carregador!
Feedback/&AdditionalDamageChargerLine={0} carrega {1} e causa {2} de dano extra!
Feedback/&AdditionalDamageCrusherFormat=Triturador!
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt
index 04da899193..7cd1cdf07f 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Cegado pela nuvem fedorenta
Condition/&ConditionBlindedExtendedDescription=A visão está cega. As jogadas de ataque contra a criatura têm vantagem e as jogadas de ataque da criatura têm desvantagem.
Condition/&ConditionLightlyObscuredDescription=A visão está levemente obscurecida. Desvantagem nos testes de resistência de sabedoria (percepção).
Condition/&ConditionLightlyObscuredTitle=Levemente obscurecido
+Condition/&ConditionMonkSuperiorDefenseDescription=Você tem resistência a todos os danos, exceto à força, a menos que esteja incapacitado.
+Condition/&ConditionMonkSuperiorDefenseTitle=Defesa Superior
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Desarmado
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Retirado
Condition/&ConditionRogueDeviousStrikeDazedDescription=Você não pode usar reações ou ações bônus e pode se mover ou realizar outras ações por seu turno, mas não ambas.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Se você falhar em um teste de resistência, poderá jogá-lo novamente com um bônus igual ao seu nível de Lutador. Se fizer isso, você deverá usar o novo teste e não poderá usar esse recurso novamente até terminar um descanso longo.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Feitiços Expandidos
+Feature/&FeatureMonkBodyAndMindDescription=Você aprimorou seu corpo e mente a novos patamares. Sua Destreza e Sabedoria aumentam em 4.
+Feature/&FeatureMonkBodyAndMindTitle=Corpo e mente
+Feature/&FeatureMonkHeightenedMetabolismDescription=Seu treinamento elevou seu corpo e mente a novos níveis. Sua Rajada de Golpes, Defesa do Paciente e Passo do Vento ganham os seguintes benefícios:\n• Rajada de Golpes: quando você usa Rajada de Golpes, você faz três Ataques Desarmados com ela em vez de dois.\n• Defesa do Paciente : Ao usar a Defesa do Paciente, você ganha um número de pontos de vida temporários igual a duas jogadas de seu dado de Artes Marciais.\n• Passo do Vento: Ao usar qualquer um dos recursos Passo do Vento (Desengajar ou Correr), você também obter os benefícios do outro efeito.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo aumentado
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Você pode gastar 1 ponto de Ki para realizar dois ataques desarmados como uma ação bônus.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Rajada de Golpes
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando você usa Ataque Imprudente, uma de suas jogadas de ataque baseadas em Força que você faz antes do final do seu turno causa 1d10 de dano extra ao mesmo tipo causado pela arma ou Ataque Desarmado, e você também pode escolher um dos seguintes efeitos se acertar :\n• Golpe forte. O alvo é empurrado a 4,5 metros de distância de você.\n• Golpe nos isquiotibiais. A Velocidade do alvo é reduzida em 4,5 metros até o início do seu próximo turno.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe Separador
Feature/&PowerBarbarianBrutalStrikeTitle=Golpe Brutal
Feature/&PowerHelpDescription=Você pode ajudar uma criatura aliada a atacar uma criatura a até 1,5 metro de você. Você finta, distrai o alvo ou de alguma outra forma forma uma equipe para tornar o ataque do seu aliado mais eficaz. Se o seu aliado atacar o alvo antes do seu próximo turno, a primeira jogada de ataque será feita com vantagem.
Feature/&PowerHelpTitle=Ajuda
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Você pode gastar 1 ponto de Ki para realizar as ações Desengajar e Correr como uma ação bônus em seu turno, e sua distância de salto é dobrada nesse turno.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo do Vento
+Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode gastar 3 Pontos de Ki para se proteger perfeitamente contra danos por 1 minuto ou até ficar incapacitado. Durante esse tempo, você tem resistência a todos os danos, exceto dano de Força.
+Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior
Feature/&PowerRangerNatureShroudDescription=Você recorre aos poderes da natureza para se esconder brevemente. Como uma ação bônus, você pode tornar-se invisível magicamente, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar esse recurso um número de vezes igual ao seu bônus de proficiência e recupera todos os usos gastos ao terminar um descanso longo.
Feature/&PowerRangerNatureShroudTitle=Véu da Natureza
Feature/&PowerRogueCunningStrikeDescription=Você desenvolveu maneiras astutas de usar seu ataque furtivo. Ao causar dano de Ataque Furtivo, você pode abrir mão dos dados de Ataque Furtivo para adicionar efeitos adicionais de Ataque Astuto.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Possui tipos de armas Blade Mastery em mãos
Rules/&SituationalContext9001Format=Tem espada larga em mãos:
Rules/&SituationalContext9002Format=Possui Espada Longa em mãos:
Rules/&SituationalContext9003Format=Possui arma corpo a corpo na mão principal com a mão livre:
+Rules/&SituationalContext9004Format=Possui arma Pesada ou Versátil na mão principal com a mão livre:
Rules/&SituationalContext9005Format=Possui armas simples ou marciais em mãos:
Rules/&SituationalContext9007Format=Não está sob luz forte:
Rules/&SituationalContext9008Format=Está furioso e empunhando duplamente:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=É {0}
Tooltip/&PreReqIsNot=Não é {0}
Tooltip/&PreReqIsWithLevel=É {0} nível {1}
Tooltip/&PreReqLevelFormat=Nível mínimo de personagem {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Deve ter ataques extras
Tooltip/&PreReqMustKnow=Preciso saber {0}
Tooltip/&Tag9000Title=Efeito personalizado
Tooltip/&TagUnfinishedBusinessTitle=Negócios inacabados
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt
index 7c338bdf4a..9efaf3918c 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Permitir que feitiços com ação extra sejam lançados
ModUi/&AllowHornsOnAllRaces=Permitir buzinas em todas as corridas [os resultados podem parecer terríveis dependendo da raça, da cabeça e da buzina]
ModUi/&AllowMoreRealStateOnRestPanel=Permitir mais estado real no painel de descanso [ocultar ações após o descanso no painel anterior e recursos de recuperação no painel posterior]
ModUi/&AllowStackedMaterialComponent=Permitir componente de material empilhado [por exemplo Um diamante de 2x500gp equivale a um diamante de 1000gp]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Permitir seleção de alvo ao lançar o feitiço Chain Lightning
ModUi/&AllowUnmarkedSorcerers=Permitir Feiticeiro sem marcas de origem e tatuagens
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=A tecla ALT apenas destaca gadgets no campo de visão do grupo [somente masmorras personalizadas]
ModUi/&ArcaneShieldstaffOptions=Permitir que Cajado de Escudo Arcano seja sintonizado por qualquer classe
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Habilite diálogos de registro no console de
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Ativar o registro de referências inválidas em campanhas personalizadas
ModUi/&EnableMinInOutAttributes=+ Aplicar pontuações mínimas de habilidade nos pré-requisitos de entrada e saída
ModUi/&EnableMonkAbundantKi=Habilite Monge Ki Abundante no nível 2 [ganhe Ki adicional igual à metade do bônus de proficiência arredondado para cima]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Habilite Monge Corpo e Mente para substituir Eu Perfeito no nível 20
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Ative Monk Artes Marciais - Ataques Desarmados Bônus para não exigir uma ação de ataque antes do uso
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Ative Monk Flurry of Blows para não exigir uma ação de ataque antes do uso
ModUi/&EnableMonkFightingStyle=Habilite a escolha de Monk Estilo de Luta no nível 2
+ModUi/&EnableMonkHeightenedMetabolism=Ativar Monk Metabolismo Acelerado no nível 10 [Rajada de Golpes, Defesa do Paciente e Passo do Vento ganham benefícios adicionais]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Ative o Monk Movimento sem armadura aprimorado para se mover em superfícies verticais sem cair
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Habilite Monk Defesa Superior para substituir Corpo Vazio no nível 18
ModUi/&EnableMonkWeaponSpecialization=Habilite Monk Especialização em Armas nos níveis 2 e 11 [o tipo de arma selecionado torna-se uma arma de monge para você]
ModUi/&EnableMulticlass=Ativar multiclasse [Requer reinicialização]
+ModUi/&EnableOneDndHealingSpellsBuf=Ative o bônus de dados de cura OneDnd em Curar Feridas, Palavra de Cura, Curar Feridas em Massa e Palavra de Cura em Massa
ModUi/&EnablePcgRandom=Habilite um algoritmo gerador aleatório melhor [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Habilite o recurso Ranger Nature's Veil no nível 10 [como uma ação bônus, você pode ficar invisível magicamente até o início do próximo turno ]
ModUi/&EnableRejoinParty=Ative CTRL-SHIFT-(R) para voltar ao grupo em torno do herói ou líder selecionado se nenhum estiver selecionado [útil com grupos de 5 ou 6 ]
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt
index c8eb77b988..ab11a0c958 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=Bainha da Lâmina Crescente
Condition/&ConditionMindSpikeDescription=Subtrai 1d4 do próximo teste de resistência.
Condition/&ConditionMindSpikeTitle=Mente Fragmentada
Condition/&ConditionResonatingStrikeTitle=Ressonância
+Condition/&ConditionStarryWispDescription=Não é possível se beneficiar da condição Invisível.
+Condition/&ConditionStarryWispTitle=Fogo Estrelado
Condition/&ConditionSunlightBladeDescription=No 5º nível, os ataques desencadeados por este truque causam 1d8 de dano radiante adicional. O dano aumenta ainda mais em 1d8 no 11º e 17º níveis.
Condition/&ConditionSunlightBladeTitle=Queimadura de Sunlit Blade
Condition/&ConditionWrackDescription=Você não consegue executar a ação de avanço ou desengajamento.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=Você suga a vitalidade de uma criatura que voc
Spell/&EnduringStingTitle=Picada Sabotadora
Spell/&IlluminatingSphereDescription=Faz com que fontes de luz como tochas e lâmpadas de mana na área de efeito se acendam.
Spell/&IlluminatingSphereTitle=Esfera Iluminadora
+Spell/&InfestationDescription=Você faz com que uma nuvem de ácaros, pulgas e outros parasitas apareça momentaneamente em uma criatura que você possa ver dentro do alcance. O alvo deve ser bem-sucedido em um teste de resistência de Constituição ou sofrerá 1d6 de dano venenoso e se moverá 1,5 metro em uma direção aleatória.\nO dano deste feitiço aumenta em 1d6 quando você atinge o 5º nível (2d6), 11º nível (3d6) e 17º nível (4d6).
+Spell/&InfestationTitle=Infestação
+Spell/&LightningLureDescription=Você cria um raio de energia elétrica que atinge uma criatura de sua escolha que você possa ver a até 4,5 metros de você. O alvo deve ser bem sucedido em um teste de resistência de Força ou será puxado até 3 metros em linha reta em sua direção e então sofrerá 1d8 de dano elétrico.\nO dano deste feitiço aumenta em 1d8 quando você atinge o 5º nível (2d8), 11º nível ( 3d8) e 17º nível (4d8).
+Spell/&LightningLureTitle=Isca Relâmpago
Spell/&MindSpikeDescription=Você direciona um pico desorientador de energia psíquica na mente de uma criatura que você pode ver dentro do alcance. O alvo deve ser bem sucedido em um teste de resistência de Inteligência ou sofrerá 1d6 de dano psíquico e subtrairá 1d4 do próximo teste de resistência que fizer antes do final do seu próximo turno.
Spell/&MindSpikeTitle=Mente Fragmentada
Spell/&MinorLifestealDescription=Você drena energia vital de uma criatura inimiga próxima. Faça um ataque mágico corpo a corpo contra uma criatura a até 1,5 metro de você. Se acertar, a criatura sofre 1d6 de dano necrótico e você cura metade do dano causado (arredondado para baixo). Este feitiço não tem efeito em mortos-vivos e construtos. O dano do feitiço aumenta em um dado adicional no 5º, 11º e 17º níveis.
Spell/&MinorLifestealTitle=Roubo de Vida Menor
+Spell/&PrimalSavageryDescription=Você canaliza magia primordial para fazer com que seus dentes ou unhas fiquem afiados, prontos para desferir um ataque corrosivo. Faça um ataque mágico corpo a corpo contra uma criatura a até 1,5 metro de você. Se acertar, o alvo sofre 1d10 de dano ácido. \nO dano deste feitiço aumenta em 1d6 quando você atinge o 5º nível (2d6), o 11º nível (3d6) e o 17º nível (4d6).
+Spell/&PrimalSavageryTitle=Selvageria Primordial
Spell/&ResonatingStrikeDescription=Selecione uma criatura dentro do alcance corpo a corpo de você e uma criatura diferente que você possa ver a até 1,5 metro do alvo principal. Você faz um ataque corpo a corpo com a arma atual contra a primeira criatura. Se acertar, o alvo sofre os efeitos normais do ataque com arma e as chamas saltam para o segundo alvo, causando dano de fogo igual ao seu modificador de habilidade de conjuração.\nNo 5º nível, o ataque corpo a corpo causa 1d8 de dano de fogo extra ao alvo em um ataque. acertar, e o dano de fogo à segunda criatura aumenta para 1d8 + seu modificador de habilidade de conjuração. Ambas as jogadas de dano aumentam em 1d8 no 11º e 17º níveis.
Spell/&ResonatingStrikeTitle=Lâmina Chama Verde
+Spell/&StarryWispDescription=Você lança um grão de luz em uma criatura ou objeto dentro do alcance. Faça um ataque mágico à distância contra o alvo. Se acertar, o alvo sofre 1d8 de dano Radiante e, até o final do seu próximo turno, ele emite Luz Escura em um raio de 3 metros e não pode se beneficiar da condição Invisível.\nO dano deste feitiço aumenta em 1d8 quando você atinge os níveis 5 (2d8), 11 (3d8) e 17 (4d8).
+Spell/&StarryWispTitle=Fogo Estrelado
Spell/&SunlightBladeDescription=Faça um ataque corpo a corpo com uma arma. Se acertar, o alvo sofre os efeitos normais do ataque e é envolvido por uma energia radiante e brilhante, emitindo luz fraca durante o turno. O próximo ataque contra esta criatura enquanto ela estiver destacada é feito com vantagem.\nNo 5º nível, o ataque corpo a corpo causa 1d8 de dano radiante extra ao alvo. O dano aumenta em mais 1d8 no 11º nível e no 17º nível.
Spell/&SunlightBladeTitle=Lâmina Iluminada pelo Sol
Spell/&SwordStormDescription=Você cria um círculo momentâneo de lâminas espectrais que giram ao seu redor. Todas as outras criaturas a até 1,5 metro de você devem ser bem sucedidas em um teste de resistência de Destreza ou sofrerão 1d6 de dano energético.
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt
index 65d81c41d7..b15ccd3dc3 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=Você não pode realizar um
Condition/&ConditionPsychicWhipNoReactionTitle=Chicote Mental de Tasha
Feature/&AttackModifierShadowBlade0Description=Ataque mágico.
Feature/&AttackModifierShadowBladeNDescription=Ataque mágico, causa {0}d8 de dano psíquico adicional.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Você pode se mover pelo espaço de qualquer criatura
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Passeio Cinético
Feedback/&MirrorImageAttackerHasSense={0} tem {1} e ignora {2}
Feedback/&MirrorImageAttackerIsBlind={0} é {1} e ignora {2}
Feedback/&MirrorImageRetargetResult={0} terá como alvo {1}
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=Você tem {0}/{1} pontos de vi
Reaction/&CustomReactionWitherAndBloomReactDescription=Recupera pontos de vida.
Reaction/&CustomReactionWitherAndBloomReactTitle=Murchar e florescer
Reaction/&CustomReactionWitherAndBloomTitle=Murchar e florescer
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Escolha uma habilidade na qual você não tenha proficiência. Por 1 hora, você ganha proficiência na habilidade escolhida.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Ter proficiência na habilidade escolhida.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Conhecimento Emprestado
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Conhecimento Emprestado
Spell/&AganazzarScorcherDescription=Uma linha de chamas crepitantes de 9 metros de comprimento e 1,5 metro de largura emana de você na direção que você escolher. Cada criatura na linha deve fazer um teste de resistência de Destreza. Uma criatura sofre 3d10 de dano de fogo se falhar na resistência, ou metade desse dano se obtiver sucesso. Quando você conjura esta magia usando um espaço de magia de 3º nível ou superior, o dano aumenta em 1d10 para cada nível do espaço acima do 2º.
Spell/&AganazzarScorcherTitle=Incendiário de Aganazzar
Spell/&BindingIceDescription=Uma explosão de energia fria emana de você em um cone de 9 metros. Cada criatura naquela área deve fazer um teste de resistência de Constituição. Se falhar na resistência, uma criatura sofre 3d8 de dano de frio e é prejudicada por formações de gelo por 1 minuto, ou até usar uma ação para quebrar o gelo. Uma criatura prejudicada pelo gelo tem seu deslocamento reduzido a 0. Se obtiver sucesso, a criatura sofre metade do dano e não é prejudicada pelo gelo.
Spell/&BindingIceTitle=Gelo Vinculado de Rime
+Spell/&BorrowedKnowledgeDescription=Você recorre ao conhecimento de espíritos do passado. Escolha uma habilidade na qual você não tenha proficiência. Por 1 hora, você ganha proficiência na habilidade escolhida. A magia termina mais cedo se você lançá-la novamente.
+Spell/&BorrowedKnowledgeTitle=Conhecimento Emprestado
Spell/&CloudOfDaggersDescription=Você preenche o ar com adagas giratórias em um cubo de 1,5 metro de cada lado, centrado em um ponto que você escolher dentro do alcance. Uma criatura sofre 4d4 de dano cortante quando entra na área da magia pela primeira vez em um turno ou começa seu turno lá. Quando você conjura esta magia usando um espaço de magia de 3º nível ou superior, o dano aumenta em 2d4 para cada nível do espaço acima do 2º.
Spell/&CloudOfDaggersTitle=Nuvem de Adagas
Spell/&ColorBurstDescription=Explodir um cubo luminoso que cega brevemente qualquer um em um raio de 3 metros. 8d10 é quantos pontos de vida das criaturas que esta magia pode afetar.
Spell/&ColorBurstTitle=Explosão de cores
+Spell/&KineticJauntDescription=Você fortalece magicamente seu movimento com passos de dança, proporcionando os seguintes benefícios durante a duração:\n• Sua velocidade de caminhada aumenta em 3 metros.\n• Você não provoca ataques de oportunidade.\n• Você pode se mover. através do espaço de qualquer criatura.
+Spell/&KineticJauntTitle=Passeio Cinético
Spell/&MirrorImageDescription=Três duplicatas ilusórias de você mesmo aparecem em seu espaço. Até que o feitiço termine, cada vez que uma criatura atingir você com um ataque, jogue um d20 para determinar se o ataque tem como alvo uma de suas duplicatas.\nSe você tiver 3 duplicatas, deverá rolar um 6 ou mais para alterar o ataque. alvo para uma duplicata. Com 2 duplicatas, você deve tirar 8 ou mais. Com 1 duplicata, você deve tirar 11 ou mais.\nA classe de armadura de uma duplicata é igual a 10 + seu modificador de Destreza. Se um ataque atingir uma duplicata, a duplicata será destruída. Uma duplicata só pode ser destruída por um ataque que a atinja. Ignora todos os outros danos e efeitos. O feitiço termina quando todas as três duplicatas são destruídas.\nUma criatura não é afetada por este feitiço se estiver Cega ou tiver Visão Cega, Visão Verdadeira ou Tremor Sentido (não se aplica se você não tocar o solo).
Spell/&MirrorImageTitle=Imagem espelhada
Spell/&NoxiousSprayDescription=Você libera um spray de gases nocivos em um alvo dentro do alcance. Faça um ataque mágico à distância. Se acertar, o alvo sofre 4d6 de dano venenoso e deve ser bem sucedido em um teste de resistência de Constituição ou passará todo o seu próximo turno vomitando e arquejando, incapaz de se mover ou realizar ações. Constructos, elementais e mortos-vivos não são afetados por este feitiço. Quando você conjura esta magia usando um espaço de 3º nível ou superior, você pode escolher uma criatura adicional para cada nível do espaço acima do 2º.
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt
index c37479cd15..cc4500c419 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Você deve estar empunhando uma arma de longo alca
Spell/&FlameArrowsTitle=Flechas Flamejantes
Spell/&HungerOfTheVoidDescription=Você abre um portal para a escuridão entre as estrelas, uma região infestada de horrores desconhecidos. Uma esfera de escuridão e frio intenso com 6 metros de raio aparece, centrada em um ponto com alcance e durando enquanto durar. A área apaga a luz e as criaturas dentro dela ficam cegas. Qualquer criatura que comece seu turno na área sofre 2d6 de dano de frio. Qualquer criatura que termine seu turno na área deve ser bem sucedida em um teste de resistência de Destreza ou sofrerá 2d6 de dano ácido quando tentáculos leitosos e sobrenaturais se esfregarem contra ela.
Spell/&HungerOfTheVoidTitle=Fome de Hadar
+Spell/&IntellectFortressDescription=Durante a duração, você ou uma criatura voluntária que você possa ver dentro do alcance tem resistência a dano psíquico, bem como vantagem em testes de resistência de Inteligência, Sabedoria e Carisma. Quando você conjura esta magia usando um espaço de magia de 4º nível ou superior, você pode escolher uma criatura adicional dentro do alcance para cada nível do espaço acima do 3º.
+Spell/&IntellectFortressTitle=Fortaleza do Intelecto
Spell/&LightningArrowDescription=Na próxima vez que você fizer um ataque com arma de longo alcance durante a duração da magia, a munição da arma, ou a própria arma, se for uma arma de arremesso, se transforma em um raio. Faça a jogada de ataque normalmente. O alvo sofre 3d8 de dano elétrico se acertar, ou metade desse dano se errar. Quer você acerte ou erre, cada criatura a até 3 metros do alvo deve realizar um teste de resistência de Destreza. Cada uma dessas criaturas sofre 2d8 de dano elétrico se falhar na resistência, ou metade desse dano se obtiver sucesso. Quando você conjura esta magia usando um espaço de magia de 4º nível ou superior, o dano de ambos os efeitos da magia aumenta em 1d8 para cada nível do espaço acima do 3º.
Spell/&LightningArrowTitle=Flecha Relâmpago
+Spell/&PsionicBlastDescription=Você libera uma onda destrutiva de poder mental em um cone de 30 pés. Cada criatura na área deve fazer um teste de resistência de Destreza. Em uma falha na resistência, um alvo sofre 5d8 de dano de força, é empurrado 20 pés diretamente para longe de você e é derrubado. Em uma resistência bem-sucedida, um alvo sofre metade do dano e não é empurrado ou derrubado. Quando você conjura esta magia usando um espaço de magia de 4º nível ou superior, o dano aumenta em 1d8 para cada nível de espaço acima do 3º.
+Spell/&PsionicBlastTitle=Explosão Psiônica
Spell/&PulseWaveDescription=Afaste os inimigos com intensa pressão gravitacional.
Spell/&PulseWaveTitle=Onda de pulso
Spell/&SpiritShroudDamageColdDescription=Causa dano adicional de frio.
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt
index d4557d01fb..6bd3a5c909 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Você assume a forma de uma criatura diferente dur
Spell/&ShapechangeTitle=Mudança de forma
Spell/&TimeStopDescription=Você interrompe brevemente o fluxo do tempo para todos, menos para você. Nenhum tempo passa para outras criaturas, enquanto você realiza 1d4 + 1 turnos consecutivos, durante os quais você pode usar ações e se mover normalmente.
Spell/&TimeStopTitle=Parar o tempo
-Spell/&WeirdDescription=Baseando-se nos medos mais profundos de um grupo de criaturas, você cria criaturas ilusórias em suas mentes, visíveis apenas para elas. Cada criatura em uma esfera de 9 metros de raio centrada em um ponto à sua escolha dentro do alcance deve realizar um teste de resistência de Sabedoria. Se falhar na resistência, a criatura fica assustada durante o período. A ilusão invoca os medos mais profundos da criatura, manifestando os seus piores pesadelos como uma ameaça implacável. No final de cada turno da criatura assustada, ela deve ser bem sucedida em um teste de resistência de Sabedoria ou sofrerá 4d10 de dano psíquico. Se obtiver sucesso, a magia termina para aquela criatura.
+Spell/&WeirdDescription=Baseando-se nos medos mais profundos de um grupo de criaturas, você cria criaturas ilusórias em suas mentes, visíveis apenas para elas. Cada inimigo em uma esfera de 9 metros de raio centrada em um ponto de sua escolha dentro do alcance deve realizar um teste de resistência de Sabedoria. Se falhar na resistência, a criatura fica assustada durante o período. A ilusão invoca os medos mais profundos da criatura, manifestando os seus piores pesadelos como uma ameaça implacável. No final de cada turno da criatura assustada, ela deve ser bem sucedida em um teste de resistência de Sabedoria ou sofrerá 4d10 de dano psíquico. Se obtiver sucesso, a magia termina para aquela criatura.
Spell/&WeirdTitle=Esquisito
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/InnovationVivisectionist-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/InnovationVivisectionist-pt-BR.txt
index ef994d5eda..26d7b42e16 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/InnovationVivisectionist-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/InnovationVivisectionist-pt-BR.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Uma
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Precisão Médica
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Aprenda e esteja sempre preparado:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Feitiços Viviseccionistas
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Ao lançar um feitiço de cura, seu lançamento mínimo de dados de cura é 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Sempre que você curar outra criatura, você trata todas as jogadas 1 como 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=Devido à Cirurgia Estável, {0} força o dado {1} a 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Cirurgia Estável
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Você pode realizar uma ação bônus para usar Restauração Menor ou Remover Maldição em um aliado em um raio de 1,5 metro. Você pode fazer isso um número de vezes igual ao seu bônus de proficiência. Todos os usos recarregam após um longo descanso.
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronArchfey-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronArchfey-pt-BR.txt
new file mode 100644
index 0000000000..3e41c27ede
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronArchfey-pt-BR.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Você é imune a ser enfeitiçado e, quando outra criatura tentar enfeitiçá-lo, você pode usar sua reação para tentar devolver o encanto àquela criatura. A criatura deve ser bem sucedida em um teste de resistência de Sabedoria contra a CD de resistência do seu feitiço de bruxo ou ficará enfeitiçada por você por 1 minuto ou até que a criatura sofra algum dano.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Defesas Sedutoras
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Com uma ação, escolha uma criatura que você possa ver a até 18 metros de você. Ele deve fazer um teste de resistência de Sabedoria contra a CD de salvamento do seu feitiço de bruxo. Se falhar no salvamento, ele ficará encantado por você por 1 minuto. Este efeito termina mais cedo se a criatura sofrer algum dano. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Delírio Sombrio: Encantado
+Feature/&PowerArchfeyDarkDeliriumDescription=Com uma ação, escolha uma criatura que você possa ver a até 18 metros de você. Ele deve fazer um teste de resistência de Sabedoria contra a CD de salvamento do seu feitiço de bruxo. Se falhar, ele fica encantado ou assustado por você (sua escolha) por 1 minuto. Este efeito termina mais cedo se a criatura sofrer algum dano. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Com uma ação, escolha uma criatura que você possa ver a até 18 metros de você. Ele deve fazer um teste de resistência de Sabedoria contra a CD de salvamento do seu feitiço de bruxo. Se falhar no salvamento, ele ficará assustado com você por 1 minuto. Este efeito termina mais cedo se a criatura sofrer algum dano. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Delírio Sombrio: Assustado
+Feature/&PowerArchfeyDarkDeliriumTitle=Delírio Sombrio
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Como uma ação, você pode fazer com que cada criatura em um cone de 4,5 metros faça um teste de resistência de Sabedoria contra a CD de salvamento de sua magia de bruxo. As criaturas que falham nos testes de resistência ficam todas encantadas por você até o final do seu próximo turno. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Presença Feérica: Encantada
+Feature/&PowerArchfeyFeyPresenceDescription=Como uma ação, você pode fazer com que cada criatura em um cone de 4,5 metros faça um teste de resistência de Sabedoria contra a CD de salvamento de sua magia de bruxo. As criaturas que falham nos testes de resistência ficam todas encantadas ou assustadas por você (sua escolha) até o final do seu próximo turno. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Como uma ação, você pode fazer com que cada criatura em um cone de 15 pés faça um teste de resistência de Sabedoria contra sua CD de magia de bruxo. As criaturas que falharem em seus testes de resistência ficarão todas assustadas por você até o final do seu próximo turno. Depois de usar essa habilidade, você não poderá usá-la novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Presença Fey: Assustada
+Feature/&PowerArchfeyFeyPresenceTitle=Presença Feérica
+Feature/&PowerArchfeyMistyEscapeDescription=Quando você é atingido, você pode usar sua reação para ficar invisível e se teletransportar até 18 metros para um espaço desocupado que você possa ver. Você permanece invisível até o início do seu próximo turno ou até atacar ou lançar um feitiço. Depois de usar esse recurso, você não poderá usá-lo novamente até terminar um descanso curto ou longo.
+Feature/&PowerArchfeyMistyEscapeTitle=Fuga Enevoada
+Reaction/&CustomReactionMistyEscapeDescription=Você foi atingido. Você pode usar sua reação para ficar invisível e se teletransportar até 18 metros para um espaço desocupado que você possa ver.
+Reaction/&CustomReactionMistyEscapeReactDescription=Torne-se invisível e teletransporte-se até 18 metros.
+Reaction/&CustomReactionMistyEscapeReactTitle=Fuga Enevoada
+Reaction/&CustomReactionMistyEscapeTitle=Fuga Enevoada
+Reaction/&UseBeguilingDefensesDescription=Um inimigo tentou encantar você. Você pode usar sua reação para tentar reverter o feitiço.
+Reaction/&UseBeguilingDefensesReactDescription=Vire o charme de volta.
+Reaction/&UseBeguilingDefensesReactTitle=Defesas Sedutoras
+Reaction/&UseBeguilingDefensesTitle=Defesas Sedutoras
+Subclass/&PatronArchfeyDescription=Seu patrono é um senhor ou senhora das fadas, uma criatura lendária que guarda segredos que foram esquecidos antes do nascimento das raças mortais. As motivações deste ser são muitas vezes inescrutáveis, e às vezes caprichosas, e podem envolver uma luta por maior poder mágico ou a resolução de ressentimentos antigos.
+Subclass/&PatronArchfeyTitle=A arquifada
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WayOfTheStormSoul-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WayOfTheStormSoul-pt-BR.txt
new file mode 100644
index 0000000000..a28e7b1ffb
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WayOfTheStormSoul-pt-BR.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Esta marca pode explodir a qualquer momento e causar 5D10 de dano trovejante.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Marca da Tempestade
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Sempre que você usa sua Rajada de Golpes, você também ganha os benefícios da ação de desengajamento. Os ataques bônus fornecidos por ele causam dano elétrico extra igual ao seu dado de artes marciais.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Discípulo das Tempestades
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Sempre que você causar dano a uma criatura com uma arma de monge, ataque desarmado ou truque de Isca Relâmpago, você marca aquela criatura com energias condutoras persistentes por 1 minuto. Você pode usar sua ação e gastar 3 ki para consumir a marca em cada criatura e forçar um teste de resistência de Destreza nelas (CD = 8 + bônus de proficiência + modificador de Sabedoria). Se falhar no teste de resistência, cada criatura recebe 5d10 de dano elétrico (exceto metade).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Olho da tempestade
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Você ganha resistência a danos elétricos e pode substituir qualquer um de seus ataques de ação principais para lançar o truque Isca Relâmpago sem nenhum componente usando sua Sabedoria como modificador de lançamento de feitiços.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Guerreiro Relâmpago
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Você pode substituir qualquer um de seus ataques de ação principais para lançar o truque Lightning Lure sem nenhum componente usando sua Sabedoria como modificador de lançamento de feitiços.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Isca Relâmpago
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Você pode gastar 1 ki para substituir um dos ataques bônus fornecidos por Flurry of Blows para, em vez disso, atacar todas as criaturas inimigas a até 1,5 metro de você com ele.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Fúria da Tempestade
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Discípulo das Tempestades!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} atinge {1} com um raio (+{2})
+Subclass/&WayOfTheStormSoulDescription=Monges do Caminho da Alma da Tempestade vivem nos topos das montanhas mais altas de Solasta, sintonizando-se com as energias das tempestades poderosas e aprendendo a canalizar o poder dos raios para o seu ser. Esses artistas marciais usam suas disciplinas únicas para se tornarem uma tempestade desenfreada, manobrando sem esforço o campo de batalha, avançando de um inimigo para outro e desencadeando incontáveis ataques infundidos com raios sobre eles.
+Subclass/&WayOfTheStormSoulTitle=Caminho da Alma Tempestuosa
diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WizardWarMagic-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WizardWarMagic-pt-BR.txt
index 2f34a7130a..3ad4f2c815 100644
--- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WizardWarMagic-pt-BR.txt
+++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/WizardWarMagic-pt-BR.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=A magia que você canaliza ajuda
Feature/&FeatureWarMagicDurableMagicTitle=Magia Durável
Feature/&PowerWarMagicDeflectionShroudDescription=Sua Deflexão Arcana fica infundida com magia mortal. Ao usar seu recurso Deflexão Arcana, você pode fazer com que a energia mágica saia de você. Até três criaturas mais próximas a até 18 metros de você sofrem dano de força igual à metade do seu nível de mago.
Feature/&PowerWarMagicDeflectionShroudTitle=Mortalha de Deflexão
-Feature/&PowerWarMagicSurgeDescription=Você tem um número de surtos de energia igual ao seu modificador de Inteligência (mínimo de um). Sempre que você termina um feitiço com Contrafeitiço, você ganha um aumento de energia. Uma vez por turno, quando você causar dano a uma criatura ou objeto com uma magia de mago, você pode gastar um aumento de poder para causar dano de força extra em uma jogada de dano daquela magia. O dano extra é igual ao seu nível de mago.
+Feature/&PowerWarMagicSurgeDescription=Você tem um número de surtos de energia igual ao seu modificador de Inteligência (mínimo de um) por descanso longo. Sempre que você finaliza com sucesso um feitiço com Contrafeitiço, você recupera um aumento de poder. Uma vez por turno, quando você causar dano a uma criatura ou objeto com uma magia de mago, você pode gastar um aumento de poder para causar dano de força extra em uma jogada de dano daquela magia. O dano extra é igual ao seu nível de mago.
Feature/&PowerWarMagicSurgeTitle=Oscilação de energia
Feedback/&ArcaneDeflectionAttackRoll={0} usa {1} para subtrair o modificador de Inteligência ({2}) da jogada de ataque ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} usa {1} para adicionar o modificador de Inteligência ({2}) à jogada de salvamento ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Feats/Group-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Feats/Group-ru.txt
index 577063ca62..d6f59b5395 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Feats/Group-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Feats/Group-ru.txt
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=Увеличьте значение о
Feat/&FeatGroupVerdantTouchedTitle=Затронутый Зеленью
Feat/&FeatGroupWeaponMasterDescription=Вы знаете как пользоваться множеством видов оружия и получаете следующие преимущества:\n• Увеличьте значение Силы или Ловкости на 1 при максимуме 20.\n• Вы получаете владение четырьмя выбранными видами оружия. Выбранное оружие должно быть или простым, или воинским.
Feat/&FeatGroupWeaponMasterTitle=Мастер оружия
+Feat/&FeatGroupWhirlWindAttackDescription=Вы становитесь мастером кружащейся смерти, получая следующие преимущества:\n• Увеличьте значение Силы или Ловкости на 1 при максимуме 20.\n• Один раз в свой ход, когда вы совершаете действие Атака, держа в руках двуручный меч, двуручный топор или двуручный молот, вы можете заменить одну из атак на Ураганную атаку. Ураганная атака производит один бросок атаки по всем враждебным существам в пределах 5 футов от вас, но не добавляет ваш модификатор характеристики к наносимому урону (если только этот модификатор не отрицательный).
+Feat/&FeatGroupWhirlWindAttackTitle=Ураганная атака
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Feats/MeleeCombat-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Feats/MeleeCombat-ru.txt
index 5f3211008f..e2da117ff3 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Feats/MeleeCombat-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Feats/MeleeCombat-ru.txt
@@ -2,6 +2,8 @@ Condition/&ConditionFeatCleavingAttackFinishDescription=Пускай подхо
Condition/&ConditionFeatCleavingAttackFinishTitle=Мастер большого оружия
Condition/&ConditionFeatCrusherCriticalHitDescription=Вас сокрушили критическим ударом, и атаки по вам совершаются с преимуществом.
Condition/&ConditionFeatCrusherCriticalHitTitle=Сокрушён
+Condition/&ConditionFeatGreatWeaponDefenseDescription=Вы совершаете все броски атаки с помехой по источнику, пока находитесь в пределах 5 футов от него.
+Condition/&ConditionFeatGreatWeaponDefenseTitle=Целенаправленная защита
Condition/&ConditionFeatPiercerNonMagicDescription=Когда вы попадаете по существу атакой, которая наносит колющий урон, вы можете перебросить одну из костей урона, на которой выпало 1, и должны использовать новый результат.
Condition/&ConditionFeatPiercerNonMagicTitle=Пронзатель
Condition/&ConditionFeatSlasherCriticalHitDescription=Вас разрубили критическим ударом, и ваши атаки совершаются с помехой.
@@ -28,6 +30,8 @@ Feat/&FeatFellHandedDescription=Вы мастер в использовании
Feat/&FeatFellHandedTitle=Разящая рука
Feat/&FeatFencerDescription=Если в свой ход вы совершаете действие Атака, когда держите только одно одноручное или универсальное оружие ближнего боя, а также не используете щита, вы можете использовать бонусное действие для атаки оружием, которое держите в руках, добавляя к наносимому урону ваш модификатор характеристики.
Feat/&FeatFencerTitle=Фехтовальщик
+Feat/&FeatGreatWeaponDefenseDescription=Вы умело используете размер своего оружия, чтобы парировать удары. Пока вы держите в руках тяжёлое или универсальное рукопашное оружие и не носите другое оружие или щит, вы получаете следующие преимущества:\n• Пока оружие у вас в руках, ваш класс доспеха увеличивается на 1.\n• Вы можете заменить одну из атак основным действием, чтобы выбрать целью существо в пределах 5 футов от вас. Это существо совершает с помехой все атаки против вас до начала вашего следующего хода, пока вы находитесь рядом с этим существом или возьмёте в руки другое оружие или щит.
+Feat/&FeatGreatWeaponDefenseTitle=Защита с большим оружием
Feat/&FeatHammerThePointDescription=Вы умеете концентрировать и сосредотачивать внимание на одной точке. После того, как вы совершаете бросок атаки по цели, получите +1 к броскам атаки и урона по этой цели до конца вашего хода [складывается].
Feat/&FeatHammerThePointTitle=Забить в точку
Feat/&FeatLongswordFinesseDescription=Вы потомок мастера длинного меча, и кое-что из этого мастерства передалось вам. Вы получаете следующие преимущества:\n• Увеличьте значение вашей Ловкости на 1 при максимуме 20.\n• Пока вы держите длинный меч, вы получаете бонус +1 к классу доспеха.\n• Длинный меч имеет свойство "фехтовальное", пока вы держите его.
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=Вы узнали, где необходимо
Feat/&FeatSlasherStrTitle=Рубака [СИЛ]
Feat/&FeatSpearMasteryDescription=Хотя копье простое оружие, вы овладели им в совершенстве:\n• Вы получаете бонус +1 к броскам атаки, когда используете это оружие, также его урон меняется с 1к6 на 1к8, и с 1к8 на 1к10, если вы держите его двумя руками.\n• Бонусным действием вы можете подготовить своё копьё для перехвата приближающихся противников. Если в свой следующий ход оно приблизится на расстояние удара вашего копья, вы можете реакцией совершить по нему рукопашную атаку копьём и добавить дополнительную кость урона, если эта атака попадает в цель.\n• Бонусным действием в свой ход вы можете увеличить досягаемость удара копьём на 5 футов до окончания этого хода.
Feat/&FeatSpearMasteryTitle=Мастер владения копьём
+Feat/&FeatWhirlWindAttackDexDescription=Вы становитесь мастером кружащейся смерти, получая следующие преимущества:\n• Увеличьте значение Ловкости на 1 при максимуме 20.\n• Один раз в свой ход, когда вы совершаете действие Атака, держа в руках двуручный меч, двуручный топор или двуручный молот, вы можете заменить одну из атак на Ураганную атаку. Ураганная атака производит один бросок атаки по всем враждебным существам в пределах 5 футов от вас, но не добавляет ваш модификатор характеристики к наносимому урону (если только этот модификатор не отрицательный).
+Feat/&FeatWhirlWindAttackDexTitle=Ураганная атака [ЛОВ]
+Feat/&FeatWhirlWindAttackStrDescription=Вы становитесь мастером кружащейся смерти, получая следующие преимущества:\n• Увеличьте значение Силы на 1 при максимуме 20.\n• Один раз в свой ход, когда вы совершаете действие Атака, держа в руках двуручный меч, двуручный топор или двуручный молот, вы можете заменить одну из атак на Ураганную атаку. Ураганная атака производит один бросок атаки по всем враждебным существам в пределах 5 футов от вас, но не добавляет ваш модификатор характеристики к наносимому урону (если только этот модификатор не отрицательный).
+Feat/&FeatWhirlWindAttackStrTitle=Ураганная атака [СИЛ]
Feature/&AttackModifierFeatSpearMasteryDescription=Вы получаете бонус +1 к броскам атаки, когда используете это оружие, также его урон меняется с 1к6 на 1к8, и с 1к8 на 1к10, если вы держите его двумя руками.
Feature/&AttackModifierFeatSpearMasteryTitle=Мастер владения копьём
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=Пока вы держите длинный меч, вы получаете бонус +1 к классу доспеха.
@@ -66,6 +74,10 @@ Feature/&PowerFeatSpearMasteryChargeDescription=Бонусным действи
Feature/&PowerFeatSpearMasteryChargeTitle=Копьё наизготовку
Feature/&PowerFeatSpearMasteryReachDescription=Вы можете увеличить досягаемость удара копьём на 5 футов до окончания этого хода.
Feature/&PowerFeatSpearMasteryReachTitle=Досягаемость копья
+Feature/&PowerGreatWeaponDefenseDescription=Вы можете заменить одну из атак основным действием, чтобы выбрать целью существо в пределах 5 футов от вас. Это существо совершает с помехой все атаки против вас до начала вашего следующего хода, пока вы находитесь рядом с этим существом или возьмёте в руки другое оружие или щит.
+Feature/&PowerGreatWeaponDefenseTitle=Защита с большим оружием
+Feature/&PowerWhirlWindAttackDescription=Один раз в свой ход, когда вы совершаете действие Атака, держа в руках двуручный меч, двуручный топор или двуручный молот, вы можете заменить одну из атак на Ураганную атаку. Ураганная атака производит один бросок атаки по всем враждебным существам в пределах 5 футов от вас, но не добавляет ваш модификатор характеристики к наносимому урону (если только этот модификатор не отрицательный).
+Feature/&PowerWhirlWindAttackTitle=Ураганная атака
Feedback/&AdditionalDamageChargerFormat=Налётчик!
Feedback/&AdditionalDamageChargerLine={0} бросается на {1} и наносит дополнительно {2} урона!
Feedback/&AdditionalDamageCrusherFormat=Крушитель!
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt
index 335b00f91e..09997935fc 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=Ослеплён Зловонн
Condition/&ConditionBlindedExtendedDescription=Существо ослеплено. Броски атаки по существу совершаются с преимуществом, а существо совершает броски атаки с помехой.
Condition/&ConditionLightlyObscuredDescription=Существо в слабо заслонённой местности. Помеха на проверки Мудрости (Восприятие).
Condition/&ConditionLightlyObscuredTitle=Слабо заслонённая местность
+Condition/&ConditionMonkSuperiorDefenseDescription=Если вы не недееспособны, вы обладаете сопротивлением к любому урону, кроме урона силовым полем.
+Condition/&ConditionMonkSuperiorDefenseTitle=Превосходная защита
Condition/&ConditionRogueCunningStrikeDisarmedTitle=Разоружён
Condition/&ConditionRogueCunningStrikeWithdrawTitle=Отступающий
Condition/&ConditionRogueDeviousStrikeDazedDescription=Вы не можете совершать реакции или бонусные действия, а также должны выбрать что-то одно - перемещаться или совершать другие действия в свой ход.
@@ -78,6 +80,10 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=Вы можете перебросить проваленный спасбросок с бонусом, равным вашему уровню Воина, и должны использовать новый результат. После этого вы можете повторно использовать это умение только после завершения продолжительного отдыха.
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=Расширенные заклинания
+Feature/&FeatureMonkBodyAndMindDescription=Вы развили свои тело и разум до невероятных высот. Ваши значения Ловкости и Мудрости увеличиваются на 4.
+Feature/&FeatureMonkBodyAndMindTitle=Тело и разум
+Feature/&FeatureMonkHeightenedMetabolismDescription=Ваши тренировки вывели ваши тело и разум на новый уровень. Ваши умения Шквал ударов, Терпеливая оборона и Поступь ветра получают следующие преимущества:\n• Шквал ударов: Когда вы используете Шквал ударов, вы наносите три безоружных удара вместо двух.\n• Терпеливая оборона: Когда вы используете Терпеливую оборону, вы получаете количество временных хитов, равное броску двух ваших костей боевых искусств.\n• Поступь ветра: Когда вы используете одно из действий с помощью Поступи ветра (Отход или Рывок), вы также получаете преимущества другого из них.
+Feature/&FeatureMonkHeightenedMetabolismTitle=Повышенный метаболизм
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Вы можете потратить 1 очко ци, чтобы бонусным действием совершить два безоружных удара.
Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=Шквал ударов
Feature/&FeatureSetBarbarianBrutalStrikeDescription=Когда вы используете Безрассудную атаку, один из ваших бросков атаки, основанный на Силе, который вы совершаете до конца хода, наносит дополнительно 1d10 урона того же типа, что и оружие или Безоружный удар, вы также можете выбрать один из следующих эффектов, если попадаете:\n• Сильный удар. Цель отталкивается от вас на 15 футов.\n• Удар по сухожилиям. Скорость цели уменьшается на 15 футов до начала вашего следующего хода.
@@ -133,6 +139,10 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Раскалывающий
Feature/&PowerBarbarianBrutalStrikeTitle=Жестокий удар
Feature/&PowerHelpDescription=Вы можете помочь дружественному существу атаковать другое существо, находящееся в пределах 5 футов от вас. Вы совершаете финт, отвлекаете цель или каким-то другим образом делаете атаку союзника более эффективной. Если ваш союзник атакует цель до начала вашего следующего хода, первый бросок атаки совершается с преимуществом.
Feature/&PowerHelpTitle=Помощь
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Вы можете потратить 1 очко ци в свой ход, чтобы получить бонусным действием преимущества от действий Отход и Рывок одновременно. В этот ход дальность ваших прыжков удваивается.
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Поступь ветра
+Feature/&PowerMonkSuperiorDefenseDescription=Свободным действием вы можете потратить 3 очка ци, чтобы надёжно защитить себя от урона на 1 минуту или до тех пор, пока не станете недееспособны. В течение этого времени вы обладаете сопротивлением ко всему урону, кроме урона силовым полем.
+Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита
Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему бонусу мастерства. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха.
Feature/&PowerRangerNatureShroudTitle=Природная завеса
Feature/&PowerRogueCunningStrikeDescription=Вы разработали хитрые способы использования Скрытой атаки. Когда вы наносите урон Скрытой атакой, вы можете отказаться от костей Скрытой атаки, чтобы добавить вместо этого дополнительные эффекты Хитрого удара.
@@ -242,6 +252,7 @@ Rules/&SituationalContext9000Format=Держит в руках тип оружи
Rules/&SituationalContext9001Format=Держит в руках двуручный меч:
Rules/&SituationalContext9002Format=Держит в руках длинный меч:
Rules/&SituationalContext9003Format=Держит оружие ближнего боя в основной руке, вторая рука свободна:
+Rules/&SituationalContext9004Format=Держит тяжёлое или универсальное оружие в основной руке, вторая рука свободна:
Rules/&SituationalContext9005Format=Держит в руках простое или боевое оружие:
Rules/&SituationalContext9007Format=Не на ярком свету:
Rules/&SituationalContext9008Format=В ярости и с оружем в обеих руках:
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=Это {0}
Tooltip/&PreReqIsNot=Это не {0}
Tooltip/&PreReqIsWithLevel=Это {0} уровня {1}
Tooltip/&PreReqLevelFormat=Минимальный уровень персонажа {0}
+Tooltip/&PreReqMustHaveExtraAttacks=Должен иметь дополнительные атаки
Tooltip/&PreReqMustKnow=Должен знать {0}
Tooltip/&Tag9000Title=Кастомный эффект
Tooltip/&TagUnfinishedBusinessTitle=Неоконченное Дело
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt
index cf92badf87..8d3408f654 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=Позволять накладывать заклин
ModUi/&AllowHornsOnAllRaces=Разрешить всем расам носить рога [результат может быть ужасным, в зависимости от расы, головы и рогов]
ModUi/&AllowMoreRealStateOnRestPanel=Разрешить более реальные состояния на панели отдыха [скрыть действия после отдыха на панели ДО и восстанавливаемые способности на панели ПОСЛЕ]
ModUi/&AllowStackedMaterialComponent=Позволить стакаться материальным компонентам [например, 2 бриллианта стоимостью 500 ЗМ равны одному стоимостью 1000 ЗМ]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=Позволить выбирать цели при накладывании заклинания Цепная молния
ModUi/&AllowUnmarkedSorcerers=Разрешить Чародеев без родовых отметин и татуировок
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=Клавиша ALT подсвечивает только предметы в зоне видимости группы [только для кастомных подземелий]
ModUi/&ArcaneShieldstaffOptions=Позволить настраиваться любому классу на Магический защитный посох
@@ -137,12 +138,16 @@ ModUi/&EnableLogDialoguesToConsole=Включить лог диалогов в
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=Включить лог неверных ссылок в пользовательских кампаниях
ModUi/&EnableMinInOutAttributes=+ Принудительно устанавливать минимальные характеристики для соответствия требованиям
ModUi/&EnableMonkAbundantKi=Включить Монаху Обильное Ци на уровне 2 [вы получаете дополнительные очки Ци, равные половине бонуса мастерства, округлённого в большую сторону]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=Включить Монахам Тело и разум вместо Совершенства на уровне 20
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=Позволить Монаху использовать Боевые искусства - бонусный безоружный удар без требования тратить действие на атаку
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=Позволить Монаху использовать Шквал ударов без требования тратить действие на атаку
ModUi/&EnableMonkFightingStyle=Включить Монахам выбор Боевого стиля на уровне 2
+ModUi/&EnableMonkHeightenedMetabolism=Включить Монахам Повышенный метаболизм на уровне 10 [Шквал ударов, Терпеливая оборона и Поступь ветра получают дополнительные преимущества]
ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=Позволить Монаху использовать Улучшенное движение без доспехов для перемещения по вертикальным поверхностям, не падая во время движения
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=Включить Монахам Превосходную защиту вместо Пустого тела на уровне 18
ModUi/&EnableMonkWeaponSpecialization=Включить Специализацию на оружии для Монаха на уровнях 2 и 11 [оружие выбранного типа становится для вас оружием монаха]
ModUi/&EnableMulticlass=Включить мультиклассирование [Необходим перезапуск]
+ModUi/&EnableOneDndHealingSpellsBuf=Включить улучшение костей лечения из OneDnd для Лечения ран, Лечащего слова, Множественного лечения ран и Множественного лечащего слова
ModUi/&EnablePcgRandom=Включить улучшенный алгоритм генерации случайных чисел [https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=Включить умение Следопыта Природная завеса на уровне 10 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода]
ModUi/&EnableRejoinParty=Включить принудительную группировку персонажей вокруг выбранного героя или лидера, если никто не выбран, по нажатию CTRL-SHIFT-(R) [полезно в пати из 5 или 6 персонажей]
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt
index da118b35e8..8ef0a54556 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=Покров Громового клинк
Condition/&ConditionMindSpikeDescription=Вычитает 1d4 из следующего спасброска.
Condition/&ConditionMindSpikeTitle=Расщепление разума
Condition/&ConditionResonatingStrikeTitle=Резонанс
+Condition/&ConditionStarryWispDescription=Не получает преимущества от состояния Невидимости
+Condition/&ConditionStarryWispTitle=Отблеск звезды
Condition/&ConditionSunlightBladeDescription=На 5-м уровне атаки, вызванные этим заговором, наносят дополнительные 1d8 урона излучением. Урон также дополнительно увеличивается на 1d8 на 11-м и 17-м уровнях.
Condition/&ConditionSunlightBladeTitle=Солнечный ожог
Condition/&ConditionWrackDescription=Вы не можете совершать действия Рывок или Отход.
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=Вы вытягиваете жизненные
Spell/&EnduringStingTitle=Иссушающий укол
Spell/&IlluminatingSphereDescription=Заставляет источники света, такие как факелы и лампы маны, загораться в зоне действия эффекта.
Spell/&IlluminatingSphereTitle=Освещающая сфера
+Spell/&InfestationDescription=Вы вызываете клещей, блох и других паразитов, которые мгновенно обволакивают одно существо, которое вы можете видеть в пределах дистанции. Цель должна преуспеть в спасброске Телосложения, иначе получит 1d6 урона ядом и переместится на 5 футов в случайном направлении.\nУрон заклинания увеличивается на 1d6, когда вы достигаете 5-го уровня (2d6), 11-го уровня (3d6) и 17-го уровня (4d6).
+Spell/&InfestationTitle=Нашествие
+Spell/&LightningLureDescription=Вы создаёте хлыст из молний, поражающий одно существо по вашему выбору, которое вы можете видеть в пределах 15 футов от вас. Цель должна преуспеть в спасброске Силы, иначе будет притянута на 10 футов по прямой к вам, после чего получит 1d8 урона электричеством.\nУрон этого заклинания увеличивается на 1d8, когда вы достигаете 5-го уровня (2d8), 11-го уровня (3d8) и 17-го уровня (4d8).
+Spell/&LightningLureTitle=Лассо молнии
Spell/&MindSpikeDescription=Вы отправляете дезориентирующий луч психической энергии в разум одного существа, которое видите в пределах дистанции. Цель должна преуспеть в спасброске Интеллекта, иначе получит 1d6 урона психической энергией и вычтет 1d4 из следующего спасброска, совершаемого ею до конца вашего следующего хода.
Spell/&MindSpikeTitle=Расщепление разума
Spell/&MinorLifestealDescription=Вы вытягиваете жизненную энергию из ближайшего враждебного существа. Совершите рукопашную атаку заклинанием по существу в пределах 5 футов от вас. Цель получает 1d6 некротического урона при попадании, а вы исцеляете количество хитов, равное половине нанесённого урона (с округлением вниз). Это заклинание не оказывает эффекта на нежить и конструкты. Урон заклинания увеличивается на одну дополнительную кость на уровнях 5, 11 и 17.
Spell/&MinorLifestealTitle=Малое похищение жизни
+Spell/&PrimalSavageryDescription=Вы направляете первобытную магию, затачивающую ваши зубы или ногти, и готовитесь к агрессивной атаке. Совершите рукопашную атаку заклинанием против одного существа в пределах 5 футов от вас. При попадании цель получает 1d10 урона кислотой.\nУрон заклинания увеличивается на 1d10, когда вы достигаете 5-го уровня (2d10), 11-го уровня (3d10) и 17-го уровня (4d10).
+Spell/&PrimalSavageryTitle=Первобытная дикость
Spell/&ResonatingStrikeDescription=Выберите одно существо на дистанции ближнего боя от вас, а также другое существо, которое вы можете видеть, в радиусе 5 футов от основной цели. Вы совершаете рукопашную атаку оружием по первому существу. При попадании цель подвергается обычному эффекту атаки этим оружием, и зелёное пламя перекидывается на вторую цель, нанося урон огнём, равный вашему модификатору заклинательной характеристики.\nНа 5-м уровне рукопашная атака наносит дополнительно 1d8 урона огнём цели при попадании, а урон огнём второму существу увеличивается до 1d8 + ваш модификатор заклинательной характеристики. Оба броска урона получают дополнительно 1d8 на 11-м и 17-м уровнях.
Spell/&ResonatingStrikeTitle=Клинок зелёного пламени
+Spell/&StarryWispDescription=Вы запускаете частицу света в одно существо или объект в радиусе действия. Совершите дальнобойную атаку заклинанием по цели. При попадании цель получает 1d8 урона излучением, до конца вашего следующего хода испускает тусклый свет в радиусе 10 футов и не получает преимущества от состояния Невидимости.\nУрон этого заклинания увеличивается на 1d8, когда вы достигаете уровней 5 (2d8), 11 (3d8) и 17 (4d8).
+Spell/&StarryWispTitle=Отблеск звезды
Spell/&SunlightBladeDescription=Совершите рукопашную атаку оружием. При попадании цель подвергается обычному эффекту атаки этим оружием, и окутывается сияющей энергией излучения, источая тусклый свет в течение хода. Следующая атака против этого существа, пока оно подсвечено, совершается с преимуществом.\nНа 5-м уровне рукопашная атака наносит дополнительно 1d8 урона излучением цели. Урон увеличивается ещё на 1d8 на 11-м и 17-м уровнях.
Spell/&SunlightBladeTitle=Освещённый солнцем клинок
Spell/&SwordStormDescription=Вы на мгновение создаёте круг из вращающихся вокруг вас призрачных лезвий. Все остальные существа в пределах 5 футов от вас должны преуспеть в спасброске Ловкости, иначе получат 1d6 урона силовым полем.
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt
index 55b43e9d16..bf325e5259 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt
@@ -10,6 +10,8 @@ Condition/&ConditionPsychicWhipNoReactionDescription=Вы не можете ис
Condition/&ConditionPsychicWhipNoReactionTitle=Психическая плеть Таши
Feature/&AttackModifierShadowBlade0Description=Магическая атака.
Feature/&AttackModifierShadowBladeNDescription=Магическая атака, наносит дополнительно {0}d8 психического урона.
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=Вы можете перемещаться сквозь других существ
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=Увлекательная прогулка
Feedback/&MirrorImageAttackerHasSense=У {0} есть {1}, и он игнорирует {2}
Feedback/&MirrorImageAttackerIsBlind={0} {1} и игнорирует {2}
Feedback/&MirrorImageRetargetResult={0} выберет целью {1}
@@ -20,14 +22,22 @@ Reaction/&CustomReactionWitherAndBloomDescription=У вас есть {0}/{1} о
Reaction/&CustomReactionWitherAndBloomReactDescription=Восстановите хиты.
Reaction/&CustomReactionWitherAndBloomReactTitle=Увядание и цветение
Reaction/&CustomReactionWitherAndBloomTitle=Увядание и цветение
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=Выберите один навык, которым вы не владеете. На 1 час вы получаете владение выбранным навыком.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=Получите владение выбранным навыком.
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=Заимствованные знания
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=Заимствованные знания
Spell/&AganazzarScorcherDescription=Вы выпускаете линию ревущего пламени длиной 30 футов и шириной 5 футов в выбранном направлении. Все существа в области действия должны совершить спасбросок Ловкости, получая 3d10 урона огнём при провале или половину этого урона при успехе. Если вы накладываете это заклинание, используя ячейку 3-го уровня или выше, то урон увеличивается на 1d10 за каждый уровень ячейки выше 2.
Spell/&AganazzarScorcherTitle=Пекло Аганаззара
Spell/&BindingIceDescription=Порыв ледяной энергии исходит от вас 30-футовым конусом. Каждое существо в этой области должно совершить спасбросок Телосложения. При провале существо получает 3d8 урона холодом, и его удерживают ледяные образования в течение 1 минуты или до тех пор, пока оно действием не разобьёт лёд. У существа, которое удерживается льдом, скорость уменьшается до 0. При успехе существо получает вдвое меньше урона, и оно не удерживается льдом.
Spell/&BindingIceTitle=Сковывающий лёд Райма
+Spell/&BorrowedKnowledgeDescription=Вы черпаете знания у духов прошлого. Выберите один навык, которым вы не владеете. На 1 час вы получаете владение выбранным навыком. Заклинание оканчивается раньше, если вы накладываете его снова.
+Spell/&BorrowedKnowledgeTitle=Заимствованные знания
Spell/&CloudOfDaggersDescription=Вы заполняете воздух крутящимися кинжалами в кубе с длиной ребра 5 футов, с центром на точке, выбранной вами в пределах дистанции. Существо получает рубящий урон 4d4, когда впервые за ход входит в область заклинания или начинает там ход. Если вы накладываете это заклинание, используя ячейку 3-го уровня или выше, урон увеличивается на 2d4 за каждый уровень ячейки выше второго.
Spell/&CloudOfDaggersTitle=Облако кинжалов
Spell/&ColorBurstDescription=Создайте светящийся куб, который на короткое время ослепит всех в радиусе 10 футов. 8d10 - это количество хитов существ, на которых может подействовать это заклинание.
Spell/&ColorBurstTitle=Взрыв цвета
+Spell/&KineticJauntDescription=Вы магическим образом усиливаете свои движения танцевальными шагами, даруя себе следующие преимущества:\n• Ваша скорость ходьбы увеличивается на 10 футов.\n• Вы не провоцируете атаки.\n• Вы можете перемещаться сквозь других существ.
+Spell/&KineticJauntTitle=Увлекательная прогулка
Spell/&MirrorImageDescription=В вашем пространстве появляются три ваших иллюзорных копии. Каждый раз, когда существо нацеливается на вас атакой, пока заклинание активно, бросайте d20, чтобы определить, не попала ли атака вместо вас по одной из ваших копий.\nЕсли у вас три копии, вы должны выбросить «6» или больше, чтобы сделать целью копию. Если копий две, выбросить нужно «8» или больше. Если копия одна, вы должны выбросить «11» или больше.\nКД копии равен 10 + ваш модификатор Ловкости. Если атака попала по копии, она уничтожается. Копию может уничтожить только атака, попавшая по ней. Она игнорирует остальной урон и эффекты. Заклинание оканчивается, если все три копии будут уничтожены.\nСущество не попадает под действие этого заклинания, если оно Ослеплено или не может видеть, имеет Слепое зрение, Истинное зрение или Чувство вибрации (неприменимо, если вы не касаетесь земли).
Spell/&MirrorImageTitle=Отражения
Spell/&NoxiousSprayDescription=Вы выпускаете струю ядовитых газов в сторону цели в пределах дистанции. Совершите дальнобойную атаку заклинанием. При попадании цель получает 4d6 урона ядом и должна пройти спасбросок Телосложения, иначе весь следующий ход будет корчиться и задыхаться, не в силах двигаться и предпринимать какие-либо действия. Это заклинание не действует на конструктов, элементалей и нежить. Когда вы накладываете это заклинание, используя ячейку 3-го уровня или выше, вы можете выбрать одну дополнительную цель за каждый уровень ячейки выше 2-го.
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt
index 9cff6cef4c..8b323c07e9 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=Вы касаетесь колчана, в кот
Spell/&FlameArrowsTitle=Пылающие стрелы
Spell/&HungerOfTheVoidDescription=Вы открываете врата в межзвёздную тьму, область, населённую неизвестными кошмарами. Появляется сфера черноты и холода с радиусом 20 футов с центром на точке в пределах дистанции, существующая, пока активно заклинание. Никакой свет, ни магический, ни обычный, не может осветить эту местность, и существа, полностью находящиеся в этой области, ослеплены. Все существа, начинающие ход в этой местности, получают 2d6 урона холодом. Все существа, оканчивающие ход в этой местности, должны преуспеть в спасброске Ловкости, иначе получают 2d6 урона кислотой, так как к ним прикасаются бледные потусторонние щупальца.
Spell/&HungerOfTheVoidTitle=Голод Хадара
+Spell/&IntellectFortressDescription=На время действия вы или одно согласное существо, которое вы можете видеть в пределах досягаемости, имеете сопротивление психическому урону, а также преимущество в спасбросках Интеллекта, Мудрости и Харизмы. Когда вы произносите это заклинание, используя ячейку заклинания 4-го уровня или выше, вы можете выбрать в качестве цели дополнительное существо в пределах досягаемости для каждого уровня ячейки выше 3-го.
+Spell/&IntellectFortressTitle=Интеллект Крепость
Spell/&LightningArrowDescription=В следующий раз, когда вы совершите дальнобойную атаку оружием, пока активно это заклинание, ваш боеприпас или само оружие, если это метательное оружие, превращается в разряд молнии. Совершите бросок атаки как обычно. Вместо обычного урона от оружия цель при попадании получает урон электричеством 3d8, или половину урона при промахе. Вне зависимости от попадания или промаха, все существа в пределах 10 футов от цели должны совершить спасбросок Ловкости. При провале эти существа получают урон электричеством 2d8, или половину урона при успехе. Если вы накладываете это заклинание, используя ячейку 4-го уровня или выше, урон от обоих эффектов увеличивается на 1d8 за каждый уровень ячейки выше третьего.
Spell/&LightningArrowTitle=Молниевая стрела
+Spell/&PsionicBlastDescription=Вы высвобождаете разрушительную волну ментальной силы в 30-футовом конусе. Каждое существо в области должно совершить спасбросок Ловкости. При провале цель получает урон силой 5d8, отталкивается на 20 футов прямо от вас и сбивается с ног. При успешном спасброске цель получает вдвое меньше урона, ее не толкают и не сбивают с ног. Когда вы накладываете это заклинание, используя ячейку 4-го уровня или выше, урон увеличивается на 1d8 за каждый уровень ячейки выше 3-го.
+Spell/&PsionicBlastTitle=Псионический взрыв
Spell/&PulseWaveDescription=Вы создаёте сильное давление, выпускаемое в форме 30-футового конуса, и определяете направление волны. Каждое существо в пределах конуса должно совершить спасбросок Телосложения, получая 6d6 урона силовым полем при провале или половину этого урона при успехе. Все существа, провалившие спасбросок, отталкиваются от вас на 15 футов.
Spell/&PulseWaveTitle=Силовая волна
Spell/&SpiritShroudDamageColdDescription=Нанесите дополнительный урон холодом.
diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt
index 53172a2fce..9d0eb3cade 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt
@@ -18,5 +18,5 @@ Spell/&ShapechangeDescription=Вы принимаете на время дейс
Spell/&ShapechangeTitle=Полное превращение
Spell/&TimeStopDescription=Вы ненадолго останавливаете поток времени для всех, кроме себя. Для всех остальных существ время перестаёт течь, а вы получаете 1d4 + 1 ходов подряд, во время которых можете совершать действия и перемещаться как обычно.
Spell/&TimeStopTitle=Остановка времени
-Spell/&WeirdDescription=Воззвав к сильнейшим страхам группы существ, вы создаёте иллюзорных существ в их сознаниях, видимых только для них. Все существа в сфере с радиусом 30 футов с центром на выбранной точке в пределах дистанции, должны совершить спасбросок Мудрости. При провале существо становится испуганным на время длительности заклинания. Иллюзия взывает к самым потаённым страхам, проявляясь в виде худших кошмаров и неумолимой угрозы. В конце каждого своего хода испуганное существо должно преуспевать в спасброске Мудрости, иначе оно получает урон психической энергией 4d10. При успехе для этого существа заклинание оканчивается.
+Spell/&WeirdDescription=Воззвав к сильнейшим страхам группы существ, вы создаёте иллюзорных существ в их сознаниях, видимых только для них. Все противники в сфере с радиусом 30 футов с центром на выбранной точке в пределах дистанции, должны совершить спасбросок Мудрости. При провале существо становится испуганным на время длительности заклинания. Иллюзия взывает к самым потаённым страхам, проявляясь в виде худших кошмаров и неумолимой угрозы. В конце каждого своего хода испуганное существо должно преуспевать в спасброске Мудрости, иначе оно получает урон психической энергией 4d10. При успехе для этого существа заклинание оканчивается.
Spell/&WeirdTitle=Смертный ужас
diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/InnovationVivisectionist-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/InnovationVivisectionist-ru.txt
index 8ba800591b..0b766439be 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/InnovationVivisectionist-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/InnovationVivisectionist-ru.txt
@@ -2,7 +2,7 @@ Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=Од
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=Хирургическая точность
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=Вы изучаете следующие заклинания, они всегда считаются подготовленными:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=Заклинания Вивисектора
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=При накладывании лечащих заклинаний минимальное значение на ваших костях восстанавливающих хитов равно 2.
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=Каждый раз, когда вы лечите другое существо, результаты всех бросков лечения, при которых выпало "1", считаются как "2".
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=Благодаря Стационарной хирургии,{0} меняет значение кости {1} на 2.
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=Стационарная хирургия
Feature/&PowerInnovationVivisectionistEmergencyCureDescription=Бонусным действием вы можете использовать Малое восстановление или Снятие проклятия на союзнике в радиусе 5 футов. Вы можете использовать это умение количество раз, равное вашему бонусу мастерства. Все использования восстанавливаются по окончании продолжительного отдыха.
diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronArchfey-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronArchfey-ru.txt
new file mode 100644
index 0000000000..44894833a1
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronArchfey-ru.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=Вы получаете иммунитет к состоянию очарованности, и если другое существо пытается очаровать вас, вы можете реакцией попытаться повернуть очарование против его создателя. Это существо должно преуспеть в спасброске Мудрости Сл ваших заклинаний колдуна, иначе оно станет очаровано вами на 1 минуту, или пока не получит любой урон.
+Feature/&PowerArchfeyBeguilingDefensesTitle=Чарующая защита
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=Выберите действием видимое вами существо в пределах 60 футов от себя. Оно должно совершить спасбросок Мудрости Сл ваших заклинаний колдуна. В случае провала оно очаровано вами на протяжении 1 минуты. Эффект завершается преждевременно, если существо получает любой урон. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=Тёмное исступление: Очарование
+Feature/&PowerArchfeyDarkDeliriumDescription=Выберите действием видимое вами существо в пределах 60 футов от себя. Оно должно совершить спасбросок Мудрости Сл ваших заклинаний колдуна. В случае провала оно очаровано или напугано вами (на ваш выбор) на протяжении 1 минуты. Эффект завершается преждевременно, если существо получает любой урон. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=Выберите действием видимое вами существо в пределах 60 футов от себя. Оно должно совершить спасбросок Мудрости Сл ваших заклинаний колдуна. В случае провала оно напугано вами на протяжении 1 минуты. Эффект завершается преждевременно, если существо получает любой урон. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=Тёмное исступление: Страх
+Feature/&PowerArchfeyDarkDeliriumTitle=Тёмное исступление
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=Вы действием можете заставить всех существ в 15-футовом конусе, исходящем от вас, совершить спасбросок Мудрости Сл ваших заклинаний колдуна. Все существа, провалившие спасбросок, становятся до конца вашего следующего хода очарованными вами. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=Фейская внешность: Очарование
+Feature/&PowerArchfeyFeyPresenceDescription=Вы действием можете заставить всех существ в 15-футовом конусе, исходящем от вас, совершить спасбросок Мудрости Сл ваших заклинаний колдуна. Все существа, провалившие спасбросок, становятся до конца вашего следующего хода очарованными или напуганными вами (на ваш выбор). Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=Вы действием можете заставить всех существ в 15-футовом конусе, исходящем от вас, совершить спасбросок Мудрости Сл ваших заклинаний колдуна. Все существа, провалившие спасбросок, становятся до конца вашего следующего хода напуганными вами. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=Фейская внешность: Страх
+Feature/&PowerArchfeyFeyPresenceTitle=Фейская внешность
+Feature/&PowerArchfeyMistyEscapeDescription=Если по вам попадают атакой, вы можете реакцией стать невидимым и телепортироваться на расстоянии до 60 футов в видимое вами свободное пространство. Вы остаётесь невидимым до начала своего следующего хода, или пока не используете атаку или заклинание. Использовав это умение, вы не можете использовать его снова, не завершив короткого либо продолжительного отдыха.
+Feature/&PowerArchfeyMistyEscapeTitle=Туманное исчезновение
+Reaction/&CustomReactionMistyEscapeDescription=Атака попадает по вам. Вы можете реакцией стать невидимым и телепортироваться на расстоянии до 60 футов в видимое вами свободное пространство.
+Reaction/&CustomReactionMistyEscapeReactDescription=Станьте невидимым и телепортируйтесь на расстояние до 60 футов.
+Reaction/&CustomReactionMistyEscapeReactTitle=Туманное исчезновение
+Reaction/&CustomReactionMistyEscapeTitle=Туманное исчезновение
+Reaction/&UseBeguilingDefensesDescription=Противник пытался вас очаровать. Вы можете использовать свою реакцию, чтобы попытаться повернуть очарование против него.
+Reaction/&UseBeguilingDefensesReactDescription=Поверните очарование против его создателя.
+Reaction/&UseBeguilingDefensesReactTitle=Чарующая защита
+Reaction/&UseBeguilingDefensesTitle=Чарующая защита
+Subclass/&PatronArchfeyDescription=Ваш покровитель это лорд или леди фей. Существо из легенд, хранящее секреты, забытые еще до возникновения смертных рас. Мотивы, движущие такими сущностями, непостижимы, причудливы, и могут диктоваться стремлением к величайшим магическим познаниям или вековыми обидами.
+Subclass/&PatronArchfeyTitle=Архифея
diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WayOfTheStormSoul-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WayOfTheStormSoul-ru.txt
new file mode 100644
index 0000000000..8c7287533c
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WayOfTheStormSoul-ru.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=Эта метка может взорваться в любой момент и нанести 5d10 урона звуком.
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=Метка бури
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=Каждый раз, когда вы используете Шквал ударов, вы также получаете преимущества действия Отход. Бонусные атаки, предоставляемые этим умением, наносят дополнительный урон электричеством, равный вашей кости боевых искусств.
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=Ученик бури
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=Каждый раз, когда вы наносите урон существу монашеским оружием, безоружной атакой или заговором Лассо молний, вы помечаете это существо остаточной проводящей энергией на 1 минуту. Вы можете действием и потратить 3 очка ци, чтобы поглотить метку на каждом существе и заставить их совершить спасбросок Ловкости (Сл = 8 + ваш бонус мастерства + ваш модификатор Мудрости). При провале каждое существо получает урон электричеством 5d10 (половину при успехе).
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=Око бури
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=Вы получаете сопротивление урону электричеством и можете заменить любую из своих атак основным действием на наложение заговора Лассо молний без требования компонентов, используя свою Мудрость в качестве заклинательной характеристики.
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=Воин молнии
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=Вы можете заменить любую из своих атак основным действием на наложение заговора Лассо молний без требования компонентов, используя свою Мудрость в качестве заклинательной характеристики.
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=Лассо молний
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=Вы можете потратить 1 очко ци, чтобы заменить одну из бонусных атак от Шквала ударов на атаку, которая поражает всех враждебных существ в пределах 5 футов от вас.
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=Ярость бури
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=Ученик бури!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} поражает {1} молнией (+{2})
+Subclass/&WayOfTheStormSoulDescription=Монахи Пути души бури живут на самых высоких горных вершинах Соласты, перенимая энергию могучих штормов и учась наполнять себя силой молний. Эти мастера боевых искусств используют свои уникальные дисциплины, чтобы превратиться в неудержимую бурю, без труда маневрируя на поле боя, бросаясь от одного врага к другому и обрушивая на них бесчисленные удары, заряженные энергией молний.
+Subclass/&WayOfTheStormSoulTitle=Путь души бури
diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WizardWarMagic-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WizardWarMagic-ru.txt
index 4066f48b1f..ca97a001bb 100644
--- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WizardWarMagic-ru.txt
+++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/WizardWarMagic-ru.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=Магия, которую вы
Feature/&FeatureWarMagicDurableMagicTitle=Стойкая магия
Feature/&PowerWarMagicDeflectionShroudDescription=Ваше магическое отражение наделяется смертоносной магией. Когда вы используете своё умение «Магическое отражение», вы можете испустить разряды магической энергии. До трёх существ по вашему выбору, которых вы можете видеть в пределах 60 футов, получают урон силовым полем, равный половине вашего уровня волшебника каждое.
Feature/&PowerWarMagicDeflectionShroudTitle=Отражающий покров
-Feature/&PowerWarMagicSurgeDescription=Вы можете запасать магическую энергию внутри себя, чтобы позднее усилить ею свои наносящие урон заклинания. Максимальное число ваших запасённых всплесков мощи равно вашему модификатору Интеллекта (минимум один). Когда вы успешно отменяете заклинание с использованием контрзаклинания, вы получаете один всплеск мощи. Один раз за ход, когда вы наносите урон существу или предмету заклинанием волшебника, вы можете потратить один всплеск мощи чтобы нанести дополнительный урон силовым полем на один бросок урона заклинания. Дополнительный урон равен вашему уровню волшебника.
+Feature/&PowerWarMagicSurgeDescription=Вы можете запасать магическую энергию внутри себя, чтобы позднее усилить ею свои наносящие урон заклинания. Максимальное число ваших запасённых до продолжительного отдыха всплесков мощи равно вашему модификатору Интеллекта (минимум один). Когда вы успешно отменяете заклинание с использованием контрзаклинания, вы получаете один всплеск мощи. Один раз за ход, когда вы наносите урон существу или предмету заклинанием волшебника, вы можете потратить один всплеск мощи чтобы нанести дополнительный урон силовым полем на один бросок урона заклинания. Дополнительный урон равен вашему уровню волшебника.
Feature/&PowerWarMagicSurgeTitle=Всплеск мощи
Feedback/&ArcaneDeflectionAttackRoll={0} использует {1}, чтобы вычесть модификатор Интеллекта ({2}) из броска атаки ({3})
Feedback/&ArcaneDeflectionSavingRoll={0} использует {1}, чтобы добавить модификатор Интеллекта ({2}) к спасброску ({3})
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/Group-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/Group-zh-CN.txt
index 40f08d2d19..7937950a33 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/Group-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/Group-zh-CN.txt
@@ -2,15 +2,15 @@ Feat/&FeatGroupAegisTouchedDescription=你的一项精神属性 +1,上限为 2
Feat/&FeatGroupAegisTouchedTitle=庇护之触
Feat/&FeatGroupAgilityCombatDescription={0}
Feat/&FeatGroupAgilityCombatTitle=战斗:敏捷
-Feat/&FeatGroupApothecaryDescription=你的一项精神属性 +1,上限为 20。\n你获得草药工具和奥秘熟练项,如果已有熟练项,则获得专精。
+Feat/&FeatGroupApothecaryDescription=你的一项精神属性 +1,上限为 20。\n你获得草药工具和医药熟练项,如果已有熟练项,则获得专精。
Feat/&FeatGroupApothecaryTitle=药剂师
Feat/&FeatGroupArmorDescription={0}
Feat/&FeatGroupArmorTitle=护甲
-Feat/&FeatGroupAthleteDescription=你已经接受了大量的体能训练,以获得以下好处:\n• 你的力量或敏捷性 +1,上限为 20。\n• 当你倒地时,站起来不会消耗你的移动力。\n• 攀爬无需额外消耗移动力。\n• 你获得运动熟练项,如果已有熟练项,则获得专精。
+Feat/&FeatGroupAthleteDescription=你已经接受了大量的体能训练,以获得以下好处:\n• 你的力量或敏捷 +1,上限为 20。\n• 当你倒地时,站起来不会消耗你的移动力。\n• 攀爬无需额外消耗移动力。\n• 你获得运动熟练项,如果已有熟练项,则获得专精。
Feat/&FeatGroupAthleteTitle=运动员
Feat/&FeatGroupAwakenTheBeastWithinDescription=你的任何一项属性 +1,上限为 20。每当你使用荒野形态特性变化为野兽时,你都会获得相当于你 德鲁伊等级两倍 点临时生命值。
Feat/&FeatGroupAwakenTheBeastWithinTitle=野兽觉醒
-Feat/&FeatGroupBalefulScionDescription=你可以引导宇宙邪恶力量来获得以下好处:\n• 将任何属性 +1,上限为 20。\n• 每回合一次,当你伤害自己 60 尺范围内可见的生物时,你还可以对其造成黯蚀伤害。黯蚀伤害等于 1d6 + 你的熟练加值,然后你将恢复这一黯蚀伤害实际造成伤害数额的生命值。你可以使用这一增益的次数等于你的熟练加值次,并且当你完成长休时,你会恢复所有已消耗的使用次数。
+Feat/&FeatGroupBalefulScionDescription=你可以引导宇宙邪恶力量来获得以下好处:\n• 你的任何一项属性 +1,上限为 20。\n• 每回合一次,当你伤害自己 60 尺范围内可见的生物时,你还可以对其造成黯蚀伤害。黯蚀伤害等于 1d6 + 你的熟练加值,然后你将恢复这一黯蚀伤害实际造成伤害数额的生命值。你可以使用这一增益的次数等于你的熟练加值次,并且当你完成长休时,你会恢复所有已消耗的使用次数。
Feat/&FeatGroupBalefulScionTitle=恶意后继者
Feat/&FeatGroupBlessedSoulDescription=通过使用神圣魔法,在灵魂上留下精神的印记,你可以更频繁地展现你的信仰。魅力或感知 +1,上限为 20。你在短休后获得一次额外的引导神力。
Feat/&FeatGroupBlessedSoulTitle=祝圣灵魂
@@ -140,3 +140,5 @@ Feat/&FeatGroupVerdantTouchedDescription=你的一项精神属性 +1,上限为
Feat/&FeatGroupVerdantTouchedTitle=苍翠之触
Feat/&FeatGroupWeaponMasterDescription=你已经广泛练习使用各种武器,获得了以下好处:\n• 你的力量或敏捷 +1,上限为 20。\n• 你可以熟练使用四种你选择的武器。每一件都必须是简单的或军用的武器。
Feat/&FeatGroupWeaponMasterTitle=武器大师
+Feat/&FeatGroupWhirlWindAttackDescription=你成为旋转死亡大师,获得以下好处:\n• 你的力量或敏捷 +1,上限为 20。\n• 在你的回合中,当你挥舞大剑、巨斧或大锤进行攻击时,你可以替换一次攻击,以发动旋风攻击。旋风攻击会对你 5 尺范围内的所有敌方生物进行一次攻击,但不会将你的属性调整值添加到造成的伤害中(除非该调整值为负数)。
+Feat/&FeatGroupWhirlWindAttackTitle=旋风攻击
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/MeleeCombat-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/MeleeCombat-zh-CN.txt
index c09a29da51..c073f8419e 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/MeleeCombat-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Feats/MeleeCombat-zh-CN.txt
@@ -1,7 +1,9 @@
Condition/&ConditionFeatCleavingAttackFinishDescription=让他们来吧!
Condition/&ConditionFeatCleavingAttackFinishTitle=巨武器大师
-Condition/&ConditionFeatCrusherCriticalHitDescription=你被暴击击倒,对你的攻击有优势。
+Condition/&ConditionFeatCrusherCriticalHitDescription=你被重击破碎,对你的攻击有优势。
Condition/&ConditionFeatCrusherCriticalHitTitle=破碎
+Condition/&ConditionFeatGreatWeaponDefenseDescription=你对抗 5 尺以内攻击源时,该攻击源对你进行的所有攻击掷骰均处于劣势。
+Condition/&ConditionFeatGreatWeaponDefenseTitle=专注防御
Condition/&ConditionFeatPiercerNonMagicDescription=当你用造成穿刺伤害的攻击击中一个生物时,你可以在掷出 1 时重投,并且你必须使用新的掷骰结果。
Condition/&ConditionFeatPiercerNonMagicTitle=贯穿
Condition/&ConditionFeatSlasherCriticalHitDescription=你被重击砍伤,你的攻击处于劣势。
@@ -28,13 +30,15 @@ Feat/&FeatFellHandedDescription=你掌握了手斧、战斧、巨斧、战锤和
Feat/&FeatFellHandedTitle=凶残握持
Feat/&FeatFencerDescription=如果你在回合中执行攻击动作时持有近战单手武器或多功能武器且没有其他武器或盾牌,则可以使用附赠动作使用你所持有的武器进行攻击,将你的属性调整值添加到造成的伤害中。
Feat/&FeatFencerTitle=剑术家
-Feat/&FeatHammerThePointDescription=你知道如何集中注意并专攻于一处。在你对一个目标进行攻击检定后,对该目标的攻击和伤害检定获得 +1,直到你的回合结束[叠加]。
+Feat/&FeatGreatWeaponDefenseDescription=你熟练地利用武器的大小来专注于格挡来袭的攻击。当你使用重型或两用近战武器且没有其他武器或盾牌时,你将获得以下好处:\n• 在使用该武器时将你的护甲等级提高 1。 \n• 你可以替换任何主要动作攻击以瞄准你 5 尺内的生物。该生物在对你的所有攻击中都处于劣势,直到你的下一个回合开始,直到你不再与该生物相邻,或者如果你装备了另一件武器或盾牌。
+Feat/&FeatGreatWeaponDefenseTitle=巨武器防御
+Feat/&FeatHammerThePointDescription=你知道如何集中注意并专攻于一处。在你对一个目标进行攻击检定后,对该目标的攻击和伤害检定获得 +1,直到你的回合结束(叠加)。
Feat/&FeatHammerThePointTitle=专攻要害
Feat/&FeatLongswordFinesseDescription=你是一位长剑大师的后裔,其将一些精湛技艺传授于你。你获得下列增益:\n• 你的敏捷值 +1,上限为 20。\n• 当你持有长剑时,你的护甲等级获得 +1 加值。\n• 你使用长剑时具有灵巧属性。
Feat/&FeatLongswordFinesseTitle=长剑技巧
-Feat/&FeatOldTacticsDexDescription=将你的敏捷 +1。每轮一次,当你的近战武器触及范围内的俯卧敌人站起来时,你可以对目标进行借机攻击。
+Feat/&FeatOldTacticsDexDescription=你的敏捷 +1。每轮一次,当你的近战武器触及范围内的俯卧敌人站起来时,你可以对目标进行借机攻击。
Feat/&FeatOldTacticsDexTitle=故技重施【敏捷】
-Feat/&FeatOldTacticsStrDescription=将你的力量 +1。每轮一次,当你的近战武器触及范围内的俯卧敌人站起来时,你可以对目标进行借机攻击。
+Feat/&FeatOldTacticsStrDescription=你的力量 +1。每轮一次,当你的近战武器触及范围内的俯卧敌人站起来时,你可以对目标进行借机攻击。
Feat/&FeatOldTacticsStrTitle=故技重施【力量】
Feat/&FeatPiercerDexDescription=你掌握了穿刺的精髓技巧。你的敏捷 +1,上限为 20。当你攻击并造成穿刺伤害时,你可以在掷出 1 时重新掷骰子,并且你必须使用新的掷骰。当你造成重击时,你可以在确定目标受到的穿刺伤害时额外掷一个伤害骰。
Feat/&FeatPiercerDexTitle=穿刺者【敏捷】
@@ -52,6 +56,10 @@ Feat/&FeatSlasherStrDescription=你学会了如何挥砍薄弱处。你的力量
Feat/&FeatSlasherStrTitle=劈砍者【力量】
Feat/&FeatSpearMasteryDescription=虽然长矛是一种简单易学的武器,但如果你花时间掌握它,它就会为你带来回报:\n• 你使用长矛进行的攻击检定获得 +1 加值,其伤害骰从 d6 提升至 d8,用双手挥动时从 d8 提升至 d10。\n• 作为附赠动作,你可以竖起长矛拦截接近的敌人。你可以使用反应对进入你触及范围的敌人进行借机攻击,并在攻击命中时造成额外的伤害骰。\n• 作为附赠动作,你可以将长矛的触及范围增加 5 尺,持续到你的下个回合开始。
Feat/&FeatSpearMasteryTitle=长矛精通
+Feat/&FeatWhirlWindAttackDexDescription=你成为旋转死亡大师,获得以下好处:\n• 你的敏捷 +1,上限为 20。\n• 在你的回合中,当你挥舞大剑、巨斧或大锤进行攻击时,你可以替换一次攻击,以发动旋风攻击。旋风攻击会对你 5 尺范围内的所有敌方生物进行一次攻击,但不会将你的属性调整值添加到造成的伤害中(除非该调整值为负)。
+Feat/&FeatWhirlWindAttackDexTitle=旋风攻击【敏捷】
+Feat/&FeatWhirlWindAttackStrDescription=你成为旋转死亡大师,获得以下好处:\n• 你的力量 +1,上限为 20。\n• 在你的回合中,当你挥舞大剑、巨斧或大锤进行攻击时,你可以替换一次攻击,以发动旋风攻击。旋风攻击会对你 5 尺范围内的所有敌方生物进行一次攻击,但不会将你的属性调整值添加到造成的伤害中(除非该调整值为负)。
+Feat/&FeatWhirlWindAttackStrTitle=旋风攻击【力量】
Feature/&AttackModifierFeatSpearMasteryDescription=你用长矛进行的攻击检定获得 +1 加值,它的伤害骰从 d6 变为 d8,当用两只手挥舞时从 d8 变为 d10。
Feature/&AttackModifierFeatSpearMasteryTitle=长矛精通
Feature/&AttributeModifierFeatLongswordFinesseArmorClassDescription=当你手持长剑时,你的护甲等级获得 +1 加值。
@@ -66,8 +74,12 @@ Feature/&PowerFeatSpearMasteryChargeDescription=你可以撑起你的长矛来
Feature/&PowerFeatSpearMasteryChargeTitle=长矛列阵
Feature/&PowerFeatSpearMasteryReachDescription=在你接下来的回合中,你可以将长矛的触及范围增加 5 尺。
Feature/&PowerFeatSpearMasteryReachTitle=长矛触及
-Feedback/&AdditionalDamageChargerFormat=充电器!
-Feedback/&AdditionalDamageChargerLine={0} 充能 {1} 并造成额外 {2} 伤害!
+Feature/&PowerGreatWeaponDefenseDescription=你可以替换任何主要动作攻击来瞄准你 5 尺内的生物。该生物在对你的所有攻击中都处于劣势,直到你的下一个回合开始,直到你不再与该生物相邻,或者如果你装备了另一件武器或盾牌。
+Feature/&PowerGreatWeaponDefenseTitle=巨武器防御
+Feature/&PowerWhirlWindAttackDescription=在你的回合中,当你手持大剑、巨斧或大锤进行攻击时,你可以替换一次攻击,以发动旋风攻击。旋风攻击会对你 5 尺范围内的所有敌方生物进行一次攻击,但不会在造成的伤害中添加你的属性调整值(除非该调整值为负)。
+Feature/&PowerWhirlWindAttackTitle=旋风攻击
+Feedback/&AdditionalDamageChargerFormat=冲锋者!
+Feedback/&AdditionalDamageChargerLine={0} 冲锋 {1} 并造成额外 {2} 伤害!
Feedback/&AdditionalDamageCrusherFormat=粉碎者!
Feedback/&AdditionalDamageCrusherLine={0} 粉碎了 {1}
Feedback/&AdditionalDamagePiercerFormat=穿刺者!
@@ -79,9 +91,9 @@ Reaction/&ReactionAttackOldTacticsReactTitle=攻击
Reaction/&ReactionAttackOldTacticsTitle=故技重施
Reaction/&ReactionSpendPowerBundlePowerFeatChargerDescription=你可以增加额外伤害或推动目标。
Reaction/&ReactionSpendPowerBundlePowerFeatChargerReactDescription=应用附加效果。
-Reaction/&ReactionSpendPowerBundlePowerFeatChargerReactTitle=收费
-Reaction/&ReactionSpendPowerBundlePowerFeatChargerTitle=收费
-Reaction/&UseDefensiveDuelistDescription=你快要被打了!你可以采取防御姿态来防止受到攻击。
+Reaction/&ReactionSpendPowerBundlePowerFeatChargerReactTitle=冲锋
+Reaction/&ReactionSpendPowerBundlePowerFeatChargerTitle=冲锋
+Reaction/&UseDefensiveDuelistDescription=你快要被命中了!你可以采取防御姿态来防止受到攻击。
Reaction/&UseDefensiveDuelistReactDescription=使用防御姿势来防止受到攻击。
Reaction/&UseDefensiveDuelistReactTitle=保卫
Reaction/&UseDefensiveDuelistTitle=防御姿态
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt
index ce42f302a0..f0515eef87 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt
@@ -54,6 +54,8 @@ Condition/&ConditionBlindedByStinkingCloudTitle=被臭云遮蔽了双眼
Condition/&ConditionBlindedExtendedDescription=视线被遮蔽了。针对该生物的攻击检定具有优势,而该生物的攻击检定则具有劣势。
Condition/&ConditionLightlyObscuredDescription=视线被轻度遮蔽。感知(察觉)豁免检定的劣势。
Condition/&ConditionLightlyObscuredTitle=轻度遮蔽
+Condition/&ConditionMonkSuperiorDefenseDescription=除非丧失能力,否则你可以抵抗除力以外的所有伤害。
+Condition/&ConditionMonkSuperiorDefenseTitle=卓越的防御
Condition/&ConditionRogueCunningStrikeDisarmedTitle=解除武装
Condition/&ConditionRogueCunningStrikeWithdrawTitle=取消
Condition/&ConditionRogueDeviousStrikeDazedDescription=你不能使用反应或附赠动作,并且可以在你的回合中移动或采取其他动作,但不能同时执行两者。
@@ -78,8 +80,12 @@ Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n
Feature/&EnhancedIndomitableResistanceDescription=如果你的豁免检定失败,你可以重投,并获得相当于你的战士等级的加值。如果你这样做,则必须使用新的骰子,并且在完成长休之前不能再次使用此特性。
Feature/&ExpandedSpellsDescription={0}\n\n
Feature/&ExpandedSpellsTitle=扩展法术
+Feature/&FeatureMonkBodyAndMindDescription=你已经把你的身体和思想磨练到了新的高度。你的敏捷和感知增加 4 点。
+Feature/&FeatureMonkBodyAndMindTitle=身心
+Feature/&FeatureMonkHeightenedMetabolismDescription=你的训练将你的身心提升到了新的水平。你的疾风连击、坚强防御和飞檐走壁将获得以下好处:\n• 疾风连击:使用疾风连击时,你可以进行三次徒手攻击,而不是两次。\n• 坚强防御:使用坚强防御时,你将获得临时生命值,数量等于你掷出的两枚武艺骰。\n• 飞檐走壁:使用任一飞檐走壁特性(撤离或疾走)时,你还会获得其他效果的好处。
+Feature/&FeatureMonkHeightenedMetabolismTitle=气通周天
Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=作为附赠动作,你可以花费 1 点气进行两次徒手攻击。
-Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=连环打击
+Feature/&FeatureSetAlternateMonkFlurryOfBlowsTitle=疾风连击
Feature/&FeatureSetBarbarianBrutalStrikeDescription=当你使用鲁莽攻击时,你在回合结束前进行的一次基于力量的攻击检定会造成与武器或徒手打击所造成的相同类型的额外 1d10 伤害,并且如果击中,你还可以选择以下效果之一:\n• 强力打击。目标被直接推离你 15 尺。\n• 腿筋打击。目标的速度降低 15 尺,直到你的下一回合开始。
Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=你已经磨练出了猛烈攻击的新方法。现在,你的凶蛮打击选项中包含以下效果:\n• 惊人打击。目标在下一次豁免检定中处于劣势,并且在你的下回合开始之前无法进行借机攻击。\n• 粉碎一击。你的打击会在该生物的防御中为盟友留下一个缺口,直到你的下一个回合开始。除你之外的生物对目标进行的下一次攻击检定获得 1d10 的攻击和伤害检定加值。
Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=精通凶蛮打击
@@ -123,30 +129,34 @@ Feature/&PowerAfterRestIdentifyDescription=鉴定库存中的所有魔法物品
Feature/&PowerAfterRestIdentifyTitle=鉴定
Feature/&PowerBarbarianBrutalStrikeDescription=凶蛮打击待定
Feature/&PowerBarbarianBrutalStrikeForcefulBlowDescription=目标被推离你 15 尺。
-Feature/&PowerBarbarianBrutalStrikeForcefulBlowTitle=强力一击
+Feature/&PowerBarbarianBrutalStrikeForcefulBlowTitle=强力殴击
Feature/&PowerBarbarianBrutalStrikeHamstringBlowDescription=目标的速度降低 15 尺,直到你的下一个回合开始。
-Feature/&PowerBarbarianBrutalStrikeHamstringBlowTitle=腿筋打击
+Feature/&PowerBarbarianBrutalStrikeHamstringBlowTitle=断筋殴击
Feature/&PowerBarbarianBrutalStrikeStaggeringBlowDescription=目标在下一次豁免检定中处于劣势,并且在你的下回合开始之前无法进行借机攻击。
-Feature/&PowerBarbarianBrutalStrikeStaggeringBlowTitle=惊人一击
+Feature/&PowerBarbarianBrutalStrikeStaggeringBlowTitle=失衡殴击
Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=你的打击会在该生物的防御中为盟友留下一个缺口,直到你的下一个回合开始。除你之外的生物对目标进行的下一次攻击检定获得 1d10 的攻击和伤害检定加值。
-Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=粉碎一击
+Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=粉碎殴击
Feature/&PowerBarbarianBrutalStrikeTitle=凶蛮打击
Feature/&PowerHelpDescription=你可以帮助友方生物攻击距离你 5 尺以内的生物。你佯攻、分散目标的注意力,或以其他方式联合起来使你的盟友的攻击更有效。如果你的盟友在你的下一轮之前攻击目标,则第一次攻击检定具有优势。
Feature/&PowerHelpTitle=帮助
-Feature/&PowerRangerNatureShroudDescription=你利用自然的力量来暂时隐藏自己。作为一个附贈动作,你可以神奇地变得隐形,连同你穿着或携带的任何装备,直到你的下一个回合开始。你可以使用此特性的次数等于你的熟练加值,并且当你完成长休后,你将重获所有使用次数。
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=在你的回合中,你可以花费 1 点气以一个附赠动作的形式来执行撤离和疾走行动作,同时使你该回合内的跳跃距离翻倍。
+Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=飞檐走壁
+Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以花费 3 点气来完美地增强自己免受伤害,持续 1 分钟或直到你失能。在此期间,你对除力场伤害之外的所有伤害都有抗性。
+Feature/&PowerMonkSuperiorDefenseTitle=无懈可击
+Feature/&PowerRangerNatureShroudDescription=你利用自然的力量来暂时隐藏自己。作为一个附贈动作,你可以魔法地变得隐形,连同你穿着或携带的任何装备,直到你的下一个回合开始。你可以使用此特性的次数等于你的熟练加值,并且当你完成长休后,你将重获所有使用次数。
Feature/&PowerRangerNatureShroudTitle=自然面纱
Feature/&PowerRogueCunningStrikeDescription=你已经开发出巧妙的方法来使用你的偷袭。当你造成偷袭伤害时,你可以放弃偷袭骰来添加额外的狡诈打击效果。
Feature/&PowerRogueCunningStrikeDisarmDescription=目标必须成功通过敏捷豁免,否则在下回合结束之前所有攻击都处于劣势。
-Feature/&PowerRogueCunningStrikeDisarmTitle=解除武装
+Feature/&PowerRogueCunningStrikeDisarmTitle=缴械
Feature/&PowerRogueCunningStrikePoisonDescription=目标必须成功通过体质豁免,否则会中毒 1 分钟。他们可以在每个回合开始时重投豁免。
Feature/&PowerRogueCunningStrikePoisonTitle=下毒
Feature/&PowerRogueCunningStrikeTitle=狡诈打击
Feature/&PowerRogueCunningStrikeTripDescription=目标必须成功通过敏捷豁免,否则就会俯卧。
-Feature/&PowerRogueCunningStrikeTripTitle=旅行
+Feature/&PowerRogueCunningStrikeTripTitle=绊摔
Feature/&PowerRogueCunningStrikeWithdrawDescription=攻击后,你可以使用自由动作向后退最多 3 个格子,而不会引发借机攻击。
-Feature/&PowerRogueCunningStrikeWithdrawTitle=提取
+Feature/&PowerRogueCunningStrikeWithdrawTitle=抽身
Feature/&PowerRogueDeviousStrikeDazeDescription=目标必须成功通过体质豁免,否则将处于眩晕状态直至下回合结束。
-Feature/&PowerRogueDeviousStrikeDazeTitle=茫然
+Feature/&PowerRogueDeviousStrikeDazeTitle=晕眩
Feature/&PowerRogueDeviousStrikeDescription=你已经练习了巧妙地使用偷袭的新方法。
Feature/&PowerRogueDeviousStrikeKnockOutDescription=目标必须成功通过体质豁免,否则将失能 1 分钟。他们可以在每个回合结束时重投豁免,如果受到伤害也会失去该条件。
Feature/&PowerRogueDeviousStrikeKnockOutTitle=击晕
@@ -162,8 +172,8 @@ Feature/&ToolGainChoicesSingleDescription=选择以下工具之一:{1}
Feature/&VisionBlindsightDescription=你有盲视。
Feedback/&AdditionalDamageBrutalStrikeFormat=凶蛮打击
Feedback/&AdditionalDamageBrutalStrikeLine=凶蛮打击造成额外 +{2} 伤害!
-Feedback/&AdditionalDamageSunderingBlowFormat=粉碎一击
-Feedback/&AdditionalDamageSunderingBlowLine=粉碎一击造成额外 +{2} 伤害!
+Feedback/&AdditionalDamageSunderingBlowFormat=粉碎殴击
+Feedback/&AdditionalDamageSunderingBlowLine=粉碎殴击造成额外 +{2} 伤害!
Feedback/&ChangeSneakDiceDamageType={1} 将偷袭骰伤害更改为 {2}
Feedback/&ChangeSneakDiceDieType={1} 将偷袭骰类型从 {2} 更改为 {3}
Feedback/&ChangeSneakDiceNumber={1} 将偷袭骰编号从 {2} 更改为 {3}
@@ -171,7 +181,7 @@ Feedback/&ConcentrationEffectCheckRolledAnyAdvantageLine={0} 掷骰以维持 {1}
Feedback/&ConcentrationEffectCheckRolledLine={0} 掷骰以维持 {1} 对抗 DC {2},掷骰 {3} = {4}
Feedback/&FlankingAttack=背后夹击
Feedback/&HigherGroundAttack=高处攻击
-Feedback/&MagicalGuidanceCheckToHitRoll={0} 使用了 {1} 并投掷了 {2} 以替换检定结果上的 {3}
+Feedback/&MagicalGuidanceCheckToHitRoll={0} 使用了 {1} 并投掷了 {2} 以替换检定掷骰上的 {3}
Feedback/&NarrativeChoiceRoll={0} 投掷 {1} 个叙述选项,结果为 {2}。
Feedback/&ReturningWeaponActivates={1} 返回 {0}!
Feedback/&SmallRace=小赛
@@ -200,8 +210,8 @@ Reaction/&CastSpellInRetributionDescription={0} 正在攻击 {1}!你可以施
Reaction/&CastSpellInRetributionReactDescription=单击以施放 {0}。
Reaction/&CastSpellInRetributionReactTitle=施法
Reaction/&CastSpellInRetributionTitle=施放反应法术
-Reaction/&CustomReactionMagicalGuidanceCheckDescription=你未能通过检定结果。你可以花费 1 个术法点来掷骰子 d20 并替换检定结果。
-Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=投掷 d20 以替换检定结果。
+Reaction/&CustomReactionMagicalGuidanceCheckDescription=你未能通过检定掷骰。你可以花费 1 个术法点来投掷 d20 并替换检定掷骰。
+Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=投掷 d20 以替换检定掷骰。
Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=魔法指引
Reaction/&CustomReactionMagicalGuidanceCheckTitle=魔法指引
Reaction/&ReactionSpendPowerBundleDescription=花费力量。
@@ -209,8 +219,8 @@ Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=你可
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=应用附加效果。
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactTitle=凶蛮打击
Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeTitle=凶蛮打击
-Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=你可以放弃 个潜行攻击骰子来应用额外效果。
-Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=你可以放弃 个潜行攻击骰子来应用额外效果。
+Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=你可以放弃偷袭骰来应用额外效果。
+Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=你可以放弃偷袭骰来应用额外效果。
Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡诈打击
Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡诈打击
Reaction/&ReactionSpendPowerBundleTitle=花费力量
@@ -241,7 +251,8 @@ Rules/&CounterFormDismissCreatureFormat=解散一个目标召唤生物
Rules/&SituationalContext9000Format=手持剑刃精通武器:
Rules/&SituationalContext9001Format=手持巨剑:
Rules/&SituationalContext9002Format=手持长剑:
-Rules/&SituationalContext9003Format=主手有近战武器,副手有空闲武器:
+Rules/&SituationalContext9003Format=主手有近战武器,副手为空手:
+Rules/&SituationalContext9004Format=主手拥有重型或两用武器,副手为空手:
Rules/&SituationalContext9005Format=手上有简单或军用武器:
Rules/&SituationalContext9007Format=不处于明亮光照下:
Rules/&SituationalContext9008Format=处于狂暴与双持状态:
@@ -253,11 +264,11 @@ Rules/&SituationalContext9013Format=不是效果源:
Rules/&SituationalContext9014Format=未持盾牌的无甲或轻甲:
Rules/&SituationalContext9015Format=双手持用木棒的无甲或轻甲:
Rules/&SituationalContext9016Format=主手或副手近战武器不是效果源:
-Rules/&SituationalContext9017Format=专注于咒语:
+Rules/&SituationalContext9017Format=专注于法术:
Rules/&TurnOccurenceEndOfSourceTurnFormat=末端转弯源
Screen/&ClassExtraSpellDescriptionFormat=你从 {0} 职业知道这个法术。
-Screen/&EditorLocationSize3Title=巨型 [改装]
-Screen/&EditorLocationSize4Title=超巨型 [改装]
+Screen/&EditorLocationSize3Title=巨型【已修改】
+Screen/&EditorLocationSize4Title=超巨型【已修改】
Screen/&MulticlassExtraSpellDescription=你从其他法术表中知道这个法术。
Screen/&MulticlassExtraSpellTitle=兼职
Screen/&PatronExtraSpellDescription=宗主法术
@@ -295,6 +306,7 @@ Tooltip/&PreReqIs=是{0}
Tooltip/&PreReqIsNot=不是{0}
Tooltip/&PreReqIsWithLevel={0} 级 {1}
Tooltip/&PreReqLevelFormat=最低角色等级 {0}
+Tooltip/&PreReqMustHaveExtraAttacks=必须有额外的攻击
Tooltip/&PreReqMustKnow=需要已知 {0}
Tooltip/&Tag9000Title=自定义效果
Tooltip/&TagUnfinishedBusinessTitle=未竟之业
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt
index badffdb218..4b8138edd3 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt
@@ -31,6 +31,7 @@ ModUi/&AllowHasteCasting=允许使用加速术赋予的额外动作施法[根据种族、头和角的不同,结果可能看起来很怪]
ModUi/&AllowMoreRealStateOnRestPanel=允许在休息面板上显示更多真实状态[在面板打开后隐藏休息动作,在面板关闭后恢复功能]
ModUi/&AllowStackedMaterialComponent=允许堆叠材料组件[例如2x500gp钻石相当于1000gp钻石]
+ModUi/&AllowTargetingSelectionWhenCastingChainLightningSpell=允许在施展连锁闪电法术时选择目标
ModUi/&AllowUnmarkedSorcerers=允许术士没有起源标记和纹身
ModUi/&AltOnlyHighlightItemsInPartyFieldOfView=按ALT键只高亮队伍视野中的可用物品[仅限自定义地下城]
ModUi/&ArcaneShieldstaffOptions=允许奥术盾杖被任何职业同调
@@ -137,18 +138,22 @@ ModUi/&EnableLogDialoguesToConsole=在叙述序列期间启用日志对话到游
ModUi/&EnableLoggingInvalidReferencesInUserCampaigns=在自定义活动中启用记录无效引用
ModUi/&EnableMinInOutAttributes=+强制属性值最低的前置条件
ModUi/&EnableMonkAbundantKi=在武僧 1 级启用丰富的气[获得额外的等于熟练加值一半的气]
+ModUi/&EnableMonkBodyAndMindToReplacePerfectSelf=20 级时启用武僧身心取代超凡入圣
ModUi/&EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack=启用武僧武术 - 额外徒手攻击,在使用前不需要进行攻击动作
ModUi/&EnableMonkDoNotRequireAttackActionForFlurry=启用武僧疾风连击,在使用前不需要进行攻击动作
ModUi/&EnableMonkFightingStyle=在武僧 2 级启用战斗风格选择
-ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=启用武僧改进的无甲移动沿垂直表面移动而不会掉落
+ModUi/&EnableMonkHeightenedMetabolism=在 10 级时启用武僧 气通周天 [疾风连击、坚强防御和飞檐走壁获得额外好处]
+ModUi/&EnableMonkImprovedUnarmoredMovementToMoveOnTheWall=启用武僧精通无甲移动沿垂直表面移动而不会掉落
+ModUi/&EnableMonkSuperiorDefenseToReplaceEmptyBody=18 级时启用武僧无懈可击取代空灵体
ModUi/&EnableMonkWeaponSpecialization=在武僧 2 级和 11 级启用武器专精[所选武器类型成为你的武僧武器]
ModUi/&EnableMulticlass=启用兼职[需要重启]
+ModUi/&EnableOneDndHealingSpellsBuf=在疗伤术、治愈真言、群体疗伤术和群体治愈真言上启用 OneDnd 治疗骰增益
ModUi/&EnablePcgRandom=启用更好的随机数算法[https://www.pcg-random.org]
ModUi/&EnableRangerNatureShroudAt10=在游侠 10 级启用自然面纱特性[作为附赠动作,你可以魔法地变得隐形,直到下回合开始]
ModUi/&EnableRejoinParty=启用CTRL-SHIFT-(R)重新加入所选英雄或领导者周围的队伍(如果未选择)[适用于 5 人或 6 人的队伍]
ModUi/&EnableRelearnSpells=+可以选择其他职业已经学过的戏法或法术
ModUi/&EnableRespec=在休息操作后启用洗点
-ModUi/&EnableRogueCunningStrike=在游荡者 5 级和 14 级时启用诡诈打击和凶狡打击[你放弃 1 个偷袭骰子可获得额外的命中效果]
+ModUi/&EnableRogueCunningStrike=在游荡者 5 级和 14 级时启用诡诈打击和凶狡打击[你放弃 1 个偷袭骰可获得额外的命中效果]
ModUi/&EnableRogueFightingStyle=在游荡者 2 级启用战斗风格选择
ModUi/&EnableRogueSteadyAim=在游荡者 3 级时启用手稳就准[作为附赠动作,在当前回合中为你的下一次攻击检定带来优势,如果你还没移动]
ModUi/&EnableRogueStrSaving=启用游荡者在诡诈/凶狡打击、虚弱/精通打击和剑刃冰雹上使用敏捷或力量调整值
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt
index 5b63d5532f..901d87e19c 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt
@@ -1,5 +1,5 @@
Condition/&ConditionAcidClawsDescription=护甲等级降低 1。
-Condition/&ConditionAcidClawsTitle=酸灼之爪
+Condition/&ConditionAcidClawsTitle=强酸灼伤
Condition/&ConditionBoomingBladeDescription=5 级时,此戏法触发的攻击会造成额外 1d8 雷鸣伤害。在第 11 级和第 17 级时,伤害进一步增加 1d8。
Condition/&ConditionBoomingBladeSheathedDescription=你被雷鸣能量所笼罩。如果你移动 5 尺或更多的距离,你就会受到雷鸣伤害。
Condition/&ConditionBoomingBladeSheathedTitle=被笼罩
@@ -7,6 +7,8 @@ Condition/&ConditionBoomingBladeTitle=轰雷剑笼罩
Condition/&ConditionMindSpikeDescription=从下一次豁免检定中减去 1d4。
Condition/&ConditionMindSpikeTitle=心灵之楔
Condition/&ConditionResonatingStrikeTitle=谐振
+Condition/&ConditionStarryWispDescription=无法从隐形状态中受益。
+Condition/&ConditionStarryWispTitle=点点星芒
Condition/&ConditionSunlightBladeDescription=在 5 级时,此戏法触发的攻击造成额外的 1d8 光耀伤害。伤害在 11 级和 17 级进一步增加 1d8。
Condition/&ConditionSunlightBladeTitle=耀阳剑
Condition/&ConditionWrackDescription=你无法进行冲刺或脱离动作。
@@ -31,12 +33,20 @@ Spell/&EnduringStingDescription=你削弱了范围内你能看到的一个生物
Spell/&EnduringStingTitle=削弱芒刺
Spell/&IlluminatingSphereDescription=使效果区域内的火把和法力灯等光源点亮。
Spell/&IlluminatingSphereTitle=照明法球
+Spell/&InfestationDescription=你让一团螨虫、跳蚤和其他寄生虫瞬间出现在你能看到的范围内的一个生物身上。目标必须成功通过体质豁免检定,否则会受到 1d6 毒素伤害并向随机方向移动 5 尺。\n当你达到 5 级(2d6)、11 级(3d6)和 17 级(4d6)时,此法术的伤害提高 1d6。
+Spell/&InfestationTitle=虫群孳生
+Spell/&LightningLureDescription=你创造一道闪电能量,攻击你选择的一个在你周围 15 尺内可以看到的生物。目标必须成功通过力量豁免检定,否则会被拉向你直线 10 尺,然后受到 1d8 闪电伤害。\n当你达到 5 级 (2d8)、11 级 (3d8) 和 17 级 (4d8)。
+Spell/&LightningLureTitle=闪电牵引
Spell/&MindSpikeDescription=你将一股令人迷惑的精神能量刺入施法距离内一个你能看到的生物的脑海中。目标必须成功通过一次智力豁免检定,否则将受到 1d6 心灵伤害,并在你的下一轮结束前从它进行的下一次豁免检定中减去 1d4。
Spell/&MindSpikeTitle=心灵之楔
Spell/&MinorLifestealDescription=你从附近的敌方生物身上吸取生命能量。对你周围 5 尺内的生物进行近战法术攻击。命中时,该生物会受到 1d6 点黯蚀伤害,并且你会治疗所造成伤害的一半(向下舍入)。该法术对不死生物和构装体没有效果。该法术的伤害在第 5、11 和 17 级时会增加一个额外的骰子。
Spell/&MinorLifestealTitle=次级吸血
+Spell/&PrimalSavageryDescription=你引导原始魔法,使你的牙齿或指甲变得长而尖锐,从而准备好发起酸蚀性的打击。对你 5 尺范围内的一个生物进行近战法术攻击。命中后,目标受到 1d10 强酸伤害。\n当你达到 5 级(2d6)、11 级(3d6)和 17 级(4d6)时,此法术的伤害提高 1d6。
+Spell/&PrimalSavageryTitle=原初蛮击
Spell/&ResonatingStrikeDescription=选择你近战范围内的一个生物以及你在主要目标 5 尺内可以看到的另一个生物。你用当前武器对第一个生物进行近战攻击。命中时,目标会受到武器攻击的正常效果,火焰会跳跃到第二个目标,造成等同于你的施法属性调整值的火焰伤害。\n在 5 级时,近战攻击命中会对目标造成额外 1d8 火焰伤害,对第二个生物的火焰伤害增加至 1d8 + 你的施法属性调整值。在第 11 级和第 17 级时,两种伤害检定都会增加 1d8。
Spell/&ResonatingStrikeTitle=灼焰剑
+Spell/&StarryWispDescription=你向范围内的生物或物体发射一团光。对目标进行远程法术攻击。命中后,目标将受到 1d8 点光耀伤害,并且直到你的下一回合结束前,它会在 10 尺半径范围内发出暗淡的光线,并且无法从隐身状态中获益。\n当你达到等级 5(2d8)、11(3d8)和 17(4d8)时,此法术的伤害增加 1d8。
+Spell/&StarryWispTitle=点点星芒
Spell/&SunlightBladeDescription=使用武器进行近战攻击。一旦命中,目标将受到攻击的正常效果,并被炽热的光耀能量所包围,在本回合中散发出昏暗的光芒。当此生物被突出显示时,下一次对该生物的攻击具有优势。\n在 5 级时,近战攻击会对目标造成额外的 1d8 光耀伤害。伤害在 11 级和 17 级时再增加 1d8。
Spell/&SunlightBladeTitle=耀阳剑
Spell/&SwordStormDescription=你创造了一个临时的半透明利刃迅速横扫你的周围。距离你 5 尺以内的所有其他生物都必须成功通过一次敏捷豁免检定,否则将受到 1d6 力场伤害。
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt
index e91f170a88..262015f5a9 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt
@@ -10,24 +10,34 @@ Condition/&ConditionPsychicWhipNoReactionDescription=在下一回合结束之前
Condition/&ConditionPsychicWhipNoReactionTitle=塔莎心灵鞭
Feature/&AttackModifierShadowBlade0Description=魔法攻击。
Feature/&AttackModifierShadowBladeNDescription=魔法攻击,造成额外的 {0}d8 心灵伤害。
+Feature/&MoveThroughEnemyModifierKineticJauntDescription=你可以穿过任何生物的空间
+Feature/&MoveThroughEnemyModifierKineticJauntTitle=动能短途旅行
Feedback/&MirrorImageAttackerHasSense={0} 有 {1} 并忽略 {2}
Feedback/&MirrorImageAttackerIsBlind={0} 是 {1} 并忽略 {2}
Feedback/&MirrorImageRetargetResult={0} 将定位到 {1}
Feedback/&MirrorImageRetargetRoll={0} 掷 {2} 个诱饵骰子 {1}
Item/&ItemShadowBladeDescription=它在一次击中造成 2d8 心灵伤害,并具有灵巧、轻型和投掷属性。
Item/&ItemShadowBladeTitle=幽影刃
-Reaction/&CustomReactionWitherAndBloomDescription=您有 {0}/{1} 点生命值。你可以重新获得生命值,生命值等于掷骰子加上{2}的施法属性调整值(+{3})。
+Reaction/&CustomReactionWitherAndBloomDescription=你有 {0}/{1} 点生命值。你可以重新获得生命值,生命值等于掷骰子加上{2}的施法属性调整值(+{3})。
Reaction/&CustomReactionWitherAndBloomReactDescription=恢复生命值。
Reaction/&CustomReactionWitherAndBloomReactTitle=靡叶生华
Reaction/&CustomReactionWitherAndBloomTitle=靡叶生华
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeDescription=选择一项你不熟练的技能。1 小时内,你将熟练掌握所选技能。
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactDescription=熟练掌握所选的技能。
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeReactTitle=借用的知识
+Reaction/&ReactionSpendPowerBundleBorrowedKnowledgeTitle=借用的知识
Spell/&AganazzarScorcherDescription=一道长 30 尺,宽 5 尺的翻涌火线从你向一个你选定的方向蔓延。在该线中的生物必须进行一次敏捷豁免检定。豁免失败的生物受到 3d10 点火焰伤害,而豁免成功则只受到上述伤害的一半。当你使用 3 环或更高的法术位施展此法术时,使用的法术位每高 2 环,伤害便增加 1d10。
Spell/&AganazzarScorcherTitle=阿迦纳萨喷火术
Spell/&BindingIceDescription=你向 30 尺锥形范围内放出一股冰冷的能量。范围内的每个生物都必须成功通过体质豁免,否则将受到 3d8 冷冻伤害并且被冰霜包裹,持续一分钟或直至一个生物用动作为自己或触及范围内的其他生物破冰。被冰霜包裹的生物其速度降至 0。豁免成功则伤害减半,并且不会受到冰层阻碍。
Spell/&BindingIceTitle=雾凇霜缚
+Spell/&BorrowedKnowledgeDescription=你从往昔的魂灵中获取知识。选择一项你没有熟练的技能。1 小时内,你拥有所选技能的熟练项。如果你再次施放该法术,该法术会提前结束。
+Spell/&BorrowedKnowledgeTitle=借鉴才学
Spell/&CloudOfDaggersDescription=你在每边 5 尺的立方体中布满旋转的匕首,以你在范围内选择的点为中心。当一个生物在一个回合中第一次进入该法术的区域或在那里开始其回合时,它会受到 4d4 的挥砍伤害。当你使用 3 环或更高环阶的法术位施展此法术时,每高于 2 环法术位,伤害就会增加 2d4。
Spell/&CloudOfDaggersTitle=匕首之云
Spell/&ColorBurstDescription=爆破一个发光立方体,使 10 尺内的任何人短暂失明。8d10 是该法术可以影响的生物的生命值。
Spell/&ColorBurstTitle=炫彩爆
+Spell/&KineticJauntDescription=你用舞蹈般的步姿魔法地增强你的移动,在持续时间内为你带来以下好处:\n• 你的步行速度增加 10 尺。\n• 你不会触发借机攻击。\n• 穿越困难地形不会消耗额外的移动力。\n• 你可以穿过任何比你体型更大的生物的空间。
+Spell/&KineticJauntTitle=动力短行
Spell/&MirrorImageDescription=三个自己的幻象分身出现在你的空间中。在法术结束之前,每次有生物以你为目标进行攻击时,掷一次 d20 以确定该攻击是否改为以你的一个分身为目标。\n如果你有 3 个分身,则必须掷出 6 或更高的值才能改变攻击的目标以重复为目标。对于 2 个重复,你必须掷出 8 或更高。对于 1 个分身,你必须掷出 11 或更高的值。\n分身的护甲等级等于 10 + 你的敏捷调整值。如果攻击击中分身,分身将被摧毁。分身只能被击中它的攻击摧毁。它忽略所有其他伤害和效果。当所有三个分身都被摧毁时,法术结束。\n如果一个生物处于失明状态,或者具有盲视、真视或颤动感知(如果你不接触地面则不适用),则该生物不受此法术影响。
Spell/&MirrorImageTitle=镜影术
Spell/&NoxiousSprayDescription=你向范围内的目标释放有毒气体,以进行远程法术攻击。命中时,目标会受到 4d6 毒素伤害,并且必须成功通过体质豁免检定,否则下一回合就会一直干呕和起伏,无法移动或采取行动。构装体、元素生物和不死生物不受此法术影响。当你使用 3 环或更高环阶的法术位施放此法术时,你可以为每高于 2 环的法术位环阶指定一个额外的生物。
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt
index b3b868e6b7..3077117b9d 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt
@@ -60,8 +60,12 @@ Spell/&FlameArrowsDescription=你必须装备远程武器。当目标被它击
Spell/&FlameArrowsTitle=烈焰箭矢
Spell/&HungerOfTheVoidDescription=你打开了通往群星之间黑暗的大门,这是一个充满未知恐怖的区域。一个半径 20 尺的漆黑和严寒球体出现,以一个有范围的点为中心并持续一段时间。该区域的光芒熄灭,其中的生物会目盲。任何在该区域开始回合的生物都会受到 2d6 的冷冻伤害。任何在该区域结束其回合的生物都必须成功通过敏捷豁免检定,否则会因异界软体触手的触碰而受到 2d6 強酸伤害。
Spell/&HungerOfTheVoidTitle=哈达之欲
+Spell/&IntellectFortressDescription=在持续时间内,您或您能看到的范围内的一个自愿生物将对精神伤害具有抗性,并且在智力、感知和魅力豁免检定上具有优势。当您使用 4 级或更高级别的法术位施放此法术时,您可以针对范围内的额外生物,每个高于 3 级的法术位等级。
+Spell/&IntellectFortressTitle=智力堡垒
Spell/&LightningArrowDescription=下次你在法术持续时间内进行远程武器攻击时,武器的弹药或武器本身(如果是投掷武器)会转变成一道闪电。正常进行攻击检定。命中时目标会受到 3d8 闪电伤害,未击中时会受到一半伤害。无论你击中还是未击中,距离目标 10 尺内的每个生物都必须进行一次敏捷豁免。这些生物中的每一个在豁免失败时都会受到 2d8 闪电伤害,或者在成功豁免时受到一半的伤害。当你使用 4 环或更高环阶法术位施放此法术时,每高于 3 环法术位,该法术的两种效果的伤害都会增加 1d8。
Spell/&LightningArrowTitle=闪电箭矢
+Spell/&PsionicBlastDescription=你在 30 英尺锥形范围内释放出一道毁灭性的精神力量波。该区域内的每个生物都必须进行敏捷豁免检定。如果豁免失败,目标将受到 5d8 力场伤害,被推离你 20 英尺,并被击倒。如果豁免成功,目标将受到一半的伤害,并且不会被推离或击倒。当你使用 4 级或更高级别的法术位施放此法术时,伤害会随着高于 3 级的每个法术位等级增加 1d8。
+Spell/&PsionicBlastTitle=灵能冲击
Spell/&PulseWaveDescription=使用强烈的冲压将敌人推开。
Spell/&PulseWaveTitle=脉冲波动
Spell/&SpiritShroudDamageColdDescription=造成额外的冷冻伤害。
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/InnovationVivisectionist-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/InnovationVivisectionist-zh-CN.txt
index 89dca65ca1..031c4abac3 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/InnovationVivisectionist-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/InnovationVivisectionist-zh-CN.txt
@@ -1,21 +1,21 @@
-Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=每回合一次,如果你在攻击检定上有优势,你使用武器命中敌人时可以额外造成 1d6 伤害。如果目标的另一个敌人在其 5 尺以内,该敌人没有失能,并且你在攻击检定上没有劣势,则你在攻击检定上不需要优势,伤害在 7 级增加到 2d6,在 11 级增加到 3d6,在 15 级增加到 4d6,在 19 级增加到 5d6。
+Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyDescription=每回合一次,如果你在攻击检定上有优势,你使用武器命中敌人时可以额外造成 1d6 伤害。如果目标的另一个敌人在其 5 尺以内,该敌人没有失能,并且你在攻击检定上没有劣势,则你在攻击检定上不需要优势,伤害在 7 级提升至 2d6,在 11 级提升至 3d6,在 15 级提升至 4d6,在 19 级提升至 5d6。
Feature/&AdditionalDamageInnovationVivisectionistMedicalAccuracyTitle=医学精准
Feature/&AutoPreparedSpellsInnovationVivisectionistDescription=学习并始终准备:\n{0}\n\n
Feature/&AutoPreparedSpellsInnovationVivisectionistTitle=活体解剖师法术
-Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=施展治疗法术时,你的治疗骰最低值为 2。
+Feature/&DieRollModifierInnovationVivisectionistStableSurgeryDescription=每当你医疗另一个生物时,你的治疗骰最低值为 2。
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryReroll=由于稳定手术 {0} 迫使 {1} 翻转为 2。
Feature/&DieRollModifierInnovationVivisectionistStableSurgeryTitle=稳定手术
-Feature/&PowerInnovationVivisectionistEmergencyCureDescription=你可以使用一个附赠动作对 5 尺内的盟友使用次级复原术或移除诅咒。你能使用该能力的次数等于你的熟练加值。长休后重新充能该能力。
+Feature/&PowerInnovationVivisectionistEmergencyCureDescription=你可以使用一个附赠动作对 5 尺内的盟友使用次级复原术或移除诅咒。你能使用该能力的次数等于你的熟练加值。长休后重获使用次数。
Feature/&PowerInnovationVivisectionistEmergencyCureLesserRestorationDescription=移除盟友的不利状态。
-Feature/&PowerInnovationVivisectionistEmergencyCureLesserRestorationTitle=紧急治疗 [次级复原术]
+Feature/&PowerInnovationVivisectionistEmergencyCureLesserRestorationTitle=紧急治疗【次级复原术】
Feature/&PowerInnovationVivisectionistEmergencyCureRemoveCurseDescription=移除所有影响目标的诅咒。
-Feature/&PowerInnovationVivisectionistEmergencyCureRemoveCurseTitle=紧急治疗 [移除诅咒]
+Feature/&PowerInnovationVivisectionistEmergencyCureRemoveCurseTitle=紧急治疗【移除诅咒】
Feature/&PowerInnovationVivisectionistEmergencyCureTitle=紧急治疗
-Feature/&PowerInnovationVivisectionistEmergencySurgeryDescription=你可以使用一个动作来医疗 5 尺内的一个盟友,治疗量等于你的医学精准骰 + 你的智力调整值。你能使用该能力的次数等于你的熟练加值。长休后重新充能该能力。
+Feature/&PowerInnovationVivisectionistEmergencySurgeryDescription=你可以使用一个动作来医疗 5 尺内的一个盟友,治疗量等于你的医学精准骰 + 你的智力调整值。你能使用该能力的次数等于你的熟练加值。长休后重获使用次数。
Feature/&PowerInnovationVivisectionistEmergencySurgeryTitle=紧急手术
-Feature/&PowerInnovationVivisectionistMasterEmergencyCureDescription=你可以使用一个自由动作对 5 尺内盟友使用次级复原术或移除诅咒。你能使用该能力的次数等于你的熟练加值。长休后重新充能该能力。
+Feature/&PowerInnovationVivisectionistMasterEmergencyCureDescription=你可以使用一个自由动作对 5 尺内盟友使用次级复原术或移除诅咒。你能使用该能力的次数等于你的熟练加值。长休后重获使用次数。
Feature/&PowerInnovationVivisectionistMasterEmergencyCureTitle=紧急治疗大师
-Feature/&PowerInnovationVivisectionistMasterEmergencySurgeryDescription=你可以使用一个附赠动作来医疗 5 尺内的盟友,治疗量等于你的医学精准骰 + 你的智力调整值。你能使用该能力的次数等于你的熟练加值。长休后重新充能该能力。
+Feature/&PowerInnovationVivisectionistMasterEmergencySurgeryDescription=你可以使用一个附赠动作来医疗 5 尺内的盟友,治疗量等于你的医学精准骰 + 你的智力调整值。你能使用该能力的次数等于你的熟练加值。长休后重获使用次数。
Feature/&PowerInnovationVivisectionistMasterEmergencySurgeryTitle=紧急手术大师
Feature/&PowerInnovationVivisectionistOrganDonationDescription=当你将敌对生物的生命值降至 0 时,你可以重新使用一次紧急手术与紧急治疗。每次短休后可以触发一次。
Feature/&PowerInnovationVivisectionistOrganDonationTitle=器官捐献
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronArchfey-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronArchfey-zh-CN.txt
new file mode 100644
index 0000000000..662f8d838c
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronArchfey-zh-CN.txt
@@ -0,0 +1,26 @@
+Feature/&PowerArchfeyBeguilingDefensesDescription=你不会受到魅惑,当其他生物试图魅惑你时,你可以利用自己的反应尝试将魅惑反击给该生物。该生物必须成功通过对抗你的邪术士法术豁免 DC 的感知豁免检定,否则将被你魅惑 1 分钟或直到该生物受到任何伤害。
+Feature/&PowerArchfeyBeguilingDefensesTitle=斗转星移
+Feature/&PowerArchfeyDarkDeliriumCharmedDescription=作为一个动作,选择一个你能在 60 尺范围内看到的生物。它必须进行一次感知豁免检定,对抗你的邪术士法术豁免 DC。如果豁免失败,它会被你魅惑 1 分钟。如果该生物受到任何伤害,此效果将提前结束。一旦你使用此特性,你就不能再次使用它,直到你完成短休或长休。
+Feature/&PowerArchfeyDarkDeliriumCharmedTitle=幻影黑幕:魅惑
+Feature/&PowerArchfeyDarkDeliriumDescription=作为一个动作,选择一个你能在 60 尺范围内看到的生物。它必须进行一次感知豁免检定,对抗你的邪术士法术豁免 DC。如果豁免失败,它会被你魅惑或因你而陷入恐慌(你选择)1 分钟。如果该生物受到任何伤害,此效果会提前结束。一旦你使用此特性,你就不能再次使用它,直到你完成短休或长休。
+Feature/&PowerArchfeyDarkDeliriumFrightenedDescription=作为一个动作,选择一个你能在 60 尺范围内看到的生物。它必须进行一次感知豁免检定,对抗你的邪术士法术豁免 DC。如果豁免失败,它会因你而陷入恐慌 1 分钟。如果该生物受到任何伤害,此效果会提前结束。一旦你使用此特性,你就不能再次使用它,直到你完成短休或长休。
+Feature/&PowerArchfeyDarkDeliriumFrightenedTitle=幻影黑幕:恐慌
+Feature/&PowerArchfeyDarkDeliriumTitle=幻影黑幕
+Feature/&PowerArchfeyFeyPresenceCharmedDescription=作为一个动作,你可以让来自你的 3x3 立方体中的每个生物进行一次对抗你的邪术士法术豁免 DC 的感知豁免检定。豁免失败的生物都会被你魅惑,直到你的下一回合结束。一旦你使用此特性,你就不能再次使用它,直到你完成一次短休或长休。
+Feature/&PowerArchfeyFeyPresenceCharmedTitle=妖精仪态:魅惑
+Feature/&PowerArchfeyFeyPresenceDescription=作为一个动作,你可以让来自你的 3x3 立方体中的每个生物进行一次对抗你的邪术士法术豁免 DC 的感知豁免检定。豁免检定失败的生物都会被你魅惑或因你而陷入恐慌(由你选择),直到你的下一回合结束。一旦你使用此特性,你就不能再次使用它,直到你完成短休或长休。
+Feature/&PowerArchfeyFeyPresenceFrightenedDescription=作为一个动作,你可以让来自你的 3x3 立方体中的每个生物进行一次对抗你的邪术士法术豁免 DC 的感知豁免检定。豁免失败的生物都会因你而陷入恐慌,直到你的下一回合结束。一旦你使用此特性,你就不能再次使用它,直到你完成一次短休或长休。
+Feature/&PowerArchfeyFeyPresenceFrightenedTitle=妖精仪态:恐慌
+Feature/&PowerArchfeyFeyPresenceTitle=妖精仪态
+Feature/&PowerArchfeyMistyEscapeDescription=当你被击中时,你可以利用自己的反应隐形并传送至最多 60 尺外你能看见的空旷空间。你保持隐形状态直到你的下一回合开始或直到你攻击或施放法术。一旦你使用此特性,你就不能再次使用它,直到你完成短休或长休。
+Feature/&PowerArchfeyMistyEscapeTitle=雾遁
+Reaction/&CustomReactionMistyEscapeDescription=你被命中了。你可以利用自己的反应隐形并传送至距离你能看到的最远 60 尺的空旷空间。
+Reaction/&CustomReactionMistyEscapeReactDescription=隐形并传送至 60 尺以内。
+Reaction/&CustomReactionMistyEscapeReactTitle=雾遁
+Reaction/&CustomReactionMistyEscapeTitle=雾遁
+Reaction/&UseBeguilingDefensesDescription=敌人试图迷惑你。你可以利用自己的反应试图将魅惑扭转回来。
+Reaction/&UseBeguilingDefensesReactDescription=将魅惑恢复原状。
+Reaction/&UseBeguilingDefensesReactTitle=斗转星移
+Reaction/&UseBeguilingDefensesTitle=斗转星移
+Subclass/&PatronArchfeyDescription=你的宗主是一位妖精的领主或女王,身为传奇生物的他们守护着凡人种族出现前就早已被遗忘的秘密。他们的行为往往难以理解,有时甚至不可理喻,而其动机通常是关于寻求更强魔力,或是渴望报复老旧仇怨。
+Subclass/&PatronArchfeyTitle=至高妖精
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WayOfTheStormSoul-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WayOfTheStormSoul-zh-CN.txt
new file mode 100644
index 0000000000..5eae720d76
--- /dev/null
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WayOfTheStormSoul-zh-CN.txt
@@ -0,0 +1,16 @@
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormDescription=这个印记随时可以爆炸,造成 5D10 雷鸣伤害。
+Condition/&ConditionWayOfTheStormSoulEyeOfTheStormTitle=风暴印记
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsDescription=每当你使用疾风连击时,你也会获得撤离动作的好处。它提供的额外攻击会造成额外的闪电伤害,伤害值等于你的武艺骰。
+Feature/&AdditionalDamageWayOfTheStormSoulDiscipleOfStormsTitle=风暴门徒
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormDescription=每当你用武僧武器、徒手攻击或闪电牵引伤害一个生物时,你就会用挥之不去的传导能量标记该生物 1 分钟。你可以使用你的行动并花费 3 气来消耗每个生物上的标记,并对它们强制进行敏捷豁免检定(DC = 8 + 熟练加值 + 感知调整值)。如果豁免失败,每个生物都会受到 5d10 点闪电伤害(豁免一半)。
+Feature/&FeatureSetWayOfTheStormSoulEyeOfTheStormTitle=风暴之眼
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorDescription=你获得了对闪电伤害的抗性,并且你可以使用你的感知作为施法调整值来替换你的任何主要动作攻击来施放闪电牵引戏法,而无需任何成分。
+Feature/&FeatureSetWayOfTheStormSoulLightningWarriorTitle=闪电战士
+Feature/&PowerWayOfTheStormSoulLightningLureDescription=你可以使用你的感知作为施法关键属性来替换你的任何主要动作攻击来施放闪电牵引戏法,而无需任何成分。
+Feature/&PowerWayOfTheStormSoulLightningLureTitle=闪电牵引
+Feature/&PowerWayOfTheStormSoulTempestFuryDescription=你可以花费 1 气来替换疾风连击提供的奖励攻击之一,以攻击你周围 5 尺内的所有敌方生物。
+Feature/&PowerWayOfTheStormSoulTempestFuryTitle=风暴之怒
+Feedback/&AdditionalDamageDiscipleOfStormsFormat=风暴门徒!
+Feedback/&AdditionalDamageDiscipleOfStormsLine={0} 用闪电 (+{2}) 打击 {1}
+Subclass/&WayOfTheStormSoulDescription=颶魂宗的武僧生活在索拉斯塔最高的山顶上,他们使自己适应强大风暴的能量,并学习将闪电的力量引导到他们的存在中。这些武者们利用自己独特的门派,化身为一股肆无忌惮的风暴,毫不费力地操纵着战场,从一个敌人冲向另一个敌人,向他们释放出无数闪电般的攻击。
+Subclass/&WayOfTheStormSoulTitle=颶魂宗
diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WizardWarMagic-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WizardWarMagic-zh-CN.txt
index 132936bac8..2e4a91f2d2 100644
--- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WizardWarMagic-zh-CN.txt
+++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/WizardWarMagic-zh-CN.txt
@@ -10,7 +10,7 @@ Feature/&FeatureWarMagicDurableMagicDescription=你所引导的魔法有助于
Feature/&FeatureWarMagicDurableMagicTitle=耐久魔法
Feature/&PowerWarMagicDeflectionShroudDescription=你的奥术偏斜会注入致命的魔法。当你使用奥术偏斜特性时,你可以使魔法能量从你身上射出。距离你 60 尺内最多三个最近的生物,每个生物都会受到相当于你法师等级一半的力场伤害。
Feature/&PowerWarMagicDeflectionShroudTitle=偏斜罩幕
-Feature/&PowerWarMagicSurgeDescription=您拥有的能量激增数量等于您的智力调整值(至少 1)。每当您成功使用法术反制结束法术时,您都会获得一次能量激增。每回合一次,当您使用法师法术对生物或物体造成伤害时,您可以花费一次能量激增来对该法术的一次伤害掷骰造成额外的力量伤害。额外的伤害等于您的法师等级。
+Feature/&PowerWarMagicSurgeDescription=每次长休,你的魔力潮涌次数等于你的智力调整值(最少一次)。每当你成功用法术反制结束一个法术时,你都会恢复一次魔力潮涌。每回合一次,当你用法师法术对生物或物体造成伤害时,你可以花费一次魔力潮涌,在该法术的一次伤害掷骰上对其造成额外的力场伤害。额外的伤害等于你的法师等级。
Feature/&PowerWarMagicSurgeTitle=魔力潮涌
Feedback/&ArcaneDeflectionAttackRoll={0} 使用 {1} 从攻击检定 ({3}) 中减去智力调整值 ({2})
Feedback/&ArcaneDeflectionSavingRoll={0} 使用 {1} 将智力调整值 ({2}) 添加到豁免检定 ({3}) 中
diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt
index 088cd960f4..7c5df5783b 100644
--- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt
+++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt
@@ -2709,8 +2709,8 @@ Equipment/&ScrollMaledictionDescription=Используя этот свиток
Equipment/&ScrollMaledictionTitle=Свиток заклинания «Сглаз»
Equipment/&ScrollMassCureWoundsDescription=Используя этот свиток, вы накладываете заклинание «Массовое лечение ран».
Equipment/&ScrollMassCureWoundsTitle=Свиток «Массовое лечение ран»
-Equipment/&ScrollMassHealingWordDescription=Используя этот свиток, вы накладываете заклинание «Слово массового лечения».
-Equipment/&ScrollMassHealingWordTitle=Свиток «Слово массового лечения»
+Equipment/&ScrollMassHealingWordDescription=Используя этот свиток, вы накладываете заклинание «Множественное лечащее слово».
+Equipment/&ScrollMassHealingWordTitle=Свиток «Множественное лечащее слово»
Equipment/&ScrollMazeDescription=Используя этот свиток, вы накладываете заклинание «Лабиринт».
Equipment/&ScrollMazeTitle=Свиток заклинания «Лабиринт»
Equipment/&ScrollMindTwistDescription=Используя этот свиток, вы накладываете заклинание «Излом разума».
diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt
index fb24df24b9..4410aac41d 100644
--- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt
+++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt
@@ -307,7 +307,7 @@ Spell/&HasteDescription=Делает союзника более быстрым
Spell/&HasteTitle=Ускорение
Spell/&HealDescription=Восстанавливает 70 очков здоровья, также отменяет ослепление и болезни.
Spell/&HealingWordDescription=Лечит союзника в поле зрения.
-Spell/&HealingWordTitle=Целительное слово
+Spell/&HealingWordTitle=Лечащее слово
Spell/&HealTitle=Исцеление
Spell/&HeatMetalDescription=Раскаляет металлические доспехи, надетые на выбранное существо, нанося огненный урон и вызывая помеху к броскам атаки и проверкам характеристик. Урон можно повторять каждый ход с помощью бонусного действия.
Spell/&HeatMetalTitle=Раскалённый металл
@@ -378,7 +378,7 @@ Spell/&MaledictionTitle=Сглаз
Spell/&MassCureWoundsDescription=Исцеляет до 6 существ.
Spell/&MassCureWoundsTitle=Массовое лечение ран
Spell/&MassHealingWordDescription=Моментально лечит до шести союзников в поле зрения.
-Spell/&MassHealingWordTitle=Групповое целительное слово
+Spell/&MassHealingWordTitle=Множественное лечащее слово
Spell/&MazeDescription=Вы изгоняете существо в поле своего зрения и радиусе действия заклинания в запутанное карманное измерение. Если цель не сможет найти выход из лабиринта, то останется в нём до конца действия заклинания.
Spell/&MazeTitle=Лабиринт
Spell/&MindTwistDescription=Наносит огромный психический урон вражеским существам вокруг вас и обездвиживает их, если они не смогут выполнить успешный спасбросок ИНТ.
diff --git a/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs b/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs
index 121f3ade0a..f029777e5b 100644
--- a/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs
+++ b/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs
@@ -88,6 +88,12 @@ internal static class ValidatorsCharacter
character.HasFreeHandSlot() &&
!ValidatorsWeapon.HasAnyWeaponTag(character.GetMainWeapon(), TagsDefinitions.WeaponTagTwoHanded);
+ internal static readonly IsCharacterValidHandler HasFreeHandWithHeavyOrVersatileInMain = character =>
+ character.HasFreeHandSlot() &&
+ ValidatorsWeapon.IsMelee(character.GetMainWeapon()) &&
+ ValidatorsWeapon.HasAnyWeaponTag(
+ character.GetMainWeapon(), TagsDefinitions.WeaponTagHeavy, TagsDefinitions.WeaponTagVersatile);
+
internal static readonly IsCharacterValidHandler HasFreeHand = character =>
character.HasFreeHandSlot() ||
character is RulesetCharacterMonster;
diff --git a/SolastaUnfinishedBusiness/Validators/ValidatorsFeat.cs b/SolastaUnfinishedBusiness/Validators/ValidatorsFeat.cs
index 4a8380e315..2100165c4a 100644
--- a/SolastaUnfinishedBusiness/Validators/ValidatorsFeat.cs
+++ b/SolastaUnfinishedBusiness/Validators/ValidatorsFeat.cs
@@ -125,6 +125,19 @@ internal static class ValidatorsFeat
// Validators
//
+ internal static (bool result, string output) ValidateHasExtraAttack(FeatDefinition _, RulesetCharacterHero hero)
+ {
+ var guiFormat = Gui.Localize("Tooltip/&PreReqMustHaveExtraAttacks");
+ var hasExtraAttack = hero.GetFeaturesByType()
+ .Any(x =>
+ x.ModifiedAttribute == AttributeDefinitions.AttacksNumber &&
+ x.ModifierOperation
+ is FeatureDefinitionAttributeModifier.AttributeModifierOperation.Additive
+ or FeatureDefinitionAttributeModifier.AttributeModifierOperation.ForceIfBetter);
+
+ return !hasExtraAttack ? (false, Gui.Colorize(guiFormat, Gui.ColorFailure)) : (true, guiFormat);
+ }
+
[NotNull]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
internal static Func ValidateNotFightingStyle(
diff --git a/SolastaUnfinishedBusiness/Validators/ValidatorsValidatePowerUse.cs b/SolastaUnfinishedBusiness/Validators/ValidatorsValidatePowerUse.cs
index 33902ca6fa..6c30feeb11 100644
--- a/SolastaUnfinishedBusiness/Validators/ValidatorsValidatePowerUse.cs
+++ b/SolastaUnfinishedBusiness/Validators/ValidatorsValidatePowerUse.cs
@@ -2,6 +2,7 @@
using System.Runtime.CompilerServices;
using SolastaUnfinishedBusiness.Api.GameExtensions;
using SolastaUnfinishedBusiness.Interfaces;
+using static ActionDefinitions;
namespace SolastaUnfinishedBusiness.Validators;
@@ -20,35 +21,49 @@ internal sealed class ValidatorsValidatePowerUse : IValidatePowerUse
return Gui.Battle == null || glc is { RemainingTacticalMoves: > 0 };
});
- public static readonly IValidatePowerUse HasMainAttackAvailable = new ValidatorsValidatePowerUse(character =>
- {
- if (Gui.Battle == null)
+ public static readonly IValidatePowerUse HasBonusAttackAvailable = new ValidatorsValidatePowerUse(
+ rulesetCharacter =>
{
- return true;
- }
+ if (Gui.Battle == null)
+ {
+ return true;
+ }
- const ActionDefinitions.ActionType ACTION_TYPE = ActionDefinitions.ActionType.Main;
+ var character = GameLocationCharacter.GetFromActor(rulesetCharacter);
- var glc = GameLocationCharacter.GetFromActor(character);
+ if (character == null ||
+ character.GetActionStatus(Id.AttackOff, ActionScope.Battle) != ActionStatus.Available)
+ {
+ return false;
+ }
- if (glc == null)
- {
- return false;
- }
+ var maxAttacksNumber = rulesetCharacter.AttackModes
+ .FirstOrDefault(attackMode => attackMode.ActionType == ActionType.Bonus)?.AttacksNumber ?? 0;
- var isMainAvailable = glc.GetActionTypeStatus(ACTION_TYPE) == ActionDefinitions.ActionStatus.Available;
+ return maxAttacksNumber - character.UsedBonusAttacks > 0;
+ });
- if (!isMainAvailable && !glc.UsedSpecialFeatures.ContainsKey("AttackedWithMain"))
+ public static readonly IValidatePowerUse HasMainAttackAvailable = new ValidatorsValidatePowerUse(
+ rulesetCharacter =>
{
- return false;
- }
+ if (Gui.Battle == null)
+ {
+ return true;
+ }
- var maxAttacksNumber = character.AttackModes
- .Where(attackMode => attackMode.ActionType == ACTION_TYPE)
- .Max(attackMode => attackMode.AttacksNumber);
+ var character = GameLocationCharacter.GetFromActor(rulesetCharacter);
- return maxAttacksNumber - character.ExecutedAttacks > 0;
- });
+ if (character == null ||
+ character.GetActionStatus(Id.AttackMain, ActionScope.Battle) != ActionStatus.Available)
+ {
+ return false;
+ }
+
+ var maxAttacksNumber = rulesetCharacter.AttackModes
+ .FirstOrDefault(attackMode => attackMode.ActionType == ActionType.Main)?.AttacksNumber ?? 0;
+
+ return maxAttacksNumber - character.UsedMainAttacks > 0;
+ });
private readonly IsPowerUseValidHandler[] _validators;