diff --git a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt index 7437030406..3510476926 100644 --- a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt +++ b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt @@ -264,6 +264,7 @@ ConditionMoonlitScionNewMoon Description='-'. ConditionMoonlitScionNewMoonLunarEmbrace Description='-'. ConditionMoonlitScionNewMoonMidnightBlessing Description='-'. ConditionPatronMountainClingingStrength Description='-'. +ConditionPowerWordStunStopped Description='-'. ConditionPsionicBlast Description='-'. ConditionRangerGloomStalkerDreadAmbusher Description='-'. ConditionRangerSkyWarriorGiftOfTheWind Description='-'. @@ -1302,8 +1303,8 @@ PowerCreateSpellStoringWandOfPassWithoutTrace Title='Pass Without Trace'. PowerCreateSpellStoringWandOfPassWithoutTrace Description='Create a wand that can cast Pass Without Trace (II) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfPetalStorm Title='Petal Storm'. PowerCreateSpellStoringWandOfPetalStorm Description='Create a wand that can cast Petal Storm (II) spell using your Artificer spell attack modifier and save DC.'. -PowerCreateSpellStoringWandOfProtectionFromEvilGood Title='Protect vs Evil & Good'. -PowerCreateSpellStoringWandOfProtectionFromEvilGood Description='Create a wand that can cast Protect vs Evil & Good (I) spell using your Artificer spell attack modifier and save DC.'. +PowerCreateSpellStoringWandOfProtectionFromEvilGood Title='Protect vs Evil and Good'. +PowerCreateSpellStoringWandOfProtectionFromEvilGood Description='Create a wand that can cast Protect vs Evil and Good (I) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfProtectionFromPoison Title='Protection from Poison'. PowerCreateSpellStoringWandOfProtectionFromPoison Description='Create a wand that can cast Protection from Poison (II) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfProtectThreshold Title='Protect Threshold'. @@ -1314,6 +1315,8 @@ PowerCreateSpellStoringWandOfRadiantMotes Title='Radiant Motes'. PowerCreateSpellStoringWandOfRadiantMotes Description='Create a wand that can cast Radiant Motes (I) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfRayOfEnfeeblement Title='Ray of Enfeeblement'. PowerCreateSpellStoringWandOfRayOfEnfeeblement Description='Create a wand that can cast Ray of Enfeeblement (II) spell using your Artificer spell attack modifier and save DC.'. +PowerCreateSpellStoringWandOfRayOfSickness Title='Ray of Sickness'. +PowerCreateSpellStoringWandOfRayOfSickness Description='Create a wand that can cast Ray of Sickness (I) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfScorchingRay Title='Scorching Ray'. PowerCreateSpellStoringWandOfScorchingRay Description='Create a wand that can cast Scorching Ray (II) spell using your Artificer spell attack modifier and save DC.'. PowerCreateSpellStoringWandOfSeeInvisibility Title='See Invisibility'. @@ -1842,8 +1845,8 @@ SpellStoringWandOfPassWithoutTrace Title='Wand of Pass Without Trace'. SpellStoringWandOfPassWithoutTrace Description='This wand allows casting the Pass Without Trace spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfPetalStorm Title='Wand of Petal Storm'. SpellStoringWandOfPetalStorm Description='This wand allows casting the Petal Storm spell using spell casting stats of the Artificer who created it.'. -SpellStoringWandOfProtectionFromEvilGood Title='Wand of Protect vs Evil & Good'. -SpellStoringWandOfProtectionFromEvilGood Description='This wand allows casting the Protect vs Evil & Good spell using spell casting stats of the Artificer who created it.'. +SpellStoringWandOfProtectionFromEvilGood Title='Wand of Protect vs Evil and Good'. +SpellStoringWandOfProtectionFromEvilGood Description='This wand allows casting the Protect vs Evil and Good spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfProtectionFromPoison Title='Wand of Protection from Poison'. SpellStoringWandOfProtectionFromPoison Description='This wand allows casting the Protection from Poison spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfProtectThreshold Title='Wand of Protect Threshold'. @@ -1854,6 +1857,8 @@ SpellStoringWandOfRadiantMotes Title='Wand of Radiant Motes'. SpellStoringWandOfRadiantMotes Description='This wand allows casting the Radiant Motes spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfRayOfEnfeeblement Title='Wand of Ray of Enfeeblement'. SpellStoringWandOfRayOfEnfeeblement Description='This wand allows casting the Ray of Enfeeblement spell using spell casting stats of the Artificer who created it.'. +SpellStoringWandOfRayOfSickness Title='Wand of Ray of Sickness'. +SpellStoringWandOfRayOfSickness Description='This wand allows casting the Ray of Sickness spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfScorchingRay Title='Wand of Scorching Ray'. SpellStoringWandOfScorchingRay Description='This wand allows casting the Scorching Ray spell using spell casting stats of the Artificer who created it.'. SpellStoringWandOfSeeInvisibility Title='Wand of See Invisibility'. diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 0cad0a5bcc..a4c57245ed 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -602,6 +602,7 @@ ConditionAncientForestHerbalBrewDamageAffinityPoisonResistance ConditionDefiniti ConditionAncientForestHerbalBrewDamageAffinityRadiantResistance ConditionDefinition ConditionDefinition a5045396-b809-5cf3-8c15-8fb82939b351 ConditionAncientForestPhotosynthesis ConditionDefinition ConditionDefinition 59085781-bfce-536c-b8b2-69fc17753cba ConditionAncientForestRooted ConditionDefinition ConditionDefinition bceeaabc-7634-5bb7-aea1-abfe2fe86f9a +ConditionArcaneApotheosis ConditionDefinition ConditionDefinition a08f66d8-ed86-51e9-9b8b-b17560ad1304 ConditionArcaneFighterSpellFighting ConditionDefinition ConditionDefinition 5b2e1f19-2fdb-57c9-997b-0e93d947d393 ConditionArchfeyBeguilingDefenses ConditionDefinition ConditionDefinition e078b30d-df8e-52ea-aa2e-8ab260e23d75 ConditionArchfeyDarkDeliriumCharmed ConditionDefinition ConditionDefinition 6ee74407-fd8a-5570-8e37-669e09c710e5 @@ -997,6 +998,7 @@ ConditionMartialWarlordExploitOpening ConditionDefinition ConditionDefinition cd ConditionMartialWarlordPredictAttack ConditionDefinition ConditionDefinition 480c06a1-042e-5aa4-8963-c7f88b380da4 ConditionMartialWeaponMasterFocusedStrikes ConditionDefinition ConditionDefinition 950c80c4-1da7-509a-b3b6-6872961b351a ConditionMartialWeaponMasterMomentum ConditionDefinition ConditionDefinition 632f8074-c197-506e-8c07-66d13519009c +ConditionMemorizeSpell ConditionDefinition ConditionDefinition f809d2ad-324f-5d12-aec6-6fda596a3961 ConditionMetamagicFocusedSpell ConditionDefinition ConditionDefinition 2dec2fd6-63b8-5817-a6b6-9df1a06f0385 ConditionMetamagicTransmutedSpell ConditionDefinition ConditionDefinition a250254d-1b81-59bd-980f-b95d87045ee3 ConditionMindBlank ConditionDefinition ConditionDefinition 62e09827-ac34-5dcd-900b-feab80a4248b @@ -1096,6 +1098,7 @@ ConditionPatronEldritchSurgeBlastOverload ConditionDefinition ConditionDefinitio ConditionPatronEldritchSurgeBlastReloadSupport ConditionDefinition ConditionDefinition 174edb24-be35-5d84-bf76-4b1e34894bb2 ConditionPatronMountainBarrierOfStone ConditionDefinition ConditionDefinition 809a17c6-f788-5715-b2a4-5615aff38f59 ConditionPatronMountainClingingStrength ConditionDefinition ConditionDefinition 95f9872c-2452-51f1-8ef1-b78579f8bb50 +ConditionPowerWordStunStopped ConditionDefinition ConditionDefinition c9615235-8856-51be-8bf7-3eeb9d7e0453 ConditionPsionicBlast ConditionDefinition ConditionDefinition cb0c1036-6f3f-592c-b467-a4c6d4725038 ConditionPsychicWhipNoBonus ConditionDefinition ConditionDefinition 35c585b6-2d9c-5fa4-8cec-8eeee7782805 ConditionPsychicWhipNoMain ConditionDefinition ConditionDefinition ccc00964-9d8a-5bbb-a5ea-102706e85f80 @@ -1217,6 +1220,7 @@ ConditionStopMovement ConditionDefinition ConditionDefinition fc5e117a-fd71-5022 ConditionStrikeWithTheWind ConditionDefinition ConditionDefinition 09a25820-2d7f-5ab3-915d-d4ec14e5d861 ConditionStrikeWithTheWindAttack ConditionDefinition ConditionDefinition f07489c7-911e-5f9e-abdc-a99fb662b822 ConditionStrikeWithTheWindMovement ConditionDefinition ConditionDefinition b6d30c71-6401-517b-9110-da16268d2fec +ConditionStudiedAttacks ConditionDefinition ConditionDefinition 3d1dc3d0-5552-532c-9926-a0d5a16827e1 ConditionSummoningAffinityDruidWildshape ConditionDefinition ConditionDefinition 609fd576-e007-5d87-84ad-d79340635221 ConditionSunderingBlow ConditionDefinition ConditionDefinition c90e3266-d44c-5af1-ab8d-e8bb7927ec28 ConditionSunderingBlowAlly ConditionDefinition ConditionDefinition 73a99876-5aed-5b10-a854-b4c63147585a @@ -1261,6 +1265,7 @@ ConditionWildlingAgile ConditionDefinition ConditionDefinition 78eb64cb-30f4-50f ConditionWildlingTired ConditionDefinition ConditionDefinition 0479b648-9d67-5286-83d6-9993c17d283f ConditionWitchBolt ConditionDefinition ConditionDefinition cfc584b3-e55a-59d7-ae96-d37d2a6bbfe4 ConditionWitchBoltSelf ConditionDefinition ConditionDefinition e289f769-f048-5a95-ae98-f75c177fe934 +ConditionWithdrawn ConditionDefinition ConditionDefinition f34dd424-9c5d-518c-bb0e-fc6dfeb92d13 ConditionWitherAndBloom ConditionDefinition ConditionDefinition 9417acb2-0c73-54f5-b4c9-83aaccc20056 ConditionWizardAbjurationArcaneWard ConditionDefinition ConditionDefinition 7b72c1cb-ddec-59c2-be78-f3afc0803895 ConditionWizardAbjurationProjectedWard ConditionDefinition ConditionDefinition 927bfbc6-af1b-5495-ae4e-f060510f4ef5 @@ -1275,7 +1280,7 @@ ConditionWizardGraviturgistEventHorizonSelf ConditionDefinition ConditionDefinit ConditionWizardGraviturgistViolentAttraction ConditionDefinition ConditionDefinition b4b9c18f-4b61-5d85-af80-f08cea2600dd ConditionWrack ConditionDefinition ConditionDefinition 886b855a-3d41-5c6a-87e5-f9327ecde519 ConditionWrathfulSmite ConditionDefinition ConditionDefinition b551eee2-5f52-552d-a943-4fba57fea5cb -ConditionWrathfulSmiteEnemy ConditionDefinition ConditionDefinition 08ab37a6-23bc-59c3-ac2b-09f02170a996 +ConditionWrathfulSmiteFrightened ConditionDefinition ConditionDefinition 576fd1b9-eb34-5985-951d-eaa3de3c72f0 9999 ContentPackDefinition ContentPackDefinition 81c2b331-87e1-51f4-a035-33adf3429def DamageChaosBolt DamageDefinition DamageDefinition ebaf896a-d18b-53c8-9d01-7f45e1033cb1 DamagePure DamageDefinition DamageDefinition c5cbdb1e-040d-55a7-bbdb-d56c40f14ab8 @@ -1288,7 +1293,6 @@ DecisionBreakFreeConditionNoxiousSpray TA.AI.DecisionDefinition TA.AI.DecisionDe DecisionBreakFreeConditionOathOfAncientsNaturesWrath TA.AI.DecisionDefinition TA.AI.DecisionDefinition 25d7ad8d-27b8-5882-9bfb-acc37798812f DecisionBreakFreeConditionRestrainedByEntangle TA.AI.DecisionDefinition TA.AI.DecisionDefinition 2a416669-5ec8-53c1-b07b-8fe6f29da4d2 DecisionBreakFreeConditionVileBrew TA.AI.DecisionDefinition TA.AI.DecisionDefinition 4b3278e8-334a-58d6-8c75-2f48e28b4e54 -DecisionBreakFreeConditionWrathfulSmiteEnemy TA.AI.DecisionDefinition TA.AI.DecisionDefinition 6400794a-3234-55f7-973f-d443c38c9a20 DecisionBreakFreeIfProneConditionFlashFreeze TA.AI.DecisionDefinition TA.AI.DecisionDefinition da3156da-4123-59f2-bdb9-461386b5b868 DecisionBreakFreeIfProneConditionGrappledRestrainedEnsnared TA.AI.DecisionDefinition TA.AI.DecisionDefinition f6a19109-a315-56a1-95ef-ab7539b2cbda DecisionBreakFreeIfProneConditionGrappledRestrainedIceBound TA.AI.DecisionDefinition TA.AI.DecisionDefinition c9a94f52-2040-56ca-bc6b-d3c584075029 @@ -1298,7 +1302,6 @@ DecisionBreakFreeIfProneConditionNoxiousSpray TA.AI.DecisionDefinition TA.AI.Dec DecisionBreakFreeIfProneConditionOathOfAncientsNaturesWrath TA.AI.DecisionDefinition TA.AI.DecisionDefinition 909ba6d6-b645-5358-91f3-3779292aed18 DecisionBreakFreeIfProneConditionRestrainedByEntangle TA.AI.DecisionDefinition TA.AI.DecisionDefinition 599f0368-12a5-533e-be08-0d3d1399a2a9 DecisionBreakFreeIfProneConditionVileBrew TA.AI.DecisionDefinition TA.AI.DecisionDefinition 638460e8-400b-5be8-8e02-d88e11f0b6f5 -DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy TA.AI.DecisionDefinition TA.AI.DecisionDefinition 6d6e4da8-2b8c-53ba-ae3a-6342e9c0fe44 Move_Approach TA.AI.DecisionDefinition TA.AI.DecisionDefinition 5cb2a87f-09a4-5fae-9b74-10516ea8a8ab Approach TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition 5043a0ec-c626-5877-bd87-c7bc0584366d BreakFreeAbilityCheckConditionFlashFreeze TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition 5578aa14-4a4c-5aa0-b787-7203e14b8a36 @@ -1310,7 +1313,6 @@ BreakFreeAbilityCheckConditionNoxiousSpray TA.AI.DecisionPackageDefinition TA.AI BreakFreeAbilityCheckConditionOathOfAncientsNaturesWrath TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition c2d43b3b-7204-56df-a270-89202bf8ec7b BreakFreeAbilityCheckConditionRestrainedByEntangle TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition 0d9623d9-0cd7-5c03-8275-e9e61f0f1b6a BreakFreeAbilityCheckConditionVileBrew TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition 7b202c71-3241-5f80-8b02-ada4a0d9383f -BreakFreeAbilityCheckConditionWrathfulSmiteEnemy TA.AI.DecisionPackageDefinition TA.AI.DecisionPackageDefinition 8952dfa4-c552-57f5-bf82-7e317c4e459d DieTypeD3 DieTypeDefinition DieTypeDefinition 63dc904b-8d78-5406-90aa-e7e1f3eefd84 ProxyCircleOfTheWildfireCauterizingFlames EffectProxyDefinition EffectProxyDefinition 5d3d90cd-1858-5044-b4f6-586754122132 ProxyCreateBonfire EffectProxyDefinition EffectProxyDefinition a84e5459-b44a-5dfd-9f27-c4a44b571c3a @@ -1794,6 +1796,7 @@ AdditionalDamageBlindingSmite FeatureDefinitionAdditionalDamage FeatureDefinitio AdditionalDamageBoomingBlade FeatureDefinitionAdditionalDamage FeatureDefinition 65e7bca6-a00e-574d-9bee-f2f9038ef72f AdditionalDamageBrutalStrike FeatureDefinitionAdditionalDamage FeatureDefinition fc7164ba-b62e-52d4-803d-14acb0f8e45c AdditionalDamageCrippling FeatureDefinitionAdditionalDamage FeatureDefinition 3a68707a-e9fb-5657-9956-5cb90bf16aa7 +AdditionalDamageCrusadersMantle FeatureDefinitionAdditionalDamage FeatureDefinition 7ca7052c-c8f9-538a-8e08-87176c4dd87c AdditionalDamageDamageAcidElementalWeapon FeatureDefinitionAdditionalDamage FeatureDefinition 4d43f6ea-aaa2-5a0e-8a56-dfde825bab67 AdditionalDamageDamageAcidElementalWeapon1 FeatureDefinitionAdditionalDamage FeatureDefinition 7a7f20c7-da96-5b02-8b71-2a75c433f6e6 AdditionalDamageDamageAcidElementalWeapon2 FeatureDefinitionAdditionalDamage FeatureDefinition 6bbfe0f5-43b5-51e8-9c05-56cb0d1f9920 @@ -2151,6 +2154,7 @@ CampAffinityInvocationAspectOfTheMoonTrance FeatureDefinitionCampAffinity Featur CastSpellAegisTouchedCharisma FeatureDefinitionCastSpell FeatureDefinition eda5c465-6ca1-52c4-9163-c42590682b47 CastSpellAegisTouchedIntelligence FeatureDefinitionCastSpell FeatureDefinition 0092f417-664e-5f22-b238-40af980cf36a CastSpellAegisTouchedWisdom FeatureDefinitionCastSpell FeatureDefinition 3c7df92d-2c3f-572d-b3e5-604b91dd0f0e +CastSpellBlessedWarrior FeatureDefinitionCastSpell FeatureDefinition c41913c6-5796-5584-8dde-4693d4639760 CastSpellBolgrifMagic FeatureDefinitionCastSpell FeatureDefinition a0279437-8ed9-52b7-90a0-8a83973943a9 CastSpellCelestialTouchedCharisma FeatureDefinitionCastSpell FeatureDefinition 5dca6d07-6647-5489-a834-5d82d3ad0b1e CastSpellCelestialTouchedIntelligence FeatureDefinitionCastSpell FeatureDefinition 8b48d0b9-1d6d-5ba9-a69f-c10c461bb1ac @@ -2158,6 +2162,7 @@ CastSpellCelestialTouchedWisdom FeatureDefinitionCastSpell FeatureDefinition c30 CastSpellDarkelfMagic FeatureDefinitionCastSpell FeatureDefinition 6e220b82-738f-5b16-a85a-0b60414bf155 CastSpellDomainNature FeatureDefinitionCastSpell FeatureDefinition 6c75c61f-8776-5dc3-9e94-37eeac872e07 CastSpellDraconicKoboldMagic FeatureDefinitionCastSpell FeatureDefinition b86bcf0e-1164-5b62-b1d0-6fe08be1dc4f +CastSpellDruidicWarrior FeatureDefinitionCastSpell FeatureDefinition 9842c48a-14fc-5325-9eed-7bc1e36090f6 CastSpellFairy FeatureDefinitionCastSpell FeatureDefinition 039073a8-0a8d-5cc1-bf62-8a7c816bafda CastSpellFeatDarkElfMagic FeatureDefinitionCastSpell FeatureDefinition 6fb3273c-08be-5009-975a-dfcf5384dfe5 CastSpellFeatMagicInitiateBard FeatureDefinitionCastSpell FeatureDefinition 9dffb549-1d49-5ca6-9c7f-f94673d59c4d @@ -2262,6 +2267,7 @@ CombatAffinitySickeningRadianceExhausted3 FeatureDefinitionCombatAffinity Featur CombatAffinitySoulExpulsion FeatureDefinitionCombatAffinity FeatureDefinition 2a270517-7b68-53ba-a2c7-36e7b6f36fd1 CombatAffinityStaggeringSmite FeatureDefinitionCombatAffinity FeatureDefinition bec893d0-747c-520d-a494-b5c9551b2c73 CombatAffinityStrikeWithTheWind FeatureDefinitionCombatAffinity FeatureDefinition 4a9706fc-be59-5efb-a679-00d13298b19f +CombatAffinityStudiedAttacks FeatureDefinitionCombatAffinity FeatureDefinition 3601aeb6-a4b3-5679-b19c-4a5c78aafc00 CombatAffinitySynapticStatic FeatureDefinitionCombatAffinity FeatureDefinition b0cbe05c-172e-5879-aaef-ed22a25801be CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinition 8a9c32ac-8aaa-5888-8a17-1f78d723b3a4 CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinition a926a6b4-aa9f-5279-8aa6-fd357e746f91 @@ -2423,6 +2429,9 @@ FeatureFeatMageSlayer FeatureDefinition FeatureDefinition 6da839a2-0308-5e81-a70 FeatureFeatPiercer FeatureDefinitionDieRollModifier FeatureDefinition 338a8e7d-d1be-5434-b3b1-8d23c2346a90 FeatureFeatSecondChance FeatureDefinition FeatureDefinition 746ce09a-b4da-5242-a0d6-d437f2beaa60 FeatureFeatSlasher FeatureDefinition FeatureDefinition de775d90-7155-534a-b21f-d8c00d22ae87 +FeatureFighterStudiedAttacks FeatureDefinition FeatureDefinition 1724a96d-764f-5dd8-85f3-9aa9f8f3bbf6 +FeatureFighterTacticalMind FeatureDefinition FeatureDefinition aeda37de-9e7d-539f-baa7-c59101d11869 +FeatureFighterTacticalShift FeatureDefinition FeatureDefinition 3a559ccf-7373-51b9-aba1-bfa99394f578 FeatureFightingStyleExecutioner FeatureDefinition FeatureDefinition 44cbdc12-60f2-546b-8b9a-2be9e29b7c23 FeatureGambitBrace FeatureDefinition FeatureDefinition 658fc369-f155-5aea-aa29-b8b92f31c36f FeatureGambitParry FeatureDefinition FeatureDefinition a7b0af78-bde3-5abd-a988-ad3226730cbb @@ -2430,6 +2439,7 @@ FeatureGambitPrecise FeatureDefinition FeatureDefinition 8f6307c7-8507-531b-bc1a FeatureGambitReturnFire FeatureDefinition FeatureDefinition c0a0dfab-578d-5818-acc2-4128e97c587c FeatureGambitRiposte FeatureDefinition FeatureDefinition db3c2282-460a-597a-975a-8b9ab117e03f FeatureHatredDauntlessPursuer FeatureDefinition FeatureDefinition f3b49825-68cd-539c-ad2f-18d93af67b0f +FeatureImprovedRogueCunningStrike FeatureDefinition FeatureDefinition d2d36dd6-b8e7-5a38-8d3c-8f665ba8a2a2 FeatureImproviseStrategy FeatureDefinitionFeatureSet FeatureDefinition 619b0594-2816-595d-a7fc-8656266ac307 FeatureInnovationAlchemyBombs FeatureDefinition FeatureDefinition d831282d-31f5-507f-88d9-c52083dcc036 FeatureInnovationAlchemyExtraOverchargeBombs FeatureDefinition FeatureDefinition 0ebedc10-3e37-53de-ad5b-c2977253a4b8 @@ -2715,6 +2725,7 @@ FeatureSetRoyalKnightInspiringProtection FeatureDefinitionFeatureSet FeatureDefi FeatureSetRoyalKnightRoyalEnvoy FeatureDefinitionFeatureSet FeatureDefinition bad48f2a-730c-5cc9-a86c-45f1ab5f3348 FeatureSetSorcererDraconicBloodlinePresence FeatureDefinitionFeatureSet FeatureDefinition cb9617fd-91e8-5390-9393-92257ec84a1e FeatureSetSorcererManaPainterManaOverflow FeatureDefinitionFeatureSet FeatureDefinition e760f273-b462-5207-94e0-e8a2845bbc1a +FeatureSetSorcererSorceryIncarnate FeatureDefinitionFeatureSet FeatureDefinition 1785f637-bb38-5a3b-b5d4-cfe1502eda77 FeatureSetSorcerousFieldManipulatorForcefulStep FeatureDefinitionFeatureSet FeatureDefinition 4e4cb028-4e59-5331-84e6-145b74cd5db9 FeatureSetSorcerousPsionPsychokinesis FeatureDefinitionFeatureSet FeatureDefinition e0e1d56e-3077-5983-a302-91e46e609d76 FeatureSetSorcerousPsionSupremeWill FeatureDefinitionFeatureSet FeatureDefinition 0f327fb8-c271-5f2c-a67f-2ec381f03a30 @@ -2757,6 +2768,7 @@ FeatureSetWizardAbjurationImprovedAbjuration FeatureDefinitionFeatureSet Feature FeatureSetWizardAbjurationSpellResistance FeatureDefinitionFeatureSet FeatureDefinition b8ea5c10-5f8f-5fe6-877b-e5b6b126d281 FeatureSetWizardEvocationOverChannel FeatureDefinitionFeatureSet FeatureDefinition 720b1e2a-dc47-5f5a-bc9d-5ef848795cc9 FeatureShadowBlade FeatureDefinition FeatureDefinition aa9a0c6a-22d4-5f5a-b9c6-0bc354dd70f3 +FeatureSorcererArcaneApotheosis FeatureDefinition FeatureDefinition fe690145-bc7a-58df-87df-bd145095cc3a FeatureSorcererMagicalGuidance FeatureDefinition FeatureDefinition 7ead2f7d-4077-52c2-bbe3-6b2912e07a20 FeatureSorcerousWildMagicSpellBombardment FeatureDefinition FeatureDefinition 836685ef-d8b3-5642-bb4e-a52cb99a2afa FeatureTacticianGambitDieSizeD10 FeatureDefinition FeatureDefinition 200658b7-db0d-5eec-ba50-4203fa3e9618 @@ -2779,6 +2791,7 @@ FeatureWhirlWindAttackExtraBonusAttack FeatureDefinition FeatureDefinition a88eb FeatureWildlingClaws FeatureDefinition FeatureDefinition fbb8a01e-8eca-57d1-9963-0ccd16a789cc FeatureWizardEvocationEmpoweredEvocation FeatureDefinition FeatureDefinition 4ff4b221-498d-5cdb-a882-ebd551626bd1 FeatureWizardEvocationSculptSpells FeatureDefinition FeatureDefinition f6634f1c-0f87-5369-98ab-c610c0bd24bf +FeatureWizardMemorizeSpell FeatureDefinition FeatureDefinition 6384d62e-8775-55f9-809a-0146dc0a9bbd FeatureWizardSpellMastery FeatureDefinition FeatureDefinition 17f73bcd-e536-5b14-9222-7ba2edbf88ab FeatureZenArcher FeatureDefinitionAttackModifier FeatureDefinition e592b0d3-9a0c-56b4-b0ad-9aaca5718ccc FightingStyleChoiceBarbarian FeatureDefinitionFightingStyleChoice FeatureDefinition d44fe52d-97d1-5023-b849-6c5be8660f18 @@ -2898,6 +2911,7 @@ MagicAffinityDeadMasterInflictWounds FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterMinorLifesteal FeatureDefinitionMagicAffinity FeatureDefinition 4190993a-436b-54c1-8f14-ae88c9ea78b8 MagicAffinityDeadMasterRaiseDead FeatureDefinitionMagicAffinity FeatureDefinition d3cfe519-e676-5c36-8319-f82552e0def2 MagicAffinityDeadMasterRayOfEnfeeblement FeatureDefinitionMagicAffinity FeatureDefinition 07e798e9-cc0d-54f7-a090-5e9eccac112f +MagicAffinityDeadMasterRayOfSickness FeatureDefinitionMagicAffinity FeatureDefinition 11e82cf5-4a45-510b-bada-62814d0e6c5e MagicAffinityDeadMasterResurrection FeatureDefinitionMagicAffinity FeatureDefinition 00e91863-7490-510c-b9d9-7a55a9237371 MagicAffinityDeadMasterRevivify FeatureDefinitionMagicAffinity FeatureDefinition 301ee294-3a06-595c-9dbf-98ac7f7b5e18 MagicAffinityDeadMasterSoulExpulsion FeatureDefinitionMagicAffinity FeatureDefinition 2d45c095-9279-5484-af4d-2043198bda14 @@ -2908,6 +2922,7 @@ MagicAffinityDeadMasterVampiricTouch FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterVitalityTransfer FeatureDefinitionMagicAffinity FeatureDefinition 5ea8c3b3-5e67-5814-bdf8-5f091e76235f MagicAffinityDeadMasterWitherAndBloom FeatureDefinitionMagicAffinity FeatureDefinition ea3e5b73-29ed-576c-905b-d74c8196f8a3 MagicAffinityDeadMasterWrack FeatureDefinitionMagicAffinity FeatureDefinition 6254d2bf-9b59-5ed3-976a-0435523fc3d4 +MagicAffinityDeadMasterWrathfulSmite FeatureDefinitionMagicAffinity FeatureDefinition 233c236c-7a94-56ed-9073-bf225939d33e MagicAffinityDivineHeartClericSpellsList FeatureDefinitionMagicAffinity FeatureDefinition 691ff5ad-a3d6-562e-bb1f-1c6919dd5a2d MagicAffinityElementalistExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition b6847d24-cac4-5430-a56d-399fb47e69dd MagicAffinityFeatMageSlayer FeatureDefinitionMagicAffinity FeatureDefinition c405c8a0-9ba5-5b41-aefc-18efe87c1a67 @@ -3013,9 +3028,11 @@ PointPoolBackgroundToolSelect2 FeatureDefinitionPointPool FeatureDefinition f25a PointPoolBardMagicalSecrets18 FeatureDefinitionPointPool FeatureDefinition a0e7412b-bb22-5d89-a48a-0d28a58a4fcf PointPoolBardSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinition ddb6c131-8dc5-5d4f-bace-5ac90015601e PointPoolBattlebornAbilityScore FeatureDefinitionPointPool FeatureDefinition ed582e8e-721b-516a-9406-bb900f7dd6bc +PointPoolBlessedWarrior FeatureDefinitionPointPool FeatureDefinition d21b1e64-da60-5bc8-b90b-8de6874d11d2 PointPoolCrystalWyrmkinInnateKnowledge FeatureDefinitionPointPool FeatureDefinition c50af733-f8f6-5645-a9fd-1757be3ba088 PointPoolDomainNatureCantrip FeatureDefinitionPointPool FeatureDefinition 9f0158e9-c393-5a45-af4b-3018b94255db PointPoolDomainNatureSkills FeatureDefinitionPointPool FeatureDefinition c174a89d-083e-5ff2-8577-c5be0255339a +PointPoolDruidicWarrior FeatureDefinitionPointPool FeatureDefinition d0d7a771-7b2b-51eb-8176-87121ab4d1c0 PointPoolDruidPrimalOrderMagician FeatureDefinitionPointPool FeatureDefinition 2ceebfa6-8df1-54bc-845b-dc9160b99df6 PointPoolFairyAbilityScore FeatureDefinitionPointPool FeatureDefinition 620a9be9-8104-5e16-b9e5-45398f40a68f PointPoolFeatEldritchAdept FeatureDefinitionPointPool FeatureDefinition a8dc46a2-e036-5b90-b508-9c908cdce872 @@ -3283,6 +3300,7 @@ PowerCreateSpellStoringWandOfProtectThreshold FeatureDefinitionPowerSharedPool F PowerCreateSpellStoringWandOfPsychicWhip FeatureDefinitionPowerSharedPool FeatureDefinition 7d410b09-8fe7-5554-b54d-a3ac4bbeabf8 PowerCreateSpellStoringWandOfRadiantMotes FeatureDefinitionPowerSharedPool FeatureDefinition 0784089d-349b-5607-b440-922ca667d7b6 PowerCreateSpellStoringWandOfRayOfEnfeeblement FeatureDefinitionPowerSharedPool FeatureDefinition a93d4862-c3ef-5cc2-a767-bab438231a2a +PowerCreateSpellStoringWandOfRayOfSickness FeatureDefinitionPowerSharedPool FeatureDefinition 2fb363ee-1b84-5419-bcde-d211d42d3fbc PowerCreateSpellStoringWandOfScorchingRay FeatureDefinitionPowerSharedPool FeatureDefinition e9a13595-d43e-5073-8c94-756775538544 PowerCreateSpellStoringWandOfSeeInvisibility FeatureDefinitionPowerSharedPool FeatureDefinition 0b10a2ef-8771-52d2-b22b-a0b1e942951e PowerCreateSpellStoringWandOfShatter FeatureDefinitionPowerSharedPool FeatureDefinition 0da5acd1-05ab-5540-aa47-2f82e1b2acf3 @@ -3438,6 +3456,7 @@ PowerFeatTelekineticWisdom FeatureDefinitionPower FeatureDefinition 7b80006b-129 PowerFeatTelekineticWisdomPushFromOrigin FeatureDefinitionPower FeatureDefinition 7a34f88e-b826-5800-8570-74478f3aaa2d PowerFeatTheologian FeatureDefinitionPower FeatureDefinition 1285becd-b2b5-5885-8f8f-b4d33fcea587 PowerFighterActionSurge2 FeatureDefinitionPower FeatureDefinition d542451d-9b54-5fd7-8188-88dc6c2d1bdb +PowerFighterSecondWindTargeting FeatureDefinitionPower FeatureDefinition c8b62355-929c-50ec-97c1-5386abd7782b PowerFightingStyleMerciless FeatureDefinitionPower FeatureDefinition 2500343e-570f-57ec-bf7c-02225d302cba PowerFightingStyleTorchbearer FeatureDefinitionPower FeatureDefinition 5cc54111-99a1-5bcc-b82b-732907f1bba7 PowerFizbanPlatinumShield FeatureDefinitionPower FeatureDefinition 1d9e537c-eb6f-56a1-8b9a-d79838b07da9 @@ -3938,6 +3957,7 @@ PowerSorcererHauntedSoulPossession FeatureDefinitionPower FeatureDefinition 16bb PowerSorcererInnateSorcery FeatureDefinitionPower FeatureDefinition 430973a2-776a-552e-b1ef-db8a94f16535 PowerSorcererManaPainterManaOverflow FeatureDefinitionPower FeatureDefinition 80a079bf-e75f-50eb-a663-f6e823b38315 PowerSorcererSorcerousRestoration FeatureDefinitionPower FeatureDefinition bf26017f-af9f-564c-a1fe-8c26eded1cdc +PowerSorcererSorceryIncarnate FeatureDefinitionPower FeatureDefinition bf50e369-2a88-553f-bb3b-a3561df16b7f PowerSorcerousFieldManipulatorDisplacement FeatureDefinitionPower FeatureDefinition 164244c9-e119-530c-bfef-3c9b33618f9e PowerSorcerousFieldManipulatorForcefulStepApply FeatureDefinitionPower FeatureDefinition 82a615b1-7197-54d7-add5-882888535f18 PowerSorcerousFieldManipulatorForcefulStepFixed FeatureDefinitionPower FeatureDefinition 5f5039e4-886f-5c18-925b-6915d8cc381b @@ -4497,6 +4517,7 @@ AdditionalDamageBlindingSmite FeatureDefinitionAdditionalDamage FeatureDefinitio AdditionalDamageBoomingBlade FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 65e7bca6-a00e-574d-9bee-f2f9038ef72f AdditionalDamageBrutalStrike FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage fc7164ba-b62e-52d4-803d-14acb0f8e45c AdditionalDamageCrippling FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 3a68707a-e9fb-5657-9956-5cb90bf16aa7 +AdditionalDamageCrusadersMantle FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 7ca7052c-c8f9-538a-8e08-87176c4dd87c AdditionalDamageDamageAcidElementalWeapon FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 4d43f6ea-aaa2-5a0e-8a56-dfde825bab67 AdditionalDamageDamageAcidElementalWeapon1 FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 7a7f20c7-da96-5b02-8b71-2a75c433f6e6 AdditionalDamageDamageAcidElementalWeapon2 FeatureDefinitionAdditionalDamage FeatureDefinitionAdditionalDamage 6bbfe0f5-43b5-51e8-9c05-56cb0d1f9920 @@ -4787,6 +4808,7 @@ CombatAffinitySickeningRadianceExhausted3 FeatureDefinitionCombatAffinity Featur CombatAffinitySoulExpulsion FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 2a270517-7b68-53ba-a2c7-36e7b6f36fd1 CombatAffinityStaggeringSmite FeatureDefinitionCombatAffinity FeatureDefinitionAffinity bec893d0-747c-520d-a494-b5c9551b2c73 CombatAffinityStrikeWithTheWind FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 4a9706fc-be59-5efb-a679-00d13298b19f +CombatAffinityStudiedAttacks FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 3601aeb6-a4b3-5679-b19c-4a5c78aafc00 CombatAffinitySynapticStatic FeatureDefinitionCombatAffinity FeatureDefinitionAffinity b0cbe05c-172e-5879-aaef-ed22a25801be CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 8a9c32ac-8aaa-5888-8a17-1f78d723b3a4 CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinitionAffinity a926a6b4-aa9f-5279-8aa6-fd357e746f91 @@ -4962,6 +4984,7 @@ MagicAffinityDeadMasterInflictWounds FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterMinorLifesteal FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 4190993a-436b-54c1-8f14-ae88c9ea78b8 MagicAffinityDeadMasterRaiseDead FeatureDefinitionMagicAffinity FeatureDefinitionAffinity d3cfe519-e676-5c36-8319-f82552e0def2 MagicAffinityDeadMasterRayOfEnfeeblement FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 07e798e9-cc0d-54f7-a090-5e9eccac112f +MagicAffinityDeadMasterRayOfSickness FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 11e82cf5-4a45-510b-bada-62814d0e6c5e MagicAffinityDeadMasterResurrection FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 00e91863-7490-510c-b9d9-7a55a9237371 MagicAffinityDeadMasterRevivify FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 301ee294-3a06-595c-9dbf-98ac7f7b5e18 MagicAffinityDeadMasterSoulExpulsion FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 2d45c095-9279-5484-af4d-2043198bda14 @@ -4972,6 +4995,7 @@ MagicAffinityDeadMasterVampiricTouch FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterVitalityTransfer FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 5ea8c3b3-5e67-5814-bdf8-5f091e76235f MagicAffinityDeadMasterWitherAndBloom FeatureDefinitionMagicAffinity FeatureDefinitionAffinity ea3e5b73-29ed-576c-905b-d74c8196f8a3 MagicAffinityDeadMasterWrack FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 6254d2bf-9b59-5ed3-976a-0435523fc3d4 +MagicAffinityDeadMasterWrathfulSmite FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 233c236c-7a94-56ed-9073-bf225939d33e MagicAffinityDivineHeartClericSpellsList FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 691ff5ad-a3d6-562e-bb1f-1c6919dd5a2d MagicAffinityElementalistExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity b6847d24-cac4-5430-a56d-399fb47e69dd MagicAffinityFeatMageSlayer FeatureDefinitionMagicAffinity FeatureDefinitionAffinity c405c8a0-9ba5-5b41-aefc-18efe87c1a67 @@ -5285,6 +5309,7 @@ BonusCantripsBackgroundDevoted FeatureDefinitionCastSpell FeatureDefinitionCastS CastSpellAegisTouchedCharisma FeatureDefinitionCastSpell FeatureDefinitionCastSpell eda5c465-6ca1-52c4-9163-c42590682b47 CastSpellAegisTouchedIntelligence FeatureDefinitionCastSpell FeatureDefinitionCastSpell 0092f417-664e-5f22-b238-40af980cf36a CastSpellAegisTouchedWisdom FeatureDefinitionCastSpell FeatureDefinitionCastSpell 3c7df92d-2c3f-572d-b3e5-604b91dd0f0e +CastSpellBlessedWarrior FeatureDefinitionCastSpell FeatureDefinitionCastSpell c41913c6-5796-5584-8dde-4693d4639760 CastSpellBolgrifMagic FeatureDefinitionCastSpell FeatureDefinitionCastSpell a0279437-8ed9-52b7-90a0-8a83973943a9 CastSpellCelestialTouchedCharisma FeatureDefinitionCastSpell FeatureDefinitionCastSpell 5dca6d07-6647-5489-a834-5d82d3ad0b1e CastSpellCelestialTouchedIntelligence FeatureDefinitionCastSpell FeatureDefinitionCastSpell 8b48d0b9-1d6d-5ba9-a69f-c10c461bb1ac @@ -5292,6 +5317,7 @@ CastSpellCelestialTouchedWisdom FeatureDefinitionCastSpell FeatureDefinitionCast CastSpellDarkelfMagic FeatureDefinitionCastSpell FeatureDefinitionCastSpell 6e220b82-738f-5b16-a85a-0b60414bf155 CastSpellDomainNature FeatureDefinitionCastSpell FeatureDefinitionCastSpell 6c75c61f-8776-5dc3-9e94-37eeac872e07 CastSpellDraconicKoboldMagic FeatureDefinitionCastSpell FeatureDefinitionCastSpell b86bcf0e-1164-5b62-b1d0-6fe08be1dc4f +CastSpellDruidicWarrior FeatureDefinitionCastSpell FeatureDefinitionCastSpell 9842c48a-14fc-5325-9eed-7bc1e36090f6 CastSpellFairy FeatureDefinitionCastSpell FeatureDefinitionCastSpell 039073a8-0a8d-5cc1-bf62-8a7c816bafda CastSpellFeatDarkElfMagic FeatureDefinitionCastSpell FeatureDefinitionCastSpell 6fb3273c-08be-5009-975a-dfcf5384dfe5 CastSpellFeatMagicInitiateBard FeatureDefinitionCastSpell FeatureDefinitionCastSpell 9dffb549-1d49-5ca6-9c7f-f94673d59c4d @@ -5397,6 +5423,7 @@ CombatAffinitySickeningRadianceExhausted3 FeatureDefinitionCombatAffinity Featur CombatAffinitySoulExpulsion FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 2a270517-7b68-53ba-a2c7-36e7b6f36fd1 CombatAffinityStaggeringSmite FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity bec893d0-747c-520d-a494-b5c9551b2c73 CombatAffinityStrikeWithTheWind FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 4a9706fc-be59-5efb-a679-00d13298b19f +CombatAffinityStudiedAttacks FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 3601aeb6-a4b3-5679-b19c-4a5c78aafc00 CombatAffinitySynapticStatic FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity b0cbe05c-172e-5879-aaef-ed22a25801be CombatAffinityTaunted FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 8a9c32ac-8aaa-5888-8a17-1f78d723b3a4 CombatAffinityWayOfSilhouetteSilhouetteStep FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity a926a6b4-aa9f-5279-8aa6-fd357e746f91 @@ -5675,6 +5702,7 @@ FeatureSetRoyalKnightInspiringProtection FeatureDefinitionFeatureSet FeatureDefi FeatureSetRoyalKnightRoyalEnvoy FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet bad48f2a-730c-5cc9-a86c-45f1ab5f3348 FeatureSetSorcererDraconicBloodlinePresence FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet cb9617fd-91e8-5390-9393-92257ec84a1e FeatureSetSorcererManaPainterManaOverflow FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e760f273-b462-5207-94e0-e8a2845bbc1a +FeatureSetSorcererSorceryIncarnate FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 1785f637-bb38-5a3b-b5d4-cfe1502eda77 FeatureSetSorcerousFieldManipulatorForcefulStep FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 4e4cb028-4e59-5331-84e6-145b74cd5db9 FeatureSetSorcerousPsionPsychokinesis FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e0e1d56e-3077-5983-a302-91e46e609d76 FeatureSetSorcerousPsionSupremeWill FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 0f327fb8-c271-5f2c-a67f-2ec381f03a30 @@ -5778,6 +5806,7 @@ MagicAffinityDeadMasterInflictWounds FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterMinorLifesteal FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 4190993a-436b-54c1-8f14-ae88c9ea78b8 MagicAffinityDeadMasterRaiseDead FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity d3cfe519-e676-5c36-8319-f82552e0def2 MagicAffinityDeadMasterRayOfEnfeeblement FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 07e798e9-cc0d-54f7-a090-5e9eccac112f +MagicAffinityDeadMasterRayOfSickness FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 11e82cf5-4a45-510b-bada-62814d0e6c5e MagicAffinityDeadMasterResurrection FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 00e91863-7490-510c-b9d9-7a55a9237371 MagicAffinityDeadMasterRevivify FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 301ee294-3a06-595c-9dbf-98ac7f7b5e18 MagicAffinityDeadMasterSoulExpulsion FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 2d45c095-9279-5484-af4d-2043198bda14 @@ -5788,6 +5817,7 @@ MagicAffinityDeadMasterVampiricTouch FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityDeadMasterVitalityTransfer FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 5ea8c3b3-5e67-5814-bdf8-5f091e76235f MagicAffinityDeadMasterWitherAndBloom FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity ea3e5b73-29ed-576c-905b-d74c8196f8a3 MagicAffinityDeadMasterWrack FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 6254d2bf-9b59-5ed3-976a-0435523fc3d4 +MagicAffinityDeadMasterWrathfulSmite FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 233c236c-7a94-56ed-9073-bf225939d33e MagicAffinityDivineHeartClericSpellsList FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 691ff5ad-a3d6-562e-bb1f-1c6919dd5a2d MagicAffinityElementalistExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity b6847d24-cac4-5430-a56d-399fb47e69dd MagicAffinityFeatMageSlayer FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity c405c8a0-9ba5-5b41-aefc-18efe87c1a67 @@ -5889,9 +5919,11 @@ PointPoolBackgroundToolSelect2 FeatureDefinitionPointPool FeatureDefinitionPoint PointPoolBardMagicalSecrets18 FeatureDefinitionPointPool FeatureDefinitionPointPool a0e7412b-bb22-5d89-a48a-0d28a58a4fcf PointPoolBardSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinitionPointPool ddb6c131-8dc5-5d4f-bace-5ac90015601e PointPoolBattlebornAbilityScore FeatureDefinitionPointPool FeatureDefinitionPointPool ed582e8e-721b-516a-9406-bb900f7dd6bc +PointPoolBlessedWarrior FeatureDefinitionPointPool FeatureDefinitionPointPool d21b1e64-da60-5bc8-b90b-8de6874d11d2 PointPoolCrystalWyrmkinInnateKnowledge FeatureDefinitionPointPool FeatureDefinitionPointPool c50af733-f8f6-5645-a9fd-1757be3ba088 PointPoolDomainNatureCantrip FeatureDefinitionPointPool FeatureDefinitionPointPool 9f0158e9-c393-5a45-af4b-3018b94255db PointPoolDomainNatureSkills FeatureDefinitionPointPool FeatureDefinitionPointPool c174a89d-083e-5ff2-8577-c5be0255339a +PointPoolDruidicWarrior FeatureDefinitionPointPool FeatureDefinitionPointPool d0d7a771-7b2b-51eb-8176-87121ab4d1c0 PointPoolDruidPrimalOrderMagician FeatureDefinitionPointPool FeatureDefinitionPointPool 2ceebfa6-8df1-54bc-845b-dc9160b99df6 PointPoolFairyAbilityScore FeatureDefinitionPointPool FeatureDefinitionPointPool 620a9be9-8104-5e16-b9e5-45398f40a68f PointPoolFeatEldritchAdept FeatureDefinitionPointPool FeatureDefinitionPointPool a8dc46a2-e036-5b90-b508-9c908cdce872 @@ -6175,6 +6207,7 @@ PowerCreateSpellStoringWandOfProtectThreshold FeatureDefinitionPowerSharedPool F PowerCreateSpellStoringWandOfPsychicWhip FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7d410b09-8fe7-5554-b54d-a3ac4bbeabf8 PowerCreateSpellStoringWandOfRadiantMotes FeatureDefinitionPowerSharedPool FeatureDefinitionPower 0784089d-349b-5607-b440-922ca667d7b6 PowerCreateSpellStoringWandOfRayOfEnfeeblement FeatureDefinitionPowerSharedPool FeatureDefinitionPower a93d4862-c3ef-5cc2-a767-bab438231a2a +PowerCreateSpellStoringWandOfRayOfSickness FeatureDefinitionPowerSharedPool FeatureDefinitionPower 2fb363ee-1b84-5419-bcde-d211d42d3fbc PowerCreateSpellStoringWandOfScorchingRay FeatureDefinitionPowerSharedPool FeatureDefinitionPower e9a13595-d43e-5073-8c94-756775538544 PowerCreateSpellStoringWandOfSeeInvisibility FeatureDefinitionPowerSharedPool FeatureDefinitionPower 0b10a2ef-8771-52d2-b22b-a0b1e942951e PowerCreateSpellStoringWandOfShatter FeatureDefinitionPowerSharedPool FeatureDefinitionPower 0da5acd1-05ab-5540-aa47-2f82e1b2acf3 @@ -6330,6 +6363,7 @@ PowerFeatTelekineticWisdom FeatureDefinitionPower FeatureDefinitionPower 7b80006 PowerFeatTelekineticWisdomPushFromOrigin FeatureDefinitionPower FeatureDefinitionPower 7a34f88e-b826-5800-8570-74478f3aaa2d PowerFeatTheologian FeatureDefinitionPower FeatureDefinitionPower 1285becd-b2b5-5885-8f8f-b4d33fcea587 PowerFighterActionSurge2 FeatureDefinitionPower FeatureDefinitionPower d542451d-9b54-5fd7-8188-88dc6c2d1bdb +PowerFighterSecondWindTargeting FeatureDefinitionPower FeatureDefinitionPower c8b62355-929c-50ec-97c1-5386abd7782b PowerFightingStyleMerciless FeatureDefinitionPower FeatureDefinitionPower 2500343e-570f-57ec-bf7c-02225d302cba PowerFightingStyleTorchbearer FeatureDefinitionPower FeatureDefinitionPower 5cc54111-99a1-5bcc-b82b-732907f1bba7 PowerFizbanPlatinumShield FeatureDefinitionPower FeatureDefinitionPower 1d9e537c-eb6f-56a1-8b9a-d79838b07da9 @@ -6829,6 +6863,7 @@ PowerSorcererHauntedSoulPossession FeatureDefinitionPower FeatureDefinitionPower PowerSorcererInnateSorcery FeatureDefinitionPower FeatureDefinitionPower 430973a2-776a-552e-b1ef-db8a94f16535 PowerSorcererManaPainterManaOverflow FeatureDefinitionPower FeatureDefinitionPower 80a079bf-e75f-50eb-a663-f6e823b38315 PowerSorcererSorcerousRestoration FeatureDefinitionPower FeatureDefinitionPower bf26017f-af9f-564c-a1fe-8c26eded1cdc +PowerSorcererSorceryIncarnate FeatureDefinitionPower FeatureDefinitionPower bf50e369-2a88-553f-bb3b-a3561df16b7f PowerSorcerousFieldManipulatorDisplacement FeatureDefinitionPower FeatureDefinitionPower 164244c9-e119-530c-bfef-3c9b33618f9e PowerSorcerousFieldManipulatorForcefulStepApply FeatureDefinitionPower FeatureDefinitionPower 82a615b1-7197-54d7-add5-882888535f18 PowerSorcerousFieldManipulatorForcefulStepFixed FeatureDefinitionPower FeatureDefinitionPower 5f5039e4-886f-5c18-925b-6915d8cc381b @@ -7194,8 +7229,10 @@ TerrainTypeAffinityFeatDungeonDelverGrassland FeatureDefinitionTerrainTypeAffini TerrainTypeAffinityFeatDungeonDelverMountain FeatureDefinitionTerrainTypeAffinity FeatureDefinitionTerrainTypeAffinity db490e8f-33f7-5342-9184-662355cc2b61 TerrainTypeAffinityFeatDungeonDelverSwamp FeatureDefinitionTerrainTypeAffinity FeatureDefinitionTerrainTypeAffinity e3fa9fc8-c2b3-5db6-8f0c-5e0ec0177da5 AstralReach FightingStyleDefinition FightingStyleDefinition 2d1a30dc-3ac3-53ad-9f6b-f9ab0223da6f +BlessedWarrior FightingStyleDefinition FightingStyleDefinition a0528e84-b635-5bde-8242-273eb05c2f28 BlindFighting FightingStyleDefinition FightingStyleDefinition 172ec08f-f7c8-54f0-81bb-917fd5375b6a Crippling FightingStyleDefinition FightingStyleDefinition 1883dae0-9ef0-550b-a3b9-d169594d4d46 +DruidicWarrior FightingStyleDefinition FightingStyleDefinition c1c2c49a-a65f-5003-a39e-b4312374db89 Executioner FightingStyleDefinition FightingStyleDefinition d64dd596-85ae-5bea-9906-b4f8465249f4 HandAndAHalf FightingStyleDefinition FightingStyleDefinition 0d3fd48d-ae29-598e-b4d0-5202a9b35d9c Interception FightingStyleDefinition FightingStyleDefinition 047741c7-24ee-597e-b480-8f0d3d881712 @@ -8596,6 +8633,7 @@ SpellStoringWandOfProtectThreshold ItemDefinition ItemDefinition 7e878dab-0300-5 SpellStoringWandOfPsychicWhip ItemDefinition ItemDefinition b1f2fc27-cace-5ec8-837a-bcba47bdaec9 SpellStoringWandOfRadiantMotes ItemDefinition ItemDefinition a31599da-14b4-54ff-a2b1-809ef4c823e7 SpellStoringWandOfRayOfEnfeeblement ItemDefinition ItemDefinition 14d6d8d0-e30f-5615-b39c-c0525c6f46e6 +SpellStoringWandOfRayOfSickness ItemDefinition ItemDefinition 93fd5f08-1572-5ffd-9488-b3697dfb6510 SpellStoringWandOfScorchingRay ItemDefinition ItemDefinition 34609b5b-c91a-529d-861a-fc64e1d19caa SpellStoringWandOfSeeInvisibility ItemDefinition ItemDefinition 43f77018-11a6-5463-8183-cf118ecb8dc1 SpellStoringWandOfShatter ItemDefinition ItemDefinition 0ac4f426-d2cd-5907-a5bc-d329f839917e @@ -12151,6 +12189,7 @@ RestActivityCelestialCelestialResistanceShortRest RestActivityDefinition RestAct RestActivityInnovationWeaponSteelDefenderRecuperate RestActivityDefinition RestActivityDefinition 0bc1180f-c23b-5f51-a0f6-dfbbc5fc4753 RestActivityLongRestIdentify RestActivityDefinition RestActivityDefinition e63da4bd-34aa-5c31-81ba-ae9767b1004b RestActivityLongRestStopInfusions RestActivityDefinition RestActivityDefinition 62c372e0-edc7-5207-87de-910d2ae7aff4 +RestActivityMemorizeSpell RestActivityDefinition RestActivityDefinition 382a1a1e-e40e-5fd8-a249-d8d974113d1c RestActivityRespec RestActivityDefinition RestActivityDefinition 9adcaf86-4f2d-516c-8690-e4e3995db82b RestActivityShortRestIdentify RestActivityDefinition RestActivityDefinition deb11b54-49f8-56d0-949e-4d07207c0feb RestActivityShortRestStopInfusions RestActivityDefinition RestActivityDefinition 6551ce2e-7787-5d1d-a1f3-1a8deb814ae0 @@ -12463,6 +12502,7 @@ PulseWave SpellDefinition SpellDefinition 71a547b1-f108-54be-95ee-56263814b30b PulseWavePull SpellDefinition SpellDefinition d73ffef6-a447-5003-b21e-ba2115a2fc51 PulseWavePush SpellDefinition SpellDefinition 244c87d2-5dfc-53fa-8603-fb3635bd38e5 RadiantMotes SpellDefinition SpellDefinition ff59b2b4-3fd1-55c2-a7ab-7c6c5b004633 +RayOfSickness SpellDefinition SpellDefinition efaaacc8-ff41-5e8e-90fa-1ddc57acbc60 RescueTheDying SpellDefinition SpellDefinition ec3bd2f2-6dd9-52df-8f82-c8e369938c3a ResonatingStrike SpellDefinition SpellDefinition c8ecadb8-8b2a-57dd-93dd-41f6557ef52d ReverseGravity SpellDefinition SpellDefinition 8589da03-628b-5f85-84fd-9198418e2b8f diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArcaneApotheosis.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArcaneApotheosis.json new file mode 100644 index 0000000000..1d63cd5292 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionArcaneApotheosis.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": "Fixed", + "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": "a08f66d8-ed86-51e9-9b8b-b17560ad1304", + "contentPack": 9999, + "name": "ConditionArcaneApotheosis" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionCrusadersMantle.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionCrusadersMantle.json index 1642ca8ede..8a4d09e7f7 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionCrusadersMantle.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionCrusadersMantle.json @@ -4,7 +4,7 @@ "parentCondition": null, "conditionType": "Beneficial", "features": [ - "Definition:AdditionalDamageDivineFavor:1dff78f3c21bcea43a4a13fd1c35d89f" + "Definition:AdditionalDamageCrusadersMantle:7ca7052c-c8f9-538a-8e08-87176c4dd87c" ], "allowMultipleInstances": false, "silentWhenAdded": true, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMemorizeSpell.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMemorizeSpell.json new file mode 100644 index 0000000000..784865dfdc --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMemorizeSpell.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": "Fixed", + "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": "f809d2ad-324f-5d12-aec6-6fda596a3961", + "contentPack": 9999, + "name": "ConditionMemorizeSpell" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPowerWordStunStopped.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPowerWordStunStopped.json new file mode 100644 index 0000000000..1d19c52ef5 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPowerWordStunStopped.json @@ -0,0 +1,293 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Detrimental", + "features": [ + "Definition:ActionAffinityConditionRestrained:0a11d859909c2624086506f327824de8", + "Definition:MovementAffinityConditionRestrained:ed9d9d5986e47f845819579f936ee8cc" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": true, + "durationType": "Round", + "durationParameterDie": "D4", + "durationParameter": 0, + "forceTurnOccurence": false, + "turnOccurence": "StartOfTurn", + "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": "d8e73c164ff3dad4197a0e0830c6573e", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "b8867e443cbc9024db3ffd55201414b1", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "637c9a990c79eb249beaf07c80aae51a", + "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": "Condition/&ConditionStopMovementTitle", + "description": "-", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "d89ea9eef65da0d46a12c4ff40481527", + "m_SubObjectName": "ConditionRestrained", + "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": "c9615235-8856-51be-8bf7-3eeb9d7e0453", + "contentPack": 9999, + "name": "ConditionPowerWordStunStopped" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionReduceSneakDice.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionReduceSneakDice.json index edb36b8069..75bcf399e6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionReduceSneakDice.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionReduceSneakDice.json @@ -4,7 +4,7 @@ "parentCondition": null, "conditionType": "Detrimental", "features": [], - "allowMultipleInstances": false, + "allowMultipleInstances": true, "silentWhenAdded": true, "silentWhenRemoved": true, "silentWhenRefreshed": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStudiedAttacks.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStudiedAttacks.json new file mode 100644 index 0000000000..49c6ed997f --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionStudiedAttacks.json @@ -0,0 +1,157 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Detrimental", + "features": [ + "Definition:CombatAffinityStudiedAttacks:3601aeb6-a4b3-5679-b19c-4a5c78aafc00" + ], + "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/&ConditionStudiedAttacksTitle", + "description": "Condition/&ConditionStudiedAttacksDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "94b1c2ba7b2f95049af55da16899fc86", + "m_SubObjectName": "ConditionTargeted", + "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": "3d1dc3d0-5552-532c-9926-a0d5a16827e1", + "contentPack": 9999, + "name": "ConditionStudiedAttacks" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionSwiftQuiver.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionSwiftQuiver.json index abdcf08f11..3fa29713aa 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionSwiftQuiver.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionSwiftQuiver.json @@ -38,23 +38,28 @@ "additionalConditionTurnOccurenceType": "StartOfTurn", "conditionStartParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", - "m_SubObjectName": null, - "m_SubObjectType": null + "m_AssetGUID": "2da227cea9dca7d41b5d447904eb594c", + "m_SubObjectName": "", + "m_SubObjectType": "" }, "conditionParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", - "m_SubObjectName": null, - "m_SubObjectType": null + "m_AssetGUID": "efdfc9a01d8307f4ba69ffa457abd4d3", + "m_SubObjectName": "", + "m_SubObjectType": "" }, "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "0a30f6db20ec9ce47b58cb2b1cfeb655", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { "$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": "", @@ -85,7 +90,7 @@ }, "timeToWaitBeforeApplyingShader": 0.5, "timeToWaitBeforeRemovingShader": 0.5, - "possessive": false, + "possessive": true, "amountOrigin": "None", "baseAmount": 0, "additiveAmount": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionTrueStrike2024.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionTrueStrike2024.json index 7335509a49..7a9ca387a4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionTrueStrike2024.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionTrueStrike2024.json @@ -11,10 +11,10 @@ "silentWhenRemoved": true, "silentWhenRefreshed": false, "terminateWhenRemoved": false, - "specialDuration": false, - "durationType": "Hour", + "specialDuration": true, + "durationType": "Round", "durationParameterDie": "D4", - "durationParameter": 1, + "durationParameter": 0, "forceTurnOccurence": false, "turnOccurence": "EndOfTurn", "specialInterruptions": [ diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWeird.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWeird.json index 2f0db4ca28..889e32711d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWeird.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWeird.json @@ -30,19 +30,19 @@ "addBonusMode": "None", "applyLevel": "No", "levelType": "ClassLevel", - "levelMultiplier": 0, + "levelMultiplier": 1, "diceByLevelTable": [], - "createdByCharacter": false, - "createdByCondition": true, + "createdByCharacter": true, + "createdByCondition": false, "hasSavingThrow": false, "savingThrowAffinity": "None", "dcModifier": 0, "canSaveToCancel": false, - "saveOccurence": "StartOfTurn", + "saveOccurence": "EndOfTurn", "damageForm": { "$type": "DamageForm, Assembly-CSharp", "versatile": false, - "diceNumber": 4, + "diceNumber": 5, "dieType": "D10", "overrideWithBardicInspirationDie": false, "versatileDieType": "D1", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWithdrawn.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWithdrawn.json new file mode 100644 index 0000000000..9132224127 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWithdrawn.json @@ -0,0 +1,290 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": "Definition:ConditionDisengaging:9d3de19ca17c6554ea5485fbc3eabd25", + "conditionType": "Beneficial", + "features": [], + "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": "", + "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": "", + "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": "Fixed", + "baseAmount": 3, + "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/&ConditionDisengagingTitle", + "description": "Rules/&ConditionDisengagingDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "0d141b75b2bd30943a5fdde92b747da3", + "m_SubObjectName": "ConditionDisengaging", + "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": "f34dd424-9c5d-518c-bb0e-fc6dfeb92d13", + "contentPack": 9999, + "name": "ConditionWithdrawn" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteFrightened.json similarity index 94% rename from Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteEnemy.json rename to Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteFrightened.json index 07357363bd..f788030c42 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteEnemy.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionWrathfulSmiteFrightened.json @@ -3,17 +3,15 @@ "inDungeonEditor": false, "parentCondition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515", "conditionType": "Detrimental", - "features": [ - "Definition:ActionAffinityGrappled:1c2c02a0e9f823c489b3d62d03534617" - ], + "features": [], "allowMultipleInstances": false, "silentWhenAdded": false, "silentWhenRemoved": false, "silentWhenRefreshed": false, "terminateWhenRemoved": false, - "specialDuration": false, - "durationType": "Hour", - "durationParameterDie": "D4", + "specialDuration": true, + "durationType": "Minute", + "durationParameterDie": "D1", "durationParameter": 1, "forceTurnOccurence": false, "turnOccurence": "EndOfTurn", @@ -223,8 +221,8 @@ "timeToWaitBeforeApplyingShader": 0.5, "timeToWaitBeforeRemovingShader": 0.5, "possessive": false, - "amountOrigin": "Fixed", - "baseAmount": 30, + "amountOrigin": "None", + "baseAmount": 0, "additiveAmount": false, "sourceAbilityBonusMinValue": 1, "subsequentOnRemoval": null, @@ -234,10 +232,10 @@ "subsequentDCIncrease": 5, "effectFormsOnRemoved": [], "forceBehavior": false, - "addBehavior": true, + "addBehavior": false, "fearSource": false, - "battlePackage": "Definition:BreakFreeAbilityCheckConditionWrathfulSmiteEnemy:8952dfa4-c552-57f5-bf82-7e317c4e459d", - "explorationPackage": "Definition:IdleGuard_Default:232428b431ff2414eb8254fb1e9e4cf1", + "battlePackage": null, + "explorationPackage": null, "removedFromTheGame": false, "permanentlyRemovedIfExtraPlanar": false, "refundReceivedDamageWhenRemoved": false, @@ -286,7 +284,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "08ab37a6-23bc-59c3-ac2b-09f02170a996", + "guid": "576fd1b9-eb34-5985-951d-eaa3de3c72f0", "contentPack": 9999, - "name": "ConditionWrathfulSmiteEnemy" + "name": "ConditionWrathfulSmiteFrightened" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeConditionWrathfulSmiteEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeConditionWrathfulSmiteEnemy.json deleted file mode 100644 index 41dd270ac4..0000000000 --- a/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeConditionWrathfulSmiteEnemy.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "$type": "TA.AI.DecisionDefinition, Assembly-CSharp", - "decision": { - "$type": "TA.AI.DecisionDescription, Assembly-CSharp", - "description": "if restrained from ConditionWrathfulSmiteEnemy, and can use main action, try to break free", - "scorer": { - "$type": "TA.AI.ActivityScorerDefinition, Assembly-CSharp", - "scorer": { - "$type": "TA.AI.ActivityScorer, Assembly-CSharp", - "considerations": [ - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "HasCondition", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "ConditionWrathfulSmiteEnemy", - "floatParameter": 2.0, - "intParameter": 2, - "byteParameter": 0, - "boolParameter": true, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "HasConditionWrathfulSmiteEnemy" - }, - "weight": 1.0 - }, - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "ActionTypeStatus", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "", - "floatParameter": 1.0, - "intParameter": 0, - "byteParameter": 0, - "boolParameter": true, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "MainActionNotFullyConsumed" - }, - "weight": 1.0 - }, - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "Random", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "", - "floatParameter": 0.0, - "intParameter": 0, - "byteParameter": 0, - "boolParameter": false, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "RandomRandomMediumHigh" - }, - "weight": 1.0 - } - ] - }, - "name": "BreakFreeConditionWrathfulSmiteEnemy" - }, - "activityType": "BreakFree", - "stringParameter": "", - "stringSecParameter": "", - "boolParameter": false, - "boolSecParameter": false, - "floatParameter": 3.0, - "enumParameter": 1 - }, - "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": "6400794a-3234-55f7-973f-d443c38c9a20", - "contentPack": 9999, - "name": "DecisionBreakFreeConditionWrathfulSmiteEnemy" -} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy.json deleted file mode 100644 index 16590e6e89..0000000000 --- a/Diagnostics/UnfinishedBusinessBlueprints/DecisionDefinition/DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "$type": "TA.AI.DecisionDefinition, Assembly-CSharp", - "decision": { - "$type": "TA.AI.DecisionDescription, Assembly-CSharp", - "description": "if restrained from ConditionWrathfulSmiteEnemy, is prone, and can use main action, try to break free", - "scorer": { - "$type": "TA.AI.ActivityScorerDefinition, Assembly-CSharp", - "scorer": { - "$type": "TA.AI.ActivityScorer, Assembly-CSharp", - "considerations": [ - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "HasCondition", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "ConditionWrathfulSmiteEnemy", - "floatParameter": 2.0, - "intParameter": 2, - "byteParameter": 0, - "boolParameter": true, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "HasConditionWrathfulSmiteEnemy" - }, - "weight": 1.0 - }, - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "HasCondition", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "ConditionProne", - "floatParameter": 2.0, - "intParameter": 2, - "byteParameter": 0, - "boolParameter": true, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "HasConditionProne" - }, - "weight": 1.0 - }, - { - "$type": "TA.AI.WeightedConsiderationDescription, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDefinition, Assembly-CSharp", - "consideration": { - "$type": "TA.AI.ConsiderationDescription, Assembly-CSharp", - "considerationType": "ActionTypeStatus", - "curve": { - "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" - }, - "stringParameter": "", - "floatParameter": 1.0, - "intParameter": 0, - "byteParameter": 0, - "boolParameter": true, - "boolSecParameter": false, - "boolTerParameter": false - }, - "name": "MainActionNotFullyConsumedIfProne" - }, - "weight": 1.0 - } - ] - }, - "name": "BreakFreeIfProneConditionWrathfulSmiteEnemy" - }, - "activityType": "BreakFree", - "stringParameter": "", - "stringSecParameter": "", - "boolParameter": false, - "boolSecParameter": false, - "floatParameter": 3.0, - "enumParameter": 1 - }, - "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": "6d6e4da8-2b8c-53ba-ae3a-6342e9c0fe44", - "contentPack": 9999, - "name": "DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy" -} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/DecisionPackageDefinition/BreakFreeAbilityCheckConditionWrathfulSmiteEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/DecisionPackageDefinition/BreakFreeAbilityCheckConditionWrathfulSmiteEnemy.json deleted file mode 100644 index 22af42dd06..0000000000 --- a/Diagnostics/UnfinishedBusinessBlueprints/DecisionPackageDefinition/BreakFreeAbilityCheckConditionWrathfulSmiteEnemy.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "$type": "TA.AI.DecisionPackageDefinition, Assembly-CSharp", - "dungeonMakerPresence": false, - "package": { - "$type": "TA.AI.DecisionPackageDescription, Assembly-CSharp", - "weightedDecisions": [ - { - "$type": "TA.AI.WeightedDecisionDescription, Assembly-CSharp", - "decision": "Definition:DecisionBreakFreeIfProneConditionWrathfulSmiteEnemy:6d6e4da8-2b8c-53ba-ae3a-6342e9c0fe44", - "weight": 15.0, - "cooldown": 1, - "dynamicCooldown": false - }, - { - "$type": "TA.AI.WeightedDecisionDescription, Assembly-CSharp", - "decision": "Definition:DecisionBreakFreeConditionWrathfulSmiteEnemy:6400794a-3234-55f7-973f-d443c38c9a20", - "weight": 10.0, - "cooldown": 1, - "dynamicCooldown": 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": "8952dfa4-c552-57f5-bf82-7e317c4e459d", - "contentPack": 9999, - "name": "BreakFreeAbilityCheckConditionWrathfulSmiteEnemy" -} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterStudiedAttacks.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterStudiedAttacks.json new file mode 100644 index 0000000000..c5369895da --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterStudiedAttacks.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureFighterStudiedAttacksTitle", + "description": "Feature/&FeatureFighterStudiedAttacksDescription", + "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": "1724a96d-764f-5dd8-85f3-9aa9f8f3bbf6", + "contentPack": 9999, + "name": "FeatureFighterStudiedAttacks" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalMind.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalMind.json new file mode 100644 index 0000000000..ea7ac506ff --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalMind.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureFighterTacticalMindTitle", + "description": "Feature/&FeatureFighterTacticalMindDescription", + "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": "aeda37de-9e7d-539f-baa7-c59101d11869", + "contentPack": 9999, + "name": "FeatureFighterTacticalMind" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalShift.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalShift.json new file mode 100644 index 0000000000..d0e1de1659 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureFighterTacticalShift.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureFighterTacticalShiftTitle", + "description": "Feature/&FeatureFighterTacticalShiftDescription", + "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": "3a559ccf-7373-51b9-aba1-bfa99394f578", + "contentPack": 9999, + "name": "FeatureFighterTacticalShift" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureImprovedRogueCunningStrike.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureImprovedRogueCunningStrike.json new file mode 100644 index 0000000000..f98e9ee49f --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureImprovedRogueCunningStrike.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureImprovedRogueCunningStrikeTitle", + "description": "Feature/&FeatureImprovedRogueCunningStrikeDescription", + "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": "d2d36dd6-b8e7-5a38-8d3c-8f665ba8a2a2", + "contentPack": 9999, + "name": "FeatureImprovedRogueCunningStrike" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureSorcererArcaneApotheosis.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureSorcererArcaneApotheosis.json new file mode 100644 index 0000000000..3bb9e4fa48 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureSorcererArcaneApotheosis.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSorcererArcaneApotheosisTitle", + "description": "Feature/&FeatureSorcererArcaneApotheosisDescription", + "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": "fe690145-bc7a-58df-87df-bd145095cc3a", + "contentPack": 9999, + "name": "FeatureSorcererArcaneApotheosis" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureWizardMemorizeSpell.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureWizardMemorizeSpell.json new file mode 100644 index 0000000000..dad646cbd4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureWizardMemorizeSpell.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureWizardMemorizeSpellTitle", + "description": "Feature/&FeatureWizardMemorizeSpellDescription", + "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": "6384d62e-8775-55f9-809a-0146dc0a9bbd", + "contentPack": 9999, + "name": "FeatureWizardMemorizeSpell" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageCrusadersMantle.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageCrusadersMantle.json new file mode 100644 index 0000000000..4b4f858680 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageCrusadersMantle.json @@ -0,0 +1,125 @@ +{ + "$type": "FeatureDefinitionAdditionalDamage, Assembly-CSharp", + "notificationTag": "CrusadersMantle", + "limitedUsage": "None", + "firstTargetOnly": true, + "targetSide": "Enemy", + "otherSimilarAdditionalDamages": [], + "triggerCondition": "AlwaysActive", + "requiredProperty": "None", + "attackModeOnly": true, + "attackOnly": true, + "requiredTargetCondition": null, + "requiredTargetSenseType": "Darkvision", + "requiredTargetCreatureTag": "", + "requiredCharacterFamily": null, + "requiredSpecificSpell": null, + "requiredAncestryType": "Sorcerer", + "damageValueDetermination": "Die", + "flatBonus": 0, + "damageDieType": "D4", + "damageDiceNumber": 1, + "additionalDamageType": "Specific", + "specificDamageType": "DamageRadiant", + "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": { + "$type": "LightSourceForm, Assembly-CSharp", + "lightSourceType": "Basic", + "brightRange": 4, + "dimAdditionalRange": 4, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "graphicsPrefabReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "applyToSelf": false, + "forceOnSelf": false + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "5cdd6944009a9f14eae5a1f5e9bc0a82", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "coldImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "fireImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "lightningImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "poisonImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "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": "7ca7052c-c8f9-538a-8e08-87176c4dd87c", + "contentPack": 9999, + "name": "AdditionalDamageCrusadersMantle" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageTrueStrike.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageTrueStrike.json index 08360b6d9f..3a0cb6e65d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageTrueStrike.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageTrueStrike.json @@ -6,7 +6,7 @@ "targetSide": "Enemy", "otherSimilarAdditionalDamages": [], "triggerCondition": "AlwaysActive", - "requiredProperty": "MeleeWeapon", + "requiredProperty": "Weapon", "attackModeOnly": true, "attackOnly": false, "requiredTargetCondition": null, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWrathfulSmite.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWrathfulSmite.json index a820289be4..9882234604 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWrathfulSmite.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAdditionalDamage/AdditionalDamageWrathfulSmite.json @@ -20,7 +20,7 @@ "damageDieType": "D6", "damageDiceNumber": 1, "additionalDamageType": "Specific", - "specificDamageType": "DamagePsychic", + "specificDamageType": "DamageNecrotic", "ancestryTypeForDamageType": "Sorcerer", "damageAdvancement": "SlotLevel", "diceByRankTable": [ @@ -133,17 +133,17 @@ "dcComputation": "SpellCastingFeature", "savingThrowDC": 12, "savingThrowDCAbilityModifier": "Wisdom", - "damageSaveAffinity": "None", + "damageSaveAffinity": "Negates", "conditionOperations": [ { "$type": "ConditionOperationDescription, Assembly-CSharp", "hasSavingThrow": true, "operation": "Add", "conditionName": "", - "conditionDefinition": "Definition:ConditionWrathfulSmiteEnemy:08ab37a6-23bc-59c3-ac2b-09f02170a996", + "conditionDefinition": "Definition:ConditionWrathfulSmiteFrightened:576fd1b9-eb34-5985-951d-eaa3de3c72f0", "saveAffinity": "Negates", - "canSaveToCancel": false, - "saveOccurence": "StartOfTurn" + "canSaveToCancel": true, + "saveOccurence": "EndOfTurn" } ], "addLightSource": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellBlessedWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellBlessedWarrior.json new file mode 100644 index 0000000000..736e8931d0 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellBlessedWarrior.json @@ -0,0 +1,278 @@ +{ + "$type": "FeatureDefinitionCastSpell, Assembly-CSharp", + "spellCastingOrigin": "Race", + "spellcastingAbility": "Charisma", + "spellcastingParametersComputation": "Dynamic", + "staticDCValue": 10, + "staticToHitValue": 4, + "spellListDefinition": "Definition:SpellListCleric:e728ae4e4306da44983db43e2889e53b", + "restrictedSchools": [], + "spellKnowledge": "Selection", + "fixedSpellTag": null, + "spellReadyness": "AllKnown", + "spellPreparationCount": "AbilityBonusPlusLevel", + "slotsRecharge": "LongRest", + "uniqueLevelSlots": false, + "spellCastingLevel": -1, + "cantripsOnly": false, + "knownCantrips": [ + 0, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "knownSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "scribedSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "replacedSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "slotsPerLevels": [ + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 1, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 2, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 3, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 4, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 5, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 6, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 7, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 8, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 9, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 10, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 11, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 12, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 13, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 14, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 15, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 16, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 17, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 18, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 19, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 20, + "slots": [ + 0 + ] + } + ], + "focusType": "Arcane", + "hasAccessToInvocations": false, + "cannotUpcast": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "FightingStyle/&BlessedWarriorTitle", + "description": "FightingStyle/&BlessedWarriorDescription", + "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": "c41913c6-5796-5584-8dde-4693d4639760", + "contentPack": 9999, + "name": "CastSpellBlessedWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellDruidicWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellDruidicWarrior.json new file mode 100644 index 0000000000..9de9457895 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCastSpell/CastSpellDruidicWarrior.json @@ -0,0 +1,278 @@ +{ + "$type": "FeatureDefinitionCastSpell, Assembly-CSharp", + "spellCastingOrigin": "Race", + "spellcastingAbility": "Wisdom", + "spellcastingParametersComputation": "Dynamic", + "staticDCValue": 10, + "staticToHitValue": 4, + "spellListDefinition": "Definition:SpellListDruid:f192117ea9cbe334cba0849993779ae8", + "restrictedSchools": [], + "spellKnowledge": "Selection", + "fixedSpellTag": null, + "spellReadyness": "AllKnown", + "spellPreparationCount": "AbilityBonusPlusLevel", + "slotsRecharge": "LongRest", + "uniqueLevelSlots": false, + "spellCastingLevel": -1, + "cantripsOnly": false, + "knownCantrips": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "knownSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "scribedSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "replacedSpells": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "slotsPerLevels": [ + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 1, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 2, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 3, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 4, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 5, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 6, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 7, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 8, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 9, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 10, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 11, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 12, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 13, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 14, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 15, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 16, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 17, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 18, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 19, + "slots": [ + 0 + ] + }, + { + "$type": "FeatureDefinitionCastSpell+SlotsByLevelDuplet, Assembly-CSharp", + "level": 20, + "slots": [ + 0 + ] + } + ], + "focusType": "Arcane", + "hasAccessToInvocations": false, + "cannotUpcast": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "FightingStyle/&DruidicWarriorTitle", + "description": "FightingStyle/&DruidicWarriorDescription", + "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": "9842c48a-14fc-5325-9eed-7bc1e36090f6", + "contentPack": 9999, + "name": "CastSpellDruidicWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json new file mode 100644 index 0000000000..a588eaf0cb --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json @@ -0,0 +1,62 @@ +{ + "$type": "FeatureDefinitionCombatAffinity, Assembly-CSharp", + "initiativeAffinity": "None", + "canRageToOvercomeSurprise": false, + "attackOfOpportunityImmunity": false, + "attackOfOpportunityOnMeAdvantageType": "None", + "attackOnMeAdvantage": "Advantage", + "attackOnMeCountLimit": -1, + "autoCritical": false, + "criticalHitImmunity": false, + "myAttackAffinityFilter": "Always", + "myAttackAdvantage": "None", + "ignoreCover": false, + "permanentCover": "None", + "ignoreRangeAdvantage": false, + "myAttackModifierValueDetermination": "None", + "myAttackModifierSign": "Add", + "myAttackModifierDiceNumber": 1, + "myAttackModifierDieType": "D4", + "myAttackDamageMultiplier": 1.0, + "myDamageReductionValueDetermination": "None", + "myDamageReductionDiceNumber": 1, + "myDamageReductionDieType": "D4", + "situationalContext": 9018, + "requiredCondition": "Definition:ConditionStudiedAttacks:3d1dc3d0-5552-532c-9926-a0d5a16827e1", + "nullifiedBySenses": [], + "nullifiedBySelfSenses": [], + "multiAttackAffinity": false, + "multiAttackDefenseValue": 0, + "readyAttackAdvantage": "None", + "shoveOnReadyAttackHit": false, + "autoFormatDescription": true, + "myselfFamilyRestrictions": [], + "otherCharacterFamilyRestrictions": [], + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Condition/&ConditionStudiedAttacksTitle", + "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": "3601aeb6-a4b3-5679-b19c-4a5c78aafc00", + "contentPack": 9999, + "name": "CombatAffinityStudiedAttacks" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetDeadMasterNecromancyBonusDC.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetDeadMasterNecromancyBonusDC.json index 8d16ddd999..88bc169f4f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetDeadMasterNecromancyBonusDC.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetDeadMasterNecromancyBonusDC.json @@ -40,6 +40,7 @@ "Definition:MagicAffinityDeadMasterCorruptingBolt:aa0fbf16-69ba-509f-b86f-c0726b5e32db", "Definition:MagicAffinityDeadMasterEnduringSting:ea150988-16d0-5e4a-9d59-24afafe5b586", "Definition:MagicAffinityDeadMasterWrack:6254d2bf-9b59-5ed3-976a-0435523fc3d4", + "Definition:MagicAffinityDeadMasterWrathfulSmite:233c236c-7a94-56ed-9073-bf225939d33e", "Definition:MagicAffinityDeadMasterCreateDeadRisenSkeleton:5190ce97-42aa-5ba4-b228-f00ef4e3daa9", "Definition:MagicAffinityDeadMasterCreateDeadRisenSkeleton_Archer:ff4d2f92-a2e0-5532-a8b2-c64e5e30e535", "Definition:MagicAffinityDeadMasterCreateDeadRisenGhoul:925bee6d-7ad4-54bf-8dbc-dfed0200e2cf", @@ -51,6 +52,7 @@ "Definition:MagicAffinityDeadMasterCreateDeadRisenWightLord:d55862f7-a4e7-52ef-b96c-88d47647f6a8", "Definition:MagicAffinityDeadMasterMinorLifesteal:4190993a-436b-54c1-8f14-ae88c9ea78b8", "Definition:MagicAffinityDeadMasterTollTheDead:09930554-af85-547f-ac6b-8959a317e45d", + "Definition:MagicAffinityDeadMasterRayOfSickness:11e82cf5-4a45-510b-bada-62814d0e6c5e", "Definition:MagicAffinityDeadMasterWitherAndBloom:ea3e5b73-29ed-576c-905b-d74c8196f8a3", "Definition:MagicAffinityDeadMasterSpiritShroud:c51bd406-91f3-5124-9b07-a63fc43d0ae9", "Definition:MagicAffinityDeadMasterVitalityTransfer:5ea8c3b3-5e67-5814-bdf8-5f091e76235f", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetSorcererSorceryIncarnate.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetSorcererSorceryIncarnate.json new file mode 100644 index 0000000000..de180c1312 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetSorcererSorceryIncarnate.json @@ -0,0 +1,40 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:PowerSorcererSorceryIncarnate:bf50e369-2a88-553f-bb3b-a3561df16b7f" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetSorcererSorceryIncarnateTitle", + "description": "Feature/&FeatureSetSorcererSorceryIncarnateDescription", + "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": "1785f637-bb38-5a3b-b5d4-cfe1502eda77", + "contentPack": 9999, + "name": "FeatureSetSorcererSorceryIncarnate" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterRayOfSickness.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterRayOfSickness.json new file mode 100644 index 0000000000..9f088108d5 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterRayOfSickness.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": null, + "addBonusToEffectSaveDC": "Spell", + "spellWithModifiedSaveDC": "Definition:RayOfSickness:efaaacc8-ff41-5e8e-90fa-1ddc57acbc60", + "powerWithModifiedSaveDC": null, + "bonusToEffectSaveDC": 1, + "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": 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": "11e82cf5-4a45-510b-bada-62814d0e6c5e", + "contentPack": 9999, + "name": "MagicAffinityDeadMasterRayOfSickness" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterWrathfulSmite.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterWrathfulSmite.json new file mode 100644 index 0000000000..133cb31cfd --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityDeadMasterWrathfulSmite.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": null, + "addBonusToEffectSaveDC": "Spell", + "spellWithModifiedSaveDC": "Definition:WrathfulSmite:c1a7d5e1-d9f5-589a-a27e-8b97119c31c3", + "powerWithModifiedSaveDC": null, + "bonusToEffectSaveDC": 1, + "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": 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": "233c236c-7a94-56ed-9073-bf225939d33e", + "contentPack": 9999, + "name": "MagicAffinityDeadMasterWrathfulSmite" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolBlessedWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolBlessedWarrior.json new file mode 100644 index 0000000000..986b33338c --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolBlessedWarrior.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Cantrip", + "poolAmount": 2, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": "Definition:SpellListCleric:e728ae4e4306da44983db43e2889e53b", + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 0, + "extraSpellsTag": "BlessedWarrior", + "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": "d21b1e64-da60-5bc8-b90b-8de6874d11d2", + "contentPack": 9999, + "name": "PointPoolBlessedWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolDruidicWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolDruidicWarrior.json new file mode 100644 index 0000000000..052d498135 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolDruidicWarrior.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Cantrip", + "poolAmount": 2, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": "Definition:SpellListDruid:f192117ea9cbe334cba0849993779ae8", + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 0, + "extraSpellsTag": "DruidicWarrior", + "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": "d0d7a771-7b2b-51eb-8176-87121ab4d1c0", + "contentPack": 9999, + "name": "PointPoolDruidicWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerAuraOfLife.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerAuraOfLife.json index 968376f85e..bf679effaf 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerAuraOfLife.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerAuraOfLife.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", @@ -308,7 +308,7 @@ "canUseInDialog": false, "disableIfConditionIsOwned": null, "disableIfTargetConditionIsOwned": null, - "rechargeRate": "AtWill", + "rechargeRate": "TurnStart", "costPerUse": 1, "spellcastingFeature": null, "usesDetermination": "Fixed", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCircleOfTheCosmosChalice.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCircleOfTheCosmosChalice.json index a1f847bd5b..aed03d1f44 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCircleOfTheCosmosChalice.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCircleOfTheCosmosChalice.json @@ -428,7 +428,7 @@ "includeBaseDescription": false, "guiPresentation": { "$type": "GuiPresentation, Assembly-CSharp", - "hidden": true, + "hidden": false, "title": "Feature/&PowerCircleOfTheCosmosChaliceTitle", "description": "Feature/&PowerCircleOfTheCosmosChaliceDescription", "spriteReference": { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityDefensiveWhirl.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityDefensiveWhirl.json index 7c13be817a..b5ef4dad40 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityDefensiveWhirl.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityDefensiveWhirl.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityMobileWhirl.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityMobileWhirl.json index bf616a9c2d..d87e98e6dd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityMobileWhirl.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacityMobileWhirl.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacitySlashingWhirl.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacitySlashingWhirl.json index bebb74ec10..7cbb5e1153 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacitySlashingWhirl.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerCollegeOfAudacitySlashingWhirl.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatMageSlayerSaving.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatMageSlayerSaving.json index 8e929c2c07..6f5c27f328 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatMageSlayerSaving.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatMageSlayerSaving.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFighterSecondWindTargeting.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFighterSecondWindTargeting.json new file mode 100644 index 0000000000..bc0151dcb3 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFighterSecondWindTargeting.json @@ -0,0 +1,327 @@ +{ + "$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": "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": "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": "ShortRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Constitution", + "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/&FighterSecondWindTitle", + "description": "Feature/&FighterSecondWindDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "b0b479a8f09cec94faffc3da709cbc2f", + "m_SubObjectName": "SecondWind", + "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": "c8b62355-929c-50ec-97c1-5386abd7782b", + "contentPack": 9999, + "name": "PowerFighterSecondWindTargeting" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerImpBadlandDrawInspiration.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerImpBadlandDrawInspiration.json index 2d96189c5d..f41a66f69b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerImpBadlandDrawInspiration.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerImpBadlandDrawInspiration.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json index d1c28f6c34..4610b0b8a0 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInnovationVivisectionistOrganDonation.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInventorFlashOfGeniusBonus.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInventorFlashOfGeniusBonus.json index 92a17a5a98..83c4e539ca 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInventorFlashOfGeniusBonus.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerInventorFlashOfGeniusBonus.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMartialArcaneArcherBurstingArrowDamage.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMartialArcaneArcherBurstingArrowDamage.json index 68e590438c..7552d7f22e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMartialArcaneArcherBurstingArrowDamage.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMartialArcaneArcherBurstingArrowDamage.json @@ -272,7 +272,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "a2cb9f6aec3460a48a88280b9b516c63", + "m_AssetGUID": "8ec6fce55ab85a5449a811ba713366ce", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRavenScionDeadlyFocus.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRavenScionDeadlyFocus.json index f8eabe962f..99f9538870 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRavenScionDeadlyFocus.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRavenScionDeadlyFocus.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRogueStrokeOfLuck.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRogueStrokeOfLuck.json index bcd974291e..cccab6dda0 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRogueStrokeOfLuck.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRogueStrokeOfLuck.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRoyalKnightInspiringProtectionAura.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRoyalKnightInspiringProtectionAura.json index 4d397d31f4..eff893e873 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRoyalKnightInspiringProtectionAura.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRoyalKnightInspiringProtectionAura.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcererSorceryIncarnate.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcererSorceryIncarnate.json new file mode 100644 index 0000000000..0fbfdc474c --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcererSorceryIncarnate.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": "ConditionSorcererInnateSorcery", + "conditionDefinition": "Definition:ConditionSorcererInnateSorcery:46acd2cd-23a7-5de2-ae49-f58fe443f95e", + "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": "", + "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": "SorceryPoints", + "costPerUse": 2, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 0, + "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/&PowerSorcererInnateSorceryTitle", + "description": "Feature/&PowerSorcererInnateSorceryDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "56a5d67727cb7f04a9f3e84e0276fa94", + "m_SubObjectName": "GreaterArcaneShock", + "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": "bf50e369-2a88-553f-bb3b-a3561df16b7f", + "contentPack": 9999, + "name": "PowerSorcererSorceryIncarnate" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcerousWildMagicTidesOfChaos.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcerousWildMagicTidesOfChaos.json index 5f10e21404..51c16406fd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcerousWildMagicTidesOfChaos.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerSorcerousWildMagicTidesOfChaos.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerTraditionSurvivalPhysicalPerfection.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerTraditionSurvivalPhysicalPerfection.json index f051bb8ec1..9b99da3eb4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerTraditionSurvivalPhysicalPerfection.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerTraditionSurvivalPhysicalPerfection.json @@ -348,7 +348,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": "Definition:PowerTraditionSurvivalUnbreakableBody:415f76f9e52d92d41b28541a077dd365", "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWitchBolt.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWitchBolt.json index 5f3a0acc61..c1ea7c3dcb 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWitchBolt.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWitchBolt.json @@ -147,19 +147,19 @@ }, "effectParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "b61bf228af4340348a0c35d925a16908", "m_SubObjectName": "", "m_SubObjectType": "" }, "effectSubTargetParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "ef2d53ae01e05dc4cbff9bcb368dbd39", "m_SubObjectName": "", "m_SubObjectType": "" }, "zoneParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "579f0985fff7e2243a922184fedb2db0", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json index 055a03fb61..decd76b0a5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAcrobatics.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json index 88499926d2..a543c66089 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAnimalHandling.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json index 3d3c264ffd..c23a791fc0 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeArcana.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json index 44292a1ef1..12bfbcff8e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeAthletics.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json index 1877371530..5d7a73c34c 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeDeception.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json index 1d8da5fd2f..1aca0e3c6f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeHistory.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json index a5a086c724..37be500c50 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInsight.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json index ceecd39a6a..aeed6bbb32 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeIntimidation.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json index a6ffa6c401..801cf76d91 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeInvestigation.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json index 5d62a89d81..6323dfa6e9 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeMedecine.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json index 2e8033fd3f..291a0abe2d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeNature.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json index 240c9d3448..3757e88520 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerception.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json index 64e4e0e89b..5e99d77a1e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePerformance.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json index 3f74cc5ad9..37358cf57c 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgePersuasion.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json index a1e4380a76..4ba9d61f3f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeReligion.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json index 2ce32add36..0ffeeb2568 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSleightOfHand.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json index c57646d6b8..57e44649b5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeStealth.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json index 3a5151af4e..0241b3bab4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerBorrowedKnowledgeSurvival.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWealCosmosOmen.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWealCosmosOmen.json index 91d6fbe95a..afad4aa1b0 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWealCosmosOmen.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWealCosmosOmen.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWoeCosmosOmen.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWoeCosmosOmen.json index 83d8e97379..77c0afde41 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWoeCosmosOmen.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCircleOfTheCosmosWoeCosmosOmen.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfProtectionFromEvilGood.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfProtectionFromEvilGood.json index 9dda78a833..1f2dece7c1 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfProtectionFromEvilGood.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfProtectionFromEvilGood.json @@ -331,8 +331,8 @@ "guiPresentation": { "$type": "GuiPresentation, Assembly-CSharp", "hidden": false, - "title": "Protect vs Evil & Good", - "description": "Create a wand that can cast Protect vs Evil & Good (I) spell using your Artificer spell attack modifier and save DC.", + "title": "Protect vs Evil and Good", + "description": "Create a wand that can cast Protect vs Evil and Good (I) spell using your Artificer spell attack modifier and save DC.", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", "m_AssetGUID": "d0d85db74b407004fa42665f4bd98a64", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfRayOfSickness.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfRayOfSickness.json new file mode 100644 index 0000000000..ec3b81775d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerCreateSpellStoringWandOfRayOfSickness.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:SpellStoringWandOfRayOfSickness:93fd5f08-1572-5ffd-9488-b3697dfb6510", + "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": "Ray of Sickness", + "description": "Create a wand that can cast Ray of Sickness (I) spell using your Artificer spell attack modifier and save DC.", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "760d88c0-cd7d-5cd7-b82d-1359a60c53fa", + "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": "2fb363ee-1b84-5419-bcde-d211d42d3fbc", + "contentPack": 9999, + "name": "PowerCreateSpellStoringWandOfRayOfSickness" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAcrobatics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAcrobatics.json index db199e1065..9fc5812a03 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAcrobatics.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAcrobatics.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAnimalHandling.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAnimalHandling.json index aa154b1766..368b2abc4e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAnimalHandling.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAnimalHandling.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeArcana.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeArcana.json index b60868d427..7d8be0135d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeArcana.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeArcana.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAthletics.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAthletics.json index 897c6b7601..f6268160cc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAthletics.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeAthletics.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeDeception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeDeception.json index f07dc38d8b..111667f7c4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeDeception.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeDeception.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeHistory.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeHistory.json index 03e724d3a7..9ea143db13 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeHistory.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeHistory.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInsight.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInsight.json index 7a921f5595..3b94f7cee9 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInsight.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInsight.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeIntimidation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeIntimidation.json index 5c0764071e..60357d8a1f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeIntimidation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeIntimidation.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInvestigation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInvestigation.json index afa737035d..bf189293dd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInvestigation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeInvestigation.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeMedecine.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeMedecine.json index 83d87d4127..dd135b95b2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeMedecine.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeMedecine.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeNature.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeNature.json index a2e69bcdc8..16254067c2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeNature.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeNature.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerception.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerception.json index 608f0af7bc..189b99ca4b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerception.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerception.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerformance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerformance.json index 81482539b5..74cb0cd2d6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerformance.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePerformance.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePersuasion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePersuasion.json index 75ab808965..908b473edc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePersuasion.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgePersuasion.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeReligion.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeReligion.json index 403b1a40c1..a8b398d113 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeReligion.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeReligion.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSleightOfHand.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSleightOfHand.json index fb61abca02..b9d2d6538d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSleightOfHand.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSleightOfHand.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeStealth.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeStealth.json index 8b8aa8107a..dd5724329f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeStealth.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeStealth.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSurvival.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSurvival.json index d047791e65..336d49c8ca 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSurvival.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerEmpoweredKnowledgeSurvival.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBanishingArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBanishingArrow.json index 51c2c61aef..6f1808aebd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBanishingArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBanishingArrow.json @@ -299,7 +299,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "aeab2c9b72fb5a449973fac61efe50b3", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -457,7 +457,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBeguilingArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBeguilingArrow.json index 4289fe8758..a539692705 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBeguilingArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherBeguilingArrow.json @@ -31,7 +31,7 @@ "targetConditionName": "", "targetConditionAsset": null, "targetSide": "Enemy", - "durationType": "Round", + "durationType": "Instantaneous", "durationParameter": 1, "endOfEffect": "EndOfTurn", "hasSavingThrow": true, @@ -196,33 +196,6 @@ }, "hasFilterId": false, "filterId": 0 - }, - { - "$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": "", @@ -299,7 +272,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "a0f591bf23319d846abb89ac112a66c6", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -457,7 +430,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherEnfeeblingArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherEnfeeblingArrow.json index 1ab79c2b1b..5bf28475d7 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherEnfeeblingArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherEnfeeblingArrow.json @@ -299,7 +299,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "611366fbd864e644daa01e13e380c4b9", + "m_AssetGUID": "20d5c243b97cd214689a24b6280bec2c", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -457,7 +457,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherGraspingArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherGraspingArrow.json index 8c600c3677..906c9145d0 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherGraspingArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherGraspingArrow.json @@ -457,7 +457,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherInsightArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherInsightArrow.json index 52b18870d2..50d568760e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherInsightArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherInsightArrow.json @@ -338,7 +338,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "dc52f8444fa49f24ca22b361d63dbb15", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -496,7 +496,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherShadowArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherShadowArrow.json index 8ed9bfa0db..fcc316fb38 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherShadowArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherShadowArrow.json @@ -299,7 +299,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "b730c0933efd80d4e810a986f3fa156d", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -457,7 +457,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherSlowingArrow.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherSlowingArrow.json index 915a4e08e5..f7aa412dd5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherSlowingArrow.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMartialArcaneArcherSlowingArrow.json @@ -299,7 +299,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "b5d2070b1c1d7ae42b33da971cf777ee", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -457,7 +457,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageAcid.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageAcid.json index 7365bce507..65e79a8ed4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageAcid.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageAcid.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageCold.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageCold.json index 7215f67e47..68c2a82d10 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageCold.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageCold.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageFire.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageFire.json index 5bd0a33c06..293c6e9476 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageFire.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageFire.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageLightning.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageLightning.json index 611414bc9d..4742625edc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageLightning.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageLightning.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamagePoison.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamagePoison.json index f9b49bfb41..1545551d92 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamagePoison.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamagePoison.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageThunder.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageThunder.json index a118987d4a..5e5e71c3c7 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageThunder.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMetamagicTransmutedSpellDamageThunder.json @@ -293,7 +293,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastBite.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastBite.json index f54828bbc2..729788a3de 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastBite.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastBite.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastClaws.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastClaws.json index 35345aa0d2..bcc3452931 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastClaws.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastClaws.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastTail.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastTail.json index 8fc52d007c..4aca3acdf9 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastTail.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPathOfTheBeastFormOfTheBeastTail.json @@ -321,7 +321,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD01.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD01.json index 6cdbd54772..18a2c00eb6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD01.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD01.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD02.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD02.json index cb337db202..457bd52d61 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD02.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD02.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD03.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD03.json index 9a16a38c35..9475ba2550 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD03.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD03.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD04.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD04.json index 53e12365c3..b8300cfbc1 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD04.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD04.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD05.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD05.json index baea301261..0022e7a69e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD05.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD05.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD06.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD06.json index 2661b6e86a..8ed1416f91 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD06.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD06.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD07.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD07.json index 97d5893b2c..e4c0f492ca 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD07.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD07.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD08.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD08.json index 9b8c50548e..38dabec58b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD08.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD08.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD09.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD09.json index 25235722d9..3a3ba61305 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD09.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD09.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD10.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD10.json index 148191bfe4..4ce7b1b5fc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD10.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD10.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD11.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD11.json index 5bddd7d4e7..d0c1a200a9 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD11.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD11.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD12.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD12.json index 2f30ddab94..4fde109d19 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD12.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD12.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD13.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD13.json index d8d39acc9e..f1d0bfd559 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD13.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD13.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD14.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD14.json index e2efdaad27..f75e2e2223 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD14.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD14.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD15.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD15.json index 0b43f07df7..a9c133fd55 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD15.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD15.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD16.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD16.json index 63e247aac3..8795aac265 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD16.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD16.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD17.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD17.json index 8d865e4cc4..18ac3f023c 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD17.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD17.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD18.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD18.json index e56e70dabf..699d82d2a4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD18.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD18.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD19.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD19.json index fbd579a519..1387293d70 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD19.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD19.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD20.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD20.json index f6a8636d8b..57ac95e331 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD20.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerSorcerousWildMagicD20.json @@ -168,7 +168,7 @@ "abilityScoreBonusToAttack": false, "proficiencyBonusToAttack": false, "uniqueInstance": false, - "showCasting": true, + "showCasting": false, "shortTitleOverride": "", "overriddenPower": null, "includeBaseDescription": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/BlessedWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/BlessedWarrior.json new file mode 100644 index 0000000000..b89cfa1941 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/BlessedWarrior.json @@ -0,0 +1,35 @@ +{ + "$type": "FightingStyleDefinition, Assembly-CSharp", + "features": [ + "Definition:CastSpellBlessedWarrior:c41913c6-5796-5584-8dde-4693d4639760", + "Definition:PointPoolBlessedWarrior:d21b1e64-da60-5bc8-b90b-8de6874d11d2" + ], + "condition": "RangedWeaponAttack", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "FightingStyle/&BlessedWarriorTitle", + "description": "FightingStyle/&BlessedWarriorDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "f04ed1f1-2190-5ea3-9ec1-4f1ee1ab9a87", + "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": "a0528e84-b635-5bde-8242-273eb05c2f28", + "contentPack": 9999, + "name": "BlessedWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/DruidicWarrior.json b/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/DruidicWarrior.json new file mode 100644 index 0000000000..18cbd29345 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FightingStyleDefinition/DruidicWarrior.json @@ -0,0 +1,35 @@ +{ + "$type": "FightingStyleDefinition, Assembly-CSharp", + "features": [ + "Definition:CastSpellDruidicWarrior:9842c48a-14fc-5325-9eed-7bc1e36090f6", + "Definition:PointPoolDruidicWarrior:d0d7a771-7b2b-51eb-8176-87121ab4d1c0" + ], + "condition": "RangedWeaponAttack", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "FightingStyle/&DruidicWarriorTitle", + "description": "FightingStyle/&DruidicWarriorDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "a04a7073-5db2-56fc-90ce-54ab71a7fed2", + "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": "c1c2c49a-a65f-5003-a39e-b4312374db89", + "contentPack": 9999, + "name": "DruidicWarrior" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfProtectionFromEvilGood.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfProtectionFromEvilGood.json index efa1948f37..b491d85bdf 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfProtectionFromEvilGood.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfProtectionFromEvilGood.json @@ -230,8 +230,8 @@ "guiPresentation": { "$type": "GuiPresentation, Assembly-CSharp", "hidden": false, - "title": "Wand of Protect vs Evil & Good", - "description": "This wand allows casting the Protect vs Evil & Good spell using spell casting stats of the Artificer who created it.", + "title": "Wand of Protect vs Evil and Good", + "description": "This wand allows casting the Protect vs Evil and Good spell using spell casting stats of the Artificer who created it.", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", "m_AssetGUID": "99f5e6021bff7994bb5b9f6832f8145a", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfRayOfSickness.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfRayOfSickness.json new file mode 100644 index 0000000000..f0b16f6502 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/SpellStoringWandOfRayOfSickness.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:RayOfSickness:efaaacc8-ff41-5e8e-90fa-1ddc57acbc60", + "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 Ray of Sickness", + "description": "This wand allows casting the Ray of Sickness 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": "93fd5f08-1572-5ffd-9488-b3697dfb6510", + "contentPack": 9999, + "name": "SpellStoringWandOfRayOfSickness" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RestActivityDefinition/RestActivityMemorizeSpell.json b/Diagnostics/UnfinishedBusinessBlueprints/RestActivityDefinition/RestActivityMemorizeSpell.json new file mode 100644 index 0000000000..8feb010950 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/RestActivityDefinition/RestActivityMemorizeSpell.json @@ -0,0 +1,37 @@ +{ + "$type": "RestActivityDefinition, Assembly-CSharp", + "restStage": "AfterRest", + "restType": "ShortRest", + "condition": "CanPrepareSpells", + "requiresMissingClassSpellSlots": false, + "functor": "FunctorMemorizeSpell", + "stringParameter": "", + "checkConsciousness": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureWizardMemorizeSpellTitle", + "description": "Feature/&FeatureWizardMemorizeSpellDescription", + "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": "382a1a1e-e40e-5fd8-a249-d8d974113d1c", + "contentPack": 9999, + "name": "RestActivityMemorizeSpell" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BanishingSmite.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BanishingSmite.json index 9063569148..aa3ba01574 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BanishingSmite.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BanishingSmite.json @@ -4,7 +4,7 @@ "subspellsList": [], "compactSubspellsTooltip": false, "implemented": true, - "schoolOfMagic": "SchoolAbjuration", + "schoolOfMagic": "SchoolConjuration", "spellLevel": 5, "ritual": false, "uniqueInstance": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CausticZap.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CausticZap.json index 9cdb2e7fb0..43a78b2173 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CausticZap.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CausticZap.json @@ -188,8 +188,8 @@ "additionalWeaponDie": 0, "alteredDuration": "None" }, - "speedType": "Instant", - "speedParameter": 10.0, + "speedType": "CellsPerSeconds", + "speedParameter": 12.0, "offsetImpactTimeBasedOnDistance": false, "offsetImpactTimeBasedOnDistanceFactor": 0.1, "offsetImpactTimePerTarget": 0.0, @@ -245,7 +245,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "a6e8f7ab481608046a0a955556089c5f", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CrusadersMantle.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CrusadersMantle.json index 7efe7c1e2d..6309015582 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CrusadersMantle.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/CrusadersMantle.json @@ -127,7 +127,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "4abc0a06a6ee59f4cb038a8d983cba4a", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PowerWordKill.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PowerWordKill.json index 1e52a1826a..9da79c0c24 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PowerWordKill.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/PowerWordKill.json @@ -71,8 +71,52 @@ "hasLimitedEffectPool": false, "effectPoolAmount": 60, "effectApplication": "All", - "effectFormFilters": [], + "effectFormFilters": [ + { + "$type": "EffectFormFilter, Assembly-CSharp", + "effectFormId": 0, + "criteria": "CurrentHitPoints", + "minHitPoints": 100, + "maxHitPoints": 10000, + "characterFamily": "" + } + ], "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": 12, + "dieType": "D12", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamagePsychic", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": true, + "filterId": 0 + }, { "$type": "EffectForm, Assembly-CSharp", "formType": "Kill", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/RayOfSickness.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/RayOfSickness.json new file mode 100644 index 0000000000..0cb07e6796 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/RayOfSickness.json @@ -0,0 +1,381 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolNecromancy", + "spellLevel": 1, + "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": "Individuals", + "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": 2, + "dieType": "D8", + "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": "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": "ConditionPoisoned", + "conditionDefinition": "Definition:ConditionPoisoned:185ea6cfd1e758448bf574c4055af482", + "operation": "Add", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": 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": "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": "1d1441448c31dfa4e89f85c61b2d414e", + "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": "None", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "Attack", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Spell/&RayOfSicknessTitle", + "description": "Spell/&RayOfSicknessDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "760d88c0-cd7d-5cd7-b82d-1359a60c53fa", + "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": "efaaacc8-ff41-5e8e-90fa-1ddc57acbc60", + "contentPack": 9999, + "name": "RayOfSickness" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SwiftQuiver.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SwiftQuiver.json index 8b41b7e597..e808c0d39c 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SwiftQuiver.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SwiftQuiver.json @@ -14,13 +14,13 @@ "requiresConcentration": true, "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", - "rangeType": "Self", - "rangeParameter": 0, + "rangeType": "Distance", + "rangeParameter": 24, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], - "targetType": "Self", + "targetType": "Individuals", "itemSelectionType": "None", - "targetParameter": 1, + "targetParameter": 2, "targetParameter2": 2, "emissiveBorder": "None", "emissiveParameter": 1, @@ -42,7 +42,7 @@ "trapRangeType": "Triggerer", "targetConditionName": "", "targetConditionAsset": null, - "targetSide": "Ally", + "targetSide": "Enemy", "durationType": "Minute", "durationParameter": 1, "endOfEffect": "EndOfTurn", @@ -94,7 +94,7 @@ "conditionDefinition": "Definition:ConditionSwiftQuiver:1e981912-4130-58da-9464-ac4a23323337", "operation": "Add", "conditionsList": [], - "applyToSelf": false, + "applyToSelf": true, "forceOnSelf": false }, "hasFilterId": false, @@ -261,19 +261,19 @@ }, "conditionStartParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "2da227cea9dca7d41b5d447904eb594c", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, "conditionParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "efdfc9a01d8307f4ba69ffa457abd4d3", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, "conditionEndParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "0a30f6db20ec9ce47b58cb2b1cfeb655", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json index 7373152a92..dd27d5959b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Weird.json @@ -73,6 +73,41 @@ "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": 10, + "dieType": "D10", + "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 + }, { "$type": "EffectForm, Assembly-CSharp", "formType": "Condition", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WitchBolt.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WitchBolt.json index f47b7d5c9e..280d99337b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WitchBolt.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WitchBolt.json @@ -213,19 +213,19 @@ }, "effectParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "b61bf228af4340348a0c35d925a16908", "m_SubObjectName": "", "m_SubObjectType": "" }, "effectSubTargetParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "ef2d53ae01e05dc4cbff9bcb368dbd39", "m_SubObjectName": "", "m_SubObjectType": "" }, "zoneParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "579f0985fff7e2243a922184fedb2db0", + "m_AssetGUID": "", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WrathfulSmite.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WrathfulSmite.json index 41cfd20aeb..4bebdf14e2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WrathfulSmite.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/WrathfulSmite.json @@ -4,7 +4,7 @@ "subspellsList": [], "compactSubspellsTooltip": false, "implemented": true, - "schoolOfMagic": "SchoolEvocation", + "schoolOfMagic": "SchoolNecromancy", "spellLevel": 1, "ritual": false, "uniqueInstance": false, @@ -104,11 +104,11 @@ "specialFormsDescription": "", "effectAdvancement": { "$type": "EffectAdvancement, Assembly-CSharp", - "effectIncrementMethod": "None", + "effectIncrementMethod": "PerAdditionalSlotLevel", "incrementMultiplier": 1, "additionalTargetsPerIncrement": 0, "additionalSubtargetsPerIncrement": 0, - "additionalDicePerIncrement": 0, + "additionalDicePerIncrement": 1, "additionalSpellLevelPerIncrement": 0, "additionalSummonsPerIncrement": 0, "additionalHPPerIncrement": 0, diff --git a/Documentation/FightingStyles.md b/Documentation/FightingStyles.md index fe5806f25b..43c2c82c85 100644 --- a/Documentation/FightingStyles.md +++ b/Documentation/FightingStyles.md @@ -6,57 +6,65 @@ You gain a +2 bonus to attack rolls with ranged weapons. Your unarmed reach increases by 5ft as long as both of your hands are free. -# 3. - *Blind Fighting* © [UB] +# 3. - *Blessed Warrior* © [UB] + +You learn two cantrips of your choice from the Cleric spell list. They count as Paladin spells for you, and Charisma is your spellcasting ability for them. + +# 4. - *Blind Fighting* © [UB] You have blind sight with a range of 10 ft. Within that range, you can effectively see anything that isn't behind total cover, even if you're blinded or in darkness. Moreover, you can see an invisible creature within that range, unless the creature successfully hides from you. -# 4. - Classical Swordplay [UB] +# 5. - Classical Swordplay [UB] You gain a +1 bonus to your attack rolls and a +1 to bonus to your AC while wielding a melee one-handed or versatile weapon and no other weapon or shield. -# 5. - Crippling [UB] +# 6. - Crippling [UB] You reduce the speed of your opponents by 10 ft until the end of your next turn on a melee attack hit. -# 6. - Defense [SOL] +# 7. - Defense [SOL] While you are wearing armor, you gain a +1 bonus to AC. -# 7. - Dueling [SOL] +# 8. - *Druidic Warrior* © [UB] + +You learn two cantrips of your choice from the Druid spell list. They count as Ranger spells for you, and Wisdom is your spellcasting ability for them. + +# 9. - Dueling [SOL] When you are wielding a melee weapon in one hand and no other weapons, you gain a +2 bonus to damage rolls with that weapon. -# 8. - Executioner [UB] +# 10. - Executioner [UB] You add your proficiency bonus to damage against blinded, frightened, restrained, incapacitated, paralyzed, prone or stunned creatures. -# 9. - Great Weapon Fighting [SOL] +# 11. - Great Weapon Fighting [SOL] When you roll a 1 or 2 on a damage die for an attack you make with a melee weapon that you are wielding with two hands, you can reroll the die. You must use the new roll, even if it is a 1 or a 2. The weapon must have the two-handed or versatile property for you to gain this benefit. -# 10. - *Interception* © [UB] +# 12. - *Interception* © [UB] When a creature you can see hits a target, other than you, within 5 feet of you with an attack, you can use your reaction to reduce the damage the target takes by 1d10 + your proficiency bonus. You must wield a shield or a simple or martial weapon to use this reaction. -# 11. - Lunger [UB] +# 13. - Lunger [UB] Your melee weapon reach increases by 5 ft as long as wielding a weapon without the heavy tag and your other hand is free. -# 12. - Protection [SOL] +# 14. - Protection [SOL] When a creature you can see attacks a target other than you that is within one cell of you, you can use your reaction to impose disadvantage on the attack roll. You must be wielding a shield. -# 13. - *Superior Technique* © [UB] +# 15. - *Superior Technique* © [UB] You have martial training that allows you to perform special combat techniques called maneuvers: • You learn one maneuver 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. -# 14. - Torchbearer [UB] +# 16. - Torchbearer [UB] As a bonus action, you may elect to use a light source you have equipped to attempt to set an enemy you can touch on fire. Your target must succeed on a Dexterity saving throw (DC 8 + your proficiency bonus + your Dexterity modifier) or take 1d4 fire damage per turn for 1 minute or until extinguished. -# 15. - Two Weapon Fighting [SOL] +# 17. - Two Weapon Fighting [SOL] When you engage in two-weapon fighting, you can add your ability modifier to the damage of the second attack. diff --git a/Documentation/Invocations.md b/Documentation/Invocations.md index 6aa02dd3cc..7b1f306f64 100644 --- a/Documentation/Invocations.md +++ b/Documentation/Invocations.md @@ -1,6 +1,6 @@ # 1. - *Abilities of the Chain Master* © [UB] -Gain additional effects when bound to a creature. When bound to Imp gain greater invisibility, when bound to Pseudo Dragon gain flight and attacks imbued with poison, when bound to Quasit gain an additional main action and advantage on Dexterity saving throws, and when bound to Sprite get an AC score of at least 16 and attackers have disadvantage against you. +Gain additional effects when bound to a creature. When bound to Imp gain greater invisibility, when bound to Pseudo Dragon gain flight and attacks imbued with poison, when bound to Quasit gain an additional attack and advantage on Dexterity saving throws, and when bound to Sprite get an AC score of at least 16 and attackers have disadvantage against you. # 2. - Agonizing Blast [SOL] diff --git a/Documentation/Monsters/SolastaMonstersHumanoid.md b/Documentation/Monsters/SolastaMonstersHumanoid.md index b45046cd22..6de59ece48 100644 --- a/Documentation/Monsters/SolastaMonstersHumanoid.md +++ b/Documentation/Monsters/SolastaMonstersHumanoid.md @@ -811,7 +811,7 @@ Size: *Medium* | ----- | ----- | ----------- | | 0 | Light | An object you can touch emits a powerful light for a limited time. | | 0 | Sacred Flame | Strike an enemy with radiant damage. | -| 0 | Spare the Dying | Touch a dying ally to stabilize them. | +| 0 | Spare the Dying | Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). | | 1 | Cure Wounds | Heal an ally by touch. | | 1 | Guiding Bolt | Launch a radiant attack against an enemy and make them easy to hit. | | 1 | Bless | Increase your allies' saving throws and attack rolls for a limited time. | @@ -853,7 +853,7 @@ Size: *Medium* | ----- | ----- | ----------- | | 0 | Light | An object you can touch emits a powerful light for a limited time. | | 0 | Sacred Flame | Strike an enemy with radiant damage. | -| 0 | Spare the Dying | Touch a dying ally to stabilize them. | +| 0 | Spare the Dying | Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). | | 1 | Cure Wounds | Heal an ally by touch. | | 1 | Guiding Bolt | Launch a radiant attack against an enemy and make them easy to hit. | | 1 | Bless | Increase your allies' saving throws and attack rolls for a limited time. | @@ -1454,7 +1454,7 @@ Size: *Medium* | ----- | ----- | ----------- | | 0 | Light | An object you can touch emits a powerful light for a limited time. | | 0 | Sacred Flame | Strike an enemy with radiant damage. | -| 0 | Spare the Dying | Touch a dying ally to stabilize them. | +| 0 | Spare the Dying | Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). | | 1 | Cure Wounds | Heal an ally by touch. | | 1 | Guiding Bolt | Launch a radiant attack against an enemy and make them easy to hit. | | 1 | Bless | Increase your allies' saving throws and attack rolls for a limited time. | @@ -1708,10 +1708,7 @@ Size: *Medium* | 1 | Mage Armor | Provide magical armor to an ally who doesn't wear armor. | | 1 | Magic Missile | Strike one or more enemies with projectiles that can't miss. | | 2 | Misty Step | Teleports you to a free cell you can see, no more than 6 cells away. | -| 2 | Mirror Image | 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 AC 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). | +| 2 | Mirror Image | Three illusory duplicates of yourself appear in your space. Until the spell ends, the duplicates move with you and mimic your actions, shifting position so it's impossible to track which image is real. Each time a creature hits you with an attack roll during the spell's duration, roll a d6 for each of your remaining duplicates. If any of the d6s rolls a 3 or higher, one of the duplicates is hit instead of you, and the duplicate is destroyed. The duplicates otherwise ignore all other damage and effects. The spell ends when all three duplicates are destroyed. A creature is unaffected by this spell if it has the Blinded condition, Blindsight, or Truesight. | | 2 | Scorching Ray | Fling rays of fire at one or more enemies. | | 3 | Counterspell | Interrupt an enemy's spellcasting. | | 3 | Fly | An ally you touch gains the ability to fly for a limited time. | @@ -2470,7 +2467,7 @@ Size: *Medium* | ----- | ----- | ----------- | | 0 | Light | An object you can touch emits a powerful light for a limited time. | | 0 | Sacred Flame | Strike an enemy with radiant damage. | -| 0 | Spare the Dying | Touch a dying ally to stabilize them. | +| 0 | Spare the Dying | Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). | | 1 | Cure Wounds | Heal an ally by touch. | | 1 | Guiding Bolt | Launch a radiant attack against an enemy and make them easy to hit. | | 1 | Bless | Increase your allies' saving throws and attack rolls for a limited time. | @@ -2600,7 +2597,7 @@ Size: *Medium* | ----- | ----- | ----------- | | 0 | Light | An object you can touch emits a powerful light for a limited time. | | 0 | Sacred Flame | Strike an enemy with radiant damage. | -| 0 | Spare the Dying | Touch a dying ally to stabilize them. | +| 0 | Spare the Dying | Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). | | 1 | Cure Wounds | Heal an ally by touch. | | 1 | Guiding Bolt | Launch a radiant attack against an enemy and make them easy to hit. | | 1 | Bless | Increase your allies' saving throws and attack rolls for a limited time. | diff --git a/Documentation/Spells.md b/Documentation/Spells.md index 80bab2c257..6c7dd860ff 100644 --- a/Documentation/Spells.md +++ b/Documentation/Spells.md @@ -188,7 +188,7 @@ Damage and daze an enemy on a successful touch. **[Artificer, Cleric]** -Touch a dying ally to stabilize them. +Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). # 33. - Sparkle (V,S) level 0 Enchantment [SOL] @@ -568,7 +568,7 @@ Until the spell ends, whenever you hit a target with an attack you deal an extra 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. -# 95. - Protect vs Evil & Good (V,S) level 1 Abjuration [Concentration] [SOL] +# 95. - Protect vs Evil and Good (V,S) level 1 Abjuration [Concentration] [SOL] **[Cleric, Paladin, Warlock, Wizard]** @@ -581,204 +581,210 @@ Touch an ally to give them protection from evil or good creatures for a limited 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. -# 97. - *Sanctuary* © (V,S) level 1 Abjuration [UB] +# 97. - *Ray of Sickness* © (V,S) level 1 Necromancy [UB] + +**[Sorcerer, Wizard]** + +You shoot a greenish ray at a creature within range. Make a ranged spell attack against the target. On a hit, the target takes 2d8 Poison damage and has the Poisoned condition until the end of your next turn. The damage increases by 1d8 for each spell slot level above 1. + +# 98. - *Sanctuary* © (V,S) level 1 Abjuration [UB] **[Artificer, Cleric]** 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. -# 98. - *Searing Smite* © (V) level 1 Evocation [Concentration] [UB] +# 99. - *Searing Smite* © (V) level 1 Evocation [Concentration] [UB] **[Paladin, Ranger]** The next time you hit a creature with a melee weapon attack during the spell's duration, 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 until the spell ends, the target must make a Constitution saving throw. On a failed save, it takes 1d6 fire damage. On a successful save, the spells ends. If the target or a creature within 5 feet of it uses an action to put out the flames, or if some other effect douses the flames (such as the target being submerged in water), 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. -# 99. - Shield (V,S) level 1 Abjuration [SOL] +# 100. - Shield (V,S) level 1 Abjuration [SOL] **[Sorcerer, Wizard]** Increase your AC by 5 just before you would take a hit. -# 100. - Shield of Faith (V,S) level 1 Abjuration [Concentration] [SOL] +# 101. - Shield of Faith (V,S) level 1 Abjuration [Concentration] [SOL] **[Cleric, Paladin]** Increase an ally's AC by 2 for a limited time. -# 101. - Sleep (V,S) level 1 Enchantment [SOL] +# 102. - Sleep (V,S) level 1 Enchantment [SOL] **[Bard, Sorcerer, Wizard]** 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. -# 102. - *Tasha's Caustic Brew* © (V,S) level 1 Evocation [Concentration] [UB] +# 103. - *Tasha's Caustic Brew* © (V,S) level 1 Evocation [Concentration] [UB] **[Artificer, Sorcerer, Wizard]** 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. -# 103. - *Thunderous Smite* © (V) level 1 Evocation [Concentration] [UB] +# 104. - *Thunderous Smite* © (V) level 1 Evocation [Concentration] [UB] **[Paladin]** The first time you hit with a melee weapon attack during this spell's duration, your weapon rings with thunder that is audible within 300 feet of you, 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 feet away from you and knocked prone. -# 104. - Thunderwave (V,S) level 1 Evocation [SOL] +# 105. - Thunderwave (V,S) level 1 Evocation [SOL] **[Bard, Druid, Sorcerer, Wizard]** Emit a wave of force that causes damage and pushes creatures and objects away. -# 105. - Tiefling's Hellish Rebuke (V,S) level 1 Evocation [SOL] +# 106. - 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. -# 106. - *Witch Bolt* © (V,S) level 1 Evocation [Concentration] [UB] +# 107. - *Witch Bolt* © (V,S) level 1 Evocation [Concentration] [UB] **[Sorcerer, Warlock, Wizard]** 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 damage increases by 1d12 for each slot level above 1st. -# 107. - *Wrathful Smite* © (V) level 1 Evocation [Concentration] [UB] +# 108. - *Wrathful Smite* © (V) level 1 Necromancy [Concentration] [UB] **[Paladin]** -The next time you hit with a melee weapon attack during this spell's duration, your attack deals an extra 1d6 psychic damage. Additionally, if the target is a creature, it must make a Wisdom saving throw or be frightened of you until the spell ends. As an action, the creature can make a Wisdom check against your spell save DC to steel its resolve and end this spell. +The target takes an extra 1d6 Necrotic damage from the attack, and it must succeed on a Wisdom saving throw or have the Frightened condition until the spell ends. At the end of each of its turns, the Frightened target repeats the save, ending the spell on itself on a success. The damage increases by 1d6 for each spell slot level above 1. -# 108. - *Zephyr Strike* © (V) level 1 Transmutation [Concentration] [UB] +# 109. - *Zephyr Strike* © (V) level 1 Transmutation [Concentration] [UB] **[Ranger]** 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. -# 109. - Acid Arrow (V,S) level 2 Evocation [SOL] +# 110. - Acid Arrow (V,S) level 2 Evocation [SOL] **[Wizard]** Launch an acid arrow that deals some damage even if you miss your shot. -# 110. - *Aganazzar's Scorcher* © (V,S) level 2 Evocation [UB] +# 111. - *Aganazzar's Scorcher* © (V,S) level 2 Evocation [UB] **[Sorcerer, Wizard]** 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. -# 111. - Aid (V,S) level 2 Abjuration [SOL] +# 112. - Aid (V,S) level 2 Abjuration [SOL] **[Artificer, Cleric, Paladin]** Temporarily increases hit points for up to three allies. -# 112. - Barkskin (V,S) level 2 Transmutation [Concentration] [SOL] +# 113. - Barkskin (V,S) level 2 Transmutation [Concentration] [SOL] **[Druid, Ranger]** Gives you or an ally you can touch an AC of at least 16. -# 113. - Blindness (V) level 2 Necromancy [SOL] +# 114. - Blindness (V) level 2 Necromancy [SOL] **[Bard, Cleric, Sorcerer, Wizard]** Blind an enemy for one minute. -# 114. - Blur (V) level 2 Illusion [Concentration] [SOL] +# 115. - Blur (V) level 2 Illusion [Concentration] [SOL] **[Artificer, Sorcerer, Wizard]** Makes you blurry and harder to hit for up to one minute. -# 115. - *Borrowed Knowledge* © (V,S) level 2 Divination [UB] +# 116. - *Borrowed Knowledge* © (V,S) level 2 Divination [UB] **[Bard, Cleric, Warlock, Wizard]** 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. -# 116. - Branding Smite (V) level 2 Evocation [Concentration] [SOL] +# 117. - Branding Smite (V) level 2 Evocation [Concentration] [SOL] **[Paladin]** Your next hit causes additional radiant damage and your target becomes luminous. -# 117. - Calm Emotions (V,S) level 2 Enchantment [Concentration] [SOL] +# 118. - Calm Emotions (V,S) level 2 Enchantment [Concentration] [SOL] **[Bard, Cleric]** Stops allies from being charmed or frightened and makes hostile humanoids indifferent. -# 118. - *Cloud of Daggers* © (V,S) level 2 Conjuration [Concentration] [UB] +# 119. - *Cloud of Daggers* © (V,S) level 2 Conjuration [Concentration] [UB] **[Bard, Sorcerer, Warlock, Wizard]** 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. -# 119. - Color Burst (V,S) level 2 Illusion [UB] +# 120. - Color Burst (V,S) level 2 Illusion [UB] **[Artificer, Sorcerer, Wizard]** Burst a luminous cube that briefly blinds anyone within 10 ft. 8d10 is how many hit points of creatures this spell can affect. -# 120. - Conjure Goblinoids (V,S) level 2 Conjuration [Concentration] [UB] +# 121. - Conjure Goblinoids (V,S) level 2 Conjuration [Concentration] [UB] **[Druid, Ranger]** Conjures 2 goblins who obey your orders unless you lose concentration. -# 121. - Darkness (V) level 2 Evocation [Concentration] [SOL] +# 122. - Darkness (V) level 2 Evocation [Concentration] [SOL] **[Sorcerer, Warlock, Wizard]** Create an area of magical darkness. -# 122. - Darkvision (V,S) level 2 Transmutation [SOL] +# 123. - Darkvision (V,S) level 2 Transmutation [SOL] **[Artificer, Druid, Ranger, Sorcerer, Wizard]** Grant Darkvision to the target. -# 123. - Enhance Ability (V,S) level 2 Transmutation [Concentration] [SOL] +# 124. - Enhance Ability (V,S) level 2 Transmutation [Concentration] [SOL] **[Artificer, Bard, Cleric, Druid]** Grant temporary powers to an ally for up to one hour. -# 124. - Find Traps (V,S) level 2 Evocation [SOL] +# 125. - Find Traps (V,S) level 2 Evocation [SOL] **[Cleric, Druid, Ranger]** Spot mechanical and magical traps, but not natural hazards. -# 125. - Flame Blade (V,S) level 2 Evocation [Concentration] [SOL] +# 126. - Flame Blade (V,S) level 2 Evocation [Concentration] [SOL] **[Druid]** Evokes a fiery blade for ten minutes that you can wield in battle. -# 126. - Flaming Sphere (V,S) level 2 Evocation [Concentration] [SOL] +# 127. - Flaming Sphere (V,S) level 2 Evocation [Concentration] [SOL] **[Druid, Wizard]** Summons a movable, burning sphere. -# 127. - Heat Metal (V,S) level 2 Transmutation [Concentration] [SOL] +# 128. - Heat Metal (V,S) level 2 Transmutation [Concentration] [SOL] **[Artificer, Bard, Druid]** 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. -# 128. - Hold Person (V,S) level 2 Enchantment [Concentration] [SOL] +# 129. - Hold Person (V,S) level 2 Enchantment [Concentration] [SOL] **[Bard, Cleric, Druid, Sorcerer, Warlock, Wizard]** Paralyze a humanoid you can see for a limited time. -# 129. - Invisibility (V,S) level 2 Illusion [Concentration] [SOL] +# 130. - Invisibility (V,S) level 2 Illusion [Concentration] [SOL] **[Artificer, Bard, Sorcerer, Warlock, Wizard]** Make an ally invisible for a limited time. -# 130. - *Kinetic Jaunt* © (S) level 2 Transmutation [Concentration] [UB] +# 131. - *Kinetic Jaunt* © (S) level 2 Transmutation [Concentration] [UB] **[Artificer, Bard, Sorcerer, Wizard]** @@ -787,386 +793,383 @@ You magically empower your movement with dance like steps, giving yourself the f • You don't provoke opportunity attacks. • You can move through the space of any creature. -# 131. - Knock (V) level 2 Transmutation [SOL] +# 132. - Knock (V) level 2 Transmutation [SOL] **[Bard, Sorcerer, Wizard]** Magically open locked doors, chests, and the like. -# 132. - Lesser Restoration (V,S) level 2 Abjuration [SOL] +# 133. - Lesser Restoration (V,S) level 2 Abjuration [SOL] **[Artificer, Bard, Cleric, Druid, Paladin, Ranger]** Remove a detrimental condition from an ally. -# 133. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL] +# 134. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL] **[Artificer, Sorcerer, Wizard]** 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. -# 134. - Levitate (V,S) level 2 Transmutation [Concentration] [SOL] +# 135. - 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. -# 135. - Magic Weapon (V,S) level 2 Transmutation [Concentration] [SOL] +# 136. - Magic Weapon (V,S) level 2 Transmutation [Concentration] [SOL] **[Artificer, Paladin, Wizard]** A nonmagical weapon becomes a +1 weapon for up to one hour. -# 136. - *Mirror Image* © (V,S) level 2 Illusion [UB] +# 137. - *Mirror Image* © (V,S) level 2 Illusion [UB] **[Bard, Sorcerer, Warlock, Wizard]** -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 AC 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). +Three illusory duplicates of yourself appear in your space. Until the spell ends, the duplicates move with you and mimic your actions, shifting position so it's impossible to track which image is real. Each time a creature hits you with an attack roll during the spell's duration, roll a d6 for each of your remaining duplicates. If any of the d6s rolls a 3 or higher, one of the duplicates is hit instead of you, and the duplicate is destroyed. The duplicates otherwise ignore all other damage and effects. The spell ends when all three duplicates are destroyed. A creature is unaffected by this spell if it has the Blinded condition, Blindsight, or Truesight. -# 137. - Misty Step (V) level 2 Conjuration [SOL] +# 138. - Misty Step (V) level 2 Conjuration [SOL] **[Sorcerer, Warlock, Wizard]** Teleports you to a free cell you can see, no more than 6 cells away. -# 138. - Moon Beam (V,S) level 2 Evocation [Concentration] [SOL] +# 139. - Moon Beam (V,S) level 2 Evocation [Concentration] [SOL] **[Druid]** Conjures a vertical column of moonlight which causes radiant damage. Shapechangers have disadvantage on the save. -# 139. - Noxious Spray (V,S) level 2 Evocation [UB] +# 140. - Noxious Spray (V,S) level 2 Evocation [UB] **[Druid, Sorcerer, Warlock, Wizard]** 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. -# 140. - Pass Without Trace (V,S) level 2 Abjuration [Concentration] [SOL] +# 141. - Pass Without Trace (V,S) level 2 Abjuration [Concentration] [SOL] **[Druid, Ranger]** Make yourself and up to 5 allies stealthier for one hour. -# 141. - Petal Storm (V,S) level 2 Conjuration [Concentration] [UB] +# 142. - Petal Storm (V,S) level 2 Conjuration [Concentration] [UB] **[Druid]** 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. -# 142. - Prayer of Healing (V) level 2 Evocation [SOL] +# 143. - Prayer of Healing (V) level 2 Evocation [SOL] **[Cleric]** Heal multiple allies at the same time. -# 143. - Protect Threshold (V,S) level 2 Abjuration [UB] +# 144. - Protect Threshold (V,S) level 2 Abjuration [UB] **[Cleric, Druid, Paladin]** 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. -# 144. - Protection from Poison (V,S) level 2 Abjuration [SOL] +# 145. - Protection from Poison (V,S) level 2 Abjuration [SOL] **[Artificer, Druid, Paladin, Ranger]** Cures and protects against poison. -# 145. - Ray of Enfeeblement (V,S) level 2 Necromancy [Concentration] [SOL] +# 146. - Ray of Enfeeblement (V,S) level 2 Necromancy [Concentration] [SOL] **[Sorcerer, Warlock, Wizard]** Weaken an enemy so they deal less damage for one minute. -# 146. - *Rime's Binding Ice* © (S) level 2 Evocation [UB] +# 147. - *Rime's Binding Ice* © (S) level 2 Evocation [UB] **[Sorcerer, Wizard]** 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. -# 147. - Scorching Ray (V,S) level 2 Evocation [SOL] +# 148. - Scorching Ray (V,S) level 2 Evocation [SOL] **[Sorcerer, Wizard]** Fling rays of fire at one or more enemies. -# 148. - See Invisibility (V,S) level 2 Divination [SOL] +# 149. - See Invisibility (V,S) level 2 Divination [SOL] **[Artificer, Bard, Sorcerer, Wizard]** You can see invisible creatures. -# 149. - *Shadow Blade* © (V,S) level 2 Illusion [Concentration] [UB] +# 150. - *Shadow Blade* © (V,S) level 2 Illusion [Concentration] [UB] **[Sorcerer, Warlock, Wizard]** You weave together threads of shadow to create a dagger of solidified gloom in your hand. It deals 2d8 psychic damage on a hit and has the finesse, light, and thrown properties. In addition, when you use it to attack a target that is in dim light or darkness, you make the attack roll with advantage. -# 150. - Shatter (V,S) level 2 Evocation [SOL] +# 151. - Shatter (V,S) level 2 Evocation [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Triggers a sudden noise that causes Thunder Damage in a 2-cell radius. -# 151. - Silence (V,S) level 2 Illusion [Concentration] [SOL] +# 152. - Silence (V,S) level 2 Illusion [Concentration] [SOL] **[Bard, Cleric, Ranger]** Creates a sphere four cells in radius, inside which sound cannot exist. Stops thunder damage and prevents spellcasting using verbal components. -# 152. - *Snilloc's Snowball Storm* © (V,S) level 2 Evocation [UB] +# 153. - *Snilloc's Snowball Storm* © (V,S) level 2 Evocation [UB] **[Sorcerer, Wizard]** 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. -# 153. - Spider Climb (V,S) level 2 Transmutation [Concentration] [SOL] +# 154. - Spider Climb (V,S) level 2 Transmutation [Concentration] [SOL] **[Artificer, Sorcerer, Warlock, Wizard]** Touch an ally to allow them to climb walls like a spider for a limited time. -# 154. - Spike Growth (V,S) level 2 Transmutation [Concentration] [SOL] +# 155. - Spike Growth (V,S) level 2 Transmutation [Concentration] [SOL] **[Druid, Ranger]** Grows spikes and thorns in the area, making the terrain difficult and causing damage for every cell of movement. -# 155. - Spiritual Weapon (V,S) level 2 Evocation [SOL] +# 156. - Spiritual Weapon (V,S) level 2 Evocation [SOL] **[Cleric]** Summon a weapon that fights for you. -# 156. - *Tasha's Mind Whip* © (V) level 2 Enchantment [UB] +# 157. - *Tasha's Mind Whip* © (V) level 2 Enchantment [UB] **[Sorcerer, Wizard]** 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. -# 157. - *Warding Bond* © (V,S) level 2 Abjuration [SOL] +# 158. - *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. -# 158. - *Web* © (V,S) level 2 Conjuration [Concentration] [UB] +# 159. - *Web* © (V,S) level 2 Conjuration [Concentration] [UB] **[Artificer, Sorcerer, Wizard]** 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. -# 159. - *Wither and Bloom* © (V,S) level 2 Necromancy [UB] +# 160. - *Wither and Bloom* © (V,S) level 2 Necromancy [UB] **[Druid, Sorcerer, Wizard]** 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. -# 160. - Adder's Fangs (V,S) level 3 Conjuration [UB] +# 161. - Adder's Fangs (V,S) level 3 Conjuration [UB] **[Druid, Ranger, Sorcerer, Warlock]** 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. -# 161. - *Ashardalon's Stride* © (V,S) level 3 Transmutation [Concentration] [UB] +# 162. - *Ashardalon's Stride* © (V,S) level 3 Transmutation [Concentration] [UB] **[Artificer, Ranger, Sorcerer, Wizard]** The billowing flames of a dragon blast from your feet, granting you explosive speed. For the duration, your speed increases by 20 feet and moving doesn't provoke opportunity attacks. When you move within 5 feet of a creature, it takes 1d6 fire damage from your trail of heat. A creature can take this damage only once during a turn. When you cast this spell using a spell slot of 4th level or higher, increase your speed by 5 feet for each spell slot level above 3rd. The spell deals an additional 1d6 fire damage for each slot level above 3rd. -# 162. - *Aura of Vitality* © (V) level 3 Evocation [Concentration] [UB] +# 163. - *Aura of Vitality* © (V) level 3 Evocation [Concentration] [UB] **[Cleric, Paladin]** -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. +Healing energy radiates from you in an aura with a 30-foot radius. When you create the aura and during each of your subsequent turns while it persists, you can restore 2d6 Hit Points to one creature in it as a free action. -# 163. - Beacon of Hope (V,S) level 3 Abjuration [Concentration] [SOL] +# 164. - Beacon of Hope (V,S) level 3 Abjuration [Concentration] [SOL] **[Cleric]** Raise hope and vitality. -# 164. - Bestow Curse (V,S) level 3 Necromancy [Concentration] [SOL] +# 165. - Bestow Curse (V,S) level 3 Necromancy [Concentration] [SOL] **[Bard, Cleric, Wizard]** Curses a creature you can touch. -# 165. - *Blinding Smite* © (V) level 3 Evocation [Concentration] [UB] +# 166. - *Blinding Smite* © (V) level 3 Evocation [Concentration] [UB] **[Paladin]** The next time you hit a creature with a melee weapon attack during this spell's duration, you 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. -# 166. - Call Lightning (V,S) level 3 Conjuration [Concentration] [SOL] +# 167. - Call Lightning (V,S) level 3 Conjuration [Concentration] [SOL] **[Druid]** 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. -# 167. - Conjure Animal (V,S) level 3 Conjuration [Concentration] [SOL] +# 168. - Conjure Animal (V,S) level 3 Conjuration [Concentration] [SOL] **[Druid, Ranger]** Summon spirits in the form of beasts to help you in battle -# 168. - Corrupting Bolt (V,S) level 3 Necromancy [UB] +# 169. - Corrupting Bolt (V,S) level 3 Necromancy [UB] **[Sorcerer, Warlock, Wizard]** 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. -# 169. - Counterspell (S) level 3 Abjuration [SOL] +# 170. - Counterspell (S) level 3 Abjuration [SOL] **[Sorcerer, Warlock, Wizard]** Interrupt an enemy's spellcasting. -# 170. - Create Food (S) level 3 Conjuration [SOL] +# 171. - Create Food (S) level 3 Conjuration [SOL] **[Artificer, Cleric, Paladin]** Conjure 15 units of food. -# 171. - *Crusader's Mantle* © (V) level 3 Evocation [Concentration] [UB] +# 172. - *Crusader's Mantle* © (V) level 3 Evocation [Concentration] [UB] **[Paladin]** -Surround yourself with a magical aura. Allies within the aura gain a bonus 1d4 radiant damage on their attacks. +Holy power radiates from you in an aura with a 30-foot radius, awakening boldness in friendly creatures. Until the spell ends, the aura moves with you, centered on you. While in the aura, each non-hostile creature in the aura (including you) deals an extra 1d4 radiant damage when it hits with an attack. -# 172. - Daylight (V,S) level 3 Evocation [SOL] +# 173. - Daylight (V,S) level 3 Evocation [SOL] **[Cleric, Druid, Paladin, Ranger, Sorcerer]** Summon a globe of bright light. -# 173. - Dispel Magic (V,S) level 3 Abjuration [SOL] +# 174. - Dispel Magic (V,S) level 3 Abjuration [SOL] **[Artificer, Bard, Cleric, Druid, Paladin, Sorcerer, Warlock, Wizard]** End active spells on a creature or object. -# 174. - *Elemental Weapon* © (V,S) level 3 Transmutation [Concentration] [UB] +# 175. - *Elemental Weapon* © (V,S) level 3 Transmutation [Concentration] [UB] **[Artificer, Druid, Paladin, Ranger]** 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. -# 175. - Fear (V,S) level 3 Illusion [Concentration] [SOL] +# 176. - Fear (V,S) level 3 Illusion [Concentration] [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Frighten creatures and force them to flee. -# 176. - Fireball (V,S) level 3 Evocation [SOL] +# 177. - Fireball (V,S) level 3 Evocation [SOL] **[Sorcerer, Wizard]** Launch a fireball that explodes from a point of your choosing. -# 177. - *Flame Arrows* © (M,V,S) level 3 Transmutation [Concentration] [UB] +# 178. - *Flame Arrows* © (M,V,S) level 3 Transmutation [Concentration] [UB] **[Artificer, Druid, Ranger, Sorcerer, Wizard]** 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. -# 178. - Fly (V,S) level 3 Transmutation [Concentration] [SOL] +# 179. - Fly (V,S) level 3 Transmutation [Concentration] [SOL] **[Artificer, Sorcerer, Warlock, Wizard]** An ally you touch gains the ability to fly for a limited time. -# 179. - Haste (V,S) level 3 Transmutation [Concentration] [SOL] +# 180. - Haste (V,S) level 3 Transmutation [Concentration] [SOL] **[Artificer, Sorcerer, Wizard]** Make an ally faster and more agile, and grant them an additional action for a limited time. -# 180. - *Hunger of Hadar* © (V,S) level 3 Transmutation [Concentration] [UB] +# 181. - *Hunger of Hadar* © (V,S) level 3 Transmutation [Concentration] [UB] **[Warlock]** 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. -# 181. - Hypnotic Pattern (S) level 3 Illusion [Concentration] [SOL] +# 182. - Hypnotic Pattern (S) level 3 Illusion [Concentration] [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Charms enemies to make them harmless until attacked, but also affects allies in range. -# 182. - *Intellect Fortress* © (V) level 3 Abjuration [Concentration] [UB] +# 183. - *Intellect Fortress* © (V) level 3 Abjuration [Concentration] [UB] **[Artificer, Bard, Sorcerer, Warlock, Wizard]** 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. -# 183. - *Life Transference* © (V,S) level 3 Necromancy [UB] +# 184. - *Life Transference* © (V,S) level 3 Necromancy [UB] **[Cleric, Wizard]** 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. -# 184. - *Lightning Arrow* © (V,S) level 3 Transmutation [Concentration] [UB] +# 185. - *Lightning Arrow* © (V,S) level 3 Transmutation [Concentration] [UB] **[Ranger]** 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. -# 185. - Lightning Bolt (V,S) level 3 Evocation [SOL] +# 186. - Lightning Bolt (V,S) level 3 Evocation [SOL] **[Sorcerer, Wizard]** Unleash a stroke of lightning in a direction of your choice, damaging everyone it touches. -# 186. - Mass Healing Word (V) level 3 Evocation [SOL] +# 187. - Mass Healing Word (V) level 3 Evocation [SOL] **[Cleric]** Instantly heals up to six allies you can see. -# 187. - Protection from Energy (V,S) level 3 Abjuration [Concentration] [SOL] +# 188. - Protection from Energy (V,S) level 3 Abjuration [Concentration] [SOL] **[Artificer, Cleric, Druid, Ranger, Sorcerer, Wizard]** Touch one willing creature to give them resistance to this damage type. -# 188. - *Pulse Wave* © (V,S) level 3 Evocation [UB] +# 189. - *Pulse Wave* © (V,S) level 3 Evocation [UB] **[Wizard]** You create intense pressure, unleash it in a 30-foot cone, and decide whether the pressure pulls or pushes creatures and objects. Each creature in that cone must make a Constitution saving throw. A creature takes 6d6 force damage on a failed save, or half as much damage on a successful one. And every creature that fails the save is either pulled 15 feet toward you or pushed 15 feet away from you, depending on the choice you made for the spell. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 and the distance pulled or pushed increases by 5 feet for each slot level above 3rd. -# 189. - Remove Curse (V,S) level 3 Abjuration [SOL] +# 190. - Remove Curse (V,S) level 3 Abjuration [SOL] **[Cleric, Paladin, Warlock, Wizard]** Removes all curses affecting the target. -# 190. - Revivify (M,V,S) level 3 Necromancy [SOL] +# 191. - Revivify (M,V,S) level 3 Necromancy [SOL] **[Artificer, Cleric, Paladin]** Brings one creature back to life, up to 1 minute after death. -# 191. - Sleet Storm (V,S) level 3 Conjuration [Concentration] [SOL] +# 192. - Sleet Storm (V,S) level 3 Conjuration [Concentration] [SOL] **[Druid, Sorcerer, Wizard]** Creates an area where the ground is slippery, vision is obscured, and concentration is harder. -# 192. - Slow (V,S) level 3 Transmutation [Concentration] [SOL] +# 193. - Slow (V,S) level 3 Transmutation [Concentration] [SOL] **[Sorcerer, Wizard]** Slows and impairs the actions of up to 6 creatures. -# 193. - Spirit Guardians (V,S) level 3 Conjuration [Concentration] [SOL] +# 194. - Spirit Guardians (V,S) level 3 Conjuration [Concentration] [SOL] **[Cleric]** Call forth spirits to protect you. -# 194. - *Spirit Shroud* © (V,S) level 3 Necromancy [Concentration] [UB] +# 195. - *Spirit Shroud* © (V,S) level 3 Necromancy [Concentration] [UB] **[Cleric, Paladin, Warlock, Wizard]** @@ -1175,444 +1178,444 @@ Until the spell ends, any attack you make deals 1d8 extra damage when you hit a 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. -# 195. - Stinking Cloud (V,S) level 3 Conjuration [Concentration] [SOL] +# 196. - Stinking Cloud (V,S) level 3 Conjuration [Concentration] [SOL] **[Bard, Sorcerer, Wizard]** Create a cloud of incapacitating, noxious gas. -# 196. - *Thunder Step* © (V) level 3 Conjuration [UB] +# 197. - *Thunder Step* © (V) level 3 Conjuration [UB] **[Sorcerer, Warlock, Wizard]** 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. -# 197. - Tongues (V) level 3 Divination [SOL] +# 198. - Tongues (V) level 3 Divination [SOL] **[Bard, Cleric, Sorcerer, Warlock, Wizard]** Grants knowledge of all languages for one hour. -# 198. - Vampiric Touch (V,S) level 3 Necromancy [Concentration] [SOL] +# 199. - Vampiric Touch (V,S) level 3 Necromancy [Concentration] [SOL] **[Warlock, Wizard]** Grants you a life-draining melee attack for one minute. -# 199. - Wind Wall (V,S) level 3 Evocation [Concentration] [SOL] +# 200. - Wind Wall (V,S) level 3 Evocation [Concentration] [SOL] **[Druid, Ranger]** Create a wall of wind that causes damage, pushes creatures and objects away, and disperses fogs and gases. -# 200. - Winter's Breath (V,S) level 3 Conjuration [UB] +# 201. - Winter's Breath (V,S) level 3 Conjuration [UB] **[Druid, Sorcerer, Wizard]** Create a blast of cold wind to chill your enemies and knock them prone. -# 201. - *Aura of Life* © (V) level 4 Abjuration [Concentration] [UB] +# 202. - *Aura of Life* © (V) level 4 Abjuration [Concentration] [UB] **[Cleric, Paladin]** 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. -# 202. - *Aura of Purity* © (V) level 4 Abjuration [Concentration] [UB] +# 203. - *Aura of Purity* © (V) level 4 Abjuration [Concentration] [UB] **[Cleric, Paladin]** 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. -# 203. - Banishment (V,S) level 4 Abjuration [Concentration] [SOL] +# 204. - Banishment (V,S) level 4 Abjuration [Concentration] [SOL] **[Cleric, Paladin, Sorcerer, Warlock, Wizard]** Banishes a creature as long as you concentrate. The creature can be permanently banished if it is extraplanar. -# 204. - Black Tentacles (V,S) level 4 Conjuration [Concentration] [SOL] +# 205. - Black Tentacles (V,S) level 4 Conjuration [Concentration] [SOL] **[Wizard]** Conjures black tentacles that restrain and damage creatures within the area of effect. -# 205. - Blessing of Rime (V,S) level 4 Evocation [UB] +# 206. - Blessing of Rime (V,S) level 4 Evocation [UB] **[Bard, Druid, Ranger]** 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. -# 206. - Blight (V,S) level 4 Necromancy [SOL] +# 207. - Blight (V,S) level 4 Necromancy [SOL] **[Druid, Sorcerer, Warlock, Wizard]** Drains life from a creature, causing massive necrotic damage. -# 207. - Brain Bulwark (V) level 4 Abjuration [UB] +# 208. - Brain Bulwark (V) level 4 Abjuration [UB] **[Artificer, Bard, Sorcerer, Warlock, Wizard]** 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. -# 208. - Confusion (V,S) level 4 Enchantment [Concentration] [SOL] +# 209. - Confusion (V,S) level 4 Enchantment [Concentration] [SOL] **[Bard, Druid, Sorcerer, Wizard]** Creates confusion and erratic behavior in a creature, possibly leading it to attack its allies. -# 209. - Conjure 4 Elementals (V,S) level 4 Conjuration [Concentration] [SOL] +# 210. - Conjure 4 Elementals (V,S) level 4 Conjuration [Concentration] [SOL] 4 elementals are conjured (CR 1/2). -# 210. - Conjure Minor Elementals (V,S) level 4 Conjuration [Concentration] [SOL] +# 211. - Conjure Minor Elementals (V,S) level 4 Conjuration [Concentration] [SOL] **[Druid, Wizard]** Conjure elemental creatures under your command, which are dismissed when the spell ends or is broken. -# 211. - Death Ward (V,S) level 4 Abjuration [SOL] +# 212. - Death Ward (V,S) level 4 Abjuration [SOL] **[Cleric, Paladin]** Protects the creature once against instant death or being reduced to 0 hit points. -# 212. - Dimension Door (V) level 4 Conjuration [SOL] +# 213. - Dimension Door (V) level 4 Conjuration [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Transfers the caster and a friendly creature to a specified destination. -# 213. - Dominate Beast (V,S) level 4 Enchantment [Concentration] [SOL] +# 214. - Dominate Beast (V,S) level 4 Enchantment [Concentration] [SOL] **[Druid, Sorcerer]** Grants you control over an enemy beast. -# 214. - Dreadful Omen (V,S) level 4 Enchantment [SOL] +# 215. - Dreadful Omen (V,S) level 4 Enchantment [SOL] **[Bard, Warlock]** 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. -# 215. - *Elemental Bane* © (V,S) level 4 Transmutation [Concentration] [UB] +# 216. - *Elemental Bane* © (V,S) level 4 Transmutation [Concentration] [UB] **[Artificer, Druid, Warlock, Wizard]** Choose one creature you can see within range, and choose one of the following damage types: acid, cold, fire, lightning, or thunder. The target must succeed on a Constitution saving throw or be affected by the spell for its duration. The first time each turn the affected target takes non-recurrent damage of the chosen type, the target takes an extra 2d6 damage of that type. Moreover, the target loses any resistance to that damage type until the spell ends. When you cast this spell using a spell slot of 5th level or higher, you can target one additional creature for each slot level above 4th. The creatures must be within 30 feet of each other when you target them. -# 216. - Fire Shield (V,S) level 4 Evocation [SOL] +# 217. - Fire Shield (V,S) level 4 Evocation [SOL] **[Sorcerer, Wizard]** Grants resistance to fire or cold, and damages creatures attacking the caster with melee attacks. -# 217. - Freedom of Movement (V,S) level 4 Abjuration [SOL] +# 218. - Freedom of Movement (V,S) level 4 Abjuration [SOL] **[Artificer, Bard, Cleric, Druid, Ranger]** Grants immunity to movement restrictions, as well as being paralyzed or restrained. -# 218. - Giant Insect (V,S) level 4 Transmutation [Concentration] [SOL] +# 219. - Giant Insect (V,S) level 4 Transmutation [Concentration] [SOL] **[Druid]** Conjures a giant version of a natural insect or arthropod. -# 219. - *Gravity Sinkhole* © (V,S) level 4 Evocation [UB] +# 220. - *Gravity Sinkhole* © (V,S) level 4 Evocation [UB] **[Wizard]** 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. -# 220. - Greater Invisibility (V,S) level 4 Illusion [Concentration] [SOL] +# 221. - Greater Invisibility (V,S) level 4 Illusion [Concentration] [SOL] **[Bard, Sorcerer, Wizard]** Target becomes invisible for the duration, even when attacking or casting spells. -# 221. - Guardian of Faith (V) level 4 Conjuration [SOL] +# 222. - Guardian of Faith (V) level 4 Conjuration [SOL] **[Cleric]** Conjures a large spectral guardian that damages approaching enemies. -# 222. - *Guardian of Nature* © (V) level 4 Transmutation [Concentration] [UB] +# 223. - *Guardian of Nature* © (V) level 4 Transmutation [Concentration] [UB] **[Druid, Ranger]** 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. -# 223. - Ice Storm (V,S) level 4 Evocation [SOL] +# 224. - Ice Storm (V,S) level 4 Evocation [SOL] **[Druid, Sorcerer, Wizard]** Causes bludgeoning and cold damage in the area, and turns the ground into difficult terrain. -# 224. - Identify Creatures (V,S) level 4 Divination [SOL] +# 225. - Identify Creatures (V,S) level 4 Divination [SOL] **[Wizard]** Reveals full bestiary knowledge for the affected creatures. -# 225. - Irresistible Performance (V) level 4 Enchantment [UB] +# 226. - Irresistible Performance (V) level 4 Enchantment [UB] **[Bard]** 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. -# 226. - *Mordenkainen's Faithful Hound* © (V,S) level 4 Conjuration [UB] +# 227. - *Mordenkainen's Faithful Hound* © (V,S) level 4 Conjuration [UB] **[Artificer, Wizard]** 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. -# 227. - Phantasmal Killer (V,S) level 4 Illusion [Concentration] [SOL] +# 228. - Phantasmal Killer (V,S) level 4 Illusion [Concentration] [SOL] **[Wizard]** Causes psychic damage to the target creature with each turn, unless a saving throw is successful or the effect ends. -# 228. - Psionic Blast (V) level 4 Evocation [UB] +# 229. - Psionic Blast (V) level 4 Evocation [UB] **[Sorcerer, Warlock, Wizard]** You unleash a debilitating wave of mental power in a 30-foot cone. Each creature in the area must make an Intelligence saving throw. On a failed save, a target takes 5d8 psychic damage, becomes dazzled and has its movement speed halved until the end of your next turn. On a successful save, a target only takes half as much damage. When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 4th. -# 229. - *Raulothim's Psychic Lance* © (V) level 4 Enchantment [UB] +# 230. - *Raulothim's Psychic Lance* © (V) level 4 Enchantment [UB] **[Bard, Sorcerer, Warlock, Wizard]** 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. -# 230. - *Sickening Radiance* © (V,S) level 4 Evocation [Concentration] [UB] +# 231. - *Sickening Radiance* © (V,S) level 4 Evocation [Concentration] [UB] **[Sorcerer, Warlock, Wizard]** Dim light spreads within a 30-foot-radius sphere centered on a point you choose within range. The light spreads around corners, and it lasts until the spell ends. When a creature moves into the spell's area for the first time on a turn or starts its turn there, that creature must succeed on a Constitution saving throw or take 4d10 radiant damage, and it suffers one level of exhaustion and emits a dim light in a 5-foot radius. This light makes it impossible for the creature to benefit from being invisible. The light and any levels of exhaustion caused by this spell go away when the spell ends. -# 231. - *Staggering Smite* © (V) level 4 Evocation [Concentration] [UB] +# 232. - *Staggering Smite* © (V) level 4 Evocation [Concentration] [UB] **[Paladin]** The next time you hit a creature with a melee 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. -# 232. - Stoneskin (M,V,S) level 4 Abjuration [Concentration] [SOL] +# 233. - Stoneskin (M,V,S) level 4 Abjuration [Concentration] [SOL] **[Artificer, Druid, Ranger, Sorcerer, Wizard]** Grants resistance to non-magical bludgeoning, slashing, and piercing damage. -# 233. - *Vitriolic Sphere* © (V,S) level 4 Evocation [UB] +# 234. - *Vitriolic Sphere* © (V,S) level 4 Evocation [UB] **[Sorcerer, Wizard]** You point at a place within range, and a glowing 1-foot ball of emerald acid streaks there and explodes in a 20-foot radius. Each creature in that area must make a Dexterity saving throw. On a failed save, a creature takes 10d4 acid damage and 5d4 acid damage at the end of its next turn. On a successful save, a creature takes half the initial damage and no damage at the end of its next turn. When you cast this spell using a spell slot of 5th level or higher, the initial damage increases by 2d4 for each slot level above 4th. -# 234. - Wall of Fire (V,S) level 4 Evocation [Concentration] [SOL] +# 235. - Wall of Fire (V,S) level 4 Evocation [Concentration] [SOL] **[Druid, Sorcerer, Wizard]** Create a burning wall that injures creatures in or next to it. -# 235. - *Banishing Smite* © (V) level 5 Abjuration [Concentration] [UB] +# 236. - *Banishing Smite* © (V) level 5 Conjuration [Concentration] [UB] **[Paladin]** The next time you hit a creature with a weapon attack before this spell ends, your weapon crackles with force, and the attack deals an extra 5d10 force damage to the target. Additionally, if this attack reduces the target to 50 hit points of fewer, you banish it. If the target is native to a different plane of existence than the on you're on, the target disappears, returning to its home plane. If the target is native to the plane you're on, the creature vanishes into a harmless demi-plane. While there, the target is incapacitated. It remains there until the spell ends, at which point the target reappears in the space it left or in the nearest unoccupied space if that space is occupied. -# 236. - *Circle of Power* © (V) level 5 Abjuration [Concentration] [UB] +# 237. - *Circle of Power* © (V) level 5 Abjuration [Concentration] [UB] **[Paladin]** 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. -# 237. - Cloudkill (V,S) level 5 Conjuration [Concentration] [SOL] +# 238. - Cloudkill (V,S) level 5 Conjuration [Concentration] [SOL] **[Sorcerer, Wizard]** Creates an obscuring and poisonous cloud. The cloud moves every round. -# 238. - Cone of Cold (V,S) level 5 Evocation [SOL] +# 239. - Cone of Cold (V,S) level 5 Evocation [SOL] **[Sorcerer, Wizard]** Inflicts massive cold damage in the cone of effect. -# 239. - Conjure Elemental (V,S) level 5 Conjuration [Concentration] [SOL] +# 240. - Conjure Elemental (V,S) level 5 Conjuration [Concentration] [SOL] **[Druid, Wizard]** Conjures an elemental of the chosen element that fights alongside you. If you lose concentration, the elemental remains and becomes hostile. -# 240. - Contagion (V,S) level 5 Necromancy [SOL] +# 241. - Contagion (V,S) level 5 Necromancy [SOL] **[Cleric, Druid]** Hit a creature to inflict a disease from the options. -# 241. - *Dawn* © (V,S) level 5 Evocation [Concentration] [UB] +# 242. - *Dawn* © (V,S) level 5 Evocation [Concentration] [UB] **[Cleric, Wizard]** 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. -# 242. - *Destructive Wave* © (V) level 5 Evocation [UB] +# 243. - *Destructive Wave* © (V) level 5 Evocation [UB] **[Paladin]** 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. -# 243. - Dispel Evil and Good (V,S) level 5 Abjuration [Concentration] [SOL] +# 244. - Dispel Evil and Good (V,S) level 5 Abjuration [Concentration] [SOL] **[Cleric, Paladin]** 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. -# 244. - Dominate Person (V,S) level 5 Enchantment [Concentration] [SOL] +# 245. - Dominate Person (V,S) level 5 Enchantment [Concentration] [SOL] **[Bard, Sorcerer, Wizard]** Grants you control over an enemy creature. -# 245. - *Far Step* © (V) level 5 Conjuration [Concentration] [UB] +# 246. - *Far Step* © (V) level 5 Conjuration [Concentration] [UB] **[Sorcerer, Warlock, Wizard]** 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. -# 246. - Flame Strike (V,S) level 5 Evocation [SOL] +# 247. - Flame Strike (V,S) level 5 Evocation [SOL] **[Cleric]** Conjures a burning column of fire and radiance affecting all creatures inside. -# 247. - Greater Restoration (V,S) level 5 Abjuration [SOL] +# 248. - Greater Restoration (V,S) level 5 Abjuration [SOL] **[Artificer, Bard, Cleric, Druid]** Removes one detrimental condition, such as a charm or curse, or an effect that reduces an ability score or hit points. -# 248. - Hold Monster (V,S) level 5 Enchantment [Concentration] [SOL] +# 249. - Hold Monster (V,S) level 5 Enchantment [Concentration] [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Paralyzes a creature unless it succeeds a WIS saving throw. No effect on undead. -# 249. - *Holy Weapon* © (V,S) level 5 Evocation [Concentration] [UB] +# 250. - *Holy Weapon* © (V,S) level 5 Evocation [Concentration] [UB] **[Cleric, Paladin]** You imbue a weapon you touch with holy power. Until the spell ends, the weapon emits bright light in a 30-foot radius and dim light for an additional 30 feet. In addition, weapon attacks made with it deal an extra 2d8 radiant damage on a hit. If the weapon isn't already a magic weapon, it becomes one for the duration. As a bonus action on your turn, if the weapon is within 30 ft, you can dismiss this spell and cause the weapon to emit a burst of radiance. Each creature of your choice that you can see within 30 feet of the weapon must make a Constitution saving throw. On a failed save, a creature takes 4d8 radiant damage, and it is blinded for 1 minute. On a successful save, a creature takes half as much damage and isn't blinded. At the end of each of its turns, a blinded creature can make a Constitution saving throw, ending the effect on itself on a success. -# 250. - *Immolation* © (V) level 5 Evocation [Concentration] [UB] +# 251. - *Immolation* © (V) level 5 Evocation [Concentration] [UB] **[Sorcerer, Wizard]** 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. -# 251. - Insect Plague (V,S) level 5 Conjuration [Concentration] [SOL] +# 252. - Insect Plague (V,S) level 5 Conjuration [Concentration] [SOL] **[Cleric, Druid, Sorcerer]** Summons a sphere of biting insects. -# 252. - Mantle of Thorns (V,S) level 5 Transmutation [Concentration] [UB] +# 253. - Mantle of Thorns (V,S) level 5 Transmutation [Concentration] [UB] **[Druid]** 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. -# 253. - Mass Cure Wounds (V,S) level 5 Evocation [SOL] +# 254. - Mass Cure Wounds (V,S) level 5 Evocation [SOL] **[Bard, Cleric, Druid]** Heals up to 6 creatures. -# 254. - Mind Twist (V,S) level 5 Enchantment [SOL] +# 255. - Mind Twist (V,S) level 5 Enchantment [SOL] **[Sorcerer, Warlock, Wizard]** Causes massive psychic damage to all creatures around you, and incapacitates them if they fail their INT saving throw. -# 255. - Raise Dead (M,V,S) level 5 Necromancy [SOL] +# 256. - Raise Dead (M,V,S) level 5 Necromancy [SOL] **[Bard, Cleric, Paladin]** Brings one creature back to life, up to 10 days after death. -# 256. - *Skill Empowerment* © (V,S) level 5 Divination [UB] +# 257. - *Skill Empowerment* © (V,S) level 5 Divination [UB] **[Artificer, Bard, Sorcerer, Wizard]** Your magic deepens a creature's understanding of its own talent. You touch one willing creature and give it expertise in one skill of your choice; until the spell ends, the creature doubles its proficiency bonus for ability checks it makes that use the chosen skill. For 1 hour, you have proficiency in the chosen skill. The spell ends early if you cast it again. You must choose a skill in which the target is proficient and that isn't already benefiting from expertise. -# 257. - Sonic Boom (V,S) level 5 Evocation [UB] +# 258. - Sonic Boom (V,S) level 5 Evocation [UB] **[Sorcerer, Wizard]** 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. -# 258. - *Steel Wind Strike* © (M,S) level 5 Conjuration [UB] +# 259. - *Steel Wind Strike* © (M,S) level 5 Conjuration [UB] **[Ranger, Wizard]** 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. -# 259. - *Swift Quiver* © (M,V,S) level 5 Transmutation [Concentration] [UB] +# 260. - *Swift Quiver* © (M,V,S) level 5 Transmutation [Concentration] [UB] **[Ranger]** -You transmute your quiver so it automatically makes the ammunition leap into your hand when you reach for it. On each of your turns until the spell ends, you can use a bonus action to make two attacks with a ranged weapon. +When you cast the spell and as a Bonus Action until it ends, you can make two attacks with a weapon that fires Arrows or Bolts, such as a Longbow or a Light Crossbow. The spell magically creates the ammunition needed for each attack. Each Arrow or Bolt created by the spell deals damage like a nonmagical piece of ammunition of its kind and disintegrates immediately after it hits or misses. -# 260. - *Synaptic Static* © (V) level 5 Evocation [UB] +# 261. - *Synaptic Static* © (V) level 5 Evocation [UB] **[Bard, Sorcerer, Warlock, Wizard]** You choose a point within range and cause psychic energy to explode there. Each creature in a 20-foot-radius sphere centered on that point must make an Intelligence saving throw. A target takes 8d6 psychic damage on a failed save, or half as much damage on a successful After a failed save, a target has muddled thoughts for 1 minute. During that time, it rolls a d6 and subtracts the number rolled from all its attack rolls and ability checks. The target can make an Intelligence saving throw at the end of each of its turns, ending the effect on itself on a success. -# 261. - *Telekinesis* © (V,S) level 5 Transmutation [Concentration] [UB] +# 262. - *Telekinesis* © (V,S) level 5 Transmutation [Concentration] [UB] **[Sorcerer, Wizard]** 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. -# 262. - Blade Barrier (V,S) level 6 Evocation [Concentration] [SOL] +# 263. - Blade Barrier (V,S) level 6 Evocation [Concentration] [SOL] **[Cleric]** Conjures a wall of razor sharp blades which causes 6d10 slashing damage to anyone crossing it -# 263. - Chain Lightning (V,S) level 6 Evocation [SOL] +# 264. - Chain Lightning (V,S) level 6 Evocation [SOL] **[Sorcerer, Wizard]** Target a creature with lightning, which can arc to 3 other targets within 6 cells. -# 264. - Circle of Death (M,V,S) level 6 Necromancy [SOL] +# 265. - Circle of Death (M,V,S) level 6 Necromancy [SOL] **[Sorcerer, Warlock, Wizard]** A sphere of negative energy causes Necrotic damage from a point you choose -# 265. - Conjure Fey (V,S) level 6 Conjuration [Concentration] [SOL] +# 266. - Conjure Fey (V,S) level 6 Conjuration [Concentration] [SOL] **[Druid, Warlock]** Conjures a fey creature of challenge rating 1 to 6 to fight alongside you. If you lose concentration, the creature stays but becomes hostile. -# 266. - Disintegrate (V,S) level 6 Transmutation [SOL] +# 267. - Disintegrate (V,S) level 6 Transmutation [SOL] **[Sorcerer, Wizard]** Causes massive force damage on the target, which can be disintegrated if reduced to 0 hit points -# 267. - Eyebite (V,S) level 6 Necromancy [Concentration] [SOL] +# 268. - Eyebite (V,S) level 6 Necromancy [Concentration] [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Your eyes gain a specific property which can target a creature each turn -# 268. - *Fizban's Platinum Shield* © (M,V,S) level 6 Abjuration [Concentration] [UB] +# 269. - *Fizban's Platinum Shield* © (M,V,S) level 6 Abjuration [Concentration] [UB] **[Sorcerer, Wizard]** @@ -1622,91 +1625,91 @@ 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. -# 269. - Flash Freeze (V,S) level 6 Evocation [UB] +# 270. - Flash Freeze (V,S) level 6 Evocation [UB] **[Druid, Sorcerer, Warlock]** 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. -# 270. - Freezing Sphere (V,S) level 6 Evocation [SOL] +# 271. - Freezing Sphere (V,S) level 6 Evocation [SOL] **[Wizard]** Toss a huge ball of cold energy that explodes on impact -# 271. - Globe Of Invulnerability (V,S) level 6 Abjuration [Concentration] [SOL] +# 272. - Globe Of Invulnerability (V,S) level 6 Abjuration [Concentration] [SOL] **[Sorcerer, Wizard]** A sphere surrounding you prevents any spell up to 5th level to affect anyone inside it. -# 272. - *Gravity Fissure* © (V,S) level 6 Evocation [UB] +# 273. - *Gravity Fissure* © (V,S) level 6 Evocation [UB] **[Wizard]** You manifest a ravine of gravitational energy in a line originating from you that is 60 feet long, and 5 feet wide. Each creature in that line must make a Constitution saving throw, taking 8d8 force damage on a failed save, or half as much damage on a successful one. Each creature within 10 feet of the line but not in it must succeed on a Constitution saving throw or take 8d8 force damage and be pulled toward the line until the creature is in its area. When you cast this spell using a slot of 7th level or higher, the damage increases by 1d8 for each slot level above 6th. -# 273. - Harm (V,S) level 6 Necromancy [SOL] +# 274. - Harm (V,S) level 6 Necromancy [SOL] **[Cleric]** Inflicts devastating necrotic damage and reduces the maximum hit points accordingly. Cannot drop the target below 1 hit points -# 274. - Heal (V,S) level 6 Evocation [SOL] +# 275. - Heal (V,S) level 6 Evocation [SOL] **[Cleric, Druid]** Heals 70 hit points and also removes blindness and diseases -# 275. - Heroes Feast (M,V,S) level 6 Conjuration [SOL] +# 276. - Heroes Feast (M,V,S) level 6 Conjuration [SOL] **[Cleric, Druid]** Summons a feast which cures most ailments and grants immunity to poisonand being frightened, WIS save advantage, and increased maximum hitpoints -# 276. - Hilarity (V) level 6 Enchantment [Concentration] [SOL] +# 277. - Hilarity (V) level 6 Enchantment [Concentration] [SOL] **[Bard, Wizard]** 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. -# 277. - Poison Wave (M,V,S) level 6 Evocation [UB] +# 278. - Poison Wave (M,V,S) level 6 Evocation [UB] **[Wizard]** 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. -# 278. - Ring of Blades (M,V,S) level 6 Conjuration [Concentration] [UB] +# 279. - Ring of Blades (M,V,S) level 6 Conjuration [Concentration] [UB] **[Wizard]** 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. -# 279. - *Scatter* © (V) level 6 Conjuration [UB] +# 280. - *Scatter* © (V) level 6 Conjuration [UB] **[Sorcerer, Warlock, Wizard]** The air quivers around up to five creatures of your choice that you can see within range. An unwilling creature must succeed on a Wisdom saving throw to resist this spell. You teleport each affected target to an unoccupied space that you can see within 120 feet of you. That space must be on the ground or on a floor. -# 280. - Shelter from Energy (V,S) level 6 Abjuration [UB] +# 281. - Shelter from Energy (V,S) level 6 Abjuration [UB] **[Cleric, Druid, Sorcerer, Wizard]** Choose one of the following damage types: acid, cold, fire, lightning, necrotic, radiant, or thunder, and then choose up to six willing creatures that you can see within range. For 1 hour, targets have resistance to that damage type. When you cast this spell using a spell slot of 7th level or higher, you may target up to one additional willing creature for each slot level above 6th. -# 281. - Sunbeam (V,S) level 6 Evocation [Concentration] [SOL] +# 282. - Sunbeam (V,S) level 6 Evocation [Concentration] [SOL] **[Druid, Sorcerer, Wizard]** 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 -# 282. - *Tasha's Otherworldly Guise* © (M,V,S) level 6 Transmutation [Concentration] [UB] +# 283. - *Tasha's Otherworldly Guise* © (M,V,S) level 6 Transmutation [Concentration] [UB] **[Sorcerer, Warlock, Wizard]** Uttering an incantation, you draw on the magic of the Lower Planes or Upper Planes (your choice) to transform yourself. -# 283. - *Tenser's Transformation* © (V,S) level 6 Transmutation [Concentration] [UB] +# 284. - *Tenser's Transformation* © (V,S) level 6 Transmutation [Concentration] [UB] **[Wizard]** @@ -1718,49 +1721,49 @@ 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. -# 284. - True Seeing (V,S) level 6 Divination [SOL] +# 285. - True Seeing (V,S) level 6 Divination [SOL] **[Bard, Cleric, Sorcerer, Warlock, Wizard]** A creature you touch gains True Sight for one hour -# 285. - Wall of Thorns (V,S) level 6 Conjuration [Concentration] [SOL] +# 286. - Wall of Thorns (V,S) level 6 Conjuration [Concentration] [SOL] **[Druid]** Creates a wall of tough of needle-sharp thorns, that hurts and slows every creature in it. -# 286. - Arcane Sword (M,V,S) level 7 Evocation [Concentration] [SOL] +# 287. - Arcane Sword (M,V,S) level 7 Evocation [Concentration] [SOL] **[Bard, Wizard]** Summon a weapon that fights for you. -# 287. - Conjure Celestial (V,S) level 7 Conjuration [Concentration] [SOL] +# 288. - Conjure Celestial (V,S) level 7 Conjuration [Concentration] [SOL] **[Cleric]** Conjures a celestial creature of challenge rating 4 that fights alongside you. If you lose concentration, the creature is dismissed. -# 288. - *Crown of Stars* © (V,S) level 7 Evocation [UB] +# 289. - *Crown of Stars* © (V,S) level 7 Evocation [UB] **[Sorcerer, Warlock, Wizard]** Seven star-like motes of light appear and orbit your head until the spell ends. You can use a bonus action to send one of the motes streaking toward one creature or object within 120 feet of you. When you do so, make a ranged spell attack. On a hit, the target takes 4d12 radiant damage. Whether you hit or miss, the mote is expended. The spell ends early if you expend the last mote. If you have four or more motes remaining, they shed bright light in a 30-foot radius and dim light for an additional 30 feet. If you have one to three motes remaining, they shed dim light in a 30-foot radius. When you cast this spell using a spell slot of 8th level or higher, the number of motes created increases by two for each slot level above 7th. -# 289. - Delayed Blast Fireball (V,S) level 7 Evocation [Concentration] [SOL] +# 290. - Delayed Blast Fireball (V,S) level 7 Evocation [Concentration] [SOL] **[Sorcerer, Wizard]** Conjures a ball of fire that grows more powerful with time, detonating when a creature enters its space or when the spell ends. -# 290. - Divine Word (V) level 7 Evocation [SOL] +# 291. - Divine Word (V) level 7 Evocation [SOL] **[Cleric]** 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. -# 291. - *Draconic Transformation* © (M,V,S) level 7 Transmutation [Concentration] [UB] +# 292. - *Draconic Transformation* © (M,V,S) level 7 Transmutation [Concentration] [UB] **[Druid, Sorcerer, Wizard]** @@ -1769,219 +1772,219 @@ With a roar, you draw on the magic of dragons to transform yourself, taking on d • 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. -# 292. - Finger of Death (V,S) level 7 Necromancy [SOL] +# 293. - Finger of Death (V,S) level 7 Necromancy [SOL] **[Sorcerer, Warlock, Wizard]** Send negative energy coursing through a creature within range. -# 293. - Fire Storm (V,S) level 7 Evocation [SOL] +# 294. - Fire Storm (V,S) level 7 Evocation [SOL] **[Cleric, Druid, Sorcerer]** Causes a wide wall of roaring flames to burst up wherever you choose within range. -# 294. - Gravity Slam (V,S) level 7 Transmutation [SOL] +# 295. - Gravity Slam (V,S) level 7 Transmutation [SOL] **[Druid, Sorcerer, Warlock, Wizard]** Increase gravity to slam everyone in a specific area onto the ground. -# 295. - Prismatic Spray (V,S) level 7 Evocation [SOL] +# 296. - Prismatic Spray (V,S) level 7 Evocation [SOL] **[Sorcerer, Wizard]** Each creature within the cone of effect is randomly affected by one or two (roll 8 on d8) rays with the following effects: -# 296. - Regenerate (V,S) level 7 Transmutation [SOL] +# 297. - Regenerate (V,S) level 7 Transmutation [SOL] **[Bard, Cleric, Druid]** Touch a creature and stimulate its natural healing ability. -# 297. - Rescue the Dying (V) level 7 Transmutation [UB] +# 298. - Rescue the Dying (V) level 7 Transmutation [UB] **[Cleric, Druid]** With a word, you call positive energy into the target's body to heal and ward it. The target regains a number of hit points equal to 4d10 + 30. It also gains temporary hit points equal to half that amount and resistance to all damage, both lasting until the end of your next turn. When you cast this spell using a spell slot of 8th level or higher, the healing increases by 2d10 for each slot level above 7th. -# 298. - Resurrection (M,V,S) level 7 Necromancy [SOL] +# 299. - Resurrection (M,V,S) level 7 Necromancy [SOL] **[Bard, Cleric, Druid]** Brings one creature back to life, up to 100 years after death. -# 299. - *Reverse Gravity* © (V,S) level 7 Transmutation [Concentration] [UB] +# 300. - *Reverse Gravity* © (V,S) level 7 Transmutation [Concentration] [UB] **[Druid, Sorcerer, Wizard]** This spell reverses gravity in a 50-foot-radius, 100-foot-high cylinder centered on a point within range. -# 300. - Symbol (V,S) level 7 Abjuration [SOL] +# 301. - Symbol (V,S) level 7 Abjuration [SOL] **[Bard, Cleric, Wizard]** 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. -# 301. - *Abi-Dalzim's Horrid Wilting* © (V,S) level 8 Necromancy [UB] +# 302. - *Abi-Dalzim's Horrid Wilting* © (V,S) level 8 Necromancy [UB] **[Sorcerer, Wizard]** You draw the moisture from every creature in a 30-foot cube centered on a point you choose within range. Each creature in that area must make a Constitution saving throw. Constructs and undead aren't affected, and plants and ice elementals make this saving throw with disadvantage. A creature takes 10d8 necrotic damage on a failed save, or half as much damage on a successful one. -# 302. - Divine Blade (V,S) level 8 Evocation [Concentration] [SOL] +# 303. - Divine Blade (V,S) level 8 Evocation [Concentration] [SOL] **[Cleric]** 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. -# 303. - Dominate Monster (V,S) level 8 Enchantment [Concentration] [SOL] +# 304. - Dominate Monster (V,S) level 8 Enchantment [Concentration] [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Grants you control over an enemy creature of any type. -# 304. - Earthquake (V,S) level 8 Evocation [Concentration] [SOL] +# 305. - Earthquake (V,S) level 8 Evocation [Concentration] [SOL] **[Cleric, Druid, Sorcerer]** You create a seismic disturbance that violently shakes the ground and the creatures standing on it for the duration of the spell. -# 305. - Feeblemind (V,S) level 8 Enchantment [SOL] +# 306. - Feeblemind (V,S) level 8 Enchantment [SOL] **[Bard, Druid, Warlock, Wizard]** 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. -# 306. - *Glibness* © (V) level 8 Transmutation [UB] +# 307. - *Glibness* © (V) level 8 Transmutation [UB] **[Bard, Warlock]** Until the spell ends, when you make a Charisma check, you can replace the number you roll with a 15. -# 307. - Holy Aura (V,S) level 8 Abjuration [Concentration] [SOL] +# 308. - Holy Aura (V,S) level 8 Abjuration [Concentration] [SOL] **[Cleric]** 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. -# 308. - Incendiary Cloud (V,S) level 8 Conjuration [Concentration] [SOL] +# 309. - Incendiary Cloud (V,S) level 8 Conjuration [Concentration] [SOL] **[Sorcerer, Wizard]** 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. -# 309. - *Maddening Darkness* © (V) level 8 Evocation [Concentration] [UB] +# 310. - *Maddening Darkness* © (V) level 8 Evocation [Concentration] [UB] **[Warlock, Wizard]** 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. -# 310. - Maze (V,S) level 8 Abjuration [Concentration] [SOL] +# 311. - Maze (V,S) level 8 Abjuration [Concentration] [SOL] **[Wizard]** 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. -# 311. - *Mind Blank* © (V,S) level 8 Transmutation [UB] +# 312. - *Mind Blank* © (V,S) level 8 Transmutation [UB] **[Bard, Wizard]** 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. -# 312. - Power Word Stun (V) level 8 Enchantment [SOL] +# 313. - Power Word Stun (V) level 8 Enchantment [SOL] **[Bard, Sorcerer, Warlock, Wizard]** Overwhelm the mind of a creature that has 150 hit points or fewer, leaving it stunned. -# 313. - Soul Expulsion (V,S) level 8 Necromancy [UB] +# 314. - Soul Expulsion (V,S) level 8 Necromancy [UB] **[Cleric, Sorcerer, Wizard]** You blast a foe's soul with magical power, causing it to glow with otherwordly light. Choose one creature that you can see within range, which must make a Charisma saving throw. On a failed saving throw, the target takes 11d8 necrotic damage and is stunned until the start of your next turn. On a successful saving throw, the target takes half damage and isn't stunned. Each enemy other than the target that is within 60 feet of the target must make a Wisdom saving throw. On a failed save, a creature takes 7d8 radiant damage and has disadvantage on attack rolls until the end of your next turn. On a successful saving throw a creature takes half damage and nothing else. When this spell targets undead, the spell ignores any resistance or immunity to necrotic damage, and the target has disadvantage on the saving throw. When you cast this spell using a spell slot of 9th level, both the necrotic damage and radiant damage increase by 2d8. -# 314. - Spell Ward (V,S) level 8 Abjuration [Concentration] [SOL] +# 315. - Spell Ward (V,S) level 8 Abjuration [Concentration] [SOL] **[Cleric, Wizard]** Creates a mobile globe that is impenetrable to enemy spells cast from outside it. -# 315. - Sunburst (V,S) level 8 Evocation [SOL] +# 316. - Sunburst (V,S) level 8 Evocation [SOL] **[Druid, Sorcerer, Wizard]** 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. -# 316. - Thunderstorm (V,S) level 8 Transmutation [SOL] +# 317. - Thunderstorm (V,S) level 8 Transmutation [SOL] **[Cleric, Druid, Wizard]** 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. -# 317. - Wild Shapes (V,S) level 8 Transmutation [Concentration] [SOL] +# 318. - Wild Shapes (V,S) level 8 Transmutation [Concentration] [SOL] Turns other creatures in to beasts for one day. -# 318. - *Foresight* © (V,S) level 9 Transmutation [UB] +# 319. - *Foresight* © (V,S) level 9 Transmutation [UB] **[Bard, Druid, Warlock, Wizard]** 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. -# 319. - *Invulnerability* © (M,V,S) level 9 Abjuration [Concentration] [UB] +# 320. - *Invulnerability* © (M,V,S) level 9 Abjuration [Concentration] [UB] **[Wizard]** You are immune to all damage until the spell ends. -# 320. - *Mass Heal* © (V,S) level 9 Transmutation [UB] +# 321. - *Mass Heal* © (V,S) level 9 Transmutation [UB] **[Cleric]** 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. -# 321. - *Meteor Swarm* © (V,S) level 9 Transmutation [UB] +# 322. - *Meteor Swarm* © (V,S) level 9 Transmutation [UB] **[Sorcerer, Wizard]** 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. -# 322. - *Power Word Heal* © (V) level 9 Enchantment [UB] +# 323. - *Power Word Heal* © (V) level 9 Enchantment [UB] **[Bard, Cleric]** 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, poisoned, 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. -# 323. - *Power Word Kill* © (V,S) level 9 Transmutation [UB] +# 324. - *Power Word Kill* © (V,S) level 9 Transmutation [UB] **[Bard, Sorcerer, Warlock, Wizard]** -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. +You compel one creature you can see within range to die. If the target has 100 Hit Points or fewer, it dies. Otherwise, it takes 12d12 Psychic damage. -# 324. - *Psychic Scream* © (S) level 9 Enchantment [UB] +# 325. - *Psychic Scream* © (S) level 9 Enchantment [UB] **[Bard, Sorcerer, Warlock, Wizard]** You unleash the power of your mind to blast the intellect of up to ten creatures of your choice that you can see within range. Each target must make an Intelligence saving throw. On a failed save, a target takes 14d6 psychic damage and is stunned for 1 minute. On a successful save, a target takes half as much damage and isn't stunned. A stunned target can make an Intelligence saving throw at the end of each of its turns. On a successful save, the stunning effect ends. -# 325. - *Shapechange* © (M,V,S) level 9 Transmutation [Concentration] [UB] +# 326. - *Shapechange* © (M,V,S) level 9 Transmutation [Concentration] [UB] **[Druid, Wizard]** 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. -# 326. - *Time Stop* © (V) level 9 Transmutation [UB] +# 327. - *Time Stop* © (V) level 9 Transmutation [UB] **[Sorcerer, Wizard]** 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. This spell ends if one of the actions you use during this period, or any effects that you create during this period, affects a creature other than you. -# 327. - *Weird* © (V,S) level 9 Illusion [Concentration] [UB] +# 328. - *Weird* © (V,S) level 9 Illusion [Concentration] [UB] **[Warlock, Wizard]** -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. +You try to create illusory terrors in others' minds. Each creature of your choice in a 30-foot-radius Sphere centered on a point within range makes a Wisdom saving throw. On a failed save, a target takes 10d10 Psychic damage and has the Frightened condition for the duration. On a successful save, a target takes half as much damage only. A Frightened target makes a Wisdom saving throw at the end of each of its turns. On a failed save, it takes 5d10 Psychic damage. On a successful save, the spell ends on that target. diff --git a/Documentation/Subclasses.md b/Documentation/Subclasses.md index f3ea044566..26ecd7c8bb 100644 --- a/Documentation/Subclasses.md +++ b/Documentation/Subclasses.md @@ -2026,7 +2026,7 @@ The Mischief domain is followed by those who pursue joy, pleasure, and wealth th * Borrowed Luck -When you fail a saving throw where you did not have disadvantage, you can use your reaction to roll again. If you succeed, you will have disadvantage on your next saving throw.​​​​​​​ +When you fail a saving throw where you did not have disadvantage, you can use your reaction to roll again. If you succeed, you will have disadvantage on your next saving throw. * Mischief Domain Spells @@ -2060,7 +2060,7 @@ When you hit a creature with a melee or ranged weapon attack, you can Channel Di * Elusive Target -Starting at level 6, you are extremely hard to corner in close combat. When a melee attack hits you, you can use your reaction to gain the benefits of Dodging and Disengaging until the end of your next turn.​​​​​​ +Starting at level 6, you are extremely hard to corner in close combat. When a melee attack hits you, you can use your reaction to gain the benefits of Dodging and Disengaging until the end of your next turn. ### Level 8 @@ -3166,14 +3166,14 @@ You can use a bonus action to give all allies within 3 cells of you (including y ### Level 7 -* Coordinated Defense​​​​​​​ +* Coordinated Defense When you use the attack action, you can forego one of your attacks to grant an ally within 3 cells of you (including yourself) Dodge until the start of your next turn. ### Level 10 -* Invigorating Shout​​​​​​​ +* Invigorating Shout Rousing Shout's range increases from 3 to 6 cells. Allies affected by Rousing Shout now also gain temporary hit points equal to your level for 1 minute. @@ -4057,7 +4057,7 @@ Starting at 3rd level, You can apply your Divine Smite ability when you hit an e In your list and always prepared: - I Hunter's Mark, Protect vs Evil & Good + I Hunter's Mark, Protect vs Evil and Good II Magic Weapon, Misty Step @@ -4117,7 +4117,7 @@ Channel Divinity to force fiends and undead within 6 cells who can see you to fl In your list and always prepared: - I Shield, Protect vs Evil & Good + I Shield, Protect vs Evil and Good II Lesser Restoration, Aid @@ -4299,7 +4299,7 @@ As a bonus action, you can use Channel Divinity to pour your determination into In your list and always prepared: - I Guiding Bolt, Protect vs Evil & Good + I Guiding Bolt, Protect vs Evil and Good II Enhance Ability, Hold Person diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 36d96f4d3d..defa4b1ae9 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -2423,6 +2423,9 @@ internal static class FeatureDefinitionDieRollModifiers internal static FeatureDefinitionDieRollModifier DieRollModifierHalfingLucky { get; } = GetDefinition("DieRollModifierHalfingLucky"); + + internal static FeatureDefinitionDieRollModifier DieRollModifierRogueReliableTalent { get; } = + GetDefinition("DieRollModifierRogueReliableTalent"); } internal static class FeatureDefinitionRegenerations @@ -2658,6 +2661,9 @@ internal static class InvocationDefinitions internal static class ItemDefinitions { + internal static ItemDefinition StaffOfFire { get; } = + GetDefinition("StaffOfFire"); + internal static ItemDefinition RingFeatherFalling { get; } = GetDefinition("RingFeatherFalling"); diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationBattleExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationBattleExtensions.cs index a84cf9999c..05bab46dd2 100644 --- a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationBattleExtensions.cs +++ b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationBattleExtensions.cs @@ -5,6 +5,40 @@ namespace SolastaUnfinishedBusiness.Api.GameExtensions; internal static class GameLocationBattleExtensions { + internal static void ProcessExtraAfterAttackConditionsMatchingInterruption( + GameLocationCharacter actingCharacter, RulesetActor rulesetDefender) + { + //PATCH: allow condition interruption after target was attacked not by source + if (!rulesetDefender.matchingInterruption) + { + rulesetDefender.matchingInterruption = true; + rulesetDefender.matchingInterruptionConditions.Clear(); + + foreach (var rulesetCondition in rulesetDefender.ConditionsByCategory + .SelectMany(x => x.Value) + .Where(rulesetCondition => + rulesetCondition.ConditionDefinition.HasSpecialInterruptionOfType( + (RuleDefinitions.ConditionInterruption)ExtraConditionInterruption + .AfterWasAttackedNotBySource) && + rulesetCondition.SourceGuid != actingCharacter.Guid)) + { + rulesetDefender.matchingInterruptionConditions.Add(rulesetCondition); + } + + for (var index = rulesetDefender.matchingInterruptionConditions.Count - 1; index >= 0; --index) + { + rulesetDefender.RemoveCondition(rulesetDefender.matchingInterruptionConditions[index]); + } + + rulesetDefender.matchingInterruptionConditions.Clear(); + rulesetDefender.matchingInterruption = false; + } + + //PATCH: Allows condition interruption after target was attacked + rulesetDefender.ProcessConditionsMatchingInterruption( + (RuleDefinitions.ConditionInterruption)ExtraConditionInterruption.AfterWasAttacked); + } + internal static List GetContenders(this GameLocationBattle battle, GameLocationCharacter character, GameLocationCharacter perceiver = null, diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs index f75e1a429b..143c4fa3aa 100644 --- a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs +++ b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs @@ -88,8 +88,7 @@ internal static void MyExecuteActionPowerNoCost( ActionModifiers = actionModifiers, RulesetEffect = implementationService.InstantiateEffectPower(rulesetCharacter, usablePower, false), UsablePower = usablePower, - targetCharacters = [.. targets], - SkipAnimationsAndVFX = true + targetCharacters = [.. targets] }; actionService.ExecuteAction(actionParams, null, true); @@ -106,8 +105,7 @@ internal static void MyExecuteActionSpendPower( StringParameter = usablePower.PowerDefinition.Name, RulesetEffect = implementationService.InstantiateEffectPower(rulesetCharacter, usablePower, false), UsablePower = usablePower, - targetCharacters = [.. targets], - SkipAnimationsAndVFX = true + targetCharacters = [.. targets] }; actionService.ExecuteInstantSingleAction(actionParams); @@ -308,8 +306,7 @@ internal static IEnumerator MyReactToSpendPower( StringParameter2 = stringParameter2, RulesetEffect = implementationService.InstantiateEffectPower(character.RulesetCharacter, usablePower, false), - UsablePower = usablePower, - SkipAnimationsAndVFX = true + UsablePower = usablePower }; var count = actionService.PendingReactionRequestGroups.Count; @@ -352,8 +349,7 @@ internal static IEnumerator MyReactToSpendPowerBundle( RulesetEffect = implementationService.InstantiateEffectPower(character.RulesetCharacter, usablePower, false), UsablePower = usablePower, - targetCharacters = targets, - SkipAnimationsAndVFX = true + targetCharacters = targets }; var reactionRequest = new ReactionRequestSpendBundlePower(reactionParams, reactionValidated, reactionNotValidated); diff --git a/SolastaUnfinishedBusiness/Api/Helpers/EffectHelpers.cs b/SolastaUnfinishedBusiness/Api/Helpers/EffectHelpers.cs index 3879034b6c..7d8a246f0f 100644 --- a/SolastaUnfinishedBusiness/Api/Helpers/EffectHelpers.cs +++ b/SolastaUnfinishedBusiness/Api/Helpers/EffectHelpers.cs @@ -20,34 +20,7 @@ internal static void StartVisualEffect( IMagicEffect magicEffect, EffectType effectType = EffectType.Impact) { - // be safe on multiplayer sessions as depending on flow, SFX can break them - if (Global.IsMultiplayer) - { - return; - } - - var prefab = effectType switch - { - EffectType.Caster => magicEffect.EffectDescription.EffectParticleParameters.CasterParticle, - EffectType.QuickCaster => magicEffect.EffectDescription.EffectParticleParameters.CasterQuickSpellParticle, - EffectType.Condition => magicEffect.EffectDescription.EffectParticleParameters.ConditionParticle, - EffectType.Effect => magicEffect.EffectDescription.EffectParticleParameters.EffectParticle, - EffectType.Impact => magicEffect.EffectDescription.EffectParticleParameters.ImpactParticle, - EffectType.Zone => magicEffect.EffectDescription.EffectParticleParameters.ZoneParticle, - _ => throw new ArgumentOutOfRangeException(nameof(effectType), effectType, null) - }; - - if (!prefab) - { - return; - } - - var sentParameters = new ParticleSentParameters(attacker, defender, magicEffect.Name); - - WorldLocationPoolManager - .GetElement(prefab, true) - .GetComponent() - .Setup(sentParameters); + StartVisualEffect(attacker, defender, magicEffect.EffectDescription.EffectParticleParameters, effectType); } internal static void StartVisualEffect( @@ -56,6 +29,12 @@ internal static void StartVisualEffect( EffectParticleParameters effectParticleParameters, EffectType effectType = EffectType.Impact) { + // be safe on multiplayer sessions as depending on flow, SFX can break them + if (Global.IsMultiplayer) + { + return; + } + var prefab = effectType switch { EffectType.Caster => effectParticleParameters.CasterParticle, @@ -72,7 +51,7 @@ internal static void StartVisualEffect( return; } - var sentParameters = new ParticleSentParameters(attacker, defender, "test"); + var sentParameters = new ParticleSentParameters(attacker, defender, "ChuckNorris"); WorldLocationPoolManager .GetElement(prefab, true) diff --git a/SolastaUnfinishedBusiness/Api/LanguageExtensions/StringExtensions.cs b/SolastaUnfinishedBusiness/Api/LanguageExtensions/StringExtensions.cs index 6be5aa806f..44dad88e12 100644 --- a/SolastaUnfinishedBusiness/Api/LanguageExtensions/StringExtensions.cs +++ b/SolastaUnfinishedBusiness/Api/LanguageExtensions/StringExtensions.cs @@ -10,6 +10,13 @@ internal static string SplitCamelCase(this string str) return Regex.Replace(Regex.Replace(str, @"(\P{Ll})(\P{Ll}\p{Ll})", "$1 $2"), @"(\p{Ll})(\P{Ll})", "$1 $2"); } + private static readonly Regex RemoveXmlTags = new(@"<[bci/].*?>|<#B5D3DE>", RegexOptions.Compiled); + + internal static string StripXmlTags(this string str) + { + return RemoveXmlTags.Replace(str.Replace("<#57BCF4>", "\r\n\t"), string.Empty); + } + internal static bool Matches(this string source, string other) { if (source == null || other == null) diff --git a/SolastaUnfinishedBusiness/Behaviors/ModifyAttackModeForWeapon.cs b/SolastaUnfinishedBusiness/Behaviors/ModifyAttackModeForWeapon.cs index ffd02438fc..ea240afe7c 100644 --- a/SolastaUnfinishedBusiness/Behaviors/ModifyAttackModeForWeapon.cs +++ b/SolastaUnfinishedBusiness/Behaviors/ModifyAttackModeForWeapon.cs @@ -60,7 +60,7 @@ public void ModifyWeaponAttackMode( } ChangeAttackModeAttributeIfBetter( - character, attackMode, newAttribute, oldAttribute, canAddAbilityDamageBonus); + character, attackMode, oldAttribute, newAttribute, canAddAbilityDamageBonus); } internal static void ChangeAttackModeAttributeIfBetter( diff --git a/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs b/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs index b7dcc338da..9cda374a95 100644 --- a/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs +++ b/SolastaUnfinishedBusiness/Behaviors/Specific/AttackAfterMagicEffect.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.GameExtensions; @@ -7,53 +8,51 @@ namespace SolastaUnfinishedBusiness.Behaviors.Specific; -internal sealed class AttackAfterMagicEffect : IFilterTargetingCharacter +internal sealed class AttackAfterMagicEffect(AttackAfterMagicEffect.AttackType attackType, bool firstTargetOnly) + : IFilterTargetingCharacter { internal const string AttackAfterMagicEffectTag = "AttackAfterMagicEffectTag"; + private const RollOutcome MinOutcomeToAttack = RollOutcome.Success; private const RollOutcome MinSaveOutcomeToAttack = RollOutcome.Failure; - internal static readonly AttackAfterMagicEffect Marker = new(); + + internal static readonly AttackAfterMagicEffect MarkerAnyWeaponAttack = + new(AttackType.Melee | AttackType.Ranged | AttackType.Thrown, true); + + internal static readonly AttackAfterMagicEffect MarkerMeleeWeaponAttack = new(AttackType.Melee, true); + internal static readonly AttackAfterMagicEffect MarkerRangedWeaponAttack = new(AttackType.Ranged, false); + + internal readonly bool AllowMelee = attackType.HasFlag(AttackType.Melee); + internal readonly bool AllowRanged = attackType.HasFlag(AttackType.Ranged); + internal readonly bool AllowThrown = attackType.HasFlag(AttackType.Thrown); public bool EnforceFullSelection => false; public bool IsValid(CursorLocationSelectTarget __instance, GameLocationCharacter target) { - // only enforce weapon reach or 5 ft on first target - if (__instance.SelectionService.SelectedTargets.Count != 0) + if (!firstTargetOnly && __instance.SelectionService.SelectedTargets.Count != 0) { return true; } - if (CanAttack(__instance.ActionParams.ActingCharacter, target, out var isReach)) + if (CanAttack(__instance.ActionParams.ActingCharacter, target, AllowMelee, AllowRanged, AllowThrown)) { return true; } - var text = isReach ? "Feedback/&WithinReach" : "Feedback/&Within5Ft"; - - __instance.actionModifier.FailureFlags.Add(Gui.Format("Failure/&TargetMeleeWeaponError", text)); + __instance.actionModifier.FailureFlags.Add(Gui.Localize("Failure/&CannotAttackTarget")); return false; } internal static bool CanAttack( - [NotNull] GameLocationCharacter caster, GameLocationCharacter target, out bool isReach) + [NotNull] GameLocationCharacter attacker, + GameLocationCharacter defender, + bool allowMelee, + bool allowRanged, + bool allowThrown) { - isReach = Main.Settings.AllowBladeCantripsToUseReach; - - // still debatable -#if false - // Spell Sniper should allow reach - if (!isReach) - { - var rulesetCaster = caster.RulesetCharacter; - - isReach = rulesetCaster.GetOriginalHero()?.TrainedFeats.Any(x => x.Name.StartsWith("FeatSpellSniper")) ?? - false; - } -#endif - - var attackMode = caster.FindActionAttackMode(ActionDefinitions.Id.AttackMain); + var attackMode = attacker.FindActionAttackMode(ActionDefinitions.Id.AttackMain); if (attackMode == null) { @@ -63,14 +62,44 @@ internal static bool CanAttack( var battleService = ServiceRepository.GetService(); var attackModifier = new ActionModifier(); var evalParams = new BattleDefinitions.AttackEvaluationParams(); + var attackerPosition = attacker.LocationPosition; + var defenderPosition = defender.LocationPosition; + var canAttack = false; + + switch (attackMode.Ranged) + { + case false when allowMelee: + { + evalParams.FillForPhysicalReachAttack( + attacker, attackerPosition, attackMode, defender, defenderPosition, attackModifier); + + var reach = Main.Settings.AllowBladeCantripsToUseReach ? attackMode.ReachRange : 1; - evalParams.FillForPhysicalReachAttack( - caster, caster.LocationPosition, attackMode, target, target.LocationPosition, attackModifier); + canAttack = battleService.CanAttack(evalParams) && attacker.IsWithinRange(defender, reach); - return battleService.CanAttack(evalParams) && (isReach || caster.IsWithinRange(target, 1)); + if (!canAttack && allowThrown) + { + attackMode.ranged = true; + evalParams.FillForPhysicalRangeAttack( + attacker, attackerPosition, attackMode, defender, defenderPosition, attackModifier); + + canAttack = battleService.CanAttack(evalParams); + } + + break; + } + case true when allowRanged: + evalParams.FillForPhysicalRangeAttack( + attacker, attackerPosition, attackMode, defender, defenderPosition, attackModifier); + + canAttack = battleService.CanAttack(evalParams); + break; + } + + return canAttack; } - internal static List PerformAttackAfterUse(CharacterActionMagicEffect actionMagicEffect) + internal List PerformAttackAfterUse(CharacterActionMagicEffect actionMagicEffect) { var attacks = new List(); var actionParams = actionMagicEffect?.ActionParams; @@ -100,7 +129,7 @@ internal static List PerformAttackAfterUse(CharacterActio var caster = actionParams.ActingCharacter; var targets = actionParams.TargetCharacters - .Where(t => CanAttack(caster, t, out _)) + .Where(t => CanAttack(caster, t, AllowMelee, AllowRanged, AllowThrown)) .ToArray(); if (targets.Length == 0) @@ -115,29 +144,42 @@ internal static List PerformAttackAfterUse(CharacterActio return attacks; } - //get copy to be sure we don't break existing mode - var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get(); + var maxTargets = firstTargetOnly ? 1 : targets.Length; - rulesetAttackModeCopy.Copy(attackMode); - attackMode = rulesetAttackModeCopy; + for (var i = 0; i < maxTargets; i++) + { + //get copy to be sure we don't break existing mode + var rulesetAttackModeCopy = RulesetAttackMode.AttackModesPool.Get(); - //set action type to be same as the one used for the magic effect - attackMode.ActionType = actionMagicEffect.ActionType; + rulesetAttackModeCopy.Copy(attackMode); + attackMode = rulesetAttackModeCopy; - //mark this attack for proper integration with polearm, and follow-up strike - if (!actionParams.ActingCharacter.RulesetCharacter.HasSubFeatureOfType()) - { - attackMode.AddAttackTagAsNeeded(AttackAfterMagicEffectTag); - } + //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 polearm, and follow-up strike + if (!actionParams.ActingCharacter.RulesetCharacter.HasSubFeatureOfType()) + { + attackMode.AddAttackTagAsNeeded(AttackAfterMagicEffectTag); + } - // always use free attack - var attackActionParams = - new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree) { AttackMode = attackMode }; + // always use free attack + var attackActionParams = + new CharacterActionParams(caster, ActionDefinitions.Id.AttackFree) { AttackMode = attackMode }; - attackActionParams.TargetCharacters.Add(targets[0]); - attackActionParams.ActionModifiers.Add(new ActionModifier()); - attacks.Add(attackActionParams); + attackActionParams.TargetCharacters.Add(targets[i]); + attackActionParams.ActionModifiers.Add(new ActionModifier()); + attacks.Add(attackActionParams); + } return attacks; } + + [Flags] + internal enum AttackType + { + Melee = 1, + Ranged = 2, + Thrown = 4 + } } diff --git a/SolastaUnfinishedBusiness/Behaviors/Specific/MirrorImage.cs b/SolastaUnfinishedBusiness/Behaviors/Specific/MirrorImage.cs index 9fec5f66f8..21a61b698d 100644 --- a/SolastaUnfinishedBusiness/Behaviors/Specific/MirrorImage.cs +++ b/SolastaUnfinishedBusiness/Behaviors/Specific/MirrorImage.cs @@ -112,9 +112,7 @@ internal static void AttackRollPrefix( } foreach (var sense in attacker.SenseModes - .Where(sense => sense.senseType is SenseMode.Type.Blindsight or SenseMode.Type.Truesight - or SenseMode.Type.Tremorsense) - .Where(sense => sense.senseType is not SenseMode.Type.Tremorsense || target.IsTouchingGround()) + .Where(sense => sense.senseType is SenseMode.Type.Blindsight or SenseMode.Type.Truesight) .Where(sense => locA.IsWithinRange(locB, sense.SenseRange))) { ReportAttackerHasSense(attacker, sense.senseType); @@ -123,19 +121,21 @@ internal static void AttackRollPrefix( } //TODO: Bonus points if we can manage to change attack `GameConsole.AttackRolled` to show duplicate, instead of the target - //TODO: add custom context and modify Halfling's Lucky to include it - var result = target.RollDie(RuleDefinitions.DieType.D20, RuleDefinitions.RollContext.None, false, - RuleDefinitions.AdvantageType.None, out _, out _, skill: TargetMirrorImageTag); - var hitImage = false; + var result = 0; - switch (conditions.Count) + for (var i = 0; i < conditions.Count; i++) { - case >= 3 when result >= 6: - case 2 when result >= 8: - case 1 when result >= 11: - hitImage = true; - break; + result = target.RollDie(RuleDefinitions.DieType.D6, RuleDefinitions.RollContext.None, false, + RuleDefinitions.AdvantageType.None, out _, out _, skill: TargetMirrorImageTag); + + if (result < 3) + { + continue; + } + + hitImage = true; + break; } ReportTargetingMirrorImage(attacker, target, result, hitImage); diff --git a/SolastaUnfinishedBusiness/Builders/EffectDescriptionBuilder.cs b/SolastaUnfinishedBusiness/Builders/EffectDescriptionBuilder.cs index 0247c81f64..394dca75fc 100644 --- a/SolastaUnfinishedBusiness/Builders/EffectDescriptionBuilder.cs +++ b/SolastaUnfinishedBusiness/Builders/EffectDescriptionBuilder.cs @@ -59,6 +59,19 @@ internal EffectDescriptionBuilder ClearEffectAdvancements() return this; } + internal EffectDescriptionBuilder SetHitPointsFilter(int effectFormId, int minHitPoints = 0, int maxHitPoints = 100) + { + _effect.EffectFormFilters.Add( + new EffectFormFilter + { + effectFormId = effectFormId, + criteria = EffectFormFilter.FilterCriteria.CurrentHitPoints, + minHitPoints = minHitPoints, + maxHitPoints = maxHitPoints + }); + return this; + } + internal EffectDescriptionBuilder RollSaveOnlyIfRelevantForms() { _effect.RollSaveOnlyIfRelevantForms = true; diff --git a/SolastaUnfinishedBusiness/Builders/EffectFormBuilder.cs b/SolastaUnfinishedBusiness/Builders/EffectFormBuilder.cs index 0143362780..9fccc0673f 100644 --- a/SolastaUnfinishedBusiness/Builders/EffectFormBuilder.cs +++ b/SolastaUnfinishedBusiness/Builders/EffectFormBuilder.cs @@ -55,6 +55,13 @@ internal EffectFormBuilder HasSavingThrow( return this; } + internal EffectFormBuilder SetFilterId(int filterId) + { + _effectForm.filterId = filterId; + _effectForm.hasFilterId = true; + return this; + } + internal EffectFormBuilder SetBonusMode(AddBonusMode bonusMode) { _effectForm.AddBonusMode = bonusMode; diff --git a/SolastaUnfinishedBusiness/Builders/_Helpers.cs b/SolastaUnfinishedBusiness/Builders/_Helpers.cs index e8662180dc..ad642e919f 100644 --- a/SolastaUnfinishedBusiness/Builders/_Helpers.cs +++ b/SolastaUnfinishedBusiness/Builders/_Helpers.cs @@ -77,6 +77,11 @@ internal static int CompareTitle(BaseDefinition x, BaseDefinition y) return string.Compare(x.FormatTitle(), y.FormatTitle(), StringComparison.CurrentCultureIgnoreCase); } + internal static int CompareTitle(UserContent x, UserContent y) + { + return string.Compare(x.Title, y.Title, StringComparison.CurrentCultureIgnoreCase); + } + internal static int Compare(BaseDefinition x, BaseDefinition y) { return string.Compare(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase); diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index b091450601..f6a1f15d6a 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,3 +1,37 @@ +1.5.97.40 - 3 Years CE/UB anniversary has a lot to say: + +ATTENTION: Check "The Forsaken Isle" and "Morrows Deep" from Artyoan, updated with NPCs text-to-speech data + +- added 'Enable Fighter Studied Attacks at 13' setting [ADV if previous attack in turn against same target missed] +- added 'Enable Fighter Tactical Mind, and Tactical Shift at 2 and 5' setting [augment second wind scenarios] +- added 'Enable Hideous Laughter 5e 2024 spell version' setting [+1 target per upcast] +- added 'Enable Hunter's Mark 5e 2024 spell version' setting [force damage] +- added 'Enable Power Word Stun 5e 2024 spell version' setting [target stopped for one turn if has more than 150 hp] +- added 'Enable Rogue Improved Cunning Strike at 11' under existing Cunning/Devious strike setting +- added 'Enable Rogue Reliable Talent at 7 instead of 11' setting +- added 'Enable Sorcerer Arcane Apotheosis at 20' setting [free metamagic use once per round] +- added 'Enable Sorcerer Sorcery Incarnate at 7' under existing Innate Sorcery setting +- added 'Enable Spare the Dying 5e 2024 spell version' setting [range double every cantrip level upgrade] +- added 'Enable Spider Climb 5e 2024 spell version' setting [+1 target per upcast] +- added 'Enable Wizard Memorize Spell at 5' setting [memorize 1 spell on short rests] +- added Aura of Vitality, Banishing Smite, Crusader's Mantle, Mirror Image, Swift Quiver, Weird, and Wrathful Smite spells 5e 2024 version +- added General > Campaigns > 'Enable Speech on custom campaigns' setting with 22 EN voices for narration, heroes, and NPCs +- added General > Rules > 'Enable an unlimited number of inventory actions per turn' setting [by SilverGriffon] +- added Ray of Sickening spell, Blessed Warrior, and Druidic Warrior fighting styles +- fixed 'Enable Second Wind to use 5e 2024 usages progression' forcing max usage to zero when off +- fixed Defensive Duelist triggering on any attack roll instead of melee attacks only +- fixed Grapple interaction with teleporting enemies +- fixed Martial Arcane Archer Beguiling Arrow charmed condition application time, and improved all arrows impact SFX +- fixed Patron Hexblade interaction with 5e 2024 pact of blades invocation [by BradS] +- fixed Staff of Fire not granting fire damage resistance to wielder [VANILLA] +- fixed True Strike 2024 version not allowing ranged or thrown, and enforcing concentration +- fixed weapon attribute determination not enforcing the higher scored modifier [i.e.: Hexblade, precision feats, etc.] + +KNOWN ISSUES: + +- Artillerist Force Ballista tiny cannon won't force disadvantage if defender is within 5 ft +- Chaos Bolt spell damage won't deal the correct damage type if under multiplayer, twinned, and one bolt misses + 1.5.97.39: - added 'Allow Potions and Scrolls to be carried and used in the ammunition slots' setting [by SilverGriffon] @@ -20,11 +54,6 @@ - fixed spend power action passing a null instance to mod custom behaviors leading to desyncs and soft locks - fixed Stealthy action from key bind not broadcasting status on multiplayer sessions -KNOWN ISSUES: - -- Artillerist Force Ballista tiny cannon won't force disadvantage if defender is within 5 ft -- Chaos Bolt spell damage won't deal the correct damage type if under multiplayer, twinned, and one bolt misses - 1.5.97.38: - added False Life to 'Enable healing spells 5e 2024 spells version' diff --git a/SolastaUnfinishedBusiness/Classes/InventorClass.cs b/SolastaUnfinishedBusiness/Classes/InventorClass.cs index a7e079d199..2d9ca6c16a 100644 --- a/SolastaUnfinishedBusiness/Classes/InventorClass.cs +++ b/SolastaUnfinishedBusiness/Classes/InventorClass.cs @@ -860,6 +860,7 @@ private static FeatureDefinitionFeatureSet BuildFlashOfGenius() .Create("PowerInventorFlashOfGeniusBonus") .SetGuiPresentation("PowerInventorFlashOfGenius", Category.Feature, sprite) .SetUsesAbilityBonus(ActivationTime.NoCost, RechargeRate.LongRest, AttributeDefinitions.Intelligence) + .SetShowCasting(false) .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); diff --git a/SolastaUnfinishedBusiness/Displays/CampaignsDisplay.cs b/SolastaUnfinishedBusiness/Displays/CampaignsDisplay.cs index 759d0cd10f..5fc0cfaab3 100644 --- a/SolastaUnfinishedBusiness/Displays/CampaignsDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/CampaignsDisplay.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Api.ModKit; using SolastaUnfinishedBusiness.CustomUI; @@ -125,6 +126,81 @@ internal static void DisplayGameUi() Main.Settings.EnableLogDialoguesToConsole = toggle; } + toggle = Main.Settings.EnableSpeech; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSpeech"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableSpeech = toggle; + } + + if (Main.Settings.EnableSpeech) + { + UI.Label(); + + using (UI.HorizontalScope()) + { + UI.ActionButton( + Gui.Localize("ModUi/&RefreshVoice"), + SpeechContext.RefreshAvailableVoices, UI.Width(227f)); + UI.ActionButton( + SpeechContext.VoicesDownloader.Shared.GetButtonLabel(), + SpeechContext.VoicesDownloader.Shared.DownloadVoices, UI.Width(227f)); + } + + UI.Label(); + + toggle = Main.Settings.EnableSpeechOnNpcs; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSpeechOnNpcs"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableSpeechOnNpcs = toggle; + } + + toggle = Main.Settings.ForceModSpeechOnNpcs; + if (UI.Toggle(Gui.Localize("ModUi/&ForceModSpeechOnNpcs"), ref toggle, UI.AutoWidth())) + { + Main.Settings.ForceModSpeechOnNpcs = toggle; + } + + UI.Label(); + UI.Label(Gui.Localize("ModUi/&EnableSpeechActorHelp")); + UI.Label(); + + intValue = Main.Settings.SpeechChoice; + if (UI.SelectionGrid( + ref intValue, SpeechContext.Choices, SpeechContext.Choices.Length, SpeechContext.MaxHeroes + 1, + UI.Width(800f))) + { + Main.Settings.SpeechChoice = intValue; + } + + UI.Label(); + UI.Label(Gui.Localize("ModUi/&EnableSpeechVoiceHelp")); + UI.Label(); + + (var voice, floatValue) = Main.Settings.SpeechVoices[Main.Settings.SpeechChoice]; + + intValue = Array.IndexOf(SpeechContext.VoiceNames, voice); + + if (UI.Slider(Gui.Localize("ModUi/&SpeechScale"), ref floatValue, + 0.5f, 2f, 0.8f, 1, string.Empty, UI.AutoWidth())) + { + voice = SpeechContext.VoiceNames[intValue]; + Main.Settings.SpeechVoices[Main.Settings.SpeechChoice] = (voice, floatValue); + } + + UI.Label(); + + if (UI.SelectionGrid( + ref intValue, SpeechContext.VoiceNames, SpeechContext.VoiceNames.Length, 3, UI.Width(800f))) + { + voice = SpeechContext.VoiceNames[intValue]; + Main.Settings.SpeechVoices[Main.Settings.SpeechChoice] = (voice, floatValue); + SpeechContext.SpeakQuote(); + SpeechContext.UpdateAvailableVoices(); + } + + UI.Label(); + } + toggle = Main.Settings.EnableHeroWithBestProficiencyToRollChoice; if (UI.Toggle(Gui.Localize("ModUi/&EnableHeroWithBestProficiencyToRollChoice"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index db93f73ad3..48d0cdbab6 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -177,6 +177,20 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchSecondWindToUseOneDndUsagesProgression(); } + toggle = Main.Settings.EnableFighterStudiedAttacks; + if (UI.Toggle(Gui.Localize("ModUi/&EnableFighterStudiedAttacks"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableFighterStudiedAttacks = toggle; + Tabletop2024Context.SwitchFighterStudiedAttacks(); + } + + toggle = Main.Settings.EnableFighterTacticalProgression; + if (UI.Toggle(Gui.Localize("ModUi/&EnableFighterTacticalProgression"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableFighterTacticalProgression = toggle; + Tabletop2024Context.SwitchFighterTacticalProgression(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&MonkTitle") + ":"); UI.Label(); @@ -357,6 +371,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRogueBlindSense(); } + toggle = Main.Settings.EnableRogueReliableTalentAt7; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRogueReliableTalentAt7"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRogueReliableTalentAt7 = toggle; + Tabletop2024Context.SwitchRogueReliableTalent(); + } + toggle = Main.Settings.EnableRogueSlipperyMind; if (UI.Toggle(Gui.Localize("ModUi/&EnableRogueSlipperyMind"), ref toggle, UI.AutoWidth())) { @@ -368,10 +389,18 @@ internal static void DisplayClasses() UI.Label("" + Gui.Localize("Class/&SorcererTitle") + ":"); UI.Label(); - toggle = Main.Settings.EnableSorcererInnateSorceryAt1; - if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererInnateSorceryAt1"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableSorcererArcaneApotheosis; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererArcaneApotheosis"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableSorcererArcaneApotheosis = toggle; + Tabletop2024Context.SwitchSorcererArcaneApotheosis(); + } + + toggle = Main.Settings.EnableSorcererInnateSorceryAndSorceryIncarnate; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate"), ref toggle, + UI.AutoWidth())) { - Main.Settings.EnableSorcererInnateSorceryAt1 = toggle; + Main.Settings.EnableSorcererInnateSorceryAndSorceryIncarnate = toggle; Tabletop2024Context.SwitchSorcererInnateSorcery(); } @@ -397,10 +426,10 @@ internal static void DisplayClasses() } } - toggle = Main.Settings.EnableSorcerousRestorationAtLevel5; - if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcerousRestorationAtLevel5"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableSorcererSorcerousRestoration; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableSorcerousRestorationAtLevel5 = toggle; + Main.Settings.EnableSorcererSorcerousRestoration = toggle; Tabletop2024Context.SwitchSorcerousRestorationAtLevel5(); } @@ -434,6 +463,13 @@ internal static void DisplayClasses() UI.Label("" + Gui.Localize("Class/&WizardTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnableWizardMemorizeSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableWizardMemorizeSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableWizardMemorizeSpell = toggle; + Tabletop2024Context.SwitchOneDndWizardMemorizeSpell(); + } + toggle = Main.Settings.EnableWizardToLearnScholarAtLevel2; if (UI.Toggle(Gui.Localize("ModUi/&EnableWizardToLearnScholarAtLevel2"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs index 2dc7de7b15..11b180891c 100644 --- a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs @@ -1,8 +1,6 @@ using System.Collections.Generic; -using System.IO; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Api.ModKit; -using UnityExplorer; #if DEBUG using static SolastaUnfinishedBusiness.Displays.PatchesDisplay; #endif @@ -101,26 +99,6 @@ internal static class CreditsDisplay ("Ermite_Crabe", "french translations") ]; - private static readonly bool IsUnityExplorerInstalled = - File.Exists(Path.Combine(Main.ModFolder, "UnityExplorer.STANDALONE.Mono.dll")) && - File.Exists(Path.Combine(Main.ModFolder, "UniverseLib.Mono.dll")); - - private static bool IsUnityExplorerEnabled { get; set; } - - private static void EnableUnityExplorerUi() - { - IsUnityExplorerEnabled = true; - - try - { - ExplorerStandalone.CreateInstance(); - } - catch - { - // ignored - } - } - internal static void DisplayCredits() { #if DEBUG @@ -135,12 +113,6 @@ internal static void DisplayCredits() UI.Label(); - if (IsUnityExplorerInstalled && !IsUnityExplorerEnabled) - { - UI.ActionButton("Unity Explorer UI".Bold().Khaki(), EnableUnityExplorerUi, UI.Width(189f)); - UI.Label(); - } - #if DEBUG DiagnosticsDisplay.DisplayDiagnostics(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index c254996ae9..9671c4db5e 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -2,6 +2,9 @@ using SolastaUnfinishedBusiness.Api.ModKit; using SolastaUnfinishedBusiness.Models; using SolastaUnfinishedBusiness.Subclasses; +#if DEBUG +using UnityExplorer; +#endif namespace SolastaUnfinishedBusiness.Displays; @@ -10,6 +13,10 @@ internal static class ToolsDisplay private static string ExportFileName { get; set; } = ServiceRepository.GetService().GetUserName(); +#if DEBUG + private static bool IsUnityExplorerEnabled { get; set; } +#endif + internal static void DisplayGameplay() { DisplayGeneral(); @@ -74,18 +81,47 @@ private static void SelectTabletopSet() SubclassesContext.SelectTabletopSet(true); } +#if DEBUG + private static void EnableUnityExplorerUi() + { + IsUnityExplorerEnabled = true; + + try + { + ExplorerStandalone.CreateInstance(); + } + catch + { + // ignored + } + } +#endif + private static void DisplayGeneral() { UI.Label(); +#if DEBUG + var size = IsUnityExplorerEnabled ? 195f : 145f; +#else + // ReSharper disable once ConvertToConstant.Local + var size = 195f; +#endif + + var width = UI.Width(size); + using (UI.HorizontalScope()) { - UI.ActionButton(Gui.Localize("ModUi/&Update"), () => UpdateContext.UpdateMod(), - UI.Width(195f)); - UI.ActionButton(Gui.Localize("ModUi/&Rollback"), UpdateContext.DisplayRollbackMessage, - UI.Width(195f)); - UI.ActionButton(Gui.Localize("ModUi/&Changelog"), UpdateContext.OpenChangeLog, - UI.Width(195f)); + UI.ActionButton(Gui.Localize("ModUi/&Update"), () => UpdateContext.UpdateMod(), width); + UI.ActionButton(Gui.Localize("ModUi/&Rollback"), UpdateContext.DisplayRollbackMessage, width); + UI.ActionButton(Gui.Localize("ModUi/&Changelog"), UpdateContext.OpenChangeLog, width); + +#if DEBUG + if (!IsUnityExplorerEnabled) + { + UI.ActionButton(Gui.Localize("ModUi/&UnityExplorer"), EnableUnityExplorerUi, UI.Width(145f)); + } +#endif } UI.Label(); @@ -389,6 +425,20 @@ private static void DisplayOneDnd() Tabletop2024Context.SwitchSecondWindToUseOneDndUsagesProgression(); } + toggle = Main.Settings.EnableFighterStudiedAttacks; + if (UI.Toggle(Gui.Localize("ModUi/&EnableFighterStudiedAttacks"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableFighterStudiedAttacks = toggle; + Tabletop2024Context.SwitchFighterStudiedAttacks(); + } + + toggle = Main.Settings.EnableFighterTacticalProgression; + if (UI.Toggle(Gui.Localize("ModUi/&EnableFighterTacticalProgression"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableFighterTacticalProgression = toggle; + Tabletop2024Context.SwitchFighterTacticalProgression(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&MonkTitle") + ":"); UI.Label(); @@ -506,6 +556,13 @@ private static void DisplayOneDnd() Tabletop2024Context.SwitchRogueBlindSense(); } + toggle = Main.Settings.EnableRogueReliableTalentAt7; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRogueReliableTalentAt7"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRogueReliableTalentAt7 = toggle; + Tabletop2024Context.SwitchRogueReliableTalent(); + } + toggle = Main.Settings.EnableRogueSlipperyMind; if (UI.Toggle(Gui.Localize("ModUi/&EnableRogueSlipperyMind"), ref toggle, UI.AutoWidth())) { @@ -517,17 +574,25 @@ private static void DisplayOneDnd() UI.Label("" + Gui.Localize("Class/&SorcererTitle") + ":"); UI.Label(); - toggle = Main.Settings.EnableSorcererInnateSorceryAt1; - if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererInnateSorceryAt1"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableSorcererArcaneApotheosis; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererArcaneApotheosis"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableSorcererInnateSorceryAt1 = toggle; + Main.Settings.EnableSorcererArcaneApotheosis = toggle; + Tabletop2024Context.SwitchSorcererArcaneApotheosis(); + } + + toggle = Main.Settings.EnableSorcererInnateSorceryAndSorceryIncarnate; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate"), ref toggle, + UI.AutoWidth())) + { + Main.Settings.EnableSorcererInnateSorceryAndSorceryIncarnate = toggle; Tabletop2024Context.SwitchSorcererInnateSorcery(); } - toggle = Main.Settings.EnableSorcerousRestorationAtLevel5; - if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcerousRestorationAtLevel5"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableSorcererSorcerousRestoration; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableSorcerousRestorationAtLevel5 = toggle; + Main.Settings.EnableSorcererSorcerousRestoration = toggle; Tabletop2024Context.SwitchSorcerousRestorationAtLevel5(); } @@ -561,6 +626,13 @@ private static void DisplayOneDnd() UI.Label("" + Gui.Localize("Class/&WizardTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnableWizardMemorizeSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableWizardMemorizeSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableWizardMemorizeSpell = toggle; + Tabletop2024Context.SwitchOneDndWizardMemorizeSpell(); + } + toggle = Main.Settings.EnableWizardToLearnScholarAtLevel2; if (UI.Toggle(Gui.Localize("ModUi/&EnableWizardToLearnScholarAtLevel2"), ref toggle, UI.AutoWidth())) { @@ -647,6 +719,20 @@ private static void DisplayOneDnd() Tabletop2024Context.SwitchOneDndSpellGuidance(); } + toggle = Main.Settings.EnableOneDndHideousLaughterSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndHideousLaughterSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndHideousLaughterSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellHideousLaughter(); + } + + toggle = Main.Settings.EnableOneDndHuntersMarkSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndHuntersMarkSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndHuntersMarkSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellHuntersMark(); + } + toggle = Main.Settings.EnableOneDndLesserRestorationSpell; if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndLesserRestorationSpell"), ref toggle, UI.AutoWidth())) { @@ -661,11 +747,25 @@ private static void DisplayOneDnd() Tabletop2024Context.SwitchOneDndSpellMagicWeapon(); } - toggle = Main.Settings.EnableOneDndPowerWordKillSpell; - if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndPowerWordKillSpell"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableOneDndPowerWordStunSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndPowerWordStunSpell"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableOneDndPowerWordKillSpell = toggle; - Tabletop2024Context.SwitchOneDndSpellPowerWordKill(); + Main.Settings.EnableOneDndPowerWordStunSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellPowerWordStun(); + } + + toggle = Main.Settings.EnableOneDndSpareTheDyingSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndSpareTheDyingSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndSpareTheDyingSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellSpareTheDying(); + } + + toggle = Main.Settings.EnableOneDndSpiderClimbSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndSpiderClimbSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndSpiderClimbSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellSpiderClimb(); } toggle = Main.Settings.EnableOneDndStoneSkinSpell; @@ -754,6 +854,15 @@ private static void DisplayTabletop() UI.Label(); + toggle = Main.Settings.UseOfficialAdvantageDisadvantageRules; + if (UI.Toggle(Gui.Localize("ModUi/&UseOfficialAdvantageDisadvantageRules"), ref toggle, UI.AutoWidth())) + { + Main.Settings.UseOfficialAdvantageDisadvantageRules = toggle; + Main.Settings.UseOfficialFlankingRulesAlsoForRanged = false; + } + + UI.Label(); + toggle = Main.Settings.BlindedConditionDontAllowAttackOfOpportunity; if (UI.Toggle(Gui.Localize("ModUi/&BlindedConditionDontAllowAttackOfOpportunity"), ref toggle, UI.AutoWidth())) diff --git a/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs b/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs index 4e1020e8d8..ce41efb207 100644 --- a/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/RulesDisplay.cs @@ -86,6 +86,12 @@ internal static void DisplayRules() Main.Settings.DontEndTurnAfterReady = toggle; } + toggle = Main.Settings.EnableUnlimitedInventoryActions; + if (UI.Toggle(Gui.Localize("ModUi/&EnableUnlimitedInventoryActions"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableUnlimitedInventoryActions = toggle; + } + UI.Label(); toggle = Main.Settings.EnableProneAction; diff --git a/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs b/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs index 795f1d4d29..77726ddcad 100644 --- a/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs @@ -186,6 +186,20 @@ private static void DisplaySpellsGeneral() Tabletop2024Context.SwitchOneDndSpellGuidance(); } + toggle = Main.Settings.EnableOneDndHideousLaughterSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndHideousLaughterSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndHideousLaughterSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellHideousLaughter(); + } + + toggle = Main.Settings.EnableOneDndHuntersMarkSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndHuntersMarkSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndHuntersMarkSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellHuntersMark(); + } + toggle = Main.Settings.EnableOneDndLesserRestorationSpell; if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndLesserRestorationSpell"), ref toggle, UI.AutoWidth())) { @@ -200,11 +214,25 @@ private static void DisplaySpellsGeneral() Tabletop2024Context.SwitchOneDndSpellMagicWeapon(); } - toggle = Main.Settings.EnableOneDndPowerWordKillSpell; - if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndPowerWordKillSpell"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableOneDndPowerWordStunSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndPowerWordStunSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndPowerWordStunSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellPowerWordStun(); + } + + toggle = Main.Settings.EnableOneDndSpareTheDyingSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndSpareTheDyingSpell"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableOneDndSpareTheDyingSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellSpareTheDying(); + } + + toggle = Main.Settings.EnableOneDndSpiderClimbSpell; + if (UI.Toggle(Gui.Localize("ModUi/&EnableOneDndSpiderClimbSpell"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableOneDndPowerWordKillSpell = toggle; - Tabletop2024Context.SwitchOneDndSpellPowerWordKill(); + Main.Settings.EnableOneDndSpiderClimbSpell = toggle; + Tabletop2024Context.SwitchOneDndSpellSpiderClimb(); } toggle = Main.Settings.EnableOneDndStoneSkinSpell; diff --git a/SolastaUnfinishedBusiness/Displays/_ModUi.cs b/SolastaUnfinishedBusiness/Displays/_ModUi.cs index 81db741f4c..7af215b60a 100644 --- a/SolastaUnfinishedBusiness/Displays/_ModUi.cs +++ b/SolastaUnfinishedBusiness/Displays/_ModUi.cs @@ -41,6 +41,7 @@ internal static class ModUi "BanishingSmite", "BindingIce", "BladeWard", + "BlessedWarrior", "BlindFighting", "BlindingSmite", "BoomingBlade", @@ -69,6 +70,7 @@ internal static class ModUi "DomainTempest", "DomainSmith", "DraconicTransformation", + "DruidicWarrior", "EarthTremor", "ElementalBane", "ElementalInfusion", @@ -247,6 +249,7 @@ internal static class ModUi "RangerFeyWanderer", "RangerGloomStalker", "RangerWildMaster", + "RayOfSickness", "RemarkableTechnique", "ResonatingStrike", "ReverseGravity", diff --git a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs index be3f61c787..34d0febc61 100644 --- a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs @@ -746,7 +746,7 @@ public IEnumerator OnTryAlterOutcomeAttack( helper != defender || !helper.CanReact() || (rulesetEffect != null && rulesetEffect.EffectDescription.RangeType is not RangeType.MeleeHit) || - !ValidatorsCharacter.HasMeleeWeaponInMainOrOffhand(rulesetHelper)) + (attackMode != null && !ValidatorsWeapon.IsMelee(attackMode))) { yield break; } diff --git a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs index 95e324ff51..ae3df2fc95 100644 --- a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs @@ -13,6 +13,7 @@ using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.Classes; using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.FightingStyles; using SolastaUnfinishedBusiness.Interfaces; using SolastaUnfinishedBusiness.Models; using SolastaUnfinishedBusiness.Properties; @@ -2030,7 +2031,12 @@ private static FeatDefinition BuildFightingInitiate() .GetDatabase() .Where(x => !FightingStyleContext.DemotedFightingStyles.Contains(x.Name) && - x.Name != FightingStyleContext.PugilistName) + // backward compatibility + x.Name != FightingStyleContext.PugilistName && + // these should only be offered to Paladins or Rangers as FS + // was also lazy to implement cantrips learning under this scenario ;-) + x.Name != BlessedWarrior.Name && + x.Name != DruidicWarrior.Name) .Select(BuildFightingStyleFeat) .OfType() .ToArray()); @@ -2669,6 +2675,7 @@ void ReactionValidated() .Create($"Power{FeatMageSlayerName}Saving") .SetGuiPresentation(FeatMageSlayerName, Category.Feat, hidden: true) .SetUsesFixed(ActivationTime.NoCost, RechargeRate.LongRest) + .SetShowCasting(false) .AddToDB(); internal static readonly FeatDefinition FeatMageSlayer = FeatDefinitionBuilder diff --git a/SolastaUnfinishedBusiness/FightingStyles/BlessedWarrior.cs b/SolastaUnfinishedBusiness/FightingStyles/BlessedWarrior.cs new file mode 100644 index 0000000000..fba68601dd --- /dev/null +++ b/SolastaUnfinishedBusiness/FightingStyles/BlessedWarrior.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Feats; +using SolastaUnfinishedBusiness.Models; +using SolastaUnfinishedBusiness.Properties; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFightingStyleChoices; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellListDefinitions; + +namespace SolastaUnfinishedBusiness.FightingStyles; + +internal class BlessedWarrior : AbstractFightingStyle +{ + internal const string Name = "BlessedWarrior"; + + internal static readonly FeatureDefinitionCastSpell CastSpellBlessedWarrior = FeatureDefinitionCastSpellBuilder + .Create($"CastSpell{Name}") + .SetGuiPresentation(Name, Category.FightingStyle) + .SetSpellCastingOrigin(FeatureDefinitionCastSpell.CastingOrigin.Race) + .SetSpellCastingAbility(AttributeDefinitions.Charisma) + .SetSpellKnowledge(SpellKnowledge.Selection) + .SetSpellReadyness(SpellReadyness.AllKnown) + .SetSlotsRecharge(RechargeRate.LongRest) + .SetSlotsPerLevel(SharedSpellsContext.RaceEmptyCastingSlots) + .SetSpellList(SpellListCleric) + .SetKnownCantrips(2, 2, FeatureDefinitionCastSpellBuilder.CasterProgression.Flat) + .SetKnownSpells(0, FeatureDefinitionCastSpellBuilder.CasterProgression.Flat) + .SetReplacedSpells(1, 0) + .SetUniqueLevelSlots(false) + .AddCustomSubFeatures(new FeatHelpers.SpellTag(Name)) + .AddToDB(); + + internal override FightingStyleDefinition FightingStyle { get; } = FightingStyleBuilder + .Create(Name) + .SetGuiPresentation(Category.FightingStyle, Sprites.GetSprite(Name, Resources.BlessedWarrior, 256)) + .SetFeatures( + CastSpellBlessedWarrior, + FeatureDefinitionPointPoolBuilder + .Create($"PointPool{Name}") + .SetGuiPresentationNoContent(true) + .SetSpellOrCantripPool(HeroDefinitions.PointsPoolType.Cantrip, 2, SpellListCleric, + Name) + .AddToDB()) + .AddToDB(); + + internal override List FightingStyleChoice => + [ + FightingStylePaladin + ]; +} diff --git a/SolastaUnfinishedBusiness/FightingStyles/DruidicWarrior.cs b/SolastaUnfinishedBusiness/FightingStyles/DruidicWarrior.cs new file mode 100644 index 0000000000..ae66edd0cf --- /dev/null +++ b/SolastaUnfinishedBusiness/FightingStyles/DruidicWarrior.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Feats; +using SolastaUnfinishedBusiness.Models; +using SolastaUnfinishedBusiness.Properties; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFightingStyleChoices; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellListDefinitions; + +namespace SolastaUnfinishedBusiness.FightingStyles; + +internal class DruidicWarrior : AbstractFightingStyle +{ + internal const string Name = "DruidicWarrior"; + + internal static readonly FeatureDefinitionCastSpell CastSpellDruidicWarrior = FeatureDefinitionCastSpellBuilder + .Create($"CastSpell{Name}") + .SetGuiPresentation(Name, Category.FightingStyle) + .SetSpellCastingOrigin(FeatureDefinitionCastSpell.CastingOrigin.Race) + .SetSpellCastingAbility(AttributeDefinitions.Wisdom) + .SetSpellKnowledge(SpellKnowledge.Selection) + .SetSpellReadyness(SpellReadyness.AllKnown) + .SetSlotsRecharge(RechargeRate.LongRest) + .SetSlotsPerLevel(SharedSpellsContext.RaceEmptyCastingSlots) + .SetSpellList(SpellListDruid) + .SetKnownCantrips(2, 1, FeatureDefinitionCastSpellBuilder.CasterProgression.Flat) + .SetKnownSpells(0, FeatureDefinitionCastSpellBuilder.CasterProgression.Flat) + .SetReplacedSpells(1, 0) + .SetUniqueLevelSlots(false) + .AddCustomSubFeatures(new FeatHelpers.SpellTag(Name)) + .AddToDB(); + + internal override FightingStyleDefinition FightingStyle { get; } = FightingStyleBuilder + .Create(Name) + .SetGuiPresentation(Category.FightingStyle, Sprites.GetSprite(Name, Resources.DruidicWarrior, 256)) + .SetFeatures( + CastSpellDruidicWarrior, + FeatureDefinitionPointPoolBuilder + .Create($"PointPool{Name}") + .SetGuiPresentationNoContent(true) + .SetSpellOrCantripPool(HeroDefinitions.PointsPoolType.Cantrip, 2, SpellListDruid, Name) + .AddToDB()) + .AddToDB(); + + internal override List FightingStyleChoice => + [ + FightingStyleRanger + ]; +} diff --git a/SolastaUnfinishedBusiness/FodyWeavers.xml b/SolastaUnfinishedBusiness/FodyWeavers.xml new file mode 100644 index 0000000000..ebf4f5f72b --- /dev/null +++ b/SolastaUnfinishedBusiness/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/FodyWeavers.xsd b/SolastaUnfinishedBusiness/FodyWeavers.xsd new file mode 100644 index 0000000000..f2dbece789 --- /dev/null +++ b/SolastaUnfinishedBusiness/FodyWeavers.xsd @@ -0,0 +1,176 @@ + + + + + + + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + Obsolete, use UnmanagedWinX86Assemblies instead + + + + + A list of unmanaged X86 (32 bit) assembly names to include, delimited with line breaks. + + + + + Obsolete, use UnmanagedWinX64Assemblies instead. + + + + + A list of unmanaged X64 (64 bit) assembly names to include, delimited with line breaks. + + + + + A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Controls if runtime assemblies are also embedded. + + + + + Controls whether the runtime assemblies are embedded with their full path or only with their assembly name. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + The attach method no longer subscribes to the `AppDomain.AssemblyResolve` (.NET 4.x) and `AssemblyLoadContext.Resolving` (.NET 6.0+) events. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of runtime assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of runtime assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + Obsolete, use UnmanagedWinX86Assemblies instead + + + + + A list of unmanaged X86 (32 bit) assembly names to include, delimited with |. + + + + + Obsolete, use UnmanagedWinX64Assemblies instead + + + + + A list of unmanaged X64 (64 bit) assembly names to include, delimited with |. + + + + + A list of unmanaged Arm64 (64 bit) assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Info.json b/SolastaUnfinishedBusiness/Info.json index bd2946f4c4..8b535a0087 100644 --- a/SolastaUnfinishedBusiness/Info.json +++ b/SolastaUnfinishedBusiness/Info.json @@ -1,7 +1,7 @@ { "Id": "SolastaUnfinishedBusiness", "DisplayName": "[Un] Finished Business", - "Version": "1.5.97.39", + "Version": "1.5.97.40", "GameVersion": "1.5.97", "ManagerVersion": "0.24.0", "AssemblyName": "SolastaUnfinishedBusiness.dll", diff --git a/SolastaUnfinishedBusiness/Models/BootContext.cs b/SolastaUnfinishedBusiness/Models/BootContext.cs index 9d64de4d7b..68fa45149d 100644 --- a/SolastaUnfinishedBusiness/Models/BootContext.cs +++ b/SolastaUnfinishedBusiness/Models/BootContext.cs @@ -27,6 +27,7 @@ internal static void Startup() DiagnosticsContext.CacheTaDefinitions(); // Load Portraits, Translations and Resources Locator after + SpeechContext.Load(); TranslatorContext.Load(); ResourceLocatorHelper.Load(); diff --git a/SolastaUnfinishedBusiness/Models/CraftingContext.cs b/SolastaUnfinishedBusiness/Models/CraftingContext.cs index a543e13bff..2f0f62945d 100644 --- a/SolastaUnfinishedBusiness/Models/CraftingContext.cs +++ b/SolastaUnfinishedBusiness/Models/CraftingContext.cs @@ -5,7 +5,7 @@ using UnityEngine; using UnityEngine.UI; using Object = object; - + namespace SolastaUnfinishedBusiness.Models; internal static class CraftingContext diff --git a/SolastaUnfinishedBusiness/Models/DocumentationContext.cs b/SolastaUnfinishedBusiness/Models/DocumentationContext.cs index ee11ecbb1e..a619f45010 100644 --- a/SolastaUnfinishedBusiness/Models/DocumentationContext.cs +++ b/SolastaUnfinishedBusiness/Models/DocumentationContext.cs @@ -99,19 +99,6 @@ private static string GetTag(BaseDefinition definition) return definition.ContentPack == CeContentPackContext.CeContentPack ? "[UB]" : "[SOL]"; } - private static string LazyManStripXml(string input) - { - return input - .Replace("", string.Empty) - .Replace("<#57BCF4>", "\r\n\t") - .Replace("<#B5D3DE>", string.Empty) - .Replace("", string.Empty) - .Replace("", string.Empty) - .Replace("", string.Empty) - .Replace("", string.Empty) - .Replace("", string.Empty); - } - private static void DumpFeatureUnlockByLevel(StringBuilder outString, List featureUnlocks) { var level = 0; @@ -129,7 +116,7 @@ private static void DumpFeatureUnlockByLevel(StringBuilder outString, List fil { outString.AppendLine($"# {counter++}. - {klass.FormatTitle()} {GetTag(klass)}"); outString.AppendLine(); - outString.AppendLine(LazyManStripXml(klass.FormatDescription())); + outString.AppendLine(klass.FormatDescription().StripXmlTags()); outString.AppendLine(); DumpFeatureUnlockByLevel(outString, klass.FeatureUnlocks); @@ -238,7 +225,7 @@ private static void DumpSubclasses( outString.AppendLine($"## {counter++}. {title} {GetTag(subclass)}"); outString.AppendLine(); - outString.AppendLine(LazyManStripXml(subclass.FormatDescription())); + outString.AppendLine(subclass.FormatDescription().StripXmlTags()); outString.AppendLine(); DumpFeatureUnlockByLevel(outString, subclass.FeatureUnlocks); @@ -269,7 +256,7 @@ private static void DumpRaces(string groupName, Func filte outString.AppendLine($"# {counter++}. - {title} {GetTag(race)}"); outString.AppendLine(); - outString.AppendLine(LazyManStripXml(race.FormatDescription())); + outString.AppendLine(race.FormatDescription().StripXmlTags()); outString.AppendLine(); DumpFeatureUnlockByLevel(outString, race.FeatureUnlocks); @@ -332,7 +319,7 @@ x is SpellDefinition spellDefinition title = $"*{title}* \u00a9"; } - var description = LazyManStripXml(definition.FormatDescription()); + var description = definition.FormatDescription().StripXmlTags(); //TODO: refactor this out with a proper optional change description action if (definition is SpellDefinition spellDefinition) @@ -402,7 +389,7 @@ x is SpellDefinition spellDefinition finalDetails = finalDetails.Substring(0, finalDetails.Length - 2); - outString.AppendLine(LazyManStripXml(finalDetails)); + outString.AppendLine(finalDetails.StripXmlTags()); outString.AppendLine(); } @@ -433,7 +420,7 @@ private static string GetMonsterBlock([NotNull] MonsterDefinition monsterDefinit outString.AppendLine($"# {counter++}. - {monsterDefinition.FormatTitle()}"); outString.AppendLine(); - var description = LazyManStripXml(monsterDefinition.FormatDescription()); + var description = monsterDefinition.FormatDescription().StripXmlTags(); if (!string.IsNullOrEmpty(description)) { diff --git a/SolastaUnfinishedBusiness/Models/FightingStyleContext.cs b/SolastaUnfinishedBusiness/Models/FightingStyleContext.cs index fb1457b2e7..21f2224a3a 100644 --- a/SolastaUnfinishedBusiness/Models/FightingStyleContext.cs +++ b/SolastaUnfinishedBusiness/Models/FightingStyleContext.cs @@ -44,8 +44,10 @@ internal static void Load() KeepDemotedFightingStylesBackwardCompatibility(); LoadStyle(new AstralReach()); + LoadStyle(new BlessedWarrior()); LoadStyle(new BlindFighting()); LoadStyle(new Crippling()); + LoadStyle(new DruidicWarrior()); LoadStyle(new Executioner()); LoadStyle(new HandAndAHalf()); LoadStyle(new Interception()); @@ -120,20 +122,33 @@ internal static void Switch(FightingStyleDefinition fightingStyleDefinition, boo } var name = fightingStyleDefinition.Name; - var feat = DatabaseRepository.GetDatabase().GetElement($"Feat{name}"); + // Druidic and Paladin FS don't have a feat + var hasFeat = DatabaseRepository.GetDatabase().TryGetElement($"Feat{name}", out var feat); if (active) { Main.Settings.FightingStyleEnabled.TryAdd(name); - GroupFeats.FeatGroupFightingStyle.AddFeats(feat); + + if (hasFeat) + { + GroupFeats.FeatGroupFightingStyle.AddFeats(feat); + } } else { Main.Settings.FightingStyleEnabled.Remove(name); - GroupFeats.FeatGroupFightingStyle.RemoveFeats(feat); + + if (hasFeat) + { + GroupFeats.FeatGroupFightingStyle.RemoveFeats(feat); + } + } + + if (hasFeat) + { + feat.GuiPresentation.hidden = !active; } - feat.GuiPresentation.hidden = !active; GuiWrapperContext.RecacheFeats(); UpdateStyleVisibility(fightingStyleDefinition); } diff --git a/SolastaUnfinishedBusiness/Models/FixesContext.cs b/SolastaUnfinishedBusiness/Models/FixesContext.cs index 122a2629b8..f856877a29 100644 --- a/SolastaUnfinishedBusiness/Models/FixesContext.cs +++ b/SolastaUnfinishedBusiness/Models/FixesContext.cs @@ -98,6 +98,7 @@ internal static void LateLoad() ReportDashing(); FixSpikeGrowthAffectingAir(); NoTwinnedBladeCantrips(); + FixStaffOfFireToGetFireResistance(); // fix Dazzled attribute modifier UI previously displaying Daaaaal on attribute modifier AttributeModifierDazzled.GuiPresentation.title = "Feature/&AttributeModifierDazzledTitle"; @@ -112,6 +113,19 @@ private static void NoTwinnedBladeCantrips() MetamagicOptionDefinitions.MetamagicTwinnedSpell.AddCustomSubFeatures(NoTwinned.Validator); } + private static void FixStaffOfFireToGetFireResistance() + { + ItemDefinitions.StaffOfFire.StaticProperties.Add( + new ItemPropertyDescription(ItemDefinitions.RingFeatherFalling.StaticProperties[0]) + { + appliesOnItemOnly = false, + type = ItemPropertyDescription.PropertyType.Feature, + featureDefinition = DamageAffinityFireResistance, + conditionDefinition = null, + knowledgeAffinity = KnowledgeAffinity.ActiveAndHidden + }); + } + private static void InitMagicAffinitiesAndCastSpells() { // required to avoid issues on how game calculates caster / spell levels and some trace error messages @@ -926,8 +940,7 @@ public IEnumerator OnPhysicalAttackFinishedByMe( public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) { - if (action.RolledSaveThrow && - action.SaveOutcome == RollOutcome.Failure) + if (action.SaveOutcome == RollOutcome.Failure) { action.ActingCharacter.RulesetCharacter.ToggledPowersOn .Remove(PowerMonkStunningStrike.AutoActivationPowerTag); @@ -968,9 +981,11 @@ public void ModifyAdditionalDamage( ClassFeats.HandleCloseQuarters(attacker, rulesetAttacker, defender, ref damageForm); // handle rogue cunning strike feature - if (rulesetAttacker.TryGetConditionOfCategoryAndType( - TagEffect, Tabletop2024Context.ConditionReduceSneakDice.Name, - out var activeCondition)) + var conditions = new List(); + + rulesetAttacker.GetAllConditionsOfType(conditions, Tabletop2024Context.ConditionReduceSneakDice.Name); + + foreach (var activeCondition in conditions) { var newDiceNumber = Math.Max(damageForm.diceNumber - activeCondition.amount, 0); @@ -1006,7 +1021,7 @@ public void ModifyAdditionalDamage( if (rulesetAttacker.TryGetConditionOfCategoryAndType( TagEffect, RoguishSlayer.ConditionChainOfExecutionBeneficialName, - out activeCondition) && + out var activeCondition) && activeCondition.SourceGuid == rulesetAttacker.Guid) { var newDiceNumber = damageForm.DiceNumber + slayerLevels switch diff --git a/SolastaUnfinishedBusiness/Models/GrappleContext.cs b/SolastaUnfinishedBusiness/Models/GrappleContext.cs index fce1b95921..7cfd75d065 100644 --- a/SolastaUnfinishedBusiness/Models/GrappleContext.cs +++ b/SolastaUnfinishedBusiness/Models/GrappleContext.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Builders; @@ -227,9 +228,9 @@ internal static void LateLoad() } - internal static void ValidateGrappleAfterForcedMove(GameLocationCharacter target) + internal static void ValidateGrappleAfterMotion([CanBeNull] GameLocationCharacter target) { - var rulesetTarget = target.RulesetCharacter; + var rulesetTarget = target?.RulesetCharacter; if (rulesetTarget is not { IsDeadOrDying: false }) { diff --git a/SolastaUnfinishedBusiness/Models/Level20Context.cs b/SolastaUnfinishedBusiness/Models/Level20Context.cs index f4dabc0503..ae444b5f26 100644 --- a/SolastaUnfinishedBusiness/Models/Level20Context.cs +++ b/SolastaUnfinishedBusiness/Models/Level20Context.cs @@ -39,6 +39,8 @@ internal static class Level20Context internal const int ModMaxExperience = 355000; internal const int GameMaxLevel = 16; + private const string PowerSorcerousRestorationName = "PowerSorcererSorcerousRestoration"; + internal static readonly FeatureDefinitionPower PowerMonkEmptyBody = FeatureDefinitionPowerBuilder .Create("PowerMonkEmptyBody") .SetGuiPresentation(Category.Feature, Sprites.GetSprite("EmptyBody", Resources.EmptyBody, 128, 64)) @@ -119,6 +121,19 @@ internal static class Level20Context .SetUsesFixed(ActivationTime.Minute1, RechargeRate.LongRest) .AddToDB(); + internal static readonly FeatureDefinitionPower PowerSorcerousRestoration = FeatureDefinitionPowerBuilder + .Create(PowerSorcerousRestorationName) + .SetGuiPresentation("PowerSorcererSorcerousRestoration", Category.Feature) + .SetUsesFixed(ActivationTime.Rest) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Ally, RangeType.Self, 1, TargetType.Self) + .SetParticleEffectParameters(PowerWizardArcaneRecovery) + .Build()) + .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) + .AddToDB(); + internal static void Load() { BarbarianLoad(); @@ -438,6 +453,7 @@ private static void RogueLoad() .Create("PowerRogueStrokeOfLuck") .SetGuiPresentation(Category.Feature) .SetUsesFixed(ActivationTime.NoCost, RechargeRate.ShortRest) + .SetShowCasting(false) .AddToDB(); powerRogueStrokeOfLuck.AddCustomSubFeatures( @@ -454,8 +470,6 @@ private static void RogueLoad() private static void SorcererLoad() { - const string PowerSorcerousRestorationName = "PowerSorcererSorcerousRestoration"; - _ = RestActivityDefinitionBuilder .Create("RestActivitySorcererSorcerousRestoration") .SetGuiPresentation(PowerSorcerousRestorationName, Category.Feature) @@ -475,28 +489,12 @@ private static void SorcererLoad() effectFormRestoration.SpellSlotsForm.type = SpellSlotsForm.EffectType.GainSorceryPoints; effectFormRestoration.SpellSlotsForm.sorceryPointsGain = 4; - var powerSorcerousRestoration = FeatureDefinitionPowerBuilder - .Create(PowerSorcerousRestorationName) - .SetGuiPresentation("PowerSorcererSorcerousRestoration", Category.Feature) - .SetUsesFixed(ActivationTime.Rest) - .SetEffectDescription( - EffectDescriptionBuilder - .Create() - .SetEffectForms(effectFormRestoration) - .SetTargetingData( - Side.Ally, - RangeType.Self, - 1, - TargetType.Self) - .SetParticleEffectParameters(PowerWizardArcaneRecovery) - .Build()) - .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) - .AddToDB(); + PowerSorcerousRestoration.EffectDescription.EffectForms.Add(effectFormRestoration); Sorcerer.FeatureUnlocks.AddRange( new FeatureUnlockByLevel(PointPoolSorcererAdditionalMetamagic, 17), new FeatureUnlockByLevel(FeatureSetAbilityScoreChoice, 19), - new FeatureUnlockByLevel(powerSorcerousRestoration, 20) + new FeatureUnlockByLevel(PowerSorcerousRestoration, 20) ); EnumerateSlotsPerLevel( diff --git a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs index 12f6f6eaf8..19b6afe666 100644 --- a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs @@ -764,6 +764,7 @@ private static void MonkLoad() .Create(PowerTraditionSurvivalUnbreakableBody, "PowerTraditionSurvivalPhysicalPerfection") .SetGuiPresentation(Category.Feature, PowerTraditionSurvivalUnbreakableBody) .SetUsesFixed(ActivationTime.NoCost) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create(PowerTraditionSurvivalUnbreakableBody) diff --git a/SolastaUnfinishedBusiness/Models/SpeechContext.cs b/SolastaUnfinishedBusiness/Models/SpeechContext.cs new file mode 100644 index 0000000000..dcd8951d5f --- /dev/null +++ b/SolastaUnfinishedBusiness/Models/SpeechContext.cs @@ -0,0 +1,874 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Net; +using System.Runtime.InteropServices; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using HarmonyLib; +using JetBrains.Annotations; +using NAudio.Wave; +using SolastaUnfinishedBusiness.Api.LanguageExtensions; +using UnityEngine; +using Random = System.Random; + +namespace SolastaUnfinishedBusiness.Models; + +internal static class SpeechContext +{ + internal const int MaxHeroes = 6; + + private const string DefaultVoice = "No Voice"; + private const float DefaultScale = 0.8f; + + private const string VoicesURLPrefix = "https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/"; + + private const string PiperLinuxDownloadURL = + "https://github.com/rhasspy/piper/releases/download/2023.11.14-2/piper_linux_x86_64.tar.gz"; + + private const string PiperOSXDownloadURL = + "https://github.com/rhasspy/piper/releases/download/2023.11.14-2/piper_macos_x64.tar.gz"; + + private const string PiperWindowsDownloadURL = + "https://github.com/rhasspy/piper/releases/download/2023.11.14-2/piper_windows_amd64.zip"; + + private static readonly Regex RemoveNpcSpeechTags = + new(@"<[bci/].*?>|\*.+?\*|\(.+?\)|\[.+?\]|\{.+?\}", RegexOptions.Compiled); + + private static readonly string PiperFolder = + Path.Combine( + Main.ModFolder, + Path.Combine( + RuntimeInformation.IsOSPlatform(OSPlatform.Linux) + ? "piper_linux_x86_64" // linux unzips to piper_linux_x86_64/piper folder + : Path.Combine( + RuntimeInformation.IsOSPlatform(OSPlatform.OSX) + ? "piper_macos_x64" // macos unzips to piper_macos_x64/piper folder + : "."), // windows unzips to ./piper folder + "piper")); + + private static readonly string VoicesFolder = Path.Combine(Main.ModFolder, Path.Combine("..", "Voices")); + + private static readonly WaveOutEvent WaveOutEvent = new(); + + private static readonly (string, Gender)[] SuggestedVoicesUrls = + [ + ($"{VoicesURLPrefix}en/en_GB/alan/medium/en_GB-alan-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_GB/alba/medium/en_GB-alba-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_GB/aru/medium/en_GB-aru-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_GB/cori/medium/en_GB-cori-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_GB/jenny_dioco/medium/en_GB-jenny_dioco-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_GB/semaine/medium/en_GB-semaine-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_GB/vctk/medium/en_GB-vctk-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/amy/medium/en_US-amy-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/arctic/medium/en_US-arctic-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/bryce/medium/en_US-bryce-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/hfc_female/medium/en_US-hfc_female-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/hfc_male/medium/en_US-hfc_male-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/joe/medium/en_US-joe-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/john/medium/en_US-john-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/kristin/medium/en_US-kristin-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/kusal/medium/en_US-kusal-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/lessac/medium/en_US-lessac-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/libritts_r/medium/en_US-libritts_r-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/ljspeech/medium/en_US-ljspeech-medium", Gender.Female), + ($"{VoicesURLPrefix}en/en_US/norman/medium/en_US-norman-medium", Gender.Male), + ($"{VoicesURLPrefix}en/en_US/ryan/medium/en_US-ryan-medium", Gender.Male) + //("https://huggingface.co/quarterturn/kuroki_tomoko_en_piper/resolve/main/kuroki_tomoko", Gender.Female) + ]; + + private static readonly string[] FemaleNpcs = + [ + "Aristocrat_Adria", + "Aristocrat_Lyria", + "Atima_Bladeburn", + "Beryl_Stonebeard", + "Bitterroot", + "Caer_Cyflen_Guard", + "CaerCyflenCityGuard_NewEmpire_Female", + "Captain_Verissa_Ironshell", + "Ceiwad_Silverflower", + "Circe", + "Council_Trooper", + "CultistGuard", + "Daliat_Sunbird", + "DLC1_Complex_NPC_Guard_Recruit", + "DLC1_Complex_NPC_Guard_Watcher", + "DLC1_Complex_NPC_Trainer_01", + "DLC1_NPC_2_Marches_Helia_Fairblade", + "DLC1_NPC_3_Marches_Rogue_Leyrin_Catpaw", + "DLC1_NPC_Armorer_Gail_Hunt", + "DLC1_NPC_CityGuard_Captain_ThePeople04", + "DLC1_NPC_Finaliel", + "DLC1_NPC_Forge_Ravener", + "DLC1_NPC_Malariel", + "DLC1_NPC_Mask_CafrainShadow", + "DLC1_NPC_Merchant_Mask_Yasmin", + "DLC1_NPC_Rebelion_Ellaria_Anfarel", + "DLC1_NPC_Rebellion_Blue", + "DLC1_NPC_Rebellion_Red", + "DLC1_NPC_Rebellion_Sima_Temple", + "DLC1_NPC_ThePeople_Karelia", + "DLC1_NPC_ThePeople_Reya", + "DLC1_NPC_ThePeople_Rose", + "DLC1_NPC_ThePeople_Tortured", + "DLC1_NPC_Witch_Neutral", + "DLC1_Orc_Shaman_Leader", + "DLC1_Valley_NPC_Samko_Flint", + "DLC3_Berghild_StrongSpine", + "DLC3_Beryl_Stonebeard", + "DLC3_Council_Trooper_1", + "DLC3_ElvenClans_DragonbornIntermediate", + "DLC3_ElvenClans_ElfAdvisor2", + "DLC3_ElvenClans_Leralyn", + "DLC3_Gallivan_Royals_TheCousin", + "DLC3_Gallivan_Royals_TheQueen", + "DLC3_Gallivan_Suspect01", + "DLC3_Gallivan_Suspect02", + "DLC3_GarradSoldier02", + "DLC3_GarradSoldier03", + "DLC3_GarradSoldier0C", + "DLC3_Grimhild_DarkHead", + "DLC3_Kara_WiseHead", + "DLC3_Lena_Switfhand", + "DLC3_Lisbath_Townsend", + "DLC3_Misouk", + "DLC3_NPC_Crowd8_DLC3_Ending", + "DLC3_NPC_Einareum_Merchant_General", + "DLC3_NPC_Einareum_Merchant_Weapons", + "DLC3_NPC_ElvenClans_Greybear_Hunter", + "DLC3_NPC_ElvenClans_Guard", + "DLC3_NPC_ElvenClans_GuardCaptain", + "DLC3_NPC_GenericScavengerScout", + "DLC3_NPC_Helia_Fairblade", + "DLC3_NPC_HumanClans_Guard", + "DLC3_NPC_HumanClans1_DLC3_Ending", + "DLC3_NPC_HumanClansLeader", + "DLC3_NPC_Narrator_DLC3_Ending", + "DLC3_NPC_NorthernClans_Merchant_Ingredients", + "DLC3_NPC_SouthernClans_Caretaker", + "DLC3_NPC_SouthernClans_Cousin_Kaikonnen", + "DLC3_NPC_SouthernClans_Innkeeper", + "DLC3_NPC_SouthernClans_Merchant_Clan", + "DLC3_NPC_SouthernClans_Merchant_General", + "DLC3_NPC_SouthernClans_Merchant_Ingredients", + "DLC3_NPC_SouthernClans_Merchant_Scavenger", + "DLC3_NPC_WhiteCity_Guard_Captain", + "DLC3_NPC_WhiteCity_Trapper_Family_01", + "DLC3_Undermountain_EttivenGuard", + "DLC3_Undermountain_Investigation_Informant", + "DLC3_Undermountain_PerlevinnGuard_Banter", + "DLC3_Vigdis_Kaikonnen", + "DLC3_Violet_Goodcheer", + "DLC3_WhiteCity_MotherYoungDwarf", + "DLC3_WhiteCity_YoungDwarf", + "Heather_Merran", + "Hertha_Gormsdottir", + "Joriel_Foxeye", + "Kebra", + "Kythaela", + "Leira_Kean", + "Lena", + "Lisbath_Townsend", + "Maddy_Greenisle", + "Maid_Coparann", + "Mayor_Kiaradth_Bright-Spark", + "Merchant_Annie_Bagmordah", + "Merchant_Gorim_Ironsoot", + "Milan", + "Mildred_Warmhearth", + "Philosopher_Illoreth", + "Priestess_Of_Pakri_Elaine_Velasco" + ]; + + private static readonly string[] Quotes = + [ + "{Subject} does in fact use a stunt double, but only for crying scenes.", + "{Subject} doesn't flush the toilet, he scares the crap out of it.", + "{Subject} went skydiving and his parachute didn't open, he took it back for a refund.", + "{Subject} was awarded the Nobel Peace Prize, for letting so many people live.", + "{Subject}'s computer doesn't have a backspace key.", + "{Subject} once had a fight with Superman. The loser had to wear his underpants on the outside.", + "{Subject} once won a game of Connect Four in three moves.", + "{Subject} can make sticks by rubbing two fires together.", + "{Subject} once took a lie detector test. The machine confessed everything.", + "{Subject} can fold airplanes into paper.", + "{Subject} has no chin, under his beard is just another fist with an equally powerful beard.", + "{Subject} can gargle peanut butter.", + "{Subject} picked an apple from an orange tree and made lemonade.", + "{Subject} is so fast he can run around the world and punch himself in the back of the head.", + "{Subject} can put a plane in reverse.", + "{Subject} is able to build a snowman out of water.", + "{Subject} didn't call the wrong number, you answered the wrong phone.", + "{Subject} didn't cheat death, he won fairly and squarely.", + "{Subject} walked into chemistry class and ripped the Periodic Table of Elements off of the wall. Why? Because the only element {Subject} needs is the element of surprise.", + "{Subject} once wrestled a bear, an alligator, and a tiger all at once. He won by tying them together with an anaconda.", + "{Subject} was once bitten by a poisonous snake. And after a week of excruciating pain, the snake died.", + "There are no streets named after {Subject} because no one would ever cross {Subject}", + "{Subject}'s mother tried to have an abortion. The procedure resulted in the doctor being knocked unconscious by {Subject}.", + "When alexander graham bell first invented the telephone he had three missed calls from {Subject}", + "{Subject} doesn't worry about gas prices, his vehicles run on fear.", + "{Subject} doesn't pay taxes, taxes pay {Subject}.", + "{Subject} once had an arm wrestling contest with superman. I'm not going to say who won, but the loser had to wear his underwear on the outside for the rest of his life.", + "When {Subject} was born the doctor asked him to name his parents.", + "The laws of physics always bend the rules for {Subject}.", + "{Subject} didn't get a Covid-19 vaccine. Covid-19 got a {Subject} vaccine.", + "{Subject} eats his meat so rare that he only eats unicorns and dragons.", + "{Subject} once played Russian Roulette with a fully loaded gun and won.", + "Whenever {Subject} peels onions, the onions always cry.", + "{Subject} can pull a wheelie when riding a unicycle.", + "{Subject} was born with two umbilical cords, one red and one blue. The bomb squad cut the wrong cord.", + "{Subject} makes a lot of money selling his urine, it is called Red Bull.", + "{Subject} is able to slam a revolving door.", + "The day after {Subject} was born he drove his mother home, he wanted her to get some rest.", + "{Subject} built the hospital that he was born in.", + "{Subject} knows exactly what to do with the drunken sailors early in the morning.", + "{Subject} played a game of rock, paper scissors against his reflection, and won.", + "When {Subject} went to Burger King and ordered a big mac, they made it for him, perfectly.", + "The Swiss Army uses {Subject} Knives.", + "A condom puts on protection to avoid becoming impregnated by {Subject} on date night.", + "{Subject} is able to start a fire using an extinguisher.", + "{Subject} doesn't need to throw out the trash, it always throws itself out.", + "{Subject} has to carry a concealed weapons permit when he wears his regular clothes.", + "When {Subject} once roundhouse kicked a coal mine and turned it into a diamond mine.", + "{Subject} doesn't strike gold, gold is the byproduct of {Subject} roundhouse kicking rocks.", + "When {Subject} lifts weights, the weights get in shape.", + "{Subject} is able to strangle people using a cordless phone.", + "{Subject} is the reason that Wally is always hiding.", + "When {Subject} falls from a great height, the ground has it's life flash before it's eyes.", + "When {Subject} enters a building that is on fire, the {Subject} alarm rings.", + "When Thanos snapped his fingers he disappeared. {Subject} doesn't like snapping.", + "The sun has to wear sunglasses when {Subject} glances at it.", + "When {Subject} looked into the abyss, the abyss looked the other way.", + "The Grand Canyon was formed when {Subject} was doing a triathlon.", + "Bigfoot is still hiding because he once saw {Subject} walking in the mountains.", + "When {Subject} drops the soap in prison, he picks it up successfully.", + "The Loch Ness Monster claims to have seen {Subject}.", + "{Subject} can drink a whole glass of beer. Yep, even the glass.", + "When {Subject} uses the internet he can skip ads whenever he wants, ads are not able to skip {Subject}.", + "{Subject} doesn't negotiate with terrorists.", + "The terrorists negotiate with {Subject}.", + "{Subject} won an arm wrestling tournament, with both arms tied behind his back.", + "{Subject} got a divorce and was asked to give half his assets and property away. {Subject} proceeded to chop the entire universe in half with his bare hands.", + "The Flash discovered how to run at the speed of light when he discovered {Subject} was looking for him.", + "When {Subject} goes bowling he doesn't get every pin with a single bowl he gets every pin in the bowling alley.", + "The reason why people say it's pointless for Trump to build a wall is because {Subject} walks to Mexico and back once a month.", + "Ghosts tell {Subject} stories at the campfire.", + "{Subject} mines bitcoin with a pen and paper.", + "When {Subject} goes to a restaurant, the waiter tips him.", + "Tornadoes don't exist, {Subject} just really doesn't like trailer parks.", + "{Subject} was born May 6th 1945. The Nazis surrendered May 7th 1945, this is not a coincidence.", + "{Subject} has counted to infinity more than once. Then he counted backward from infinity.", + "{Subject} has a bear rug on his lounge floor. The bear is still alive, it is just afraid to move.", + "{Subject} doesn't go to the gym, instead he goes shop lifting.", + "If {Subject} was on The Titanic the iceberg would have dodged the ship.", + "{Subject} is able to make other people walk in his sleep.", + "{Subject} once raced the earth around the sun and won by three years.", + "{Subject} was asked to fire someone once, that is how hell was invented.", + "When {Subject} jumps on the Tempur-Pedic mattress, the wine glass falls over.", + "When {Subject} was a child at school, his teachers would raise their hands in order to talk to him.", + "When {Subject}'s parents had nightmares, they would come to his bedroom.", + "When {Subject} crosses the road, vehicles look both ways.", + "{Subject} once missed two days of school. Those two days are now called the weekend.", + "{Subject} doesn't pop his collar, his shirts are stimulated from touching his shoulders.", + "{Subject} once threw a grenade and killed 100 men, after that the grenade exploded.", + "{Subject} was able to smell a gas leak before they added the scent to gas.", + "{Subject} has a diary, it is called the Guinness Book Of World Records.", + "Hi there, I heard that you are a huge fan of when {Subject} does push ups the earth moves, we call this phenomenon an earthquakes.", + "{Subject} uses pepper spray to season his meat.", + "{Subject} is able to sketch your portrait using an eraser.", + "The dinosaurs once looked at {Subject} the wrong way, that is why we no longer have dinosaurs.", + "{Subject} had a staring competition with the sun and won.", + "{Subject} once spun a ball on his finger, to this day planet earth continues to turn.", + "{Subject} doesn't climb trees, he just pushed them over and walks over them.", + "{Subject} can kill 2 stones with one bird.", + "{Subject} doesn't need to wear a watch, he simply decides what time it is." + ]; + + private static readonly Random Quoteziner = new(); + + private static readonly List AvailableFemaleVoices = []; + + private static readonly List AvailableMaleVoices = []; + + private static readonly Dictionary CampaignVoices = []; + + internal static readonly string[] Choices = new List { "Narrator" } + .Union(Enumerable.Range(1, MaxHeroes).Select(n => $"Hero {n}")).ToArray(); + + internal static string[] VoiceNames { get; private set; } + + internal static void Load() + { + InitPiper(); + RefreshAvailableVoices(); + InitVoiceAssignments(); + UpdateAvailableVoices(); + } + + private static void InitPiper() + { + if (!Directory.Exists(VoicesFolder)) + { + Directory.CreateDirectory(VoicesFolder); + } + + string url; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + url = PiperLinuxDownloadURL; + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + url = PiperOSXDownloadURL; + } + else + { + url = PiperWindowsDownloadURL; + } + + var message = "Piper successfully downloaded."; + var filename = Path.GetFileName(url); + var fullZipFile = Path.Combine(Main.ModFolder, filename); + using var wc = new WebClient(); + + try + { + if (Directory.Exists(PiperFolder)) + { + message = "Piper already exists."; + } + else + { + wc.DownloadFile(url, fullZipFile); + ZipFile.ExtractToDirectory(fullZipFile, Main.ModFolder); + File.Delete(fullZipFile); + + if (!TryGetExecutablePath(out _)) + { + message = "Piper successfully downloaded but failed to extract executable."; + } + } + } + catch + { + message = "Cannot download Piper."; + } + + Main.Info(message); + } + + internal static void RefreshAvailableVoices() + { + var voices = new DirectoryInfo(VoicesFolder) + .GetFiles("*.onnx").Select(x => x.Name.Replace(".onnx", string.Empty)); + + VoiceNames = new List { DefaultVoice }.Union(voices).ToArray(); + } + + private static void InitVoiceAssignments() + { + // remove any invalid key + Main.Settings.SpeechVoices.Keys + .Where(x => x is < 0 or > MaxHeroes) + .Do(x => Main.Settings.SpeechVoices.Remove(x)); + + for (var i = 0; i <= MaxHeroes; i++) + { + Main.Settings.SpeechVoices.TryAdd(i, (DefaultVoice, DefaultScale)); + + if (!VoiceNames.Contains(Main.Settings.SpeechVoices[i].Item1)) + { + Main.Settings.SpeechVoices[i] = (DefaultVoice, DefaultScale); + } + } + } + + internal static void UpdateAvailableVoices() + { + var assignedVoices = Main.Settings.SpeechVoices.Values.Select(x => x.Item1).Distinct().ToArray(); + + AvailableFemaleVoices.SetRange( + VoiceNames + .Where(x => + x != DefaultVoice && + !assignedVoices.Contains(x) && + SuggestedVoicesUrls + .Any(y => y.Item1.Contains(x) && y.Item2 == Gender.Female))); + + AvailableMaleVoices.SetRange( + VoiceNames + .Where(x => + x != DefaultVoice && + !assignedVoices.Contains(x) && + SuggestedVoicesUrls + .Any(y => y.Item1.Contains(x) && y.Item2 == Gender.Male))); + } + + internal static void CollectCustomCampaignVoiceData() + { + const string NARRATOR = "NARRATOR"; + const string UB_VOICE_DATA = "UB_VOICE_DATA"; + + if (!Gui.Game.CampaignDefinition.IsUserCampaign) + { + return; + } + + CampaignVoices.Clear(); + + var userCampaign = Gui.Session.UserCampaign; + var voiceData = userCampaign?.UserItems?.FirstOrDefault(x => + x.ReferenceItemDefinition.IsDocument && + x.DocumentFragments is { Count: > 0 } && + x.InternalName == UB_VOICE_DATA); + + if (voiceData == null) + { + Main.Info("No voice data found."); + + return; + } + + foreach (var fragment in voiceData.DocumentFragments) + { + var arr = fragment.Split(','); + + if (arr.Length is < 2 or > 3) + { + Main.Info($"Failed to parse voice data: [{fragment}]"); + continue; + } + + var npc = arr[0]; + var voice = arr[1]; + var scale = DefaultScale; + + if (arr.Length == 3) + { + try + { + scale = float.Parse(arr[2]); + } + catch (FormatException ex) + { + Main.Info($"Failed to parse voice scale data: [{fragment}] {ex.Message}"); + scale = DefaultScale; + } + } + + if (scale < 0.5 || scale > 2) + { + Main.Info($"Failed to validate scale range: [{fragment}]"); + scale = DefaultScale; + } + + if (!VoiceNames.Contains(voice)) + { + Main.Info( + $"voice definition on campaign {userCampaign.DisplayTitle}, fragment [{fragment}], was not found"); + + continue; + } + + if (npc == NARRATOR || + userCampaign.UserNpcs.Any(x => x.InternalName == npc)) + { + CampaignVoices.AddOrReplace(npc, (voice, scale)); + } + else + { + Main.Info( + $"NPC definition on campaign {userCampaign.DisplayTitle}, fragment [{fragment}], was not found"); + } + } + } + + internal static void ShutUp() + { + WaveOutEvent.Stop(); + } + + private static string StripXmlTagsAndNarration(string str) + { + return RemoveNpcSpeechTags.Replace(str, string.Empty); + } + + private static bool TryGetExecutablePath(out string executablePath) + { + var executable = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "piper.exe" : "piper"; + + executablePath = Path.Combine(PiperFolder, executable); + + return File.Exists(executablePath); + } + + internal static void SpeakQuote() + { + var quoteNumber = Quoteziner.Next(0, Quotes.Length); + var subjects = new[] { "Chuck Norris", "Zappa" }; + var subject = subjects[Quoteziner.Next(0, subjects.Length)]; + var quote = Quotes[quoteNumber].Replace("{Subject}", subject); + + Speak(quote, Main.Settings.SpeechChoice, false); + } + + internal static void Speak(string inputText, GameLocationCharacter character) + { + var index = Gui.Game.GameCampaign.Party.CharactersList + .FindIndex(x => x.RulesetCharacter == character.RulesetCharacter); + + if (index < 0) + { + return; + } + + Speak(inputText, index + 1); + } + + // heroId zero is the Narrator and 1-6 map to heroes in party + internal static async void Speak(string inputText, int heroId, bool forceUseCampaign = true) + { + try + { + ShutUp(); + + // only if audio enabled + var audioSettingsService = ServiceRepository.GetService(); + + if (!audioSettingsService.MasterEnabled) + { + return; + } + + if (!Main.Settings.EnableSpeech || heroId < 0 || heroId > MaxHeroes) + { + return; + } + + // only custom campaigns + if (forceUseCampaign) + { + // unity life check... + if (Gui.GameCampaign) + { + if (!Gui.GameCampaign.campaignDefinition.IsUserCampaign) + { + return; + } + } + } + + if (!TryGetExecutablePath(out var executablePath)) + { + return; + } + + string voice; + float scale; + + if (!Main.Settings.ForceModSpeechOnNpcs && + CampaignVoices.TryGetValue("NARRATOR", out var voiceData)) + { + (voice, scale) = voiceData; + } + else + { + (voice, scale) = Main.Settings.SpeechVoices[heroId]; + } + + if (voice == DefaultVoice) + { + return; + } + + var task = Task.Run(async () => await GetPiperTask(executablePath, voice, scale, inputText)); + + PlaySpeech(audioSettingsService, await task); + } + catch (Exception e) + { + Main.Error(e); + } + } + + internal static async void SpeakNpc(string inputText, GameLocationCharacter character) + { + try + { + ShutUp(); + + // only if audio enabled + var audioSettingsService = ServiceRepository.GetService(); + + if (!audioSettingsService.MasterEnabled) + { + return; + } + + if (!Main.Settings.EnableSpeechOnNpcs) + { + return; + } + + // only custom campaigns + // unity life check... + if (Gui.GameCampaign) + { + if (!Gui.GameCampaign.campaignDefinition.IsUserCampaign) + { + return; + } + } + + if (!TryGetExecutablePath(out var executablePath)) + { + return; + } + + if (character.RulesetCharacter is not RulesetCharacterMonster rulesetCharacterMonster) + { + return; + } + + var internalName = rulesetCharacterMonster.MonsterDefinition.Name; + var scale = 1f; + var voice = DefaultVoice; + + if (!Main.Settings.ForceModSpeechOnNpcs && + CampaignVoices.TryGetValue(internalName, out var voiceData)) + { + (voice, scale) = voiceData; + } + + if (Main.Settings.ForceModSpeechOnNpcs || + CampaignVoices.Count == 0) + { + // assign dub data on a round-robin basis for campaigns without it + var userNpc = Gui.Session.UserCampaign.UserNpcs.FirstOrDefault(x => x.InternalName == internalName); + + if (userNpc == null) + { + return; + } + + var npcId = Gui.Session.UserCampaign.UserNpcs.IndexOf(userNpc); + + if (npcId < 0) + { + return; + } + + switch (FemaleNpcs.Contains(internalName)) + { + case true when AvailableFemaleVoices.Count > 0: + { + voice = AvailableFemaleVoices[npcId % AvailableFemaleVoices.Count]; + break; + } + case false when AvailableMaleVoices.Count > 0: + { + voice = AvailableMaleVoices[npcId % AvailableMaleVoices.Count]; + break; + } + default: + return; + } + + scale = Main.Settings.SpeechVoices[0].Item2; + } + + if (voice == DefaultVoice) + { + return; + } + + var task = Task.Run(async () => await GetPiperTask(executablePath, voice, scale, inputText)); + + PlaySpeech(audioSettingsService, await task); + } + catch (Exception e) + { + Main.Error(e); + } + } + + private static void PlaySpeech(IAudioSettingsService audioSettingsService, MemoryStream audioStream) + { + using var waveStream = new RawSourceWaveStream(audioStream, new WaveFormat(22050, 1)); + + waveStream.Position = 0; + + WaveOutEvent.Init(waveStream); + WaveOutEvent.Volume = audioSettingsService.MasterVolume * audioSettingsService.VoicesVolume; + WaveOutEvent.Play(); + } + + private static async Task GetPiperTask( + string executablePath, string voiceName, float scale, string inputText) + { + var audioStream = new MemoryStream(); + var buffer = new byte[16384]; + var modelFileName = Path.Combine(VoicesFolder, voiceName + ".onnx"); + var piper = new Process(); + int bytesRead; + + piper.StartInfo.FileName = executablePath; + piper.StartInfo.Arguments = $"--model \"{modelFileName}\" --length_scale {scale:F} --output-raw"; + piper.StartInfo.UseShellExecute = false; + piper.StartInfo.CreateNoWindow = true; + piper.StartInfo.RedirectStandardInput = true; + piper.StartInfo.RedirectStandardOutput = true; + piper.Start(); + + using var writer = piper.StandardInput; + + await writer.WriteAsync(StripXmlTagsAndNarration(inputText)); + writer.Close(); + + while ((bytesRead = await piper.StandardOutput.BaseStream.ReadAsync(buffer, 0, buffer.Length)) > 0) + { + audioStream.Write(buffer, 0, bytesRead); + } + + return audioStream; + } + + private enum Gender { Male, Female } + + internal sealed class VoicesDownloader : MonoBehaviour + { + private static VoicesDownloader _shared; + private IEnumerator _coroutine; + + private float _progress; + + [NotNull] + internal static VoicesDownloader Shared + { + get + { + if (_shared) + { + return _shared; + } + + _shared = new GameObject().AddComponent(); + DontDestroyOnLoad(_shared.gameObject); + + _shared._coroutine = null; + + return _shared; + } + } + + internal string GetButtonLabel() + { + return _coroutine != null + ? Gui.Format("ModUi/&DownloadVoiceOngoing", $"{_progress:00.0%}").Bold().Khaki() + : Gui.Localize("ModUi/&DownloadVoice"); + } + + private void UpdateProgress(ref int loaded, int total) + { + if (total <= 0) + { + _progress = 0.0f; + return; + } + + _progress = loaded++ / (float)total; + } + + private IEnumerator DownloadVoicesImpl() + { + if (!Directory.Exists(VoicesFolder)) + { + Directory.CreateDirectory(VoicesFolder); + } + + var current = 0; + var total = SuggestedVoicesUrls.Length; + + foreach (var (voice, _) in SuggestedVoicesUrls) + { + yield return null; + + UpdateProgress(ref current, total); + DownloadVoice(voice); + } + + RefreshAvailableVoices(); + StopCoroutine(_coroutine); + _coroutine = null; + _progress = 0f; + } + + internal void DownloadVoices() + { + if (_coroutine != null) + { + return; + } + + _progress = 0f; + _coroutine = DownloadVoicesImpl(); + StartCoroutine(_coroutine); + } + + private static void DownloadVoice(string voice) + { + using var wc = new WebClient(); + + var message = $"Voice {voice} successfully downloaded"; + var model = $"{voice}.onnx"; + var modelFilename = Path.GetFileName(model); + var fullModelFilename = Path.Combine(VoicesFolder, modelFilename); + var modelUrl = $"{model}?download=true"; + + try + { + if (!File.Exists(fullModelFilename)) + { + wc.DownloadFile(modelUrl, fullModelFilename); + + var json = $"{voice}.onnx.json"; + var jsonFilename = Path.GetFileName(json); + var fullJsonFilename = Path.Combine(VoicesFolder, jsonFilename); + var jsonUrl = $"{json}?download=true"; + + var voiceNames = VoiceNames; + + Array.Resize(ref voiceNames, VoiceNames.Length + 1); + VoiceNames = voiceNames; + VoiceNames[VoiceNames.Length - 1] = Path.GetFileName(voice); + + if (!File.Exists(fullJsonFilename)) + { + wc.DownloadFile(jsonUrl, fullJsonFilename); + } + else + { + message = $"Voice settings {voice} already exists."; + } + } + else + { + message = $"Voice {voice} already exists."; + } + } + catch + { + message = $"Cannot download voice {voice}."; + } + + Main.Info(message); + } + } +} diff --git a/SolastaUnfinishedBusiness/Models/SpellsContext.cs b/SolastaUnfinishedBusiness/Models/SpellsContext.cs index a8e0983562..e9d793c457 100644 --- a/SolastaUnfinishedBusiness/Models/SpellsContext.cs +++ b/SolastaUnfinishedBusiness/Models/SpellsContext.cs @@ -44,6 +44,7 @@ internal static class SpellsContext internal static readonly SpellDefinition AirBlast = BuildAirBlast(); internal static readonly SpellDefinition AshardalonStride = BuildAshardalonStride(); internal static readonly SpellDefinition AuraOfLife = BuildAuraOfLife(); + internal static readonly SpellDefinition AuraOfVitality = BuildAuraOfVitality(); internal static readonly SpellDefinition BanishingSmite = BuildBanishingSmite(); internal static readonly SpellDefinition BindingIce = BuildBindingIce(); internal static readonly SpellDefinition BlessingOfRime = BuildBlessingOfRime(); @@ -80,7 +81,7 @@ internal static class SpellsContext internal static readonly SpellDefinition WrathfulSmite = BuildWrathfulSmite(); private static SpellDefinition ConjureElementalInvisibleStalker { get; set; } - internal static HashSet Spells { get; private set; } = []; + internal static List Spells { get; private set; } = []; [NotNull] internal static SortedList SpellLists @@ -300,6 +301,7 @@ internal static void LateLoad() RegisterSpell(BuildMagnifyGravity(), 0, SpellListWizard); RegisterSpell(BuildMule(), 0, SpellListBard, SpellListSorcerer, SpellListWarlock, SpellListWizard); RegisterSpell(BuildRadiantMotes(), 0, SpellListWizard, spellListInventorClass); + RegisterSpell(BuildRayOfSickness(), 0, SpellListSorcerer, SpellListWizard); RegisterSpell(BuildSanctuary(), 0, SpellListCleric, spellListInventorClass); RegisterSpell(SearingSmite, 0, SpellListPaladin, SpellListRanger); RegisterSpell(BuildSkinOfRetribution(), 0, SpellListWarlock); @@ -334,7 +336,7 @@ internal static void LateLoad() RegisterSpell(BuildAdderFangs(), 0, SpellListDruid, SpellListRanger, SpellListSorcerer, SpellListWarlock); RegisterSpell(AshardalonStride, 0, SpellListRanger, SpellListSorcerer, SpellListWizard, spellListInventorClass); - RegisterSpell(BuildAuraOfVitality(), 0, SpellListCleric, SpellListPaladin); + RegisterSpell(AuraOfVitality, 0, SpellListCleric, SpellListPaladin); RegisterSpell(BlindingSmite, 0, SpellListPaladin); RegisterSpell(BuildBoomingStep(), 0, SpellListSorcerer, SpellListWarlock, SpellListWizard); RegisterSpell(CorruptingBolt, 0, SpellListSorcerer, SpellListWarlock, SpellListWizard); @@ -477,7 +479,7 @@ private static void RegisterSpell( int suggestedStartsAt = 0, params SpellListDefinition[] registeredSpellLists) { - if (!Spells.Add(spellDefinition)) + if (!Spells.TryAdd(spellDefinition)) { return; } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 9cbf500be4..05ffbb6e9c 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using HarmonyLib; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; @@ -13,7 +14,6 @@ using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; using SolastaUnfinishedBusiness.Properties; -using SolastaUnfinishedBusiness.Spells; using SolastaUnfinishedBusiness.Subclasses; using SolastaUnfinishedBusiness.Subclasses.Builders; using SolastaUnfinishedBusiness.Validators; @@ -26,6 +26,7 @@ using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionDieRollModifiers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionRestHealingModifiers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.ActionDefinitions; @@ -151,6 +152,18 @@ internal static class Tabletop2024Context private static readonly List GuidanceSubSpells = []; + private static readonly ConditionDefinition ConditionSorcererInnateSorcery = ConditionDefinitionBuilder + .Create("ConditionSorcererInnateSorcery") + .SetGuiPresentation(Category.Condition, ConditionAuraOfCourage) + .SetFeatures( + FeatureDefinitionMagicAffinityBuilder + .Create("MagicAffinitySorcererInnateSorcery") + .SetGuiPresentation("PowerSorcererInnateSorcery", Category.Feature) + .SetCastingModifiers(0, SpellParamsModifierType.None, 1) + .AddToDB()) + .AddCustomSubFeatures(new ModifyAttackActionModifierInnateSorcery()) + .AddToDB(); + private static readonly FeatureDefinitionPower PowerSorcererInnateSorcery = FeatureDefinitionPowerBuilder .Create("PowerSorcererInnateSorcery") .SetGuiPresentation(Category.Feature, PowerTraditionShockArcanistGreaterArcaneShock) @@ -160,22 +173,41 @@ internal static class Tabletop2024Context .Create() .SetDurationData(DurationType.Minute, 1) .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) - .SetEffectForms(EffectFormBuilder.ConditionForm( - ConditionDefinitionBuilder - .Create("ConditionSorcererInnateSorcery") - .SetGuiPresentation(Category.Condition, ConditionAuraOfCourage) - .SetFeatures( - FeatureDefinitionMagicAffinityBuilder - .Create("MagicAffinitySorcererInnateSorcery") - .SetGuiPresentation("PowerSorcererInnateSorcery", Category.Feature) - .SetCastingModifiers(0, SpellParamsModifierType.None, 1) - .AddToDB()) - .AddCustomSubFeatures(new ModifyAttackActionModifierInnateSorcery()) - .AddToDB())) + .SetEffectForms(EffectFormBuilder.ConditionForm(ConditionSorcererInnateSorcery)) .SetCasterEffectParameters(PowerSorcererDraconicElementalResistance) .Build()) + .AddCustomSubFeatures(new ValidatorsValidatePowerUse(c => + c.GetClassLevel(Sorcerer) < 7 || c.GetRemainingPowerUses(PowerSorcererInnateSorcery) > 0)) + .AddToDB(); + + private static readonly FeatureDefinitionPower PowerSorcererSorceryIncarnate = FeatureDefinitionPowerBuilder + .Create(PowerSorcererInnateSorcery, "PowerSorcererSorceryIncarnate") + .SetUsesFixed(ActivationTime.BonusAction, RechargeRate.SorceryPoints, 2, 0) + .AddCustomSubFeatures(new ValidatorsValidatePowerUse(c => + c.GetClassLevel(Sorcerer) >= 7 && c.GetRemainingPowerUses(PowerSorcererInnateSorcery) == 0)) + .AddToDB(); + + private static readonly FeatureDefinitionFeatureSet FeatureSetSorcererSorceryIncarnate = + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetSorcererSorceryIncarnate") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet(PowerSorcererSorceryIncarnate) + .AddToDB(); + + private static readonly ConditionDefinition ConditionArcaneApotheosis = ConditionDefinitionBuilder + .Create("ConditionArcaneApotheosis") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFixedAmount(0) .AddToDB(); + private static readonly FeatureDefinition FeatureSorcererArcaneApotheosis = + FeatureDefinitionBuilder + .Create("FeatureSorcererArcaneApotheosis") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new CustomBehaviorArcaneApotheosis()) + .AddToDB(); + private static readonly FeatureDefinitionPower FeatureDefinitionPowerNatureShroud = FeatureDefinitionPowerBuilder .Create("PowerRangerNatureShroud") .SetGuiPresentation(Category.Feature, Invisibility) @@ -198,10 +230,12 @@ internal static class Tabletop2024Context .SetSpecialInterruptions(ConditionInterruption.SavingThrow) .AddToDB(); - private static readonly InvocationDefinition InvocationPactBlade = InvocationDefinitionBuilder + internal static readonly InvocationDefinition InvocationPactBlade = InvocationDefinitionBuilder .Create("InvocationPactBlade") .SetGuiPresentation(FeatureSetPactBlade.GuiPresentation) .SetGrantedFeature(FeatureSetPactBlade) + .AddCustomSubFeatures( + new CanUseAttribute(AttributeDefinitions.Charisma, PatronSoulBlade.CanWeaponBeEmpowered)) .AddToDB(); private static readonly InvocationDefinition InvocationPactChain = InvocationDefinitionBuilder @@ -258,12 +292,13 @@ internal static class Tabletop2024Context .Create("ConditionTrueStrike2024") .SetGuiPresentationNoContent(true) .SetSilent(Silent.WhenAddedOrRemoved) + .SetSpecialDuration() .SetFeatures( FeatureDefinitionAdditionalDamageBuilder .Create("AdditionalDamageTrueStrike") .SetGuiPresentationNoContent(true) .SetNotificationTag("TrueStrike") - .SetRequiredProperty(RestrictedContextRequiredProperty.MeleeWeapon) + .SetRequiredProperty(RestrictedContextRequiredProperty.Weapon) .SetDamageDice(DieType.D6, 0) .SetSpecificDamageType(DamageTypeRadiant) .SetAdvancement( @@ -277,16 +312,88 @@ internal static class Tabletop2024Context .AddCustomSubFeatures(new ModifyAttackActionModifierTrueStrike()) .AddToDB(); + private static readonly EffectForm EffectFormPowerWordStunStopped = EffectFormBuilder + .Create() + .SetFilterId(1) + .SetConditionForm( + ConditionDefinitionBuilder + .Create(CustomConditionsContext.StopMovement, "ConditionPowerWordStunStopped") + .SetSpecialDuration(DurationType.Round, 0, TurnOccurenceType.StartOfTurn) + .AddToDB(), + ConditionForm.ConditionOperation.Add) + .Build(); + + private static readonly FeatureDefinition FeatureFighterTacticalMind = FeatureDefinitionBuilder + .Create("FeatureFighterTacticalMind") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new TryAlterOutcomeAttributeCheckTacticalMind()) + .AddToDB(); + + private static readonly FeatureDefinition FeatureFighterTacticalShift = FeatureDefinitionBuilder + .Create("FeatureFighterTacticalShift") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + private static readonly ConditionDefinition ConditionStudiedAttacks = ConditionDefinitionBuilder + .Create("ConditionStudiedAttacks") + .SetGuiPresentation(Category.Condition, ConditionMarkedByHunter) + .SetConditionType(ConditionType.Detrimental) + .AddCustomSubFeatures(new PhysicalAttackFinishedOnMeStudiedAttacks()) + .SetPossessive() + .AddToDB(); + + private static readonly FeatureDefinitionCombatAffinity CombatAffinityStudiedAttacks = + FeatureDefinitionCombatAffinityBuilder + .Create("CombatAffinityStudiedAttacks") + .SetGuiPresentation("Condition/&ConditionStudiedAttacksTitle", Gui.NoLocalization) + .SetSituationalContext( + (SituationalContext)ExtraSituationalContext.IsConditionSource, ConditionStudiedAttacks) + .SetAttackOnMeAdvantage(AdvantageType.Advantage) + .AddToDB(); + + private static readonly FeatureDefinition FeatureFighterStudiedAttacks = FeatureDefinitionBuilder + .Create("FeatureFighterStudiedAttacks") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new PhysicalAttackFinishedByMeStudiedAttacks()) + .AddToDB(); + + internal static readonly FeatureDefinition FeatureMemorizeSpell = FeatureDefinitionBuilder + .Create("FeatureWizardMemorizeSpell") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + private static readonly RestActivityDefinition RestActivityMemorizeSpell = RestActivityDefinitionBuilder + .Create("RestActivityMemorizeSpell") + .SetGuiPresentation("FeatureWizardMemorizeSpell", Category.Feature) + .SetRestData( + RestDefinitions.RestStage.AfterRest, + RestType.ShortRest, + RestActivityDefinition.ActivityCondition.CanPrepareSpells, + nameof(FunctorMemorizeSpell), + string.Empty) + .AddToDB(); + + private static readonly ConditionDefinition ConditionMemorizeSpell = ConditionDefinitionBuilder + .Create("ConditionMemorizeSpell") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFixedAmount(0) + .AddToDB(); + internal static void LateLoad() { BuildBarbarianBrutalStrike(); BuildOneDndGuidanceSubspells(); BuildRogueCunningStrike(); + LoadFighterTacticalShiftCustomBehavior(); + LoadFighterStudiedAttacks(); LoadMonkHeightenedMetabolism(); LoadSecondWindToUseOneDndUsagesProgression(); LoadOneDndEnableBardCounterCharmAsReactionAtLevel7(); + LoadOneDndSpellSpareTheDying(); LoadOneDndTrueStrike(); LoadSorcerousRestorationAtLevel5(); + LoadWizardMemorizeSpell(); SwitchBarbarianBrutalCritical(); SwitchBarbarianBrutalStrike(); SwitchBarbarianRecklessSameBuffDebuffDuration(); @@ -295,6 +402,8 @@ internal static void LateLoad() SwitchDruidWeaponProficiencyToUseOneDnd(); SwitchSpellRitualOnAllCasters(); SwitchFighterLevelToIndomitableSavingReroll(); + SwitchFighterStudiedAttacks(); + SwitchFighterTacticalProgression(); SwitchMonkBodyAndMindToReplacePerfectSelf(); SwitchMonkDoNotRequireAttackActionForBonusUnarmoredAttack(); SwitchMonkDoNotRequireAttackActionForFlurry(); @@ -320,21 +429,28 @@ internal static void LateLoad() SwitchOneDndSpellDivineFavor(); SwitchOneDndSpellLesserRestoration(); SwitchOneDndSpellGuidance(); + SwitchOneDndSpellHideousLaughter(); + SwitchOneDndSpellHuntersMark(); SwitchOneDndSpellMagicWeapon(); - SwitchOneDndSpellPowerWordKill(); + SwitchOneDndSpellPowerWordStun(); + SwitchOneDndSpellSpareTheDying(); + SwitchOneDndSpellSpiderClimb(); SwitchOneDndSpellStoneSkin(); SwitchOneDndSurprisedEnforceDisadvantage(); + SwitchSorcererArcaneApotheosis(); SwitchSorcererInnateSorcery(); SwitchSorcerousRestorationAtLevel5(); SwitchWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20(); SwitchOneDndWarlockPatronLearningLevel(); SwitchOneDndWarlockInvocationsProgression(); + SwitchOneDndWizardMemorizeSpell(); SwitchOneDndWizardScholar(); SwitchOneDndWizardSchoolOfMagicLearningLevel(); SwitchPersuasionToFighterSkillOptions(); SwitchRangerNatureShroud(); SwitchRogueBlindSense(); SwitchRogueCunningStrike(); + SwitchRogueReliableTalent(); SwitchRogueSlipperyMind(); SwitchRogueSteadyAim(); SwitchSecondWindToUseOneDndUsagesProgression(); @@ -342,7 +458,6 @@ internal static void LateLoad() private static void LoadSecondWindToUseOneDndUsagesProgression() { - PowerFighterSecondWind.fixedUsesPerRecharge = 0; PowerFighterSecondWind.AddCustomSubFeatures( HasModifiedUses.Marker, new ModifyPowerPoolAmount @@ -353,6 +468,29 @@ private static void LoadSecondWindToUseOneDndUsagesProgression() }); } + private static void LoadFighterTacticalShiftCustomBehavior() + { + var powerFighterSecondWindTargeting = FeatureDefinitionPowerBuilder + .Create(PowerFighterSecondWind, "PowerFighterSecondWindTargeting") + .SetShowCasting(false) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Round) + .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.Position) + .Build()) + .AddCustomSubFeatures(ModifyPowerVisibility.Hidden, new CustomBehaviorWithdraw()) + .AddToDB(); + + PowerFighterSecondWind.AddCustomSubFeatures( + new PowerOrSpellFinishedByMeSecondWind(powerFighterSecondWindTargeting)); + } + + private static void LoadFighterStudiedAttacks() + { + ConditionStudiedAttacks.Features.SetRange(CombatAffinityStudiedAttacks); + } + internal static void SwitchFighterLevelToIndomitableSavingReroll() { UseIndomitableResistance.GuiPresentation.description = @@ -361,6 +499,34 @@ internal static void SwitchFighterLevelToIndomitableSavingReroll() : "Feature/&IndomitableResistanceDescription"; } + internal static void SwitchFighterStudiedAttacks() + { + Fighter.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == FeatureFighterStudiedAttacks); + + if (Main.Settings.EnableFighterStudiedAttacks) + { + Fighter.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureFighterStudiedAttacks, 13)); + } + + Fighter.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchFighterTacticalProgression() + { + Fighter.FeatureUnlocks.RemoveAll(x => + x.FeatureDefinition == FeatureFighterTacticalMind || + x.FeatureDefinition == FeatureFighterTacticalShift); + + if (Main.Settings.EnableFighterTacticalProgression) + { + Fighter.FeatureUnlocks.AddRange( + new FeatureUnlockByLevel(FeatureFighterTacticalMind, 2), + new FeatureUnlockByLevel(FeatureFighterTacticalShift, 5)); + } + + Fighter.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchSecondWindToUseOneDndUsagesProgression() { PowerFighterSecondWind.rechargeRate = Main.Settings.EnableSecondWindToUseOneDndUsagesProgression @@ -539,6 +705,31 @@ internal static void SwitchOneDndSpellLesserRestoration() : ActivationTime.Action; } + private static void LoadOneDndSpellSpareTheDying() + { + SpareTheDying.AddCustomSubFeatures(new ModifyEffectDescriptionSpareTheDying()); + } + + internal static void SwitchOneDndSpellSpareTheDying() + { + SpareTheDying.GuiPresentation.description = + Main.Settings.EnableOneDndSpareTheDyingSpell + ? "Spell/&SpareTheDyingDescription" + : "Spell/&SpareTheDyingExtendedDescription"; + } + + internal static void SwitchOneDndSpellSpiderClimb() + { + SpiderClimb.EffectDescription.EffectAdvancement.additionalTargetsPerIncrement = + Main.Settings.EnableOneDndSpiderClimbSpell + ? 1 + : 0; + SpiderClimb.EffectDescription.EffectAdvancement.effectIncrementMethod = + Main.Settings.EnableOneDndSpiderClimbSpell + ? EffectIncrementMethod.PerAdditionalSlotLevel + : EffectIncrementMethod.None; + } + internal static void SwitchOneDndSpellStoneSkin() { Stoneskin.GuiPresentation.description = "Spell/&StoneskinExtendedDescription"; @@ -586,6 +777,31 @@ internal static void SwitchOneDndSpellGuidance() } } + internal static void SwitchOneDndSpellHideousLaughter() + { + HideousLaughter.EffectDescription.EffectAdvancement.effectIncrementMethod = + Main.Settings.EnableOneDndHideousLaughterSpell + ? EffectIncrementMethod.PerAdditionalSlotLevel + : EffectIncrementMethod.None; + } + + internal static void SwitchOneDndSpellHuntersMark() + { + FeatureDefinitionAdditionalDamages.AdditionalDamageHuntersMark.specificDamageType = DamageTypeForce; + FeatureDefinitionAdditionalDamages.AdditionalDamageHuntersMark.additionalDamageType = + Main.Settings.EnableOneDndHuntersMarkSpell + ? AdditionalDamageType.Specific + : AdditionalDamageType.SameAsBaseDamage; + HuntersMark.GuiPresentation.description = + Main.Settings.EnableOneDndHuntersMarkSpell + ? "Spell/&HuntersMarkExtendedDescription" + : "Spell/&HuntersMarkDescription"; + ConditionMarkedByHunter.GuiPresentation.description = + Main.Settings.EnableOneDndHuntersMarkSpell + ? "Rules/&ConditionMarkedByHunterExtendedDescription" + : "Rules/&ConditionMarkedByHunterDescription"; + } + internal static void SwitchOneDndSpellMagicWeapon() { if (Main.Settings.EnableOneDndMagicWeaponSpell) @@ -602,12 +818,27 @@ internal static void SwitchOneDndSpellMagicWeapon() } } - internal static void SwitchOneDndSpellPowerWordKill() + internal static void SwitchOneDndSpellPowerWordStun() { - SpellsContext.PowerWordKill.EffectDescription.EffectForms.SetRange( - Main.Settings.EnableOneDndMagicWeaponSpell - ? SpellBuilders.PowerWordKill2024 - : SpellBuilders.PowerWordKill2014); + var effectForms = PowerWordStun.EffectDescription.EffectForms; + + if (effectForms.Count > 1) + { + effectForms.RemoveAt(1); + PowerWordStun.EffectDescription.EffectFormFilters.RemoveAt(1); + } + + PowerWordStun.GuiPresentation.description = "Spell/&PowerWordStunDescription"; + + if (!Main.Settings.EnableOneDndPowerWordStunSpell) + { + return; + } + + PowerWordStun.GuiPresentation.description = "Spell/&PowerWordStunExtendedDescription"; + PowerWordStun.EffectDescription.EffectFormFilters.Add( + new EffectFormFilter { effectFormId = 1, minHitPoints = 151, maxHitPoints = 10000 }); + effectForms.Add(EffectFormPowerWordStunStopped); } internal static void SwitchOneDndWizardSchoolOfMagicLearningLevel() @@ -1012,13 +1243,14 @@ private static void LoadOneDndTrueStrike() return; } - TrueStrike.AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.Marker); + TrueStrike.AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.MarkerAnyWeaponAttack); TrueStrike.GuiPresentation.description = "Spell/&TrueStrike2024Description"; + TrueStrike.requiresConcentration = false; TrueStrike.effectDescription = EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round) - .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique) - .SetIgnoreCover() + // 24 seems to be the max range on Solasta ranged weapons + .SetTargetingData(Side.Enemy, RangeType.Distance, 24, TargetType.IndividualsUnique) .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1) .SetEffectForms( EffectFormBuilder.ConditionForm(ConditionTrueStrike2024, ConditionForm.ConditionOperation.Add, true)) @@ -1044,6 +1276,15 @@ internal static void SwitchOneDndHealingSpellsUpgrade() dice = Main.Settings.EnableOneDndHealingSpellsUpgrade ? 5 : 3; MassCureWounds.EffectDescription.EffectForms[0].healingForm.diceNumber = dice; + + var school = Main.Settings.EnableOneDndHealingSpellsUpgrade ? SchoolAbjuration : SchoolEvocation; + SpellsContext.AuraOfVitality.schoolOfMagic = school; + CureWounds.schoolOfMagic = school; + Heal.schoolOfMagic = school; + HealingWord.schoolOfMagic = school; + MassCureWounds.schoolOfMagic = school; + MassHealingWord.schoolOfMagic = school; + PrayerOfHealing.schoolOfMagic = school; } internal static void SwitchOneDndDamagingSpellsUpgrade() @@ -1061,6 +1302,9 @@ internal static void SwitchOneDndDamagingSpellsUpgrade() CircleOfDeath.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D8; FlameStrike.EffectDescription.EffectForms[0].DamageForm.diceNumber = 5; FlameStrike.EffectDescription.EffectForms[1].DamageForm.diceNumber = 5; + PrismaticSpray.EffectDescription.EffectForms + .Where(x => x.FormType == EffectForm.EffectFormType.Damage) + .Do(y => y.DamageForm.DiceNumber = 12); IceStorm.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D10; ViciousMockery.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D6; } @@ -1075,6 +1319,9 @@ internal static void SwitchOneDndDamagingSpellsUpgrade() CircleOfDeath.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D6; FlameStrike.EffectDescription.EffectForms[0].DamageForm.diceNumber = 4; FlameStrike.EffectDescription.EffectForms[1].DamageForm.diceNumber = 4; + PrismaticSpray.EffectDescription.EffectForms + .Where(x => x.FormType == EffectForm.EffectFormType.Damage) + .Do(y => y.DamageForm.DiceNumber = 10); IceStorm.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D8; ViciousMockery.EffectDescription.EffectForms[0].DamageForm.dieType = DieType.D4; } @@ -1092,13 +1339,136 @@ internal static void SwitchOneDndWizardScholar() Wizard.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static bool IsRestActivityMemorizeSpellAvailable( + RestActivityDefinition activity, RulesetCharacterHero hero) + { + return activity != RestActivityMemorizeSpell || + (Main.Settings.EnableWizardMemorizeSpell && hero.GetClassLevel(Wizard) >= 5); + } + + private static bool TryGetMemorizeSpellCondition(RulesetCharacter character, out RulesetCondition condition) + { + return character.TryGetConditionOfCategoryAndType( + AttributeDefinitions.TagEffect, ConditionMemorizeSpell.Name, out condition); + } + + internal static bool IsMemorizeSpellPreparation(RulesetCharacter character) + { + return TryGetMemorizeSpellCondition(character, out _); + } + + internal static bool IsInvalidMemorizeSelectedSpell( + SpellRepertoirePanel spellRepertoirePanel, RulesetCharacter rulesetCharacter, SpellDefinition spell) + { + if (!TryGetMemorizeSpellCondition(rulesetCharacter, out var activeCondition)) + { + return false; + } + + var spellIndex = SpellsContext.Spells.IndexOf(spell); + var isUncheck = spellRepertoirePanel.preparedSpells.Contains(spell); + + if (isUncheck) + { + if (activeCondition.SourceProficiencyBonus != -1 && + activeCondition.SourceProficiencyBonus != spellIndex) + { + return true; + } + + activeCondition.Amount = 1; + activeCondition.SourceProficiencyBonus = spellIndex; + + return false; + } + + activeCondition.Amount = 0; + activeCondition.SourceProficiencyBonus = spellIndex; + + return false; + } + + private static void LoadWizardMemorizeSpell() + { + ServiceRepository.GetService() + .RegisterFunctor(nameof(FunctorMemorizeSpell), new FunctorMemorizeSpell()); + } + + internal static void SwitchOneDndWizardMemorizeSpell() + { + Wizard.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == FeatureMemorizeSpell); + + if (Main.Settings.EnableWizardMemorizeSpell) + { + Wizard.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureMemorizeSpell, 5)); + } + + Wizard.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + + internal static void SwitchSorcererArcaneApotheosis() + { + Sorcerer.FeatureUnlocks.RemoveAll(x => + x.FeatureDefinition == FeatureSorcererArcaneApotheosis || + x.FeatureDefinition == Level20Context.PowerSorcerousRestoration); + + Sorcerer.FeatureUnlocks.Add( + Main.Settings.EnableSorcererArcaneApotheosis + ? new FeatureUnlockByLevel(FeatureSorcererArcaneApotheosis, 20) + : new FeatureUnlockByLevel(Level20Context.PowerSorcerousRestoration, 20)); + + Sorcerer.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static bool IsArcaneApotheosisValid(RulesetCharacter rulesetCharacter, RulesetEffect rulesetEffect) + { + var character = GameLocationCharacter.GetFromActor(rulesetCharacter); + + return IsArcaneApotheosisValid(character, rulesetEffect, false); + } + + private static bool IsArcaneApotheosisValid( + GameLocationCharacter character, + RulesetEffect rulesetEffect, + bool validateMetamagicOption = true) + { + if (!Main.Settings.EnableSorcererArcaneApotheosis || + rulesetEffect is not RulesetEffectSpell rulesetEffectSpell || + (validateMetamagicOption && !rulesetEffectSpell.MetamagicOption)) + { + return false; + } + + var rulesetCharacter = character.RulesetCharacter; + var sorcererLevel = rulesetCharacter.GetClassLevel(Sorcerer); + + if (sorcererLevel < 20) + { + return false; + } + + if (Gui.Battle != null && + !character.OnceInMyTurnIsValid(FeatureSorcererArcaneApotheosis.Name)) + { + return false; + } + + return rulesetCharacter.HasConditionOfCategoryAndType( + AttributeDefinitions.TagEffect, ConditionSorcererInnateSorcery.Name); + } + internal static void SwitchSorcererInnateSorcery() { - Sorcerer.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == PowerSorcererInnateSorcery); + Sorcerer.FeatureUnlocks.RemoveAll(x => + x.FeatureDefinition == PowerSorcererInnateSorcery || + x.FeatureDefinition == FeatureSetSorcererSorceryIncarnate); - if (Main.Settings.EnableSorcererInnateSorceryAt1) + if (Main.Settings.EnableSorcererInnateSorceryAndSorceryIncarnate) { - Sorcerer.FeatureUnlocks.Add(new FeatureUnlockByLevel(PowerSorcererInnateSorcery, 1)); + Sorcerer.FeatureUnlocks.AddRange( + new FeatureUnlockByLevel(PowerSorcererInnateSorcery, 1), + new FeatureUnlockByLevel(FeatureSetSorcererSorceryIncarnate, 7)); } Sorcerer.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); @@ -1122,7 +1492,7 @@ internal static void SwitchSorcerousRestorationAtLevel5() { Sorcerer.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == PowerSorcerousRestoration); - if (Main.Settings.EnableSorcerousRestorationAtLevel5) + if (Main.Settings.EnableSorcererSorcerousRestoration) { Sorcerer.FeatureUnlocks.Add(new FeatureUnlockByLevel(PowerSorcerousRestoration, 5)); } @@ -1204,6 +1574,321 @@ internal static void SwitchOneDndWarlockInvocationsProgression() Warlock.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + private class FunctorMemorizeSpell : Functor + { + public override IEnumerator Execute( + FunctorParametersDescription functorParameters, + FunctorExecutionContext context) + { + var inspectionScreen = Gui.GuiService.GetScreen(); + var partyStatusScreen = Gui.GuiService.GetScreen(); + var hero = functorParameters.RestingHero; + + Gui.GuiService.GetScreen().KeepCurrentState = true; + + var spellRepertoire = hero.SpellRepertoires.FirstOrDefault(x => + x.SpellCastingFeature.SpellReadyness == SpellReadyness.Prepared); + + if (spellRepertoire == null) + { + yield break; + } + + // make this until any rest to ensure users cannot cheat by reopening the prep screen + // as conditions on refresh won't update source amount nor source ability bonus used for tracking + hero.InflictCondition( + ConditionMemorizeSpell.Name, + DurationType.UntilAnyRest, + 0, + TurnOccurenceType.EndOfTurn, + AttributeDefinitions.TagEffect, + hero.guid, + hero.CurrentFaction.Name, + 1, + ConditionMemorizeSpell.Name, + // how many spells can be prepared starting at zero as need an unselect event first + 0, + 0, + // index to the unselected spell starting at -1 to allow any spell to be unselected on first take + -1); + + partyStatusScreen.SetupDisplayPreferences(false, false, false); + inspectionScreen.ShowSpellPreparation( + functorParameters.RestingHero, Gui.GuiService.GetScreen(), spellRepertoire); + + while (context.Async && inspectionScreen.Visible) + { + yield return null; + } + + partyStatusScreen.SetupDisplayPreferences(true, true, true); + } + } + + private sealed class CustomBehaviorArcaneApotheosis : IMagicEffectInitiatedByMe, IMagicEffectFinishedByMe + { + public IEnumerator OnMagicEffectFinishedByMe( + CharacterAction action, + GameLocationCharacter attacker, + List targets) + { + if (!IsArcaneApotheosisValid(attacker, action.ActionParams.RulesetEffect)) + { + yield break; + } + + attacker.SetSpecialFeatureUses(FeatureSorcererArcaneApotheosis.Name, 0); + + var rulesetCharacter = attacker.RulesetCharacter; + + if (!rulesetCharacter.TryGetConditionOfCategoryAndType( + AttributeDefinitions.TagEffect, ConditionArcaneApotheosis.Name, out var activeCondition)) + { + yield break; + } + + var usedSorceryPoints = activeCondition.Amount; + + rulesetCharacter.usedSorceryPoints = usedSorceryPoints; + rulesetCharacter.SorceryPointsAltered?.Invoke(rulesetCharacter, usedSorceryPoints); + } + + public IEnumerator OnMagicEffectInitiatedByMe( + CharacterAction action, + RulesetEffect activeEffect, + GameLocationCharacter attacker, + List targets) + { + if (!IsArcaneApotheosisValid(attacker, action.ActionParams.RulesetEffect)) + { + yield break; + } + + var rulesetAttacker = attacker.RulesetCharacter; + + rulesetAttacker.InflictCondition( + ConditionArcaneApotheosis.Name, + DurationType.Round, + 0, + TurnOccurenceType.EndOfTurn, + AttributeDefinitions.TagEffect, + rulesetAttacker.Guid, + rulesetAttacker.CurrentFaction.Name, + 1, + ConditionArcaneApotheosis.Name, + rulesetAttacker.UsedSorceryPoints, + 0, + 0); + } + } + + private sealed class TryAlterOutcomeAttributeCheckTacticalMind : ITryAlterOutcomeAttributeCheck + { + public IEnumerator OnTryAlterAttributeCheck( + GameLocationBattleManager battleManager, + AbilityCheckData abilityCheckData, + GameLocationCharacter defender, + GameLocationCharacter helper) + { + var rulesetHelper = helper.RulesetCharacter; + var usablePower = PowerProvider.Get(PowerFighterSecondWind, rulesetHelper); + + if (abilityCheckData.AbilityCheckRoll == 0 || + abilityCheckData.AbilityCheckRollOutcome != RollOutcome.Failure || + abilityCheckData.AbilityCheckSuccessDelta < -10 || + helper != defender || + rulesetHelper.GetRemainingUsesOfPower(usablePower) == 0) + { + yield break; + } + + yield return helper.MyReactToDoNothing( + ExtraActionId.DoNothingFree, + defender, + "TacticalMindCheck", + "CustomReactionTacticalMindCheckDescription".Formatted(Category.Reaction), + ReactionValidated, + battleManager: battleManager); + + yield break; + + void ReactionValidated() + { + var dieRoll = + rulesetHelper.RollDie(DieType.D10, RollContext.None, false, AdvantageType.None, out _, out _); + + var abilityCheckModifier = abilityCheckData.AbilityCheckActionModifier; + + abilityCheckModifier.AbilityCheckModifierTrends.Add( + new TrendInfo(dieRoll, FeatureSourceType.CharacterFeature, FeatureFighterTacticalMind.Name, + FeatureFighterTacticalMind)); + + abilityCheckModifier.AbilityCheckModifier += dieRoll; + abilityCheckData.AbilityCheckSuccessDelta += dieRoll; + + if (abilityCheckData.AbilityCheckSuccessDelta >= 0) + { + abilityCheckData.AbilityCheckRollOutcome = RollOutcome.Success; + usablePower.Consume(); + } + + rulesetHelper.LogCharacterActivatesAbility( + "Feature/&FeatureFighterTacticalMindTitle", + abilityCheckData.AbilityCheckSuccessDelta >= 0 + ? "Feedback/&TacticalMindCheckToHitRollSuccess" + : "Feedback/&TacticalMindCheckToHitRollFailure", + extra: [(ConsoleStyleDuplet.ParameterType.Positive, dieRoll.ToString())]); + } + } + } + + private sealed class PowerOrSpellFinishedByMeSecondWind(FeatureDefinitionPower powerDummyTargeting) + : IPowerOrSpellFinishedByMe + { + public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + if (!Main.Settings.EnableFighterTacticalProgression) + { + yield break; + } + + yield return CampaignsContext.SelectPosition(action, powerDummyTargeting); + + var attacker = action.ActingCharacter; + var position = action.ActionParams.Positions[0]; + + if (attacker.LocationPosition == position) + { + yield break; + } + + var rulesetAttacker = attacker.RulesetCharacter; + var distance = (int)int3.Distance(attacker.LocationPosition, position); + + attacker.UsedTacticalMoves -= distance; + + if (attacker.UsedTacticalMoves < 0) + { + attacker.UsedTacticalMoves = 0; + } + + attacker.UsedTacticalMovesChanged?.Invoke(attacker); + + rulesetAttacker.InflictCondition( + ConditionWithdrawn.Name, + DurationType.Round, + 0, + TurnOccurenceType.EndOfTurn, + // all disengaging in game is set under TagCombat (why?) + AttributeDefinitions.TagCombat, + rulesetAttacker.Guid, + rulesetAttacker.CurrentFaction.Name, + 1, + ConditionWithdrawn.Name, + distance, + 0, + 0); + + attacker.SpendActionType(ActionType.Bonus); + attacker.MyExecuteActionTacticalMove(position); + } + } + + private sealed class PhysicalAttackFinishedOnMeStudiedAttacks : IPhysicalAttackFinishedOnMe + { + public IEnumerator OnPhysicalAttackFinishedOnMe( + GameLocationBattleManager battleManager, + CharacterAction action, + GameLocationCharacter attacker, + GameLocationCharacter defender, + RulesetAttackMode attackMode, + RollOutcome rollOutcome, + int damageAmount) + { + var rulesetDefender = defender.RulesetActor; + + if (rulesetDefender.TryGetConditionOfCategoryAndType( + AttributeDefinitions.TagEffect, ConditionStudiedAttacks.Name, out var activeCondition) && + activeCondition.SourceGuid == attacker.Guid && + rollOutcome is RollOutcome.Success or RollOutcome.CriticalSuccess) + { + rulesetDefender.RemoveCondition(activeCondition); + } + + yield break; + } + } + + private sealed class PhysicalAttackFinishedByMeStudiedAttacks : IPhysicalAttackFinishedByMe + { + public IEnumerator OnPhysicalAttackFinishedByMe( + GameLocationBattleManager battleManager, + CharacterAction action, + GameLocationCharacter attacker, + GameLocationCharacter defender, + RulesetAttackMode attackMode, + RollOutcome rollOutcome, + int damageAmount) + { + if (rollOutcome is RollOutcome.Success or RollOutcome.CriticalSuccess) + { + yield break; + } + + var rulesetAttacker = attacker.RulesetCharacter; + var rulesetDefender = defender.RulesetActor; + + rulesetDefender.InflictCondition( + ConditionStudiedAttacks.Name, + DurationType.Round, + 1, + TurnOccurenceType.EndOfSourceTurn, + AttributeDefinitions.TagEffect, + rulesetAttacker.Guid, + rulesetAttacker.CurrentFaction.Name, + 1, + ConditionStudiedAttacks.Name, + 0, + 0, + 0); + } + } + + private sealed class ModifyEffectDescriptionSpareTheDying : IModifyEffectDescription + { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return Main.Settings.EnableOneDndSpareTheDyingSpell && definition == SpareTheDying; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + if (!Main.Settings.EnableOneDndSpareTheDyingSpell) + { + return effectDescription; + } + + effectDescription.RangeType = RangeType.Distance; + + var level = character.TryGetAttributeValue(AttributeDefinitions.CharacterLevel); + var power = level switch + { + >= 17 => 3, + >= 11 => 2, + >= 5 => 1, + _ => 0 + }; + + effectDescription.rangeParameter = 3 * (int)Math.Pow(2, power); + + return effectDescription; + } + } + private sealed class ModifyAttackActionModifierTrueStrike : IModifyAttackActionModifier { public void OnAttackComputeModifier( @@ -1226,7 +1911,7 @@ public void OnAttackComputeModifier( { damageForm.damageType = DamageTypeRadiant; } - + var oldAttribute = attackMode.AbilityScore; var newAttribute = attacker.SpellsCastByMe[attacker.SpellsCastByMe.Count - 1].SourceAbility; @@ -2267,10 +2952,12 @@ internal static void SwitchBarbarianRegainOneRageAtShortRest() .SetSilent(Silent.WhenAddedOrRemoved) .SetConditionType(ConditionType.Detrimental) .SetAmountOrigin(ConditionDefinition.OriginOfAmount.Fixed) + .AllowMultipleInstances() .SetSpecialInterruptions(ConditionInterruption.Attacks) .AddToDB(); private static FeatureDefinitionFeatureSet _featureSetRogueCunningStrike; + private static FeatureDefinition _featureRogueImprovedCunningStrike; private static FeatureDefinitionFeatureSet _featureSetRogueDeviousStrike; private static void BuildRogueCunningStrike() @@ -2533,16 +3220,32 @@ private static void BuildRogueCunningStrike() _featureSetRogueCunningStrike = FeatureDefinitionFeatureSetBuilder .Create($"FeatureSet{Cunning}") .SetGuiPresentation($"Power{Cunning}", Category.Feature) - .AddFeatureSet(powerPool, actionAffinityToggle, powerDisarm, powerPoison, powerTrip, powerWithdraw) + .SetFeatureSet(powerPool, actionAffinityToggle, powerDisarm, powerPoison, powerTrip, powerWithdraw) + .AddToDB(); + + _featureRogueImprovedCunningStrike = FeatureDefinitionBuilder + .Create($"FeatureImproved{Cunning}") + .SetGuiPresentation(Category.Feature) .AddToDB(); _featureSetRogueDeviousStrike = FeatureDefinitionFeatureSetBuilder .Create($"FeatureSet{Devious}") .SetGuiPresentation($"Power{Devious}", Category.Feature) - .AddFeatureSet(powerDaze, powerKnockOut, powerObscure) + .SetFeatureSet(powerDaze, powerKnockOut, powerObscure) .AddToDB(); } + internal static void SwitchRogueReliableTalent() + { + Rogue.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == DieRollModifierRogueReliableTalent); + + Rogue.FeatureUnlocks.Add(Main.Settings.EnableRogueReliableTalentAt7 + ? new FeatureUnlockByLevel(DieRollModifierRogueReliableTalent, 7) + : new FeatureUnlockByLevel(DieRollModifierRogueReliableTalent, 11)); + + Rogue.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchRogueSlipperyMind() { ProficiencyRogueSlipperyMind.Proficiencies.Remove(AttributeDefinitions.Charisma); @@ -2613,6 +3316,15 @@ internal static bool IsSneakAttackValid( }; } + private static readonly ConditionDefinition ConditionWithdrawn = ConditionDefinitionBuilder + .Create(ConditionDefinitions.ConditionDisengaging, "ConditionWithdrawn") + .SetSilent(Silent.None) + .SetParentCondition(ConditionDefinitions.ConditionDisengaging) + .SetFeatures() + .SetFixedAmount(3) + .AddCustomSubFeatures(new ActionFinishedByWithdraw()) + .AddToDB(); + private sealed class CustomBehaviorCunningStrike( FeatureDefinitionPower powerRogueCunningStrike, FeatureDefinitionPower powerKnockOut, @@ -2620,7 +3332,7 @@ private sealed class CustomBehaviorCunningStrike( FeatureDefinitionPower powerWithdraw) : IPhysicalAttackBeforeHitConfirmedOnEnemy, IPhysicalAttackFinishedByMe { - private FeatureDefinitionPower _selectedPower; + private readonly List _selectedPowers = []; public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( GameLocationBattleManager battleManager, @@ -2634,7 +3346,7 @@ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( bool firstTarget, bool criticalHit) { - _selectedPower = null; + _selectedPowers.Clear(); var rulesetAttacker = attacker.RulesetCharacter; @@ -2644,15 +3356,42 @@ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( yield break; } + var aborted = false; + var attempts = rulesetAttacker.GetClassLevel(Rogue) >= 11 ? 2 : 1; var usablePower = PowerProvider.Get(powerRogueCunningStrike, rulesetAttacker); + RulesetUsablePower savedUsablePower = null; - yield return attacker.MyReactToSpendPowerBundle( - usablePower, - [defender], - attacker, - powerRogueCunningStrike.Name, - reactionValidated: ReactionValidated, - battleManager: battleManager); + for (var i = 0; i < attempts; i++) + { + yield return attacker.MyReactToSpendPowerBundle( + usablePower, + [defender], + attacker, + powerRogueCunningStrike.Name, + reactionValidated: ReactionValidated, + reactionNotValidated: ReactionNotValidated, + battleManager: battleManager); + + if (aborted) + { + break; + } + + if (_selectedPowers.Count < 1) + { + continue; + } + + // don't offer 1st selected effect again + savedUsablePower = PowerProvider.Get(_selectedPowers[0], rulesetAttacker); + rulesetAttacker.UsablePowers.Remove(PowerProvider.Get(_selectedPowers[0], rulesetAttacker)); + } + + // recover first selected usable power + if (savedUsablePower != null) + { + rulesetAttacker.UsablePowers.Add(savedUsablePower); + } yield break; @@ -2667,7 +3406,9 @@ void ReactionValidated(ReactionRequestSpendBundlePower reactionRequest) return; } - _selectedPower = subPowers[option]; + var selectedPower = subPowers[option]; + + _selectedPowers.Add(selectedPower); // inflict condition passing power cost on amount to be deducted later on from sneak dice rulesetAttacker.InflictCondition( @@ -2680,10 +3421,15 @@ void ReactionValidated(ReactionRequestSpendBundlePower reactionRequest) rulesetAttacker.CurrentFaction.Name, 1, ConditionReduceSneakDice.Name, - _selectedPower.CostPerUse, + selectedPower.CostPerUse, 0, 0); } + + void ReactionNotValidated(ReactionRequestSpendBundlePower reactionRequest) + { + aborted = true; + } } // handle Knock Out exception which should apply condition after attack @@ -2696,16 +3442,19 @@ public IEnumerator OnPhysicalAttackFinishedByMe( RollOutcome rollOutcome, int damageAmount) { - if (_selectedPower == powerKnockOut) - { - yield return HandleKnockOut(attacker, defender); - } - else if (_selectedPower == powerWithdraw) + foreach (var selectedPower in _selectedPowers) { - yield return HandleWithdraw(action, attacker); + if (selectedPower == powerKnockOut) + { + yield return HandleKnockOut(attacker, defender); + } + else if (selectedPower == powerWithdraw) + { + yield return HandleWithdraw(action, attacker); + } } - _selectedPower = null; + _selectedPowers.Clear(); } private IEnumerator HandleWithdraw(CharacterAction action, GameLocationCharacter attacker) @@ -2714,9 +3463,9 @@ private IEnumerator HandleWithdraw(CharacterAction action, GameLocationCharacter var rulesetAttacker = attacker.RulesetCharacter; var position = action.ActionParams.Positions[0]; - var distance = int3.Distance(attacker.LocationPosition, position); + var distance = (int)int3.Distance(attacker.LocationPosition, position); - attacker.UsedTacticalMoves -= (int)distance; + attacker.UsedTacticalMoves -= distance; if (attacker.UsedTacticalMoves < 0) { @@ -2726,7 +3475,7 @@ private IEnumerator HandleWithdraw(CharacterAction action, GameLocationCharacter attacker.UsedTacticalMovesChanged?.Invoke(attacker); rulesetAttacker.InflictCondition( - RuleDefinitions.ConditionDisengaging, + ConditionWithdrawn.Name, DurationType.Round, 0, TurnOccurenceType.EndOfTurn, @@ -2735,11 +3484,12 @@ private IEnumerator HandleWithdraw(CharacterAction action, GameLocationCharacter rulesetAttacker.Guid, rulesetAttacker.CurrentFaction.Name, 1, - RuleDefinitions.ConditionDisengaging, - 0, + ConditionWithdrawn.Name, + distance, 0, 0); + attacker.SpendActionType(ActionType.Main); attacker.MyExecuteActionTacticalMove(position); } @@ -2824,16 +3574,44 @@ public IEnumerator ComputeValidPositions(CursorLocationSelectPosition cursorLoca } } + private sealed class ActionFinishedByWithdraw : IActionFinishedByMe + { + public IEnumerator OnActionFinishedByMe(CharacterAction action) + { + if (action is not (CharacterActionMove or CharacterActionMoveStepWalk)) + { + yield break; + } + + var rulesetCharacter = action.ActingCharacter.RulesetCharacter; + + if (!rulesetCharacter.TryGetConditionOfCategoryAndType( + AttributeDefinitions.TagCombat, ConditionWithdrawn.Name, out var activeCondition)) + { + yield break; + } + + activeCondition.Amount--; + + if (activeCondition.Amount <= 0) + { + rulesetCharacter.RemoveCondition(activeCondition); + } + } + } + internal static void SwitchRogueCunningStrike() { Rogue.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == _featureSetRogueCunningStrike || + x.FeatureDefinition == _featureRogueImprovedCunningStrike || x.FeatureDefinition == _featureSetRogueDeviousStrike); if (Main.Settings.EnableRogueCunningStrike) { Rogue.FeatureUnlocks.AddRange( new FeatureUnlockByLevel(_featureSetRogueCunningStrike, 5), + new FeatureUnlockByLevel(_featureRogueImprovedCunningStrike, 11), new FeatureUnlockByLevel(_featureSetRogueDeviousStrike, 14)); } diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs index 1d4d72d909..01e5962583 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterActionAttackPatcher.cs @@ -9,6 +9,7 @@ using SolastaUnfinishedBusiness.Spells; using UnityEngine; using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.GameExtensions.GameLocationBattleExtensions; using Coroutine = TA.Coroutine; namespace SolastaUnfinishedBusiness.Patches; @@ -848,35 +849,7 @@ internal static IEnumerator ExecuteImpl(CharacterActionAttack __instance) rulesetDefender.ProcessConditionsMatchingInterruption( ConditionInterruption.PhysicalAttackReceivedExecuted); - //PATCH: allow condition interruption after target was attacked not by source - if (!rulesetDefender.matchingInterruption) - { - rulesetDefender.matchingInterruption = true; - rulesetDefender.matchingInterruptionConditions.Clear(); - - foreach (var rulesetCondition in rulesetDefender.ConditionsByCategory - .SelectMany(x => x.Value) - .Where(rulesetCondition => - rulesetCondition.ConditionDefinition.HasSpecialInterruptionOfType( - (ConditionInterruption)ExtraConditionInterruption - .AfterWasAttackedNotBySource) && - rulesetCondition.SourceGuid != actingCharacter.Guid)) - { - rulesetDefender.matchingInterruptionConditions.Add(rulesetCondition); - } - - for (var index = rulesetDefender.matchingInterruptionConditions.Count - 1; index >= 0; --index) - { - rulesetDefender.RemoveCondition(rulesetDefender.matchingInterruptionConditions[index]); - } - - rulesetDefender.matchingInterruptionConditions.Clear(); - rulesetDefender.matchingInterruption = false; - } - - //PATCH: Allows condition interruption after target was attacked - rulesetDefender.ProcessConditionsMatchingInterruption( - (ConditionInterruption)ExtraConditionInterruption.AfterWasAttacked); + ProcessExtraAfterAttackConditionsMatchingInterruption(actingCharacter, rulesetDefender); yield return battleManager.HandleCharacterAttackOrMagicEffectFinishedLate( __instance, actingCharacter); diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs index ac9a5acff9..0f05f4ee88 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterActionMagicEffectPatcher.cs @@ -14,6 +14,7 @@ using TA; using UnityEngine; using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.GameExtensions.GameLocationBattleExtensions; using Coroutine = TA.Coroutine; namespace SolastaUnfinishedBusiness.Patches; @@ -504,7 +505,8 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance) var slot = actingCharacter.RulesetCharacter.CharacterInventory .FindSlotHoldingItem(actionParams.RulesetEffect.OriginItem); - if (slot != null && !slot.SlotTypeDefinition.BodySlot) + if (slot != null && !slot.SlotTypeDefinition.BodySlot && + !Main.Settings.EnableUnlimitedInventoryActions) //don't spend if unlimited enabled { actingCharacter.SpendActionType(ActionDefinitions.ActionType.FreeOnce); } @@ -881,6 +883,24 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance) // BEGIN PATCH + //PATCH: support for `IMagicEffectFinishedOnMe` + foreach (var target in targets) + { + var rulesetTarget = target.RulesetCharacter; + + if (rulesetTarget is not { IsDeadOrDyingOrUnconscious: false }) + { + continue; + } + + foreach (var magicEffectFinishedOnMe in rulesetTarget + .GetSubFeaturesByType()) + { + yield return magicEffectFinishedOnMe.OnMagicEffectFinishedOnMe( + __instance, actingCharacter, target, targets); + } + } + //PATCH: supports `IPowerOrSpellFinishedByMe` var powerOrSpellFinishedByMe = baseDefinition.GetFirstSubFeatureOfType(); @@ -909,24 +929,6 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance) } } - //PATCH: support for `IMagicEffectFinishedOnMe` - foreach (var target in targets) - { - var rulesetTarget = target.RulesetCharacter; - - if (rulesetTarget is not { IsDeadOrDyingOrUnconscious: false }) - { - continue; - } - - foreach (var magicEffectFinishedOnMe in rulesetTarget - .GetSubFeaturesByType()) - { - yield return magicEffectFinishedOnMe.OnMagicEffectFinishedOnMe( - __instance, actingCharacter, target, targets); - } - } - //PATCH: support for `IMagicEffectFinishedByMeOrAlly` var locationCharacterService = ServiceRepository.GetService(); var contenders = @@ -951,7 +953,7 @@ private static IEnumerator ExecuteImpl(CharacterActionMagicEffect __instance) if (attackAfterMagicEffect != null) { - foreach (var actionParam in AttackAfterMagicEffect.PerformAttackAfterUse(__instance)) + foreach (var actionParam in attackAfterMagicEffect.PerformAttackAfterUse(__instance)) { // don't use ExecuteAction here to ensure compatibility with War Caster feat if (__instance.ActionType == ActionDefinitions.ActionType.Reaction) @@ -1241,37 +1243,7 @@ private static IEnumerator ExecuteMagicAttack( if (rulesetEffect.EffectDescription.RangeType is RangeType.MeleeHit or RangeType.RangeHit) { - //PATCH: allow condition interruption after target was attacked not by source - if (!rulesetTarget.matchingInterruption) - { - rulesetTarget.matchingInterruption = true; - rulesetTarget.matchingInterruptionConditions.Clear(); - - foreach (var rulesetCondition in rulesetTarget.ConditionsByCategory - .SelectMany(x => x.Value) - .Where(rulesetCondition => - rulesetCondition.ConditionDefinition.HasSpecialInterruptionOfType( - (ConditionInterruption)ExtraConditionInterruption - .AfterWasAttackedNotBySource) && - rulesetCondition.SourceGuid != actingCharacter.Guid)) - { - rulesetTarget.matchingInterruptionConditions.Add(rulesetCondition); - } - - for (var index = rulesetTarget.matchingInterruptionConditions.Count - 1; - index >= 0; - --index) - { - rulesetTarget.RemoveCondition(rulesetTarget.matchingInterruptionConditions[index]); - } - - rulesetTarget.matchingInterruptionConditions.Clear(); - rulesetTarget.matchingInterruption = false; - } - - //PATCH: Allows condition interruption after target was attacked - rulesetTarget.ProcessConditionsMatchingInterruption( - (ConditionInterruption)ExtraConditionInterruption.AfterWasAttacked); + ProcessExtraAfterAttackConditionsMatchingInterruption(actingCharacter, rulesetTarget); } //PATCH: allows ITryAlterOutcomeAttributeCheck to interact with context checks diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs index b957267542..315ae84bbe 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs @@ -208,7 +208,7 @@ public static IEnumerator Postfix(IEnumerator values, CharacterAction __instance { yield return CircleOfTheWildfire.HandleCauterizingFlamesBehavior(actingCharacter); - GrappleContext.ValidateGrappleAfterForcedMove(actingCharacter); + GrappleContext.ValidateGrappleAfterMotion(actingCharacter); break; } diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionSpendPowerPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionSpendPowerPatcher.cs index ab7bb656d6..b8584d5947 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterActionSpendPowerPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterActionSpendPowerPatcher.cs @@ -329,14 +329,6 @@ private static IEnumerator ExecuteImpl(CharacterActionSpendPower __instance) } } - //PATCH: support for `IMagicEffectFinishedByMe` - foreach (var magicEffectFinishedByMe in actingCharacter.RulesetCharacter - .GetSubFeaturesByType()) - { - yield return - magicEffectFinishedByMe.OnMagicEffectFinishedByMe(__instance, actingCharacter, targets); - } - //PATCH: support for `IMagicEffectFinishedOnMe` foreach (var target in targets) { @@ -355,6 +347,14 @@ private static IEnumerator ExecuteImpl(CharacterActionSpendPower __instance) } } + //PATCH: support for `IMagicEffectFinishedByMe` + foreach (var magicEffectFinishedByMe in actingCharacter.RulesetCharacter + .GetSubFeaturesByType()) + { + yield return + magicEffectFinishedByMe.OnMagicEffectFinishedByMe(__instance, actingCharacter, targets); + } + //PATCH: support for `IMagicEffectFinishedByMeOrAlly` var locationCharacterService = ServiceRepository.GetService(); var contenders = diff --git a/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs index caafde0388..73f8dd72b9 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs @@ -10,6 +10,7 @@ using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Feats; +using SolastaUnfinishedBusiness.FightingStyles; using SolastaUnfinishedBusiness.Models; using SolastaUnfinishedBusiness.Subclasses; using TA; @@ -215,9 +216,42 @@ public static void Prefix([NotNull] RulesetCharacterHero hero, ref bool force) [UsedImplicitly] public static class FinalizeCharacter_Patch { + private static void GrantCantripFromFightingStyle( + CharacterBuildingManager characterBuildingManager, + RulesetCharacterHero hero, + FeatureDefinitionCastSpell featureDefinitionCastSpell) + { + var spellTag = featureDefinitionCastSpell.GetFirstSubFeatureOfType(); + + if (spellTag == null) + { + return; + } + + characterBuildingManager.GetLastAssignedClassAndLevel(hero, out var classDefinition, out var level); + + var classTag = AttributeDefinitions.GetClassTag(classDefinition, level); + var tag = spellTag.Name; + var finalTag = classTag + tag + tag; + var heroBuildingData = hero.GetHeroBuildingData(); + + // grant cantrips from selection or fixed list + if (!heroBuildingData.AcquiredCantrips.TryGetValue(finalTag, out var cantrips)) + { + return; + } + + foreach (var cantrip in cantrips) + { + hero.GrantCantrip(cantrip, featureDefinitionCastSpell); + } + } + [UsedImplicitly] public static void Prefix([NotNull] CharacterBuildingManager __instance, [NotNull] RulesetCharacterHero hero) { + var buildingData = hero.GetHeroBuildingData(); + //PATCH: grants race features LevelUpHelper.GrantRaceFeatures(__instance, hero); @@ -229,16 +263,30 @@ public static void Prefix([NotNull] CharacterBuildingManager __instance, [NotNul { hero.GrantSpellRepertoire(featureDefinitionCastSpell, null, null, hero.RaceDefinition); - var buildingData = hero.GetHeroBuildingData(); - - __instance.GrantCantripsAndSpellsByTag(buildingData, AttributeDefinitions.TagBackground, - featureDefinitionCastSpell); + __instance.GrantCantripsAndSpellsByTag( + buildingData, AttributeDefinitions.TagBackground, featureDefinitionCastSpell); } //PATCH: grants the power spell points to any created hero including pre-gen ones (SPELL_POINTS) SpellPointsContext.GrantPowerSpellPoints(hero); } + //PATCH: grants repertoire and selected cantrips from Blessed Warrior if not there yet + if (hero.TrainedFightingStyles.Any(x => x.Name == BlessedWarrior.Name) && + hero.SpellRepertoires.All(x => x.spellCastingFeature != BlessedWarrior.CastSpellBlessedWarrior)) + { + hero.GrantSpellRepertoire(BlessedWarrior.CastSpellBlessedWarrior, null, null, null); + GrantCantripFromFightingStyle(__instance, hero, BlessedWarrior.CastSpellBlessedWarrior); + } + + //PATCH: grants repertoire and selected cantrips from Blessed Warrior if not there yet + if (hero.TrainedFightingStyles.Any(x => x.Name == DruidicWarrior.Name) && + hero.SpellRepertoires.All(x => x.spellCastingFeature != DruidicWarrior.CastSpellDruidicWarrior)) + { + hero.GrantSpellRepertoire(DruidicWarrior.CastSpellDruidicWarrior, null, null, null); + GrantCantripFromFightingStyle(__instance, hero, DruidicWarrior.CastSpellDruidicWarrior); + } + //PATCH: grants custom features LevelUpHelper.GrantCustomFeaturesFromFeats(hero); LevelUpHelper.GrantCustomFeatures(hero); @@ -544,14 +592,50 @@ public static bool Prefix([NotNull] RulesetCharacterHero hero) public static class UntrainLastFightingStyle_Patch { [UsedImplicitly] - public static bool Prefix([NotNull] RulesetCharacterHero hero) + public static bool Prefix(CharacterBuildingManager __instance, [NotNull] RulesetCharacterHero hero) { //PATCH: ensures this doesn't get executed in the class panel level up screen var isLevelingUp = LevelUpHelper.IsLevelingUp(hero); var isClassSelectionStage = LevelUpHelper.IsClassSelectionStage(hero); var result = isLevelingUp && isClassSelectionStage; - return !result; + if (result || + hero.TrainedFightingStyles.Count <= 0) + { + return !result; + } + + //PATCH: remove point pools assigned from fighting styles + var heroBuildingData = hero.GetHeroBuildingData(); + var fightingStyle = hero.TrainedFightingStyles[hero.TrainedFightingStyles.Count - 1]; + + foreach (var featureDefinitionPointPool in fightingStyle.Features.OfType()) + { + if (!heroBuildingData.PointPoolStacks.TryGetValue(featureDefinitionPointPool.PoolType, + out var pointPoolStack)) + { + continue; + } + + __instance.GetLastAssignedClassAndLevel(hero, out var classDefinition, out var level); + + var finaTag = AttributeDefinitions.GetClassTag(classDefinition, level) + + featureDefinitionPointPool.ExtraSpellsTag + featureDefinitionPointPool.ExtraSpellsTag; + + if (!pointPoolStack.ActivePools.TryGetValue(finaTag, out var pool)) + { + continue; + } + + pool.maxPoints -= featureDefinitionPointPool.poolAmount; + + if (pool.maxPoints == 0) + { + pointPoolStack.ActivePools.Remove(finaTag); + } + } + + return true; } } @@ -600,6 +684,25 @@ public static bool Prefix( return false; } + //PATCH: support cast spell granted from fighting style + if (tag.EndsWith(BlessedWarrior.Name) || tag.EndsWith(DruidicWarrior.Name)) + { + var castSpell = hero.TrainedFightingStyles[hero.TrainedFightingStyles.Count - 1].Features + .OfType().First(); + + if (castSpell) + { + var spellTag = castSpell.GetFirstSubFeatureOfType(); + + if (spellTag != null && tag.EndsWith(spellTag.Name)) + { + __result = castSpell; + + return false; + } + } + } + var isMulticlass = LevelUpHelper.IsMulticlass(hero); if (!isMulticlass) { @@ -862,6 +965,48 @@ public static IEnumerable Transpiler([NotNull] IEnumerable()) + { + if (!heroBuildingData.PointPoolStacks.TryGetValue(featureDefinitionPointPool.PoolType, + out var pointPoolStack)) + { + continue; + } + + __instance.GetLastAssignedClassAndLevel(hero, out var classDefinition, out var level); + + var finaTag = AttributeDefinitions.GetClassTag(classDefinition, level) + + featureDefinitionPointPool.ExtraSpellsTag; + + if (pointPoolStack.ActivePools + .TryGetValue(finaTag + featureDefinitionPointPool.ExtraSpellsTag, out var pool)) + { + pool.maxPoints += featureDefinitionPointPool.poolAmount; + } + else + { + __instance.ApplyFeatureDefinitionPointPool(heroBuildingData, featureDefinitionPointPool, finaTag); + } + } + + LevelUpHelper.RebuildCharacterStageProficiencyPanel(heroBuildingData.LevelingUp); + } + } + //PATCH: apply point pools assigned from feats [HarmonyPatch(typeof(CharacterBuildingManager), nameof(CharacterBuildingManager.TrainFeat))] [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] diff --git a/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs index 07bbcf87bf..6b9a51c922 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs @@ -81,4 +81,73 @@ public static void Prefix() Global.InspectedHero = null; } } + + //PATCH: modify caption if unlimited inventory actions is enabled + [HarmonyPatch(typeof(CharacterInspectionScreen), nameof(CharacterInspectionScreen.RefreshCaption))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class RefreshCaption_Patch + { + [UsedImplicitly] + public static bool Prefix(CharacterInspectionScreen __instance) + { + // ReSharper disable once SwitchStatementHandlesSomeKnownEnumValuesWithDefault + switch (__instance.inventoryManagementMode) + { + case ActionDefinitions.InventoryManagementMode.Battle: + __instance.screenCaption.gameObject.SetActive(true); + switch (Main.Settings.EnableUnlimitedInventoryActions) + { + case false when + __instance.InspectedCharacter.GameLocationCharacter.GetActionTypeStatus(ActionDefinitions + .ActionType + .FreeOnce) == ActionDefinitions.ActionStatus.Available: + __instance.screenCaption.Text = + Gui.Localize("Screen/&CharacterInspectionModeBattleAvailableTitle"); + __instance.screenCaption.TMP_Text.color = __instance.inventoryActionAvailableColor; + return false; // Skip the original method + case true when + __instance.InspectedCharacter.GameLocationCharacter.GetActionTypeStatus(ActionDefinitions + .ActionType + .FreeOnce) == ActionDefinitions.ActionStatus.Available: + __instance.screenCaption.Text = + Gui.Localize("Screen/&CharacterInspectionModeBattleUnlimitedTitle"); + __instance.screenCaption.TMP_Text.color = __instance.inventoryActionAvailableColor; + return false; // Skip the original method + } + + __instance.screenCaption.Text = Gui.Localize("Screen/&CharacterInspectionModeBattleSpentTitle"); + __instance.screenCaption.TMP_Text.color = __instance.inventoryActionSpentColor; + return false; // Skip the original method + case ActionDefinitions.InventoryManagementMode.SelectItem: + __instance.screenCaption.gameObject.SetActive(true); + __instance.screenCaption.Text = __instance.itemSelectionType switch + { + ActionDefinitions.ItemSelectionType.Equiped + or ActionDefinitions.ItemSelectionType.EquippedNoLightSource => Gui.Localize( + "Screen/&CharacterInspectionModeSelectEquipedItemTitle"), + ActionDefinitions.ItemSelectionType.Carried => Gui.Localize( + "Screen/&CharacterInspectionModeSelectCarriedItemTitle"), + ActionDefinitions.ItemSelectionType.MagicalUnidentified => Gui.Localize( + "Screen/&CharacterInspectionModeSelectMagicalUnidentifiedItemTitle"), + ActionDefinitions.ItemSelectionType.Weapon => Gui.Localize( + "Screen/&CharacterInspectionModeSelectWeaponTitle"), + ActionDefinitions.ItemSelectionType.WeaponNonMagical => Gui.Localize( + "Screen/&CharacterInspectionModeSelectWeaponNonMagicalTitle"), + ActionDefinitions.ItemSelectionType.WieldedClubOrQuarterstaff => Gui.Localize( + "Screen/&CharacterInspectionModeSelectWieldedClubOrQuarterstaffTitle"), + ActionDefinitions.ItemSelectionType.Spellbook => Gui.Format( + "Screen/&CharacterInspectionModeSelectSpellbookTitle", + __instance.spellToScribe.SpellLevel.ToString()), + _ => __instance.screenCaption.Text + }; + + __instance.screenCaption.TMP_Text.color = __instance.inventoryActionAvailableColor; + return false; // Skip the original method + default: + __instance.screenCaption.gameObject.SetActive(false); + return false; // Skip the original method + } + } + } } diff --git a/SolastaUnfinishedBusiness/Patches/GameAdventureLogPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameAdventureLogPatcher.cs new file mode 100644 index 0000000000..c94ff4d3b9 --- /dev/null +++ b/SolastaUnfinishedBusiness/Patches/GameAdventureLogPatcher.cs @@ -0,0 +1,23 @@ +using System.Diagnostics.CodeAnalysis; +using HarmonyLib; +using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Models; + +namespace SolastaUnfinishedBusiness.Patches; + +[UsedImplicitly] +public static class GameAdventureLogPatcher +{ + //PATCH: supports speech feature + [HarmonyPatch(typeof(GameAdventureLog), nameof(GameAdventureLog.RecordLoreTextEntry))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class RecordLoreTextEntry_Patch + { + [UsedImplicitly] + public static void Prefix(string loreText) + { + SpeechContext.Speak(loreText, 0); + } + } +} diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationBanterManagerPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationBanterManagerPatcher.cs index 5d453b2452..54b467c60d 100644 --- a/SolastaUnfinishedBusiness/Patches/GameLocationBanterManagerPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/GameLocationBanterManagerPatcher.cs @@ -1,6 +1,7 @@ using System.Diagnostics.CodeAnalysis; using HarmonyLib; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Models; namespace SolastaUnfinishedBusiness.Patches; @@ -19,4 +20,17 @@ public static bool Prefix() return CharacterActionPatcher.ApplyStealthBreakerBehavior_Patch.ShouldBanter; } } + + //PATCH: supports speech feature + [HarmonyPatch(typeof(GameLocationBanterManager), nameof(GameLocationBanterManager.ForceBanterLine))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class ForceBanterLine_Patch + { + [UsedImplicitly] + public static void Prefix(string line, GameLocationCharacter speaker) + { + SpeechContext.Speak(line, speaker); + } + } } diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs index 91d29bc506..570cfc1b62 100644 --- a/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/GameLocationBattleManagerPatcher.cs @@ -148,7 +148,12 @@ public static void Postfix(ref bool __result, BattleDefinitions.AttackEvaluation if (attackAfterMagicEffect != null) { - __result = AttackAfterMagicEffect.CanAttack(attackParams.attacker, attackParams.defender, out _); + __result = AttackAfterMagicEffect.CanAttack( + attackParams.attacker, + attackParams.defender, + attackAfterMagicEffect.AllowMelee, + attackAfterMagicEffect.AllowRanged, + attackAfterMagicEffect.AllowThrown); } } } @@ -937,25 +942,25 @@ public static IEnumerator Postfix( yield return values.Current; } - if (__instance.Battle != null && attacker.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false }) + if (__instance.Battle != null && defender.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false }) { - //PATCH: allow custom behavior when physical attack finished - foreach (var feature in attacker.RulesetCharacter - .GetSubFeaturesByType()) + //PATCH: allow custom behavior when physical attack finished on defender + foreach (var feature in defender.RulesetCharacter + .GetSubFeaturesByType()) { - yield return feature.OnPhysicalAttackFinishedByMe( + yield return feature.OnPhysicalAttackFinishedOnMe( __instance, attackAction, attacker, defender, attackerAttackMode, attackRollOutcome, damageAmount); } } - if (__instance.Battle != null && defender.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false }) + if (__instance.Battle != null && attacker.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false }) { - //PATCH: allow custom behavior when physical attack finished on defender - foreach (var feature in defender.RulesetCharacter - .GetSubFeaturesByType()) + //PATCH: allow custom behavior when physical attack finished + foreach (var feature in attacker.RulesetCharacter + .GetSubFeaturesByType()) { - yield return feature.OnPhysicalAttackFinishedOnMe( + yield return feature.OnPhysicalAttackFinishedByMe( __instance, attackAction, attacker, defender, attackerAttackMode, attackRollOutcome, damageAmount); } diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationScreenNarrationPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationScreenNarrationPatcher.cs new file mode 100644 index 0000000000..9ee3f2cf87 --- /dev/null +++ b/SolastaUnfinishedBusiness/Patches/GameLocationScreenNarrationPatcher.cs @@ -0,0 +1,23 @@ +using System.Diagnostics.CodeAnalysis; +using HarmonyLib; +using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Models; + +namespace SolastaUnfinishedBusiness.Patches; + +[UsedImplicitly] +public static class GameLocationScreenNarrationPatcher +{ + //PATCH: supports speech feature + [HarmonyPatch(typeof(GameLocationScreenNarration), nameof(GameLocationScreenNarration.SpeechConcluded))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class SpeechConcluded_Patch + { + [UsedImplicitly] + public static void Prefix() + { + SpeechContext.ShutUp(); + } + } +} diff --git a/SolastaUnfinishedBusiness/Patches/InventoryPanelPatcher.cs b/SolastaUnfinishedBusiness/Patches/InventoryPanelPatcher.cs index dc6d1925cf..ceb42ec3db 100644 --- a/SolastaUnfinishedBusiness/Patches/InventoryPanelPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/InventoryPanelPatcher.cs @@ -4,6 +4,7 @@ using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Models; using UnityEngine; +using static ActionDefinitions; namespace SolastaUnfinishedBusiness.Patches; @@ -97,4 +98,40 @@ public static void Postfix(InventoryPanel __instance, bool __state) } } } + + //PATCH: enable unlimited inventory actions + [HarmonyPatch(typeof(InventoryPanel), nameof(InventoryPanel.SpendInventoryActionAsNeeded))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class SpendInventoryActionAsNeeded_Patch + { + [UsedImplicitly] + public static bool Prefix(InventoryPanel __instance, + RulesetInventorySlot newSlot, + bool allowDifferentSlot, + ref bool __result) + { + if ((newSlot == null || __instance.PreviousSlot == null || + (newSlot != __instance.PreviousSlot && !allowDifferentSlot)) && + __instance.GuiCharacter.GameLocationCharacter != null && + Gui.Battle != null && + __instance.InventoryManagementMode == InventoryManagementMode.Battle && + !Main.Settings.EnableUnlimitedInventoryActions && + __instance.GuiCharacter.GameLocationCharacter.GetActionTypeStatus(ActionType.FreeOnce) == + ActionStatus.Available) + { + ServiceRepository.GetService()?.SpendCharacterAction( + __instance.GuiCharacter.GameLocationCharacter, + ActionType.FreeOnce); + + __result = true; + + return false; + } + + __result = false; + + return false; + } + } } diff --git a/SolastaUnfinishedBusiness/Patches/InventoryShortcutsPanelPatcher.cs b/SolastaUnfinishedBusiness/Patches/InventoryShortcutsPanelPatcher.cs index 46828e0cee..a0418e1aca 100644 --- a/SolastaUnfinishedBusiness/Patches/InventoryShortcutsPanelPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/InventoryShortcutsPanelPatcher.cs @@ -5,6 +5,7 @@ using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.Helpers; using UnityEngine; +using static ActionDefinitions; namespace SolastaUnfinishedBusiness.Patches; @@ -82,4 +83,109 @@ public static bool MyTryFindTargetWieldedItem([NotNull] RulesetCharacter ruleset return targetItem != null || hero.TryFindTargetWieldedItem(out targetItem); } } + + //PATCH: enable unlimited inventory actions + [HarmonyPatch(typeof(InventoryShortcutsPanel), nameof(InventoryShortcutsPanel.BindConfigurations))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class BindConfigurationsPatch + { + [UsedImplicitly] + public static bool Prefix(InventoryShortcutsPanel __instance) + { + if (__instance.GuiCharacter?.RulesetCharacterHero == null) + { + return false; + } + + var wieldedItemsConfigurations = __instance.GuiCharacter.RulesetCharacterHero.CharacterInventory + .WieldedItemsConfigurations; + while (__instance.configurationsTable.childCount < wieldedItemsConfigurations.Count) + { + Gui.GetPrefabFromPool(__instance.wieldedConfigurationButtonPrefab, __instance.configurationsTable); + } + + for (var i = 0; i < wieldedItemsConfigurations.Count; i++) + { + var child = __instance.configurationsTable.GetChild(i); + child.gameObject.SetActive(true); + var component = child.GetComponent(); + component.Bind(__instance.GuiCharacter, i, wieldedItemsConfigurations[i], + __instance.OnConfigurationSwitched, + i == __instance.GuiCharacter.RulesetCharacterHero.CharacterInventory.CurrentConfiguration, + __instance.inMainHud, + __instance.forceRefresh, + __instance.tooltipAnchor); + var flag = false; + if (__instance.GuiCharacter.GameLocationCharacter != null) + { + var service = ServiceRepository.GetService(); + var flag2 = service?.ActivePlayerController?.IsCharacterControlled(__instance.GuiCharacter + .GameLocationCharacter); + flag = flag2 ?? true; + } + else if (__instance.GuiCharacter.GameCampaignCharacter != null) + { + var service2 = ServiceRepository.GetService(); + var flag3 = service2?.ActivePlayerController?.IsCharacterControlled(__instance.GuiCharacter + .RulesetCharacter); + flag = flag3 ?? true; + } + + if (!flag) + { + component.Interactable = false; + component.Tooltip.Content = component.TooltipContent; + } + else if (__instance.GuiCharacter.GameLocationCharacter != null && + __instance.GuiCharacter.GameLocationCharacter.HasForcedActionOrManipulation()) + { + component.Interactable = false; + component.Tooltip.Content = component.TooltipContent; + } + else + { + switch (Main.Settings.EnableUnlimitedInventoryActions) + { + case false when + Gui.Battle != null && + __instance.GuiCharacter.GameLocationCharacter != null && + __instance.GuiCharacter.GameLocationCharacter.GetActionTypeStatus(ActionType.FreeOnce) == + ActionStatus.Spent && !__instance.ItemSelectionInProgress: + component.Tooltip.Content = Gui.FormatFailure(component.TooltipContent, + "Failure/&FailureFlagFreeOnceActionSpent"); + component.Interactable = false; + break; + case false when + Gui.Battle != null && + __instance.GuiCharacter.GameLocationCharacter != null && + __instance.GuiCharacter.GameLocationCharacter.GetActionTypeStatus(ActionType.FreeOnce) == + ActionStatus.Unavailable && !__instance.ItemSelectionInProgress: + component.Tooltip.Content = Gui.FormatFailure(component.TooltipContent, + "Failure/&FailureFlagFreeOnceActionUnavailable"); + component.Interactable = false; + break; + case true when + __instance.GuiCharacter.GameLocationCharacter != null: + __instance.GuiCharacter.GameLocationCharacter.RefundActionUse(ActionType.FreeOnce); + + component.Interactable = true; + component.Tooltip.Content = component.TooltipContent; + break; + default: + component.Interactable = true; + component.Tooltip.Content = component.TooltipContent; + break; + } + } + } + + for (var j = wieldedItemsConfigurations.Count; j < __instance.configurationsTable.childCount; j++) + { + __instance.configurationsTable.GetChild(j).gameObject.SetActive(false); + } + + return false; + } + } } diff --git a/SolastaUnfinishedBusiness/Patches/NarrativeStateCharacterSpeechPatcher.cs b/SolastaUnfinishedBusiness/Patches/NarrativeStateCharacterSpeechPatcher.cs index 807332931c..47979e16c0 100644 --- a/SolastaUnfinishedBusiness/Patches/NarrativeStateCharacterSpeechPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/NarrativeStateCharacterSpeechPatcher.cs @@ -2,6 +2,7 @@ using HarmonyLib; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.Helpers; +using SolastaUnfinishedBusiness.Models; namespace SolastaUnfinishedBusiness.Patches; @@ -14,15 +15,16 @@ public static class NarrativeStateCharacterSpeechPatcher public static class RecordSpeechLine_Patch { [UsedImplicitly] - public static void Postfix(string speakerName, string textLine) + public static void Postfix(NarrativeStateCharacterSpeech __instance, string speakerName, string textLine) { + //PATCH: supports speech feature + SpeechContext.Speak(textLine, __instance.speaker); + //PATCH: EnableLogDialoguesToConsole - if (!Main.Settings.EnableLogDialoguesToConsole) + if (Main.Settings.EnableLogDialoguesToConsole) { - return; + GameConsoleHelper.LogCharacterConversationLine(speakerName, textLine, false); } - - GameConsoleHelper.LogCharacterConversationLine(speakerName, textLine, false); } } } diff --git a/SolastaUnfinishedBusiness/Patches/NarrativeStateNpcSpeechPatcher.cs b/SolastaUnfinishedBusiness/Patches/NarrativeStateNpcSpeechPatcher.cs index e17e022221..3385173111 100644 --- a/SolastaUnfinishedBusiness/Patches/NarrativeStateNpcSpeechPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/NarrativeStateNpcSpeechPatcher.cs @@ -2,6 +2,7 @@ using HarmonyLib; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.Helpers; +using SolastaUnfinishedBusiness.Models; namespace SolastaUnfinishedBusiness.Patches; @@ -14,15 +15,16 @@ public static class NarrativeStateNpcSpeechPatcher public static class RecordSpeechLine_Patch { [UsedImplicitly] - public static void Postfix(string speakerName, string textLine) + public static void Postfix(NarrativeStateNpcSpeech __instance, string speakerName, string textLine) { + //PATCH: supports speech feature + SpeechContext.SpeakNpc(textLine, __instance.speaker); + //PATCH: EnableLogDialoguesToConsole - if (!Main.Settings.EnableLogDialoguesToConsole) + if (Main.Settings.EnableLogDialoguesToConsole) { - return; + GameConsoleHelper.LogCharacterConversationLine(speakerName, textLine, true); } - - GameConsoleHelper.LogCharacterConversationLine(speakerName, textLine, true); } } } diff --git a/SolastaUnfinishedBusiness/Patches/PosterScreenPatcher.cs b/SolastaUnfinishedBusiness/Patches/PosterScreenPatcher.cs new file mode 100644 index 0000000000..4bdf0d341b --- /dev/null +++ b/SolastaUnfinishedBusiness/Patches/PosterScreenPatcher.cs @@ -0,0 +1,23 @@ +using System.Diagnostics.CodeAnalysis; +using HarmonyLib; +using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Models; + +namespace SolastaUnfinishedBusiness.Patches; + +[UsedImplicitly] +public static class PosterScreenPatcher +{ + //PATCH: supports speech feature + [HarmonyPatch(typeof(PosterScreen), nameof(PosterScreen.ProceedAndHide))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class ProceedAndHide_Patch + { + [UsedImplicitly] + public static void Prefix() + { + SpeechContext.ShutUp(); + } + } +} diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterHeroPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterHeroPatcher.cs index 4767adc86a..d800fd9b68 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterHeroPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterHeroPatcher.cs @@ -1182,6 +1182,11 @@ public static void Postfix(RulesetCharacterHero __instance) { __instance.afterRestActions.RemoveAll(activity => { + if (!Tabletop2024Context.IsRestActivityMemorizeSpellAvailable(activity, __instance)) + { + return true; + } + if (!Level20Context.WizardSpellMastery.IsRestActivityAvailable(activity, __instance)) { return true; diff --git a/SolastaUnfinishedBusiness/Patches/RulesetImplementationManagerLocationPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetImplementationManagerLocationPatcher.cs index 09f8e0f785..a6a69666aa 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetImplementationManagerLocationPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetImplementationManagerLocationPatcher.cs @@ -10,6 +10,7 @@ using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; +using SolastaUnfinishedBusiness.Models; using SolastaUnfinishedBusiness.Spells; using SolastaUnfinishedBusiness.Validators; using TA; @@ -42,6 +43,26 @@ public static void Postfix( [UsedImplicitly] public static class IsMetamagicOptionAvailable_Patch { + private static int RemainingSorceryPoints(RulesetCharacter caster, RulesetEffectSpell rulesetEffectSpell) + { + return Tabletop2024Context.IsArcaneApotheosisValid(caster, rulesetEffectSpell) + ? 9999 + : caster.RemainingSorceryPoints; + } + + [UsedImplicitly] + public static IEnumerable Transpiler([NotNull] IEnumerable instructions) + { + var remainingSorceryPointsMethod = typeof(RulesetCharacter).GetMethod("get_RemainingSorceryPoints"); + var myRemainingSorceryPointsMethod = + new Func(RemainingSorceryPoints).Method; + + return instructions.ReplaceCalls(remainingSorceryPointsMethod, + "CharacterActionCastSpell.RemoveConcentrationAsNeeded", + new CodeInstruction(OpCodes.Ldarg_1), + new CodeInstruction(OpCodes.Call, myRemainingSorceryPointsMethod)); + } + [UsedImplicitly] public static void Postfix( ref bool __result, @@ -50,6 +71,11 @@ public static void Postfix( MetamagicOptionDefinition metamagicOption, ref string failure) { + if (!__result) + { + return; + } + //PATCH: support for custom metamagic foreach (var validator in metamagicOption.GetAllSubFeaturesOfType()) { @@ -161,6 +187,13 @@ public static bool Prefix(EffectForm effectForm, RulesetImplementationDefinition return useDefaultLogic; } + [UsedImplicitly] + public static void Postfix(RulesetImplementationDefinitions.ApplyFormsParams formsParams) + { + GrappleContext.ValidateGrappleAfterMotion(GameLocationCharacter.GetFromActor(formsParams.sourceCharacter)); + GrappleContext.ValidateGrappleAfterMotion(GameLocationCharacter.GetFromActor(formsParams.targetCharacter)); + } + private static bool CustomSwap( EffectForm effectForm, RulesetImplementationDefinitions.ApplyFormsParams formsParams) diff --git a/SolastaUnfinishedBusiness/Patches/SpellRepertoirePanelPatcher.cs b/SolastaUnfinishedBusiness/Patches/SpellRepertoirePanelPatcher.cs index 92ee500cfb..bc5d7367cf 100644 --- a/SolastaUnfinishedBusiness/Patches/SpellRepertoirePanelPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/SpellRepertoirePanelPatcher.cs @@ -7,6 +7,7 @@ using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Models; using TMPro; using UnityEngine; using static SolastaUnfinishedBusiness.Models.Level20Context; @@ -51,10 +52,11 @@ public static class OnSpellSelectedForPreparation_Patch public static bool Prefix(SpellRepertoirePanel __instance, SpellBox spellBox) { var rulesetCharacter = __instance.GuiCharacter.RulesetCharacter; + var spellDefinition = spellBox.SpellDefinition; - return - !WizardSpellMastery.IsInvalidSelectedSpell(rulesetCharacter, spellBox.SpellDefinition) && - !WizardSignatureSpells.IsInvalidSelectedSpell(rulesetCharacter, spellBox.SpellDefinition); + return !Tabletop2024Context.IsInvalidMemorizeSelectedSpell(__instance, rulesetCharacter, spellDefinition) && + !WizardSpellMastery.IsInvalidSelectedSpell(rulesetCharacter, spellDefinition) && + !WizardSignatureSpells.IsInvalidSelectedSpell(rulesetCharacter, spellDefinition); } } @@ -79,16 +81,35 @@ public static IEnumerable Transpiler([NotNull] IEnumerable().text = title; descriptionTransform!.gameObject.SetActive(showDesc); + // not the best solution but this object is getting re-activated somewhere else so moving off-screen - automateButtonTransform!.localPosition = showButton ? new Vector3(-12.5f, -61) : new Vector3(-1000, -1000); - titleTransform!.GetComponentInChildren().text = title; + automateButtonTransform!.localPosition = showAutoButton + ? new Vector3(-12.5f, -61) + : new Vector3(-1000, -1000); + + clearButtonTransform!.gameObject.SetActive(showClearRevertButtons); + revertButtonTransform!.gameObject.SetActive(showClearRevertButtons); + + if (byPassInstruction != null) + { + instructionTransform!.GetComponentInChildren().text = byPassInstruction; + } } private static void RefreshInteractivePreparation( @@ -100,21 +121,26 @@ private static void RefreshInteractivePreparation( { var rulesetCharacter = spellRepertoirePanel.GuiCharacter.RulesetCharacter; - if (WizardSpellMastery.IsPreparation(rulesetCharacter, out _)) + if (Tabletop2024Context.IsMemorizeSpellPreparation(rulesetCharacter)) { RepaintPanel( - spellRepertoirePanel, - Gui.Localize(WizardSpellMastery.FeatureSpellMastery.GuiPresentation.Title), - true, false); + spellRepertoirePanel, Tabletop2024Context.FeatureMemorizeSpell.FormatTitle(), + false, false, false, + Gui.Localize("Screen/&PreparePanelMemorizeSpellSelect")); + } + else if (WizardSpellMastery.IsPreparation(rulesetCharacter, out _)) + { + RepaintPanel( + spellRepertoirePanel, WizardSpellMastery.FeatureSpellMastery.FormatTitle(), + true, false, true); canSelectSpells = spellsByLevelGroup.SpellLevel is 1 or 2; } else if (WizardSignatureSpells.IsPreparation(rulesetCharacter, out _)) { RepaintPanel( - spellRepertoirePanel, - Gui.Localize(WizardSignatureSpells.PowerSignatureSpells.GuiPresentation.Title), - Main.Settings.EnableSignatureSpellsRelearn, false); + spellRepertoirePanel, WizardSignatureSpells.PowerSignatureSpells.FormatTitle(), + Main.Settings.EnableSignatureSpellsRelearn, false, true); canSelectSpells = spellsByLevelGroup.SpellLevel is 3; } @@ -123,7 +149,7 @@ private static void RefreshInteractivePreparation( RepaintPanel( spellRepertoirePanel, Gui.Localize("Screen/&PreparePanelTitle"), - true, true); + true, true, true); } spellsByLevelGroup.RefreshInteractivePreparation(canSelectSpells, maxReached, preparedSpells); diff --git a/SolastaUnfinishedBusiness/Patches/UserCampaignEditorScreenPatcher.cs b/SolastaUnfinishedBusiness/Patches/UserCampaignEditorScreenPatcher.cs index 6c1fede8ba..fb870a01bd 100644 --- a/SolastaUnfinishedBusiness/Patches/UserCampaignEditorScreenPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/UserCampaignEditorScreenPatcher.cs @@ -1,7 +1,7 @@ -using System; -using System.Diagnostics.CodeAnalysis; +using System.Diagnostics.CodeAnalysis; using HarmonyLib; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Builders; namespace SolastaUnfinishedBusiness.Patches; @@ -22,24 +22,15 @@ public static void Prefix(UserCampaign campaign) return; } - campaign.userLocations.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userDialogs.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userItems.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userMonsters.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userNpcs.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userQuests.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userVariables.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userLootPacks.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); - campaign.userMerchantInventories.Sort((a, b) => - string.Compare(a.Title, b.Title, StringComparison.CurrentCultureIgnoreCase)); + campaign.userLocations.Sort(Sorting.CompareTitle); + campaign.userDialogs.Sort(Sorting.CompareTitle); + campaign.userItems.Sort(Sorting.CompareTitle); + campaign.userMonsters.Sort(Sorting.CompareTitle); + campaign.userNpcs.Sort(Sorting.CompareTitle); + campaign.userQuests.Sort(Sorting.CompareTitle); + campaign.userVariables.Sort(Sorting.CompareTitle); + campaign.userLootPacks.Sort(Sorting.CompareTitle); + campaign.userMerchantInventories.Sort(Sorting.CompareTitle); } } } diff --git a/SolastaUnfinishedBusiness/Patches/WorldLocationPatcher.cs b/SolastaUnfinishedBusiness/Patches/WorldLocationPatcher.cs index 41c5711203..62430be5a5 100644 --- a/SolastaUnfinishedBusiness/Patches/WorldLocationPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/WorldLocationPatcher.cs @@ -6,6 +6,7 @@ using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Models; using UnityEngine; namespace SolastaUnfinishedBusiness.Patches; @@ -30,6 +31,7 @@ public static void Prefix(WorldLocation __instance, UserLocation userLocation) public static void Postfix(WorldLocation __instance) { DungeonMakerCustomRooms.FixFlatRoomReflectionProbe(__instance); + SpeechContext.CollectCustomCampaignVoiceData(); } [NotNull] diff --git a/SolastaUnfinishedBusiness/Portraits/Atelier.png b/SolastaUnfinishedBusiness/Portraits/Atelier.png new file mode 100644 index 0000000000..e2cff20e18 Binary files /dev/null and b/SolastaUnfinishedBusiness/Portraits/Atelier.png differ diff --git a/SolastaUnfinishedBusiness/Portraits/Eder.png b/SolastaUnfinishedBusiness/Portraits/Eder.png new file mode 100644 index 0000000000..a98c5f2301 Binary files /dev/null and b/SolastaUnfinishedBusiness/Portraits/Eder.png differ diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Eryx.png b/SolastaUnfinishedBusiness/Portraits/Eryx.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Eryx.png rename to SolastaUnfinishedBusiness/Portraits/Eryx.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Grog.png b/SolastaUnfinishedBusiness/Portraits/Grog.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Grog.png rename to SolastaUnfinishedBusiness/Portraits/Grog.png diff --git a/SolastaUnfinishedBusiness/Portraits/Gunga_Din.png b/SolastaUnfinishedBusiness/Portraits/Gunga_Din.png new file mode 100644 index 0000000000..93de398596 Binary files /dev/null and b/SolastaUnfinishedBusiness/Portraits/Gunga_Din.png differ diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Keyleth.png b/SolastaUnfinishedBusiness/Portraits/Keyleth.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Keyleth.png rename to SolastaUnfinishedBusiness/Portraits/Keyleth.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Khali.png b/SolastaUnfinishedBusiness/Portraits/Khali.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Khali.png rename to SolastaUnfinishedBusiness/Portraits/Khali.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Chuck.png b/SolastaUnfinishedBusiness/Portraits/Personal/Chuck.png new file mode 100644 index 0000000000..8a36432994 Binary files /dev/null and b/SolastaUnfinishedBusiness/Portraits/Personal/Chuck.png differ diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Lawmanus.png b/SolastaUnfinishedBusiness/Portraits/Personal/Lawmanus.png deleted file mode 100644 index 789ee7bae4..0000000000 Binary files a/SolastaUnfinishedBusiness/Portraits/Personal/Lawmanus.png and /dev/null differ diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Zappastuff.png b/SolastaUnfinishedBusiness/Portraits/Personal/Wolf.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Zappastuff.png rename to SolastaUnfinishedBusiness/Portraits/Personal/Wolf.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Pike.png b/SolastaUnfinishedBusiness/Portraits/Pike.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Pike.png rename to SolastaUnfinishedBusiness/Portraits/Pike.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Scanlan.png b/SolastaUnfinishedBusiness/Portraits/Scanlan.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Scanlan.png rename to SolastaUnfinishedBusiness/Portraits/Scanlan.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Serath.png b/SolastaUnfinishedBusiness/Portraits/Serath.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Serath.png rename to SolastaUnfinishedBusiness/Portraits/Serath.png diff --git a/SolastaUnfinishedBusiness/Portraits/Siphernia.png b/SolastaUnfinishedBusiness/Portraits/Siphernia.png new file mode 100644 index 0000000000..27fcf55e93 Binary files /dev/null and b/SolastaUnfinishedBusiness/Portraits/Siphernia.png differ diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Vax.png b/SolastaUnfinishedBusiness/Portraits/Vax.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Vax.png rename to SolastaUnfinishedBusiness/Portraits/Vax.png diff --git a/SolastaUnfinishedBusiness/Portraits/Personal/Vex.png b/SolastaUnfinishedBusiness/Portraits/Vex.png similarity index 100% rename from SolastaUnfinishedBusiness/Portraits/Personal/Vex.png rename to SolastaUnfinishedBusiness/Portraits/Vex.png diff --git a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs index 0641900f1f..6ebf648daa 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs +++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs @@ -749,6 +749,16 @@ public static byte[] BlastOverload { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] BlessedWarrior { + get { + object obj = ResourceManager.GetObject("BlessedWarrior", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -1269,6 +1279,16 @@ public static byte[] DraconicTransformation { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] DruidicWarrior { + get { + object obj = ResourceManager.GetObject("DruidicWarrior", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -4182,6 +4202,16 @@ public static byte[] RangerWildMaster { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] RayOfSickness { + get { + object obj = ResourceManager.GetObject("RayOfSickness", 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 8c87e13f5f..f8b85afd36 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.resx +++ b/SolastaUnfinishedBusiness/Properties/Resources.resx @@ -1310,6 +1310,16 @@ PublicKeyToken=b03f5f7f11d50a3a + + ../Resources/FightingStyles/BlessedWarrior.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b03f5f7f11d50a3a + + + + ../Resources/FightingStyles/DruidicWarrior.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b03f5f7f11d50a3a + + ../Resources/FightingStyles/Crippling.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -1719,6 +1729,11 @@ PublicKeyToken=b03f5f7f11d50a3a + + ../Resources/Spells/RayOfSickness.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b03f5f7f11d50a3a + + ../Resources/Spells/WrathfulSmite.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/SolastaUnfinishedBusiness/Races/Imp.cs b/SolastaUnfinishedBusiness/Races/Imp.cs index 3228267306..2da4024c64 100644 --- a/SolastaUnfinishedBusiness/Races/Imp.cs +++ b/SolastaUnfinishedBusiness/Races/Imp.cs @@ -131,6 +131,7 @@ private static CharacterRaceDefinition BuildImpBadland(CharacterRaceDefinition r .Create($"Power{NAME}DrawInspiration") .SetGuiPresentation(Category.Feature) .SetUsesProficiencyBonus(ActivationTime.NoCost) + .SetShowCasting(false) .AddToDB(); powerImpBadlandDrawInspiration.AddCustomSubFeatures( diff --git a/SolastaUnfinishedBusiness/Races/Oni.cs b/SolastaUnfinishedBusiness/Races/Oni.cs index b0fe006e06..4ba23089e4 100644 --- a/SolastaUnfinishedBusiness/Races/Oni.cs +++ b/SolastaUnfinishedBusiness/Races/Oni.cs @@ -95,7 +95,7 @@ private static CharacterRaceDefinition BuildOni() availableMorphotypeCategories.Add(MorphotypeElementDefinition.ElementCategory.Horns); - racePresentation.availableMorphotypeCategories = availableMorphotypeCategories.ToArray(); + racePresentation.availableMorphotypeCategories = [.. availableMorphotypeCategories]; racePresentation.maleHornsOptions = []; racePresentation.hornsTailAssetPrefix = Tiefling.RacePresentation.hornsTailAssetPrefix; racePresentation.maleHornsOptions.AddRange(Tiefling.RacePresentation.maleHornsOptions); diff --git a/SolastaUnfinishedBusiness/Resources/FightingStyles/BlessedWarrior.png b/SolastaUnfinishedBusiness/Resources/FightingStyles/BlessedWarrior.png new file mode 100644 index 0000000000..05a037e1f8 Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/FightingStyles/BlessedWarrior.png differ diff --git a/SolastaUnfinishedBusiness/Resources/FightingStyles/DruidicWarrior.png b/SolastaUnfinishedBusiness/Resources/FightingStyles/DruidicWarrior.png new file mode 100644 index 0000000000..60362a732f Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/FightingStyles/DruidicWarrior.png differ diff --git a/SolastaUnfinishedBusiness/Resources/Spells/RayOfSickness.png b/SolastaUnfinishedBusiness/Resources/Spells/RayOfSickness.png new file mode 100644 index 0000000000..14c70b9c35 Binary files /dev/null and b/SolastaUnfinishedBusiness/Resources/Spells/RayOfSickness.png differ diff --git a/SolastaUnfinishedBusiness/Resources/UI/ContentPack.png b/SolastaUnfinishedBusiness/Resources/UI/ContentPack.png index b898a8800c..06f0d0adc2 100644 Binary files a/SolastaUnfinishedBusiness/Resources/UI/ContentPack.png and b/SolastaUnfinishedBusiness/Resources/UI/ContentPack.png differ diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 91135aa2c8..badbf51d28 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -67,9 +67,9 @@ public class Settings : UnityModManager.ModSettings // public bool EnablePcgRandom { get; set; } - public bool EnableCustomPortraits { get; set; } + public bool EnableCustomPortraits { get; set; } = true; public bool DisableMultilineSpellOffering { get; set; } - public bool DisableUnofficialTranslations { get; set; } + public bool DisableUnofficialTranslations { get; set; } = true; // // Gameplay - Rules @@ -89,6 +89,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableHelpAction { get; set; } public bool EnableRespecAction { get; set; } public bool EnableUnarmedMainAttackAction { get; set; } + public bool EnableUnlimitedInventoryActions { get; set; } public bool UseOfficialAdvantageDisadvantageRules { get; set; } public bool UseAlternateSpellPointsSystem { get; set; } public bool UseOfficialFlankingRules { get; set; } @@ -143,6 +144,11 @@ public class Settings : UnityModManager.ModSettings public bool EnableAdditionalIconsOnLevelMap { get; set; } public bool HideExitsAndTeleportersGizmosIfNotDiscovered { get; set; } public bool EnableLogDialoguesToConsole { get; set; } + public bool EnableSpeech { get; set; } + public bool EnableSpeechOnNpcs { get; set; } + public bool ForceModSpeechOnNpcs { get; set; } + public int SpeechChoice { get; set; } + public SerializableDictionary SpeechVoices { get; set; } = []; public bool EnableHeroWithBestProficiencyToRollChoice { get; set; } public bool MarkInvisibleTeleportersOnLevelMap { get; set; } public bool EnableAlternateVotingSystem { get; set; } @@ -279,6 +285,8 @@ public class Settings : UnityModManager.ModSettings public bool AddFighterLevelToIndomitableSavingReroll { get; set; } public bool AddPersuasionToFighterSkillOptions { get; set; } public bool EnableSecondWindToUseOneDndUsagesProgression { get; set; } + public bool EnableFighterStudiedAttacks { get; set; } + public bool EnableFighterTacticalProgression { get; set; } public bool EnableFighterWeaponSpecialization { get; set; } public bool AddHumanoidFavoredEnemyToRanger { get; set; } public bool EnableRangerNatureShroudAt14 { get; set; } @@ -301,17 +309,20 @@ public class Settings : UnityModManager.ModSettings public bool ShowChannelDivinityOnPortrait { get; set; } public bool EnableRogueCunningStrike { get; set; } public bool EnableRogueFightingStyle { get; set; } + public bool EnableRogueReliableTalentAt7 { get; set; } public bool EnableRogueSlipperyMind { get; set; } public bool EnableRogueSteadyAim { get; set; } public bool RemoveRogueBlindSense { get; set; } - public bool EnableSorcererInnateSorceryAt1 { get; set; } + public bool EnableSorcererArcaneApotheosis { get; set; } + public bool EnableSorcererInnateSorceryAndSorceryIncarnate { get; set; } public bool EnableSorcererMagicalGuidance { get; set; } public bool EnableSorcererQuickenedAction { get; set; } public bool HideQuickenedActionWhenMetamagicOff { get; set; } - public bool EnableSorcerousRestorationAtLevel5 { get; set; } + public bool EnableSorcererSorcerousRestoration { get; set; } public bool EnableWarlockToUseOneDndInvocationProgression { get; set; } public bool EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20 { get; set; } public bool EnableWarlockToLearnPatronAtLevel3 { get; set; } + public bool EnableWizardMemorizeSpell { get; set; } public bool EnableWizardToLearnScholarAtLevel2 { get; set; } public bool EnableWizardToLearnSchoolAtLevel3 { get; set; } public bool EnableSignatureSpellsRelearn { get; set; } @@ -385,9 +396,13 @@ public class Settings : UnityModManager.ModSettings public bool EnableOneDndHealingSpellsUpgrade { get; set; } public bool EnableOneDndDivineFavorSpell { get; set; } public bool EnableOneDndGuidanceSpell { get; set; } + public bool EnableOneDndHideousLaughterSpell { get; set; } + public bool EnableOneDndHuntersMarkSpell { get; set; } public bool EnableOneDndLesserRestorationSpell { get; set; } public bool EnableOneDndMagicWeaponSpell { get; set; } - public bool EnableOneDndPowerWordKillSpell { get; set; } + public bool EnableOneDndPowerWordStunSpell { get; set; } + public bool EnableOneDndSpareTheDyingSpell { get; set; } + public bool EnableOneDndSpiderClimbSpell { get; set; } public bool EnableOneDndStoneSkinSpell { get; set; } public bool EnableOneDndTrueStrikeCantrip { get; set; } public bool AllowHasteCasting { get; set; } diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 42a94e742f..755c86d5ea 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -220,9 +220,9 @@ true true false - false + true false - false + true false false false @@ -237,6 +237,7 @@ false false false + false false false false @@ -289,6 +290,89 @@ false false false + false + false + false + 0 + + + + 0 + + + + No Voice + 0.8 + + + + + + 1 + + + + No Voice + 0.8 + + + + + + 2 + + + + No Voice + 0.8 + + + + + + 3 + + + + No Voice + 0.8 + + + + + + 4 + + + + No Voice + 0.8 + + + + + + 5 + + + + No Voice + 0.8 + + + + + + 6 + + + + No Voice + 0.8 + + + + false false false @@ -565,6 +649,8 @@ false false false + false + false false false false @@ -588,18 +674,21 @@ false false false + false false false false - false + false + false false false false - false + false false false false + false false false false @@ -660,9 +749,13 @@ false false false + false + false false false - false + false + false + false false false false @@ -1060,4 +1153,8 @@ false false false + 0 + false + false + false \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index c925939c4e..d52aeb2ddc 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -1,6 +1,6 @@ - 1 + 2 0 0 false @@ -237,6 +237,7 @@ true true true + false false false false @@ -289,6 +290,89 @@ true true true + true + true + false + 0 + + + + 0 + + + + No Voice + 0.8 + + + + + + 1 + + + + No Voice + 1 + + + + + + 2 + + + + No Voice + 1 + + + + + + 3 + + + + No Voice + 1 + + + + + + 4 + + + + No Voice + 1 + + + + + + 5 + + + + No Voice + 1 + + + + + + 6 + + + + No Voice + 1 + + + + true true true @@ -607,6 +691,8 @@ true true true + true + true false true true @@ -630,18 +716,21 @@ true true false + true true true true - true + true + true true true true - true + true true true true + true true true false @@ -924,10 +1013,14 @@ true true true - true true + true + true + true true - true + true + true + true true true true diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj index 9ae5f854ff..48f0d3d5b5 100644 --- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj +++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj @@ -2,8 +2,8 @@ 12 - net48 - 1.5.97.39 + net481 + 1.5.97.40 https://github.com/SolastaMods/SolastaUnfinishedBusiness git Debug Install;Release Install @@ -57,6 +57,13 @@ + + all + runtime; build; native; contentfiles; analyzers + + + all + @@ -100,6 +107,9 @@ ../lib/Tomlet.dll + + ../lib/NAudio.dll + @@ -127,6 +137,10 @@ $(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.AssetBundleModule.dll false + + $(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.AudioModule.dll + false + $(SolastaInstallDir)/Solasta_Data/Managed/UnityEngine.CoreModule.dll false diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs index 90a48156fb..e46fffd68b 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs @@ -753,7 +753,7 @@ internal static SpellDefinition BuildSunlightBlade() ConditionForm.ConditionOperation.Add, true)) .SetParticleEffectParameters(DivineFavor) .Build()) - .AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.Marker) + .AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.MarkerMeleeWeaponAttack) .AddToDB(); return spell; @@ -1019,7 +1019,7 @@ internal static SpellDefinition BuildBoomingBlade() ConditionForm.ConditionOperation.Add, true)) .SetParticleEffectParameters(Shatter) .Build()) - .AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.Marker) + .AddCustomSubFeatures(FixesContext.NoTwinned.Mark, AttackAfterMagicEffect.MarkerMeleeWeaponAttack) .AddToDB(); // need to use same spell reference so power texts update properly on AllowBladeCantripsToUseReach setting @@ -1135,7 +1135,7 @@ internal static SpellDefinition BuildResonatingStrike() // should trigger before AttackAfterMagicEffect.IFilterTargetingCharacter new CustomBehaviorResonatingStrike(), FixesContext.NoTwinned.Mark, - AttackAfterMagicEffect.Marker) + AttackAfterMagicEffect.MarkerMeleeWeaponAttack) .AddToDB(); // need to use same spell reference so power texts update properly on AllowBladeCantripsToUseReach setting @@ -1156,14 +1156,14 @@ public bool IsValid(CursorLocationSelectTarget __instance, GameLocationCharacter // handle first target like AttackAfterMagicEffect if (__instance.SelectionService.SelectedTargets.Count == 0) { - if (AttackAfterMagicEffect.CanAttack(__instance.ActionParams.ActingCharacter, target, out var isReach)) + var attacker = __instance.ActionParams.ActingCharacter; + + if (AttackAfterMagicEffect.CanAttack(attacker, target, true, false, false)) { return true; } - var text = isReach ? "Feedback/&WithinReach" : "Feedback/&Within5Ft"; - - __instance.actionModifier.FailureFlags.Add(Gui.Format("Failure/&TargetMeleeWeaponError", text)); + __instance.actionModifier.FailureFlags.Add(Gui.Localize("Failure/&CannotAttackTarget")); return false; } @@ -1337,7 +1337,7 @@ public IEnumerator OnMagicEffectBeforeHitConfirmedOnEnemy( bool firstTarget, bool criticalHit) { - if (rulesetEffect == null || rulesetEffect.SourceDefinition != spellTollTheDead) + if (rulesetEffect.SourceDefinition != spellTollTheDead) { yield break; } diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs index 94cbed3c83..80446abccb 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs @@ -41,6 +41,8 @@ internal static SpellDefinition BuildCausticZap() .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalTargetsPerIncrement: 1) .SetParticleEffectParameters(ShockingGrasp) + .SetImpactEffectParameters(AcidSplash) + .SetSpeedAndImpactOffset(SpeedType.CellsPerSeconds, 12) .SetEffectForms( EffectFormBuilder .Create() @@ -378,6 +380,42 @@ internal static SpellDefinition BuildRadiantMotes() #endregion + #region Ray of Sickness + + internal static SpellDefinition BuildRayOfSickness() + { + const string NAME = "RayOfSickness"; + + var spell = SpellDefinitionBuilder + .Create(NAME) + .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.RayOfSickness, 128)) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy) + .SetSpellLevel(1) + .SetCastingTime(ActivationTime.Action) + .SetMaterialComponent(MaterialComponentType.None) + .SetVerboseComponent(true) + .SetSomaticComponent(true) + .SetVocalSpellSameType(VocalSpellSemeType.Attack) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) + .SetTargetingData(Side.Enemy, RangeType.RangeHit, 12, TargetType.Individuals) + .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, + additionalDicePerIncrement: 1) + .SetEffectForms( + EffectFormBuilder.DamageForm(DamageTypePoison, 2, DieType.D8), + EffectFormBuilder.ConditionForm(ConditionDefinitions.ConditionPoisoned)) + .SetParticleEffectParameters(PoisonSpray) + .SetEffectEffectParameters(Disintegrate) + .Build()) + .AddToDB(); + + return spell; + } + + #endregion + #region Searing Smite internal static SpellDefinition BuildSearingSmite() @@ -449,16 +487,6 @@ internal static SpellDefinition BuildWrathfulSmite() { const string NAME = "WrathfulSmite"; - var battlePackage = AiHelpers.BuildDecisionPackageBreakFree($"Condition{NAME}Enemy"); - - var conditionEnemy = ConditionDefinitionBuilder - .Create(ConditionDefinitions.ConditionFrightened, $"Condition{NAME}Enemy") - .SetParentCondition(ConditionDefinitions.ConditionFrightened) - .SetFixedAmount((int)AiHelpers.BreakFreeType.DoWisdomCheckAgainstCasterDC) - .SetBrain(battlePackage, true) - .SetFeatures(ActionAffinityGrappled) - .AddToDB(); - var additionalDamageWrathfulSmite = FeatureDefinitionAdditionalDamageBuilder .Create($"AdditionalDamage{NAME}") .SetGuiPresentation(NAME, Category.Spell) @@ -466,21 +494,26 @@ internal static SpellDefinition BuildWrathfulSmite() .SetAttackModeOnly() .SetRequiredProperty(RestrictedContextRequiredProperty.MeleeWeapon) .SetDamageDice(DieType.D6, 1) - .SetSpecificDamageType(DamageTypePsychic) + .SetSpecificDamageType(DamageTypeNecrotic) .SetAdvancement(AdditionalDamageAdvancement.SlotLevel) .SetSavingThrowData( EffectDifficultyClassComputation.SpellCastingFeature, - EffectSavingThrowType.None, + EffectSavingThrowType.Negates, AttributeDefinitions.Wisdom) .AddConditionOperation( new ConditionOperationDescription { operation = ConditionOperationDescription.ConditionOperation.Add, - conditionDefinition = conditionEnemy, + conditionDefinition = ConditionDefinitionBuilder + .Create(ConditionDefinitions.ConditionFrightened, $"Condition{NAME}Frightened") + .SetParentCondition(ConditionDefinitions.ConditionFrightened) + .SetSpecialDuration(DurationType.Minute, 1) + .SetFeatures() + .AddToDB(), hasSavingThrow = true, - canSaveToCancel = false, + canSaveToCancel = true, saveAffinity = EffectSavingThrowType.Negates, - saveOccurence = TurnOccurenceType.StartOfTurn + saveOccurence = TurnOccurenceType.EndOfTurn }) .SetImpactParticleReference(Fear.EffectDescription.EffectParticleParameters.impactParticleReference) .AddToDB(); @@ -496,7 +529,7 @@ internal static SpellDefinition BuildWrathfulSmite() var spell = SpellDefinitionBuilder .Create(BrandingSmite, NAME) .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.WrathfulSmite, 128)) - .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEvocation) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolNecromancy) .SetSpellLevel(1) .SetCastingTime(ActivationTime.BonusAction) .SetMaterialComponent(MaterialComponentType.None) @@ -508,7 +541,7 @@ internal static SpellDefinition BuildWrathfulSmite() .Create() .SetDurationData(DurationType.Minute, 1) .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) - // .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1) + .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, additionalDicePerIncrement: 1) .SetEffectForms(EffectFormBuilder.ConditionForm(conditionWrathfulSmite)) .SetParticleEffectParameters(Fear) .Build()) @@ -2873,7 +2906,8 @@ internal static SpellDefinition BuildWitchBolt() .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique) .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeLightning, 1, DieType.D12)) - .SetParticleEffectParameters(LightningBolt) + .SetParticleEffectParameters(ChainLightning) + .SetImpactEffectParameters(LightningBolt) .Build()) .AddToDB(); @@ -2910,7 +2944,8 @@ internal static SpellDefinition BuildWitchBolt() EffectFormBuilder.ConditionForm( conditionWitchBoltSelf, ConditionForm.ConditionOperation.Add, true)) - .SetParticleEffectParameters(LightningBolt) + .SetParticleEffectParameters(ChainLightning) + .SetImpactEffectParameters(LightningBolt) .Build()) .AddToDB(); diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs index 3861d8d126..c16cf9222e 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs @@ -561,6 +561,7 @@ internal static SpellDefinition BuildBorrowedKnowledge() .Create($"Power{NAME}{skill.Name}") .SetGuiPresentation(skill.GuiPresentation.Title, skill.GuiPresentation.Description) .SetSharedPool(ActivationTime.NoCost, powerPool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs index 185e15f6e4..f6058e3fc1 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs @@ -162,11 +162,19 @@ internal static SpellDefinition BuildCrusadersMantle() { const string NAME = "CrusadersMantle"; + var additionalDamageCrusadersMantle = FeatureDefinitionAdditionalDamageBuilder + .Create(FeatureDefinitionAdditionalDamages.AdditionalDamageDivineFavor, $"AdditionalDamage{NAME}") + .SetGuiPresentationNoContent(true) + .SetNotificationTag(NAME) + .SetAttackOnly() + .SetDamageDice(DieType.D4, 1) + .AddToDB(); + var conditionCrusadersMantle = ConditionDefinitionBuilder .Create($"Condition{NAME}") .SetGuiPresentation(Category.Condition, ConditionDivineFavor) .SetSilent(Silent.WhenAddedOrRemoved) - .AddFeatures(FeatureDefinitionAdditionalDamages.AdditionalDamageDivineFavor) + .AddFeatures(additionalDamageCrusadersMantle) .AddToDB(); var spell = SpellDefinitionBuilder @@ -189,6 +197,7 @@ internal static SpellDefinition BuildCrusadersMantle() .SetRecurrentEffect( RecurrentEffect.OnActivation | RecurrentEffect.OnTurnStart | RecurrentEffect.OnEnter) .SetEffectForms(EffectFormBuilder.ConditionForm(conditionCrusadersMantle)) + .SetCasterEffectParameters(HolyAura) .Build()) .AddToDB(); @@ -584,7 +593,7 @@ internal static SpellDefinition BuildAuraOfVitality() var powerAuraOfLife = FeatureDefinitionPowerBuilder .Create($"Power{NAME}") .SetGuiPresentation(NAME, Category.Spell, sprite) - .SetUsesFixed(ActivationTime.BonusAction) + .SetUsesFixed(ActivationTime.NoCost, RechargeRate.TurnStart) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs index f136b1f7cb..6b06483371 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs @@ -454,7 +454,7 @@ internal static SpellDefinition BuildBanishingSmite() var spell = SpellDefinitionBuilder .Create(BrandingSmite, NAME) .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.ThunderousSmite, 128)) - .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolAbjuration) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolConjuration) .SetSpellLevel(5) .SetCastingTime(ActivationTime.BonusAction) .SetMaterialComponent(MaterialComponentType.None) @@ -649,6 +649,7 @@ internal static SpellDefinition BuildEmpoweredKnowledge() .Create($"Power{NAME}{skill.Name}") .SetGuiPresentation(skill.GuiPresentation.Title, skill.GuiPresentation.Description) .SetSharedPool(ActivationTime.NoCost, powerPool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -1057,11 +1058,17 @@ internal static SpellDefinition BuildSwiftQuiver() var condition = ConditionDefinitionBuilder .Create($"Condition{NAME}") .SetGuiPresentation(NAME, Category.Spell, ConditionDefinitions.ConditionReckless) - .AddCustomSubFeatures(new AddExtraSwiftQuiverAttack( - ActionDefinitions.ActionType.Bonus, - ValidatorsCharacter.HasNoneOfConditions(ConditionMonkFlurryOfBlowsUnarmedStrikeBonus.Name))) + .SetPossessive() + .AddCustomSubFeatures( + new AddExtraSwiftQuiverAttack( + ActionDefinitions.ActionType.Bonus, + ValidatorsCharacter.HasNoneOfConditions(ConditionMonkFlurryOfBlowsUnarmedStrikeBonus.Name))) + .CopyParticleReferences(Haste) .AddToDB(); + condition.conditionParticleReference = + SpiderClimb.EffectDescription.EffectParticleParameters.conditionParticleReference; + var spell = SpellDefinitionBuilder .Create(NAME) .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.SwiftQuiver, 128)) @@ -1078,14 +1085,12 @@ internal static SpellDefinition BuildSwiftQuiver() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Minute, 1) - .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) - .SetEffectForms(EffectFormBuilder.ConditionForm(condition)) + // 24 seems to be the max range on Solasta ranged weapons + .SetTargetingData(Side.Enemy, RangeType.Distance, 24, TargetType.Individuals, 2) + .SetEffectForms(EffectFormBuilder.ConditionForm(condition, applyToSelf: true)) .SetCasterEffectParameters(WindWall) - .SetConditionEffectParameters( - Haste.EffectDescription.EffectParticleParameters.conditionStartParticleReference, - SpiderClimb.EffectDescription.EffectParticleParameters.conditionParticleReference, - Haste.EffectDescription.EffectParticleParameters.conditionEndParticleReference) .Build()) + .AddCustomSubFeatures(AttackAfterMagicEffect.MarkerRangedWeaponAttack) .AddToDB(); return spell; diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs index 7068c4861c..6b8abceb96 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs @@ -1,9 +1,7 @@ using System.Collections; -using System.Collections.Generic; using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.CustomUI; @@ -77,7 +75,8 @@ internal static SpellDefinition BuildInvulnerability() .SetFeatures( DatabaseRepository.GetDatabase() .Select(damageType => - FeatureDefinitionDamageAffinityBuilder.Create($"DamageAffinity{NAME}{damageType.Name}") + FeatureDefinitionDamageAffinityBuilder + .Create($"DamageAffinity{NAME}{damageType.Name}") .SetGuiPresentationNoContent(true) .SetDamageType(damageType.Name) .SetDamageAffinityType(DamageAffinityType.Immunity) @@ -195,56 +194,6 @@ internal static SpellDefinition BuildMeteorSwarmSingleTarget() #endregion - #region Power Word Heal - - internal static SpellDefinition BuildPowerWordHeal() - { - return SpellDefinitionBuilder - .Create("PowerWordHeal") - .SetGuiPresentation(Category.Spell, Sprites.GetSprite("PowerWordHeal", Resources.PowerWordHeal, 128)) - .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment) - .SetSpellLevel(9) - .SetCastingTime(ActivationTime.Action) - .SetMaterialComponent(MaterialComponentType.None) - .SetSomaticComponent(false) - .SetVerboseComponent(true) - .SetVocalSpellSameType(VocalSpellSemeType.Healing) - .SetEffectDescription( - EffectDescriptionBuilder - .Create() - .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) - .SetEffectForms( - EffectFormBuilder - .Create() - .SetHealingForm( - HealingComputation.Dice, - 700, - DieType.D1, - 0, - false, - HealingCap.MaximumHitPoints) - .Build(), - EffectFormBuilder - .Create() - .SetConditionForm( - ConditionDefinitions.ConditionParalyzed, - ConditionForm.ConditionOperation.RemoveDetrimentalAll, - false, - false, - ConditionDefinitions.ConditionCharmed, - ConditionDefinitions.ConditionFrightened, - ConditionDefinitions.ConditionParalyzed, - ConditionDefinitions.ConditionPoisoned, - ConditionDefinitions.ConditionProne) - .Build()) - .SetParticleEffectParameters(Regenerate) - .Build()) - .AddCustomSubFeatures(new FilterTargetingCharacterPowerWordKillOrHeal()) - .AddToDB(); - } - - #endregion - #region Weird internal static SpellDefinition BuildWeird() @@ -272,12 +221,19 @@ internal static SpellDefinition BuildWeird() AttributeDefinitions.Constitution, 13) .SetEffectForms( + EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.HalfDamage) + .SetDamageForm(DamageTypePsychic, 10, DieType.D10) + .Build(), EffectFormBuilder .Create() .SetConditionForm( ConditionDefinitionBuilder .Create(ConditionDefinitions.ConditionFrightenedPhantasmalKiller, "ConditionWeird") .SetOrUpdateGuiPresentation(Category.Condition) + .SetRecurrentEffectForms( + EffectFormBuilder.DamageForm(DamageTypePsychic, 5, DieType.D10)) .AddToDB(), ConditionForm.ConditionOperation.Add) .HasSavingThrow(EffectSavingThrowType.Negates, TurnOccurenceType.EndOfTurn, true) @@ -334,6 +290,91 @@ internal static SpellDefinition BuildPsychicScream() #endregion + #region Power Word Kill + + internal static SpellDefinition BuildPowerWordKill() + { + return SpellDefinitionBuilder + .Create("PowerWordKill") + .SetGuiPresentation(Category.Spell, Sprites.GetSprite("PowerWordKill", Resources.PowerWordKill, 128)) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation) + .SetSpellLevel(9) + .SetCastingTime(ActivationTime.Action) + .SetMaterialComponent(MaterialComponentType.None) + .SetSomaticComponent(true) + .SetVerboseComponent(true) + .SetVocalSpellSameType(VocalSpellSemeType.Attack) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique) + .SetHitPointsFilter(0, 100, 10000) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetFilterId(0) + .SetDamageForm(DamageTypePsychic, 12, DieType.D12) + .Build(), + EffectFormBuilder + .Create() + .SetKillForm(KillCondition.UnderHitPoints, 0F, 100) + .Build()) + .SetParticleEffectParameters(FingerOfDeath) + .Build()) + .AddCustomSubFeatures(new FilterTargetingCharacterPowerWordKillOrHeal()) + .AddToDB(); + } + + #endregion + + #region Power Word Heal + + internal static SpellDefinition BuildPowerWordHeal() + { + return SpellDefinitionBuilder + .Create("PowerWordHeal") + .SetGuiPresentation(Category.Spell, Sprites.GetSprite("PowerWordHeal", Resources.PowerWordHeal, 128)) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment) + .SetSpellLevel(9) + .SetCastingTime(ActivationTime.Action) + .SetMaterialComponent(MaterialComponentType.None) + .SetSomaticComponent(false) + .SetVerboseComponent(true) + .SetVocalSpellSameType(VocalSpellSemeType.Healing) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetHealingForm( + HealingComputation.Dice, + 700, + DieType.D1, + 0, + false, + HealingCap.MaximumHitPoints) + .Build(), + EffectFormBuilder + .Create() + .SetConditionForm( + ConditionDefinitions.ConditionParalyzed, + ConditionForm.ConditionOperation.RemoveDetrimentalAll, + false, + false, + ConditionDefinitions.ConditionCharmed, + ConditionDefinitions.ConditionFrightened, + ConditionDefinitions.ConditionParalyzed, + ConditionDefinitions.ConditionPoisoned, + ConditionDefinitions.ConditionProne) + .Build()) + .SetParticleEffectParameters(Regenerate) + .Build()) + .AddCustomSubFeatures(new FilterTargetingCharacterPowerWordKillOrHeal()) + .AddToDB(); + } + // required to support Bard level 20 feature Words of Creations (only scenario where these spells have a 2nd target) private sealed class FilterTargetingCharacterPowerWordKillOrHeal : IFilterTargetingCharacter { @@ -353,63 +394,74 @@ public bool IsValid(CursorLocationSelectTarget __instance, GameLocationCharacter } } - #region Power Word Kill + #endregion - internal static readonly EffectForm PowerWordKill2014 = EffectFormBuilder - .Create() - .SetKillForm(KillCondition.UnderHitPoints, 0F, 100) - .Build(); + #region Shapechange - internal static readonly EffectForm PowerWordKill2024 = - EffectFormBuilder.DamageForm(DamageTypePsychic, 12, DieType.D12); + internal const string ShapechangeName = "Shapechange"; - internal static SpellDefinition BuildPowerWordKill() + internal static SpellDefinition BuildShapechange() { return SpellDefinitionBuilder - .Create("PowerWordKill") - .SetGuiPresentation(Category.Spell, Sprites.GetSprite("PowerWordKill", Resources.PowerWordKill, 128)) + .Create(ShapechangeName) + .SetGuiPresentation(Category.Spell, Sprites.GetSprite(ShapechangeName, Resources.ShapeChange, 128)) .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation) .SetSpellLevel(9) .SetCastingTime(ActivationTime.Action) - .SetMaterialComponent(MaterialComponentType.None) + .SetMaterialComponent(MaterialComponentType.Specific) + .SetSpecificMaterialComponent("Diamond", 1500, false) .SetSomaticComponent(true) .SetVerboseComponent(true) - .SetVocalSpellSameType(VocalSpellSemeType.Attack) + .SetVocalSpellSameType(VocalSpellSemeType.Buff) .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique) - .SetEffectForms(PowerWordKill2014) - .SetParticleEffectParameters(FingerOfDeath) + .SetParticleEffectParameters(PowerDruidWildShape) + .SetDurationData(DurationType.Hour, 1) + .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetShapeChangeForm( + ShapeChangeForm.Type.FreeListSelection, + true, + ConditionDefinitions.ConditionWildShapeSubstituteForm, + [ + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = BlackDragon_MasterOfNecromancy + }, + new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Divine_Avatar }, + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = Emperor_Laethar + }, + new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Giant_Ape }, + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = GoldDragon_AerElai + }, + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = GreenDragon_MasterOfConjuration + }, + new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Remorhaz }, + new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Spider_Queen }, + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = Sorr_Akkath_Shikkath + }, + new ShapeOptionDescription + { + requiredLevel = 1, substituteMonster = Sorr_Akkath_Tshar_Boss + } + ]) + .Build()) .Build()) - .AddCustomSubFeatures( - new FilterTargetingCharacterPowerWordKillOrHeal(), - new MagicEffectBeforeHitConfirmedOnEnemyPowerWordKill()) + .SetRequiresConcentration(true) .AddToDB(); } - private sealed class MagicEffectBeforeHitConfirmedOnEnemyPowerWordKill : IMagicEffectBeforeHitConfirmedOnEnemy - { - public IEnumerator OnMagicEffectBeforeHitConfirmedOnEnemy( - GameLocationBattleManager battleManager, - GameLocationCharacter attacker, - GameLocationCharacter defender, - ActionModifier actionModifier, - RulesetEffect rulesetEffect, - List actualEffectForms, - bool firstTarget, - bool criticalHit) - { - if (Main.Settings.EnableOneDndPowerWordKillSpell && - defender.RulesetActor.CurrentHitPoints <= 100) - { - actualEffectForms.SetRange(PowerWordKill2014); - } - - yield break; - } - } - #endregion #region Time Stop @@ -592,72 +644,4 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, } #endregion - - #region Shapechange - - internal const string ShapechangeName = "Shapechange"; - - internal static SpellDefinition BuildShapechange() - { - return SpellDefinitionBuilder - .Create(ShapechangeName) - .SetGuiPresentation(Category.Spell, Sprites.GetSprite(ShapechangeName, Resources.ShapeChange, 128)) - .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolTransmutation) - .SetSpellLevel(9) - .SetCastingTime(ActivationTime.Action) - .SetMaterialComponent(MaterialComponentType.Specific) - .SetSpecificMaterialComponent("Diamond", 1500, false) - .SetSomaticComponent(true) - .SetVerboseComponent(true) - .SetVocalSpellSameType(VocalSpellSemeType.Buff) - .SetEffectDescription( - EffectDescriptionBuilder - .Create() - .SetParticleEffectParameters(PowerDruidWildShape) - .SetDurationData(DurationType.Hour, 1) - .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) - .SetEffectForms( - EffectFormBuilder - .Create() - .SetShapeChangeForm( - ShapeChangeForm.Type.FreeListSelection, - true, - ConditionDefinitions.ConditionWildShapeSubstituteForm, - [ - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = BlackDragon_MasterOfNecromancy - }, - new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Divine_Avatar }, - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = Emperor_Laethar - }, - new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Giant_Ape }, - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = GoldDragon_AerElai - }, - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = GreenDragon_MasterOfConjuration - }, - new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Remorhaz }, - new ShapeOptionDescription { requiredLevel = 1, substituteMonster = Spider_Queen }, - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = Sorr_Akkath_Shikkath - }, - new ShapeOptionDescription - { - requiredLevel = 1, substituteMonster = Sorr_Akkath_Tshar_Boss - } - ]) - .Build()) - .Build()) - .SetRequiresConcentration(true) - .AddToDB(); - } - - #endregion } diff --git a/SolastaUnfinishedBusiness/Subclasses/Builders/MetamagicBuilders.cs b/SolastaUnfinishedBusiness/Subclasses/Builders/MetamagicBuilders.cs index 5020280ca5..3b4532bcf5 100644 --- a/SolastaUnfinishedBusiness/Subclasses/Builders/MetamagicBuilders.cs +++ b/SolastaUnfinishedBusiness/Subclasses/Builders/MetamagicBuilders.cs @@ -304,6 +304,7 @@ select FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{MetamagicTransmuted}{damageType}") .SetGuiPresentation(title, description) .SetSharedPool(ActivationTime.NoCost, powerPool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Subclasses/CircleOfTheCosmos.cs b/SolastaUnfinishedBusiness/Subclasses/CircleOfTheCosmos.cs index 45c6268a2e..28cb2f07f7 100644 --- a/SolastaUnfinishedBusiness/Subclasses/CircleOfTheCosmos.cs +++ b/SolastaUnfinishedBusiness/Subclasses/CircleOfTheCosmos.cs @@ -146,6 +146,7 @@ public CircleOfTheCosmos() .Create($"Power{Name}WealCosmosOmen") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.NoCost, powerCosmosOmenPool) + .SetShowCasting(false) .AddToDB(); powerWealCosmosOmen.AddCustomSubFeatures( @@ -156,6 +157,7 @@ public CircleOfTheCosmos() .Create($"Power{Name}WoeCosmosOmen") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.NoCost, powerCosmosOmenPool) + .SetShowCasting(false) .AddToDB(); powerWoeCosmosOmen.AddCustomSubFeatures( @@ -429,7 +431,7 @@ private static FeatureDefinitionPowerSharedPool BuildChalice( { var powerChalice = FeatureDefinitionPowerBuilder .Create($"Power{Name}Chalice") - .SetGuiPresentation(Category.Feature, PowerPaladinLayOnHands, hidden: true) + .SetGuiPresentation(Category.Feature, PowerPaladinLayOnHands) .SetUsesFixed(ActivationTime.NoCost) .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( @@ -761,7 +763,7 @@ public IEnumerator OnMagicEffectFinishedByMe( rulesetAttacker.InflictCondition( conditionChaliceHealing.Name, - DurationType.Permanent, + DurationType.Round, 0, TurnOccurenceType.EndOfTurn, AttributeDefinitions.TagEffect, diff --git a/SolastaUnfinishedBusiness/Subclasses/CollegeOfAudacity.cs b/SolastaUnfinishedBusiness/Subclasses/CollegeOfAudacity.cs index bbc2cb1e0d..3dd5b67a0e 100644 --- a/SolastaUnfinishedBusiness/Subclasses/CollegeOfAudacity.cs +++ b/SolastaUnfinishedBusiness/Subclasses/CollegeOfAudacity.cs @@ -91,6 +91,7 @@ public CollegeOfAudacity() .Create($"Power{Name}DefensiveWhirl") .SetGuiPresentation(Category.Feature, hidden: true) .SetUsesFixed(ActivationTime.NoCost) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -105,6 +106,7 @@ public CollegeOfAudacity() .Create($"Power{Name}MobileWhirl") .SetGuiPresentation(Category.Feature, hidden: true) .SetUsesFixed(ActivationTime.NoCost) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -132,6 +134,7 @@ public CollegeOfAudacity() .Create($"Power{Name}SlashingWhirl") .SetGuiPresentation(Category.Feature, hidden: true) .SetUsesFixed(ActivationTime.NoCost) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs b/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs index 2f6652f51c..7a5b4c6c33 100644 --- a/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs +++ b/SolastaUnfinishedBusiness/Subclasses/InnovationVivisectionist.cs @@ -137,6 +137,7 @@ public InnovationVivisectionist() .Create($"Power{Name}OrganDonation") .SetGuiPresentation(Category.Feature) .SetUsesFixed(ActivationTime.NoCost, RechargeRate.ShortRest) + .SetShowCasting(false) .AddToDB(); powerOrganDonation.AddCustomSubFeatures( diff --git a/SolastaUnfinishedBusiness/Subclasses/MartialArcaneArcher.cs b/SolastaUnfinishedBusiness/Subclasses/MartialArcaneArcher.cs index b3cd60a724..47b66f8231 100644 --- a/SolastaUnfinishedBusiness/Subclasses/MartialArcaneArcher.cs +++ b/SolastaUnfinishedBusiness/Subclasses/MartialArcaneArcher.cs @@ -11,7 +11,6 @@ using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; -using SolastaUnfinishedBusiness.Properties; using SolastaUnfinishedBusiness.Validators; using static ActionDefinitions; using static RuleDefinitions; @@ -19,6 +18,8 @@ using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionActionAffinitys; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.ActionDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; +using Resources = SolastaUnfinishedBusiness.Properties.Resources; namespace SolastaUnfinishedBusiness.Subclasses; @@ -29,6 +30,8 @@ public sealed class MartialArcaneArcher : AbstractSubclass private const string FeatureSetArcaneShotName = $"FeatureSet{Name}ArcaneShot"; private const Id ArcaneArcherToggle = (Id)ExtraActionId.ArcaneArcherToggle; + private static readonly Dictionary ArrowEffects = []; + internal static readonly FeatureDefinitionPower PowerArcaneShot = FeatureDefinitionPowerBuilder .Create($"Power{Name}ArcaneShot") .SetGuiPresentation(FeatureSetArcaneShotName, Category.Feature) @@ -95,12 +98,12 @@ public MartialArcaneArcher() // Arcane Shot - var arcaneShotPowers = - BuildArcaneShotPowers(PowerArcaneShot, out var powerBurstingArrow, out var powerBurstingArrowDamage); + var arcaneShotPowers = BuildArcaneShotPowers( + PowerArcaneShot, out var powerBurstingArrow, out var powerBurstingArrowDamage, out var powerBeguilingArrow); PowerArcaneShot.AddCustomSubFeatures( HasModifiedUses.Marker, - new CustomBehaviorArcaneShot(powerBurstingArrow, powerBurstingArrowDamage)); + new CustomBehaviorArcaneShot(powerBurstingArrow, powerBurstingArrowDamage, powerBeguilingArrow)); PowerBundle.RegisterPowerBundle(PowerArcaneShot, false, arcaneShotPowers); @@ -230,7 +233,8 @@ public MartialArcaneArcher() private static List BuildArcaneShotPowers( FeatureDefinitionPower pool, out FeatureDefinitionPower powerBurstingArrow, - out FeatureDefinitionPower powerBurstingArrowDamage) + out FeatureDefinitionPower powerBurstingArrowDamage, + out FeatureDefinitionPower powerBeguilingArrow) { var powers = new List(); @@ -238,14 +242,15 @@ private static List BuildArcaneShotPowers( var powerBanishingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}BanishingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.Banishment, hidden: true) + .SetGuiPresentation(Category.Feature, Banishment, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.Banishment) + .SetParticleEffectParameters(Banishment) .SetSavingThrowData( false, AttributeDefinitions.Charisma, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -262,26 +267,25 @@ private static List BuildArcaneShotPowers( .SetConditionForm( ConditionDefinitions.ConditionBanished, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.Banishment.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerBanishingArrow); + ArrowEffects.Add(powerBanishingArrow, Banishment); // Beguiling Arrow - var powerBeguilingArrow = FeatureDefinitionPowerSharedPoolBuilder + powerBeguilingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}BeguilingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.CharmPerson, hidden: true) + .SetGuiPresentation(Category.Feature, CharmPerson, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) - .SetDurationData(DurationType.Round, 1) - .SetParticleEffectParameters(SpellDefinitions.CharmPerson) + .SetParticleEffectParameters(CharmPerson) .SetSavingThrowData( false, AttributeDefinitions.Wisdom, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -291,26 +295,19 @@ private static List BuildArcaneShotPowers( .Create() .SetDamageForm(DamageTypePsychic, 2, DieType.D6) .SetDiceAdvancement(LevelSourceType.ClassLevel, 1, 1, 6, 11) - .Build(), - EffectFormBuilder - .Create() - .HasSavingThrow(EffectSavingThrowType.Negates) - .SetConditionForm( - ConditionDefinitions.ConditionCharmed, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.CharmPerson.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerBeguilingArrow); + ArrowEffects.Add(powerBeguilingArrow, CharmPerson); // Bursting Arrow powerBurstingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}BurstingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.EldritchBlast, hidden: true) + .SetGuiPresentation(Category.Feature, EldritchBlast, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) .SetShowCasting(false) .SetEffectDescription( @@ -322,7 +319,7 @@ private static List BuildArcaneShotPowers( powerBurstingArrowDamage = FeatureDefinitionPowerBuilder .Create($"Power{Name}BurstingArrowDamage") - .SetGuiPresentation($"Power{Name}BurstingArrow", Category.Feature, SpellDefinitions.EldritchBlast, + .SetGuiPresentation($"Power{Name}BurstingArrow", Category.Feature, EldritchBlast, hidden: true) .SetUsesFixed(ActivationTime.NoCost) .SetShowCasting(false) @@ -336,12 +333,13 @@ private static List BuildArcaneShotPowers( .SetDamageForm(DamageTypeForce, 2, DieType.D6) .SetDiceAdvancement(LevelSourceType.ClassLevel, 1, 1, 6, 11) .Build()) - .SetImpactEffectParameters(SpellDefinitions.BurningHands_B) + .SetImpactEffectParameters(BurningHands) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerBurstingArrow); + ArrowEffects.Add(powerBurstingArrow, FireBolt); // Enfeebling Arrow @@ -374,14 +372,15 @@ private static List BuildArcaneShotPowers( var powerEnfeeblingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}EnfeeblingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.RayOfEnfeeblement, hidden: true) + .SetGuiPresentation(Category.Feature, RayOfEnfeeblement, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.RayOfEnfeeblement) + .SetParticleEffectParameters(RayOfEnfeeblement) .SetSavingThrowData( false, AttributeDefinitions.Constitution, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -398,14 +397,12 @@ private static List BuildArcaneShotPowers( .SetConditionForm( conditionEnfeeblingArrow, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.RayOfEnfeeblement.EffectDescription.EffectParticleParameters - .effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerEnfeeblingArrow); + ArrowEffects.Add(powerEnfeeblingArrow, RayOfEnfeeblement); // Grasping Arrow @@ -418,14 +415,15 @@ private static List BuildArcaneShotPowers( var powerGraspingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}GraspingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.Entangle, hidden: true) + .SetGuiPresentation(Category.Feature, Entangle, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.Entangle) + .SetParticleEffectParameters(Entangle) .SetSavingThrowData( false, AttributeDefinitions.Strength, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -442,17 +440,16 @@ private static List BuildArcaneShotPowers( .SetConditionForm( conditionGraspingArrow, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.Entangle.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerGraspingArrow); + ArrowEffects.Add(powerGraspingArrow, Entangle); // Insight Arrow - var lightSourceForm = SpellDefinitions.FaerieFire.EffectDescription + var lightSourceForm = FaerieFire.EffectDescription .GetFirstFormOfType(EffectForm.EffectFormType.LightSource).LightSourceForm; var conditionInsightArrow = ConditionDefinitionBuilder @@ -463,14 +460,15 @@ private static List BuildArcaneShotPowers( var powerInsightArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}InsightArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.TrueStrike, hidden: true) + .SetGuiPresentation(Category.Feature, TrueStrike, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder - .Create(SpellDefinitions.FaerieFire) + .Create(FaerieFire) .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.FaerieFire) + .SetParticleEffectParameters(FaerieFire) .SetSavingThrowData( false, AttributeDefinitions.Dexterity, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -494,26 +492,26 @@ private static List BuildArcaneShotPowers( .SetConditionForm( conditionInsightArrow, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.Shine.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerInsightArrow); + ArrowEffects.Add(powerInsightArrow, Shine); // Shadow Arrow var powerShadowArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}ShadowArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.Blindness, hidden: true) + .SetGuiPresentation(Category.Feature, Blindness, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.Blindness) + .SetParticleEffectParameters(Blindness) .SetSavingThrowData( false, AttributeDefinitions.Wisdom, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -530,26 +528,26 @@ private static List BuildArcaneShotPowers( .SetConditionForm( ConditionDefinitions.ConditionBlinded, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.Blindness.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerShadowArrow); + ArrowEffects.Add(powerShadowArrow, Blindness); // Slowing Arrow var powerSlowingArrow = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}SlowingArrow") - .SetGuiPresentation(Category.Feature, SpellDefinitions.Slow, hidden: true) + .SetGuiPresentation(Category.Feature, Slow, hidden: true) .SetSharedPool(ActivationTime.NoCost, pool) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Enemy, RangeType.Distance, 1, TargetType.Individuals) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) - .SetParticleEffectParameters(SpellDefinitions.Slow) + .SetParticleEffectParameters(Slow) .SetSavingThrowData( false, AttributeDefinitions.Dexterity, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency, AttributeDefinitions.Intelligence, @@ -566,13 +564,12 @@ private static List BuildArcaneShotPowers( .SetConditionForm( ConditionDefinitions.ConditionSlowed, ConditionForm.ConditionOperation.Add) .Build()) - .SetImpactEffectParameters( - SpellDefinitions.Slow.EffectDescription.EffectParticleParameters.effectParticleReference) .Build()) .AddCustomSubFeatures(ClassHolder.Fighter) .AddToDB(); powers.Add(powerSlowingArrow); + ArrowEffects.Add(powerSlowingArrow, Slow); // create UI choices @@ -599,11 +596,14 @@ private static List BuildArcaneShotPowers( private sealed class CustomBehaviorArcaneShot( FeatureDefinitionPower powerBurstingArrow, - FeatureDefinitionPower powerBurstingArrowDamage) + FeatureDefinitionPower powerBurstingArrowDamage, + FeatureDefinitionPower powerBeguilingArrow) : IPhysicalAttackBeforeHitConfirmedOnEnemy, IPhysicalAttackFinishedByMe { private const string ArcaneShotMarker = "ArcaneShot"; + private readonly List _selectedPowers = []; + public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( GameLocationBattleManager battleManager, GameLocationCharacter attacker, @@ -616,6 +616,8 @@ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( bool firstTarget, bool criticalHit) { + _selectedPowers.Clear(); + var rulesetAttacker = attacker.RulesetCharacter; var usablePower = PowerProvider.Get(PowerArcaneShot, rulesetAttacker); @@ -639,18 +641,21 @@ public IEnumerator OnPhysicalAttackBeforeHitConfirmedOnEnemy( void ReactionValidated(ReactionRequestSpendBundlePower reactionRequest) { - attacker.UsedSpecialFeatures.TryAdd(powerBurstingArrow.Name, 0); - attacker.UsedSpecialFeatures[powerBurstingArrow.Name] = -1; - attacker.UsedSpecialFeatures.TryAdd(ArcaneShotMarker, 1); + attacker.SetSpecialFeatureUses(ArcaneShotMarker, 0); var option = reactionRequest.SelectedSubOption; var subPowers = PowerArcaneShot.GetBundle()?.SubPowers; - if (subPowers != null && - subPowers[option] == powerBurstingArrow) + if (subPowers == null) { - attacker.UsedSpecialFeatures[powerBurstingArrow.Name] = 0; + return; } + + var selectedPower = subPowers[option]; + + _selectedPowers.Add(selectedPower); + EffectHelpers.StartVisualEffect(attacker, defender, ArrowEffects[selectedPower], + EffectHelpers.EffectType.Effect); } } @@ -663,13 +668,36 @@ public IEnumerator OnPhysicalAttackFinishedByMe( RollOutcome rollOutcome, int damageAmount) { - if (!attacker.UsedSpecialFeatures.TryGetValue(powerBurstingArrow.Name, out var value) || value < 0) + foreach (var selectedPower in _selectedPowers) { - yield break; + if (selectedPower == powerBurstingArrow) + { + HandleBurstingArrow(attacker, defender); + } + else if (selectedPower == powerBeguilingArrow && action.SaveOutcome == RollOutcome.Failure) + { + var rulesetAttacker = attacker.RulesetCharacter; + var rulesetDefender = defender.RulesetCharacter; + + rulesetDefender.InflictCondition( + ConditionDefinitions.ConditionCharmed.Name, + DurationType.Round, + 1, + TurnOccurenceType.EndOfSourceTurn, + AttributeDefinitions.TagEffect, + rulesetAttacker.Guid, + rulesetAttacker.CurrentFaction.Name, + 1, + ConditionDefinitions.ConditionCharmed.Name, + 0, + 0, + 0); + } } - attacker.UsedSpecialFeatures[powerBurstingArrow.Name] = -1; - HandleBurstingArrow(attacker, defender); + _selectedPowers.Clear(); + + yield break; } private void HandleBurstingArrow(GameLocationCharacter attacker, GameLocationCharacter defender) @@ -681,7 +709,7 @@ private void HandleBurstingArrow(GameLocationCharacter attacker, GameLocationCha .ToArray(); EffectHelpers - .StartVisualEffect(attacker, defender, SpellDefinitions.Shatter, EffectHelpers.EffectType.Zone); + .StartVisualEffect(attacker, defender, Shatter, EffectHelpers.EffectType.Zone); // burst arrow damage is a use at will power rulesetAttacker.LogCharacterUsedPower(powerBurstingArrow); diff --git a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs index 86f29fa845..a2cd021d6e 100644 --- a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs +++ b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs @@ -115,6 +115,7 @@ public MartialRoyalKnight() .Create("PowerRoyalKnightInspiringProtectionAura") .SetGuiPresentation(TEXT, Category.Feature) .SetUsesFixed(ActivationTime.PermanentUnlessIncapacitated) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs b/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs index c3230f68f2..8cb363c75c 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs @@ -198,6 +198,7 @@ private static FeatureDefinition[] BuildPowerFormOfTheBeast() .Create($"Power{Name}FormOfTheBeast{suffixes[i]}") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.OnPowerActivatedAuto, powerFormOfTheBeast) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronSoulBlade.cs b/SolastaUnfinishedBusiness/Subclasses/PatronSoulBlade.cs index e99f278508..70a576957d 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronSoulBlade.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronSoulBlade.cs @@ -223,7 +223,7 @@ public PatronSoulBlade() // ReSharper disable once UnassignedGetOnlyAutoProperty internal override DeityDefinition DeityDefinition { get; } - private static bool CanWeaponBeEmpowered(RulesetAttackMode mode, RulesetItem item, RulesetCharacter character) + internal static bool CanWeaponBeEmpowered(RulesetAttackMode mode, RulesetItem item, RulesetCharacter character) { if (character is not RulesetCharacterHero hero) { @@ -237,7 +237,8 @@ private static bool CanWeaponBeEmpowered(RulesetAttackMode mode, RulesetItem ite { canWeaponBeEmpowered = ValidatorsWeapon.IsTwoHanded(mode) && - hero.ActiveFeatures.Any(p => p.Value.Contains(FeatureDefinitionFeatureSets.FeatureSetPactBlade)); + (hero.ActiveFeatures.Any(p => p.Value.Contains(FeatureDefinitionFeatureSets.FeatureSetPactBlade)) || + hero.HasActiveInvocation(Tabletop2024Context.InvocationPactBlade)); } return canWeaponBeEmpowered; diff --git a/SolastaUnfinishedBusiness/Subclasses/RoguishRavenScion.cs b/SolastaUnfinishedBusiness/Subclasses/RoguishRavenScion.cs index 94a2059cae..48f7a7b710 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RoguishRavenScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RoguishRavenScion.cs @@ -98,6 +98,7 @@ public RoguishRavenScion() .Create($"Power{Name}DeadlyFocus") .SetGuiPresentation(Category.Feature) .SetUsesFixed(ActivationTime.NoCost, RechargeRate.ShortRest) + .SetShowCasting(false) .AddToDB(); powerDeadlyFocus.AddCustomSubFeatures( diff --git a/SolastaUnfinishedBusiness/Subclasses/SorcerousWildMagic.cs b/SolastaUnfinishedBusiness/Subclasses/SorcerousWildMagic.cs index 10061bb0fe..3d0e8aad68 100644 --- a/SolastaUnfinishedBusiness/Subclasses/SorcerousWildMagic.cs +++ b/SolastaUnfinishedBusiness/Subclasses/SorcerousWildMagic.cs @@ -43,6 +43,7 @@ public sealed class SorcerousWildMagic : AbstractSubclass .Create($"Power{Name}TidesOfChaos") .SetGuiPresentation(Category.Feature) .SetUsesFixed(ActivationTime.NoCost, RechargeRate.LongRest) + .SetShowCasting(false) .AddCustomSubFeatures(new CustomBehaviorTidesOfChaos(), ModifyPowerVisibility.Hidden) .AddToDB(); @@ -285,6 +286,7 @@ public SorcerousWildMagic() .Create($"Power{Name}D{i:D02}") .SetGuiPresentation(Category.Feature, hidden: true) .SetSharedPool(ActivationTime.NoCost, PowerControlledChaos) + .SetShowCasting(false) .AddToDB()); } diff --git a/SolastaUnfinishedBusiness/Subclasses/WizardAbjuration.cs b/SolastaUnfinishedBusiness/Subclasses/WizardAbjuration.cs index 07f50976e2..f6ae56b416 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WizardAbjuration.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WizardAbjuration.cs @@ -218,7 +218,7 @@ internal static void LateLoad() .Select(spellByLevel => new SpellListDefinition.SpellsByLevelDuplet { Level = spellByLevel.Level, - spells = spellByLevel.Spells.Where(x => x.SchoolOfMagic == SchoolAbjuration).ToList() + Spells = [..spellByLevel.Spells.Where(x => x.SchoolOfMagic == SchoolAbjuration)] })); } diff --git a/SolastaUnfinishedBusiness/Subclasses/WizardEvocation.cs b/SolastaUnfinishedBusiness/Subclasses/WizardEvocation.cs index b761b5a749..7748fe4974 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WizardEvocation.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WizardEvocation.cs @@ -187,7 +187,7 @@ internal static void LateLoad() .Select(spellByLevel => new SpellListDefinition.SpellsByLevelDuplet { Level = spellByLevel.Level, - spells = spellByLevel.Spells.Where(x => x.SchoolOfMagic == SchoolEvocation).ToList() + Spells = [.. spellByLevel.Spells.Where(x => x.SchoolOfMagic == SchoolEvocation)] })); } diff --git a/SolastaUnfinishedBusiness/Translations/de/FightingStyles-de.txt b/SolastaUnfinishedBusiness/Translations/de/FightingStyles-de.txt index 403f43e38a..c561315542 100644 --- a/SolastaUnfinishedBusiness/Translations/de/FightingStyles-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/FightingStyles-de.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Ausführung! Feedback/&AdditionalDamageExecutionerLine={0} führt {1} aus und verursacht +{2} zusätzlichen Schaden! FightingStyle/&AstralReachDescription=Ihre unbewaffnete Reichweite erhöht sich um 1,52 m, solange beide Hände frei sind. FightingStyle/&AstralReachTitle=Astrale Reichweite +FightingStyle/&BlessedWarriorDescription=Du lernst zwei Zaubersprüche deiner Wahl aus der Liste der Kleriker-Zauber. Sie zählen für dich als Paladin-Zauber und Charisma ist für sie deine Zauberfähigkeit. +FightingStyle/&BlessedWarriorTitle=Gesegneter Krieger FightingStyle/&BlindFightingDescription=Sie haben blinde Sicht mit einer Reichweite von 10 Fuß. Innerhalb dieser Reichweite können Sie effektiv alles sehen, was sich nicht in vollständiger Deckung befindet, selbst wenn Sie geblendet sind oder sich in der Dunkelheit befinden. Darüber hinaus können Sie eine unsichtbare Kreatur innerhalb dieser Reichweite sehen, es sei denn, die Kreatur versteckt sich erfolgreich vor Ihnen. FightingStyle/&BlindFightingTitle=Blindes Kämpfen FightingStyle/&CripplingDescription=Bei einem Nahkampfangriff verringern Sie die Geschwindigkeit Ihrer Gegner bis zum Ende Ihres nächsten Zuges um 10 Fuß. FightingStyle/&CripplingTitle=Lähmend +FightingStyle/&DruidicWarriorDescription=Du lernst zwei Zaubersprüche deiner Wahl aus der Druiden-Zauberliste. Sie zählen für dich als Ranger-Zauber und Weisheit ist für sie deine Zauberfähigkeit. +FightingStyle/&DruidicWarriorTitle=Druidischer Krieger FightingStyle/&ExecutionerDescription=Du addierst deinen Kompetenzbonus zum Schaden gegen geblendete, verängstigte, zurückgehaltene, handlungsunfähige, gelähmte, liegende oder betäubte Kreaturen. FightingStyle/&ExecutionerTitle=Henker FightingStyle/&HandAndAHalfDescription=Sie erhalten einen Bonus von +1 auf Ihre Angriffswürfe und einen Bonus von +1 auf Ihre RK, wenn Sie eine einhändige oder vielseitige Nahkampfwaffe und keine andere Waffe oder keinen anderen Schild tragen. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} hat einen deiner Verbündeten an Reaction/&ReactionAttackSentinelReactDescription=Nutzen Sie die Reaktion zum Angriff. Reaction/&ReactionAttackSentinelReactTitle=Attacke Reaction/&ReactionAttackSentinelTitle=Wächter +Tag/&BlessedWarriorCantripSpecialTagTitle=Zaubertricks des gesegneten Kriegers +Tag/&DruidicWarriorCantripSpecialTagTitle=Zaubertricks des Druidenkriegers diff --git a/SolastaUnfinishedBusiness/Translations/de/Invocations-de.txt b/SolastaUnfinishedBusiness/Translations/de/Invocations-de.txt index b8220cb046..8d268fd72c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Invocations-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Invocations-de.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=Als Bonusaktion können Feature/&PowerInvocationPerniciousCloakRemoveTitle=Fliegenmantel entfernen Feedback/&AdditionalDamageEldritchSmiteFormat=Unheimlicher Schlag! Feedback/&AdditionalDamageEldritchSmiteLine={0} schlägt {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Bei Bindung an eine Kreatur erhältst du zusätzliche Effekte. Bei Bindung an Imp erhältst du größere Unsichtbarkeit, bei Bindung an Pseudo Dragon erhältst du Flugfähigkeit und mit Gift versetzte Angriffe, bei Bindung an Quasit erhältst du eine zusätzliche Hauptaktion und einen Vorteil bei Rettungswürfen für Geschicklichkeit und bei Bindung an Sprite erhältst du einen AC-Wert von mindestens 16 und Angreifer sind dir gegenüber im Nachteil. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Bei Bindung an eine Kreatur erhältst du zusätzliche Effekte. Bei Bindung an Imp erhältst du größere Unsichtbarkeit, bei Bindung an Pseudo Dragon erhältst du Flugfähigkeit und mit Gift versetzte Angriffe, bei Bindung an Quasit erhältst du einen zusätzlichen Angriff und einen Vorteil bei Rettungswürfen auf Geschicklichkeit und bei Bindung an Sprite erhältst du einen AC-Wert von mindestens 16 und Angreifer sind dir gegenüber im Nachteil. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Fähigkeiten des Kettenmeisters Invocation/&InvocationAspectOfTheMoonDescription=Sie müssen nicht mehr schlafen und können Wache halten. Dadurch verringert sich die Wahrscheinlichkeit eines Angriffs und Sie sind wach, wenn das Lager angegriffen wird. Invocation/&InvocationAspectOfTheMoonTitle=Aspekt des Mondes diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 5f084e5693..1fefa42165 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Angeborene Zauberei Condition/&ConditionStaggeringBlowAoODescription=Sie können bis zum Beginn Ihres nächsten Zuges keine Gelegenheitsangriffe durchführen. Condition/&ConditionStaggeringBlowAoOTitle=Erschütternder Schlag Condition/&ConditionStopMovementTitle=Gestoppt +Condition/&ConditionStudiedAttacksDescription=Die Quelle hat beim nächsten Angriff gegen Sie einen Vorteil +Condition/&ConditionStudiedAttacksTitle=Untersuchte Angriffe Condition/&ConditionTauntedDescription=Sie sind bei Angriffswürfen gegen andere Kreaturen als den Spötter im Nachteil. Condition/&ConditionTauntedTitle=Verspottet Condition/&FlightSuspendDescription=Laufender Flugeffekt wurde ausgesetzt @@ -75,13 +77,13 @@ ContentPack/&9999Description=Das „Unfinished Business Pack“ ist ein wahres F ContentPack/&9999Title=Paket „Unerledigte Geschäfte“ Equipment/&BeltOfRegeneration_Function_Description=Regeneriert eine Minute lang 5 Trefferpunkte pro Runde. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Ihre Angriffe erzielen einen kritischen Treffer bei 18, 19 oder 20, während Sie diese Waffe tragen und auf sie eingestellt sind. +Failure/&CannotAttackTarget=Angriff auf dieses Ziel kann nicht durchgeführt werden Failure/&FailureFlagCannotTargetUndead=Untote Kreaturen können nicht als Ziel gewählt werden. Failure/&FailureFlagMaterialComponentHandsFull=Keine freie Hand, materielle Zauberkomponenten zu verwenden. Failure/&FailureFlagMustKnowLanguage=Du musst die Sprache {0} beherrschen, um diese Kreatur zu befehligen Failure/&FailureFlagTargetMustNotBeSurprised=Das Ziel darf nicht überrascht werden Failure/&FailureFlagTargetMustUnderstandYou=Das Ziel muss Ihren Befehl verstehen Failure/&SecondTargetNotWithinRange=Dieses Ziel kann nicht ausgewählt werden, da es sich nicht in Reichweite des ersten befindet. -Failure/&TargetMeleeWeaponError=Auf dieses Ziel kann kein Nahkampfangriff ausgeführt werden, da es sich nicht innerhalb von {0} befindet Failure/&TargetMustBeNoMoreThanOneSizeLarger=Das Ziel darf nicht mehr als eine Nummer größer sein Failure/&TargetMustHaveHolyWeapon=Ziel muss heilige Waffe besitzen Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Sie haben einen Vorteil bei Weisheitswürfen (Wahrnehmung), wenn Sie unbeleuchtet sind oder sich in magischer Dunkelheit befinden. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Wenn Sie die Initiative e Feature/&FeatureBardSuperiorInspiration2024Title=Überlegene Inspiration Feature/&FeatureEldritchMasterDescription=Wenn Sie Ihre Funktion „Magische List“ nutzen, erhalten Sie alle Ihre verbrauchten Zauberplätze für Paktmagie zurück. Feature/&FeatureEldritchMasterTitle=Unheimlicher Meister +Feature/&FeatureFighterStudiedAttacksDescription=Sie studieren Ihre Gegner und lernen aus jedem Ihrer Angriffe. Wenn Sie einen Angriffswurf gegen eine Kreatur machen und verfehlen, haben Sie vor dem Ende Ihres nächsten Zuges einen Vorteil bei Ihrem nächsten Angriffswurf gegen diese Kreatur. +Feature/&FeatureFighterStudiedAttacksTitle=Untersuchte Angriffe +Feature/&FeatureFighterTacticalMindDescription=Sie haben ein Gespür für Taktik und gewinnen auf und neben dem Schlachtfeld die Oberhand. Wenn Sie einen Fähigkeitstest nicht bestehen, können Sie Ihren zweiten Wind einsetzen, um sich zum Erfolg zu bringen. Anstatt Trefferpunkte zurückzugewinnen, würfeln Sie 1W10 und addieren die gewürfelte Zahl zum Fähigkeitstest, wodurch dieser möglicherweise zu einem Erfolg wird. Wenn der Test immer noch fehlschlägt, wird dieser Einsatz von zweitem Wind nicht eingesetzt. +Feature/&FeatureFighterTacticalMindTitle=Taktisches Denken +Feature/&FeatureFighterTacticalShiftDescription=Wenn Sie Ihren zweiten Wind mit einer Bonusaktion aktivieren, können Sie sich mit bis zu halber Geschwindigkeit bewegen, ohne Gelegenheitsangriffe zu provozieren. +Feature/&FeatureFighterTacticalShiftTitle=Taktischer Wechsel +Feature/&FeatureImprovedRogueCunningStrikeDescription=Sie können bis zu zwei Cunning Strike-Effekte verwenden, wenn Sie Sneak Attack-Schaden verursachen, und müssen für jeden Effekt die Würfelkosten bezahlen. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Verbesserter listiger Schlag 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, Ihre Geduldige Verteidigung und Ihr Schritt des Windes erhalten die folgenden Vorteile:\n• Schlaghagel: Wenn Sie Schlaghagel verwenden, führen Sie damit drei waffenlose Schläge aus, anstatt zwei.\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 beiden Funktionen des Schritts des Windes (Entfernen oder Sprinten) verwenden, erhalten Sie auch die Vorteile des anderen Effekts. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Ursprüngliche Ordnung Feature/&FeatureSetDruidPrimalOrderWardenDescription=Durch die Ausbildung für den Kampf erlangen Sie Fertigkeiten im Umgang mit Kampfwaffen und werden mit mittlerer Rüstung geschult. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Aufseher Feature/&FeatureSetRageExtendedDescription=Im Kampf kämpfst du mit urwüchsiger Wildheit. In deinem Zug kannst du als Bonusaktion in Wut geraten. Dies verschafft dir Vorteile bei Stärkewürfen und -würfen, einen anfänglichen Bonus von +2 auf Nahkampfangriffsschaden und Widerstand gegen Hieb-, Schlag- und Stichschaden. Du erhältst diese Vorteile nur, wenn du keine schwere Rüstung trägst. Hält 1 Minute an oder endet, wenn du seit deinem letzten Zug nicht angegriffen oder Schaden erlitten hast.\n Du beginnst mit 2 Wutzuständen, die nach einer langen Ruhepause erneuert werden. Auf Stufe 7 erhältst du nach einer kurzen Ruhepause einen Wutpunkt zurück. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Wenn Sie keine angeborene Zauberei mehr einsetzen können, können Sie sie verwenden, indem Sie beim Ausführen der Bonusaktion zum Aktivieren 2 Zaubereipunkte ausgeben. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=Die Verkörperung der Zauberei +Feature/&FeatureSorcererArcaneApotheosisDescription=Während Ihre angeborene Zauberei-Funktion aktiv ist, können Sie in jedem Ihrer Züge eine Metamagie-Option nutzen, ohne dafür Zauberei-Punkte auszugeben. +Feature/&FeatureSorcererArcaneApotheosisTitle=Arkane Apotheose Feature/&FeatureSorcererMagicalGuidanceDescription=Sie können Ihre innere Quelle der Magie nutzen, um zu versuchen, aus Misserfolgen Erfolge zu zaubern. Wenn Sie einen Fähigkeitstest machen, der fehlschlägt, können Sie 1 Zauberpunkt ausgeben, um den W20 erneut zu würfeln, und Sie müssen den neuen Wurf verwenden, wodurch Sie den Misserfolg möglicherweise in einen Erfolg verwandeln können. Feature/&FeatureSorcererMagicalGuidanceTitle=Magische Führung +Feature/&FeatureWizardMemorizeSpellDescription=Wenn Sie eine kurze Pause beenden, können Sie Ihr Zauberbuch studieren und einen der Zaubersprüche der Stufe 1+, die Sie für Ihre Zauberfunktion vorbereitet haben, durch einen anderen Zauberspruch der Stufe 1+ aus dem Buch ersetzen. +Feature/&FeatureWizardMemorizeSpellTitle=Zauberspruch auswendig lernen Feature/&FighterExtraAttackDescription=Sie können zweimal statt einmal angreifen, wenn Sie die Aktionen „Angreifen“ oder „Schubsen“ verwenden. Feature/&FlightResumeDescription=Setzt den Effekt Ihres unterbrochenen Flugs fort Feature/&FlightResumeTitle=Flug fortsetzen @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Wählen Sie eines dieser Tools: {1} Feature/&VisionBlindsightDescription=Sie leiden an Blindsicht. Feedback/&AdditionalDamageBrutalStrikeFormat=Brutaler Schlag Feedback/&AdditionalDamageBrutalStrikeLine=Brutaler Schlag verursacht zusätzlichen +{2} Schaden! +Feedback/&AdditionalDamageCrusadersMantleFormat=Mantel des Kreuzfahrers! +Feedback/&AdditionalDamageCrusadersMantleLine={0} schlägt {1} und verursacht zusätzlichen {2} Strahlungsschaden! Feedback/&AdditionalDamageSunderingBlowFormat=Trennender Schlag Feedback/&AdditionalDamageSunderingBlowLine=Sundering Blow verursacht zusätzlichen +{2} Schaden! Feedback/&AdditionalDamageTrueStrikeFormat=Wahrer Schlag! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} würfelt eine {1} narrative Wahl mit einem {2} Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=Sie können nach der Ruhezeit die Energie während der Reise nicht nutzen Feedback/&ReturningWeaponActivates={1} kehrt zu {0} zurück! Feedback/&SmallRace=Kleines Rennen +Feedback/&TacticalMindCheckToHitRoll={0} hat {1} verwendet und fügt {2} zur Kontrollliste hinzu +Feedback/&TacticalMindCheckToHitRollFailure={0} hat {1} verwendet und fügt {2} zum Wurf hinzu, aber nicht genug, um das Ergebnis zu ändern. +Feedback/&TacticalMindCheckToHitRollSuccess={0} hat {1} verwendet, fügt {2} zum Wurf hinzu, ändert das Ergebnis und verbraucht Zweiter Wind Feedback/&TriggerFeatureLine={0} löst {1} aus Feedback/&TriggerRerollLine={0} aktiviert {1}, um {2} = {3} neu zu würfeln Feedback/&TrueSightAndIllusionSpells={0} hat Wahre Sicht und ist von diesem Zauber nicht betroffen @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Ein Kontrollwurf ist Ihn Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Würfeln Sie einen W20, um den Kontrollwurf zu ersetzen. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Magische Führung Reaction/&CustomReactionMagicalGuidanceCheckTitle=Magische Führung +Reaction/&CustomReactionTacticalMindCheckDescription=Ein Kontrollwurf ist Ihnen misslungen. Sie können 1 Sekunde Windzeit aufwenden, um einen W10 zu würfeln und das Ergebnis zum Kontrollwurf hinzuzufügen. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Würfeln Sie einen W10, um das Ergebnis zum Kontrollwurf hinzuzufügen. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Taktisches Denken +Reaction/&CustomReactionTacticalMindCheckTitle=Taktisches Denken Reaction/&ReactionSpendPowerBundleDescription=Gib Macht aus. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Sie können einen zusätzlichen Effekt anwenden. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Wenden Sie einen zusätzlichen Effekt an. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Auto Power Rules/&ActivationTypeOnRageStartAutomaticTitle=Automatischer Wutstart Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Automatische Kreatur auf null HP reduziert Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Automatischer Schleichangriff +Rules/&ConditionMarkedByHunterExtendedDescription=Erhält +1W6 Kraftschaden, wenn der Zauberer mit einem Waffenangriff getroffen wird. Rules/&ConditionOneDndBarkskinDescription=Die Rüstungsklasse der Kreatur beträgt mindestens 17. Rules/&ConditionStoneskinExtendedDescription=Widerstandsfähig gegen Schlag-, Schnitt- und Stichschäden. Rules/&CounterFormDismissCreatureFormat=Entlässt eine gewünschte heraufbeschworene Kreatur @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=Konzentriert sich auf den Zauber: Rules/&SituationalContext9018Format=Ist Effektquelle: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Zauberpunkte bis zur Hälfte deiner Zaubererstufe wiederherstellen, abgerundet Rules/&TurnOccurenceEndOfSourceTurnFormat=Endquelle der Wende +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Sie können pro Runde eine unbegrenzte Anzahl an Inventaraktionen durchführen. Screen/&ClassExtraSpellDescriptionFormat=Du kennst diesen Zauber aus dem {0}-Unterricht. Screen/&EditorLocationSize3Title=Riesig [MODIFIZIERT] Screen/&EditorLocationSize4Title=Gigantisch [MODIFIZIERT] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=Sie kennen diesen Zauber aus anderen Rep Screen/&MulticlassExtraSpellTitle=Mehrklassen Screen/&PatronExtraSpellDescription=Schutzzauber Screen/&PatronExtraSpellTitle=Patron +Screen/&PreparePanelMemorizeSpellSelect=Wählen Sie einen Zauber aus, den Sie vorbereiten möchten. Screen/&RaceExtraSpellDescription=Sie kennen diesen Zauber aus Ihrer Vergangenheit. Screen/&RaceExtraSpellTitle=Erbe Screen/&RangerSpellDescription=Dieser Zauber wurde Ihnen von Ihrem Ranger-Archetyp verliehen und gilt als Ihnen bekannt. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=Sie haben auf dieser Ebene {0} Paktma Screen/&SubclassClassExtraSpellDescriptionFormat=Du kennst diesen Zauber aus der Unterklasse {0}. Screen/&SwitchConfigurationDescription=Wechseln Sie bei Ihren ausgerüsteten Gegenständen zu dieser Konfiguration: {0}.\nHalten Sie die STRG-Taste gedrückt, um die andere Hand möglichst beizubehalten. Spell/&ConjureElementalInvisibleStalkerTitle=Elementar beschwören [Unsichtbarer Pirscher] +Spell/&HuntersMarkExtendedDescription=Ein Feind erleidet durch Sie zusätzlichen Kraftschaden und Sie können ihn für eine begrenzte Zeit leicht erkennen. +Spell/&PowerWordStunExtendedDescription=Du überwältigst den Geist einer Kreatur, die du in Reichweite sehen kannst. Wenn das Ziel 150 Trefferpunkte oder weniger hat, ist es betäubt. Andernfalls ist seine Geschwindigkeit bis zum Beginn deines nächsten Zuges 0. Das betäubte Ziel macht am Ende jedes Zuges einen Konstitutionsrettungswurf und beendet den Zustand bei Erfolg. +Spell/&SpareTheDyingExtendedDescription=Wähle eine Kreatur in Reichweite, die 0 Trefferpunkte hat und nicht tot ist. Die Kreatur wird stabil. Die Reichweite verdoppelt sich, wenn du Level 5 (30 Fuß), 11 (60 Fuß) und 17 (120 Fuß) erreichst. Spell/&StoneskinExtendedDescription=Verleiht Widerstand gegen Schlag-, Schnitt- und Stichschäden. Spell/&TrueStrike2024Description=Geleitet von einem Geistesblitz führst du einen Angriff mit der Waffe aus, die du beim Wirken des Zaubers benutzt hast. Der Angriff nutzt entweder deine Zauberfähigkeit für die Angriffs- und Schadenswürfe oder Stärke oder Geschicklichkeit, je nachdem, was höher ist. Wenn der Angriff trifft, verursacht er Strahlungsschaden statt des normalen Schadenstyps der Waffe. Der Angriff verursacht zusätzlichen Strahlungsschaden, wenn du die Stufen 5 (1W6), 11 (2W6) und 17 (3W6) erreichst. Stage/&IdentityMorphotypeEyeHeader=Augenstil diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 91cb241a06..ebeb39bb20 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Vielseitigkeit ModUi/&DontEndTurnAfterReady=Beenden Sie den Zug nicht nach der Aktion Bereit [erlaubt Bonusaktionen oder andere Hauptaktionen aus anderen Quellen] ModUi/&DontFollowCharacterInBattle=Die Kampfkamera folgt nicht, wenn die Figur bereits auf dem Bildschirm ist ModUi/&DontFollowMargin=+ Sofern der Held nicht ausgeschaltet ist oder sich innerhalb von % des Bildschirmrands befindet +ModUi/&DownloadVoice=Vorgeschlagene Stimmen herunterladen +ModUi/&DownloadVoiceOngoing=Wird heruntergeladen unter {0} ModUi/&DungeonMaker=Dungeon-Ersteller ModUi/&DungeonMakerBasicHelp=• Diese Einstellungen erfordern nicht, dass der Spieler diesen Mod installiert hat ModUi/&Effects=Auswirkungen @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Aktiviere ein episches 35-Punkte-Kaufsystem und ModUi/&EnableExtendedProficienciesPanelDisplay=Anzeige des erweiterten Kompetenzfelds aktivieren [Arkane Schüsse, Infusionen, Manöver und Vielseitigkeit]\n[Leistungseinbußen bei der Charakterüberprüfung. Verwendung auf eigene Gefahr] ModUi/&EnableFeatsAtEvenLevels=Aktiviere die Auswahl von Fähigkeiten auf den Stufen 2, 10 und 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Aktiviere die Auswahl von Fähigkeiten auf den Stufen 6 und 14. +ModUi/&EnableFighterStudiedAttacks=Aktivieren Sie Durchdachte Angriffe auf Stufe 13 [Vorteil, wenn vorheriger Angriff in Runde gegen Kreatur fehlgeschlagen ist] +ModUi/&EnableFighterTacticalProgression=Aktivieren Sie Tactical Mind und Tactical Shift auf den Stufen 2 und 5 [erweitern Sie Szenarien für den zweiten Wind] ModUi/&EnableFighterWeaponSpecialization=Aktivieren Sie Waffenspezialisierung auf den Stufen 8 und 16 [erhalten Sie +1 auf Treffer und Schaden, sind Sie jedoch bei allen anderen Waffentypen im Nachteil] ModUi/&EnableFlexibleBackgrounds=Flexible Hintergründe aktivieren [Fertigkeiten und Werkzeugkenntnisse aus Hintergründen auswählen] ModUi/&EnableFlexibleRaces=Flexible Rassen aktivieren [Fähigkeitspunkte statt der Rassenstandards zuweisen] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Aktiviere Waffenspezialisie ModUi/&EnableMulticlass=Aktivieren Sie Multiclass [Neustart erforderlich] ModUi/&EnableOneDnDPreparedSpellsTables=Ermöglichen Sie allen Zauberern die Verwendung neuer vorbereiteter Zaubertabellen [Barde, Kleriker, Druide, Paladin, Waldläufer, Zauberer, Magier] ModUi/&EnableOneDndBarkskinSpell=Aktiviere Barkskin 5e 2024 Zauberversion [Bonusaktion, keine Konzentration, AC auf 17 gesetzt] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Aktiviere Arkanes Schwert, Kreis des Todes, Flammenschlag, Eissturm und Bösartige Verhöhnung 5e 2024 Zauberversion [besserer Schaden] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Aktiviere Arkanes Schwert, Kreis des Todes, Flammenschlag, Eissturm, Prismatischer Sprühnebel. und Bösartige Verhöhnung 5e 2024 Zauberversion [besserer Schaden] ModUi/&EnableOneDndDivineFavorSpell=Aktivieren Sie die Zauberversion Göttliche Gunst 5e 2024 [keine Konzentration] ModUi/&EnableOneDndGuidanceSpell=Aktivieren Sie die Zauberversion Anleitung 5e 2024 [Wählen Sie beim Zaubern eine Fertigkeit aus und erhalten Sie bis zu 1 Minute lang einen Bonus.] ModUi/&EnableOneDndHealingSpellsUpgrade=Aktiviere Wunden heilen, Falsches Leben, Heilendes Wort, Massenheilung von Wunden und Massenheilungswort 5e 2024 Zauberversion [bessere Heilung] +ModUi/&EnableOneDndHideousLaughterSpell=Aktiviere Hideous Laughter 5e 2024 Zauberversion [+1 Ziel pro Upcast] +ModUi/&EnableOneDndHuntersMarkSpell=Aktiviere Hunter's Mark 5e 2024 Zauberversion [Kraftschaden] ModUi/&EnableOneDndLesserRestorationSpell=Aktiviere die Zauberversion Geringere Wiederherstellung 5e 2024 [Bonusaktion] ModUi/&EnableOneDndMagicWeaponSpell=Aktiviere Magische Waffe 5e 2024 Zauberversion [Bonusaktion, keine Konzentration, Verstärkungs-Upgrade auf der 3. und 6. Zauberstufe] -ModUi/&EnableOneDndPowerWordKillSpell=Aktiviere Machtwort: Töten 5e 2024 Zauberversion [12d12 psychischer Schaden wenn über 100 PS] +ModUi/&EnableOneDndPowerWordStunSpell=Aktiviere Machtwort Betäubung 5e 2024 Zauberversion [Ziel wird für eine Runde angehalten, wenn es mehr als 150 PS hat] +ModUi/&EnableOneDndSpareTheDyingSpell=Aktiviere die Zauberversion Spare the Dying 5e 2024 [Reichweite verdoppelt sich auf den Stufen 5, 11 und 17] +ModUi/&EnableOneDndSpiderClimbSpell=Aktiviere Spider Climb 5e 2024 Zauberversion [+1 Ziel pro Upcast] ModUi/&EnableOneDndStoneSkinSpell=Aktiviere Steinhaut 5e 2024 Zauberversion [bietet auch Widerstand gegen magisches B/P/S] ModUi/&EnableOneDndTrueStrikeCantrip=Aktiviere True Strike 5e 2024 Cantrip-Version [Neustart erforderlich]\n[Angriff nutzt deine Zauberfähigkeit für den Angriffswurf und Schadensbonus sowie zusätzlichen Strahlungsschaden ab Level 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Aktiviere Handauflegen als Bonusaktion @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere ZauberwirkenRESPEC nach der Rest-Aktion [RESPEC nicht während einer Multiplayer-Sitzung verwenden] ModUi/&EnableRitualOnAllCasters=Aktivieren Sie das Wirken von Ritualen für alle Zauberer. -ModUi/&EnableRogueCunningStrike=Aktiviere Cunning Strike und Devious Strike auf den Leveln 5 und 14 [du lässt 1 Schleichangriffswürfel für zusätzliche Treffereffekte weg] +ModUi/&EnableRogueCunningStrike=Aktiviere Cunning Strike, Improved Cunning Strike und Devious Strike auf den Leveln 5, 11 und 14 [du lässt 1 Schleichangriffswürfel für zusätzliche Treffereffekte weg] ModUi/&EnableRogueFightingStyle=Aktiviere die Auswahl Kampfstil auf Stufe 2. +ModUi/&EnableRogueReliableTalentAt7=Aktiviere Zuverlässiges Talent auf Stufe 7 statt 11. ModUi/&EnableRogueSlipperyMind=Tauschen Sie Slippery Mind gegen die 5e 2024-Version aus [Sie erhalten neben Weisheit auch Kenntnisse in Charismarettungswürfen] ModUi/&EnableRogueSteadyAim=Aktivieren Sie Zielen ohne Unterbrechung auf Stufe 3 [Bonusaktion verschafft einen Vorteil bei Ihrem nächsten Angriffswurf in der aktuellen Runde, wenn Sie sich noch nicht bewegt haben] ModUi/&EnableRogueStrSaving=Aktivieren Sie Hoodlum DEX- oder STR-Modifikatoren bei Cunning/Devious Strike ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Aktivieren Sie Second Wind, um den Nutzungsfortschritt von 5e 2024 zu nutzen ModUi/&EnableSignatureSpellsRelearn=Aktiviere, dass Signaturzauber bei jeder langen Pause vorbereitet werden [statt einmal auf Stufe 20] -ModUi/&EnableSorcererInnateSorceryAt1=Aktiviere Angeborene Zauberei auf Stufe 1. +ModUi/&EnableSorcererArcaneApotheosis=Aktiviere Arkane Apotheose bei 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Aktiviere Innate Sorcery und Sorcery Incarnate auf Level 1 und 7. ModUi/&EnableSorcererMagicalGuidance=Aktiviere Magische Führung auf Stufe 5. ModUi/&EnableSorcererQuickenedAction=Aktivieren Sie die Aktion Beschleunigter Zauber, um das Wirken des Hauptaktionszaubers mit angewandter beschleunigter Metamagie zu ermöglichen. -ModUi/&EnableSorcerousRestorationAtLevel5=Aktiviere Zauberhafte Wiederherstellung auf Stufe 5. +ModUi/&EnableSorcererSorcerousRestoration=Aktiviere Zauberhafte Wiederherstellung auf Stufe 5. ModUi/&EnableSortingDungeonMakerAssets=Aktivieren Sie die Sortierung von Assets im Dungeon Maker-Editor. +ModUi/&EnableSpeech=Aktivieren Sie die Sprachausgabe in benutzerdefinierten Kampagnen [nur Erzählung und Helden] +ModUi/&EnableSpeechActorHelp=• Wählen Sie einen Schauspieler +ModUi/&EnableSpeechOnNpcs=+ Sprache für NPCs aktivieren [entweder über Kampagnenzuordnung oder automatische Zuweisung] +ModUi/&EnableSpeechVoiceHelp=• Wählen Sie eine Stimme und Erzählgeschwindigkeit ModUi/&EnableStatsOnHeroTooltip=Statistiken im Tooltip des Helden anzeigen [z. B.: kritische Treffer, kritische Fehlschläge usw.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Außerdem fügt jeder Held einen D20-Wurf zur Gewichtung hinzu, um ein wenig Zufälligkeit zu erzeugen [Wahlgewicht = Stimmen * Charisma-Modifikator des Helden + D20-Wurf] ModUi/&EnableSurprisedToEnforceDisadvantage=Aktivieren Sie die Bedingung Überrascht, um einen Initiativenachteil durchzusetzen, anstatt eine Runde zu überspringen. ModUi/&EnableTeleportToRemoveRestrained=Aktivieren Sie Teleportieren, um alle eingeschränkten Bedingungen vom Ziel zu entfernen ModUi/&EnableTooltipDistance=Aktivieren Sie die Anzeige der Entfernung in den Tooltips, wenn Sie mit der Maus über einen Charakter im Kampf fahren. ModUi/&EnableUnarmedMainAttackAction=Aktiviere die Aktion Unbewaffneter Angriff [wenn der Akteur eine Waffe im Hauptkampf hat, ein Mönch ist oder Handwickel oder Panzerhandschuhe ausgerüstet hat] +ModUi/&EnableUnlimitedInventoryActions=Aktivieren Sie eine unbegrenzte Anzahl von Inventaraktionen pro Runde. ModUi/&EnableUpcastConjureElementalAndFey=Aktiviere Upcast von Elementar beschwören und Feenbeschwören ModUi/&EnableVariablePlaceholdersOnTexts=Aktivieren Sie variable Platzhalter in Beschreibungen [verwenden Sie {VARIABLE_NAME} als Platzhalter] ModUi/&EnableVersatileAmmunitionSlots=Erlaubt das Tragen und Verwenden von Tränken und Schriftrollen in den Munitionsfächern @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Erlaubt das Tragen und Verwenden von Magische List auf Stufe 2. ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Aktiviere Magische List auf Level 2 und verbessere Eldritch Master auf 20. ModUi/&EnableWarlockToLearnPatronAtLevel3=Aktivieren Sie Patron auf Stufe 3 statt auf Stufe 1. +ModUi/&EnableWizardMemorizeSpell=Aktiviere Zauber merken auf Stufe 5. ModUi/&EnableWizardToLearnScholarAtLevel2=Aktiviere Gelehrter auf Stufe 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Aktiviere die Schule der Magie auf Level 3 statt auf Level 2. ModUi/&EnablesAsiAndFeat=Aktivieren Sie sowohl die Erhöhung der Attributwerte als auch die Auswahl von Talenten [anstelle einer exklusiven Auswahl] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Textumbruch der Spiel-UI in asiatischen Sprache ModUi/&FixEldritchBlastRange=Nutze 24 Zellen Reichweite mit Eldritch Blast [anstelle von 12] ModUi/&FixRingOfRegenerationHealRate=Setzt die Heilrate des Rings der Regeneration auf 1 HP alle 3 Minuten. ModUi/&FlightSuspendWingedBoots=+ Offizielle Regeln für geflügelte Stiefel verwenden [verbleibende Dauer wird bei Flugunterbrechung nicht gezählt] +ModUi/&ForceModSpeechOnNpcs=+Automatische Stimmzuweisung für alle NPCs erzwingen, statt Kampagnenzuordnung ModUi/&Formation=Formation: ModUi/&FormationError=Sie können Ihre Aufstellung während eines Mehrspielerspiels nicht ändern... ModUi/&FormationHelp1=• Verwenden Sie die Zifferntasten, um einen bestimmten Satz zu bearbeiten [erwägen Sie die Aktivierung von Hotkeys unter der Eingabe] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Aktivieren Sie den Schnellzauber Lichtempfindlichkeit bei Dunkelelf, Dunkelkobold und Grauer Zwerg, damit diese nur im Freien ausgelöst wird\n[Innenbereiche an Außenbereichen, die ohne Ladebildschirm zugänglich sind, werden von der Spiel-Engine als Außenbereiche betrachtet] ModUi/&Races=Rennen ModUi/&RecipeCost=Kosten des Rezepts +ModUi/&RefreshVoice=Stimmenliste aktualisieren ModUi/&RelicForgeries=Reliquienfälschungen ModUi/&RemoveAttunementRequirements=Abstimmungsanforderungen entfernen [Neustart erforderlich] ModUi/&RemoveBardMagicalSecretAt14And18=Entferne Magisches Geheimnis auf den Ebenen 14 und 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Symbol für hergestellte Gegenstände neben R ModUi/&ShowCraftingRecipeInDetailedTooltips=Herstellungsrezept in ausführlichen Tooltips anzeigen ModUi/&ShowDescriptions=Beschreibungen anzeigen ModUi/&ShowMotionFormPreview=Vorschau der Push- und Pull-Effekte anzeigen +ModUi/&SpeechScale=Erzählgeschwindigkeitsmodifikator [niedriger ist schneller] ModUi/&SpellLevelFilter=Zauberstufenfilter [-1 zeigt alle an] ModUi/&SpellsMenu=Zauber ModUi/&StealthBreaksWhenAttackHits=Aktivieren Sie den Verlust der Tarnung, wenn ein Waffen- oder Zauberangriff trifft @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Insgesamt die auf der ersten Stu ModUi/&Translate=Übersetzen ModUi/&TranslateCancel=Stornieren Sie {0} bei {1} ModUi/&Translations=Übersetzungen: +ModUi/&UnityExplorer=Unity Explorer-Benutzeroberfläche ModUi/&UnleashEnemyAsNpc=Erlaube die Auswahl von Monstern auf NPC-Geräten ModUi/&UnleashNpcAsEnemy=Monsterauswahl freischalten ModUi/&Update=Aktualisieren diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt index 48dea620ce..5ccbbfceb3 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Cantrips-de.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Grüne Flammenklinge! Feedback/&AdditionalDamageResonatingStrikeLine={0} verbrennt {1} mit Grünflammenklinge! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Sonnenbeschienene Klinge! Feedback/&AdditionalDamageSunlightBladeLine={0} erleuchtet {1} mit sonnenbeschienener Klinge! (+{2}) -Feedback/&Within5Ft=5 Fuß -Feedback/&WithinReach=Erreichen Proxy/&ProxyCreateBonfireTitle=Feuer Spell/&AcidClawsDescription=Ihre Fingernägel schärfen sich, bereit für einen ätzenden Angriff. Führen Sie einen Nahkampf-Zauberangriff gegen eine Kreatur innerhalb von 1,5 m um Sie herum aus. Bei einem Treffer erleidet das Ziel 1W8 Säureschaden und seine RK wird 1 Runde lang um 1 gesenkt (nicht stapelbar). Spell/&AcidClawsTitle=Säureklauen diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells01-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells01-de.txt index e59157cef9..c9b4617512 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells01-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells01-de.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} schlägt schnell zu {1} (+{2 Feedback/&AdditionalDamageThunderousSmiteFormat=Donnernder Schlag! Feedback/&AdditionalDamageThunderousSmiteLine={0} fügt {1} durch einen donnernden Schlag mehr Schaden zu (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=Zorniger Schlag! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} fügt {1} durch einen wütenden Schlag mehr Schaden zu (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} fügt {1} durch einen zornigen Schlag mehr Schaden zu (+{2}) Feedback/&ChaosBoltGainLeap={0} kann einen zusätzlichen Feind mit {1} Sprungkraft anvisieren Feedback/&ChaosBoltRandomChoice={0} lass {1} sich zufällig als {2} manifestieren Feedback/&ChaosBoltRolledDifferentDice={0} hat mit {1} D8 Schadenswürfeln eine {2} und eine {3} gewürfelt. Feedback/&ChaosBoltRolledEqualDice={0} hat mit beiden {1} D8-Schadenswürfeln eine {2} gewürfelt. Feedback/&FeatureGiftOfAlacrityLine={0} löst {1} aus und fügt {2} zur Initiative hinzu +Feedback/&Within5Ft=5 Fuß +Feedback/&WithinReach=Erreichen Monster/&OwlFamiliarDescription=Eulenfreund. Monster/&OwlFamiliarTitle=Eulenfreund Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Wählen Sie eine Schadensart. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Erhöhen Sie die Schwerkraft in einer Kugel mit Spell/&MagnifyGravityTitle=Schwerkraft vergrößern Spell/&MuleDescription=Der Empfänger dieses Zaubers kann die Auswirkungen schwerer Lasten oder Rüstungen auf die Bewegungsgeschwindigkeit ignorieren. Er kann auch etwas mehr Gewicht tragen. Spell/&MuleTitle=Maultier +Spell/&ProtectionFromEvilGoodTitle=Beschützen gegen Böse und Gut Spell/&RadiantMotesDescription=Löst einen Schwarm aus 4 Strahlungsprojektilen aus, die jeweils 1W4 Strahlungsschaden verursachen.\nWenn du diesen Zauber mit einem Zauberplatz der 2. Stufe oder höher aussprichst, erzeugt der Zauber für jeden Platz über dem 1. 1 weiteres Projektil. Spell/&RadiantMotesTitle=Strahlende Partikel +Spell/&RayOfSicknessDescription=Du schießt einen grünlichen Strahl auf eine Kreatur in Reichweite. Führe einen Fernangriff mit Zauber gegen das Ziel aus. Bei einem Treffer erleidet das Ziel 2W8 Giftschaden und ist bis zum Ende deines nächsten Zuges vergiftet. Der Schaden erhöht sich um 1W8 für jede Zauberstufe über 1. +Spell/&RayOfSicknessTitle=Strahl der Krankheit Spell/&SanctuaryDescription=Du schützt eine Kreatur in Reichweite vor Angriffen. Bis der Zauber endet, muss jede Kreatur, die die geschützte Kreatur mit einem Angriff oder einem schädlichen Zauber anvisiert, zuerst einen Weisheitsrettungswurf machen. Bei einem misslungenen Rettungswurf verliert die Kreatur den Angriff oder Zauber. Dieser Zauber schützt die geschützte Kreatur nicht vor Flächeneffekten. Wenn die geschützte Kreatur einen Angriff ausführt oder einen Zauber wirkt, endet dieser Zauber. Spell/&SearingSmiteDescription=Bei Ihrem nächsten Treffer flammt Ihre Waffe mit weißglühender Intensität auf und der Angriff fügt dem Ziel zusätzlichen 1W6 Feuerschaden zu und lässt das Ziel in Flammen aufgehen.\nZu Beginn jeder seiner Runden muss das Ziel einen erfolgreichen Rettungswurf auf Konstitution machen, um das Brennen zu stoppen, oder es erleidet 1W6 Feuerschaden.\nHöhere Level: Für jedes Slot-Level über dem 1. erhöht sich der anfängliche zusätzliche Schaden, der durch den Angriff verursacht wird, um 1W6. Spell/&SearingSmiteTitle=Sengender Schlag @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Du beschwörst die Macht bösartiger Kräfte. Ranken Spell/&VoidGraspTitle=Waffen von Hadar Spell/&WitchBoltDescription=Ein Strahl knisternder, blauer Energie schießt auf eine Kreatur in Reichweite zu und bildet einen anhaltenden Blitzbogen zwischen Ihnen und dem Ziel. Führen Sie einen Fernangriff auf diese Kreatur aus. Bei einem Treffer erleidet das Ziel 1W12 Blitzschaden und Sie können während der Dauer in jedem Ihrer Züge Ihre Aktion verwenden, um dem Ziel automatisch 1W12 Blitzschaden zuzufügen. Der Zauber endet, wenn Sie Ihre Aktion für etwas anderes verwenden. Der Zauber endet auch, wenn sich das Ziel jemals außerhalb der Reichweite des Zaubers befindet. Wenn Sie diesen Zauber mit einem Zauberplatz der 2. Stufe oder höher wirken, erhöht sich der Schaden um 1W12 für jede Platzstufe über der 1. Spell/&WitchBoltTitle=Hexenbolzen -Spell/&WrathfulSmiteDescription=Wenn du während der Dauer dieses Zaubers das nächste Mal mit einem Nahkampfangriff triffst, verursacht dein Angriff zusätzlich 1W6 psychischen Schaden. Wenn das Ziel eine Kreatur ist, muss sie außerdem einen Weisheitsrettungswurf machen oder hat Angst vor dir, bis der Zauber endet. Als Aktion kann die Kreatur einen Weisheitswurf gegen deinen Zauberrettungs-SG machen, um ihre Entschlossenheit zu stärken und diesen Zauber zu beenden. +Spell/&WrathfulSmiteDescription=Das Ziel erleidet durch den Angriff zusätzlich 1W6 nekrotischen Schaden und muss einen Weisheitsrettungswurf bestehen oder sich im Zustand „Verängstigt“ befinden, bis der Zauber endet. Am Ende jeder seiner Runden wiederholt das verängstigte Ziel den Rettungswurf und beendet den Zauber bei Erfolg auf sich selbst. Der Schaden erhöht sich um 1W6 für jede Zauberplatzstufe über 1. Spell/&WrathfulSmiteTitle=Zorniger Schlag Tooltip/&TagDamagePureTitle=Chaotischer Schaden diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt index 2f867ddbb2..58e413410c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells02-de.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Zerplatze einen leuchtenden Würfel, der jeden im U 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 RK 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 nicht betroffen, falls sie geblendet ist oder über Blindsicht, Wahre Sicht oder Erschütterungssinn verfügt (gilt nicht, wenn Sie den Boden nicht berühren). +Spell/&MirrorImageDescription=Drei illusorische Duplikate von dir selbst erscheinen in deinem Raum. Bis der Zauber endet, bewegen sich die Duplikate mit dir und ahmen deine Handlungen nach. Dabei verändern sie ihre Position, sodass es unmöglich ist, zu verfolgen, welches Bild real ist. Jedes Mal, wenn dich eine Kreatur während der Dauer des Zaubers mit einem Angriffswurf trifft, wirf einen W6 für jedes deiner verbleibenden Duplikate. Wenn einer der W6 eine 3 oder höher würfelt, wird eines der Duplikate anstelle von dir getroffen und das Duplikat wird zerstört. Ansonsten ignorieren die Duplikate alle anderen Schäden und Effekte. Der Zauber endet, wenn alle drei Duplikate zerstört sind. Eine Kreatur bleibt von diesem Zauber unberührt, wenn sie den Zustand Blindheit, Blindsicht oder Wahre Sicht hat. Spell/&MirrorImageTitle=Spiegelbild Spell/&NoxiousSprayDescription=Sie entfesseln einen Strahl giftiger Gase auf ein Ziel in Reichweite. Führen Sie einen Fernangriff mit Zauber aus. Bei einem Treffer erleidet das Ziel 4W6 Giftschaden und muss einen Konstitutionsrettungswurf bestehen oder den gesamten nächsten Zug würgend und keuchend verbringen, unfähig, sich zu bewegen oder Aktionen auszuführen. Konstrukte, Elementare und Untote sind von diesem Zauber nicht betroffen. Wenn Sie diesen Zauber mit einem Slot der 3. Stufe oder höher wirken, können Sie für jede Slotstufe über der 2. eine zusätzliche Kreatur als Ziel wählen. Spell/&NoxiousSprayTitle=Giftiger Sprühnebel diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt index 9abe6610eb..ade0030b5e 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells03-de.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Du erschaffst das Antlitz einer riesigen grünen Sc Spell/&AdderFangsTitle=Kreuzotterzähne Spell/&AshardalonStrideDescription=Die lodernden Flammen eines Drachen schießen aus deinen Füßen und verleihen dir explosive Geschwindigkeit. Während der Wirkungsdauer erhöht sich deine Geschwindigkeit um 20 Fuß und Bewegungen provozieren keine Gelegenheitsangriffe. Wenn du dich innerhalb von 5 Fuß an eine Kreatur bewegst, erleidet diese 1W6 Feuerschaden durch deine Hitzespur. Eine Kreatur kann diesen Schaden nur einmal pro Runde erleiden. Wenn du diesen Zauber mit einem Zauberplatz der 4. Stufe oder höher wirkst, erhöhst du deine Geschwindigkeit um 5 Fuß für jede Zauberplatzstufe über der 3. Der Zauber verursacht zusätzlich 1W6 Feuerschaden für jede Platzstufe über der 3. Spell/&AshardalonStrideTitle=Ashardalons Schritt -Spell/&AuraOfLifeDescription=Heilende Energie strahlt von dir in einer Aura mit einem Radius von 30 Fuß aus. Bis der Zauber endet, bewegt sich die Aura mit dir, zentriert auf dich. Du kannst eine Bonusaktion nutzen, um einer Kreatur in der Aura (einschließlich dir) 2W6 Trefferpunkte zurückzugeben. +Spell/&AuraOfLifeDescription=Heilende Energie strahlt von dir in einer Aura mit einem Radius von 30 Fuß aus. Wenn du die Aura erschaffst und während jeder deiner nachfolgenden Runden, während sie anhält, kannst du einer Kreatur darin als freie Aktion 2W6 Trefferpunkte wiederherstellen. Spell/&AuraOfLifeTitle=Aura der Vitalität Spell/&BlindingSmiteDescription=Wenn du während der Dauer dieses Zaubers das nächste Mal eine Kreatur mit einem Nahkampfangriff triffst, flammt deine Waffe mit einem hellen Licht auf und der Angriff verursacht beim Ziel zusätzliche 3W8 Strahlungsschaden. Außerdem muss das Ziel einen Konstitutionsrettungswurf bestehen oder ist geblendet, bis der Zauber endet. Eine Kreatur, die durch diesen Zauber geblendet wurde, macht am Ende jedes ihrer Züge einen weiteren Konstitutionsrettungswurf. Bei einem erfolgreichen Rettungswurf ist sie nicht länger geblendet. Spell/&BlindingSmiteTitle=Blendender Schlag @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=Du teleportierst dich an einen freien Platz, den d Spell/&BoomingStepTitle=Donnerschritt Spell/&CorruptingBoltDescription=Du kannst einen Impuls nekrotischer Energie abfeuern, der den Körper einer Kreatur zu verwelken und zu verwesen beginnt. Führe einen Fernangriff gegen eine Kreatur aus. Bei einem Treffer erleidet das Ziel 4W8 nekrotischen Schaden und muss einen Konstitutionsrettungswurf bestehen. Bei einem misslungenen Rettungswurf ist die Kreatur beim nächsten Angriff, den du oder ein Verbündeter vor dem Ende deines nächsten Zuges auf die verdorbene Kreatur verwundbar gegenüber dem gesamten Schaden dieses Angriffs, und dann endet die Verderbnis. 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/&CorruptingBoltTitle=Verderbender Bolzen -Spell/&CrusadersMantleDescription=Umgeben Sie sich mit einer magischen Aura. Verbündete innerhalb der Aura erhalten bei ihren Angriffen einen zusätzlichen Strahlungsschaden von 1W4. +Spell/&CrusadersMantleDescription=Heilige Kraft strahlt von dir in einer Aura mit einem Radius von 30 Fuß aus und erweckt Mut in freundlichen Kreaturen. Bis der Zauber endet, bewegt sich die Aura mit dir, auf dich zentriert. Während du dich in der Aura befindest, verursacht jede nicht feindliche Kreatur in der Aura (einschließlich dir) bei einem Angriff zusätzlich 1W4 Strahlungsschaden. Spell/&CrusadersMantleTitle=Mantel des Kreuzfahrers Spell/&ElementalWeaponDamageAcidDescription=Verleiht einer nicht magischen Waffe Säureschaden. Spell/&ElementalWeaponDamageAcidTitle=Säureelementarwaffe diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells05-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells05-de.txt index 71c901ed20..ea02d67f13 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells05-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells05-de.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Eine kleine Kugel in derselben Farbe wie der verwend Spell/&SonicBoomTitle=Überschallknall Spell/&SteelWhirlwindDescription=Du schwingst die Waffe, die du beim Zaubern benutzt hast, und verschwindest dann, um wie der Wind zuzuschlagen. Wähle bis zu fünf Kreaturen, die du in Reichweite sehen kannst. Führe einen Nahkampfangriff gegen jedes Ziel aus. Bei einem Treffer erleidet das Ziel 6d10 Kraftschaden. Du kannst dich dann zu einem freien Ort teleportieren, den du innerhalb von 5 Fuß von einem der Ziele sehen kannst, die du getroffen oder verfehlt hast. Spell/&SteelWhirlwindTitle=Stahlwindschlag -Spell/&SwiftQuiverDescription=Du wandelst deinen Köcher um, sodass die Munition automatisch in deine Hand springt, wenn du danach greifst. In jedem deiner Züge, bis der Zauber endet, kannst du eine Bonusaktion nutzen, um zwei Angriffe mit einer Fernkampfwaffe auszuführen. +Spell/&SwiftQuiverDescription=Während du den Zauber wirkst und als Bonusaktion bis zu seinem Ende, kannst du zwei Angriffe mit einer Waffe ausführen, die Pfeile oder Bolzen abfeuert, wie zum Beispiel einem Langbogen oder einer leichten Armbrust. Der Zauber erzeugt auf magische Weise die Munition, die für jeden Angriff benötigt wird. Jeder durch den Zauber erzeugte Pfeil oder Bolzen verursacht Schaden wie eine nicht magische Munition dieser Art und zerfällt sofort, nachdem er getroffen oder verfehlt hat. Spell/&SwiftQuiverTitle=Schneller Köcher Spell/&SynapticStaticDescription=Du wählst einen Punkt innerhalb der Reichweite und lässt dort psychische Energie explodieren. Jede Kreatur in einer Kugel mit einem Radius von 20 Fuß, die auf diesen Punkt zentriert ist, muss einen Intelligenzrettungswurf machen. Ein Ziel erleidet bei einem misslungenen Rettungswurf 8W6 psychischen Schaden oder bei einem erfolgreichen Rettungswurf die Hälfte. Nach einem misslungenen Rettungswurf hat ein Ziel 1 Minute lang verwirrte Gedanken. Während dieser Zeit würfelt es einen W6 und zieht die gewürfelte Zahl von all seinen Angriffswürfen und Fähigkeitswürfen ab. Das Ziel kann am Ende jeder seiner Runden einen Intelligenzrettungswurf machen und bei einem Erfolg den Effekt auf sich selbst beenden. Spell/&SynapticStaticTitle=Synaptische Statik diff --git a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt index 1f792e5cf6..2e987f7ad5 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Spells/Spells09-de.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Lodernde Feuerkugeln stürzen an einem Spell/&MeteorSwarmSingleTargetTitle=Meteorschwarm Spell/&PowerWordHealDescription=Eine Welle heilender Energie überflutet die Kreatur, die Sie berühren. Das Ziel erhält alle seine Trefferpunkte zurück. Wenn die Kreatur bezaubert, verängstigt, gelähmt, vergiftet oder betäubt ist, endet der Zustand. Wenn die Kreatur am Boden liegt, kann sie ihre Reaktion nutzen, um aufzustehen. Dieser Zauber hat keine Wirkung auf Untote oder Konstrukte. Spell/&PowerWordHealTitle=Kraftwort Heilung -Spell/&PowerWordKillDescription=Du sprichst ein Machtwort aus, das eine Kreatur, die du in Reichweite siehst, sofort sterben lässt. Wenn die Kreatur, die du auswählst, 100 Trefferpunkte oder weniger hat, stirbt sie. Andernfalls hat der Zauber keine Wirkung. +Spell/&PowerWordKillDescription=Du zwingst eine Kreatur, die du in Reichweite sehen kannst, zu sterben. Wenn das Ziel 100 Trefferpunkte oder weniger hat, stirbt es. Andernfalls erleidet es 12d12 psychischen Schaden. Spell/&PowerWordKillTitle=Machtwort Töten Spell/&PsychicScreamDescription=Du entfesselst die Macht deines Geistes, um den Intellekt von bis zu zehn Kreaturen deiner Wahl, die du in Reichweite sehen kannst, zu sprengen. Jedes Ziel muss einen Intelligenzrettungswurf machen. Bei einem misslungenen Rettungswurf erleidet das Ziel 14W6 psychischen Schaden und ist 1 Minute lang betäubt. Bei einem erfolgreichen Rettungswurf erleidet das Ziel nur halb so viel Schaden und ist nicht betäubt. Ein betäubtes Ziel kann am Ende jeder seiner Runden einen Intelligenzrettungswurf machen. Bei einem erfolgreichen Rettungswurf endet der Betäubungseffekt. Spell/&PsychicScreamTitle=Psychischer Schrei @@ -25,5 +25,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 hintereinander ausführst, in denen du Aktionen ausführen und dich normal bewegen kannst. Dieser Zauber endet, wenn eine der Aktionen, die du während dieser Zeit ausführst, oder ein Effekt, den du während dieser Zeit erzeugst, eine andere Kreatur als dich selbst betrifft. Spell/&TimeStopTitle=Zeitstopp -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/&WeirdDescription=Sie versuchen, in den Köpfen anderer illusorische Ängste zu erzeugen. Jede Kreatur Ihrer Wahl in einer Kugel mit einem Radius von 30 Fuß, deren Mittelpunkt ein Punkt innerhalb der Reichweite ist, macht einen Weisheitsrettungswurf. Bei einem misslungenen Rettungswurf erleidet das Ziel 10d10 psychischen Schaden und ist für die Dauer des Rettungswurfs verängstigt. Bei einem erfolgreichen Rettungswurf erleidet das Ziel nur halb so viel Schaden. Ein verängstigtes Ziel macht am Ende jedes seiner Züge einen Weisheitsrettungswurf. Bei einem misslungenen Rettungswurf erleidet es 5d10 psychischen Schaden. Bei einem erfolgreichen Rettungswurf endet der Zauber für das Ziel. Spell/&WeirdTitle=Seltsam diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/CircleOfTheAncientForest-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/CircleOfTheAncientForest-de.txt index cadda12fe0..fbe6c52b8b 100644 --- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/CircleOfTheAncientForest-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/CircleOfTheAncientForest-de.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=Du verfügst über einen Vorrat a Feature/&PowerAncientForestRegrowthTitle=Nachwachsen Feature/&PowerAncientForestRootedDescription=Aus deinen Füßen wachsen Ranken, die sich in den Boden graben. Deine Geschwindigkeit wird auf 0 gesenkt und du erhältst einen Vorteil bei allen Rettungswürfen, die dich stoßen, ziehen oder niederschlagen. Du kannst nach Belieben Verstricken wirken. Feature/&PowerAncientForestRootedTitle=Verwurzelt -Feature/&PowerPoolAncientForestHerbalBrewDescription=Du kannst Kräutertränke brauen, die jeweils bis zur nächsten langen Pause anhalten. Du braust insgesamt so viele Tränke, wie dein Fertigkeitsbonus beträgt. Wähle für jeden Trank einen der folgenden Effekte:\nStärkendes Gebräu: Verleiht 1 Stunde lang Widerstand gegen verschiedene Schadensarten.\nBeschleunigendes Gebräu: Bietet 2W4 Trefferpunkte.\nVergiftendes Gebräu: Wirkt wie Gift, das auf eine Waffe aufgetragen werden kann und 1 Minute lang anhält. Wenn der Treffer landet, erleidet das Ziel bei jedem Treffer 1W4 Giftschaden. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Du kannst Kräutertränke brauen, die jeweils bis zur nächsten langen Pause anhalten. Du braust insgesamt so viele Tränke, wie dein Fertigkeitsbonus beträgt. Wähle für jeden Trank einen der folgenden Effekte:\nStärkendes Gebräu: Verleiht 1 Stunde lang Widerstand gegen verschiedene Schadensarten.\nBeschleunigendes Gebräu: Bietet 2W4 Trefferpunkte.\nVergiftendes Gebräu: Wirkt wie Gift, das auf eine Waffe aufgetragen werden kann und 1 Minute lang anhält. Wenn der Treffer landet, erleidet das Ziel bei jedem Treffer 1W4 Giftschaden. Feature/&PowerPoolAncientForestHerbalBrewTitle=Kräuterbrauen Feature/&PowerPoolAncientForestWallOfThornsDescription=Du kannst die Dornenwand so oft wirken, wie dein Weisheitsmodifikator beträgt. Sie lädt sich bei langen Pausen wieder auf. Feature/&PowerPoolAncientForestWallOfThornsTitle=Dornenwand diff --git a/SolastaUnfinishedBusiness/Translations/en/FightingStyles-en.txt b/SolastaUnfinishedBusiness/Translations/en/FightingStyles-en.txt index f25064e787..573722ccc0 100644 --- a/SolastaUnfinishedBusiness/Translations/en/FightingStyles-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/FightingStyles-en.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Execution! Feedback/&AdditionalDamageExecutionerLine={0} executes {1} for +{2} extra damage! FightingStyle/&AstralReachDescription=Your unarmed reach increases by 5ft as long as both of your hands are free. FightingStyle/&AstralReachTitle=Astral Reach +FightingStyle/&BlessedWarriorDescription=You learn two cantrips of your choice from the Cleric spell list. They count as Paladin spells for you, and Charisma is your spellcasting ability for them. +FightingStyle/&BlessedWarriorTitle=Blessed Warrior FightingStyle/&BlindFightingDescription=You have blind sight with a range of 10 ft. Within that range, you can effectively see anything that isn't behind total cover, even if you're blinded or in darkness. Moreover, you can see an invisible creature within that range, unless the creature successfully hides from you. FightingStyle/&BlindFightingTitle=Blind Fighting FightingStyle/&CripplingDescription=You reduce the speed of your opponents by 10 ft until the end of your next turn on a melee attack hit. FightingStyle/&CripplingTitle=Crippling +FightingStyle/&DruidicWarriorDescription=You learn two cantrips of your choice from the Druid spell list. They count as Ranger spells for you, and Wisdom is your spellcasting ability for them. +FightingStyle/&DruidicWarriorTitle=Druidic Warrior FightingStyle/&ExecutionerDescription=You add your proficiency bonus to damage against blinded, frightened, restrained, incapacitated, paralyzed, prone or stunned creatures. FightingStyle/&ExecutionerTitle=Executioner FightingStyle/&HandAndAHalfDescription=You gain a +1 bonus to your attack rolls and a +1 to bonus to your AC while wielding a melee one-handed or versatile weapon and no other weapon or shield. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} attacked one of your allies, in Reaction/&ReactionAttackSentinelReactDescription=Use reaction to attack. Reaction/&ReactionAttackSentinelReactTitle=Attack Reaction/&ReactionAttackSentinelTitle=Sentinel +Tag/&BlessedWarriorCantripSpecialTagTitle=Blessed Warrior Cantrips +Tag/&DruidicWarriorCantripSpecialTagTitle=Druidic Warrior Cantrips \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Translations/en/Invocations-en.txt b/SolastaUnfinishedBusiness/Translations/en/Invocations-en.txt index a789cd31e0..b202ad3d01 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Invocations-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Invocations-en.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=As a bonus action, you Feature/&PowerInvocationPerniciousCloakRemoveTitle=Remove Cloak of Flies Feedback/&AdditionalDamageEldritchSmiteFormat=Eldritch Smite! Feedback/&AdditionalDamageEldritchSmiteLine={0} smites {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Gain additional effects when bound to a creature. When bound to Imp gain greater invisibility, when bound to Pseudo Dragon gain flight and attacks imbued with poison, when bound to Quasit gain an additional main action and advantage on Dexterity saving throws, and when bound to Sprite get an AC score of at least 16 and attackers have disadvantage against you. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Gain additional effects when bound to a creature. When bound to Imp gain greater invisibility, when bound to Pseudo Dragon gain flight and attacks imbued with poison, when bound to Quasit gain an additional attack and advantage on Dexterity saving throws, and when bound to Sprite get an AC score of at least 16 and attackers have disadvantage against you. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Abilities of the Chain Master Invocation/&InvocationAspectOfTheMoonDescription=You no longer need to sleep and can keep watch, lowering the chances of attack and ensuring you are awake if camp is attacked. Invocation/&InvocationAspectOfTheMoonTitle=Aspect of the Moon diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 09f18a6db0..a9b220e2a1 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Innate Sorcery Condition/&ConditionStaggeringBlowAoODescription=You can't make Opportunity Attacks until the start of your next turn. Condition/&ConditionStaggeringBlowAoOTitle=Staggering Blow Condition/&ConditionStopMovementTitle=Stopped +Condition/&ConditionStudiedAttacksDescription=Source has advantage on next attack against you +Condition/&ConditionStudiedAttacksTitle=Studied Attacks Condition/&ConditionTauntedDescription=You have disadvantage on attack rolls against creatures other than the taunter. Condition/&ConditionTauntedTitle=Taunted Condition/&FlightSuspendDescription=Ongoing flight effect has been suspended @@ -75,13 +77,13 @@ ContentPack/&9999Description=The Unfinished Business Pack is a veritable Horn of ContentPack/&9999Title=Unfinished Business Pack Equipment/&BeltOfRegeneration_Function_Description=Regenerate 5 hit points per round for one minute. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Your attacks score a critical hit on an 18, 19 or 20 while you are wielding this weapon and are attuned to it. +Failure/&CannotAttackTarget=Can't perform attack on this target Failure/&FailureFlagCannotTargetUndead=Cannot target Undead creatures Failure/&FailureFlagMaterialComponentHandsFull=No free hand to use material spell components. Failure/&FailureFlagMustKnowLanguage=You must be proficient in {0} language to command this creature Failure/&FailureFlagTargetMustNotBeSurprised=Target must not be surprised Failure/&FailureFlagTargetMustUnderstandYou=Target must understand your command Failure/&SecondTargetNotWithinRange=Can't select this target as not within range of first -Failure/&TargetMeleeWeaponError=Can't perform melee attack on this target as not within {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=Target must be no more than one size larger Failure/&TargetMustHaveHolyWeapon=Target must have holy weapon Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=You have Advantage on Wisdom (Perception) checks while unlit or in magical darkness. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=When you roll Initiative, Feature/&FeatureBardSuperiorInspiration2024Title=Superior Inspiration Feature/&FeatureEldritchMasterDescription=When you use your Magical Cunning feature, you regain all your expended Pact Magic spell slots. Feature/&FeatureEldritchMasterTitle=Eldritch Master +Feature/&FeatureFighterStudiedAttacksDescription=You study your opponents and learn from each attack you make. If you make an attack roll against a creature and miss, you have Advantage on your next attack roll against that creature before the end of your next turn. +Feature/&FeatureFighterStudiedAttacksTitle=Studied Attacks +Feature/&FeatureFighterTacticalMindDescription=You have a mind for tactics and getting the upper hand on and off the battlefield. When you fail an ability check, you can expend a use of your Second Wind to push yourself toward success. Rather than regaining Hit Points, you roll 1d10 and add the number rolled to the ability check, potentially turning it into a success. If the check still fails, this use of Second Wind isn't expended. +Feature/&FeatureFighterTacticalMindTitle=Tactical Mind +Feature/&FeatureFighterTacticalShiftDescription=Whenever you activate your Second Wind with a Bonus Action, you can move up to half your Speed without provoking Opportunity Attacks. +Feature/&FeatureFighterTacticalShiftTitle=Tactical Shift +Feature/&FeatureImprovedRogueCunningStrikeDescription=You can use up to two Cunning Strike effects when you deal Sneak Attack damage, paying the die cost for each effect. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Improved Cunning Strike 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. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Primal Order Feature/&FeatureSetDruidPrimalOrderWardenDescription=Trained for battle, you gain proficiency with Martial weapons and training with Medium Armor. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Warden Feature/&FeatureSetRageExtendedDescription=In battle, you fight with primal ferocity. On your turn, you can enter a rage as a bonus action. This grants you advantage on strength saves and checks, an initial +2 bonus to melee attack damage, and resistance to slashing, bludgeoning, and piercing damage. You gain these benefits only if you are not wearing heavy armor. Lasts for 1 minute or ends if you have not attacked or suffered damage since your last turn.\n You start with 2 rages, renewed after a long rest. At level 7, you regain one rage point after a short rest. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=If you have no uses of Innate Sorcery left, you can use it if you spend 2 Sorcery Points when you take the Bonus Action to activate it. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=Sorcery Incarnate +Feature/&FeatureSorcererArcaneApotheosisDescription=While your Innate Sorcery feature is active, you can use one Metamagic option on each of your turns without spending Sorcery Points on it. +Feature/&FeatureSorcererArcaneApotheosisTitle=Arcane Apotheosis Feature/&FeatureSorcererMagicalGuidanceDescription=You can tap into your inner wellspring of magic to try and conjure success from failure. When you make an ability check that fails, you can spend 1 sorcery point to reroll the d20, and you must use the new roll, potentially turning the failure into a success. Feature/&FeatureSorcererMagicalGuidanceTitle=Magical Guidance +Feature/&FeatureWizardMemorizeSpellDescription=Whenever you finish a Short Rest, you can study your spellbook and replace one of the level 1+ Wizard spells you have prepared for your Spellcasting feature with another level 1+ spell from the book. +Feature/&FeatureWizardMemorizeSpellTitle=Memorize Spell Feature/&FighterExtraAttackDescription=You can attack twice, rather than once, when you use the attack or shove actions. Feature/&FlightResumeDescription=Resumes your suspended flight effect Feature/&FlightResumeTitle=Resume Flight @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Choose one of these tools: {1} Feature/&VisionBlindsightDescription=You have blindsight. Feedback/&AdditionalDamageBrutalStrikeFormat=Brutal Strike Feedback/&AdditionalDamageBrutalStrikeLine=Brutal Strike deals extra +{2} damage! +Feedback/&AdditionalDamageCrusadersMantleFormat=Crusader's Mantle! +Feedback/&AdditionalDamageCrusadersMantleLine={0} strikes {1} and deals extra {2} radiant damage! Feedback/&AdditionalDamageSunderingBlowFormat=Sundering Blow Feedback/&AdditionalDamageSunderingBlowLine=Sundering Blow deals extra +{2} damage! Feedback/&AdditionalDamageTrueStrikeFormat=True Strike! @@ -231,6 +249,8 @@ Feedback/&NarrativeChoiceRoll={0} rolls a {1} narrative choice with a {2} result Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=You can't use after rest identify power while travelling Feedback/&ReturningWeaponActivates={1} returns to {0}! Feedback/&SmallRace=Small Race +Feedback/&TacticalMindCheckToHitRollFailure={0} used {1}, adds {2} to the check roll, but not enough to change the outcome +Feedback/&TacticalMindCheckToHitRollSuccess={0} used {1}, adds {2} to the check roll, changes the outcome, and consumes Second Wind Feedback/&TriggerFeatureLine={0} triggers {1} Feedback/&TriggerRerollLine={0} activates {1} to reroll {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} has True Sight and is unaffected by this spell @@ -265,6 +285,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=You failed a check roll. Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Roll a d20 to replace the check roll. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Magical Guidance Reaction/&CustomReactionMagicalGuidanceCheckTitle=Magical Guidance +Reaction/&CustomReactionTacticalMindCheckDescription=You failed a check roll. You can spend 1 second wind use to roll a d10 and add the result to the check roll. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Roll a d10 to add the result to the check roll. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Tactical Mind +Reaction/&CustomReactionTacticalMindCheckTitle=Tactical Mind Reaction/&ReactionSpendPowerBundleDescription=Spend Power. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=You can apply an additional effect. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Apply an additional effect. @@ -296,6 +320,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Auto Power Rules/&ActivationTypeOnRageStartAutomaticTitle=Auto Rage Start Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Auto Creature Reduced to Zero HP Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Auto Sneak Attack +Rules/&ConditionMarkedByHunterExtendedDescription=Receives +1d6 force damage when hit by the caster with a weapon attack. Rules/&ConditionOneDndBarkskinDescription=The creature's Armor Class becomes at least 17. Rules/&ConditionStoneskinExtendedDescription=Resistance to bludgeoning, slashing, and piercing damage. Rules/&CounterFormDismissCreatureFormat=Dismisses a target conjured creature @@ -320,6 +345,7 @@ Rules/&SituationalContext9017Format=Is concentrating on spell: Rules/&SituationalContext9018Format=Is effect source: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recover sorcery points up to half your sorcerer level, rounded down Rules/&TurnOccurenceEndOfSourceTurnFormat=End Source of Turn +Screen/&CharacterInspectionModeBattleUnlimitedTitle=You may perform unlimited inventory actions per round. Screen/&ClassExtraSpellDescriptionFormat=You know this spell from {0} class. Screen/&EditorLocationSize3Title=Huge [MODDED] Screen/&EditorLocationSize4Title=Gargantuan [MODDED] @@ -327,6 +353,7 @@ Screen/&MulticlassExtraSpellDescription=You know this spell from other repertoir Screen/&MulticlassExtraSpellTitle=Multiclass Screen/&PatronExtraSpellDescription=Patron Spells Screen/&PatronExtraSpellTitle=Patron +Screen/&PreparePanelMemorizeSpellSelect=Select a spell to prepare. Screen/&RaceExtraSpellDescription=You know this spell from your heritage. Screen/&RaceExtraSpellTitle=Heritage Screen/&RangerSpellDescription=This spell has been granted by your Ranger archetype and is considered known to you. @@ -342,6 +369,9 @@ Screen/&SpellSlotsUsedShortLongDescription=You have expended {0} pact magic slot Screen/&SubclassClassExtraSpellDescriptionFormat=You know this spell from {0} subclass. Screen/&SwitchConfigurationDescription=Switch your equipped items to this configuration: {0}.\nHold CTRL to keep off-hand if possible. Spell/&ConjureElementalInvisibleStalkerTitle=Conjure Elemental [Invisible Stalker] +Spell/&HuntersMarkExtendedDescription=An enemy gets additional force damage from you, and you can easily detect it for a limited time. +Spell/&PowerWordStunExtendedDescription=You overwhelm the mind of one creature you can see within range. If the target has 150 Hit Points or fewer, it has the Stunned condition. Otherwise, its Speed is 0 until the start of your next turn. The Stunned target makes a Constitution saving throw at the end of each of its turns, ending the condition on itself on a success. +Spell/&SpareTheDyingExtendedDescription=Choose a creature within range that has 0 Hit Points and isn't dead. The creature becomes Stable. The range doubles when you reach levels 5 (30 ft), 11 (60 ft), and 17 (120 ft). Spell/&StoneskinExtendedDescription=Grants resistance to bludgeoning, slashing, and piercing damage. Spell/&TrueStrike2024Description=Guided by a flash of magical insight, you make one attack with the weapon used in the spell's casting. The attack uses either your spellcasting ability for the attack and damage rolls or Strength or Dexterity, whichever is higher. If the attack hits, it deals Radiant damage instead of the weapon's normal damage type. The attack deals extra Radiant damage when you reach levels 5 (1d6), 11 (2d6), and 17 (3d6). Stage/&IdentityMorphotypeEyeHeader=Eye Style diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index a26ae4283e..9d00d46738 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Versatilities ModUi/&DontEndTurnAfterReady=Don't end turn after Ready action [allows bonus action or any other main action from other sources] ModUi/&DontFollowCharacterInBattle=Battle camera doesn't follow when character is already on screen ModUi/&DontFollowMargin=+ Unless hero is off or within % of screen edge +ModUi/&DownloadVoice=Download Suggested Voices +ModUi/&DownloadVoiceOngoing=Downloading at {0} ModUi/&DungeonMaker=Dungeon Maker ModUi/&DungeonMakerBasicHelp=• These settings won't require the player to have this mod installed ModUi/&Effects=Effects @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Enable an epic 35 points buy system and array [Arcane Shots, Infusions, Maneuvers, and Versatilities]\n[performance hit on character inspection. use at your own risk] ModUi/&EnableFeatsAtEvenLevels=Enable feats selection at levels 2, 10 and 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Enable feats selection at levels 6 and 14 +ModUi/&EnableFighterStudiedAttacks=Enable Studied Attacks at level 13 [advantage if previous attack in round against creature missed] +ModUi/&EnableFighterTacticalProgression=Enable Tactical Mind, and Tactical Shift at levels 2 and 5 [augment second wind scenarios] ModUi/&EnableFighterWeaponSpecialization=Enable Weapon Specialization at levels 8 and 16 [get +1 to hit and to damage but disadvantage with any other weapon type] ModUi/&EnableFlexibleBackgrounds=Enable flexible backgrounds [select skill and tool proficiencies from backgrounds] ModUi/&EnableFlexibleRaces=Enable flexible races [assign ability score points instead of the racial defaults] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Enable Weapon Specializatio ModUi/&EnableMulticlass=Enable multiclass [Requires Restart] ModUi/&EnableOneDnDPreparedSpellsTables=Enable all Casters to use new prepared spells tables [Bard, Cleric, Druid, Paladin, Ranger, Sorcerer, Wizard] ModUi/&EnableOneDndBarkskinSpell=Enable Barkskin 5e 2024 spell version [bonus action, no concentration, AC set to 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Enable Arcane Sword, Circle of Death, Flame Strike, Ice Storm, and Vicious Mockery 5e 2024 spells version [better damage] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Enable Arcane Sword, Circle of Death, Flame Strike, Ice Storm, Prismatic Spray. and Vicious Mockery 5e 2024 spells version [better damage] ModUi/&EnableOneDndDivineFavorSpell=Enable Divine Favor 5e 2024 spell version [no concentration] -ModUi/&EnableOneDndGuidanceSpell=Enable Guidance 5e 2024 spell version [Choose one skill at casting and get bonus for up to 1 minute] +ModUi/&EnableOneDndGuidanceSpell=Enable Guidance 5e 2024 spell version [choose one skill at casting and get bonus for up to 1 minute] ModUi/&EnableOneDndHealingSpellsUpgrade=Enable Cure Wounds, False Life, Healing Word, Mass Cure Wounds, and Mass Healing Word 5e 2024 spells version [better healing] +ModUi/&EnableOneDndHideousLaughterSpell=Enable Hideous Laughter 5e 2024 spell version [+1 target per upcast] +ModUi/&EnableOneDndHuntersMarkSpell=Enable Hunter's Mark 5e 2024 spell version [force damage] ModUi/&EnableOneDndLesserRestorationSpell=Enable Lesser Restoration 5e 2024 spell version [bonus action] ModUi/&EnableOneDndMagicWeaponSpell=Enable Magic Weapon 5e 2024 spell version [bonus action, no concentration, enhancement upgrade at 3rd and 6th spell level] -ModUi/&EnableOneDndPowerWordKillSpell=Enable Power Word: Kill 5e 2024 spell version [12d12 psychic damage if above 100 hp] +ModUi/&EnableOneDndPowerWordStunSpell=Enable Power Word Stun 5e 2024 spell version [target stopped for one turn if has more than 150 hp] +ModUi/&EnableOneDndSpareTheDyingSpell=Enable Spare the Dying 5e 2024 spell version [range doubles on levels 5, 11, and 17] +ModUi/&EnableOneDndSpiderClimbSpell=Enable Spider Climb 5e 2024 spell version [+1 target per upcast] ModUi/&EnableOneDndStoneSkinSpell=Enable Stone Skin 5e 2024 spell version [provides resistance to magical B/P/S as well] ModUi/&EnableOneDndTrueStrikeCantrip=Enable True Strike 5e 2024 cantrip version [Requires Restart]\n[attack uses your spellcasting ability for the attack roll and damage bonus, and additional radiant damage from level 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Enable Lay on Hands as bonus action @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcastingRESPEC after rest action [don't use RESPEC during a multiplayer session] ModUi/&EnableRitualOnAllCasters=Enable Ritual casting on all casters -ModUi/&EnableRogueCunningStrike=Enable Cunning Strike and Devious Strike at levels 5 and 14 [you let forgo 1 sneak attack dice for additional hit effects] +ModUi/&EnableRogueCunningStrike=Enable Cunning Strike, Improved Cunning Strike, and Devious Strike at levels 5, 11 and 14 [you let forgo 1 sneak attack dice for additional hit effects] ModUi/&EnableRogueFightingStyle=Enable Fighting Style choice at level 2 +ModUi/&EnableRogueReliableTalentAt7=Enable Reliable Talent at level 7 instead of 11 ModUi/&EnableRogueSlipperyMind=Swap Slippery Mind with 5e 2024 version [you also gain proficiency in charisma saving throws in addition to wisdom] ModUi/&EnableRogueSteadyAim=Enable Steady Aim at level 3 [bonus action gives advantage on your next attack roll in the current turn if you haven't moved yet] ModUi/&EnableRogueStrSaving=Enable Hoodlum DEX or STR modifiers on Cunning/Devious Strike ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Enable Second Wind to use 5e 2024 usages progression ModUi/&EnableSignatureSpellsRelearn=Enable Signature Spells to be prepared every long rest [instead of once at level 20] -ModUi/&EnableSorcererInnateSorceryAt1=Enable Innate Sorcery at level 1 +ModUi/&EnableSorcererArcaneApotheosis=Enable Arcane Apotheosis at 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Enable Innate Sorcery and Sorcery Incarnate at levels 1 and 7 ModUi/&EnableSorcererMagicalGuidance=Enable Magical Guidance at level 5 ModUi/&EnableSorcererQuickenedAction=Enable Quickened Spell action to allow cast main action spell with quickened metamagic applied -ModUi/&EnableSorcerousRestorationAtLevel5=Enable Sorcerous Restoration at level 5 +ModUi/&EnableSorcererSorcerousRestoration=Enable Sorcerous Restoration at level 5 ModUi/&EnableSortingDungeonMakerAssets=Enable assets sorting on Dungeon Maker editor +ModUi/&EnableSpeech=Enable speech on custom campaigns [narration and heroes only] +ModUi/&EnableSpeechActorHelp=• Select an actor +ModUi/&EnableSpeechOnNpcs=+ Enable speech on NPCs [either from campaign mapping or auto assignment] +ModUi/&EnableSpeechVoiceHelp=• Select a voice and narration speed ModUi/&EnableStatsOnHeroTooltip=Display stats on hero's tooltip [i.e.: critical hits, critical failures, etc.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Also each hero adds a D20 roll to weight for a bit of randomness [choice weight = votes * hero Charisma modifier + D20 roll] ModUi/&EnableSurprisedToEnforceDisadvantage=Enable Surprised condition to enforce initiative disadvantage instead of skipping a round ModUi/&EnableTeleportToRemoveRestrained=Enable Teleport to remove all restrained conditions from target ModUi/&EnableTooltipDistance=Enable showing distance on tooltips when hovering over a character in combat ModUi/&EnableUnarmedMainAttackAction=Enable the Unarmed Attack action [if actor has weapon in main, is a Monk or has handwraps or gauntlet equipped] +ModUi/&EnableUnlimitedInventoryActions=Enable an unlimited number of inventory actions per turn. ModUi/&EnableUpcastConjureElementalAndFey=Enable upcast of Conjure Elemental and Conjure Fey ModUi/&EnableVariablePlaceholdersOnTexts=Enable variable placeholders on descriptions [use {VARIABLE_NAME} as placeholder] ModUi/&EnableVersatileAmmunitionSlots=Allow Potions and Scrolls to be carried and used in the Ammunition slots @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Allow Potions and Magical Cunning at level 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Enable Magical Cunning at level 2 and improve Eldritch Master at 20 ModUi/&EnableWarlockToLearnPatronAtLevel3=Enable Patron at level 3 instead of 1 +ModUi/&EnableWizardMemorizeSpell=Enable Memorize Spell at level 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Enable Scholar at level 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Enable School of Magic at level 3 instead of 2 ModUi/&EnablesAsiAndFeat=Enable both attribute scores increase and feats selection [instead of an exclusive choice] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Fix Asian languages' game UI text wrap Eldritch Blast [instead of 12] ModUi/&FixRingOfRegenerationHealRate=Set Ring of Regeneration heal rate to 1 HP per 3 minutes ModUi/&FlightSuspendWingedBoots=+ Use Winged Boots official rules [remaining duration not counted when flight suspended] +ModUi/&ForceModSpeechOnNpcs=+Force voice auto assignment on all NPCs instead of campaign mapping ModUi/&Formation=Formation: ModUi/&FormationError=You cannot change your formation during a multiplayer game... ModUi/&FormationHelp1=• Use the numeric buttons to edit a given set [consider enabling hotkeys under input] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Enable quick cast Li ModUi/&RaceLightSensitivityApplyOutdoorsOnly=Enable Light Sensitivity on Darkelf, Dark Kobold, and Gray Dwarf to only trigger outdoors\n[indoor areas in outdoor locations accessible without a load screen are considered outdoor by the game engine] ModUi/&Races=Races ModUi/&RecipeCost=Recipe's cost +ModUi/&RefreshVoice=Refresh Voices List ModUi/&RelicForgeries=Relic Forgeries ModUi/&RemoveAttunementRequirements=Remove attunement requirements [Requires Restart] ModUi/&RemoveBardMagicalSecretAt14And18=Remove Magical Secret at levels 14 and 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Show crafted item icon near recipe item in sh ModUi/&ShowCraftingRecipeInDetailedTooltips=Show crafting recipe in detailed tooltips ModUi/&ShowDescriptions=Show Descriptions ModUi/&ShowMotionFormPreview=Show preview of Push and Pull effects +ModUi/&SpeechScale=Narration speed modifier [lower is faster] ModUi/&SpellLevelFilter=spell level filter [-1 displays all] ModUi/&SpellsMenu=Spells ModUi/&StealthBreaksWhenAttackHits=Enable stealth loss when weapon or spell attack hits @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Total featsTranslations: +ModUi/&UnityExplorer=Unity Explorer UI ModUi/&UnleashEnemyAsNpc=Allow monsters to be selected on NPC gadgets ModUi/&UnleashNpcAsEnemy=Unlock monsters selection ModUi/&Update=Update diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt index d020bae500..6ea46a1126 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Cantrips-en.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Green-Flame Blade! Feedback/&AdditionalDamageResonatingStrikeLine={0} burns {1} with Green-Flame Blade! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Sunlit Blade! Feedback/&AdditionalDamageSunlightBladeLine={0} illuminates {1} with Sunlit Blade! (+{2}) -Feedback/&Within5Ft=5 ft -Feedback/&WithinReach=Reach Proxy/&ProxyCreateBonfireTitle=Bonfire Spell/&AcidClawsDescription=Your fingernails sharpen, ready to deliver a corrosive attack. Make a melee spell attack against one creature within 5 ft of you. On a hit, the target takes 1d8 acid damage and has AC lowered by 1 for 1 round (not stacking). Spell/&AcidClawsTitle=Acid Claws diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells01-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells01-en.txt index 051e70d8d7..8d8be90aea 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells01-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells01-en.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} swiftly strikes {1} (+{2}) Feedback/&AdditionalDamageThunderousSmiteFormat=Thunderous Smite! Feedback/&AdditionalDamageThunderousSmiteLine={0} deals more damage to {1} through a thunderous smite (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=Wrathful Smite! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} deals more damage to {1} through a furious smite (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} deals more damage to {1} through a wrathful smite (+{2}) Feedback/&ChaosBoltGainLeap={0} can target an additional enemy with {1} leap power Feedback/&ChaosBoltRandomChoice={0} let {1} randomly manifest as {2} Feedback/&ChaosBoltRolledDifferentDice={0} rolled a {2} and a {3} on {1} D8 damage dice. Feedback/&ChaosBoltRolledEqualDice={0} rolled a {2} on both {1} D8 damage dice. Feedback/&FeatureGiftOfAlacrityLine={0} triggers {1} and adds {2} to initiative +Feedback/&Within5Ft=5 ft +Feedback/&WithinReach=Reach Monster/&OwlFamiliarDescription=Owl Familiar. Monster/&OwlFamiliarTitle=Owl Familiar Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Choose a damage type. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Sharply increase gravity in a 10-foot-radius sp Spell/&MagnifyGravityTitle=Magnify Gravity Spell/&MuleDescription=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. Spell/&MuleTitle=Mule +Spell/&ProtectionFromEvilGoodTitle=Protect vs Evil and Good Spell/&RadiantMotesDescription=Unleashes a swarm of 4 radiant projectiles that deal 1d4 radiant damage each.\nWhen you cast this spell using a spell slot of 2nd level or higher, the spell creates 1 more projectile for each slot above 1st. Spell/&RadiantMotesTitle=Radiant Motes +Spell/&RayOfSicknessDescription=You shoot a greenish ray at a creature within range. Make a ranged spell attack against the target. On a hit, the target takes 2d8 Poison damage and has the Poisoned condition until the end of your next turn. The damage increases by 1d8 for each spell slot level above 1. +Spell/&RayOfSicknessTitle=Ray of Sickness Spell/&SanctuaryDescription=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. Spell/&SearingSmiteDescription=The next time you hit a creature with a melee weapon attack during the spell's duration, 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 until the spell ends, the target must make a Constitution saving throw. On a failed save, it takes 1d6 fire damage. On a successful save, the spells ends. If the target or a creature within 5 feet of it uses an action to put out the flames, or if some other effect douses the flames (such as the target being submerged in water), 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. Spell/&SearingSmiteTitle=Searing Smite @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=You invoke the power of malevolent forces. Tendrils Spell/&VoidGraspTitle=Arms of Hadar Spell/&WitchBoltDescription=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 damage increases by 1d12 for each slot level above 1st. Spell/&WitchBoltTitle=Witch Bolt -Spell/&WrathfulSmiteDescription=The next time you hit with a melee weapon attack during this spell's duration, your attack deals an extra 1d6 psychic damage. Additionally, if the target is a creature, it must make a Wisdom saving throw or be frightened of you until the spell ends. As an action, the creature can make a Wisdom check against your spell save DC to steel its resolve and end this spell. +Spell/&WrathfulSmiteDescription=The target takes an extra 1d6 Necrotic damage from the attack, and it must succeed on a Wisdom saving throw or have the Frightened condition until the spell ends. At the end of each of its turns, the Frightened target repeats the save, ending the spell on itself on a success. The damage increases by 1d6 for each spell slot level above 1. Spell/&WrathfulSmiteTitle=Wrathful Smite Tooltip/&TagDamagePureTitle=Chaotic Damage diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt index 3ed5906b22..3d620e2216 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells02-en.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Burst a luminous cube that briefly blinds anyone wi 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 AC 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/&MirrorImageDescription=Three illusory duplicates of yourself appear in your space. Until the spell ends, the duplicates move with you and mimic your actions, shifting position so it's impossible to track which image is real. Each time a creature hits you with an attack roll during the spell's duration, roll a d6 for each of your remaining duplicates. If any of the d6s rolls a 3 or higher, one of the duplicates is hit instead of you, and the duplicate is destroyed. The duplicates otherwise ignore all other damage and effects. The spell ends when all three duplicates are destroyed. A creature is unaffected by this spell if it has the Blinded condition, Blindsight, or Truesight. 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. Spell/&NoxiousSprayTitle=Noxious Spray diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt index 64b6725783..6509097788 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells03-en.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=You create the visage of a massive green snake that Spell/&AdderFangsTitle=Adder's Fangs Spell/&AshardalonStrideDescription=The billowing flames of a dragon blast from your feet, granting you explosive speed. For the duration, your speed increases by 20 feet and moving doesn't provoke opportunity attacks. When you move within 5 feet of a creature, it takes 1d6 fire damage from your trail of heat. A creature can take this damage only once during a turn. When you cast this spell using a spell slot of 4th level or higher, increase your speed by 5 feet for each spell slot level above 3rd. The spell deals an additional 1d6 fire damage for each slot level above 3rd. Spell/&AshardalonStrideTitle=Ashardalon's Stride -Spell/&AuraOfLifeDescription=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. +Spell/&AuraOfLifeDescription=Healing energy radiates from you in an aura with a 30-foot radius. When you create the aura and during each of your subsequent turns while it persists, you can restore 2d6 Hit Points to one creature in it as a free action. Spell/&AuraOfLifeTitle=Aura of Vitality Spell/&BlindingSmiteDescription=The next time you hit a creature with a melee weapon attack during this spell's duration, you 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. Spell/&BlindingSmiteTitle=Blinding Smite @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=You teleport yourself to an unoccupied space you c Spell/&BoomingStepTitle=Thunder Step Spell/&CorruptingBoltDescription=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. Spell/&CorruptingBoltTitle=Corrupting Bolt -Spell/&CrusadersMantleDescription=Surround yourself with a magical aura. Allies within the aura gain a bonus 1d4 radiant damage on their attacks. +Spell/&CrusadersMantleDescription=Holy power radiates from you in an aura with a 30-foot radius, awakening boldness in friendly creatures. Until the spell ends, the aura moves with you, centered on you. While in the aura, each non-hostile creature in the aura (including you) deals an extra 1d4 radiant damage when it hits with an attack. Spell/&CrusadersMantleTitle=Crusader's Mantle Spell/&ElementalWeaponDamageAcidDescription=Imbue a non-magical weapon with acid damage. Spell/&ElementalWeaponDamageAcidTitle=Acid Elemental Weapon diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells05-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells05-en.txt index 68377c33db..90ce707e1f 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells05-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells05-en.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=A small orb the same color as the balloon used appea Spell/&SonicBoomTitle=Sonic Boom Spell/&SteelWhirlwindDescription=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. Spell/&SteelWhirlwindTitle=Steel Wind Strike -Spell/&SwiftQuiverDescription=You transmute your quiver so it automatically makes the ammunition leap into your hand when you reach for it. On each of your turns until the spell ends, you can use a bonus action to make two attacks with a ranged weapon. +Spell/&SwiftQuiverDescription=When you cast the spell and as a Bonus Action until it ends, you can make two attacks with a weapon that fires Arrows or Bolts, such as a Longbow or a Light Crossbow. The spell magically creates the ammunition needed for each attack. Each Arrow or Bolt created by the spell deals damage like a nonmagical piece of ammunition of its kind and disintegrates immediately after it hits or misses. Spell/&SwiftQuiverTitle=Swift Quiver Spell/&SynapticStaticDescription=You choose a point within range and cause psychic energy to explode there. Each creature in a 20-foot-radius sphere centered on that point must make an Intelligence saving throw. A target takes 8d6 psychic damage on a failed save, or half as much damage on a successful After a failed save, a target has muddled thoughts for 1 minute. During that time, it rolls a d6 and subtracts the number rolled from all its attack rolls and ability checks. The target can make an Intelligence saving throw at the end of each of its turns, ending the effect on itself on a success. Spell/&SynapticStaticTitle=Synaptic Static diff --git a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt index 4b2d288506..d8e55f291b 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Spells/Spells09-en.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Blazing orbs of fire plummet to the gr Spell/&MeteorSwarmSingleTargetTitle=Meteor Swarm Spell/&PowerWordHealDescription=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, poisoned, 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. Spell/&PowerWordHealTitle=Power Word Heal -Spell/&PowerWordKillDescription=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. +Spell/&PowerWordKillDescription=You compel one creature you can see within range to die. If the target has 100 Hit Points or fewer, it dies. Otherwise, it takes 12d12 Psychic damage. Spell/&PowerWordKillTitle=Power Word Kill Spell/&PsychicScreamDescription=You unleash the power of your mind to blast the intellect of up to ten creatures of your choice that you can see within range. Each target must make an Intelligence saving throw. On a failed save, a target takes 14d6 psychic damage and is stunned for 1 minute. On a successful save, a target takes half as much damage and isn't stunned. A stunned target can make an Intelligence saving throw at the end of each of its turns. On a successful save, the stunning effect ends. Spell/&PsychicScreamTitle=Psychic Scream @@ -25,5 +25,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. This spell ends if one of the actions you use during this period, or any effects that you create during this period, affects a creature other than you. 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 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/&WeirdDescription=You try to create illusory terrors in others' minds. Each creature of your choice in a 30-foot-radius Sphere centered on a point within range makes a Wisdom saving throw. On a failed save, a target takes 10d10 Psychic damage and has the Frightened condition for the duration. On a successful save, a target takes half as much damage only. A Frightened target makes a Wisdom saving throw at the end of each of its turns. On a failed save, it takes 5d10 Psychic damage. On a successful save, the spell ends on that target. Spell/&WeirdTitle=Weird diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/CircleOfTheAncientForest-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/CircleOfTheAncientForest-en.txt index c901928209..2742fc7c09 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/CircleOfTheAncientForest-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/CircleOfTheAncientForest-en.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=You have a pool of healing power Feature/&PowerAncientForestRegrowthTitle=Regrowth Feature/&PowerAncientForestRootedDescription=Arboreal tendrils grow from your ft and dig into the ground. Your speed becomes 0, and you gain advantage on any saving throws to push you, pull you, or knock you prone.You can cast entangle at will. Feature/&PowerAncientForestRootedTitle=Rooted -Feature/&PowerPoolAncientForestHerbalBrewDescription=You can create herbal brews, each of which lasts until the next long rest. You create a total of brews equals to your proficiency bonus. For each brew, choose one of the following effects:\nFortifying Brew: grants resistance to different damage types for 1 hour.\nQuickening Brew: provides 2d4 hit points.\nToxifying Brew: acts as poison that can be applied to a weapon that lasts for 1 minute. If the hit lands the target takes 1d4 poison damage on each hit. +Feature/&PowerPoolAncientForestHerbalBrewDescription=You can create herbal brews, each of which lasts until the next long rest. You create a total of brews equals to your proficiency bonus. For each brew, choose one of the following effects:\nFortifying Brew: grants resistance to different damage types for 1 hour.\nQuickening Brew: provides 2d4 hit points.\nToxifying Brew: acts as poison that can be applied to a weapon that lasts for 1 minute. If the hit lands the target takes 1d4 poison damage on each hit. Feature/&PowerPoolAncientForestHerbalBrewTitle=Herbal Brewing Feature/&PowerPoolAncientForestWallOfThornsDescription=You can cast Wall of Thorns a number of times equals to your Wisdom modifier. It recharges on long rests. Feature/&PowerPoolAncientForestWallOfThornsTitle=Wall of Thorns diff --git a/SolastaUnfinishedBusiness/Translations/es/FightingStyles-es.txt b/SolastaUnfinishedBusiness/Translations/es/FightingStyles-es.txt index 76112bae00..71d1d2de7e 100644 --- a/SolastaUnfinishedBusiness/Translations/es/FightingStyles-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/FightingStyles-es.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=¡Ejecución! Feedback/&AdditionalDamageExecutionerLine=¡{0} ejecuta {1} por +{2} de daño extra! FightingStyle/&AstralReachDescription=Tu alcance desarmado aumenta en 5 pies siempre que tengas ambas manos libres. FightingStyle/&AstralReachTitle=Alcance Astral +FightingStyle/&BlessedWarriorDescription=Aprendes dos trucos de tu elección de la lista de hechizos de clérigo. Para ti, cuentan como hechizos de paladín y Carisma es tu habilidad para lanzar hechizos. +FightingStyle/&BlessedWarriorTitle=Bendito guerrero FightingStyle/&BlindFightingDescription=Tienes visión ciega con un alcance de 10 pies. Dentro de ese alcance, puedes ver con eficacia cualquier cosa que no esté detrás de una cobertura total, incluso si estás cegado o en la oscuridad. Además, puedes ver a una criatura invisible dentro de ese alcance, a menos que la criatura se oculte de ti con éxito. FightingStyle/&BlindFightingTitle=Lucha a ciegas FightingStyle/&CripplingDescription=Reduces la velocidad de tus oponentes en 10 pies hasta el final de tu próximo turno con un ataque cuerpo a cuerpo. FightingStyle/&CripplingTitle=Herida +FightingStyle/&DruidicWarriorDescription=Aprendes dos trucos de tu elección de la lista de hechizos del druida. Para ti, se consideran hechizos de explorador y, para ellos, Sabiduría es tu habilidad para lanzar hechizos. +FightingStyle/&DruidicWarriorTitle=Guerrero druídico FightingStyle/&ExecutionerDescription=Sumas tu bonificación de competencia al daño contra criaturas cegadas, asustadas, inmovilizadas, incapacitadas, paralizadas, tumbadas o aturdidas. FightingStyle/&ExecutionerTitle=Verdugo FightingStyle/&HandAndAHalfDescription=Obtienes un bonificador de +1 a tus tiradas de ataque y un bonificador de +1 a tu CA mientras empuñas un arma cuerpo a cuerpo de una mano o versátil y ninguna otra arma o escudo. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} atacó a uno de tus aliados, en Reaction/&ReactionAttackSentinelReactDescription=Utilice la reacción para atacar. Reaction/&ReactionAttackSentinelReactTitle=Ataque Reaction/&ReactionAttackSentinelTitle=Centinela +Tag/&BlessedWarriorCantripSpecialTagTitle=Trucos del guerrero bendecido +Tag/&DruidicWarriorCantripSpecialTagTitle=Trucos del guerrero druídico diff --git a/SolastaUnfinishedBusiness/Translations/es/Invocations-es.txt b/SolastaUnfinishedBusiness/Translations/es/Invocations-es.txt index 89671c5836..a4e505994d 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Invocations-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Invocations-es.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=Como acción adicional, Feature/&PowerInvocationPerniciousCloakRemoveTitle=Quitar la capa de moscas Feedback/&AdditionalDamageEldritchSmiteFormat=¡El castigo sobrenatural! Feedback/&AdditionalDamageEldritchSmiteLine={0} golpea a {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Obtienes efectos adicionales cuando estás vinculado a una criatura. Cuando estás vinculado a Imp, obtienes mayor invisibilidad; cuando estás vinculado a Pseudo Dragon, obtienes vuelo y ataques imbuidos de veneno; cuando estás vinculado a Quasit, obtienes una acción principal adicional y ventaja en las tiradas de salvación de Destreza; y cuando estás vinculado a Sprite, obtienes una puntuación de CA de al menos 16 y los atacantes tienen desventaja contra ti. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Obtienes efectos adicionales cuando estás vinculado a una criatura. Cuando estás vinculado a Imp, obtienes mayor invisibilidad; cuando estás vinculado a Pseudo Dragon, obtienes vuelo y ataques imbuidos de veneno; cuando estás vinculado a Quasit, obtienes un ataque adicional y ventaja en las tiradas de salvación de Destreza; y cuando estás vinculado a Sprite, obtienes una puntuación de CA de al menos 16 y los atacantes tienen desventaja contra ti. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Habilidades del Maestro de la Cadena Invocation/&InvocationAspectOfTheMoonDescription=Ya no necesitas dormir y puedes mantenerte alerta, lo que reduce las posibilidades de ataque y garantiza que estarás despierto si el campamento es atacado. Invocation/&InvocationAspectOfTheMoonTitle=Aspecto de la Luna diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 6d0ec6ea64..50604a9b79 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Hechicería innata Condition/&ConditionStaggeringBlowAoODescription=No puedes realizar ataques de oportunidad hasta el comienzo de tu siguiente turno. Condition/&ConditionStaggeringBlowAoOTitle=Golpe asombroso Condition/&ConditionStopMovementTitle=Interrumpido +Condition/&ConditionStudiedAttacksDescription=La fuente tiene ventaja en el próximo ataque contra ti +Condition/&ConditionStudiedAttacksTitle=Ataques estudiados Condition/&ConditionTauntedDescription=Tienes desventaja en las tiradas de ataque contra criaturas que no sean el provocador. Condition/&ConditionTauntedTitle=Burlado Condition/&FlightSuspendDescription=El efecto de vuelo en curso ha sido suspendido @@ -75,13 +77,13 @@ ContentPack/&9999Description=El paquete Unfinished Business es un auténtico Cue ContentPack/&9999Title=Paquete de asuntos pendientes Equipment/&BeltOfRegeneration_Function_Description=Regenera 5 puntos de vida por ronda durante un minuto. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Tus ataques obtienen un golpe crítico con un 18, 19 o 20 mientras estés usando esta arma y estés en sintonía con ella. +Failure/&CannotAttackTarget=No se puede realizar el ataque a este objetivo. Failure/&FailureFlagCannotTargetUndead=No puede apuntar a criaturas no muertas Failure/&FailureFlagMaterialComponentHandsFull=No hay libertad para utilizar componentes materiales de hechizos. Failure/&FailureFlagMustKnowLanguage=Debes dominar el idioma {0} para poder dar órdenes a esta criatura. Failure/&FailureFlagTargetMustNotBeSurprised=El objetivo no debe sorprenderse Failure/&FailureFlagTargetMustUnderstandYou=El objetivo debe comprender tu orden Failure/&SecondTargetNotWithinRange=No se puede seleccionar este objetivo porque no está dentro del alcance del primero. -Failure/&TargetMeleeWeaponError=No se puede realizar un ataque cuerpo a cuerpo contra este objetivo porque no está dentro de {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=El objetivo no debe ser más de una talla más grande Failure/&TargetMustHaveHolyWeapon=El objetivo debe tener un arma sagrada. Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Tienes Ventaja en las pruebas de Sabiduría (Percepción) mientras estés apagado o en oscuridad mágica. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Cuando tiras Iniciativa, Feature/&FeatureBardSuperiorInspiration2024Title=Inspiración superior Feature/&FeatureEldritchMasterDescription=Cuando usas tu característica Astucia mágica, recuperas todos los espacios de hechizo de Magia de pacto gastados. Feature/&FeatureEldritchMasterTitle=Maestro sobrenatural +Feature/&FeatureFighterStudiedAttacksDescription=Estudias a tus oponentes y aprendes de cada ataque que realizas. Si realizas una tirada de ataque contra una criatura y fallas, tienes Ventaja en tu próxima tirada de ataque contra esa criatura antes del final de tu siguiente turno. +Feature/&FeatureFighterStudiedAttacksTitle=Ataques estudiados +Feature/&FeatureFighterTacticalMindDescription=Tienes una mente para las tácticas y para obtener la ventaja dentro y fuera del campo de batalla. Cuando fallas una prueba de habilidad, puedes gastar un uso de tu Segundo aliento para impulsarte hacia el éxito. En lugar de recuperar puntos de golpe, tiras 1d10 y sumas el número obtenido a la prueba de habilidad, lo que potencialmente la convierte en un éxito. Si la prueba sigue fallando, este uso de Segundo aliento no se gasta. +Feature/&FeatureFighterTacticalMindTitle=Mente táctica +Feature/&FeatureFighterTacticalShiftDescription=Siempre que actives tu Segundo Aire con una Acción Bonus, podrás moverte hasta la mitad de tu Velocidad sin provocar Ataques de Oportunidad. +Feature/&FeatureFighterTacticalShiftTitle=Cambio táctico +Feature/&FeatureImprovedRogueCunningStrikeDescription=Puedes usar hasta dos efectos de Golpe astuto cuando infliges daño de Ataque furtivo, pagando el coste del dado por cada efecto. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Golpe astuto mejorado Feature/&FeatureMonkBodyAndMindDescription=Has perfeccionado tu cuerpo y tu mente hasta alcanzar nuevas cotas. 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. Tus Ráfaga de golpes, Defensa paciente y Paso del viento obtienen los siguientes beneficios:\n• Ráfaga de golpes: cuando usas Ráfaga de golpes, realizas tres Golpes sin armas con ella en lugar de dos.\n• Defensa paciente: cuando usas Defensa paciente, obtienes una cantidad de puntos de golpe temporales igual a dos tiradas de tu dado de Artes marciales.\n• Paso del viento: cuando usas cualquiera de las características de Paso del viento (Desengancharse o Correr), también obtienes los beneficios del otro efecto. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Orden primordial Feature/&FeatureSetDruidPrimalOrderWardenDescription=Entrenado para la batalla, adquirirás competencia con armas marciales y entrenamiento con armadura media. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Guardián Feature/&FeatureSetRageExtendedDescription=En batalla, luchas con ferocidad primaria. En tu turno, puedes entrar en furia como acción adicional. Esto te otorga ventaja en salvaciones y controles de fuerza, una bonificación inicial de +2 al daño de ataque cuerpo a cuerpo y resistencia al daño cortante, contundente y perforante. Obtienes estos beneficios solo si no llevas armadura pesada. Dura 1 minuto o termina si no has atacado ni sufrido daño desde tu último turno.\n Comienzas con 2 furias, que se renuevan después de un descanso prolongado. En el nivel 7, recuperas un punto de furia después de un descanso breve. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Si no te quedan usos de Hechicería innata, puedes usarla si gastas 2 puntos de hechicería cuando realizas la acción adicional para activarla. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=La brujería encarnada +Feature/&FeatureSorcererArcaneApotheosisDescription=Mientras tu característica Hechicería Innata esté activa, puedes usar una opción Metamágica en cada uno de tus turnos sin gastar Puntos de Hechicería en ella. +Feature/&FeatureSorcererArcaneApotheosisTitle=Apoteosis arcana Feature/&FeatureSorcererMagicalGuidanceDescription=Puedes recurrir a tu fuente interior de magia para intentar conjurar el éxito a partir del fracaso. Cuando realizas una prueba de característica que falla, puedes gastar 1 punto de hechicería para volver a tirar el d20 y debes usar la nueva tirada, lo que potencialmente convierte el fracaso en un éxito. Feature/&FeatureSorcererMagicalGuidanceTitle=Guía mágica +Feature/&FeatureWizardMemorizeSpellDescription=Cada vez que termines un Descanso Breve, puedes estudiar tu libro de hechizos y reemplazar uno de los hechizos de mago de nivel 1+ que hayas preparado para tu característica de Lanzamiento de hechizos con otro hechizo de nivel 1+ del libro. +Feature/&FeatureWizardMemorizeSpellTitle=Memorizar hechizo Feature/&FighterExtraAttackDescription=Puedes atacar dos veces, en lugar de una, cuando usas las acciones de ataque o empujón. Feature/&FlightResumeDescription=Reanuda el efecto de vuelo suspendido. Feature/&FlightResumeTitle=Reanudar vuelo @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Elija una de estas herramientas: {1} Feature/&VisionBlindsightDescription=Tienes visión ciega. Feedback/&AdditionalDamageBrutalStrikeFormat=Golpe brutal Feedback/&AdditionalDamageBrutalStrikeLine=¡Golpe brutal inflige +{2} de daño adicional! +Feedback/&AdditionalDamageCrusadersMantleFormat=¡El manto del cruzado! +Feedback/&AdditionalDamageCrusadersMantleLine=¡{0} golpea a {1} y causa {2} de daño radiante adicional! Feedback/&AdditionalDamageSunderingBlowFormat=Golpe desgarrador Feedback/&AdditionalDamageSunderingBlowLine=¡Golpe desgarrador inflige +{2} de daño adicional! Feedback/&AdditionalDamageTrueStrikeFormat=¡Golpe verdadero! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} lanza una elección narrativa {1} con un resul Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=No puedes usar la función de identificación después del descanso mientras viajas Feedback/&ReturningWeaponActivates=¡{1} regresa a {0}! Feedback/&SmallRace=Carrera pequeña +Feedback/&TacticalMindCheckToHitRoll={0} usó {1} y agregó {2} al rollo de verificación +Feedback/&TacticalMindCheckToHitRollFailure={0} usó {1}, agrega {2} a la tirada de verificación, pero no lo suficiente para cambiar el resultado +Feedback/&TacticalMindCheckToHitRollSuccess={0} usó {1}, agrega {2} a la tirada de verificación, cambia el resultado y consume Second Wind Feedback/&TriggerFeatureLine={0} desencadena {1} Feedback/&TriggerRerollLine={0} activa {1} para repetir {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} tiene Visión Verdadera y no se ve afectado por este hechizo. @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Fallaste una tirada de v Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Tira un d20 para reemplazar la tirada de control. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Guía mágica Reaction/&CustomReactionMagicalGuidanceCheckTitle=Guía mágica +Reaction/&CustomReactionTacticalMindCheckDescription=Fallaste una tirada de verificación. Puedes dedicar 1 segundo de uso de viento para tirar un d10 y añadir el resultado a la tirada de verificación. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Tira un d10 para añadir el resultado a la tirada de verificación. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Mente táctica +Reaction/&CustomReactionTacticalMindCheckTitle=Mente táctica Reaction/&ReactionSpendPowerBundleDescription=Gastar poder. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Puedes aplicar un efecto adicional. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Aplicar un efecto adicional. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Apagado automático Rules/&ActivationTypeOnRageStartAutomaticTitle=Inicio de furia automática Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Criatura automática reducida a cero HP Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Ataque furtivo automático +Rules/&ConditionMarkedByHunterExtendedDescription=Recibe +1d6 de daño de fuerza cuando el lanzador lo golpea con un ataque de arma. Rules/&ConditionOneDndBarkskinDescription=La clase de armadura de la criatura pasa a ser al menos 17. Rules/&ConditionStoneskinExtendedDescription=Resistencia a daños contundentes, cortantes y perforantes. Rules/&CounterFormDismissCreatureFormat=Despierta a una criatura conjurada objetivo. @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=Se concentra en el hechizo: Rules/&SituationalContext9018Format=¿Es la fuente del efecto?: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupera puntos de hechicería hasta la mitad de tu nivel de hechicero, redondeado hacia abajo. Rules/&TurnOccurenceEndOfSourceTurnFormat=Fuente final del turno +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Puedes realizar acciones de inventario ilimitadas por ronda. Screen/&ClassExtraSpellDescriptionFormat=Conoces este hechizo de la clase {0}. Screen/&EditorLocationSize3Title=Enorme [MODIFICADO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICADO] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=Conoces este hechizo de otro repertorio. Screen/&MulticlassExtraSpellTitle=Multiclase Screen/&PatronExtraSpellDescription=Hechizos de patronaje Screen/&PatronExtraSpellTitle=Patrón +Screen/&PreparePanelMemorizeSpellSelect=Selecciona un hechizo para preparar. Screen/&RaceExtraSpellDescription=Conoces este hechizo por tu herencia. Screen/&RaceExtraSpellTitle=Herencia Screen/&RangerSpellDescription=Este hechizo te ha sido otorgado por tu arquetipo de Ranger y lo consideras conocido por ti. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=Has gastado {0} espacio(s) de magia d Screen/&SubclassClassExtraSpellDescriptionFormat=Conoces este hechizo de la subclase {0}. Screen/&SwitchConfigurationDescription=Cambia los objetos equipados a esta configuración: {0}.\nMantén presionada la tecla CTRL para mantener la mano izquierda si es posible. Spell/&ConjureElementalInvisibleStalkerTitle=Conjurar elemental [Acosador invisible] +Spell/&HuntersMarkExtendedDescription=Un enemigo recibe daño de fuerza adicional de tu parte, y puedes detectarlo fácilmente por un tiempo limitado. +Spell/&PowerWordStunExtendedDescription=Abruma la mente de una criatura que pueda ver dentro del alcance. Si el objetivo tiene 150 puntos de golpe o menos, tiene la condición Aturdido. De lo contrario, su Velocidad es 0 hasta el comienzo de su siguiente turno. El objetivo Aturdido realiza una tirada de salvación de Constitución al final de cada uno de sus turnos, y termina la condición en sí mismo si tiene éxito. +Spell/&SpareTheDyingExtendedDescription=Elige una criatura que esté dentro del alcance y que tenga 0 puntos de vida y que no esté muerta. La criatura se vuelve estable. El alcance se duplica cuando alcanzas los niveles 5 (30 pies), 11 (60 pies) y 17 (120 pies). Spell/&StoneskinExtendedDescription=Otorga resistencia al daño contundente, cortante y perforante. Spell/&TrueStrike2024Description=Guiado por un destello de perspicacia mágica, realizas un ataque con el arma utilizada en el lanzamiento del conjuro. El ataque utiliza tu capacidad de lanzamiento de conjuros para las tiradas de ataque y daño o Fuerza o Destreza, la que sea mayor. Si el ataque impacta, inflige daño radiante en lugar del tipo de daño normal del arma. El ataque inflige daño radiante adicional cuando alcanzas los niveles 5 (1d6), 11 (2d6) y 17 (3d6). Stage/&IdentityMorphotypeEyeHeader=Estilo de ojos diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index ddc2c4dd81..331ee36530 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Versatilidades ModUi/&DontEndTurnAfterReady=No finalices el turno después de la acción Listo [permite una acción adicional o cualquier otra acción principal de otras fuentes] ModUi/&DontFollowCharacterInBattle=La cámara de batalla no sigue cuando el personaje ya está en la pantalla ModUi/&DontFollowMargin=+ A menos que el héroe esté fuera o dentro del % del borde de la pantalla +ModUi/&DownloadVoice=Descargar voces sugeridas +ModUi/&DownloadVoiceOngoing=Descargando en {0} ModUi/&DungeonMaker=Creador de mazmorras ModUi/&DungeonMakerBasicHelp=• Estas configuraciones no requerirán que el jugador tenga este mod instalado ModUi/&Effects=Efectos @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Habilitar un sistema de compra épico de 35 punt ModUi/&EnableExtendedProficienciesPanelDisplay=Habilitar la visualización del panel de competencias extendidas [Disparos arcanos, infusiones, maniobras y versatilidades]\n[reducción del rendimiento en la inspección del personaje. úsalo bajo tu propio riesgo] ModUi/&EnableFeatsAtEvenLevels=Habilitar la selección de dotes en los niveles 2, 10 y 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Habilitar la selección de dotes en los niveles 6 y 14 +ModUi/&EnableFighterStudiedAttacks=Habilita Ataques estudiados en el nivel 13 [ventaja si el ataque anterior en la ronda contra la criatura falló] +ModUi/&EnableFighterTacticalProgression=Habilita Mente táctica y Cambio táctico en los niveles 2 y 5 [escenarios de aumento de segundo aliento] ModUi/&EnableFighterWeaponSpecialization=Habilita la Especialización en armas en los niveles 8 y 16 [obtienes +1 para golpear y dañar pero desventaja con cualquier otro tipo de arma] ModUi/&EnableFlexibleBackgrounds=Habilitar fondos flexibles [seleccionar habilidades y competencias de herramientas de los fondos] ModUi/&EnableFlexibleRaces=Habilitar razas flexibles [asignar puntos de habilidad en lugar de los valores raciales predeterminados] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Habilita la Especializació ModUi/&EnableMulticlass=Habilitar multiclase [Requiere reinicio] ModUi/&EnableOneDnDPreparedSpellsTables=Permitir que todos los lanzadores de conjuros utilicen las nuevas tablas de conjuros preparadas [Bardo, Clérigo, Druida, Paladín, Explorador, Hechicero, Mago] ModUi/&EnableOneDndBarkskinSpell=Habilitar la versión del hechizo Corteza 5e 2024 [acción adicional, sin concentración, CA establecida en 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Habilita los hechizos Espada arcana, Círculo de la muerte, Golpe de llamas, Tormenta de hielo y Burla cruel de la versión 5e 2024. [mejor daño] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Habilita los hechizos Espada arcana, Círculo de la muerte, Golpe de llamas, Tormenta de hielo, Rociado prismático y Burla cruel versión 5e 2024 [mejor daño] ModUi/&EnableOneDndDivineFavorSpell=Habilitar Favor divino versión del hechizo 5e 2024 [sin concentración] ModUi/&EnableOneDndGuidanceSpell=Habilitar Orientación versión del hechizo 5e 2024 [Elige una habilidad al lanzar y obtén una bonificación por hasta 1 minuto.] ModUi/&EnableOneDndHealingSpellsUpgrade=Habilitar Curar heridas, Vida falsa, Palabra de sanación, Curar heridas en masa y Palabra de sanación en masa versión 5e 2024 hechizos [mejor sanación] +ModUi/&EnableOneDndHideousLaughterSpell=Habilitar Risas espantosas versión del hechizo 5e 2024 [+1 objetivo por mejora] +ModUi/&EnableOneDndHuntersMarkSpell=Habilitar la versión del hechizo Marca del cazador 5e 2024 [daño de fuerza] ModUi/&EnableOneDndLesserRestorationSpell=Habilitar Restauración menor versión del hechizo 5e 2024 [acción adicional] ModUi/&EnableOneDndMagicWeaponSpell=Habilitar Arma mágica versión del hechizo 5e 2024 [acción adicional, sin concentración, mejora de mejora en el 3.er y 6.º nivel del hechizo] -ModUi/&EnableOneDndPowerWordKillSpell=Habilitar Palabra de poder: matar versión del hechizo 5e 2024 [12d12 de daño psíquico si tienes más de 100 HP] +ModUi/&EnableOneDndPowerWordStunSpell=Habilitar Palabra de poder aturdir versión del hechizo 5e 2024 [el objetivo se detiene durante un turno si tiene más de 150 HP] +ModUi/&EnableOneDndSpareTheDyingSpell=Habilitar la versión del hechizo Perdonar a los moribundos 5e 2024 [el alcance se duplica en los niveles 5, 11 y 17] +ModUi/&EnableOneDndSpiderClimbSpell=Habilitar la versión del hechizo Spider Climb 5e 2024 [+1 objetivo por mejora] ModUi/&EnableOneDndStoneSkinSpell=Habilitar Piel de piedra versión del hechizo 5e 2024 [también proporciona resistencia a B/P/S mágicos] ModUi/&EnableOneDndTrueStrikeCantrip=Habilitar Golpe verdadero versión 5e 2024 del truco [Requiere reinicio]\n[el ataque usa tu capacidad de lanzamiento de conjuros para la tirada de ataque y la bonificación de daño, y daño radiante adicional a partir del nivel 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Habilitar Imposición de manos como acción adicional @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento ModUi/&EnableRelearnSpells=Habilitar la selección de trucos o hechizos ya aprendidos de otras fuentes ModUi/&EnableRespecAction=Habilitar la acción RESPECT después del descanso [no usar RESPECT durante una sesión multijugador] ModUi/&EnableRitualOnAllCasters=Habilitar el lanzamiento de Ritual para todos los lanzadores -ModUi/&EnableRogueCunningStrike=Habilita Golpe astuto y Golpe tortuoso en los niveles 5 y 14 [dejas de usar 1 dado de ataque furtivo para obtener efectos de golpe adicionales] +ModUi/&EnableRogueCunningStrike=Habilita Golpe astuto, Golpe astuto mejorado y Golpe tortuoso en los niveles 5, 11 y 14. [dejas de usar 1 dado de ataque furtivo para obtener efectos de golpe adicionales] ModUi/&EnableRogueFightingStyle=Habilitar la opción Estilo de lucha en el nivel 2 +ModUi/&EnableRogueReliableTalentAt7=Habilitar Talento confiable en el nivel 7 en lugar del 11 ModUi/&EnableRogueSlipperyMind=Intercambia Mente resbaladiza con la versión 5e 2024 [además de sabiduría, también obtienes competencia en tiradas de salvación de carisma] ModUi/&EnableRogueSteadyAim=Habilita Apunta firme en el nivel 3 [la acción adicional otorga ventaja en tu próxima tirada de ataque en el turno actual si aún no te has movido] ModUi/&EnableRogueStrSaving=Habilitar los modificadores DEX o STR de Hoodlum en Golpe astuto/desviado ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Habilitar Second Wind para usar la progresión de usos de 5e 2024 ModUi/&EnableSignatureSpellsRelearn=Permite que los hechizos exclusivos se preparen cada descanso prolongado [en lugar de una vez en el nivel 20] -ModUi/&EnableSorcererInnateSorceryAt1=Habilitar Hechicería innata en el nivel 1 +ModUi/&EnableSorcererArcaneApotheosis=Habilita Apoteosis arcana en 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Habilita Hechicería innata y Hechicería encarnada en los niveles 1 y 7 ModUi/&EnableSorcererMagicalGuidance=Habilitar Guía mágica en el nivel 5 ModUi/&EnableSorcererQuickenedAction=Habilitar la acción Hechizo acelerado para permitir lanzar un hechizo de acción principal con metamagia acelerada aplicada -ModUi/&EnableSorcerousRestorationAtLevel5=Habilitar Restauración hechicera en el nivel 5 +ModUi/&EnableSorcererSorcerousRestoration=Habilitar Restauración hechicera en el nivel 5 ModUi/&EnableSortingDungeonMakerAssets=Habilitar la clasificación de activos en el editor de Dungeon Maker +ModUi/&EnableSpeech=Habilitar el habla en campañas personalizadas [solo narración y héroes] +ModUi/&EnableSpeechActorHelp=• Seleccione un actor +ModUi/&EnableSpeechOnNpcs=+ Habilitar el habla en los NPC [ya sea desde el mapeo de campaña o la asignación automática] +ModUi/&EnableSpeechVoiceHelp=• Seleccione una voz y velocidad de narración ModUi/&EnableStatsOnHeroTooltip=Mostrar estadísticas en la información sobre herramientas del héroe [es decir: golpes críticos, fallos críticos, etc.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Además, cada héroe suma un D20 en la tirada para darle un poco de aleatoriedad. [peso de la elección = votos * modificador de Carisma del héroe + tirada del D20] ModUi/&EnableSurprisedToEnforceDisadvantage=Habilite la condición Sorprendido para imponer una desventaja de iniciativa en lugar de omitir una ronda ModUi/&EnableTeleportToRemoveRestrained=Habilite Teletransporte para eliminar todas las condiciones restringidas del objetivo ModUi/&EnableTooltipDistance=Habilitar la visualización de la distancia en las descripciones emergentes al pasar el cursor sobre un personaje en combate ModUi/&EnableUnarmedMainAttackAction=Habilitar la acción Ataque desarmado [si el actor tiene un arma en el personaje principal, es un Monje o tiene vendas o guanteletes equipados] +ModUi/&EnableUnlimitedInventoryActions=Habilita una cantidad ilimitada de acciones de inventario por turno. ModUi/&EnableUpcastConjureElementalAndFey=Habilitar la conversión ascendente de Conjurar elemental y Conjurar feérico ModUi/&EnableVariablePlaceholdersOnTexts=Habilitar marcadores de posición de variables en las descripciones [use {VARIABLE_NAME} como marcador de posición] ModUi/&EnableVersatileAmmunitionSlots=Permitir que Pociones y Pergaminos se lleven y utilicen en las ranuras de munición. @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Permitir que Pociones y ModUi/&EnableWarlockMagicalCunningAtLevel2=Habilita Astucia mágica en el nivel 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Habilita Astucia mágica en el nivel 2 y mejora Maestro sobrenatural en el nivel 20. ModUi/&EnableWarlockToLearnPatronAtLevel3=Habilitar Patron en el nivel 3 en lugar del 1 +ModUi/&EnableWizardMemorizeSpell=Habilitar Memorizar hechizo en el nivel 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Habilitar Scholar en el nivel 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Habilitar Escuela de Magia en el nivel 3 en lugar de 2 ModUi/&EnablesAsiAndFeat=Habilitar el aumento de las puntuaciones de atributos y la selección de dotes [en lugar de una elección exclusiva] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Corregir el error de ajuste de texto de la inte ModUi/&FixEldritchBlastRange=Utilice un rango de 24 celdas con Eldritch Blast [en lugar de 12] ModUi/&FixRingOfRegenerationHealRate=Establece la tasa de curación del Anillo de regeneración en 1 HP cada 3 minutos. ModUi/&FlightSuspendWingedBoots=+ Usa las reglas oficiales de Winged Boots [la duración restante no se cuenta cuando el vuelo está suspendido] +ModUi/&ForceModSpeechOnNpcs=+Forzar la asignación automática de voz a todos los NPC en lugar del mapeo de campañas ModUi/&Formation=Formación: ModUi/&FormationError=No puedes cambiar tu formación durante un juego multijugador... ModUi/&FormationHelp1=• Utilice los botones numéricos para editar un conjunto determinado [considere habilitar teclas de acceso rápido en la entrada] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Habilita el lanzamiento rápido de ModUi/&RaceLightSensitivityApplyOutdoorsOnly=Habilita la Sensibilidad a la luz en Darkelf, Dark Kobold y Gray Dwarf para que solo se activen en exteriores\n[las áreas interiores en ubicaciones exteriores accesibles sin una pantalla de carga se consideran exteriores por el motor del juego] ModUi/&Races=Razas ModUi/&RecipeCost=Costo de la receta +ModUi/&RefreshVoice=Actualizar lista de voces ModUi/&RelicForgeries=Falsificaciones de reliquias ModUi/&RemoveAttunementRequirements=Eliminar requisitos de sintonización [Requiere reinicio] ModUi/&RemoveBardMagicalSecretAt14And18=Elimina Secreto mágico en los niveles 14 y 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Mostrar el icono del objeto elaborado cerca d ModUi/&ShowCraftingRecipeInDetailedTooltips=Mostrar la receta de elaboración en descripciones emergentes detalladas ModUi/&ShowDescriptions=Mostrar descripciones ModUi/&ShowMotionFormPreview=Mostrar vista previa de los efectos Push y Pull +ModUi/&SpeechScale=Modificador de velocidad de narración [cuanto más bajo, más rápido] ModUi/&SpellLevelFilter=filtro de nivel de hechizo [-1 muestra todos] ModUi/&SpellsMenu=Hechizos ModUi/&StealthBreaksWhenAttackHits=Habilitar la pérdida de sigilo cuando un arma o un ataque de hechizo impacta @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Total de dotesTraducciones: +ModUi/&UnityExplorer=Interfaz de usuario de Unity Explorer ModUi/&UnleashEnemyAsNpc=Permitir que se seleccionen monstruos en los dispositivos NPC ModUi/&UnleashNpcAsEnemy=Desbloquea la selección de monstruos ModUi/&Update=Actualización diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt index 7e0212624c..2cfc5581e8 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Cantrips-es.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=¡Espada de llama verde! Feedback/&AdditionalDamageResonatingStrikeLine=¡{0} quema a {1} con la Espada de Llama Verde! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=¡Espada iluminada por el sol! Feedback/&AdditionalDamageSunlightBladeLine=¡{0} ilumina a {1} con Sunlit Blade! (+{2}) -Feedback/&Within5Ft=5 pies -Feedback/&WithinReach=Alcanzar Proxy/&ProxyCreateBonfireTitle=Hoguera Spell/&AcidClawsDescription=Tus uñas se afilan, listas para lanzar un ataque corrosivo. Realiza un ataque con hechizo cuerpo a cuerpo contra una criatura a 5 pies de ti. Con un golpe, el objetivo sufre 1d8 de daño por ácido y su CA se reduce en 1 durante 1 ronda (no se acumula). Spell/&AcidClawsTitle=Garras ácidas diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells01-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells01-es.txt index f158268731..f56a410956 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells01-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells01-es.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} ataca rápidamente a {1} (+{ Feedback/&AdditionalDamageThunderousSmiteFormat=¡Golpe atronador! Feedback/&AdditionalDamageThunderousSmiteLine={0} inflige más daño a {1} mediante un golpe atronador (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=¡Golpe colérico! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} inflige más daño a {1} mediante un golpe furioso (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} inflige más daño a {1} a través de un golpe iracundo (+{2}) Feedback/&ChaosBoltGainLeap={0} puede apuntar a un enemigo adicional con {1} de poder de salto Feedback/&ChaosBoltRandomChoice={0} deja que {1} se manifieste aleatoriamente como {2} Feedback/&ChaosBoltRolledDifferentDice={0} lanzó un {2} y un {3} en {1} dados de daño 1D8. Feedback/&ChaosBoltRolledEqualDice={0} sacó un {2} en ambos {1} D8 dados de daño. Feedback/&FeatureGiftOfAlacrityLine={0} activa {1} y agrega {2} a la iniciativa +Feedback/&Within5Ft=5 pies +Feedback/&WithinReach=Alcanzar Monster/&OwlFamiliarDescription=Búho familiar. Monster/&OwlFamiliarTitle=Familiar búho Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Elija un tipo de daño. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Aumenta drásticamente la gravedad en una esfer Spell/&MagnifyGravityTitle=Aumentar la gravedad Spell/&MuleDescription=El receptor de este hechizo puede ignorar los efectos de cargas pesadas o armaduras en la velocidad de movimiento. También puede llevar un poco más de peso. Spell/&MuleTitle=Mula +Spell/&ProtectionFromEvilGoodTitle=Proteger contra el mal y el bien Spell/&RadiantMotesDescription=Desata un enjambre de 4 proyectiles radiantes que infligen 1d4 de daño radiante cada uno.\nCuando lanzas este hechizo usando un espacio de hechizo de nivel 2 o superior, el hechizo crea 1 proyectil más por cada espacio por encima del 1.º. Spell/&RadiantMotesTitle=Motas radiantes +Spell/&RayOfSicknessDescription=Disparas un rayo verdoso a una criatura que esté dentro del alcance. Realizas un ataque de hechizo a distancia contra el objetivo. Si impactas, el objetivo recibe 2d8 puntos de daño por veneno y queda envenenado hasta el final de tu siguiente turno. El daño aumenta en 1d8 por cada nivel de espacio de hechizo por encima de 1. +Spell/&RayOfSicknessTitle=Rayo de enfermedad Spell/&SanctuaryDescription=Proteges a una criatura que se encuentre dentro del alcance contra ataques. Hasta que el hechizo termine, cualquier criatura que haga objetivo a la criatura protegida con un ataque o un hechizo dañino debe primero hacer una tirada de salvación de Sabiduría. Si la tirada falla, la criatura pierde el ataque o el hechizo. Este hechizo no protege a la criatura protegida de los efectos de área. Si la criatura protegida realiza un ataque o lanza un hechizo, este hechizo termina. Spell/&SearingSmiteDescription=En tu siguiente impacto, tu arma se enciende con una intensidad al rojo vivo y el ataque inflige 1d6 de daño por fuego adicional al objetivo y hace que este se encienda en llamas.\nAl comienzo de cada uno de sus turnos, el objetivo debe realizar una tirada de salvación de Constitución con éxito para dejar de arder o sufrir 1d6 de daño por fuego.\nNiveles superiores: por cada nivel de ranura por encima del 1.º, el daño adicional inicial infligido por el ataque aumenta en 1d6. Spell/&SearingSmiteTitle=Golpe abrasador @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Invocas el poder de fuerzas malévolas. Zarcillos de Spell/&VoidGraspTitle=Armas de Hadar Spell/&WitchBoltDescription=Un rayo de energía azul crepitante se lanza hacia una criatura dentro del alcance, formando un arco sostenido de relámpagos entre tú y el objetivo. Realiza un ataque de hechizo a distancia contra esa criatura. Si impactas, el objetivo recibe 1d12 puntos de daño por relámpago y, en cada uno de tus turnos mientras dure la acción, puedes usar tu acción para infligir 1d12 puntos de daño por relámpago al objetivo automáticamente. El hechizo termina si usas tu acción para hacer cualquier otra cosa. El hechizo también termina si el objetivo está fuera del alcance del hechizo. Cuando lanzas este hechizo usando un espacio de hechizo de nivel 2 o superior, el daño aumenta en 1d12 por cada nivel de espacio por encima del 1. Spell/&WitchBoltTitle=Rayo de bruja -Spell/&WrathfulSmiteDescription=La próxima vez que golpees con un ataque de arma cuerpo a cuerpo durante la duración de este hechizo, tu ataque causará 1d6 de daño psíquico adicional. Además, si el objetivo es una criatura, debe realizar una tirada de salvación de Sabiduría o te tendrá miedo hasta que el hechizo termine. Como acción, la criatura puede realizar una prueba de Sabiduría contra la CD de tu salvación de hechizo para fortalecer su determinación y terminar este hechizo. +Spell/&WrathfulSmiteDescription=El objetivo recibe 1d6 puntos de daño necrótico adicionales por el ataque y debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado hasta que el conjuro termine. Al final de cada uno de sus turnos, el objetivo Asustado repite la tirada de salvación y, si tiene éxito, termina el conjuro sobre sí mismo. El daño aumenta en 1d6 por cada nivel de espacio de conjuro por encima de 1. Spell/&WrathfulSmiteTitle=Golpe iracundo Tooltip/&TagDamagePureTitle=Daño caótico diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt index db27fe18b3..6ebedef3b6 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells02-es.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Estalla un cubo luminoso que ciega brevemente a cua Spell/&ColorBurstTitle=Ráfaga de color Spell/&KineticJauntDescription=Potencias mágicamente tu movimiento con pasos que parecen de baile, lo que te otorga los siguientes beneficios mientras dura la habilidad:\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=Paseo cinético -Spell/&MirrorImageDescription=Tres duplicados ilusorios de ti mismo aparecen en tu espacio. Hasta que el hechizo termine, cada vez que una criatura te haga objetivo con un ataque, tira un d20 para determinar si el ataque en su lugar hace objetivo a uno de tus duplicados.\nSi tienes 3 duplicados, debes sacar un 6 o más para cambiar el objetivo del ataque a un duplicado. Con 2 duplicados, debes sacar un 8 o más. Con 1 duplicado, debes sacar un 11 o más.\nLa CA de un duplicado es igual a 10 + tu modificador de Destreza. Si un ataque golpea a un duplicado, el duplicado es destruido. Un duplicado solo puede ser destruido por un ataque que lo golpee. Ignora todos los demás daños y efectos. El hechizo termina cuando los tres duplicados son destruidos.\nUna criatura no se ve afectada por este hechizo si está Cegada, o tiene Visión ciega, Visión verdadera o Sentido de temblores (no se aplica si no tocas el suelo). +Spell/&MirrorImageDescription=Tres duplicados ilusorios de ti mismo aparecen en tu espacio. Hasta que el conjuro termina, los duplicados se mueven contigo e imitan tus acciones, cambiando de posición para que sea imposible rastrear qué imagen es real. Cada vez que una criatura te golpea con una tirada de ataque durante la duración del conjuro, tira un d6 por cada uno de tus duplicados restantes. Si alguno de los d6 obtiene un 3 o más, uno de los duplicados es golpeado en lugar de ti, y el duplicado es destruido. De lo contrario, los duplicados ignoran todos los demás daños y efectos. El conjuro termina cuando los tres duplicados son destruidos. Una criatura no se ve afectada por este conjuro si tiene la condición de Cegado, Visión ciega o Visión verdadera. Spell/&MirrorImageTitle=Imagen de espejo Spell/&NoxiousSprayDescription=Lanzas una lluvia de gases nocivos sobre un objetivo que se encuentre dentro del alcance. Realiza un ataque de conjuro a distancia. Si impactas, el objetivo sufre 4d6 puntos de daño por veneno y debe superar una tirada de salvación de Constitución o pasará todo su siguiente turno vomitando y sin poder moverse ni realizar acciones. Los constructos, elementales y no muertos no se ven afectados por este conjuro. Cuando lanzas este conjuro usando un espacio de nivel 3 o superior, puedes seleccionar una criatura adicional por cada nivel de espacio por encima del 2. Spell/&NoxiousSprayTitle=Aerosol nocivo diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt index ad7aabbce9..bdc94056a1 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells03-es.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Creas el rostro de una enorme serpiente verde que a Spell/&AdderFangsTitle=Colmillos de víbora Spell/&AshardalonStrideDescription=Las llamas ondulantes de un dragón salen disparadas de tus pies, lo que te otorga una velocidad explosiva. Mientras dura el hechizo, tu velocidad aumenta en 20 pies y moverte no provoca ataques de oportunidad. Cuando te mueves a 5 pies o menos de una criatura, esta recibe 1d6 puntos de daño por fuego de tu rastro de calor. Una criatura puede recibir este daño solo una vez durante un turno. Cuando lanzas este hechizo usando un espacio de conjuro de nivel 4 o superior, aumentas tu velocidad en 5 pies por cada nivel de espacio de conjuro por encima del 3. El conjuro inflige 1d6 puntos de daño por fuego adicionales por cada nivel de espacio por encima del 3. Spell/&AshardalonStrideTitle=El paso de Ashardalon -Spell/&AuraOfLifeDescription=La energía curativa irradia desde ti en un aura con un radio de 30 pies. Hasta que el conjuro termine, el aura se mueve contigo, centrada en ti. Puedes usar una acción adicional para hacer que una criatura en el aura (incluyéndote a ti) recupere 2d6 puntos de golpe. +Spell/&AuraOfLifeDescription=La energía curativa irradia desde ti en un aura con un radio de 30 pies. Cuando creas el aura y durante cada uno de tus turnos subsiguientes mientras persista, puedes restaurar 2d6 puntos de golpe a una criatura que se encuentre en ella como acción gratuita. Spell/&AuraOfLifeTitle=Aura de vitalidad Spell/&BlindingSmiteDescription=La próxima vez que golpees a una criatura con un ataque de arma cuerpo a cuerpo durante la duración de este hechizo, tu arma brillará con una luz brillante y el ataque causará 3d8 puntos de daño radiante adicionales al objetivo. Además, el objetivo debe superar una tirada de salvación de Constitución o quedará cegado hasta que el hechizo termine. Una criatura cegada por este hechizo realiza otra tirada de salvación de Constitución al final de cada uno de sus turnos. Si supera una tirada de salvación, ya no estará cegada. Spell/&BlindingSmiteTitle=Golpe cegador @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=Te teletransportas a un espacio desocupado que pue Spell/&BoomingStepTitle=Paso del Trueno Spell/&CorruptingBoltDescription=Puedes disparar un pulso de energía necrótica que hace que el cuerpo de una criatura comience a marchitarse y descomponerse. Realiza un ataque a distancia contra una criatura. Con un impacto, el objetivo sufre 4d8 de daño necrótico y debe superar una tirada de salvación de Constitución. En una tirada de salvación fallida, la próxima vez que tú o un aliado tuyo golpee a la criatura corrupta con un ataque antes del final de tu siguiente turno, la criatura será vulnerable a todo el daño de ese ataque y luego la corrupción terminará. 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/&CorruptingBoltTitle=Perno corruptor -Spell/&CrusadersMantleDescription=Rodéate de un aura mágica. Los aliados dentro del aura obtienen 1d4 puntos de daño radiante adicional en sus ataques. +Spell/&CrusadersMantleDescription=El poder sagrado irradia desde ti en un aura con un radio de 30 pies, despertando la valentía en las criaturas amistosas. Hasta que el conjuro termine, el aura se mueve contigo, centrada en ti. Mientras estés en el aura, cada criatura no hostil en el aura (incluyéndote a ti) inflige 1d4 de daño radiante adicional cuando impacta con un ataque. Spell/&CrusadersMantleTitle=Manto del cruzado Spell/&ElementalWeaponDamageAcidDescription=Imbuye un arma no mágica con daño por ácido. Spell/&ElementalWeaponDamageAcidTitle=Arma elemental ácida diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells05-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells05-es.txt index 5435465fc8..82dcf09f7d 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells05-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells05-es.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Un pequeño orbe del mismo color que el globo utiliz Spell/&SonicBoomTitle=Estampido supersónico Spell/&SteelWhirlwindDescription=Haces florecer el arma que usaste para lanzar el hechizo y luego desapareces para atacar como el viento. Elige hasta cinco criaturas que puedas ver dentro del alcance. Realiza un ataque de hechizo cuerpo a cuerpo contra cada objetivo. Si impactas, el objetivo recibe 6d10 puntos de daño de fuerza. Luego puedes teletransportarte a un espacio desocupado que puedas ver a 5 pies o menos de uno de los objetivos a los que impactaste o fallaste. Spell/&SteelWhirlwindTitle=Golpe de viento de acero -Spell/&SwiftQuiverDescription=Transmutas tu carcaj para que automáticamente la munición salte a tu mano cuando la alcances. En cada uno de tus turnos hasta que termine el hechizo, puedes usar una acción adicional para realizar dos ataques con un arma a distancia. +Spell/&SwiftQuiverDescription=Cuando lanzas el hechizo y como acción adicional hasta que finaliza, puedes realizar dos ataques con un arma que dispare flechas o virotes, como un arco largo o una ballesta ligera. El hechizo crea mágicamente la munición necesaria para cada ataque. Cada flecha o virote creado por el hechizo inflige daño como una pieza de munición no mágica de su tipo y se desintegra inmediatamente después de impactar o fallar. Spell/&SwiftQuiverTitle=Carcaj veloz Spell/&SynapticStaticDescription=Eliges un punto dentro del alcance y haces que la energía psíquica explote allí. Cada criatura en una esfera de 20 pies de radio centrada en ese punto debe realizar una tirada de salvación de Inteligencia. Un objetivo sufre 8d6 de daño psíquico si falla la salvación, o la mitad de daño si tiene éxito. Después de una salvación fallida, un objetivo tiene pensamientos confusos durante 1 minuto. Durante ese tiempo, tira 1d6 y resta el número obtenido de todas sus tiradas de ataque y comprobaciones de característica. El objetivo puede realizar una tirada de salvación de Inteligencia al final de cada uno de sus turnos, terminando el efecto sobre sí mismo si tiene éxito. Spell/&SynapticStaticTitle=Estática sináptica diff --git a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt index c9e00ca279..048da426da 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Spells/Spells09-es.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Orbes de fuego ardientes caen en picad Spell/&MeteorSwarmSingleTargetTitle=Enjambre de meteoritos Spell/&PowerWordHealDescription=Una ola de energía curativa baña a la criatura que tocas. El objetivo recupera todos sus puntos de golpe. Si la criatura está encantada, asustada, paralizada, envenenada o aturdida, la condición termina. Si la criatura está boca abajo, puede usar su reacción para levantarse. Este hechizo no tiene efecto sobre muertos vivientes o constructos. Spell/&PowerWordHealTitle=Palabra de poder sanar -Spell/&PowerWordKillDescription=Pronuncias una palabra de poder que puede obligar a una criatura que puedas ver dentro del alcance a morir instantáneamente. Si la criatura que eliges tiene 100 puntos de golpe o menos, muere. De lo contrario, el hechizo no tiene efecto. +Spell/&PowerWordKillDescription=Obligas a morir a una criatura que puedas ver dentro del alcance. Si el objetivo tiene 100 puntos de golpe o menos, muere. De lo contrario, sufre 12d12 puntos de daño psíquico. Spell/&PowerWordKillTitle=Palabra de poder matar Spell/&PsychicScreamDescription=Liberas el poder de tu mente para destruir el intelecto de hasta diez criaturas de tu elección que puedas ver dentro del alcance. Cada objetivo debe realizar una tirada de salvación de Inteligencia. Si falla, el objetivo sufre 14d6 puntos de daño psíquico y queda aturdido durante 1 minuto. Si tiene éxito, el objetivo sufre la mitad del daño y no queda aturdido. Un objetivo aturdido puede realizar una tirada de salvación de Inteligencia al final de cada uno de sus turnos. Si tiene éxito, el efecto de aturdimiento termina. Spell/&PsychicScreamTitle=Grito psíquico @@ -25,5 +25,5 @@ Spell/&ShapechangeDescription=Asumes la forma de una criatura diferente mientras Spell/&ShapechangeTitle=Cambio de forma Spell/&TimeStopDescription=Detienes brevemente el paso del tiempo para todos excepto para ti. El tiempo no pasa para las demás criaturas, mientras que tú realizas 1d4+1 turnos seguidos, durante los cuales puedes usar acciones y moverte con normalidad. Este hechizo termina si una de las acciones que uses durante este período, o cualquier efecto que crees durante este período, afecta a una criatura que no seas tú. Spell/&TimeStopTitle=Detener el tiempo -Spell/&WeirdDescription=Inspirándote en los miedos más profundos de un grupo de criaturas, creas criaturas ilusorias en sus mentes, visibles solo para ellas. 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 la tirada falla, la criatura queda asustada durante el tiempo que dure la tirada. 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. Si la tirada de salvación tiene éxito, el conjuro termina para esa criatura. +Spell/&WeirdDescription=Intentas crear terrores ilusorios en las mentes de los demás. Cada criatura que elijas en una esfera de 30 pies de radio centrada en un punto dentro del alcance realiza una tirada de salvación de Sabiduría. Si falla la tirada, el objetivo sufre 10d10 puntos de daño psíquico y tiene la condición de Asustado mientras dure la tirada. Si tiene éxito, el objetivo sufre solo la mitad del daño. Un objetivo Asustado realiza una tirada de salvación de Sabiduría al final de cada uno de sus turnos. Si falla la tirada, sufre 5d10 puntos de daño psíquico. Si tiene éxito, el conjuro termina en ese objetivo. Spell/&WeirdTitle=Extraño diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/CircleOfTheAncientForest-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/CircleOfTheAncientForest-es.txt index 38ea81b1ab..316b8b5973 100644 --- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/CircleOfTheAncientForest-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/CircleOfTheAncientForest-es.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=Tienes una reserva de poder curat Feature/&PowerAncientForestRegrowthTitle=Rebrote Feature/&PowerAncientForestRootedDescription=Zarcillos arbóreos crecen desde tus pies y se hunden en el suelo. Tu velocidad se reduce a 0 y obtienes ventaja en cualquier tirada de salvación para empujarte, tirarte o derribarte. Puedes lanzar enredar a voluntad. Feature/&PowerAncientForestRootedTitle=Arraigado -Feature/&PowerPoolAncientForestHerbalBrewDescription=Puedes crear brebajes de hierbas, cada uno de los cuales dura hasta el siguiente descanso prolongado. Creas un total de brebajes igual a tu bonificación de competencia. Para cada brebaje, elige uno de los siguientes efectos:\nBrebaje fortificante: otorga resistencia a diferentes tipos de daño durante 1 hora.\nBrebaje vivificante: proporciona 2d4 puntos de golpe.\nBrebaje intoxicante: actúa como veneno que se puede aplicar a un arma y dura 1 minuto. Si el golpe acierta, el objetivo sufre 1d4 puntos de daño por veneno en cada golpe. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Puedes crear brebajes de hierbas, cada uno de los cuales dura hasta el siguiente descanso prolongado. Creas un total de brebajes igual a tu bonificación de competencia. Para cada brebaje, elige uno de los siguientes efectos:\nBrebaje fortificante: otorga resistencia a diferentes tipos de daño durante 1 hora.\nBrebaje vivificante: proporciona 2d4 puntos de golpe.\nBrebaje intoxicante: actúa como veneno que se puede aplicar a un arma y dura 1 minuto. Si el golpe acierta, el objetivo sufre 1d4 puntos de daño por veneno en cada golpe. Feature/&PowerPoolAncientForestHerbalBrewTitle=Elaboración de cerveza a base de hierbas Feature/&PowerPoolAncientForestWallOfThornsDescription=Puedes lanzar Muro de espinas una cantidad de veces igual a tu modificador de Sabiduría. Se recarga en descansos prolongados. Feature/&PowerPoolAncientForestWallOfThornsTitle=Muro de espinas diff --git a/SolastaUnfinishedBusiness/Translations/fr/FightingStyles-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/FightingStyles-fr.txt index 8f8e154e34..a4bf5dc394 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/FightingStyles-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/FightingStyles-fr.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Exécution! Feedback/&AdditionalDamageExecutionerLine={0} exécute {1} pour +{2} dégâts supplémentaires ! FightingStyle/&AstralReachDescription=Votre portée sans arme augmente de 5 pieds tant que vos deux mains sont libres. FightingStyle/&AstralReachTitle=Portée astrale +FightingStyle/&BlessedWarriorDescription=Vous apprenez deux sorts de votre choix dans la liste des sorts de Clerc. Ils comptent comme des sorts de Paladin pour vous, et le Charisme est votre capacité de lancement de sorts pour eux. +FightingStyle/&BlessedWarriorTitle=Guerrier béni FightingStyle/&BlindFightingDescription=Vous avez une vue aveugle d'une portée de 3 mètres. Dans cette portée, vous pouvez voir efficacement tout ce qui n'est pas à couvert, même si vous êtes aveuglé ou dans l'obscurité. De plus, vous pouvez voir une créature invisible dans cette portée, à moins que la créature ne parvienne à se cacher de vous. FightingStyle/&BlindFightingTitle=Combat à l'aveugle FightingStyle/&CripplingDescription=Vous réduisez la vitesse de vos adversaires de 10 pieds jusqu'à la fin de votre prochain tour sur une attaque de mêlée. FightingStyle/&CripplingTitle=Paralysant +FightingStyle/&DruidicWarriorDescription=Vous apprenez deux sorts de votre choix dans la liste des sorts du druide. Ils comptent comme des sorts de rôdeur pour vous, et la Sagesse est votre capacité de lancement de sorts pour eux. +FightingStyle/&DruidicWarriorTitle=Guerrier druidique FightingStyle/&ExecutionerDescription=Vous ajoutez votre bonus de maîtrise aux dégâts contre les créatures aveuglées, effrayées, retenues, incapables, paralysées, à terre ou étourdies. FightingStyle/&ExecutionerTitle=Bourreau FightingStyle/&HandAndAHalfDescription=Vous obtenez un bonus de +1 à vos jets d'attaque et un bonus de +1 à votre CA lorsque vous utilisez une arme de mêlée à une main ou une arme polyvalente et aucune autre arme ou bouclier. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} a attaqué l'un de vos alliés, Reaction/&ReactionAttackSentinelReactDescription=Utilisez la réaction pour attaquer. Reaction/&ReactionAttackSentinelReactTitle=Attaque Reaction/&ReactionAttackSentinelTitle=Sentinelle +Tag/&BlessedWarriorCantripSpecialTagTitle=Les tours de passe-passe du Guerrier Béni +Tag/&DruidicWarriorCantripSpecialTagTitle=Les sorts du Guerrier Druidique diff --git a/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt index a7e84628be..601793e4c4 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Invocations-fr.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=En tant qu'action bonus Feature/&PowerInvocationPerniciousCloakRemoveTitle=Enlever le manteau des mouches Feedback/&AdditionalDamageEldritchSmiteFormat=Frappe surnaturelle ! Feedback/&AdditionalDamageEldritchSmiteLine={0} frappe {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Bénéficiez d'effets supplémentaires lorsque vous êtes lié à une créature. Lorsque vous êtes lié à un diablotin, vous gagnez une plus grande invisibilité, lorsque vous êtes lié à un pseudo-dragon, vous gagnez le vol et des attaques imprégnées de poison, lorsque vous êtes lié à un quasi-dragon, vous gagnez une action principale supplémentaire et un avantage aux jets de sauvegarde de Dextérité, et lorsque vous êtes lié à un lutin, vous obtenez une CA d'au moins 16 et les attaquants ont un désavantage contre vous. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Bénéficiez d'effets supplémentaires lorsque vous êtes lié à une créature. Lorsque vous êtes lié à un diablotin, vous gagnez une plus grande invisibilité, lorsque vous êtes lié à un pseudo-dragon, vous gagnez le vol et des attaques imprégnées de poison, lorsque vous êtes lié à un quasi-dragon, vous gagnez une attaque supplémentaire et un avantage aux jets de sauvegarde de Dextérité, et lorsque vous êtes lié à un lutin, vous obtenez une CA d'au moins 16 et les attaquants ont un désavantage contre vous. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Compétences du Maître de la Chaîne Invocation/&InvocationAspectOfTheMoonDescription=Vous n'avez plus besoin de dormir et pouvez monter la garde, réduisant ainsi les risques d'attaque et vous assurant d'être éveillé si le camp est attaqué. Invocation/&InvocationAspectOfTheMoonTitle=Aspect de la Lune diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 88190f4f8a..16b04d96ed 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Sorcellerie innée Condition/&ConditionStaggeringBlowAoODescription=Vous ne pouvez pas effectuer d'attaques d'opportunité avant le début de votre prochain tour. Condition/&ConditionStaggeringBlowAoOTitle=Coup de foudre Condition/&ConditionStopMovementTitle=Arrêté +Condition/&ConditionStudiedAttacksDescription=La source a l'avantage lors de la prochaine attaque contre vous +Condition/&ConditionStudiedAttacksTitle=Attaques étudiées Condition/&ConditionTauntedDescription=Vous avez un désavantage sur les jets d'attaque contre les créatures autres que le provocateur. Condition/&ConditionTauntedTitle=Moqué Condition/&FlightSuspendDescription=L'effet de vol en cours a été suspendu @@ -75,13 +77,13 @@ ContentPack/&9999Description=Le Unfinished Business Pack est une véritable Corn ContentPack/&9999Title=Pack d'affaires inachevées Equipment/&BeltOfRegeneration_Function_Description=Régénère 5 points de vie par tour pendant une minute. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Vos attaques infligent un coup critique sur un score de 18, 19 ou 20 lorsque vous maniez cette arme et que vous êtes en phase avec elle. +Failure/&CannotAttackTarget=Impossible d'effectuer une attaque sur cette cible Failure/&FailureFlagCannotTargetUndead=Ne peut pas cibler les créatures mortes-vivantes Failure/&FailureFlagMaterialComponentHandsFull=Pas de main libre pour utiliser les composants matériels des sorts. Failure/&FailureFlagMustKnowLanguage=Vous devez maîtriser la langue {0} pour commander cette créature Failure/&FailureFlagTargetMustNotBeSurprised=La cible ne doit pas être surprise Failure/&FailureFlagTargetMustUnderstandYou=La cible doit comprendre votre commande Failure/&SecondTargetNotWithinRange=Impossible de sélectionner cette cible car elle n'est pas à portée de la première -Failure/&TargetMeleeWeaponError=Impossible d'effectuer une attaque au corps à corps sur cette cible car elle se trouve à {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=La cible ne doit pas être plus grande qu'une taille Failure/&TargetMustHaveHolyWeapon=La cible doit avoir une arme sacrée Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Vous avez un avantage sur les tests de Sagesse (Perception) lorsque vous n'êtes pas éclairé ou dans l'obscurité magique. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Lorsque vous lancez Initi Feature/&FeatureBardSuperiorInspiration2024Title=Inspiration supérieure Feature/&FeatureEldritchMasterDescription=Lorsque vous utilisez votre fonction Ruse magique, vous récupérez tous vos emplacements de sorts de Magie du Pacte dépensés. Feature/&FeatureEldritchMasterTitle=Maître occulte +Feature/&FeatureFighterStudiedAttacksDescription=Vous étudiez vos adversaires et apprenez de chacune de vos attaques. Si vous faites un jet d'attaque contre une créature et que vous ratez, vous bénéficiez d'un Avantage sur votre prochain jet d'attaque contre cette créature avant la fin de votre prochain tour. +Feature/&FeatureFighterStudiedAttacksTitle=Attaques étudiées +Feature/&FeatureFighterTacticalMindDescription=Vous avez un esprit tactique et vous savez prendre le dessus sur le champ de bataille et en dehors. Lorsque vous échouez à un test de caractéristique, vous pouvez utiliser votre Second souffle pour vous pousser vers la réussite. Plutôt que de regagner des points de vie, vous lancez 1d10 et ajoutez le nombre obtenu au test de caractéristique, ce qui peut potentiellement le transformer en réussite. Si le test échoue à nouveau, cette utilisation de Second souffle n'est pas dépensée. +Feature/&FeatureFighterTacticalMindTitle=Esprit tactique +Feature/&FeatureFighterTacticalShiftDescription=À chaque fois que vous activez votre Second Souffle avec une Action Bonus, vous pouvez vous déplacer jusqu'à la moitié de votre Vitesse sans provoquer d'Attaques d'Opportunité. +Feature/&FeatureFighterTacticalShiftTitle=Changement de tactique +Feature/&FeatureImprovedRogueCunningStrikeDescription=Vous pouvez utiliser jusqu'à deux effets de Frappe rusée lorsque vous infligez des dégâts d'Attaque sournoise, en payant le coût du dé pour chaque effet. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Frappe rusée améliorée 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 sommets. Vos effets Déluge de coups, Défense patiente et Pas du vent vous confèrent les avantages suivants :\n• Déluge de coups : lorsque vous utilisez Déluge de coups, vous effectuez trois attaques à mains nues au lieu de deux.\n• Défense patiente : lorsque vous utilisez Défense patiente, 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 Flèche), vous bénéficiez également des avantages de l'autre effet. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Ordre primordial Feature/&FeatureSetDruidPrimalOrderWardenDescription=Entraîné au combat, vous acquérez une maîtrise des armes martiales et une formation avec une armure moyenne. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Directeur Feature/&FeatureSetRageExtendedDescription=Au combat, vous combattez avec une férocité primitive. À votre tour, vous pouvez entrer en rage en tant qu'action bonus. Cela vous confère un avantage aux jets de sauvegarde et aux tests de Force, un bonus initial de +2 aux dégâts d'attaque au corps à corps et une résistance aux dégâts tranchants, contondants et perforants. Vous ne bénéficiez de ces avantages que si vous ne portez pas d'armure lourde. Dure 1 minute ou prend fin si vous n'avez pas attaqué ou subi de dégâts depuis votre dernier tour.\n Vous commencez avec 2 rages, renouvelées après un repos long. Au niveau 7, vous regagnez un point de rage après un repos court. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Si vous n'avez plus d'utilisation de Sorcellerie innée, vous pouvez l'utiliser si vous dépensez 2 points de Sorcellerie lorsque vous effectuez l'action bonus pour l'activer. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=La sorcellerie incarnée +Feature/&FeatureSorcererArcaneApotheosisDescription=Tant que votre fonction Sorcellerie innée est active, vous pouvez utiliser une option Métamagie à chacun de vos tours sans dépenser de points de Sorcellerie dessus. +Feature/&FeatureSorcererArcaneApotheosisTitle=Apothéose des arcanes Feature/&FeatureSorcererMagicalGuidanceDescription=Vous pouvez puiser dans votre source intérieure de magie pour tenter de transformer un échec en succès. Lorsque vous faites un test de caractéristique qui échoue, vous pouvez dépenser 1 point de sorcellerie pour relancer le d20, et vous devez utiliser le nouveau jet, ce qui peut potentiellement transformer l'échec en succès. Feature/&FeatureSorcererMagicalGuidanceTitle=Guidance magique +Feature/&FeatureWizardMemorizeSpellDescription=Chaque fois que vous terminez un repos court, vous pouvez étudier votre livre de sorts et remplacer l'un des sorts de sorcier de niveau 1+ que vous avez préparés pour votre fonction de lancement de sorts par un autre sort de niveau 1+ du livre. +Feature/&FeatureWizardMemorizeSpellTitle=Mémoriser un sort 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 Feature/&FlightResumeTitle=Reprendre le vol @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Choisissez l'un de ces outils : {1} Feature/&VisionBlindsightDescription=Vous avez la vision aveugle. Feedback/&AdditionalDamageBrutalStrikeFormat=Grève brutale Feedback/&AdditionalDamageBrutalStrikeLine=Frappe brutale inflige +{2} dégâts supplémentaires ! +Feedback/&AdditionalDamageCrusadersMantleFormat=Manteau du croisé ! +Feedback/&AdditionalDamageCrusadersMantleLine={0} frappe {1} et inflige {2} dégâts radiants supplémentaires ! Feedback/&AdditionalDamageSunderingBlowFormat=Coup destructeur Feedback/&AdditionalDamageSunderingBlowLine=Coup de Fracture inflige +{2} dégâts supplémentaires ! Feedback/&AdditionalDamageTrueStrikeFormat=Véritable frappe ! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} lance un choix narratif {1} avec un résultat Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=Vous ne pouvez pas utiliser la fonction d'identification après le repos pendant le voyage Feedback/&ReturningWeaponActivates={1} revient à {0} ! Feedback/&SmallRace=Petite course +Feedback/&TacticalMindCheckToHitRoll={0} a utilisé {1} et ajoute {2} au jet de contrôle +Feedback/&TacticalMindCheckToHitRollFailure={0} a utilisé {1}, ajoute {2} au jet de contrôle, mais pas suffisamment pour changer le résultat +Feedback/&TacticalMindCheckToHitRollSuccess={0} a utilisé {1}, ajoute {2} au jet de test, change le résultat et consomme Second Wind Feedback/&TriggerFeatureLine={0} déclenche {1} Feedback/&TriggerRerollLine={0} active {1} pour relancer {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} a True Sight et n'est pas affecté par ce sort @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Vous avez raté un jet d Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Lancez un d20 pour remplacer le jet de contrôle. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Guidance magique Reaction/&CustomReactionMagicalGuidanceCheckTitle=Guidance magique +Reaction/&CustomReactionTacticalMindCheckDescription=Vous avez raté un jet de test. Vous pouvez consacrer 1 seconde à l'utilisation du vent pour lancer un d10 et ajouter le résultat au jet de test. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Lancez un d10 pour ajouter le résultat au jet de contrôle. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Esprit tactique +Reaction/&CustomReactionTacticalMindCheckTitle=Esprit tactique Reaction/&ReactionSpendPowerBundleDescription=Dépenser du pouvoir. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Vous pouvez appliquer un effet supplémentaire. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Appliquer un effet supplémentaire. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Puissance automatique Rules/&ActivationTypeOnRageStartAutomaticTitle=Démarrage automatique de la rage Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Créature automatique réduite à zéro PV Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Attaque furtive automatique +Rules/&ConditionMarkedByHunterExtendedDescription=Reçoit +1d6 de dégâts de force lorsqu'il est touché par le lanceur de sorts avec une attaque d'arme. Rules/&ConditionOneDndBarkskinDescription=La classe d'armure de la créature devient au moins 17. Rules/&ConditionStoneskinExtendedDescription=Résistance aux dégâts contondants, tranchants et perforants. Rules/&CounterFormDismissCreatureFormat=Renvoie une créature invoquée ciblée @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=Se concentre sur le sort : Rules/&SituationalContext9018Format=La source de l'effet est : Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Récupérez des points de sorcellerie jusqu'à la moitié de votre niveau de sorcier, arrondi à l'inférieur Rules/&TurnOccurenceEndOfSourceTurnFormat=Source de fin de tour +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Vous pouvez effectuer un nombre illimité d'actions d'inventaire par tour. Screen/&ClassExtraSpellDescriptionFormat=Vous connaissez ce sort de la classe {0}. Screen/&EditorLocationSize3Title=Énorme [MODIFIÉ] Screen/&EditorLocationSize4Title=Gargantuesque [MODIFIÉ] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=Vous connaissez ce sort d'un autre répe Screen/&MulticlassExtraSpellTitle=Multiclasse Screen/&PatronExtraSpellDescription=Sorts de patron Screen/&PatronExtraSpellTitle=Mécène +Screen/&PreparePanelMemorizeSpellSelect=Sélectionnez un sort à préparer. Screen/&RaceExtraSpellDescription=Vous connaissez ce sort grâce à votre héritage. Screen/&RaceExtraSpellTitle=Patrimoine Screen/&RangerSpellDescription=Ce sort a été accordé par votre archétype Ranger et est considéré comme connu de vous. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=Vous avez dépensé {0} emplacement(s Screen/&SubclassClassExtraSpellDescriptionFormat=Vous connaissez ce sort de la sous-classe {0}. Screen/&SwitchConfigurationDescription=Changez vos objets équipés selon cette configuration : {0}.\nMaintenez la touche CTRL enfoncée pour garder la main secondaire si possible. Spell/&ConjureElementalInvisibleStalkerTitle=Invocation d'élémentaire [Invisible Stalker] +Spell/&HuntersMarkExtendedDescription=Un ennemi subit des dégâts de force supplémentaires de votre part et vous pouvez facilement le détecter pendant une durée limitée. +Spell/&PowerWordStunExtendedDescription=Vous submergez l'esprit d'une créature que vous pouvez voir à portée. Si la cible a 150 points de vie ou moins, elle est étourdie. Sinon, sa vitesse est de 0 jusqu'au début de votre prochain tour. La cible étourdie effectue un jet de sauvegarde de Constitution à la fin de chacun de ses tours, mettant fin à son état en cas de réussite. +Spell/&SpareTheDyingExtendedDescription=Choisissez une créature à portée qui a 0 point de vie et qui n'est pas morte. La créature devient stable. La portée double lorsque vous atteignez les niveaux 5 (30 pieds), 11 (60 pieds) et 17 (120 pieds). Spell/&StoneskinExtendedDescription=Accorde une résistance aux dégâts contondants, tranchants et perforants. Spell/&TrueStrike2024Description=Guidé par un éclair de perspicacité magique, vous effectuez une attaque avec l'arme utilisée pour lancer le sort. L'attaque utilise soit votre capacité de lancer de sorts pour les jets d'attaque et de dégâts, soit votre Force ou votre Dextérité, selon la valeur la plus élevée. Si l'attaque touche, elle inflige des dégâts radiants au lieu du type de dégâts normal de l'arme. L'attaque inflige des dégâts radiants supplémentaires lorsque vous atteignez les niveaux 5 (1d6), 11 (2d6) et 17 (3d6). Stage/&IdentityMorphotypeEyeHeader=Style des yeux diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index b9454fd491..07642229fa 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Polyvalence ModUi/&DontEndTurnAfterReady=Ne pas terminer le tour après l'action Prêt [permet une action bonus ou toute autre action principale provenant d'autres sources] ModUi/&DontFollowCharacterInBattle=La caméra de combat ne suit pas lorsque le personnage est déjà à l'écran ModUi/&DontFollowMargin=+ Sauf si le héros est éteint ou à % du bord de l'écran +ModUi/&DownloadVoice=Télécharger les voix suggérées +ModUi/&DownloadVoiceOngoing=Téléchargement à {0} ModUi/&DungeonMaker=Créateur de donjons ModUi/&DungeonMakerBasicHelp=• Ces paramètres ne nécessiteront pas que le joueur ait installé ce mod ModUi/&Effects=Effets @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Activer un système d'achat épique de 35 points ModUi/&EnableExtendedProficienciesPanelDisplay=Activer l'affichage du panneau des compétences étendues [Tirs des arcanes, Infusions, Manœuvres et Polyvalence]\n[baisse des performances lors de l'inspection des personnages. À utiliser à vos risques et périls] ModUi/&EnableFeatsAtEvenLevels=Activer la sélection des exploits aux niveaux 2, 10 et 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Activer la sélection des exploits aux niveaux 6 et 14 +ModUi/&EnableFighterStudiedAttacks=Activer les attaques étudiées au niveau 13 [avantage si l'attaque précédente du tour contre la créature a été manquée] +ModUi/&EnableFighterTacticalProgression=Activez Tactical Mind et Tactical Shift aux niveaux 2 et 5 [augmentez les scénarios de second souffle] ModUi/&EnableFighterWeaponSpecialization=Activez la spécialisation des armes aux niveaux 8 et 16 [obtenez +1 pour toucher et pour endommager mais désavantagez-vous avec tout autre type d'arme] ModUi/&EnableFlexibleBackgrounds=Activer les arrière-plans flexibles [sélectionnez les compétences et les outils à partir des arrière-plans] ModUi/&EnableFlexibleRaces=Activer les races flexibles [attribuer des points de score de capacité au lieu des valeurs par défaut raciales] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Activez la spécialisation ModUi/&EnableMulticlass=Activer multiclasse [Nécessite un redémarrage] ModUi/&EnableOneDnDPreparedSpellsTables=Permettre à tous les lanceurs de sorts d'utiliser les nouvelles tables de sorts préparés [Barde, Clerc, Druide, Paladin, Rôdeur, Sorcier, Magicien] ModUi/&EnableOneDndBarkskinSpell=Activer Écorce 5e 2024 version du sort [action bonus, pas de concentration, CA fixée à 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Activer les sorts Épée arcanique, Cercle de la mort, Frappe de flammes, Tempête de glace et Moquerie vicieuse version 5e 2024 [meilleurs dégâts] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Activez les sorts Épée arcanique, Cercle de la mort, Frappe de flammes, Tempête de glace, Vaporisation prismatique et Moquerie vicieuse 5e version 2024 [meilleurs dégâts] ModUi/&EnableOneDndDivineFavorSpell=Activer Faveur divine 5e 2024 version du sort [aucune concentration] ModUi/&EnableOneDndGuidanceSpell=Activer Guidage 5e version du sort 2024 [Choisissez une compétence au lancement et obtenez un bonus jusqu'à 1 minute.] ModUi/&EnableOneDndHealingSpellsUpgrade=Activer les sorts Soin des blessures, Fausse vie, Mot de guérison, Soin de masse des blessures et Mot de guérison de masse 5e 2024 version [meilleure guérison] +ModUi/&EnableOneDndHideousLaughterSpell=Activer Rire hideux 5e 2024 version du sort [+1 cible par upcast] +ModUi/&EnableOneDndHuntersMarkSpell=Activer la version du sort Marque du chasseur 5e 2024 [dégâts de force] ModUi/&EnableOneDndLesserRestorationSpell=Activer Restauration mineure 5e 2024 version du sort [action bonus] ModUi/&EnableOneDndMagicWeaponSpell=Activer Arme magique 5e version du sort 2024 [action bonus, pas de concentration, amélioration aux niveaux de sort 3 et 6] -ModUi/&EnableOneDndPowerWordKillSpell=Activer Mot de pouvoir : Tuer 5e version du sort 2024 [12d12 dégâts psychiques si supérieur à 100 hp] +ModUi/&EnableOneDndPowerWordStunSpell=Activer Mot de pouvoir étourdissant 5e version du sort 2024 [la cible s'arrête pendant un tour si elle a plus de 150 pv] +ModUi/&EnableOneDndSpareTheDyingSpell=Activer Épargner les mourants 5e version du sort 2024 [la portée double aux niveaux 5, 11 et 17] +ModUi/&EnableOneDndSpiderClimbSpell=Activer Spider Climb 5e 2024 version du sort [+1 cible par upcast] ModUi/&EnableOneDndStoneSkinSpell=Activer la version du sort Stone Skin 5e 2024 [offre également une résistance aux B/P/S magiques] ModUi/&EnableOneDndTrueStrikeCantrip=Activer True Strike 5e 2024 version du tour de passe-passe [Nécessite un redémarrage]\n[L'attaque utilise votre capacité de lancement de sorts pour le jet d'attaque et le bonus de dégâts, ainsi que des dégâts radiants supplémentaires à partir du niveau 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Activer Imposition des mains comme action bonus @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de s ModUi/&EnableRelearnSpells=Activer la sélection de sorts ou de sorts déjà appris à partir d'autres sources ModUi/&EnableRespecAction=Activer l'action RESPEC après le repos [ne pas utiliser RESPEC pendant une session multijoueur] ModUi/&EnableRitualOnAllCasters=Activer le lancement de rituel sur tous les lanceurs de sorts -ModUi/&EnableRogueCunningStrike=Activez Cunning Strike et Devious Strike aux niveaux 5 et 14 [vous renoncez à 1 dé d'attaque sournoise pour des effets de coup supplémentaires] +ModUi/&EnableRogueCunningStrike=Activez Cunning Strike, Improved Cunning Strike et Devious Strike aux niveaux 5, 11 et 14 [vous renoncez à 1 dé d'attaque sournoise pour des effets de coup supplémentaires] ModUi/&EnableRogueFightingStyle=Activer le choix du Style de combat au niveau 2 +ModUi/&EnableRogueReliableTalentAt7=Activer le talent fiable au niveau 7 au lieu de 11 ModUi/&EnableRogueSlipperyMind=Échangez Slippery Mind avec la version 5e 2024 [vous obtenez également la maîtrise des jets de sauvegarde de charisme en plus de la sagesse] ModUi/&EnableRogueSteadyAim=Activez la Visée constante au niveau 3 [l'action bonus donne un avantage sur votre prochain jet d'attaque dans le tour en cours si vous n'avez pas encore bougé] ModUi/&EnableRogueStrSaving=Activer les modificateurs DEX ou STR de Hoodlum sur Cunning/Devious Strike ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Activez Second Wind pour utiliser la progression des utilisations 5e 2024 ModUi/&EnableSignatureSpellsRelearn=Activer les sorts signatures pour qu'ils soient préparés à chaque repos long [au lieu d'une fois au niveau 20] -ModUi/&EnableSorcererInnateSorceryAt1=Activer la Sorcellerie innée au niveau 1 +ModUi/&EnableSorcererArcaneApotheosis=Activer Apothéose des arcanes à 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Activez la Sorcellerie innée et la Sorcellerie incarnée aux niveaux 1 et 7 ModUi/&EnableSorcererMagicalGuidance=Activer la guidance magique au niveau 5 ModUi/&EnableSorcererQuickenedAction=Activez l'action Sort accéléré pour permettre de lancer le sort d'action principal avec la métamagie accélérée appliquée -ModUi/&EnableSorcerousRestorationAtLevel5=Activer la Restauration magique au niveau 5 +ModUi/&EnableSorcererSorcerousRestoration=Activer la Restauration magique au niveau 5 ModUi/&EnableSortingDungeonMakerAssets=Activer le tri des ressources sur l'éditeur Dungeon Maker +ModUi/&EnableSpeech=Activer la parole dans les campagnes personnalisées [narration et héros uniquement] +ModUi/&EnableSpeechActorHelp=• Sélectionnez un acteur +ModUi/&EnableSpeechOnNpcs=+ Activer la parole sur les PNJ [soit à partir de la cartographie de campagne, soit à partir de l'attribution automatique] +ModUi/&EnableSpeechVoiceHelp=• Sélectionnez une voix et une vitesse de narration ModUi/&EnableStatsOnHeroTooltip=Afficher les statistiques dans l'infobulle du héros [c'est-à-dire : coups critiques, échecs critiques, etc.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ De plus, chaque héros ajoute un jet de D20 pour pondérer un peu le caractère aléatoire [poids du choix = votes * modificateur de Charisme du héros + jet de D20] ModUi/&EnableSurprisedToEnforceDisadvantage=Activez la condition Surprise pour appliquer un désavantage d'initiative au lieu de sauter un tour ModUi/&EnableTeleportToRemoveRestrained=Activez la téléportation pour supprimer toutes les conditions de restriction de la cible ModUi/&EnableTooltipDistance=Activer l'affichage de la distance dans les info-bulles lors du survol d'un personnage en combat ModUi/&EnableUnarmedMainAttackAction=Activer l'action Attaque à mains nues [si l'acteur a une arme dans l'arme principale, est un moine ou a des bandages ou un gantelet équipés] +ModUi/&EnableUnlimitedInventoryActions=Activez un nombre illimité d'actions d'inventaire par tour. ModUi/&EnableUpcastConjureElementalAndFey=Activer la conversion ascendante de Conjure Elemental et Conjure Fey ModUi/&EnableVariablePlaceholdersOnTexts=Activer les espaces réservés aux variables dans les descriptions [utiliser {VARIABLE_NAME} comme espace réservé] ModUi/&EnableVersatileAmmunitionSlots=Autoriser le transport et l'utilisation de potions et de parchemins dans les emplacements de munitions @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Autoriser le transport et l'utilisation de ruse magique au niveau 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Activez la ruse magique au niveau 2 et améliorez le maître eldritch à 20 ModUi/&EnableWarlockToLearnPatronAtLevel3=Activer Patron au niveau 3 au lieu de 1 +ModUi/&EnableWizardMemorizeSpell=Activer Mémoriser le sort au niveau 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Activer Scholar au niveau 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Activer l'École de magie au niveau 3 au lieu de 2 ModUi/&EnablesAsiAndFeat=Activer à la fois l'augmentation des scores d'attributs et la sélection des exploits [au lieu d'un choix exclusif] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Correction du retour à la ligne du texte de l' ModUi/&FixEldritchBlastRange=Utilisez une plage de 24 cellules avec Eldritch Blast [au lieu de 12] ModUi/&FixRingOfRegenerationHealRate=Réglez la fréquence de soin de l'Anneau de régénération à 1 HP toutes les 3 minutes ModUi/&FlightSuspendWingedBoots=+ Règles officielles d'utilisation des bottes ailées [la durée restante n'est pas comptabilisée lorsque le vol est suspendu] +ModUi/&ForceModSpeechOnNpcs=+ Forcer l'attribution automatique de la voix sur tous les PNJ au lieu du mappage de campagne ModUi/&Formation=Formation : ModUi/&FormationError=Vous ne pouvez pas changer de formation pendant une partie multijoueur... ModUi/&FormationHelp1=• Utilisez les touches numériques pour modifier un ensemble donné [pensez à activer les raccourcis clavier lors de la saisie] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Activez l'incantation rapide sensibilité à la lumière sur Darkelf, Dark Kobold et Gray Dwarf pour qu'elle ne se déclenche qu'à l'extérieur\n[les zones intérieures dans les emplacements extérieurs accessibles sans écran de chargement sont considérées comme extérieures par le moteur de jeu] ModUi/&Races=Les courses ModUi/&RecipeCost=Coût de la recette +ModUi/&RefreshVoice=Actualiser la liste des voix ModUi/&RelicForgeries=Contrefaçons de reliques ModUi/&RemoveAttunementRequirements=Supprimer les exigences d'harmonisation [Nécessite un redémarrage] ModUi/&RemoveBardMagicalSecretAt14And18=Supprimez le secret magique aux niveaux 14 et 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Afficher l'icône de l'objet fabriqué à cô ModUi/&ShowCraftingRecipeInDetailedTooltips=Afficher la recette d'artisanat dans des infobulles détaillées ModUi/&ShowDescriptions=Afficher les descriptions ModUi/&ShowMotionFormPreview=Afficher l'aperçu des effets Push et Pull +ModUi/&SpeechScale=Modificateur de vitesse de narration [plus bas est plus rapide] ModUi/&SpellLevelFilter=filtre de niveau d'orthographe [-1 affiche tout] ModUi/&SpellsMenu=Sorts ModUi/&StealthBreaksWhenAttackHits=Activer la perte de furtivité lorsque l'attaque d'arme ou de sort touche @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Total des exploit ModUi/&Translate=Traduire ModUi/&TranslateCancel=Annuler {0} à {1} ModUi/&Translations=Traductions : +ModUi/&UnityExplorer=Interface utilisateur d'Unity Explorer ModUi/&UnleashEnemyAsNpc=Autoriser la sélection des monstres sur les gadgets PNJ ModUi/&UnleashNpcAsEnemy=Débloquer la sélection de monstres ModUi/&Update=Mise à jour diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt index cbdfb2e164..124e002a8e 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Cantrips-fr.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Lame de Flamme Verte ! Feedback/&AdditionalDamageResonatingStrikeLine={0} brûle {1} avec la Lame de Flamme Verte ! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Lame ensoleillée ! Feedback/&AdditionalDamageSunlightBladeLine={0} illumine {1} avec Sunlit Blade ! (+{2}) -Feedback/&Within5Ft=5 pieds -Feedback/&WithinReach=Atteindre Proxy/&ProxyCreateBonfireTitle=Feu Spell/&AcidClawsDescription=Vos ongles s'aiguisent, prêts à délivrer une attaque corrosive. Lancez une attaque de sort au corps à corps contre une créature à 1,50 m de vous. En cas de succès, la cible subit 1d8 dégâts d'acide et voit sa CA diminuée de 1 pendant 1 round (non cumulable). Spell/&AcidClawsTitle=Griffes acides diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt index d3e603fcb6..f70a5e670a 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells01-fr.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} frappe rapidement {1} (+{2}) Feedback/&AdditionalDamageThunderousSmiteFormat=Frappe tonitruante ! Feedback/&AdditionalDamageThunderousSmiteLine={0} inflige plus de dégâts à {1} grâce à un coup tonitruant (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=Frappe courroucée ! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} inflige plus de dégâts à {1} grâce à un coup furieux (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} inflige plus de dégâts à {1} grâce à un coup courroucé (+{2}) Feedback/&ChaosBoltGainLeap={0} peut cibler un ennemi supplémentaire avec une puissance de saut de {1} Feedback/&ChaosBoltRandomChoice={0} laisse {1} se manifester aléatoirement comme {2} Feedback/&ChaosBoltRolledDifferentDice={0} a obtenu un {2} et un {3} sur {1} D8 dés de dégâts. Feedback/&ChaosBoltRolledEqualDice={0} a obtenu un {2} sur les deux {1} dés de dégâts D8. Feedback/&FeatureGiftOfAlacrityLine={0} déclenche {1} et ajoute {2} à l'initiative +Feedback/&Within5Ft=5 pieds +Feedback/&WithinReach=Atteindre Monster/&OwlFamiliarDescription=Familier du hibou. Monster/&OwlFamiliarTitle=Familier du hibou Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Choisissez un type de dégâts. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Augmente considérablement la gravité dans une Spell/&MagnifyGravityTitle=Magnifier la gravité Spell/&MuleDescription=Le destinataire de ce sort peut ignorer les effets des charges lourdes ou de l'armure sur la vitesse de déplacement. Il peut également porter un poids légèrement supérieur. Spell/&MuleTitle=Mule +Spell/&ProtectionFromEvilGoodTitle=Protéger contre le mal et le bien Spell/&RadiantMotesDescription=Libère un essaim de 4 projectiles radiants qui infligent chacun 1d4 dégâts radiants.\nLorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 2 ou supérieur, le sort crée 1 projectile supplémentaire pour chaque emplacement au-dessus du 1er. Spell/&RadiantMotesTitle=Poussières rayonnantes +Spell/&RayOfSicknessDescription=Vous tirez un rayon verdâtre sur une créature à portée. Lancez une attaque de sort à distance contre la cible. En cas de succès, la cible subit 2d8 dégâts de poison et est empoisonnée jusqu'à la fin de votre prochain tour. Les dégâts augmentent de 1d8 pour chaque niveau d'emplacement de sort au-dessus de 1. +Spell/&RayOfSicknessTitle=Rayon de la maladie Spell/&SanctuaryDescription=Vous protégez une créature à portée contre les attaques. Jusqu'à la fin du sort, toute créature qui cible la créature protégée avec une attaque ou un sort nuisible doit d'abord effectuer un jet de sauvegarde de Sagesse. En cas d'échec, la créature perd l'attaque ou le sort. Ce sort ne protège pas la créature protégée des effets de zone. Si la créature protégée effectue une attaque ou lance un sort, ce sort prend fin. Spell/&SearingSmiteDescription=Lors de votre prochain coup, votre arme s'embrase d'une intensité blanche et l'attaque inflige 1d6 points de dégâts de feu supplémentaires à la cible et provoque l'embrasement de celle-ci.\nAu début de chacun de ses tours, la cible doit réussir un jet de sauvegarde de Constitution pour arrêter de brûler, ou subir 1d6 points de dégâts de feu.\nNiveaux supérieurs : pour chaque niveau d'emplacement supérieur au 1er, les dégâts supplémentaires initiaux infligés par l'attaque augmentent de 1d6. Spell/&SearingSmiteTitle=Frappe brûlante @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Vous invoquez le pouvoir des forces malveillantes. D 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 de foudre soutenu entre vous et la cible. Lancez une attaque de sort à distance contre cette créature. En cas de succès, la cible subit 1d12 dégâts de foudre et, à chacun de vos tours pendant la durée du sort, 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 augmentent de 1d12 pour chaque niveau d'emplacement au-dessus du niveau 1. Spell/&WitchBoltTitle=Boulon de sorcière -Spell/&WrathfulSmiteDescription=La prochaine fois que vous touchez avec une arme de mêlée pendant la durée de ce sort, votre attaque inflige 1d6 dégâts psychiques supplémentaires. De plus, si la cible est une créature, elle doit réussir un jet de sauvegarde de Sagesse ou avoir peur de vous jusqu'à la fin du sort. En tant qu'action, la créature peut réussir un jet de Sagesse contre le DD de sauvegarde de votre sort pour renforcer sa détermination et mettre fin à ce sort. +Spell/&WrathfulSmiteDescription=La cible subit 1d6 dégâts nécrotiques supplémentaires suite à l'attaque, et elle doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayée jusqu'à ce que le sort se termine. À la fin de chacun de ses tours, la cible Effrayée répète le jet de sauvegarde, mettant fin au sort sur elle-même en cas de réussite. Les dégâts augmentent de 1d6 pour chaque niveau d'emplacement de sort au-dessus de 1. Spell/&WrathfulSmiteTitle=Coup de colère Tooltip/&TagDamagePureTitle=Dégâts chaotiques diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt index 5388f5280c..2f36131812 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells02-fr.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Faites éclater un cube lumineux qui aveugle brièv Spell/&ColorBurstTitle=Explosion de couleurs Spell/&KineticJauntDescription=Vous renforcez magiquement vos mouvements avec des pas de danse, vous offrant les avantages suivants pendant la durée :\n• Votre vitesse de marche augmente de 3 mètres.\n• Vous ne provoquez pas d'attaques d'opportunité.\n• Vous pouvez vous déplacer dans l'espace de n'importe quelle créature. Spell/&KineticJauntTitle=Balade cinétique -Spell/&MirrorImageDescription=Trois copies 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 plutôt l'une de vos copies.\nSi vous avez 3 copies, vous devez obtenir un 6 ou plus pour changer la cible de l'attaque en une copie. Avec 2 copies, vous devez obtenir un 8 ou plus. Avec 1 copie, vous devez obtenir un 11 ou plus.\nLa CA d'une copie est égale à 10 + votre modificateur de Dextérité. Si une attaque touche une copie, la copie est détruite. Une copie ne peut être détruite que par une attaque qui la touche. Elle ignore tous les autres dégâts et effets. Le sort se termine lorsque les trois copies sont détruites.\nUne créature n'est pas affectée par ce sort si elle est Aveuglée, ou si elle a Vision aveugle, Vision vraie ou Sens des tremblements (ne s'applique pas si vous ne touchez pas le sol). +Spell/&MirrorImageDescription=Trois copies illusoires de vous-même apparaissent dans votre espace. Jusqu'à la fin du sort, les copies se déplacent avec vous et imitent vos actions, changeant de position de sorte qu'il est impossible de savoir quelle image est réelle. Chaque fois qu'une créature vous touche avec un jet d'attaque pendant la durée du sort, lancez un d6 pour chacune de vos copies restantes. Si l'un des d6 obtient un 3 ou plus, l'une des copies est touchée à votre place et la copie est détruite. Les copies ignorent par ailleurs tous les autres dégâts et effets. Le sort se termine lorsque les trois copies sont détruites. Une créature n'est pas affectée par ce sort si elle a l'état Aveuglement, Vision aveugle ou Vision vraie. Spell/&MirrorImageTitle=Image miroir Spell/&NoxiousSprayDescription=Vous libérez un jet de gaz nocif sur une cible à portée. Lancez une attaque à distance avec un sort. En cas de succès, 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 à s'envoler, incapable de se déplacer ou d'entreprendre des actions. Les créatures artificielles, 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 niveau 2. Spell/&NoxiousSprayTitle=Spray nocif diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt index 2d8638f923..8aa0d72d1a 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells03-fr.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Vous créez le visage d'un énorme serpent vert qui Spell/&AdderFangsTitle=Les crocs de la vipère Spell/&AshardalonStrideDescription=Les flammes tourbillonnantes d'un dragon jaillissent de vos pieds, vous conférant une vitesse explosive. Pendant la durée du sort, votre vitesse augmente de 6 mètres et les déplacements ne provoquent pas d'attaques d'opportunité. Lorsque vous vous déplacez à moins de 1,5 mètre d'une créature, celle-ci subit 1d6 dégâts de feu de votre traînée de chaleur. Une créature ne peut subir ces dégâts qu'une seule fois par tour. Lorsque vous lancez ce sort en utilisant un emplacement de sort de niveau 4 ou supérieur, augmentez votre vitesse de 1,5 mètre pour chaque niveau d'emplacement de sort au-dessus de 3. Le sort inflige 1d6 dégâts de feu supplémentaires pour chaque niveau d'emplacement au-dessus de 3. Spell/&AshardalonStrideTitle=La foulée d'Ashardalon -Spell/&AuraOfLifeDescription=L'énergie de guérison 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. Vous pouvez utiliser une action bonus pour faire qu'une créature dans l'aura (y compris vous) récupère 2d6 points de vie. +Spell/&AuraOfLifeDescription=L'énergie de guérison rayonne de vous dans une aura d'un rayon de 9 mètres. Lorsque vous créez l'aura et pendant chacun de vos tours suivants tant qu'elle persiste, vous pouvez restaurer 2d6 points de vie à une créature qui s'y trouve en tant qu'action libre. Spell/&AuraOfLifeTitle=Aura de vitalité Spell/&BlindingSmiteDescription=La prochaine fois que vous touchez une créature avec une attaque d'arme de mêlée pendant la durée de ce sort, votre arme s'illumine d'une lumière vive et l'attaque inflige 3d8 dégâts radiants supplémentaires à la cible. De plus, la cible doit réussir un jet de sauvegarde de Constitution ou être aveuglée jusqu'à la fin du sort. Une créature aveuglée par ce sort effectue un autre jet de sauvegarde de Constitution à la fin de chacun de ses tours. En cas de réussite, elle n'est plus aveuglée. Spell/&BlindingSmiteTitle=Frappe aveuglante @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=Vous vous téléportez dans un espace inoccupé qu Spell/&BoomingStepTitle=Pas de tonnerre Spell/&CorruptingBoltDescription=Vous pouvez lancer une impulsion d'énergie nécrotique qui provoque le flétrissement et la décomposition du corps d'une créature. Lancez une attaque à distance contre une créature. En cas de succès, la cible subit 4d8 dégâts nécrotiques et doit réussir un jet de sauvegarde de Constitution. En cas d'échec, la prochaine fois que vous ou un de vos alliés attaquez la créature corrompue avant la fin de votre prochain tour, la créature est vulnérable à tous les dégâts de cette attaque, puis la corruption prend 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=Éclair corrompu -Spell/&CrusadersMantleDescription=Entourez-vous d'une aura magique. Les alliés dans l'aura gagnent 1d4 points de dégâts radiants supplémentaires sur leurs attaques. +Spell/&CrusadersMantleDescription=Votre pouvoir sacré rayonne dans une aura d'un rayon de 9 mètres, éveillant l'audace chez les créatures amies. Jusqu'à la fin du sort, l'aura se déplace avec vous, centrée sur vous. Tant que vous êtes dans l'aura, chaque créature non hostile (y compris vous) inflige 1d4 points de dégâts radiants supplémentaires lorsqu'elle touche avec une attaque. Spell/&CrusadersMantleTitle=Manteau du croisé Spell/&ElementalWeaponDamageAcidDescription=Imprègne une arme non magique de dégâts acides. Spell/&ElementalWeaponDamageAcidTitle=Arme élémentaire acide diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt index e669c4bf46..26832ebc07 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells05-fr.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Un petit orbe de la même couleur que le ballon util Spell/&SonicBoomTitle=Détonation supersonique Spell/&SteelWhirlwindDescription=Vous brandissez l'arme utilisée pour l'incantation, puis disparaissez pour frapper comme le vent. Choisissez jusqu'à cinq créatures que vous pouvez voir à portée. Lancez une attaque de sort au corps à corps contre chaque cible. En cas de succès, la cible subit 6d10 dégâts de force. Vous pouvez ensuite vous téléporter dans un espace inoccupé que vous pouvez voir à 1,50 mètre ou moins de l'une des cibles que vous avez touchées ou manquées. Spell/&SteelWhirlwindTitle=Grève du vent en acier -Spell/&SwiftQuiverDescription=Vous transmutez votre carquois de manière à ce que les munitions sautent automatiquement dans votre main lorsque vous les attrapez. À chacun de vos tours jusqu'à la fin du sort, vous pouvez utiliser une action bonus pour effectuer deux attaques avec une arme à distance. +Spell/&SwiftQuiverDescription=Lorsque vous lancez le sort et en tant qu'action bonus jusqu'à ce qu'il se termine, vous pouvez effectuer deux attaques avec une arme qui tire des flèches ou des carreaux, comme un arc long ou une arbalète légère. Le sort crée magiquement les munitions nécessaires à chaque attaque. Chaque flèche ou carreau créé par le sort inflige des dégâts comme une munition non magique de son genre et se désintègre immédiatement après avoir touché ou raté sa cible. Spell/&SwiftQuiverTitle=Carquois rapide Spell/&SynapticStaticDescription=Vous choisissez un point à portée et faites exploser de l'énergie psychique à cet endroit. Chaque créature dans une sphère de 6 mètres de rayon centrée sur ce point doit effectuer un jet de sauvegarde d'Intelligence. Une cible subit 8d6 dégâts psychiques en cas d'échec, ou la moitié de ces dégâts en cas de réussite. Après un échec, une cible a les pensées embrouillées pendant 1 minute. Pendant ce temps, elle lance un d6 et soustrait le résultat obtenu de tous ses jets d'attaque et de caractéristique. La cible peut effectuer un jet de sauvegarde d'Intelligence à la fin de chacun de ses tours, mettant fin à l'effet sur elle-même en cas de réussite. Spell/&SynapticStaticTitle=Statique synaptique diff --git a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt index 53a11d5622..4439db6578 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Spells/Spells09-fr.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Des orbes de feu ardents s'écrasent a 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, empoisonnée ou étourdie, l'état 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 créatures artificielles. Spell/&PowerWordHealTitle=Guérison par mot de pouvoir -Spell/&PowerWordKillDescription=Vous prononcez un mot puissant qui peut contraindre une créature visible à portée à 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/&PowerWordKillDescription=Vous obligez une créature visible à portée à mourir. Si la cible a 100 points de vie ou moins, elle meurt. Sinon, elle subit 12d12 dégâts psychiques. Spell/&PowerWordKillTitle=Mot de pouvoir tuer Spell/&PsychicScreamDescription=Vous libérez le pouvoir de votre esprit pour détruire l'intellect d'un maximum de dix créatures de votre choix que vous pouvez voir à portée. Chaque cible doit réussir un jet de sauvegarde d'Intelligence. En cas d'échec, la cible subit 14d6 dégâts psychiques et est étourdie pendant 1 minute. En cas de réussite, la cible subit la moitié de ces dégâts et n'est pas étourdie. Une cible étourdie peut effectuer un jet de sauvegarde d'Intelligence à la fin de chacun de ses tours. En cas de réussite, l'effet d'étourdissement prend fin. Spell/&PsychicScreamTitle=Cri psychique @@ -25,5 +25,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 le cours du temps pour tout le monde sauf vous-même. Aucun temps ne s'écoule pour les autres créatures, tandis que vous effectuez 1d4+1 tours consécutifs, pendant lesquels vous pouvez utiliser des actions et vous déplacer normalement. Ce sort prend fin si l'une des actions que vous utilisez pendant cette période, ou l'un des effets que vous créez pendant cette période, affecte une créature autre que vous. Spell/&TimeStopTitle=Arrêt du temps -Spell/&WeirdDescription=En puisant dans 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 réussir un jet de sauvegarde de Sagesse. En cas d'échec, la créature est effrayée pendant toute la durée du sort. L'illusion fait appel aux peurs les plus profondes de la créature, manifestant ses pires cauchemars sous la forme d'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 réussite, le sort prend fin pour cette créature. +Spell/&WeirdDescription=Vous essayez de créer des terreurs illusoires dans l'esprit des autres. Chaque créature de votre choix dans une sphère de 9 mètres de rayon centrée sur un point à portée effectue un jet de sauvegarde de Sagesse. En cas d'échec, la cible subit 10d10 dégâts psychiques et est effrayée pendant toute la durée du sort. En cas de réussite, la cible subit la moitié de ces dégâts. Une cible effrayée effectue un jet de sauvegarde de Sagesse à la fin de chacun de ses tours. En cas d'échec, elle subit 5d10 dégâts psychiques. En cas de réussite, le sort se termine sur cette cible. Spell/&WeirdTitle=Bizarre diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt index fcbb304cf7..5799e96cae 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/CircleOfTheAncientForest-fr.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=Vous disposez d'une réserve de p Feature/&PowerAncientForestRegrowthTitle=Repousse Feature/&PowerAncientForestRootedDescription=Des vrilles arboricoles poussent à partir de vos pieds et s'enfoncent dans le sol. Votre vitesse devient 0 et vous bénéficiez d'un avantage sur tous les jets de sauvegarde pour vous pousser, vous tirer ou vous mettre à terre. Vous pouvez lancer Enchevêtrement à volonté. Feature/&PowerAncientForestRootedTitle=Enraciné -Feature/&PowerPoolAncientForestHerbalBrewDescription=Vous pouvez créer des infusions à base de plantes, chacune d'entre elles restant active jusqu'au prochain repos long. Vous créez un nombre total d'infusions égal à votre bonus de maîtrise. Pour chaque infusion, choisissez l'un des effets suivants :\nInfusion fortifiante : confère une résistance à différents types de dégâts pendant 1 heure.\nInfusion vivifiante : confère 2d4 points de vie.\nInfusion toxique : agit comme un poison qui peut être appliqué à une arme et dure 1 minute. Si le coup est porté, la cible subit 1d4 dégâts de poison à chaque coup. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Vous pouvez créer des infusions à base de plantes, chacune d'entre elles restant active jusqu'au prochain repos long. Vous créez un nombre total d'infusions égal à votre bonus de maîtrise. Pour chaque infusion, choisissez l'un des effets suivants :\nInfusion fortifiante : confère une résistance à différents types de dégâts pendant 1 heure.\nInfusion vivifiante : confère 2d4 points de vie.\nInfusion toxique : agit comme un poison qui peut être appliqué à une arme et dure 1 minute. Si le coup est porté, la cible subit 1d4 dégâts de poison à chaque coup. Feature/&PowerPoolAncientForestHerbalBrewTitle=Infusion à base de plantes Feature/&PowerPoolAncientForestWallOfThornsDescription=Vous pouvez lancer Mur d'épines un nombre de fois égal à votre modificateur de Sagesse. Il se recharge lors de longs repos. Feature/&PowerPoolAncientForestWallOfThornsTitle=Mur d'épines diff --git a/SolastaUnfinishedBusiness/Translations/it/FightingStyles-it.txt b/SolastaUnfinishedBusiness/Translations/it/FightingStyles-it.txt index c1610cbe42..6a2be8acc4 100644 --- a/SolastaUnfinishedBusiness/Translations/it/FightingStyles-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/FightingStyles-it.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Esecuzione! Feedback/&AdditionalDamageExecutionerLine={0} esegue {1} per +{2} danni extra! FightingStyle/&AstralReachDescription=La tua portata senza armi aumenta di 1,5 metri se entrambe le tue mani sono libere. FightingStyle/&AstralReachTitle=Raggiungimento astrale +FightingStyle/&BlessedWarriorDescription=Impari due trucchetti a tua scelta dalla lista degli incantesimi del Chierico. Contano come incantesimi del Paladino per te, e Carisma è la tua abilità di lancio di incantesimi per loro. +FightingStyle/&BlessedWarriorTitle=Guerriero Benedetto FightingStyle/&BlindFightingDescription=Hai una vista cieca con una gittata di 10 piedi. Entro quella gittata, puoi vedere efficacemente qualsiasi cosa che non sia dietro una copertura totale, anche se sei accecato o al buio. Inoltre, puoi vedere una creatura invisibile entro quella gittata, a meno che la creatura non si nasconda con successo da te. FightingStyle/&BlindFightingTitle=Combattimento cieco FightingStyle/&CripplingDescription=Riduci la velocità dei tuoi avversari di 3 metri fino alla fine del tuo turno successivo in caso di attacco in mischia. FightingStyle/&CripplingTitle=Paralizzante +FightingStyle/&DruidicWarriorDescription=Impari due trucchetti a tua scelta dalla lista degli incantesimi del Druido. Contano come incantesimi del Ranger per te, e la Saggezza è la tua abilità di lancio di incantesimi per loro. +FightingStyle/&DruidicWarriorTitle=Guerriero druidico FightingStyle/&ExecutionerDescription=Aggiungi il tuo bonus di competenza ai danni contro creature accecate, spaventate, trattenute, inabili, paralizzate, prone o stordite. FightingStyle/&ExecutionerTitle=Boia FightingStyle/&HandAndAHalfDescription=Ottieni un bonus di +1 ai tuoi tiri per colpire e un bonus di +1 alla tua CA quando impugni un'arma da mischia a una mano o versatile e nessun'altra arma o scudo. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} ha attaccato uno dei tuoi alleat Reaction/&ReactionAttackSentinelReactDescription=Utilizzare la reazione per attaccare. Reaction/&ReactionAttackSentinelReactTitle=Attacco Reaction/&ReactionAttackSentinelTitle=Sentinella +Tag/&BlessedWarriorCantripSpecialTagTitle=Trucchetti del Guerriero Benedetto +Tag/&DruidicWarriorCantripSpecialTagTitle=Trucchetti del Guerriero Druidico diff --git a/SolastaUnfinishedBusiness/Translations/it/Invocations-it.txt b/SolastaUnfinishedBusiness/Translations/it/Invocations-it.txt index dc2466c30e..63d68754a8 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Invocations-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Invocations-it.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=Come azione bonus, puoi Feature/&PowerInvocationPerniciousCloakRemoveTitle=Rimuovi il mantello delle mosche Feedback/&AdditionalDamageEldritchSmiteFormat=Colpo soprannaturale! Feedback/&AdditionalDamageEldritchSmiteLine={0} colpisce {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Ottieni effetti aggiuntivi quando legato a una creatura. Quando legato a Imp ottieni maggiore invisibilità, quando legato a Pseudo Drago ottieni volo e attacchi intrisi di veleno, quando legato a Quasit ottieni un'azione principale aggiuntiva e vantaggio sui tiri salvezza su Destrezza e quando legato a Sprite ottieni un punteggio CA di almeno 16 e gli attaccanti hanno svantaggio contro di te. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Ottieni effetti aggiuntivi quando legato a una creatura. Quando legato a Imp ottieni maggiore invisibilità, quando legato a Pseudo Drago ottieni volo e attacchi intrisi di veleno, quando legato a Quasit ottieni un attacco aggiuntivo e vantaggio sui tiri salvezza su Destrezza e quando legato a Sprite ottieni un punteggio CA di almeno 16 e gli attaccanti hanno svantaggio contro di te. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Abilità del Maestro della Catena Invocation/&InvocationAspectOfTheMoonDescription=Non hai più bisogno di dormire e puoi fare la guardia, riducendo le possibilità di attacchi e assicurandoti di restare sveglio se l'accampamento viene attaccato. Invocation/&InvocationAspectOfTheMoonTitle=Aspetto della Luna diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index ad3cb2bafb..c61cc9de54 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Stregoneria innata Condition/&ConditionStaggeringBlowAoODescription=Non puoi effettuare Attacchi di Opportunità prima dell'inizio del tuo prossimo turno. Condition/&ConditionStaggeringBlowAoOTitle=Colpo sconcertante Condition/&ConditionStopMovementTitle=Fermato +Condition/&ConditionStudiedAttacksDescription=La fonte ha un vantaggio sul prossimo attacco contro di te +Condition/&ConditionStudiedAttacksTitle=Attacchi studiati Condition/&ConditionTauntedDescription=Hai svantaggio nei tiri per colpire contro creature diverse dallo schernitore. Condition/&ConditionTauntedTitle=Schernito Condition/&FlightSuspendDescription=L'effetto volo in corso è stato sospeso @@ -75,13 +77,13 @@ ContentPack/&9999Description=L'Unfinished Business Pack è un vero e proprio Cor ContentPack/&9999Title=Pacchetto Affari Incompiuti Equipment/&BeltOfRegeneration_Function_Description=Rigenera 5 punti ferita a round per un minuto. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=I tuoi attacchi infliggono un colpo critico con un risultato di 18, 19 o 20 mentre impugni quest'arma e sei in sintonia con essa. +Failure/&CannotAttackTarget=Non è possibile eseguire l'attacco su questo bersaglio Failure/&FailureFlagCannotTargetUndead=Non può prendere di mira le creature non morte Failure/&FailureFlagMaterialComponentHandsFull=Non c'è mano libera per usare componenti materiali per incantesimi. Failure/&FailureFlagMustKnowLanguage=Devi essere competente nella lingua {0} per comandare questa creatura Failure/&FailureFlagTargetMustNotBeSurprised=Il bersaglio non deve essere sorpreso Failure/&FailureFlagTargetMustUnderstandYou=Il bersaglio deve capire il tuo comando Failure/&SecondTargetNotWithinRange=Impossibile selezionare questo bersaglio perché non è nel raggio del primo -Failure/&TargetMeleeWeaponError=Non è possibile eseguire un attacco corpo a corpo su questo bersaglio poiché non si trova entro {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=Il bersaglio non deve essere più grande di una taglia Failure/&TargetMustHaveHolyWeapon=Il bersaglio deve avere un'arma sacra Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Hai Vantaggio nelle prove di Saggezza (Percezione) quando sei al buio o nell'oscurità magica. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Quando tiri per l'Iniziat Feature/&FeatureBardSuperiorInspiration2024Title=Ispirazione superiore Feature/&FeatureEldritchMasterDescription=Quando utilizzi la tua caratteristica Astuzia Magica, recuperi tutti gli slot incantesimo Magia del Patto spesi. Feature/&FeatureEldritchMasterTitle=Maestro Eldritch +Feature/&FeatureFighterStudiedAttacksDescription=Studi i tuoi avversari e impari da ogni attacco che fai. Se fai un tiro di attacco contro una creatura e fallisci, hai Vantaggio sul tuo prossimo tiro di attacco contro quella creatura prima della fine del tuo prossimo turno. +Feature/&FeatureFighterStudiedAttacksTitle=Attacchi studiati +Feature/&FeatureFighterTacticalMindDescription=Hai una mente per le tattiche e per avere la meglio dentro e fuori dal campo di battaglia. Quando fallisci una prova di abilità, puoi spendere un uso del tuo Secondo Vento per spingerti verso il successo. Invece di recuperare Punti Ferita, tiri 1d10 e aggiungi il numero ottenuto alla prova di abilità, trasformandolo potenzialmente in un successo. Se la prova fallisce ancora, questo uso di Secondo Vento non viene speso. +Feature/&FeatureFighterTacticalMindTitle=Mente tattica +Feature/&FeatureFighterTacticalShiftDescription=Ogni volta che attivi il tuo Secondo Vento con un'Azione Bonus, puoi muoverti fino alla metà della tua Velocità senza provocare Attacchi di Opportunità. +Feature/&FeatureFighterTacticalShiftTitle=Cambiamento tattico +Feature/&FeatureImprovedRogueCunningStrikeDescription=Puoi usare fino a due effetti Colpo astuto quando infliggi danni da Attacco furtivo, pagando il costo del dado per ogni effetto. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Colpo astuto migliorato Feature/&FeatureMonkBodyAndMindDescription=Hai affinato il tuo corpo e la tua mente a nuove vette. 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. La tua Raffica di Colpi, Difesa Paziente e Passo del Vento ottengono i seguenti benefici:\n• Raffica di Colpi: quando usi Raffica di Colpi, esegui tre Colpi Senz'Armi invece di due.\n• Difesa Paziente: quando usi Difesa Paziente, ottieni un numero di punti ferita temporanei pari a due tiri del tuo dado Arti Marziali.\n• Passo del Vento: quando usi una delle caratteristiche di Passo del Vento (Disimpegno o Scatto), ottieni anche i benefici dell'altro effetto. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Ordine primordiale Feature/&FeatureSetDruidPrimalOrderWardenDescription=Una volta addestrato per la battaglia, acquisisci competenza nell'uso delle armi da guerra e ti alleni con le armature medie. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Guardiano Feature/&FeatureSetRageExtendedDescription=In battaglia, combatti con ferocia primordiale. Nel tuo turno, puoi entrare in ira come azione bonus. Ciò ti garantisce un vantaggio sui tiri salvezza e sulle prove di forza, un bonus iniziale di +2 ai danni da attacco in mischia e resistenza ai danni taglienti, contundenti e perforanti. Ottieni questi benefici solo se non indossi un'armatura pesante. Dura 1 minuto o termina se non hai attaccato o subito danni dal tuo ultimo turno. \n Inizi con 2 ira, rinnovate dopo un lungo riposo. Al livello 7, recuperi un punto ira dopo un breve riposo. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Se non hai più possibilità di usare la Stregoneria Innata, puoi usarla spendendo 2 Punti Stregoneria quando esegui l'Azione Bonus per attivarla. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=Stregoneria incarnata +Feature/&FeatureSorcererArcaneApotheosisDescription=Finché la tua caratteristica Stregoneria Innata è attiva, puoi usare un'opzione Metamagia in ognuno dei tuoi turni senza spendere Punti Stregoneria. +Feature/&FeatureSorcererArcaneApotheosisTitle=Apoteosi Arcana Feature/&FeatureSorcererMagicalGuidanceDescription=Puoi attingere alla tua fonte interiore di magia per provare a evocare il successo dal fallimento. Quando fai una prova di abilità che fallisce, puoi spendere 1 punto stregoneria per rilanciare il d20 e devi usare il nuovo tiro, trasformando potenzialmente il fallimento in un successo. Feature/&FeatureSorcererMagicalGuidanceTitle=Guida magica +Feature/&FeatureWizardMemorizeSpellDescription=Ogni volta che completi un Riposo Breve, puoi studiare il tuo libro degli incantesimi e sostituire uno degli incantesimi da Mago di livello 1+ che hai preparato per la tua caratteristica di Lancio di Incantesimi con un altro incantesimo di livello 1+ dal libro. +Feature/&FeatureWizardMemorizeSpellTitle=Memorizzare l'incantesimo Feature/&FighterExtraAttackDescription=Quando utilizzi le azioni di attacco o di spinta puoi attaccare due volte anziché una volta. Feature/&FlightResumeDescription=Riprende l'effetto di volo sospeso Feature/&FlightResumeTitle=Riprendi il volo @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Scegli uno di questi strumenti: {1} Feature/&VisionBlindsightDescription=Hai la vista cieca. Feedback/&AdditionalDamageBrutalStrikeFormat=Colpo brutale Feedback/&AdditionalDamageBrutalStrikeLine=Colpo Brutale infligge +{2} danni extra! +Feedback/&AdditionalDamageCrusadersMantleFormat=Il mantello del crociato! +Feedback/&AdditionalDamageCrusadersMantleLine={0} colpisce {1} e infligge {2} danni radianti extra! Feedback/&AdditionalDamageSunderingBlowFormat=Colpo dirompente Feedback/&AdditionalDamageSunderingBlowLine=Colpo dirompente infligge +{2} danni extra! Feedback/&AdditionalDamageTrueStrikeFormat=Vero colpo! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} tira una scelta narrativa {1} con un risultato Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=Non è possibile utilizzare la potenza di identificazione dopo il riposo durante il viaggio Feedback/&ReturningWeaponActivates={1} ritorna a {0}! Feedback/&SmallRace=Piccola razza +Feedback/&TacticalMindCheckToHitRoll={0} ha utilizzato {1} e aggiunge {2} al controllo +Feedback/&TacticalMindCheckToHitRollFailure={0} ha usato {1}, aggiunge {2} al tiro di controllo, ma non abbastanza per cambiare il risultato +Feedback/&TacticalMindCheckToHitRollSuccess={0} ha usato {1}, aggiunge {2} al tiro di controllo, cambia il risultato e consuma Secondo Vento Feedback/&TriggerFeatureLine={0} innesca {1} Feedback/&TriggerRerollLine={0} attiva {1} per rilanciare {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} ha la Vista Vera e non è influenzato da questo incantesimo @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Hai fallito un tiro di c Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Tira un d20 per sostituire il tiro di controllo. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Guida magica Reaction/&CustomReactionMagicalGuidanceCheckTitle=Guida magica +Reaction/&CustomReactionTacticalMindCheckDescription=Hai fallito un tiro di controllo. Puoi spendere 1 secondo di uso del vento per tirare un d10 e aggiungere il risultato al tiro di controllo. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Tira un d10 per aggiungere il risultato al tiro di controllo. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Mente tattica +Reaction/&CustomReactionTacticalMindCheckTitle=Mente tattica Reaction/&ReactionSpendPowerBundleDescription=Spendi potere. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=È possibile applicare un effetto aggiuntivo. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Applica un effetto aggiuntivo. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Accensione automatica Rules/&ActivationTypeOnRageStartAutomaticTitle=Avvio automatico della rabbia Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Creatura automatica ridotta a zero HP Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Attacco furtivo automatico +Rules/&ConditionMarkedByHunterExtendedDescription=Subisce +1d6 danni da forza quando viene colpito dall'incantatore con un attacco con arma. Rules/&ConditionOneDndBarkskinDescription=La Classe Armatura della creatura diventa almeno 17. Rules/&ConditionStoneskinExtendedDescription=Resistenza ai danni contundenti, taglienti e perforanti. Rules/&CounterFormDismissCreatureFormat=Congeda una creatura bersaglio evocata @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=Si sta concentrando sull'incantesimo: Rules/&SituationalContext9018Format=L'effetto è la fonte: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupera punti stregoneria fino alla metà del tuo livello da stregone, arrotondato per difetto Rules/&TurnOccurenceEndOfSourceTurnFormat=Fine della sorgente di svolta +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Puoi eseguire azioni di inventario illimitate per round. Screen/&ClassExtraSpellDescriptionFormat=Conosci questo incantesimo dalla classe {0}. Screen/&EditorLocationSize3Title=Enorme [MODIFICATO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICATO] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=Conosci questo incantesimo da un altro r Screen/&MulticlassExtraSpellTitle=Multiclasse Screen/&PatronExtraSpellDescription=Incantesimi del patrono Screen/&PatronExtraSpellTitle=Patrono +Screen/&PreparePanelMemorizeSpellSelect=Seleziona un incantesimo da preparare. Screen/&RaceExtraSpellDescription=Conosci questo incantesimo dalla tua eredità. Screen/&RaceExtraSpellTitle=Eredità Screen/&RangerSpellDescription=Questo incantesimo ti è stato concesso dal tuo archetipo Ranger ed è considerato noto a te. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=Hai speso {0} slot magia patto e {1} Screen/&SubclassClassExtraSpellDescriptionFormat=Conosci questo incantesimo della sottoclasse {0}. Screen/&SwitchConfigurationDescription=Sostituisci gli oggetti equipaggiati con questa configurazione: {0}.\nSe possibile, tieni premuto CTRL per tenerli nella mano secondaria. Spell/&ConjureElementalInvisibleStalkerTitle=Evoca Elementale [Invisibile Stalker] +Spell/&HuntersMarkExtendedDescription=Un nemico subisce danni da forza aggiuntivi da parte tua e puoi individuarlo facilmente per un periodo di tempo limitato. +Spell/&PowerWordStunExtendedDescription=Sommergi la mente di una creatura che puoi vedere entro il raggio d'azione. Se il bersaglio ha 150 Punti Ferita o meno, ha la condizione Stordito. Altrimenti, la sua Velocità è 0 fino all'inizio del tuo turno successivo. Il bersaglio Stordito effettua un tiro salvezza su Costituzione alla fine di ogni suo turno, terminando la condizione su se stesso in caso di successo. +Spell/&SpareTheDyingExtendedDescription=Scegli una creatura entro il raggio d'azione che abbia 0 Punti Ferita e non sia morta. La creatura diventa Stabile. Il raggio d'azione raddoppia quando raggiungi i livelli 5 (30 piedi), 11 (60 piedi) e 17 (120 piedi). Spell/&StoneskinExtendedDescription=Conferisce resistenza ai danni contundenti, taglienti e perforanti. Spell/&TrueStrike2024Description=Guidato da un lampo di intuizione magica, esegui un attacco con l'arma usata per lanciare l'incantesimo. L'attacco usa la tua capacità di lanciare incantesimi per i tiri di attacco e danno o Forza o Destrezza, a seconda di quale sia più alto. Se l'attacco colpisce, infligge danni Radianti invece del normale tipo di danno dell'arma. L'attacco infligge danni Radianti extra quando raggiungi i livelli 5 (1d6), 11 (2d6) e 17 (3d6). Stage/&IdentityMorphotypeEyeHeader=Stile degli occhi diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 26a43d9720..2398472093 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Versatilità ModUi/&DontEndTurnAfterReady=Non terminare il turno dopo l'azione Pronto [consente un'azione bonus o qualsiasi altra azione principale da altre fonti] ModUi/&DontFollowCharacterInBattle=La telecamera di battaglia non segue quando il personaggio è già sullo schermo ModUi/&DontFollowMargin=+ A meno che l'eroe non sia spento o entro % dal bordo dello schermo +ModUi/&DownloadVoice=Scarica le voci suggerite +ModUi/&DownloadVoiceOngoing=Scaricamento a {0} ModUi/&DungeonMaker=Creatore di Dungeon ModUi/&DungeonMakerBasicHelp=• Queste impostazioni non richiederanno che il giocatore abbia installato questa mod ModUi/&Effects=Effetti @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Abilita un sistema di acquisto epico da 35 punti ModUi/&EnableExtendedProficienciesPanelDisplay=Abilita la visualizzazione del pannello delle competenze estese [Colpi arcani, infusioni, manovre e versatilità]\n[prestazioni ridotte durante l'ispezione del personaggio. Usa a tuo rischio e pericolo] ModUi/&EnableFeatsAtEvenLevels=Abilita la selezione di talenti ai livelli 2, 10 e 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Abilita la selezione di talenti ai livelli 6 e 14 +ModUi/&EnableFighterStudiedAttacks=Abilita Attacchi studiati al livello 13 [vantaggio se l'attacco precedente nel round contro una creatura è fallito] +ModUi/&EnableFighterTacticalProgression=Abilita Mente tattica e Cambio tattico ai livelli 2 e 5 [aumenta gli scenari di seconda ventata] ModUi/&EnableFighterWeaponSpecialization=Abilita Specializzazione nelle armi ai livelli 8 e 16 [ottieni +1 per colpire e per danneggiare ma svantaggio con qualsiasi altro tipo di arma] ModUi/&EnableFlexibleBackgrounds=Abilita sfondi flessibili [seleziona le competenze di abilità e strumenti dagli sfondi] ModUi/&EnableFlexibleRaces=Abilita razze flessibili [assegna punti abilità invece dei valori razziali predefiniti] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Abilita Specializzazione ne ModUi/&EnableMulticlass=Abilita multiclasse [Richiede riavvio] ModUi/&EnableOneDnDPreparedSpellsTables=Abilita tutti i incantatori a usare le nuove tabelle degli incantesimi preparati [Bardo, Chierico, Druido, Paladino, Ranger, Stregone, Mago] ModUi/&EnableOneDndBarkskinSpell=Abilita la versione dell'incantesimo Barkskin 5e 2024 [azione bonus, nessuna concentrazione, CA impostata a 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Abilita Spada Arcana, Cerchio della Morte, Colpo di Fiamma, Tempesta di Ghiaccio e Scherno Vizioso versione incantesimi 5e 2024 [danni migliori] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Abilita Spada Arcana, Cerchio della Morte, Colpo di Fiamma, Tempesta di Ghiaccio, Spruzzo Prismatico e Scherno Vizioso versione incantesimi 5e 2024 [danni migliori] ModUi/&EnableOneDndDivineFavorSpell=Abilita Favore divino versione incantesimo 5e 2024 [nessuna concentrazione] ModUi/&EnableOneDndGuidanceSpell=Abilita la versione dell'incantesimo Guida 5e 2024 [Scegli un'abilità al momento del lancio e ottieni un bonus fino a 1 minuto.] ModUi/&EnableOneDndHealingSpellsUpgrade=Abilita Cura Ferite, Falsa Vita, Parola Guaritrice, Cura Ferite di Massa e Parola Guaritrice di Massa versione incantesimi 5e 2024 [migliore guarigione] +ModUi/&EnableOneDndHideousLaughterSpell=Abilita la versione dell'incantesimo Risata orribile 5e 2024 [+1 bersaglio per upcast] +ModUi/&EnableOneDndHuntersMarkSpell=Abilita Marchio del cacciatore versione incantesimo 5e 2024 [danno da forza] ModUi/&EnableOneDndLesserRestorationSpell=Abilita Restauro Minore versione incantesimo 5e 2024 [azione bonus] ModUi/&EnableOneDndMagicWeaponSpell=Abilita Arma magica versione incantesimo 5e 2024 [azione bonus, nessuna concentrazione, potenziamento potenziamento al 3° e 6° livello incantesimo] -ModUi/&EnableOneDndPowerWordKillSpell=Abilita Parola di potere: Uccidi versione incantesimo 5e 2024 [12d12 danni psichici se sopra i 100 hp] +ModUi/&EnableOneDndPowerWordStunSpell=Abilita Stordimento parola di potere versione incantesimo 5e 2024 [bersaglio fermato per un turno se ha più di 150 hp] +ModUi/&EnableOneDndSpareTheDyingSpell=Abilita Risparmia i morenti versione incantesimo 5e 2024 [il raggio raddoppia ai livelli 5, 11 e 17] +ModUi/&EnableOneDndSpiderClimbSpell=Abilita Spider Climb versione incantesimo 5e 2024 [+1 bersaglio per upcast] ModUi/&EnableOneDndStoneSkinSpell=Abilita Pelle di pietra versione incantesimo 5e 2024 [fornisce anche resistenza a B/P/S magici] ModUi/&EnableOneDndTrueStrikeCantrip=Abilita True Strike versione trucchetto 5e 2024 [Richiede riavvio]\n[l'attacco usa la tua capacità di lanciare incantesimi per il tiro di attacco e il bonus al danno, e danni radianti aggiuntivi dal livello 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Abilita Imposizione delle mani come azione bonus @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incante ModUi/&EnableRelearnSpells=Abilita la selezione di trucchetti o incantesimi già appresi da altre fonti ModUi/&EnableRespecAction=Abilita RESPEC dopo l'azione di riposo [non usare RESPEC durante una sessione multigiocatore] ModUi/&EnableRitualOnAllCasters=Abilita il lancio di Rituale su tutti gli incantatori -ModUi/&EnableRogueCunningStrike=Abilita Colpo astuto e Colpo subdolo ai livelli 5 e 14 [rinuncia a 1 dado di attacco furtivo per effetti di colpo aggiuntivi] +ModUi/&EnableRogueCunningStrike=Abilita Colpo astuto, Colpo astuto migliorato e Colpo subdolo ai livelli 5, 11 e 14 [rinuncia a 1 dado di attacco furtivo per effetti di colpo aggiuntivi] ModUi/&EnableRogueFightingStyle=Abilita la scelta Stile di combattimento al livello 2 +ModUi/&EnableRogueReliableTalentAt7=Abilita Talento affidabile al livello 7 invece che 11 ModUi/&EnableRogueSlipperyMind=Sostituisci Mente Sfuggente con la versione 5e 2024 [oltre alla saggezza, ottieni anche competenza nei tiri salvezza sul Carisma] ModUi/&EnableRogueSteadyAim=Abilita Mira Fissa al livello 3 [l'azione bonus fornisce vantaggio al tuo prossimo tiro di attacco nel turno corrente se non ti sei ancora mosso] ModUi/&EnableRogueStrSaving=Abilita i modificatori DEX o STR di Hoodlum su Colpo astuto/subdolo ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Abilita Second Wind per usare la progressione di utilizzo 5e 2024 ModUi/&EnableSignatureSpellsRelearn=Abilita la preparazione degli incantesimi distintivi a ogni riposo lungo [invece di una volta al livello 20] -ModUi/&EnableSorcererInnateSorceryAt1=Abilita Stregoneria Innata al livello 1 +ModUi/&EnableSorcererArcaneApotheosis=Abilita Apoteosi Arcana a 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Abilita Stregoneria Innata e Stregoneria Incarnata al livello 1 e 7 ModUi/&EnableSorcererMagicalGuidance=Abilita Guida magica al livello 5 ModUi/&EnableSorcererQuickenedAction=Abilita l'azione Incantesimo accelerato per consentire il lancio dell'incantesimo di azione principale con metamagia accelerata applicata -ModUi/&EnableSorcerousRestorationAtLevel5=Abilita Restauro Stregonesco al livello 5 +ModUi/&EnableSorcererSorcerousRestoration=Abilita Restauro Stregonesco al livello 5 ModUi/&EnableSortingDungeonMakerAssets=Abilita l'ordinamento delle risorse nell'editor di Dungeon Maker +ModUi/&EnableSpeech=Abilita la voce nelle campagne personalizzate [solo narrazione ed eroi] +ModUi/&EnableSpeechActorHelp=• Seleziona un attore +ModUi/&EnableSpeechOnNpcs=+ Abilita la parola sui PNG [sia dalla mappatura della campagna che dall'assegnazione automatica] +ModUi/&EnableSpeechVoiceHelp=• Seleziona una voce e una velocità di narrazione ModUi/&EnableStatsOnHeroTooltip=Visualizza le statistiche nel tooltip dell'eroe [ad esempio: colpi critici, fallimenti critici, ecc.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Inoltre ogni eroe aggiunge un tiro di D20 al peso per un po' di casualità [peso della scelta = voti * modificatore del Carisma dell'eroe + tiro di D20] ModUi/&EnableSurprisedToEnforceDisadvantage=Abilita la condizione Sorpreso per imporre lo svantaggio dell'iniziativa invece di saltare un round ModUi/&EnableTeleportToRemoveRestrained=Abilita Teletrasporto per rimuovere tutte le condizioni limitate dal bersaglio ModUi/&EnableTooltipDistance=Abilita la visualizzazione della distanza nei suggerimenti quando passi il mouse sopra un personaggio in combattimento ModUi/&EnableUnarmedMainAttackAction=Abilita l'azione Attacco disarmato [se l'attore ha un'arma nel personaggio principale, è un monaco o ha fasce o guanto equipaggiati] +ModUi/&EnableUnlimitedInventoryActions=Abilita un numero illimitato di azioni di inventario per turno. ModUi/&EnableUpcastConjureElementalAndFey=Abilita l'upcast di Evoca Elementale e Evoca Fata ModUi/&EnableVariablePlaceholdersOnTexts=Abilita segnaposto variabili nelle descrizioni [usa {VARIABLE_NAME} come segnaposto] ModUi/&EnableVersatileAmmunitionSlots=Consenti il trasporto e l'utilizzo di Pozioni e Pergamene negli slot Munizioni @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Consenti il trasporto e l'uso di Astuzia magica al livello 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Abilita Astuzia magica al livello 2 e migliora Maestro eldritch al livello 20 ModUi/&EnableWarlockToLearnPatronAtLevel3=Abilita Patron al livello 3 invece che 1 +ModUi/&EnableWizardMemorizeSpell=Abilita Memorizza incantesimo al livello 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Abilita Studioso al livello 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Abilita Scuola di Magia al livello 3 invece che 2 ModUi/&EnablesAsiAndFeat=Abilita sia l'aumento dei punteggi degli attributi che la selezione delle imprese [invece di una scelta esclusiva] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Correggi l'interruzione di testo dell'interfacc ModUi/&FixEldritchBlastRange=Usa un raggio di 24 celle con Eldritch Blast [invece di 12] ModUi/&FixRingOfRegenerationHealRate=Imposta la velocità di cura dell'Anello di Rigenerazione a 1 HP ogni 3 minuti ModUi/&FlightSuspendWingedBoots=+ Usa le regole ufficiali degli Stivali Alati [durata rimanente non conteggiata quando il volo è sospeso] +ModUi/&ForceModSpeechOnNpcs=+Forza l'assegnazione automatica della voce a tutti i PNG invece della mappatura della campagna ModUi/&Formation=Formazione: ModUi/&FormationError=Non puoi cambiare la tua formazione durante una partita multigiocatore... ModUi/&FormationHelp1=• Utilizzare i pulsanti numerici per modificare un set dato [considerare l'abilitazione dei tasti di scelta rapida in input] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Abilita il lancio rapido Sensibilità alla luce su Elfo oscuro, Kobold oscuro e Nano grigio per attivarli solo all'aperto\n[le aree interne in luoghi all'aperto accessibili senza una schermata di caricamento sono considerate all'aperto dal motore di gioco] ModUi/&Races=Razze ModUi/&RecipeCost=Costo della ricetta +ModUi/&RefreshVoice=Aggiorna elenco voci ModUi/&RelicForgeries=Falsificazioni di reliquie ModUi/&RemoveAttunementRequirements=Rimuovi i requisiti di sintonizzazione [Richiede riavvio] ModUi/&RemoveBardMagicalSecretAt14And18=Rimuovi Segreto magico ai livelli 14 e 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Mostra l'icona dell'oggetto creato vicino all ModUi/&ShowCraftingRecipeInDetailedTooltips=Mostra la ricetta di creazione in tooltip dettagliati ModUi/&ShowDescriptions=Mostra descrizioni ModUi/&ShowMotionFormPreview=Mostra l'anteprima degli effetti Push e Pull +ModUi/&SpeechScale=Modificatore velocità narrazione [più basso è più veloce] ModUi/&SpellLevelFilter=filtro livello incantesimo [-1 visualizza tutto] ModUi/&SpellsMenu=Incantesimi ModUi/&StealthBreaksWhenAttackHits=Abilita la perdita furtiva quando un attacco con arma o incantesimo colpisce @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Totale talentiTraduzioni: +ModUi/&UnityExplorer=Interfaccia utente di Unity Explorer ModUi/&UnleashEnemyAsNpc=Consenti la selezione dei mostri sui gadget NPC ModUi/&UnleashNpcAsEnemy=Sblocca la selezione dei mostri ModUi/&Update=Aggiorna diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt index 96d43aa4fa..e1c008f938 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Cantrips-it.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Lama Fiamma Verde! Feedback/&AdditionalDamageResonatingStrikeLine={0} brucia {1} con la Lama Fiamma Verde! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Lama illuminata dal sole! Feedback/&AdditionalDamageSunlightBladeLine={0} illumina {1} con la Lama Illuminata dal Sole! (+{2}) -Feedback/&Within5Ft=5 piedi -Feedback/&WithinReach=Portata Proxy/&ProxyCreateBonfireTitle=Falò Spell/&AcidClawsDescription=Le tue unghie si affilano, pronte a sferrare un attacco corrosivo. Effettua un attacco con incantesimo in mischia contro una creatura entro 1,5 metri da te. In caso di colpo, il bersaglio subisce 1d8 danni da acido e ha la CA ridotta di 1 per 1 round (non cumulabile). Spell/&AcidClawsTitle=Artigli acidi diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells01-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells01-it.txt index fd2b257e99..fa4d39c122 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells01-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells01-it.txt @@ -59,6 +59,8 @@ Feedback/&ChaosBoltRandomChoice={0} lascia che {1} si manifesti casualmente come Feedback/&ChaosBoltRolledDifferentDice={0} ha tirato un {2} e un {3} su {1} dadi di danno D8. Feedback/&ChaosBoltRolledEqualDice={0} ha tirato un {2} su entrambi i dadi di danno {1} D8. Feedback/&FeatureGiftOfAlacrityLine={0} innesca {1} e aggiunge {2} all'iniziativa +Feedback/&Within5Ft=5 piedi +Feedback/&WithinReach=Portata Monster/&OwlFamiliarDescription=Gufo familiare. Monster/&OwlFamiliarTitle=Gufo familiare Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Scegli un tipo di danno. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Aumenta drasticamente la gravità in una sfera Spell/&MagnifyGravityTitle=Ingrandisci la gravità Spell/&MuleDescription=Il destinatario di questo incantesimo è in grado di ignorare gli effetti di carichi pesanti o armature sulla velocità di movimento. Può anche trasportare un peso leggermente maggiore. Spell/&MuleTitle=Mulo +Spell/&ProtectionFromEvilGoodTitle=Proteggere contro il male e il bene Spell/&RadiantMotesDescription=Scatena uno sciame di 4 proiettili radianti che infliggono 1d4 danni radianti ciascuno.\nQuando lanci questo incantesimo usando uno slot incantesimo di 2° livello o superiore, l'incantesimo crea 1 proiettile in più per ogni slot sopra il 1°. Spell/&RadiantMotesTitle=Granelli radianti +Spell/&RayOfSicknessDescription=Spari un raggio verdastro a una creatura entro il raggio. Fai un attacco magico a distanza contro il bersaglio. Se colpisce, il bersaglio subisce 2d8 danni da Veleno e ha la condizione Avvelenato fino alla fine del tuo prossimo turno. Il danno aumenta di 1d8 per ogni livello di slot incantesimo superiore a 1. +Spell/&RayOfSicknessTitle=Raggio di Malattia Spell/&SanctuaryDescription=Proteggi una creatura entro il raggio d'azione dagli attacchi. Finché l'incantesimo non termina, qualsiasi creatura che bersaglia la creatura protetta con un attacco o un incantesimo dannoso deve prima effettuare un tiro salvezza su Saggezza. Se fallisce il tiro salvezza, la creatura perde l'attacco o l'incantesimo. Questo incantesimo non protegge la creatura protetta dagli effetti ad area. Se la creatura protetta effettua un attacco o lancia un incantesimo, questo incantesimo termina. Spell/&SearingSmiteDescription=Al tuo prossimo colpo la tua arma si accende con un'intensità incandescente e l'attacco infligge 1d6 danni da fuoco extra al bersaglio, facendolo incendiare.\nAll'inizio di ogni suo turno, il bersaglio deve superare un tiro salvezza su Costituzione per smettere di bruciare, altrimenti subisce 1d6 danni da fuoco.{0}Livelli superiori: per ogni livello di slot superiore al 1°, il danno extra iniziale inflitto dall'attacco aumenta di 1d6. Spell/&SearingSmiteTitle=Colpo bruciante @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Invochi il potere di forze malevole. Tentacoli di en Spell/&VoidGraspTitle=Armi di Hadar Spell/&WitchBoltDescription=Un raggio di energia blu crepitante si lancia verso una creatura entro il raggio, formando un arco di fulmini sostenuto tra te e il bersaglio. Esegui un attacco magico a distanza contro quella creatura. Se colpisce, il bersaglio subisce 1d12 danni da fulmine e, in ognuno dei tuoi turni per la durata, puoi usare la tua azione per infliggere automaticamente 1d12 danni da fulmine al bersaglio. L'incantesimo termina se usi la tua azione per fare qualsiasi altra cosa. L'incantesimo termina anche se il bersaglio si trova mai fuori dal raggio dell'incantesimo. Quando lanci questo incantesimo usando uno slot incantesimo di 2° livello o superiore, il danno aumenta di 1d12 per ogni livello di slot superiore al 1°. Spell/&WitchBoltTitle=Fulmine della strega -Spell/&WrathfulSmiteDescription=La prossima volta che colpisci con un attacco con arma da mischia durante la durata di questo incantesimo, il tuo attacco infligge 1d6 danni psichici extra. Inoltre, se il bersaglio è una creatura, deve effettuare un tiro salvezza su Saggezza o essere spaventato da te finché l'incantesimo non termina. Come azione, la creatura può effettuare una prova di Saggezza contro la CD del tuo tiro salvezza per rafforzare la sua risolutezza e porre fine a questo incantesimo. +Spell/&WrathfulSmiteDescription=Il bersaglio subisce 1d6 danni necrotici extra dall'attacco e deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato finché l'incantesimo non termina. Alla fine di ogni suo turno, il bersaglio Spaventato ripete il tiro salvezza, terminando l'incantesimo su se stesso in caso di successo. Il danno aumenta di 1d6 per ogni livello di slot incantesimo superiore a 1. Spell/&WrathfulSmiteTitle=Colpo Iracondo Tooltip/&TagDamagePureTitle=Danno caotico diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt index fcfc5111e9..5c370c8b43 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells02-it.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Scoppia un cubo luminoso che acceca brevemente chiu Spell/&ColorBurstTitle=Esplosione di colore Spell/&KineticJauntDescription=Potenzia magicamente i tuoi movimenti con passi simili a quelli della danza, ottenendo i seguenti benefici per la durata:\n• La tua velocità di camminata aumenta di 10 piedi.\n• Non provochi attacchi di opportunità.\n• Puoi muoverti nello spazio di qualsiasi creatura. Spell/&KineticJauntTitle=Viaggio cinetico -Spell/&MirrorImageDescription=Tre duplicati illusori di te stesso appaiono nel tuo spazio. Finché l'incantesimo non finisce, ogni volta che una creatura ti bersaglia con un attacco, tira un d20 per determinare se l'attacco bersaglia invece uno dei tuoi duplicati.\nSe hai 3 duplicati, devi tirare un 6 o più per cambiare il bersaglio dell'attacco in un duplicato. Con 2 duplicati, devi tirare un 8 o più. Con 1 duplicato, devi tirare un 11 o più.\nLa CA 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 colpisce. Ignora tutti gli altri danni ed effetti. L'incantesimo termina quando tutti e tre i duplicati vengono distrutti.\nUna creatura non è influenzata da questo incantesimo se è Accecata o ha Vista cieca, Vista della verità o Senso tremito (non si applica se non tocchi terra). +Spell/&MirrorImageDescription=Tre duplicati illusori di te stesso appaiono nel tuo spazio. Finché l'incantesimo non finisce, i duplicati si muovono con te e imitano le tue azioni, cambiando posizione in modo che sia impossibile tracciare quale immagine sia reale. Ogni volta che una creatura ti colpisce con un tiro di attacco durante la durata dell'incantesimo, tira un d6 per ognuno dei tuoi duplicati rimanenti. Se uno qualsiasi dei d6 tira un 3 o più, uno dei duplicati viene colpito al posto tuo e il duplicato viene distrutto. I duplicati altrimenti ignorano tutti gli altri danni ed effetti. L'incantesimo termina quando tutti e tre i duplicati vengono distrutti. Una creatura non è influenzata da questo incantesimo se ha la condizione Accecato, Vista cieca o Vista vera. Spell/&MirrorImageTitle=Immagine riflessa Spell/&NoxiousSprayDescription=Rilasci uno spruzzo di gas nocivi su un bersaglio entro il raggio d'azione. Esegui un attacco con incantesimo a distanza. Se colpisce, il bersaglio subisce 4d6 danni da veleno e deve superare un tiro salvezza su Costituzione o trascorrere tutto il suo turno successivo conati di vomito e ansimando, incapace di muoversi o compiere azioni. Costrutti, elementali e non morti non sono influenzati da questo incantesimo. Quando lanci questo incantesimo usando uno slot di 3° livello o superiore, puoi prendere di mira una creatura aggiuntiva per ogni livello di slot superiore al 2°. Spell/&NoxiousSprayTitle=Spray nocivo diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt index ea8b2e24e9..c4af3a8ae1 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells03-it.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Crei il volto di un enorme serpente verde che appar Spell/&AdderFangsTitle=Zanne di vipera Spell/&AshardalonStrideDescription=Le fiamme ondulate di un drago esplodono dai tuoi piedi, conferendoti una velocità esplosiva. Per la durata, la tua velocità aumenta di 20 piedi e il movimento non provoca attacchi di opportunità. Quando ti muovi entro 5 piedi da una creatura, questa subisce 1d6 danni da fuoco dalla tua scia di calore. Una creatura può subire questo danno solo una volta durante un turno. Quando lanci questo incantesimo usando uno slot incantesimo di 4° livello o superiore, aumenta la tua velocità di 5 piedi per ogni livello di slot incantesimo superiore al 3°. L'incantesimo infligge 1d6 danni da fuoco aggiuntivi per ogni livello di slot superiore al 3°. Spell/&AshardalonStrideTitle=Il passo di Ashardalon -Spell/&AuraOfLifeDescription=L'energia curativa si irradia da te in un'aura con un raggio di 30 piedi. Finché l'incantesimo non termina, l'aura si muove con te, centrata su di te. Puoi usare un'azione bonus per far sì che una creatura nell'aura (incluso te) recuperi 2d6 punti ferita. +Spell/&AuraOfLifeDescription=L'energia curativa si irradia da te in un'aura con un raggio di 30 piedi. Quando crei l'aura e durante ognuno dei tuoi turni successivi mentre persiste, puoi ripristinare 2d6 Punti Ferita a una creatura in essa come azione gratuita. Spell/&AuraOfLifeTitle=Aura di vitalità Spell/&BlindingSmiteDescription=La prossima volta che colpisci una creatura con un attacco con arma da mischia durante la durata di questo incantesimo, la tua arma si illumina con una luce intensa e l'attacco infligge 3d8 danni radianti extra al bersaglio. Inoltre, il bersaglio deve superare un tiro salvezza su Costituzione o essere accecato finché l'incantesimo non termina. Una creatura accecata da questo incantesimo effettua un altro tiro salvezza su Costituzione alla fine di ogni suo turno. In caso di tiro salvezza riuscito, non è più accecata. Spell/&BlindingSmiteTitle=Colpo accecante @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=Ti teletrasporti in uno spazio non occupato che pu Spell/&BoomingStepTitle=Passo del tuono Spell/&CorruptingBoltDescription=Puoi lanciare un impulso di energia necrotica che fa sì che il corpo di una creatura inizi ad appassire e a decadere. Effettua un attacco a distanza contro una creatura. Se colpisce, il bersaglio subisce 4d8 danni necrotici e deve superare un tiro salvezza su Costituzione. In caso di tiro salvezza fallito, la prossima volta che tu o un tuo alleato colpite la creatura corrotta con un attacco prima della fine del tuo turno successivo, la creatura diventa vulnerabile a tutti i danni di quell'attacco, e poi la corruzione termina. 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/&CorruptingBoltTitle=Fulmine Corruttivo -Spell/&CrusadersMantleDescription=Circondati di un'aura magica. Gli alleati all'interno dell'aura ottengono un bonus di 1d4 danni radianti sui loro attacchi. +Spell/&CrusadersMantleDescription=Il potere sacro si irradia da te in un'aura con un raggio di 30 piedi, risvegliando l'audacia nelle creature amiche. Finché l'incantesimo non finisce, l'aura si muove con te, centrata su di te. Mentre sei nell'aura, ogni creatura non ostile nell'aura (incluso te) infligge 1d4 danni radianti extra quando colpisce con un attacco. Spell/&CrusadersMantleTitle=Mantello del Crociato Spell/&ElementalWeaponDamageAcidDescription=Infligge danni da acido a un'arma non magica. Spell/&ElementalWeaponDamageAcidTitle=Arma Elementale Acida diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells05-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells05-it.txt index b512dead13..2d3ec3cb33 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells05-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells05-it.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Un piccolo globo dello stesso colore del palloncino Spell/&SonicBoomTitle=Boom sonico Spell/&SteelWhirlwindDescription=Fai roteare l'arma usata nel lancio e poi sparisci per colpire come il vento. Scegli fino a cinque creature che puoi vedere entro il raggio d'azione. Fai un attacco di incantesimo in mischia contro ogni bersaglio. Se va a segno, un bersaglio subisce 6d10 danni da forza. Puoi quindi teletrasportarti in uno spazio non occupato che puoi vedere entro 5 piedi da uno dei bersagli che hai colpito o mancato. Spell/&SteelWhirlwindTitle=Colpo di vento in acciaio -Spell/&SwiftQuiverDescription=Trasmuti la tua faretra in modo che faccia automaticamente balzare le munizioni nella tua mano quando allunghi la mano per prenderle. In ognuno dei tuoi turni fino alla fine dell'incantesimo, puoi usare un'azione bonus per effettuare due attacchi con un'arma a distanza. +Spell/&SwiftQuiverDescription=Quando lanci l'incantesimo e come Azione Bonus fino alla sua fine, puoi effettuare due attacchi con un'arma che spara Frecce o Dardi, come un Arco Lungo o una Balestra Leggera. L'incantesimo crea magicamente le munizioni necessarie per ogni attacco. Ogni Freccia o Dardo creato dall'incantesimo infligge danni come un pezzo di munizione non magico dello stesso tipo e si disintegra immediatamente dopo aver colpito o mancato il bersaglio. Spell/&SwiftQuiverTitle=Faretra veloce Spell/&SynapticStaticDescription=Scegli un punto entro il raggio e fai esplodere lì l'energia psichica. Ogni creatura in una sfera di 20 piedi di raggio centrata su quel punto deve effettuare un tiro salvezza su Intelligenza. Un bersaglio subisce 8d6 danni psichici se fallisce il tiro salvezza, o la metà dei danni se riesce. Dopo un tiro salvezza fallito, un bersaglio ha pensieri confusi per 1 minuto. Durante quel periodo, tira un d6 e sottrae il numero ottenuto da tutti i suoi tiri per colpire e prove di abilità. Il bersaglio può effettuare un tiro salvezza su Intelligenza alla fine di ogni suo turno, terminando l'effetto su se stesso in caso di successo. Spell/&SynapticStaticTitle=Sinaptico statico diff --git a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt index 5c73679dac..aadcaa9d13 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Spells/Spells09-it.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Sfere di fuoco ardenti precipitano a t Spell/&MeteorSwarmSingleTargetTitle=Sciame di meteore Spell/&PowerWordHealDescription=Un'ondata di energia curativa travolge la creatura che tocchi. Il bersaglio recupera tutti i suoi punti ferita. Se la creatura è ammaliata, spaventata, paralizzata, avvelenata o stordita, la condizione termina. Se la creatura è prona, può usare la sua reazione per rialzarsi. Questo incantesimo non ha effetto su non morti o costrutti. Spell/&PowerWordHealTitle=Parola di potere Guarigione -Spell/&PowerWordKillDescription=Pronunci una parola di potere che può costringere una creatura che puoi vedere entro il raggio d'azione a morire all'istante. Se la creatura che scegli ha 100 punti ferita o meno, muore. Altrimenti, l'incantesimo non ha effetto. +Spell/&PowerWordKillDescription=Costringi una creatura che puoi vedere entro il raggio d'azione a morire. Se il bersaglio ha 100 Punti Ferita o meno, muore. Altrimenti, subisce 12d12 danni psichici. Spell/&PowerWordKillTitle=Parola di potere Uccidere Spell/&PsychicScreamDescription=Scatena il potere della tua mente per far saltare l'intelletto di un massimo di dieci creature a tua scelta che puoi vedere entro il raggio d'azione. Ogni bersaglio deve effettuare un tiro salvezza su Intelligenza. Se fallisce il tiro salvezza, il bersaglio subisce 14d6 danni psichici e rimane stordito per 1 minuto. Se supera il tiro salvezza, il bersaglio subisce la metà dei danni e non rimane stordito. Un bersaglio stordito può effettuare un tiro salvezza su Intelligenza alla fine di ogni suo turno. Se supera il tiro salvezza, l'effetto di stordimento termina. Spell/&PsychicScreamTitle=Urlo psichico @@ -25,5 +25,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. Non passa tempo per le altre creature, mentre tu fai 1d4+1 turni di fila, durante i quali puoi usare azioni e muoverti normalmente. Questo incantesimo termina se una delle azioni che usi durante questo periodo, o qualsiasi effetto che crei durante questo periodo, influenza una creatura diversa da te. Spell/&TimeStopTitle=Tempo fermo -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/&WeirdDescription=Cerchi di creare terrori illusori nelle menti degli altri. Ogni creatura di tua scelta in una Sfera di 30 piedi di raggio centrata su un punto entro gittata effettua un tiro salvezza su Saggezza. Se fallisce il tiro salvezza, un bersaglio subisce 10d10 danni psichici e ha la condizione Spaventato per la durata. Se supera il tiro salvezza, un bersaglio subisce solo la metà dei danni. Un bersaglio Spaventato effettua un tiro salvezza su Saggezza alla fine di ogni suo turno. Se fallisce il tiro salvezza, subisce 5d10 danni psichici. Se supera il tiro salvezza, l'incantesimo termina su quel bersaglio. Spell/&WeirdTitle=Strano diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/CircleOfTheAncientForest-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/CircleOfTheAncientForest-it.txt index 30b8b27ba9..c6fa87e7e7 100644 --- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/CircleOfTheAncientForest-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/CircleOfTheAncientForest-it.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=Possiedi una riserva di potere cu Feature/&PowerAncientForestRegrowthTitle=Ricrescita Feature/&PowerAncientForestRootedDescription=Viticci arborei crescono dai tuoi piedi e si conficcano nel terreno. La tua velocità diventa 0 e ottieni vantaggio su qualsiasi tiro salvezza per spingerti, tirarti o buttarti prono. Puoi lanciare intrappolare a volontà. Feature/&PowerAncientForestRootedTitle=Radicato -Feature/&PowerPoolAncientForestHerbalBrewDescription=Puoi creare pozioni erboristiche, ciascuna delle quali dura fino al prossimo lungo riposo. Crei un totale di pozioni pari al tuo bonus di competenza. Per ogni pozione, scegli uno dei seguenti effetti:\nPozione fortificante: garantisce resistenza a diversi tipi di danno per 1 ora.\nPozione accelerante: fornisce 2d4 punti ferita.\nPozione tossica: agisce come un veleno che può essere applicato a un'arma che dura 1 minuto. Se il colpo va a segno, il bersaglio subisce 1d4 danni da veleno a ogni colpo. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Puoi creare pozioni erboristiche, ciascuna delle quali dura fino al prossimo lungo riposo. Crei un totale di pozioni pari al tuo bonus di competenza. Per ogni pozione, scegli uno dei seguenti effetti:\nPozione fortificante: garantisce resistenza a diversi tipi di danno per 1 ora.\nPozione accelerante: fornisce 2d4 punti ferita.\nPozione tossica: agisce come un veleno che può essere applicato a un'arma che dura 1 minuto. Se il colpo va a segno, il bersaglio subisce 1d4 danni da veleno a ogni colpo. Feature/&PowerPoolAncientForestHerbalBrewTitle=Preparazione di bevande alle erbe Feature/&PowerPoolAncientForestWallOfThornsDescription=Puoi lanciare Muro di Spine un numero di volte pari al tuo modificatore di Saggezza. Si ricarica con i riposi lunghi. Feature/&PowerPoolAncientForestWallOfThornsTitle=Muro di spine diff --git a/SolastaUnfinishedBusiness/Translations/ja/FightingStyles-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/FightingStyles-ja.txt index e77e63b5b8..45239c2fd3 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/FightingStyles-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/FightingStyles-ja.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=実行! Feedback/&AdditionalDamageExecutionerLine={0} は {1} を実行して +{2} の追加ダメージを与えます! FightingStyle/&AstralReachDescription=両手が自由である限り、素手攻撃のリーチが 5 フィート増加します。 FightingStyle/&AstralReachTitle=アストラルリーチ +FightingStyle/&BlessedWarriorDescription=クレリック呪文リストから選択した 2 つのキャントリップを学習します。それらはパラディン呪文としてカウントされ、カリスマ性がそれらの呪文発動能力となります。 +FightingStyle/&BlessedWarriorTitle=祝福された戦士 FightingStyle/&BlindFightingDescription=10 フィートの範囲で盲視が可能です。その範囲内では、たとえ目が見えなくなっていても、暗闇にいても、完全に遮蔽されていないものはすべて実質的に見ることができます。さらに、その生物があなたからうまく隠れない限り、その範囲内に目に見えない生物が見える可能性があります。 FightingStyle/&BlindFightingTitle=ブラインドファイティング FightingStyle/&CripplingDescription=近接攻撃がヒットすると、次のターンが終了するまで敵の速度が 10 フィート減少します。 FightingStyle/&CripplingTitle=壊滅的 +FightingStyle/&DruidicWarriorDescription=ドルイド呪文リストから選択した 2 つの呪文を習得します。それらはレンジャー呪文としてカウントされ、知恵はそれらの呪文発動能力となります。 +FightingStyle/&DruidicWarriorTitle=ドルイドの戦士 FightingStyle/&ExecutionerDescription=目が見えなくなった、怯えている、拘束されている、無力化されている、麻痺している、うつ伏せになっている、または気絶しているクリーチャーに対するダメージに熟練度ボーナスを追加します。 FightingStyle/&ExecutionerTitle=死刑執行人 FightingStyle/&HandAndAHalfDescription=近接片手武器または汎用武器を使用し、他の武器や盾を使用しない場合、攻撃ロールに +1 ボーナスを獲得し、アーマー クラスに +1 ボーナスを獲得します。 @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} が味方の 1 人を攻撃し Reaction/&ReactionAttackSentinelReactDescription=反応を利用して攻撃します。 Reaction/&ReactionAttackSentinelReactTitle=攻撃 Reaction/&ReactionAttackSentinelTitle=センチネル +Tag/&BlessedWarriorCantripSpecialTagTitle=祝福された戦士のキャントリップ +Tag/&DruidicWarriorCantripSpecialTagTitle=ドルイド戦士の呪文 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Invocations-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Invocations-ja.txt index 00a1ca1d75..a579f5294b 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Invocations-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Invocations-ja.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=ボーナスアクシ Feature/&PowerInvocationPerniciousCloakRemoveTitle=ハエのマントを取り除く Feedback/&AdditionalDamageEldritchSmiteFormat=エルドリッチ・スマイト! Feedback/&AdditionalDamageEldritchSmiteLine={0} 人が {1} を攻撃 (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=クリーチャーにバインドされると追加の効果が得られます。インプにバインドすると透明性が向上し、擬似ドラゴンにバインドすると飛行と毒を染み込ませた攻撃が得られ、クアシットにバインドすると追加のメインアクションと器用さセーヴィングスローのアドバンテージが得られ、スプライトにバインドすると少なくともアーマークラススコアが得られます16 と攻撃者はあなたに対して不利になります。 +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=クリーチャーにバインドされると、追加の効果が得られます。Imp にバインドされると、より大きな不可視性が得られ、Pseudo Dragon にバインドされると、飛行と毒を帯びた攻撃が得られ、Quasit にバインドされると、追加の攻撃と敏捷性セーヴィング スローのアドバンテージが得られ、Sprite にバインドされると、AC 値が少なくとも 16 になり、攻撃者はあなたに対して不利になります。 Invocation/&InvocationAbilitiesOfTheChainMasterTitle=チェインマスターのアビリティ Invocation/&InvocationAspectOfTheMoonDescription=寝る必要がなくなり、見張りを続けることができるため、攻撃の可能性が低くなり、キャンプが攻撃された場合でも確実に目を覚ますことができます。 Invocation/&InvocationAspectOfTheMoonTitle=月のアスペクト diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index e8e2fb5cfd..a828c170c9 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=生来の魔術 Condition/&ConditionStaggeringBlowAoODescription=次のターンの開始まで、機会攻撃を行うことはできません。 Condition/&ConditionStaggeringBlowAoOTitle=よろめきの一撃 Condition/&ConditionStopMovementTitle=停止 +Condition/&ConditionStudiedAttacksDescription=ソースはあなたに対する次の攻撃で有利になります +Condition/&ConditionStudiedAttacksTitle=研究された攻撃 Condition/&ConditionTauntedDescription=挑発者以外のクリーチャーに対する攻撃ロールには不利があります。 Condition/&ConditionTauntedTitle=挑発された Condition/&FlightSuspendDescription=進行中のフライト効果は一時停止されました @@ -75,13 +77,13 @@ ContentPack/&9999Description=Unfinished Business Pack は、まさに Horn of Pl ContentPack/&9999Title=未完成ビジネスパック Equipment/&BeltOfRegeneration_Function_Description=1分間、ラウンドごとに5ヒットポイントを回復します。 Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=この武器を使用し、それに同調している間、攻撃は 18、19、または 20 でクリティカル ヒットを獲得します。 +Failure/&CannotAttackTarget=このターゲットに攻撃を実行できません Failure/&FailureFlagCannotTargetUndead=アンデッドクリーチャーをターゲットにできない Failure/&FailureFlagMaterialComponentHandsFull=マテリアル呪文コンポーネントを使用するための自由な手がありません。 Failure/&FailureFlagMustKnowLanguage=この生物を指揮するには{0}言語に堪能でなければなりません Failure/&FailureFlagTargetMustNotBeSurprised=ターゲットは驚いてはいけない Failure/&FailureFlagTargetMustUnderstandYou=ターゲットはあなたのコマンドを理解する必要があります Failure/&SecondTargetNotWithinRange=最初の範囲内にないため、このターゲットを選択できません -Failure/&TargetMeleeWeaponError={0} 内にないため、このターゲットに近接攻撃を実行できません Failure/&TargetMustBeNoMoreThanOneSizeLarger=ターゲットは1サイズ以上大きくてはいけません Failure/&TargetMustHaveHolyWeapon=対象は聖なる武器を持っている必要があります Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=照明がついていないとき、または魔法の暗闇にいるとき、あなたは知恵(知覚)チェックでアドバンテージを獲得します。 @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=イニシアティブを Feature/&FeatureBardSuperiorInspiration2024Title=優れたインスピレーション Feature/&FeatureEldritchMasterDescription=魔法の狡猾な特徴を使用すると、消費した契約魔法の呪文スロットがすべて回復します。 Feature/&FeatureEldritchMasterTitle=エルドリッチマスター +Feature/&FeatureFighterStudiedAttacksDescription=あなたは敵を観察し、行う攻撃から学びます。クリーチャーに対して攻撃ロールを行って失敗した場合、次のターンの終了前にそのクリーチャーに対する次の攻撃ロールにアドバンテージを得ます。 +Feature/&FeatureFighterStudiedAttacksTitle=研究された攻撃 +Feature/&FeatureFighterTacticalMindDescription=あなたは戦術に長けており、戦場の内外で優位に立つことができます。能力チェックに失敗した場合、セカンド ウィンドを消費して成功に近づくことができます。ヒット ポイントを回復する代わりに、1d10 をロールしてロールした数値を能力チェックに追加することで、成功にすることができます。それでもチェックに失敗した場合、セカンド ウィンドの使用は消費されません。 +Feature/&FeatureFighterTacticalMindTitle=戦術的思考 +Feature/&FeatureFighterTacticalShiftDescription=ボーナス アクションでセカンド ウィンドをアクティブ化するたびに、機会攻撃を誘発せずに速度の半分まで移動できます。 +Feature/&FeatureFighterTacticalShiftTitle=戦術の転換 +Feature/&FeatureImprovedRogueCunningStrikeDescription=スニークアタックダメージを与えるとき、最大 2 つの Cunning Strike 効果を使用できます。各効果のダイスコストを支払います。 +Feature/&FeatureImprovedRogueCunningStrikeTitle=改良された巧妙な一撃 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• 風のステップ: 風のステップの機能 (離脱またはダッシュ) を使用すると、他の効果の恩恵も受けます。 @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=原始秩序 Feature/&FeatureSetDruidPrimalOrderWardenDescription=戦闘の訓練を受け、あなたは格闘武器の熟練度と中型鎧の訓練を習得します。 Feature/&FeatureSetDruidPrimalOrderWardenTitle=ウォーデン Feature/&FeatureSetRageExtendedDescription=戦闘では、根源的な凶暴性で戦います。自分のターンでは、ボーナス アクションとして激怒を入力できます。これにより、体力のセーブとチェックで有利になり、近接攻撃のダメージに最初の +2 ボーナスが与えられ、斬撃、殴打、突き刺しのダメージに対する耐性が得られます。これらの利点は、重装備を着用していない場合にのみ得られます。 1 分間持続するか、最後のターン以降に攻撃やダメージを受けていない場合は終了します。\n 2 つの激怒から始まり、長い休息の後に更新されます。レベル 7 では、短い休憩の後、怒りポイントが 1 回復します。 +Feature/&FeatureSetSorcererSorceryIncarnateDescription=生来の魔術の使用回数が残っていない場合、それを起動するためのボーナス アクションを実行するときに 2 魔術ポイントを消費すると、それを使用できます。 +Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔術の化身 +Feature/&FeatureSorcererArcaneApotheosisDescription=生来の魔術機能がアクティブな間、魔術ポイントを消費せずに、各ターンに 1 つのメタマジック オプションを使用できます。 +Feature/&FeatureSorcererArcaneApotheosisTitle=秘術の神格化 Feature/&FeatureSorcererMagicalGuidanceDescription=自分の内なる魔法の泉を利用して、失敗から成功を呼び起こすことができます。能力チェックが失敗した場合、1 ソーサリー ポイントを使って d20 を再ロールすることができ、新しいロールを使用する必要があるため、失敗が成功に変わる可能性があります。 Feature/&FeatureSorcererMagicalGuidanceTitle=魔法の導き +Feature/&FeatureWizardMemorizeSpellDescription=短い休憩を終えるたびに、呪文書を調べて、呪文発動機能のために準備したレベル 1+ ウィザード呪文の 1 つを、その書にある別のレベル 1+ 呪文に置き換えることができます。 +Feature/&FeatureWizardMemorizeSpellTitle=呪文を記憶する Feature/&FighterExtraAttackDescription=攻撃や突き飛ばしアクションを使用すると、1回ではなく2回攻撃することができます。 Feature/&FlightResumeDescription=中断された飛行効果を再開します Feature/&FlightResumeTitle=飛行を再開する @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=次のツールのいずれかを選 Feature/&VisionBlindsightDescription=あなたは盲目です。 Feedback/&AdditionalDamageBrutalStrikeFormat=ブルータル・ストライク Feedback/&AdditionalDamageBrutalStrikeLine=残忍な一撃は追加の +{2} ダメージを与える! +Feedback/&AdditionalDamageCrusadersMantleFormat=クルセイダーのマント! +Feedback/&AdditionalDamageCrusadersMantleLine={0} が {1} を攻撃し、追加の {2} 光ダメージを与えます。 Feedback/&AdditionalDamageSunderingBlowFormat=サンダーブロウ Feedback/&AdditionalDamageSunderingBlowLine=サンダーブロウは追加の +{2} ダメージを与える! Feedback/&AdditionalDamageTrueStrikeFormat=トゥルーストライク! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} は、{1} の物語の選択肢をロールし Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=旅行中は休憩後にパワーを識別できません Feedback/&ReturningWeaponActivates={1} は {0} に戻ります! Feedback/&SmallRace=スモールレース +Feedback/&TacticalMindCheckToHitRoll={0}は{1}を使用し、チェックロールに{2}を追加しました +Feedback/&TacticalMindCheckToHitRollFailure={0} は {1} を使用し、チェック ロールに {2} を追加しましたが、結果を変えるには不十分でした。 +Feedback/&TacticalMindCheckToHitRollSuccess={0}は{1}を使用し、チェックロールに{2}を追加し、結果を変更し、セカンドウィンドを消費します Feedback/&TriggerFeatureLine={0} が {1} をトリガーします Feedback/&TriggerRerollLine={0} は {1} をアクティブにして、{2} = {3} を再ロールします Feedback/&TrueSightAndIllusionSpells={0}は真の視力を持っており、この呪文の影響を受けません @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=チェックロールに Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=D20 をロールしてチェックロールを交換します。 Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=魔法の導き Reaction/&CustomReactionMagicalGuidanceCheckTitle=魔法の導き +Reaction/&CustomReactionTacticalMindCheckDescription=チェックロールに失敗しました。1 秒の風力を使用して d10 をロールし、その結果をチェックロールに追加できます。 +Reaction/&CustomReactionTacticalMindCheckReactDescription=D10 をロールして、結果をチェック ロールに追加します。 +Reaction/&CustomReactionTacticalMindCheckReactTitle=戦術的思考 +Reaction/&CustomReactionTacticalMindCheckTitle=戦術的思考 Reaction/&ReactionSpendPowerBundleDescription=パワーを使いましょう。 Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=追加の効果を適用することができます。 Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=追加の効果を適用します。 @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=オートパワー Rules/&ActivationTypeOnRageStartAutomaticTitle=オートレイジスタート Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=自動クリーチャーのHPがゼロに減少 Rules/&ActivationTypeOnSneakAttackHitAutoTitle=オートスニークアタック +Rules/&ConditionMarkedByHunterExtendedDescription=術者が武器攻撃で攻撃すると、+1d6 のフォース ダメージを受けます。 Rules/&ConditionOneDndBarkskinDescription=クリーチャーのアーマー クラスは少なくとも 17 になります。 Rules/&ConditionStoneskinExtendedDescription=殴打、斬撃、刺突によるダメージに対する耐性。 Rules/&CounterFormDismissCreatureFormat=対象の召喚されたクリーチャーを退ける @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=呪文に集中しています: Rules/&SituationalContext9018Format=効果源: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=ソーサリーポイントをソーサラーレベルの半分まで回復します(切り捨て)。 Rules/&TurnOccurenceEndOfSourceTurnFormat=ターンの終了元 +Screen/&CharacterInspectionModeBattleUnlimitedTitle=1 ラウンドあたり無制限のインベントリ アクションを実行できます。 Screen/&ClassExtraSpellDescriptionFormat=この呪文は {0} クラスで知っていますね。 Screen/&EditorLocationSize3Title=巨大な[MODD] Screen/&EditorLocationSize4Title=ガルガンチュアン [MODD] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=この呪文は他のレパートリー Screen/&MulticlassExtraSpellTitle=マルチクラス Screen/&PatronExtraSpellDescription=パトロンの呪文 Screen/&PatronExtraSpellTitle=パトロン +Screen/&PreparePanelMemorizeSpellSelect=準備する呪文を選択します。 Screen/&RaceExtraSpellDescription=あなたは先祖からこの呪文を知っています。 Screen/&RaceExtraSpellTitle=遺産 Screen/&RangerSpellDescription=この呪文はあなたのレンジャーのアーキタイプによって付与されており、あなたは知っていると考えられています。 @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=このレベルで、{0} 個の契約 Screen/&SubclassClassExtraSpellDescriptionFormat=あなたはこの呪文を{0}サブクラスから知っています。 Screen/&SwitchConfigurationDescription=装備しているアイテムを次の構成に切り替えます: {0}。\nCTRL キーを押したままにして、可能であれば手を離してください。 Spell/&ConjureElementalInvisibleStalkerTitle=コンジュア・エレメンタル [インビジブル・ストーカー] +Spell/&HuntersMarkExtendedDescription=敵はあなたから追加のフォースダメージを受け、一定時間の間それを簡単に検出できます。 +Spell/&PowerWordStunExtendedDescription=範囲内にいる、あなたが見ることができる 1 体のクリーチャーの精神を圧倒します。ターゲットのヒット ポイントが 150 以下である場合、そのクリーチャーは気絶状態になります。それ以外の場合、そのスピードは、次のターンの開始時まで 0 になります。気絶したターゲットは、各ターンの終了時に耐久力セーヴィング スローを実行し、成功すると自身の状態を終了します。 +Spell/&SpareTheDyingExtendedDescription=範囲内のヒット ポイントが 0 で、死んでいないクリーチャーを 1 体選択します。クリーチャーは安定状態になります。レベル 5 (30 フィート)、11 (60 フィート)、17 (120 フィート) に達すると、範囲は 2 倍になります。 Spell/&StoneskinExtendedDescription=殴打、斬撃、刺突ダメージに対する耐性を付与します。 Spell/&TrueStrike2024Description=魔法の洞察力のひらめきに導かれて、呪文を唱える際に使用した武器で 1 回の攻撃を行います。攻撃では、攻撃とダメージ ロールに呪文発動能力を使用するか、または [筋力] と [敏捷性] のうち、いずれか高い方を使用します。攻撃が命中した場合、武器の通常のダメージ タイプではなく、光輝ダメージを与えます。レベル 5 (1d6)、11 (2d6)、および 17 (3d6) に達すると、攻撃は追加の光輝ダメージを与えます。 Stage/&IdentityMorphotypeEyeHeader=アイスタイル diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 3a54610170..419ea1dac2 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=汎用性 ModUi/&DontEndTurnAfterReady=準備完了アクションの後にターンを終了しない [ボーナスアクションまたは他のソースからのその他のメインアクションを許可] ModUi/&DontFollowCharacterInBattle=キャラクターがすでに画面上にいる場合、戦闘カメラは追従しません ModUi/&DontFollowMargin=+ ヒーローが画面外にいるか、画面端の % 以内にいる場合を除く +ModUi/&DownloadVoice=提案された音声をダウンロード +ModUi/&DownloadVoiceOngoing={0} でダウンロード中 ModUi/&DungeonMaker=ダンジョンメーカー ModUi/&DungeonMakerBasicHelp=• これらの設定では、プレイヤーがこのMODをインストールする必要はありません ModUi/&Effects=効果 @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=壮大な 35 ポイント購入システムと ModUi/&EnableExtendedProficienciesPanelDisplay=拡張熟練度パネルの表示を有効にする [アーケイン ショット、インフュージョン、マニューバ、および汎用性]\n[キャラクター検査時にパフォーマンスが低下します。自己責任で使用してください] ModUi/&EnableFeatsAtEvenLevels=レベル2、10、18で特技選択を有効にする ModUi/&EnableFeatsAtEvenLevelsMiddle=レベル6と14で特技選択を有効にする +ModUi/&EnableFighterStudiedAttacks=レベル 13 で 研究された攻撃 を有効にする [そのラウンドのクリーチャーに対する前回の攻撃が失敗した場合、有利] +ModUi/&EnableFighterTacticalProgression=レベル 2 と 5 で タクティカル マインド と タクティカル シフト を有効にします [セカンド ウィンド シナリオを強化] ModUi/&EnableFighterWeaponSpecialization=レベル 8 と 16 で 武器特化 を有効にします [命中とダメージが +1 になりますが、他の武器タイプでは不利になります] ModUi/&EnableFlexibleBackgrounds=柔軟な背景を有効にする [背景からスキルとツールの熟練度を選択] ModUi/&EnableFlexibleRaces=柔軟な種族を有効にする [種族のデフォルトではなく能力値ポイントを割り当てる] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=レベル 2 と 11 で 武 ModUi/&EnableMulticlass=マルチクラスを有効にする [再起動が必要] ModUi/&EnableOneDnDPreparedSpellsTables=すべての キャスター が新しい準備済み呪文テーブル [吟遊詩人、聖職者、ドルイド、パラディン、レンジャー、ソーサラー、ウィザード] を使用できるようにします。 ModUi/&EnableOneDndBarkskinSpell=樹皮の皮 5e 2024 呪文バージョンを有効にする [ボーナスアクション、集中力なし、AC を 17 に設定] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Arcane Sword、Circle of Death、Flame Strike、Ice Storm、Vicious Mockery 5e 2024 呪文バージョン [ダメージ増加] を有効にします +ModUi/&EnableOneDndDamagingSpellsUpgrade=アーケイン ソード、サークル オブ デス、フレイム ストライク、アイス ストーム、プリズマティック スプレー、ヴィシャス モッカリー 5e 2024 呪文バージョンを有効にします [ダメージ向上] ModUi/&EnableOneDndDivineFavorSpell=神の恩寵 5e 2024 呪文バージョン [集中なし] を有効にする ModUi/&EnableOneDndGuidanceSpell=ガイダンス 5e 2024 呪文バージョンを有効にします [発動時にスキルを 1 つ選択し、最大 1 分間ボーナスを獲得します。] ModUi/&EnableOneDndHealingSpellsUpgrade=Cure Wounds、False Life、Healing Word、Mass Cure Wounds、Mass Healing Word 5e 2024 呪文バージョン [better healing] を有効にします +ModUi/&EnableOneDndHideousLaughterSpell=Hideous Laughter 5e 2024 呪文バージョンを有効にする [+1 ターゲット/アップキャスト] +ModUi/&EnableOneDndHuntersMarkSpell=ハンターズマーク 5e 2024 呪文バージョン [フォースダメージ] を有効にする ModUi/&EnableOneDndLesserRestorationSpell=Lesser Restoration 5e 2024 呪文バージョン [ボーナスアクション] を有効にする ModUi/&EnableOneDndMagicWeaponSpell=魔法の武器 5e 2024 呪文バージョン [ボーナス アクション、集中力なし、呪文レベル 3 および 6 で強化アップグレード] を有効にします -ModUi/&EnableOneDndPowerWordKillSpell=パワーワード: キル 5e 2024 呪文バージョンを有効にする [HP 100 以上の場合、12d12 の精神ダメージ] +ModUi/&EnableOneDndPowerWordStunSpell=パワーワードスタン 5e 2024 呪文バージョンを有効にする [ターゲットの HP が 150 を超える場合、1 ターン停止します] +ModUi/&EnableOneDndSpareTheDyingSpell=Spare the Dying 5e 2024 呪文バージョンを有効にする [レベル 5、11、17 で範囲が 2 倍になります] +ModUi/&EnableOneDndSpiderClimbSpell=スパイダークライム 5e 2024 呪文バージョンを有効にする [アップキャストごとにターゲット +1] ModUi/&EnableOneDndStoneSkinSpell=ストーンスキン 5e 2024 呪文バージョンを有効にする [魔法の B/P/S に対する耐性も付与します] ModUi/&EnableOneDndTrueStrikeCantrip=トゥルーストライク 5e 2024 キャントリップ バージョンを有効にします [再起動が必要]{99>[攻撃は、攻撃ロールとダメージ ボーナスに呪文発動能力を使用し、レベル 5 から追加の光ダメージを与えます] ModUi/&EnablePaladinLayOnHandsAsBonusAction=ボーナスアクションとして手を置くを有効にする @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動を ModUi/&EnableRelearnSpells=他のソースからすでに学習したキャントリップや呪文を選択できるようにする ModUi/&EnableRespecAction=休憩アクション後に RESPEC を有効にします [マルチプレイヤーセッション中は RESPEC を使用しないでください] ModUi/&EnableRitualOnAllCasters=すべてのキャスターに儀式の詠唱を有効にする -ModUi/&EnableRogueCunningStrike=レベル 5 と 14 で 狡猾な一撃 と 邪悪な一撃 を有効にします [追加のヒット効果を得るために、スニーク アタック ダイスを 1 つ放棄します] +ModUi/&EnableRogueCunningStrike=レベル 5、11、14 で 狡猾な一撃、改良された狡猾な一撃、邪悪な一撃 を有効にします [追加のヒット効果を得るために、スニーク アタック ダイスを 1 つ放棄します] ModUi/&EnableRogueFightingStyle=レベル2で戦闘スタイルの選択を有効にする +ModUi/&EnableRogueReliableTalentAt7=信頼できる才能をレベル11ではなくレベル7で有効にします ModUi/&EnableRogueSlipperyMind=Slippery Mind を 5e 2024 版と入れ替えます [知恵に加えて、カリスマ セーヴィング スローの熟練度も得られます] ModUi/&EnableRogueSteadyAim=レベル 3 で Steady Aim を有効にします [ボーナス アクションにより、まだ移動していない場合、現在のターンの次の攻撃ロールにアドバンテージが与えられます] ModUi/&EnableRogueStrSaving=狡猾な一撃/悪巧みの一撃に悪党のDEXまたはSTR修飾子を有効にする ModUi/&EnableSecondWindToUseOneDndUsagesProgression=セカンドウィンドを有効にして、5e 2024の使用状況の進行を使用します ModUi/&EnableSignatureSpellsRelearn=シグネチャー スペル を、長い休憩ごとに準備できるようにします [レベル 20 で 1 回ではなく] -ModUi/&EnableSorcererInnateSorceryAt1=レベル 1 で 生来の魔術 を有効にする +ModUi/&EnableSorcererArcaneApotheosis=20でアーケイン・アポセオシスを有効にする +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=レベル 1 と 7 で 生来の魔術 と 魔術の化身 を有効にします ModUi/&EnableSorcererMagicalGuidance=レベル5で魔法のガイダンスを有効にする ModUi/&EnableSorcererQuickenedAction=クイック呪文アクションを有効にすると、クイック呪文メタマジックを適用したメインアクション呪文をキャストできるようになります。 -ModUi/&EnableSorcerousRestorationAtLevel5=レベル5で魔法による回復を有効にする +ModUi/&EnableSorcererSorcerousRestoration=レベル5で魔法による回復を有効にする ModUi/&EnableSortingDungeonMakerAssets=ダンジョンメーカーエディタでアセットの並べ替えを有効にする +ModUi/&EnableSpeech=カスタム キャンペーンでスピーチを有効にする [ナレーションとヒーローのみ] +ModUi/&EnableSpeechActorHelp=• 俳優を選択 +ModUi/&EnableSpeechOnNpcs=+ NPC のスピーチを有効にする [キャンペーン マッピングまたは自動割り当てから] +ModUi/&EnableSpeechVoiceHelp=• 音声とナレーションの速度を選択します ModUi/&EnableStatsOnHeroTooltip=ヒーローのツールチップに統計情報を表示します [例: クリティカルヒット、クリティカル失敗など] ModUi/&EnableSumD20OnAlternateVotingSystem=+ また、各ヒーローはランダム性を高めるために D20 ロールを重みに追加します [選択重み = 投票数 * ヒーローのカリスマ修正値 + D20 ロール] ModUi/&EnableSurprisedToEnforceDisadvantage=驚き状態を有効にして、ラウンドをスキップする代わりにイニシアチブの不利を強制します。 ModUi/&EnableTeleportToRemoveRestrained=テレポートを有効にすると、ターゲットからすべての拘束状態が解除されます。 ModUi/&EnableTooltipDistance=戦闘中のキャラクターにマウスを移動したときにツールチップに距離が表示されるようにする ModUi/&EnableUnarmedMainAttackAction=素手攻撃アクションを有効にする [アクターがメインに武器を持っているか、モンクを持っているか、ハンドラップまたはガントレットを装備している場合] +ModUi/&EnableUnlimitedInventoryActions=ターンごとに無制限のインベントリアクションを有効にします。 ModUi/&EnableUpcastConjureElementalAndFey=エレメンタル召喚とフェイ召喚のアップキャストを有効にする ModUi/&EnableVariablePlaceholdersOnTexts=説明に変数プレースホルダーを有効にする [プレースホルダーとして {VARIABLE_NAME} を使用する] ModUi/&EnableVersatileAmmunitionSlots=ポーションと巻物を持ち運んで弾薬スロットで使用できるようにします @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=ポーションと魔法の狡猾さを有効にする ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=レベル2で魔法の狡猾さを有効にし、レベル20でエルドリッチマスターを向上させる ModUi/&EnableWarlockToLearnPatronAtLevel3=パトロンをレベル1ではなくレベル3で有効にする +ModUi/&EnableWizardMemorizeSpell=レベル5で呪文記憶を有効にする ModUi/&EnableWizardToLearnScholarAtLevel2=レベル2で学者を有効にする ModUi/&EnableWizardToLearnSchoolAtLevel3=魔法学校をレベル2ではなくレベル3で有効にする ModUi/&EnablesAsiAndFeat=属性スコアの増加と 特技 の選択の両方を有効にします [排他的選択の代わりに] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=アジア言語のゲーム UI テキストの ModUi/&FixEldritchBlastRange=エルドリッチ ブラストで24セルの範囲を使用します [12の代わりに] ModUi/&FixRingOfRegenerationHealRate=再生の指輪の回復速度を3分ごとに1HPに設定 ModUi/&FlightSuspendWingedBoots=+ ウィングドブーツの公式ルールを使用 [飛行が中断されると残り時間はカウントされません] +ModUi/&ForceModSpeechOnNpcs=+キャンペーンマッピングの代わりに、すべての NPC に音声の自動割り当てを強制する ModUi/&Formation=フォーメーション: ModUi/&FormationError=マルチプレイヤーゲーム中はフォーメーションを変更できません... ModUi/&FormationHelp1=• 数字ボタンを使用して、特定のセットを編集します [入力時にホットキーを有効にすることを検討してください] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=クイックキャストDarkelf、Dark Kobold、Gray Dwarf の Light Sensitivity を有効にすると、屋外でのみトリガーされます\n[ロード画面なしでアクセス可能な屋外の場所の屋内エリアは、ゲーム エンジンによって屋外とみなされます] ModUi/&Races=レース ModUi/&RecipeCost=レシピのコスト +ModUi/&RefreshVoice=ボイスリストを更新 ModUi/&RelicForgeries=遺物の偽造 ModUi/&RemoveAttunementRequirements=調整要件を削除します [再起動が必要です] ModUi/&RemoveBardMagicalSecretAt14And18=レベル14と18で魔法の秘密を削除します @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=ショップとインベントリのレシピ ModUi/&ShowCraftingRecipeInDetailedTooltips=詳細なツールチップにクラフトレシピを表示する ModUi/&ShowDescriptions=説明を表示 ModUi/&ShowMotionFormPreview=プッシュプル効果のプレビューを表示 +ModUi/&SpeechScale=ナレーション速度修飾子 [低いほど速くなります] ModUi/&SpellLevelFilter=スペルレベルフィルター [-1 はすべて表示] ModUi/&SpellsMenu=呪文 ModUi/&StealthBreaksWhenAttackHits=武器や呪文攻撃がヒットしたときにステルス解除を有効にする @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=第 1 レベルで付与され ModUi/&Translate=翻訳する ModUi/&TranslateCancel={1} で {0} をキャンセル ModUi/&Translations=翻訳: +ModUi/&UnityExplorer=Unity エクスプローラー UI ModUi/&UnleashEnemyAsNpc=NPCガジェットでモンスターを選択できるようにする ModUi/&UnleashNpcAsEnemy=モンスター選択のロックを解除 ModUi/&Update=更新 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt index 704552406d..bc060f15e5 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Cantrips-ja.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=緑炎の刃! Feedback/&AdditionalDamageResonatingStrikeLine={0} はグリーンフレイムブレードで {1} を燃やします! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=陽光の刃! Feedback/&AdditionalDamageSunlightBladeLine={0} がサンリット ブレードで {1} を照らします! (+{2}) -Feedback/&Within5Ft=5フィート -Feedback/&WithinReach=到着 Proxy/&ProxyCreateBonfireTitle=焚き火 Spell/&AcidClawsDescription=あなたの爪は鋭くなり、腐食攻撃を仕掛ける準備が整います。あなたの周囲 5 フィート以内にいる 1 体のクリーチャーに対して近接呪文攻撃を行います。命中すると、ターゲットは 1d8 の酸ダメージを受け、1 ラウンドの間、アーマー クラスが 1 低下します (重複しません)。 Spell/&AcidClawsTitle=アシッドクロー diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells01-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells01-ja.txt index aad09fcf7c..010a346736 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells01-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells01-ja.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} は {1} を素早く攻撃 Feedback/&AdditionalDamageThunderousSmiteFormat=雷鳴のスマイト! Feedback/&AdditionalDamageThunderousSmiteLine={0} は雷鳴の打撃により {1} にさらに多くのダメージを与えます (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=怒りのスマイト! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} は猛烈な打撃で {1} にさらに多くのダメージを与えます (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} は怒りの打撃で {1} にさらにダメージを与えます (+{2}) Feedback/&ChaosBoltGainLeap={0}は、{1}のリープパワーで追加の敵をターゲットにできます Feedback/&ChaosBoltRandomChoice={0} {1} をランダムに {2} として出現させます Feedback/&ChaosBoltRolledDifferentDice={0} は {1} 個の D8 ダメージ ダイスで {2} と {3} を出しました。 Feedback/&ChaosBoltRolledEqualDice={0} は両方の {1} D8 ダメージ ダイスで {2} を出しました。 Feedback/&FeatureGiftOfAlacrityLine={0} は {1} をトリガーし、{2} をイニシアチブに追加します +Feedback/&Within5Ft=5フィート +Feedback/&WithinReach=到着 Monster/&OwlFamiliarDescription=フクロウの使い魔。 Monster/&OwlFamiliarTitle=フクロウの使い魔 Reaction/&ReactionSpendPowerBundleChaosBoltDescription=ダメージタイプを選択してください。 @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=半径 10 フィートの球体の重力を急 Spell/&MagnifyGravityTitle=重力を拡大する Spell/&MuleDescription=この呪文の受信者は、重い荷物や鎧が移動速度に及ぼす影響を無視することができます。また、わずかに重い重量を運ぶこともできます。 Spell/&MuleTitle=ラバ +Spell/&ProtectionFromEvilGoodTitle=守る vs 悪と善 Spell/&RadiantMotesDescription=4 つの放射弾の群れを放ち、それぞれ 1d4 の放射ダメージを与えます。\n第 2 レベル以上の呪文スロットを使用してこの呪文を唱えると、この呪文は第 1 レベル以上のスロットごとにさらに 1 つの放射弾を生成します。 Spell/&RadiantMotesTitle=放射モート +Spell/&RayOfSicknessDescription=範囲内のクリーチャーに緑色の光線を発射します。ターゲットに対して遠隔呪文攻撃を行います。ヒットすると、ターゲットは 2d8 の毒ダメージを受け、次のターンの終了まで毒状態になります。ダメージは、呪文スロット レベルが 1 を超えるごとに 1d8 増加します。 +Spell/&RayOfSicknessTitle=病の光線 Spell/&SanctuaryDescription=あなたは範囲内のクリーチャーを攻撃から守ります。呪文が終了するまで、攻撃や有害な呪文でワードされたクリーチャーをターゲットにするクリーチャーは、まずウィズダム・セーヴィング・スローを行わなければなりません。保存に失敗すると、クリーチャーは攻撃または呪文を失います。この呪文は、ワードされたクリーチャーを範囲効果から保護しません。ワードされたクリーチャーが攻撃を行うか呪文を唱えると、この呪文は終了する。 Spell/&SearingSmiteDescription=次の攻撃で武器が白熱の強度でフレアし、その攻撃によりターゲットに 1d6 の追加の火炎ダメージが与えられ、ターゲットが炎上します。\n各ターンの開始時に、ターゲットは次の行動をとらなければなりません。耐久セービングスローに成功すると燃焼を止めることができ、さもなければ 1d6 の火ダメージを受ける。\n高レベル: 1 つ目以降のスロット レベルごとに、攻撃によって与えられる最初の追加ダメージが 1d6 ずつ増加する。 Spell/&SearingSmiteTitle=灼熱のスマイト @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=あなたは悪意のある力の力を呼び起こ Spell/&VoidGraspTitle=ハダルの武器 Spell/&WitchBoltDescription=パチパチと音を立てる青いエネルギーのビームが範囲内のクリーチャーに向かって発射され、あなたとターゲットの間に持続的な稲妻の弧を形成します。そのクリーチャーに対して遠隔呪文攻撃を行います。命中すると、ターゲットは 1d12 の稲妻ダメージを受け、持続時間中のあなたの各ターンで、アクションを使用してターゲットに 1d12 の稲妻ダメージを自動的に与えることができます。アクションを使用して他のことを行うと、呪文は終了します。ターゲットが呪文の射程外になった場合にも、呪文は終了します。この呪文を 2 レベル以上の呪文スロットを使用して発動すると、ダメージは 1 レベルを超える各スロット レベルごとに 1d12 増加します。 Spell/&WitchBoltTitle=ウィッチボルト -Spell/&WrathfulSmiteDescription=この呪文の持続時間中に次に近接武器攻撃を命中させると、攻撃は 1d6 の追加の精神ダメージを与えます。さらに、ターゲットがクリーチャーである場合、クリーチャーは【判断力】セーヴィング スローを行わなければ、呪文が終了するまであなたを恐れます。アクションとして、クリーチャーはあなたの呪文セーヴィング DC に対して【判断力】判定を行い、決意を固めてこの呪文を終了することができます。 +Spell/&WrathfulSmiteDescription=対象は攻撃により 1d6 の追加壊死ダメージを受け、呪文が終了するまで、知恵セーヴィング スローに成功するか、恐怖状態になる必要があります。各ターンの終了時に、恐怖状態の対象はセーヴィング スローを繰り返し、成功すると自分自身への呪文を終了します。ダメージは、呪文スロット レベルが 1 を超えるごとに 1d6 ずつ増加します。 Spell/&WrathfulSmiteTitle=怒りのスマイト Tooltip/&TagDamagePureTitle=カオスダメージ diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt index c4a0d5a7b6..b06fc9a9ce 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells02-ja.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=発光キューブを破裂させ、10 フィート 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/&MirrorImageDescription=あなたの空間に、あなたの幻影の分身が 3 体出現します。呪文が終了するまで、分身はあなたと共に移動し、あなたの行動を真似て位置を移動するため、どのイメージが本物か追跡することは不可能です。呪文の持続時間中にクリーチャーが攻撃ロールであなたに命中するたびに、残っている分身ごとに d6 をロールします。d6 のいずれかが 3 以上をロールした場合、あなたではなく分身の 1 つが命中し、分身は破壊されます。それ以外の場合、分身は他のすべてのダメージと効果を無視します。3 つの分身がすべて破壊されると、呪文は終了します。クリーチャーが盲目状態、盲視、または真視を持っている場合、この呪文の影響を受けません。 Spell/&MirrorImageTitle=鏡像 Spell/&NoxiousSprayDescription=範囲内のターゲットに有毒ガスを噴射します。遠隔呪文攻撃を行います。命中すると、ターゲットは 4d6 の毒ダメージを受け、耐久力セーヴィング スローに成功しなければ次のターン中ずっと嘔吐と吐き戻しを繰り返すことになり、移動や行動ができなくなります。人造生物、精霊、アンデッドはこの呪文の影響を受けません。3 レベル以上のスロットを使用してこの呪文を発動する場合、2 レベルを超えるスロット レベルごとに 1 体のクリーチャーを追加でターゲットにすることができます。 Spell/&NoxiousSprayTitle=有害スプレー diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt index f6ac675afd..c19dced5e7 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells03-ja.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=あなたは、敵に襲い掛かる前に一瞬現 Spell/&AdderFangsTitle=アダーの牙 Spell/&AshardalonStrideDescription=竜の渦巻く炎があなたの足元から噴き出し、爆発的なスピードを与えます。持続時間中、あなたのスピードは 20 フィート増加し、移動しても機会攻撃を誘発しません。あなたが着用または運搬されていないクリーチャーまたは物体の 5 フィート以内に移動すると、それはあなたの熱の軌跡から 1d6 の火炎ダメージを受けます。クリーチャーまたは物体は、ターン中にこのダメージを 1 回だけ受けます。この呪文を 4 レベル以上の呪文スロットを使用して発動すると、3 レベルを超える呪文スロット レベルごとにスピードが 5 フィート増加します。この呪文は、3 レベルを超えるスロット レベルごとに追加の 1d6 の火炎ダメージを与えます。 Spell/&AshardalonStrideTitle=アシャーダロンの歩み -Spell/&AuraOfLifeDescription=治癒エネルギーはあなたから半径 30 フィートのオーラとして放射されます。呪文が終わるまで、オーラはあなたを中心としてあなたと一緒に移動します。あなたはボーナス アクションを使用して、オーラ内の 1 体のクリーチャー (あなたを含む) に 2d6 ヒット ポイントを回復させることができます。 +Spell/&AuraOfLifeDescription=治癒エネルギーが、半径 30 フィートのオーラとしてあなたから放射されます。オーラを作成するとき、およびそれが持続するその後の各ターン中、あなたはフリー アクションとして、その中にいる 1 体のクリーチャーのヒット ポイントを 2d6 回復できます。 Spell/&AuraOfLifeTitle=活力のオーラ Spell/&BlindingSmiteDescription=この呪文の持続時間中に次に近接武器攻撃でクリーチャーを攻撃すると、武器が明るい光を放ち、その攻撃はターゲットに追加で 3d8 の光ダメージを与えます。さらに、ターゲットは耐久力セーヴィング スローに成功しなければ、呪文が終了するまで盲目になります。この呪文によって盲目になったクリーチャーは、各ターンの終了時にもう一度耐久力セーヴィング スローを行います。セーヴィングに成功すると、盲目状態は解除されます。 Spell/&BlindingSmiteTitle=ブラインディング・スマイト @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=あなたは範囲内に見える誰もいない Spell/&BoomingStepTitle=サンダーステップ Spell/&CorruptingBoltDescription=壊死エネルギーのパルスを発射して、生き物の体を萎縮させ、腐敗させ始めることができます。クリーチャーに対して遠隔攻撃を行います。ヒットすると、ターゲットは 4d8 の壊死ダメージを受け、憲法セーヴィング スローを成功させなければなりません。セーヴィング・スローが失敗した場合、次にあなたまたはあなたの味方が次のターンの終了前に破損したクリーチャーに攻撃を当てると、そのクリーチャーはその攻撃によるダメージすべてに対して脆弱になり、その後破損は終了します。あなたが第 4 レベル以上の呪文スロットを使用してこの呪文を唱えると、ダメージは第 3 レベル以上のスロット レベルごとに 1d8 ずつ増加します。 Spell/&CorruptingBoltTitle=破損したボルト -Spell/&CrusadersMantleDescription=魔法のようなオーラに包まれましょう。オーラ内の味方は攻撃時にボーナス 1d4 放射ダメージを獲得します。 +Spell/&CrusadersMantleDescription=あなたから半径 30 フィートのオーラで聖なる力が放射され、友好的なクリーチャーの大胆さを目覚めさせます。呪文が終了するまで、オーラはあなたを中心にあなたと共に移動します。オーラ内にいる間、オーラ内の非敵対的なクリーチャー (あなたを含む) は攻撃が命中したときに 1d4 の追加の光ダメージを与えます。 Spell/&CrusadersMantleTitle=十字軍のマント Spell/&ElementalWeaponDamageAcidDescription=非魔法の武器に酸ダメージを与えます。 Spell/&ElementalWeaponDamageAcidTitle=酸のエレメンタル武器 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells05-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells05-ja.txt index 0e64a99e9b..f7dc2ed185 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells05-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells05-ja.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=使用した風船と同じ色の小さな球体が Spell/&SonicBoomTitle=ソニックブーム Spell/&SteelWhirlwindDescription=あなたは詠唱に使用された武器を輝かせ、そして風のように攻撃するために消えます。範囲内で見える生き物を最大 5 つ選択します。各ターゲットに対して近接呪文攻撃を行います。命中すると、ターゲットは 6d10 のフォースダメージを受けます。その後、ヒットまたはミスしたターゲットの 1 つから 5 フィート以内に見える空いているスペースにテレポートできます。 Spell/&SteelWhirlwindTitle=スチールウィンドストライク -Spell/&SwiftQuiverDescription=矢筒を変形して、手を伸ばすと自動的に弾薬が手の中に飛び込むようにします。呪文が終了するまで、各ターンごとにボーナス アクションを使用して遠隔武器で 2 回の攻撃を行うことができます。 +Spell/&SwiftQuiverDescription=呪文を発動すると、ボーナス アクションとして呪文が終了するまで、ロングボウやライト クロスボウなどの矢やボルトを発射する武器で 2 回の攻撃を行うことができます。呪文は各攻撃に必要な弾薬を魔法的に作成します。呪文によって作成された矢やボルトはそれぞれ、その種類の非魔法の弾薬と同様にダメージを与え、命中またはミスするとすぐに崩壊します。 Spell/&SwiftQuiverTitle=スウィフトクイヴァー Spell/&SynapticStaticDescription=範囲内の一点を選び、そこでサイキック エネルギーを爆発させます。その点を中心とした半径 20 フィートの球体内のすべてのクリーチャーは、【知力】セーヴィング スローを行わなければなりません。セーヴィング スローに失敗すると、ターゲットは 8d6 のサイキック ダメージを受け、成功すると半分のダメージを受けます。セーヴィング スローに失敗すると、ターゲットは 1 分間思考が混乱します。その間、ターゲットは d6 をロールし、出た目をすべての攻撃ロールと能力値チェックから差し引きます。ターゲットは各ターンの終了時に【知力】セーヴィング スローを行うことができ、成功するとターゲット自身への効果を終了します。 Spell/&SynapticStaticTitle=シナプススタティック diff --git a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt index 96c2d0fc59..11e106371f 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Spells/Spells09-ja.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=燃える炎の球体が範囲内で Spell/&MeteorSwarmSingleTargetTitle=流星群 Spell/&PowerWordHealDescription=触れたクリーチャーに治癒エネルギーの波が押し寄せます。ターゲットはヒット ポイントをすべて回復します。クリーチャーが魅了、恐怖、麻痺、毒、または気絶状態の場合、この状態は終了します。クリーチャーがうつ伏せ状態の場合、反応を利用して立ち上がることができます。この呪文はアンデッドや構築物には効果がありません。 Spell/&PowerWordHealTitle=パワーワードヒール -Spell/&PowerWordKillDescription=あなたが発する力の言葉は、範囲内に見える生き物 1 匹を即死させることができます。あなたが選んだクリーチャーのヒット・ポイントが100以下の場合、それは死亡します。そうしないと、呪文は効果がありません。 +Spell/&PowerWordKillDescription=範囲内にいる、あなたが見ることができるクリーチャー 1 体を死に至らしめます。ターゲットのヒット ポイントが 100 以下であれば、そのクリーチャーは死にます。それ以外の場合は、12d12 の精神ダメージを受けます。 Spell/&PowerWordKillTitle=パワーワードキル Spell/&PsychicScreamDescription=精神の力を解き放ち、範囲内にいる、あなたが選択した最大 10 体のクリーチャーの知性を爆破します。各ターゲットは、知性セーヴィング スローを実行する必要があります。セーヴィングに失敗すると、ターゲットは 14d6 の精神ダメージを受け、1 分間気絶します。セーヴィングに成功すると、ターゲットは半分のダメージを受け、気絶しません。気絶したターゲットは、各ターンの終了時に知性セーヴィング スローを実行できます。セーヴィングに成功すると、気絶効果は終了します。 Spell/&PsychicScreamTitle=サイキックスクリーム @@ -25,5 +25,5 @@ Spell/&ShapechangeDescription=その間、あなたは別の生き物の姿を Spell/&ShapechangeTitle=形状変化 Spell/&TimeStopDescription=自分以外の全員の時間の流れを一時的に停止します。他のクリーチャーには時間は流れませんが、あなたは 1d4+1 ターン連続でターンを行い、その間は通常通りアクションを使用したり移動したりできます。この期間中に使用したアクションの 1 つ、またはこの期間中に作成した効果が自分以外のクリーチャーに影響を及ぼすと、この呪文は終了します。 Spell/&TimeStopTitle=タイムストップ -Spell/&WeirdDescription=クリーチャーの集団の最も深い恐怖を利用して、その心の中に、そのクリーチャーにしか見えない幻影のクリーチャーを作り出す。範囲内の、君が選んだ地点を中心とした半径 30 フィートの球体の中にいる各敵は、【判断力】セーヴィング スローを行わなければならない。セーヴィングに失敗すると、クリーチャーは効果時間中、怯え状態になる。幻影はクリーチャーの最も深い恐怖を呼び起こし、最悪の悪夢を容赦ない脅威として顕現させる。怯えているクリーチャーは、ターンの終了時に【判断力】セーヴィング スローに成功するか、4d10 の精神ダメージを受けるかのどちらかである。セーヴィングに成功すると、そのクリーチャーの呪文は終了する。 +Spell/&WeirdDescription=あなたは他人の心に幻覚的な恐怖を生み出そうとします。範囲内の点を中心とした半径 30 フィートの球体内にいる、あなたが選んだ各クリーチャーは、知恵セーヴィング スローを行います。セーヴィングに失敗すると、ターゲットは 10d10 の精神ダメージを受け、持続時間中、怯え状態になります。セーヴィングに成功すると、ターゲットは半分のダメージしか受けません。怯え状態のターゲットは、各ターンの終了時に知恵セーヴィング スローを行います。セーヴィングに失敗すると、5d10 の精神ダメージを受けます。セーヴィングに成功すると、そのターゲットに対する呪文は終了します。 Spell/&WeirdTitle=奇妙な diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/CircleOfTheAncientForest-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/CircleOfTheAncientForest-ja.txt index 688578e4e1..c9a5e05262 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/CircleOfTheAncientForest-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/CircleOfTheAncientForest-ja.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=あなたには治癒力が蓄え Feature/&PowerAncientForestRegrowthTitle=再成長 Feature/&PowerAncientForestRootedDescription=樹上性の蔓が足元から伸びて地面に食い込みます。スピードが 0 になり、押したり、引いたり、伏せたりするセーヴィング スローで有利になります。エンタングルを自在にキャストできます。 Feature/&PowerAncientForestRootedTitle=根付いた -Feature/&PowerPoolAncientForestHerbalBrewDescription=次の長い休憩まで持続するハーブ醸造を作成できます。熟練度ボーナスと同じ数のビールを作成します。醸造ごとに、次の効果のいずれかを選択します:\n強化醸造: 1 時間、さまざまな種類のダメージに対する耐性を与えます。\n急速な醸造 color>: 2d4 ヒット ポイントを提供します。\n有毒な醸造: 1 分間効果が持続する武器に適用できる毒として機能します。ヒットが命中した場合、ターゲットはヒットごとに 1d4 の毒ダメージを受けます。 +Feature/&PowerPoolAncientForestHerbalBrewDescription=次の長い休憩まで持続するハーブ醸造を作成できます。熟練度ボーナスと同じ数のビールを作成します。醸造ごとに、次の効果のいずれかを選択します:\n強化醸造: 1 時間、さまざまな種類のダメージに対する耐性を与えます。\n急速な醸造 color>: 2d4 ヒット ポイントを提供します。\n有毒な醸造: 1 分間効果が持続する武器に適用できる毒として機能します。ヒットが命中した場合、ターゲットはヒットごとに 1d4 の毒ダメージを受けます。 Feature/&PowerPoolAncientForestHerbalBrewTitle=ハーブ醸造 Feature/&PowerPoolAncientForestWallOfThornsDescription=あなたは「知恵」修正値に等しい回数だけ「いばらの壁」を唱えることができます。長い休憩で充電されます。 Feature/&PowerPoolAncientForestWallOfThornsTitle=いばらの壁 diff --git a/SolastaUnfinishedBusiness/Translations/ko/FightingStyles-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/FightingStyles-ko.txt index bb671de453..3027f93458 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/FightingStyles-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/FightingStyles-ko.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=실행! Feedback/&AdditionalDamageExecutionerLine={0}는 +{2}의 추가 피해를 위해 {1}을 실행합니다! FightingStyle/&AstralReachDescription=두 손이 모두 자유로운 경우 비무장 상태일 때 도달 범위가 5피트 늘어납니다. FightingStyle/&AstralReachTitle=아스트랄 리치 +FightingStyle/&BlessedWarriorDescription=당신은 성직자 주문 목록에서 선택한 두 개의 칸트립을 배웁니다. 그것들은 당신에게 팔라딘 주문으로 간주되고, 카리스마는 그것들에 대한 당신의 주문 시전 능력입니다. +FightingStyle/&BlessedWarriorTitle=축복받은 전사 FightingStyle/&BlindFightingDescription=당신은 10피트 범위의 맹인 시야를 가지고 있습니다. 그 범위 내에서는 눈이 멀거나 어둠 속에 있더라도 전체 덮개 뒤에 있지 않은 모든 것을 효과적으로 볼 수 있습니다. 더욱이, 그 생물이 당신에게서 성공적으로 숨지 않는 한, 당신은 그 범위 안에 있는 보이지 않는 생물을 볼 수 있습니다. FightingStyle/&BlindFightingTitle=맹목적인 싸움 FightingStyle/&CripplingDescription=근접 공격 공격으로 다음 턴이 끝날 때까지 상대방의 속도를 10피트만큼 줄입니다. FightingStyle/&CripplingTitle=마비 +FightingStyle/&DruidicWarriorDescription=드루이드 주문 목록에서 선택한 두 개의 칸트립을 배웁니다. 이들은 당신에게 레인저 주문으로 간주되고, 지혜는 그들에게 당신의 주문 시전 능력입니다. +FightingStyle/&DruidicWarriorTitle=드루이드 전사 FightingStyle/&ExecutionerDescription=당신은 눈이 멀거나, 겁에 질리거나, 제지되거나, 무력화되거나, 마비되거나, 쓰러지거나 기절한 생물에 대한 피해에 숙련도 보너스를 추가합니다. FightingStyle/&ExecutionerTitle=실행자 FightingStyle/&HandAndAHalfDescription=당신은 근접 한손 또는 다용도 무기를 휘두르며 다른 무기나 방패를 사용하지 않는 동안 공격 굴림에 +1 보너스를 받고 방어구 클래스에 +1 보너스를 받습니다. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0}이(가) 동맹국 중 하나를 Reaction/&ReactionAttackSentinelReactDescription=반응을 이용해 공격하세요. Reaction/&ReactionAttackSentinelReactTitle=공격 Reaction/&ReactionAttackSentinelTitle=보초 +Tag/&BlessedWarriorCantripSpecialTagTitle=축복받은 전사의 주문 +Tag/&DruidicWarriorCantripSpecialTagTitle=드루이드 전사 주문 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Invocations-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Invocations-ko.txt index 1140fb90b5..b1cbaff2fc 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Invocations-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Invocations-ko.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=보너스 액션으로 Feature/&PowerInvocationPerniciousCloakRemoveTitle=파리 망토 제거 Feedback/&AdditionalDamageEldritchSmiteFormat=엘드리치 스마이트! Feedback/&AdditionalDamageEldritchSmiteLine={0} 강타 {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=생물에 결속되면 추가 효과를 얻습니다. Imp에 바인딩되면 더 큰 투명도를 얻고, Pseudo Dragon에 바인딩하면 비행 및 독이 깃든 공격을 얻고, Quasit에 바인딩하면 추가 주요 행동과 민첩 내성 굴림에 대한 이점을 얻고, Sprite에 바인딩하면 최소 갑옷 클래스 점수를 얻습니다. 16 및 공격자는 당신에 대해 불리한 입장을 취합니다. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=생물에 바인딩하면 추가 효과를 얻습니다. Imp에 바인딩하면 더 큰 투명화를 얻고, Pseudo Dragon에 바인딩하면 비행과 독이 주입된 공격을 얻고, Quasit에 바인딩하면 추가 공격과 민첩성 세이빙 스로우에 이점을 얻고, Sprite에 바인딩하면 최소 16의 AC 점수를 얻고 공격자는 당신에게 불리합니다. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=체인 마스터의 능력 Invocation/&InvocationAspectOfTheMoonDescription=더 이상 잠을 잘 필요가 없으며 감시할 수 있어 공격 가능성이 낮아지고 캠프가 공격을 받을 경우 깨어날 수 있습니다. Invocation/&InvocationAspectOfTheMoonTitle=달의 위상 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 97b176536f..84183e10b7 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=타고난 마법 Condition/&ConditionStaggeringBlowAoODescription=다음 턴이 시작될 때까지 기회 공격을 할 수 없습니다. Condition/&ConditionStaggeringBlowAoOTitle=엄청난 타격 Condition/&ConditionStopMovementTitle=중지됨 +Condition/&ConditionStudiedAttacksDescription=소스는 다음에 당신을 공격할 때 유리합니다. +Condition/&ConditionStudiedAttacksTitle=연구된 공격 Condition/&ConditionTauntedDescription=당신은 조롱하는 사람 이외의 생물에 대한 공격 굴림에 불이익을 받습니다. Condition/&ConditionTauntedTitle=도발됨 Condition/&FlightSuspendDescription=진행 중인 비행 효과가 중단되었습니다. @@ -75,13 +77,13 @@ ContentPack/&9999Description=Unfinished Business Pack은 진정한 Horn of Plent ContentPack/&9999Title=미완성 비즈니스 팩 Equipment/&BeltOfRegeneration_Function_Description=1분 동안 라운드당 5개의 체력을 재생합니다. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=이 무기를 휘두르고 그에 맞춰 조정하는 동안 공격은 18, 19 또는 20에 치명타를 기록합니다. +Failure/&CannotAttackTarget=이 대상에 공격을 수행할 수 없습니다 Failure/&FailureFlagCannotTargetUndead=언데드 생물을 대상으로 할 수 없습니다. Failure/&FailureFlagMaterialComponentHandsFull=재료 주문 구성 요소를 자유롭게 사용할 수 없습니다. Failure/&FailureFlagMustKnowLanguage=이 생물을 지휘하려면 {0} 언어에 능통해야 합니다. Failure/&FailureFlagTargetMustNotBeSurprised=타겟은 놀라지 않아야 합니다. Failure/&FailureFlagTargetMustUnderstandYou=타겟은 당신의 명령을 이해해야 합니다 Failure/&SecondTargetNotWithinRange=첫 번째 범위 내에 있지 않으므로 이 대상을 선택할 수 없습니다. -Failure/&TargetMeleeWeaponError={0} 내에 없기 때문에 이 대상에 근접 공격을 수행할 수 없습니다. Failure/&TargetMustBeNoMoreThanOneSizeLarger=타겟은 한 사이즈 이상 커야 합니다. Failure/&TargetMustHaveHolyWeapon=대상은 신성한 무기를 가지고 있어야 합니다. Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=불이 켜지지 않거나 마법의 어둠 속에 있을 때 지혜(지각) 판정에 유리합니다. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=주도권을 굴릴 때, Feature/&FeatureBardSuperiorInspiration2024Title=뛰어난 영감 Feature/&FeatureEldritchMasterDescription=마법의 교활함 기능을 사용하면 소모한 팩트 마법 주문 슬롯을 모두 회복합니다. Feature/&FeatureEldritchMasterTitle=엘드리치 마스터 +Feature/&FeatureFighterStudiedAttacksDescription=당신은 상대방을 연구하고 당신이 하는 모든 공격에서 배웁니다. 만약 당신이 생물에 대한 공격 굴림을 하고 실패하면, 당신은 다음 턴이 끝나기 전에 그 생물에 대한 다음 공격 굴림에서 이점을 얻습니다. +Feature/&FeatureFighterStudiedAttacksTitle=연구된 공격 +Feature/&FeatureFighterTacticalMindDescription=당신은 전술에 대한 마인드를 가지고 있고 전장 안팎에서 우위를 점합니다. 능력치 검사에 실패하면 Second Wind를 사용하여 성공으로 나아갈 수 있습니다. 생명력을 회복하는 대신 1d10을 굴리고 굴린 숫자를 능력치 검사에 더하면 성공으로 바뀔 가능성이 있습니다. 검사에 여전히 실패하면 Second Wind를 사용하지 않습니다. +Feature/&FeatureFighterTacticalMindTitle=전술적 마인드 +Feature/&FeatureFighterTacticalShiftDescription=보너스 액션으로 세컨드 윈드를 활성화할 때마다 기회 공격을 유발하지 않고 속도의 최대 절반까지 이동할 수 있습니다. +Feature/&FeatureFighterTacticalShiftTitle=전술적 변화 +Feature/&FeatureImprovedRogueCunningStrikeDescription=몰래 공격 피해를 입힐 때 최대 2개의 교활한 일격 효과를 사용할 수 있으며, 각 효과에 대한 주사위 비용을 지불합니다. +Feature/&FeatureImprovedRogueCunningStrikeTitle=개선된 교활한 공격 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• 바람의 발걸음: 바람의 발걸음 기능(해제 또는 돌진)을 사용하면 다른 효과의 이점도 얻습니다. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=원초적 순서 Feature/&FeatureSetDruidPrimalOrderWardenDescription=전투 훈련을 받으면 무술 무기를 능숙하게 다루고 중갑옷을 다루는 훈련을 받습니다. Feature/&FeatureSetDruidPrimalOrderWardenTitle=파수꾼 Feature/&FeatureSetRageExtendedDescription=전투에서는 원시적인 잔인함으로 싸웁니다. 자신의 차례에 보너스 행동으로 분노를 입력할 수 있습니다. 이를 통해 힘 세이브 및 체크에 이점을 부여하고 근접 공격 데미지에 초기 +2 보너스를 부여하며 슬래시, 곤봉 및 관통 데미지에 대한 저항력을 부여합니다. 무거운 갑옷을 입지 않은 경우에만 이러한 이점을 얻을 수 있습니다. 1분 동안 지속되거나 마지막 턴 이후 공격을 받거나 피해를 입지 않은 경우 종료됩니다.\n 2개의 분노로 시작하고 오랜 휴식 후 갱신됩니다. 레벨 7에서는 잠시 휴식을 취한 후 분노 포인트 1을 회복합니다. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=선천적 마법을 더 이상 사용할 수 없다면, 보너스 액션을 취해 활성화할 때 마법 포인트 2개를 사용하면 사용할 수 있습니다. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=마법의 화신 +Feature/&FeatureSorcererArcaneApotheosisDescription=선천적 마법 기능이 활성화되어 있는 동안에는 각 턴에 마법 포인트를 소모하지 않고도 메타매직 옵션 하나를 사용할 수 있습니다. +Feature/&FeatureSorcererArcaneApotheosisTitle=비전의 신격화 Feature/&FeatureSorcererMagicalGuidanceDescription=당신은 실패로부터 성공을 시도하고 이끌어내기 위해 내면의 마법의 원천을 활용할 수 있습니다. 능력 검사에 실패하면 1마법 포인트를 사용하여 d20을 다시 굴릴 수 있고 새 굴림을 사용해야 잠재적으로 실패가 성공으로 바뀔 수 있습니다. Feature/&FeatureSorcererMagicalGuidanceTitle=마법의 인도 +Feature/&FeatureWizardMemorizeSpellDescription=짧은 휴식을 마칠 때마다 주문서를 공부하고 주문 시전 기능을 위해 준비한 레벨 1 이상의 마법사 주문 중 하나를 주문서에 있는 다른 레벨 1 이상의 주문으로 바꿀 수 있습니다. +Feature/&FeatureWizardMemorizeSpellTitle=주문을 외우다 Feature/&FighterExtraAttackDescription=공격이나 밀기 동작을 사용할 때 한 번이 아닌 두 번 공격할 수 있습니다. Feature/&FlightResumeDescription=일시 중지된 비행 효과를 재개합니다. Feature/&FlightResumeTitle=비행 재개 @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=다음 도구 중 하나를 선택하 Feature/&VisionBlindsightDescription=당신은 시력이 없습니다. Feedback/&AdditionalDamageBrutalStrikeFormat=잔인한 일격 Feedback/&AdditionalDamageBrutalStrikeLine=잔인한 일격이 추가로 +{2} 피해를 입힙니다! +Feedback/&AdditionalDamageCrusadersMantleFormat=십자군의 망토! +Feedback/&AdditionalDamageCrusadersMantleLine={0}이 {1}을 공격하여 추가로 {2}의 광휘 피해를 입힙니다! Feedback/&AdditionalDamageSunderingBlowFormat=가르는 일격 Feedback/&AdditionalDamageSunderingBlowLine=Sundering Blow는 추가 +{2} 피해를 입힙니다! Feedback/&AdditionalDamageTrueStrikeFormat=트루 스트라이크! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0}는 {2} 결과와 함께 {1} 설명 선택을 Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=여행 중에는 휴식 후 식별 전원을 사용할 수 없습니다. Feedback/&ReturningWeaponActivates={1}이(가) {0}(으)로 돌아갑니다! Feedback/&SmallRace=소규모 경주 +Feedback/&TacticalMindCheckToHitRoll={0}이 {1}을 사용하고 체크 롤에 {2}을 추가합니다. +Feedback/&TacticalMindCheckToHitRollFailure={0}이 {1}을 사용하여 체크 롤에 {2}을 추가했지만 결과를 변경하기에 충분하지 않았습니다. +Feedback/&TacticalMindCheckToHitRollSuccess={0}은 {1}을 사용하고, 체크 롤에 {2}을 추가하고, 결과를 변경하고, Second Wind를 소모합니다. Feedback/&TriggerFeatureLine={0}은 {1}을 트리거합니다. Feedback/&TriggerRerollLine={0}는 {1}을 활성화하여 {2} = {3}을(를) 다시 굴립니다. Feedback/&TrueSightAndIllusionSpells={0}은(는) 진정한 시력을 갖고 있으며 이 주문의 영향을 받지 않습니다. @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=당신은 수표 판정 Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=체크 롤을 교체하려면 d20을 굴립니다. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=마법의 인도 Reaction/&CustomReactionMagicalGuidanceCheckTitle=마법의 인도 +Reaction/&CustomReactionTacticalMindCheckDescription=체크 롤에 실패했습니다. 1초의 바람을 사용하여 d10을 굴리고 그 결과를 체크 롤에 추가할 수 있습니다. +Reaction/&CustomReactionTacticalMindCheckReactDescription=D10을 굴려 그 결과를 체크 롤에 더합니다. +Reaction/&CustomReactionTacticalMindCheckReactTitle=전술적 마인드 +Reaction/&CustomReactionTacticalMindCheckTitle=전술적 마인드 Reaction/&ReactionSpendPowerBundleDescription=힘을 쓰세요. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=추가 효과를 적용할 수 있습니다. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=추가 효과를 적용합니다. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=자동 전원 Rules/&ActivationTypeOnRageStartAutomaticTitle=자동 분노 시작 Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=자동 생명체의 HP가 0으로 감소했습니다. Rules/&ActivationTypeOnSneakAttackHitAutoTitle=자동 몰래 공격 +Rules/&ConditionMarkedByHunterExtendedDescription=시전자의 무기 공격에 맞으면 +1d6의 힘 피해를 입습니다. Rules/&ConditionOneDndBarkskinDescription=해당 생물의 방어력이 최소 17이 됩니다. Rules/&ConditionStoneskinExtendedDescription=둔기, 베기, 찌르기 피해에 대한 저항력. Rules/&CounterFormDismissCreatureFormat=소환된 대상 생물을 해제합니다. @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=주문에 집중하고 있습니다: Rules/&SituationalContext9018Format=효과의 원천은 다음과 같습니다: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=마법사 레벨의 절반까지 마법 포인트를 회복합니다(반올림). Rules/&TurnOccurenceEndOfSourceTurnFormat=턴의 최종 소스 +Screen/&CharacterInspectionModeBattleUnlimitedTitle=라운드당 무제한으로 인벤토리 작업을 수행할 수 있습니다. Screen/&ClassExtraSpellDescriptionFormat=당신은 {0} 클래스에서 이 주문을 알고 있습니다. Screen/&EditorLocationSize3Title=거대한 [MODDED] Screen/&EditorLocationSize4Title=거대한 [MODDED] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=당신은 다른 레퍼토리에서 이 Screen/&MulticlassExtraSpellTitle=멀티클래스 Screen/&PatronExtraSpellDescription=후원자 주문 Screen/&PatronExtraSpellTitle=후원자 +Screen/&PreparePanelMemorizeSpellSelect=준비할 주문을 선택하세요. Screen/&RaceExtraSpellDescription=당신은 당신의 유산에서 이 주문을 알고 있습니다. Screen/&RaceExtraSpellTitle=유산 Screen/&RangerSpellDescription=이 주문은 당신의 레인저 원형에 의해 부여되었으며 당신에게 알려진 것으로 간주됩니다. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=이 레벨에서 조약 마법 슬롯 Screen/&SubclassClassExtraSpellDescriptionFormat=당신은 {0} 하위 클래스에서 이 주문을 알고 있습니다. Screen/&SwitchConfigurationDescription=장착된 항목을 다음 구성으로 전환하세요: {0}.\n가능하면 손을 떼지 않으려면 Ctrl 키를 누르세요. Spell/&ConjureElementalInvisibleStalkerTitle=정령 소환 [투명 추적자] +Spell/&HuntersMarkExtendedDescription=적은 당신에게서 추가적인 힘의 피해를 받으며, 제한된 시간 동안 쉽게 감지할 수 있습니다. +Spell/&PowerWordStunExtendedDescription=범위 내에서 볼 수 있는 한 생명체의 정신을 압도합니다. 대상의 생명력이 150 이하이면 기절 상태가 됩니다. 그렇지 않으면 다음 턴이 시작될 때까지 속도가 0입니다. 기절 상태인 대상은 각 턴이 끝날 때마다 체력 구원 굴림을 하여 성공 시 해당 상태가 끝납니다. +Spell/&SpareTheDyingExtendedDescription=범위 내에 있는 0의 생명력을 가지고 있고 죽지 않은 생물을 선택하세요. 생물은 안정 상태가 됩니다. 레벨 5(30피트), 11(60피트), 17(120피트)에 도달하면 범위가 두 배가 됩니다. Spell/&StoneskinExtendedDescription=타격, 베기, 찌르기 피해에 대한 저항력을 부여합니다. Spell/&TrueStrike2024Description=마법적 통찰력의 섬광에 이끌려 주문을 시전하는 데 사용된 무기로 한 번의 공격을 합니다. 공격은 공격과 피해 굴림에 주문 시전 능력을 사용하거나 힘이나 민첩성 중 더 높은 것을 사용합니다. 공격이 적중하면 무기의 일반적인 피해 유형 대신 Radiant 피해를 입힙니다. 공격은 레벨 5(1d6), 11(2d6), 17(3d6)에 도달하면 추가 Radiant 피해를 입힙니다. Stage/&IdentityMorphotypeEyeHeader=아이 스타일 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index d154fa4036..34a0eb5148 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=다재다능함 ModUi/&DontEndTurnAfterReady=준비 액션 후에 턴을 끝내지 마세요 [다른 출처에서 보너스 액션이나 다른 주요 액션을 허용합니다] ModUi/&DontFollowCharacterInBattle=캐릭터가 이미 화면에 있는 경우 전투 카메라가 따라가지 않습니다. ModUi/&DontFollowMargin=+ 영웅이 화면 가장자리 밖에 있거나 % 이내에 있지 않는 한 +ModUi/&DownloadVoice=추천된 음성 다운로드 +ModUi/&DownloadVoiceOngoing={0}에서 다운로드 중 ModUi/&DungeonMaker=던전메이커 ModUi/&DungeonMakerBasicHelp=• 이러한 설정은 플레이어가 이 모드를 설치하도록 요구하지 않습니다. ModUi/&Effects=효과 @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=35포인트의 장대한 구매 시스템과 배 ModUi/&EnableExtendedProficienciesPanelDisplay=확장된 숙련도 패널 표시 활성화 [비밀의 사격, 주입, 기동 및 다양성]\n[캐릭터 검사 시 성능 저하. 사용 시 모든 위험을 감수해야 함] ModUi/&EnableFeatsAtEvenLevels=레벨 2, 10, 18에서 특기 선택 활성화 ModUi/&EnableFeatsAtEvenLevelsMiddle=레벨 6과 14에서 특기 선택 활성화 +ModUi/&EnableFighterStudiedAttacks=레벨 13에서 공격 연구를 활성화합니다. [이번 라운드에 생물에 대한 이전 공격이 빗나갔을 경우 유리함] +ModUi/&EnableFighterTacticalProgression=레벨 2와 5에서 전술적 마인드와 전술적 변화를 활성화합니다. [2차 바람 시나리오 증강] ModUi/&EnableFighterWeaponSpecialization=레벨 8과 16에서 무기 전문화 활성화 [명중률과 피해량이 +1 증가하지만 다른 무기 유형에는 불리함] ModUi/&EnableFlexibleBackgrounds=유연한 배경 사용 [배경에서 기술 및 도구 숙련도 선택] ModUi/&EnableFlexibleRaces=유연한 종족 활성화 [종족 기본값 대신 능력치 점수 할당] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=레벨 2와 11에서 무기 ModUi/&EnableMulticlass=다중클래스 활성화 [재시작 필요] ModUi/&EnableOneDnDPreparedSpellsTables=모든 주문자가 새로 준비된 주문표 [바드, 성직자, 드루이드, 성기사, 레인저, 마법사, 마법사]를 사용할 수 있도록 합니다. ModUi/&EnableOneDndBarkskinSpell=Barkskin 5e 2024 주문 버전 활성화 [보너스 액션, 집중 없음, AC 17로 설정] -ModUi/&EnableOneDndDamagingSpellsUpgrade=비전의 검, 죽음의 원, 불꽃 일격, 얼음 폭풍, 사악한 조롱 5e 2024 주문 버전 [더 높은 데미지]을 활성화합니다. +ModUi/&EnableOneDndDamagingSpellsUpgrade=비전의 검, 죽음의 원, 불꽃 일격, 얼음 폭풍, 프리즘 스프레이, 사악한 조롱 5e 2024 주문 버전 [더 나은 데미지]을 활성화합니다. ModUi/&EnableOneDndDivineFavorSpell=신성한 호의 5e 2024 주문 버전 활성화 [집중 없음] ModUi/&EnableOneDndGuidanceSpell=지침 5e 2024 주문 버전을 활성화합니다. [시전 시 스킬 하나를 선택하고 최대 1분 동안 보너스를 받습니다.] ModUi/&EnableOneDndHealingSpellsUpgrade=상처 치료, 거짓 생명, 치유의 말씀, 대량 상처 치료, 대량 치유의 말씀 5e 2024 주문 버전 [치유력 향상]을 활성화합니다. +ModUi/&EnableOneDndHideousLaughterSpell=흉측한 웃음 5e 2024 주문 버전 활성화 [업캐스트당 대상 1개 추가] +ModUi/&EnableOneDndHuntersMarkSpell=사냥꾼의 표식 5e 2024 주문 버전 [강제 피해]을 활성화합니다. ModUi/&EnableOneDndLesserRestorationSpell=하위 회복 5e 2024 주문 버전 [보너스 액션]을 활성화합니다. ModUi/&EnableOneDndMagicWeaponSpell=마법 무기 5e 2024 주문 버전 활성화 [보너스 액션, 집중 없음, 3, 6번째 주문 레벨에서 강화 업그레이드] -ModUi/&EnableOneDndPowerWordKillSpell=힘의 말씀: 살해 5e 2024 주문 버전을 활성화합니다. [체력이 100 이상일 경우 12d12의 사이킥 데미지] +ModUi/&EnableOneDndPowerWordStunSpell=파워워드 스턴 5e 2024 주문 버전을 활성화합니다. [대상의 체력이 150을 넘으면 1턴 동안 멈춤] +ModUi/&EnableOneDndSpareTheDyingSpell=죽음을 막아라 5e 2024 주문 버전 활성화 [5, 11, 17레벨에서 범위가 두 배가 됨] +ModUi/&EnableOneDndSpiderClimbSpell=거미 등반 5e 2024 주문 버전 활성화 [업캐스트당 대상 +1개] ModUi/&EnableOneDndStoneSkinSpell=스톤 스킨 5e 2024 주문 버전을 활성화합니다. [마법 B/P/S에 대한 저항력도 제공] ModUi/&EnableOneDndTrueStrikeCantrip=True Strike 5e 2024 캔트립 버전 사용 [재시작 필요]\n[공격 시 공격 굴림과 피해 보너스에 주문 시전 능력을 사용하고, 레벨 5부터 추가 방사형 피해] ModUi/&EnablePaladinLayOnHandsAsBonusAction=안수를 보너스 액션으로 활성화합니다. @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 RESPEC 활성화 [멀티플레이어 세션 동안 RESPEC 사용하지 마세요] ModUi/&EnableRitualOnAllCasters=모든 시전자에 의식 시전 활성화 -ModUi/&EnableRogueCunningStrike=레벨 5와 14에서 교활한 일격과 사악한 일격을 활성화합니다. [추가 적중 효과를 위해 몰래 공격 주사위 1개를 포기합니다] +ModUi/&EnableRogueCunningStrike=레벨 5, 11, 14에서 교활한 일격, 개선된 교활한 일격, 사악한 일격을 활성화합니다. [추가 적중 효과를 위해 몰래 공격 주사위 1개를 포기합니다] ModUi/&EnableRogueFightingStyle=레벨 2에서 격투 스타일 선택 가능 +ModUi/&EnableRogueReliableTalentAt7=레벨 11 대신 레벨 7에서 신뢰할 수 있는 재능을 활성화합니다. ModUi/&EnableRogueSlipperyMind=Slippery Mind를 5e 2024 버전과 교환하세요 [지혜 외에도 카리스마 세이빙 스로우에 능숙해짐] ModUi/&EnableRogueSteadyAim=레벨 3에서 안정적인 조준을 활성화합니다. [현재 턴에서 아직 이동하지 않았다면 다음 공격 굴림에 보너스 액션이 유리해집니다.] ModUi/&EnableRogueStrSaving=교활한/사악한 일격에 후드럼 DEX 또는 STR 수정치를 활성화합니다. ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Second Wind를 활성화하여 5e 2024 사용 진행을 사용하세요. ModUi/&EnableSignatureSpellsRelearn=긴 휴식마다 특징 주문을 준비할 수 있게 합니다. [레벨 20에서 한 번만] -ModUi/&EnableSorcererInnateSorceryAt1=1레벨에서 선천적 마법을 활성화합니다. +ModUi/&EnableSorcererArcaneApotheosis=20에서 비전적 신격화 활성화 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=레벨 1과 7에서 선천적 마법과 마법의 화신을 활성화합니다. ModUi/&EnableSorcererMagicalGuidance=레벨 5에서 마법의 안내를 활성화합니다. ModUi/&EnableSorcererQuickenedAction=빠른 주문 동작을 활성화하여 빠른 메타매직이 적용된 주요 동작 주문을 시전할 수 있습니다. -ModUi/&EnableSorcerousRestorationAtLevel5=레벨 5에서 마법 회복을 활성화합니다. +ModUi/&EnableSorcererSorcerousRestoration=레벨 5에서 마법 회복을 활성화합니다. ModUi/&EnableSortingDungeonMakerAssets=Dungeon Maker 편집기에서 자산 정렬 활성화 +ModUi/&EnableSpeech=사용자 정의 캠페인에서 음성 활성화 [내레이션 및 영웅만] +ModUi/&EnableSpeechActorHelp=• 배우를 선택하세요 +ModUi/&EnableSpeechOnNpcs=+ NPC의 음성 활성화 [캠페인 매핑 또는 자동 할당에서] +ModUi/&EnableSpeechVoiceHelp=• 음성 및 내레이션 속도를 선택하세요 ModUi/&EnableStatsOnHeroTooltip=영웅의 툴팁에 통계 표시 [예: 치명타, 치명타 실패 등] ModUi/&EnableSumD20OnAlternateVotingSystem=+ 또한 각 영웅은 약간의 무작위성을 위해 D20 롤을 가중치에 추가합니다 [선택 가중치 = 투표 * 영웅 카리스마 수정치 + D20 롤] ModUi/&EnableSurprisedToEnforceDisadvantage=라운드를 건너뛰는 대신 이니셔티브 불이익을 적용하려면 놀람 조건을 활성화하세요. ModUi/&EnableTeleportToRemoveRestrained=순간이동을 활성화하여 대상의 모든 제한된 조건을 제거합니다. ModUi/&EnableTooltipDistance=전투 중 캐릭터 위에 마우스를 올려 놓으면 툴팁에 거리 표시가 활성화됩니다. ModUi/&EnableUnarmedMainAttackAction=비무장 공격 동작 활성화 [액터가 기본 무기를 장착하고 있거나, 수도사이거나, 핸드랩 또는 건틀릿을 장착한 경우] +ModUi/&EnableUnlimitedInventoryActions=턴당 인벤토리 액션을 무제한으로 활성화합니다. ModUi/&EnableUpcastConjureElementalAndFey=원소 소환과 요정 소환의 업캐스트를 활성화합니다. ModUi/&EnableVariablePlaceholdersOnTexts=설명에 변수 플레이스홀더 활성화 [플레이스홀더로 {VARIABLE_NAME} 사용] ModUi/&EnableVersatileAmmunitionSlots=물약과 두루마리를 탄약 슬롯에 넣고 운반하고 사용할 수 있습니다. @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=물약과 마법의 교활함을 활성화합니다. ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=레벨 2에서 마법의 교활함을 활성화하고 레벨 20에서 엘드리치 마스터를 향상시킵니다. ModUi/&EnableWarlockToLearnPatronAtLevel3=레벨 1 대신 레벨 3에서 후원자 활성화 +ModUi/&EnableWizardMemorizeSpell=레벨 5에서 ​​주문 기억을 활성화합니다. ModUi/&EnableWizardToLearnScholarAtLevel2=레벨 2에서 학자 활성화 ModUi/&EnableWizardToLearnSchoolAtLevel3=마법 학교를 2레벨 대신 3레벨로 활성화합니다. ModUi/&EnablesAsiAndFeat=속성 점수 증가와 특기 선택을 모두 활성화합니다. [독점 선택 대신] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=아시아 언어 게임 UI 텍스트 줄바꿈 ModUi/&FixEldritchBlastRange=Eldritch Blast에 24개 셀 범위를 사용하세요. [12개 대신] ModUi/&FixRingOfRegenerationHealRate=재생의 반지 회복 속도를 3분당 1HP로 설정합니다. ModUi/&FlightSuspendWingedBoots=+ Winged Boots 공식 규칙 사용 [비행 중단 시 남은 시간은 계산되지 않음] +ModUi/&ForceModSpeechOnNpcs=+캠페인 매핑 대신 모든 NPC에 음성 자동 할당 강제 적용 ModUi/&Formation=포메이션: ModUi/&FormationError=멀티플레이어 게임 중에는 포메이션을 변경할 수 없습니다... ModUi/&FormationHelp1=• 숫자 버튼을 사용하여 주어진 세트를 편집합니다. [입력 아래에 단축키를 활성화하는 것을 고려하세요] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=머리, 목 또는 몸통에 착용 ModUi/&RaceLightSensitivityApplyOutdoorsOnly=다크엘프, 다크 코볼드, 그레이 드워프에 조명 감도를 활성화하면 야외에서만 작동합니다.\n[로드 화면 없이 접근할 수 있는 야외 위치의 실내 공간은 게임 엔진에서 야외로 간주됨] ModUi/&Races=종족 ModUi/&RecipeCost=레시피 비용 +ModUi/&RefreshVoice=음성 목록 새로 고침 ModUi/&RelicForgeries=유물 위조 ModUi/&RemoveAttunementRequirements=조율 요구 사항 제거 [재시작 필요] ModUi/&RemoveBardMagicalSecretAt14And18=레벨 14와 18에서 마법의 비밀을 제거하세요 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=상점과 인벤토리의 레시피 아이템 ModUi/&ShowCraftingRecipeInDetailedTooltips=자세한 툴팁으로 제작 레시피 표시 ModUi/&ShowDescriptions=설명 보기 ModUi/&ShowMotionFormPreview=밀기당기기 효과의 미리보기 표시 +ModUi/&SpeechScale=내레이션 속도 수정자 [낮을수록 빠름] ModUi/&SpellLevelFilter=주문 레벨 필터 [-1은 모두 표시] ModUi/&SpellsMenu=주문 ModUi/&StealthBreaksWhenAttackHits=무기 또는 주문 공격이 적중하면 은신 해제를 활성화합니다. @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=1레벨에서 부여된 총 번역: +ModUi/&UnityExplorer=유니티 익스플로러 UI ModUi/&UnleashEnemyAsNpc=NPC 가젯에서 몬스터 선택 허용 ModUi/&UnleashNpcAsEnemy=몬스터 선택 잠금 해제 ModUi/&Update=업데이트 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt index 78c5c3a27e..3faab96761 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Cantrips-ko.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=녹색 불꽃 블레이드! Feedback/&AdditionalDamageResonatingStrikeLine={0}이(가) 녹색 불꽃 칼날로 {1}을(를) 태워버렸습니다!(+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=선라이트 블레이드! Feedback/&AdditionalDamageSunlightBladeLine={0}가 Sunlit Blade로 {1}을(를) 비춥니다! (+{2}) -Feedback/&Within5Ft=5 피트 -Feedback/&WithinReach=도달하다 Proxy/&ProxyCreateBonfireTitle=모닥불 Spell/&AcidClawsDescription=손톱이 날카로워져 부식성 공격을 가할 준비가 되었습니다. 당신으로부터 5피트 내의 생물 하나에 대해 근접 주문 공격을 가하십시오. 적중 시 대상은 1d8의 산성 피해를 입고 방어구 등급이 1라운드 동안 1만큼 낮아집니다(중첩되지 않음). Spell/&AcidClawsTitle=산성 발톱 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells01-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells01-ko.txt index 3896d9cfa6..b7cd890075 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells01-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells01-ko.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0}이(가) 신속하게 {1}(+{2 Feedback/&AdditionalDamageThunderousSmiteFormat=천둥 스마이트! Feedback/&AdditionalDamageThunderousSmiteLine={0}은(+{2}) 엄청난 일격을 통해 {1}에 더 많은 피해를 입힙니다. Feedback/&AdditionalDamageWrathfulSmiteFormat=분노한 강타! -Feedback/&AdditionalDamageWrathfulSmiteLine={0}은(+{2}) 격렬한 일격을 통해 {1}에 더 많은 피해를 입힙니다. +Feedback/&AdditionalDamageWrathfulSmiteLine={0}은(는) 격노의 일격을 통해 {1}에게 더 많은 피해를 입힙니다(+{2}) Feedback/&ChaosBoltGainLeap={0}은(는) {1} 도약력으로 추가 적을 목표로 삼을 수 있습니다. Feedback/&ChaosBoltRandomChoice={0} {1}이(가) 무작위로 {2}로 나타나도록 합니다. Feedback/&ChaosBoltRolledDifferentDice={0}은(는) {1} D8 피해 주사위에 {2}와 {3}을 굴렸습니다. Feedback/&ChaosBoltRolledEqualDice={0}는 두 {1} D8 피해 주사위 모두에서 {2}를 굴렸습니다. Feedback/&FeatureGiftOfAlacrityLine={0}는 {1}을 트리거하고 이니셔티브에 추가 {2}를 추가합니다. +Feedback/&Within5Ft=5 피트 +Feedback/&WithinReach=도달하다 Monster/&OwlFamiliarDescription=친숙한 올빼미. Monster/&OwlFamiliarTitle=올빼미 친숙한 Reaction/&ReactionSpendPowerBundleChaosBoltDescription=손상 유형을 선택하세요. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=반경 10피트 구체의 중력을 급격히 Spell/&MagnifyGravityTitle=중력 확대 Spell/&MuleDescription=이 주문을 받은 사람은 무거운 짐이나 갑옷이 이동 속도에 미치는 영향을 무시할 수 있습니다. 또한 약간 더 많은 무게를 지탱할 수도 있습니다. Spell/&MuleTitle=노새 +Spell/&ProtectionFromEvilGoodTitle=선과 악을 보호하라 Spell/&RadiantMotesDescription=각각 1d4의 복사 피해를 주는 4개의 빛나는 발사체 떼를 방출합니다.\n2레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 이 주문은 1레벨 이상의 각 슬롯에 대해 발사체를 1개 더 생성합니다. Spell/&RadiantMotesTitle=빛나는 티끌 +Spell/&RayOfSicknessDescription=범위 내의 생물에게 녹색 광선을 발사합니다. 대상에게 원거리 주문 공격을 합니다. 명중 시 대상은 2d8 독 피해를 입고 다음 턴이 끝날 때까지 독 상태입니다. 피해는 1 이상의 주문 슬롯 레벨마다 1d8씩 증가합니다. +Spell/&RayOfSicknessTitle=병의 광선 Spell/&SanctuaryDescription=범위 내의 생물을 공격으로부터 보호합니다. 주문이 끝날 때까지 보호받는 생물을 공격이나 해로운 주문으로 목표로 삼는 모든 생물은 먼저 지혜 내성 굴림을 해야 합니다. 저장에 실패하면 생물은 공격이나 주문을 잃습니다. 이 주문은 보호받는 생물을 지역 효과로부터 보호하지 않습니다. 보호받는 생물이 공격을 하거나 주문을 시전하면 이 주문은 끝납니다. Spell/&SearingSmiteDescription=다음 명중 시 무기가 백열의 강도로 불타오르고, 공격은 대상에게 1d6의 추가 화염 피해를 입히고 대상을 화염에 휩싸이게 합니다.\n각 턴이 시작될 때 대상은 다음을 수행해야 합니다. 체질 내성 굴림에 성공하면 불타오르는 것을 멈추거나 1d6의 화염 피해를 입습니다.\n더 높은 레벨: 1위 이상의 슬롯 레벨마다 공격으로 입힌 초기 추가 피해가 1d6씩 증가합니다. Spell/&SearingSmiteTitle=이글거리는 강타 @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=당신은 사악한 세력의 힘을 불러일으킵 Spell/&VoidGraspTitle=하다르의 무기 Spell/&WitchBoltDescription=탁탁거리는 푸른 에너지 광선이 범위 내에 있는 생물체를 향해 뻗어 나와 대상과 대상 사이에 지속적인 번개 호를 형성합니다. 해당 생물에 대해 원거리 주문 공격을 가합니다. 명중 시 대상은 1d12의 번개 피해를 입으며, 지속 시간 동안 각 턴마다 대상에게 자동으로 1d12의 번개 피해를 입히는 행동을 사용할 수 있습니다. 당신이 행동을 사용하여 다른 일을 하면 주문은 끝납니다. 대상이 주문 범위를 벗어나는 경우에도 주문은 종료됩니다. 2레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 1레벨 이상의 슬롯 레벨마다 피해가 1d12씩 증가합니다. Spell/&WitchBoltTitle=마녀 볼트 -Spell/&WrathfulSmiteDescription=이 주문의 지속 시간 동안 근접 무기 공격을 다음에 적중시키면, 공격은 추가로 1d6의 사이킥 피해를 입힙니다. 또한, 대상이 생물인 경우, 지혜 구원 굴림을 해야 하며 그렇지 않으면 주문이 끝날 때까지 당신을 두려워해야 합니다. 행동으로 생물은 당신의 주문 구원 DC에 대한 지혜 검사를 해서 결의를 굳건히 하고 이 주문을 끝낼 수 있습니다. +Spell/&WrathfulSmiteDescription=대상은 공격으로 인해 추가로 1d6의 괴사성 피해를 입으며, 지혜 구원 굴림에 성공해야 하고 그렇지 않으면 주문이 끝날 때까지 공포 상태에 처해야 합니다. 각 턴이 끝날 때 공포 상태인 대상은 구원을 반복하여 성공 시 주문을 끝냅니다. 피해는 1 이상의 각 주문 슬롯 레벨마다 1d6씩 증가합니다. Spell/&WrathfulSmiteTitle=분노한 일격 Tooltip/&TagDamagePureTitle=카오틱 데미지 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt index fe3098b457..9f8d7082ae 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells02-ko.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=10피트 내의 모든 사람의 눈을 잠시 멀 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/&MirrorImageDescription=당신의 공간에 세 개의 환영 복제품이 나타납니다. 주문이 끝날 때까지 복제품은 당신과 함께 움직이며 당신의 행동을 모방하여 위치를 바꿔 어느 이미지가 진짜인지 추적할 수 없습니다. 주문의 지속 시간 동안 생물이 공격 굴림으로 당신을 때릴 때마다 남은 복제품 각각에 대해 d6을 굴립니다. d6 중 하나라도 3 이상을 굴리면 복제품 중 하나가 당신 대신 맞고 복제품은 파괴됩니다. 그렇지 않은 복제품은 다른 모든 피해와 효과를 무시합니다. 세 복제품이 모두 파괴되면 주문이 끝납니다. 생물은 실명 상태, 실명 시력 또는 진시력이 있는 경우 이 주문의 영향을 받지 않습니다. Spell/&MirrorImageTitle=미러 이미지 Spell/&NoxiousSprayDescription=범위 내의 대상에게 유해 가스를 분사합니다. 원거리 주문 공격을 가합니다. 명중 시 대상은 4d6의 독 피해를 입으며 건강 내성 굴림에 성공해야 합니다. 그렇지 않으면 다음 턴 내내 구역질과 몸부림을 보내며 움직이거나 행동을 취할 수 없습니다. 구조물, 정령, 언데드는 이 주문의 영향을 받지 않습니다. 3레벨 이상의 슬롯을 사용하여 이 주문을 시전할 때, 2레벨 이상의 슬롯 레벨마다 생물 한 마리를 추가로 목표로 삼을 수 있습니다. Spell/&NoxiousSprayTitle=유해 스프레이 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt index 9c5cc869e8..19778fe551 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells03-ko.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=당신은 적을 덮치기 전 순간적으로 나 Spell/&AdderFangsTitle=애더의 송곳니 Spell/&AshardalonStrideDescription=발에서 솟아오르는 용의 불꽃이 폭발적인 속도를 선사합니다. 지속 시간 동안 속도가 20피트 증가하고 이동해도 기회 공격이 발생하지 않습니다. 착용하거나 운반하지 않는 생물이나 물체로부터 5피트 이내로 이동하면 열의 흔적으로 인해 1d6의 화염 피해를 입습니다. 생물이나 물체는 턴 동안 단 한 번만 이 피해를 입을 수 있습니다. 4레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전할 때, 3레벨 이상의 각 주문 슬롯 레벨마다 속도를 5피트씩 증가시킵니다. 이 주문은 3위 이상의 각 슬롯 레벨마다 1d6의 추가 화염 피해를 입힙니다. Spell/&AshardalonStrideTitle=아샤달론의 걸음걸이 -Spell/&AuraOfLifeDescription=치유 에너지는 반경 30피트의 오라로 당신에게서 방출됩니다. 주문이 끝날 때까지 오라는 당신을 중심으로 당신과 함께 움직입니다. 당신은 오라에 있는 한 생물(당신 포함)이 2d6 체력을 회복하도록 하기 위해 보너스 행동을 사용할 수 있습니다. +Spell/&AuraOfLifeDescription=치유 에너지가 반경 30피트의 오라로 당신에게서 방출됩니다. 오라를 생성할 때와 오라가 지속되는 동안 이후 턴마다 오라에 있는 생물 한 마리에게 자유 행동으로 2d6의 생명력을 회복할 수 있습니다. Spell/&AuraOfLifeTitle=활력의 오라 Spell/&BlindingSmiteDescription=이 주문의 지속 시간 동안 근접 무기 공격으로 생물을 맞히면 무기가 밝은 빛으로 번쩍이고 공격은 대상에게 3d8의 추가 광채 피해를 입힙니다. 또한 대상은 체력 구원 굴림에 성공해야 하며 그렇지 않으면 주문이 끝날 때까지 실명 상태가 됩니다. 이 주문으로 실명된 생물은 각 턴이 끝날 때마다 체력 구원 굴림을 다시 합니다. 세이브에 성공하면 더 이상 실명 상태가 아닙니다. Spell/&BlindingSmiteTitle=눈부신 일격 @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=당신은 범위 내에서 볼 수 있는 비어 Spell/&BoomingStepTitle=썬더스텝 Spell/&CorruptingBoltDescription=생명체의 몸을 시들고 부패하게 만드는 괴사 에너지 펄스를 발사할 수 있습니다. 생물에 대해 원거리 공격을 가합니다. 적중 시 대상은 4d8의 괴사 피해를 입고 건강 내성 굴림에 성공해야 합니다. 내성 굴림에 실패하면 다음 번에 당신이나 당신의 동료가 당신의 다음 턴이 끝나기 전에 공격으로 타락한 생물을 칠 때, 그 생물은 그 공격의 모든 피해에 취약해지고 부패가 끝납니다. 4레벨 이상의 주문 슬롯을 사용하여 이 주문을 시전하면 3레벨 이상의 슬롯 레벨마다 피해가 1d8씩 증가합니다. Spell/&CorruptingBoltTitle=부패의 화살 -Spell/&CrusadersMantleDescription=마법 같은 아우라로 자신을 감싸보세요. 오라 내의 아군은 공격 시 1d4의 추가 방사 피해를 얻습니다. +Spell/&CrusadersMantleDescription=신성한 힘이 반경 30피트의 오라로 당신에게서 방출되어, 아군 생물의 담대함을 일깨웁니다. 주문이 끝날 때까지 오라는 당신을 중심으로 당신과 함께 움직입니다. 오라에 있는 동안 오라에 있는 적대적이지 않은 생물(당신 포함)은 공격을 받을 때 추가로 1d4의 광채 피해를 입힙니다. Spell/&CrusadersMantleTitle=십자군의 어깨덧옷 Spell/&ElementalWeaponDamageAcidDescription=비마법 무기에 산성 피해를 입힙니다. Spell/&ElementalWeaponDamageAcidTitle=산성 원소 무기 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells05-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells05-ko.txt index 6764208798..ec8e86fce6 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells05-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells05-ko.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=사용된 풍선과 같은 색상의 작은 구체 Spell/&SonicBoomTitle=소닉붐 Spell/&SteelWhirlwindDescription=당신은 캐스팅에 사용된 무기를 휘두르며 바람처럼 사라져 버립니다. 범위 내에서 볼 수 있는 생물을 최대 5개까지 선택하세요. 각 대상에 대해 근접 주문 공격을 가합니다. 적중 시 대상은 6d10의 강제 피해를 입습니다. 그런 다음, 맞추거나 놓친 대상 중 하나의 5피트 이내에서 볼 수 있는 비어 있는 공간으로 순간이동할 수 있습니다. Spell/&SteelWhirlwindTitle=스틸 윈드 스트라이크 -Spell/&SwiftQuiverDescription=화살통을 변형시켜서 당신이 화살통을 잡을 때 자동으로 탄약이 당신의 손에 뛰어들게 합니다. 주문이 끝날 때까지 당신의 턴마다 보너스 액션을 사용하여 원거리 무기로 두 번의 공격을 할 수 있습니다. +Spell/&SwiftQuiverDescription=주문을 시전하고 끝날 때까지 보너스 액션으로 롱보우나 라이트 크로스보우와 같이 화살이나 볼트를 발사하는 무기로 두 번 공격할 수 있습니다. 이 주문은 각 공격에 필요한 탄약을 마법적으로 생성합니다. 이 주문으로 생성된 화살이나 볼트는 같은 종류의 비마법적 탄약처럼 피해를 입히고 맞거나 빗나간 직후에 분해됩니다. Spell/&SwiftQuiverTitle=스위프트 퀴버 Spell/&SynapticStaticDescription=범위 내의 한 지점을 선택하면 그곳에서 정신 에너지가 폭발하게 됩니다. 해당 지점을 중심으로 하는 반경 20피트 구체의 각 생물은 지능 내성 굴림을 해야 합니다. 대상은 저장 실패 시 8d6의 정신적 피해를 입거나, 성공 시 피해의 절반을 받습니다. 저장 실패 후 대상은 1분 동안 혼란스러운 생각을 합니다. 그 시간 동안 d6을 굴리고 모든 공격 굴림과 능력 검사에서 굴린 숫자를 뺍니다. 목표는 각 턴이 끝날 때 지능 내성 굴림을 하여 성공 시 자신에 대한 효과를 종료할 수 있습니다. Spell/&SynapticStaticTitle=시냅스 정적 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt index b4cbd9d467..5684c8005c 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Spells/Spells09-ko.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=범위 내에서 볼 수 있는 한 Spell/&MeteorSwarmSingleTargetTitle=유성 떼 Spell/&PowerWordHealDescription=치유 에너지의 물결이 당신이 만지는 생물을 덮칩니다. 대상은 모든 생명력을 회복합니다. 생물이 매혹되거나, 두려워하거나, 마비되거나, 독에 걸리거나, 기절하면 상태가 끝납니다. 생물이 엎드려 있으면 반응을 사용하여 일어설 수 있습니다. 이 주문은 언데드나 구조물에는 효과가 없습니다. Spell/&PowerWordHealTitle=치유의 권능 -Spell/&PowerWordKillDescription=당신은 범위 내에서 볼 수 있는 생물 하나를 즉시 죽게 만들 수 있는 힘의 말을 합니다. 당신이 선택한 생물의 체력이 100 이하라면, 그 생물은 죽습니다. 그렇지 않으면 주문이 효과가 없습니다. +Spell/&PowerWordKillDescription=범위 내에서 볼 수 있는 생물 한 마리를 강제로 죽게 합니다. 대상의 생명력이 100 이하이면 죽습니다. 그렇지 않으면 12d12의 사이킥 피해를 입습니다. Spell/&PowerWordKillTitle=파워 워드 킬 Spell/&PsychicScreamDescription=당신은 당신의 마음의 힘을 풀어서 범위 내에서 볼 수 있는 당신이 선택한 최대 10마리의 생명체의 지성을 폭발시킵니다. 각 대상은 지능 세이빙 스로우를 해야 합니다. 세이브에 실패하면 대상은 14d6의 사이킥 데미지를 입고 1분간 기절합니다. 세이브에 성공하면 대상은 절반의 데미지를 입고 기절하지 않습니다. 기절한 대상은 각 턴이 끝날 때마다 지능 세이빙 스로우를 할 수 있습니다. 세이브에 성공하면 기절 효과가 끝납니다. Spell/&PsychicScreamTitle=사이킥 스크림 @@ -25,5 +25,5 @@ Spell/&ShapechangeDescription=당신은 지속 시간 동안 다른 생물의 Spell/&ShapechangeTitle=변신 Spell/&TimeStopDescription=당신은 자신을 제외한 모든 사람의 시간 흐름을 잠시 멈춥니다. 다른 생명체에게는 시간이 흐르지 않는 반면, 당신은 1d4+1턴을 연속으로 진행하며, 그동안 행동을 사용하고 정상적으로 움직일 수 있습니다. 이 주문은 이 기간 동안 사용하는 행동 중 하나 또는 이 기간 동안 생성하는 효과가 당신이 아닌 다른 생명체에 영향을 미칠 경우 종료됩니다. Spell/&TimeStopTitle=시간 정지 -Spell/&WeirdDescription=당신은 생물 집단의 가장 깊은 두려움을 이용하여 그들의 마음 속에 그들에게만 보이는 환상의 생물을 창조합니다. 범위 내에서 당신이 선택한 지점을 중심으로 하는 반경 30피트 구체 안에 있는 각 적은 지혜 내성 굴림을 해야 합니다. 저장에 실패하면 생물은 지속 시간 동안 겁을 먹습니다. 환영은 생명체의 가장 깊은 두려움을 불러일으키고 최악의 악몽을 무자비한 위협으로 드러냅니다. 겁에 질린 생명체의 턴이 끝날 때마다 지혜 내성굴림에 성공하거나 4d10의 정신적 피해를 입어야 합니다. 성공적으로 저장하면 해당 생물에 대한 주문이 종료됩니다. +Spell/&WeirdDescription=당신은 다른 사람들의 마음에 환상적 공포를 만들어내려고 합니다. 반경 30피트, 범위 내 지점을 중심으로 한 구체에 있는 당신이 선택한 각 생명체는 지혜 구원 굴림을 합니다. 구원에 실패하면 대상은 10d10 사이킥 피해를 입고 지속 시간 동안 공포 상태에 빠집니다. 구원에 성공하면 대상은 절반의 피해만 입습니다. 공포에 질린 대상은 각 턴이 끝날 때마다 지혜 구원 굴림을 합니다. 구원에 실패하면 5d10 사이킥 피해를 입습니다. 구원에 성공하면 해당 대상에서 주문이 끝납니다. Spell/&WeirdTitle=기이한 diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/CircleOfTheAncientForest-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/CircleOfTheAncientForest-ko.txt index 4bcebeec2d..d7468a77ec 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/CircleOfTheAncientForest-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/CircleOfTheAncientForest-ko.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=당신은 오랫동안 쉬면 재 Feature/&PowerAncientForestRegrowthTitle=재성장 Feature/&PowerAncientForestRootedDescription=수목의 덩굴손이 발에서 자라 땅을 파헤칩니다. 당신의 속도는 0이 되고 당신을 밀거나 당기거나 넘어뜨리는 내성 굴림에서 이점을 얻습니다. 당신은 마음대로 얽힘을 시전할 수 있습니다. Feature/&PowerAncientForestRootedTitle=루팅됨 -Feature/&PowerPoolAncientForestHerbalBrewDescription=다음 번 긴 휴식까지 지속되는 허브 맥주를 만들 수 있습니다. 당신은 숙련도 보너스만큼 총 양조주를 만듭니다. 각 맥주에 대해 다음 효과 중 하나를 선택하세요.\n강화 맥주: 1시간 동안 다양한 피해 유형에 대한 저항력을 부여합니다.\n강화 맥주 color>: 2d4 체력을 제공합니다.\n독성 맥주: 1분 동안 지속되는 무기에 적용할 수 있는 독 역할을 합니다. 명중이 적중하면 대상은 명중할 때마다 1d4의 독 피해를 입습니다. +Feature/&PowerPoolAncientForestHerbalBrewDescription=다음 번 긴 휴식까지 지속되는 허브 맥주를 만들 수 있습니다. 당신은 숙련도 보너스만큼 총 양조주를 만듭니다. 각 맥주에 대해 다음 효과 중 하나를 선택하세요.\n강화 맥주: 1시간 동안 다양한 피해 유형에 대한 저항력을 부여합니다.\n강화 맥주 color>: 2d4 체력을 제공합니다.\n독성 맥주: 1분 동안 지속되는 무기에 적용할 수 있는 독 역할을 합니다. 명중이 적중하면 대상은 명중할 때마다 1d4의 독 피해를 입습니다. Feature/&PowerPoolAncientForestHerbalBrewTitle=허브 양조 Feature/&PowerPoolAncientForestWallOfThornsDescription=당신은 지혜 수정치만큼 가시의 벽을 시전할 수 있습니다. 오랫동안 쉬면 재충전됩니다. Feature/&PowerPoolAncientForestWallOfThornsTitle=가시의 벽 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/FightingStyles-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/FightingStyles-pt-BR.txt index 801bc3937f..da77311ceb 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/FightingStyles-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/FightingStyles-pt-BR.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Execução! Feedback/&AdditionalDamageExecutionerLine={0} executa {1} para +{2} de dano extra! FightingStyle/&AstralReachDescription=Seu alcance desarmado aumenta em 1,5 m, desde que ambas as mãos estejam livres. FightingStyle/&AstralReachTitle=Alcance Astral +FightingStyle/&BlessedWarriorDescription=Você aprende dois truques de sua escolha da lista de magias de Clérigo. Eles contam como magias de Paladino para você, e Carisma é sua habilidade de conjuração para eles. +FightingStyle/&BlessedWarriorTitle=Guerreiro abençoado FightingStyle/&BlindFightingDescription=Você tem visão cega com um alcance de 10 pés. Dentro desse alcance, você pode efetivamente ver qualquer coisa que não esteja atrás de cobertura total, mesmo se estiver cego ou na escuridão. Além disso, você pode ver uma criatura invisível dentro desse alcance, a menos que a criatura se esconda de você com sucesso. FightingStyle/&BlindFightingTitle=Luta às Cegas FightingStyle/&CripplingDescription=Você reduz a velocidade dos seus oponentes em 3 metros até o final do seu próximo turno em um ataque corpo a corpo. FightingStyle/&CripplingTitle=Aleijante +FightingStyle/&DruidicWarriorDescription=Você aprende dois truques de sua escolha da lista de magias de Druida. Eles contam como magias de Patrulheiro para você, e Sabedoria é sua habilidade de conjuração para eles. +FightingStyle/&DruidicWarriorTitle=Guerreiro Druídico FightingStyle/&ExecutionerDescription=Você adiciona seu bônus de proficiência ao dano causado contra criaturas cegas, assustadas, imobilizadas, incapacitadas, paralisadas, caídas ou atordoadas. FightingStyle/&ExecutionerTitle=Carrasco FightingStyle/&HandAndAHalfDescription=Você ganha um bônus de +1 em suas jogadas de ataque e um bônus de +1 em sua CA enquanto estiver empunhando uma arma corpo a corpo de uma mão ou versátil e nenhuma outra arma ou escudo. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} atacou um de seus aliados, em re Reaction/&ReactionAttackSentinelReactDescription=Use a reação para atacar. Reaction/&ReactionAttackSentinelReactTitle=Ataque Reaction/&ReactionAttackSentinelTitle=Sentinela +Tag/&BlessedWarriorCantripSpecialTagTitle=Truques do Guerreiro Abençoado +Tag/&DruidicWarriorCantripSpecialTagTitle=Truques do Guerreiro Druídico diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Invocations-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Invocations-pt-BR.txt index e7435c51e8..f198a247f8 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Invocations-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Invocations-pt-BR.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=Como uma ação bônus, Feature/&PowerInvocationPerniciousCloakRemoveTitle=Remova a capa das moscas Feedback/&AdditionalDamageEldritchSmiteFormat=Golpe Sobrenatural! Feedback/&AdditionalDamageEldritchSmiteLine={0} fere {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Ganhe efeitos adicionais quando vinculado a uma criatura. Quando vinculado ao Imp ganha maior invisibilidade, quando vinculado ao Pseudo Dragão ganha vôo e ataques imbuídos de veneno, quando vinculado ao Quasit ganha uma ação principal adicional e vantagem em testes de resistência de Destreza, e quando vinculado ao Sprite obtém uma pontuação de CA de pelo menos 16 e os invasores têm desvantagem contra você. +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=Ganhe efeitos adicionais quando vinculado a uma criatura. Quando vinculado a Imp ganhe maior invisibilidade, quando vinculado a Pseudo Dragon ganhe voo e ataques imbuídos de veneno, quando vinculado a Quasit ganhe um ataque adicional e vantagem em testes de resistência de Destreza, e quando vinculado a Sprite ganhe uma pontuação de CA de pelo menos 16 e os atacantes têm desvantagem contra você. Invocation/&InvocationAbilitiesOfTheChainMasterTitle=Habilidades do Mestre da Corrente Invocation/&InvocationAspectOfTheMoonDescription=Você não precisa mais dormir e pode ficar de guarda, diminuindo as chances de ataque e garantindo que estará acordado caso o acampamento seja atacado. Invocation/&InvocationAspectOfTheMoonTitle=Aspecto da Lua diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 83ef6365d6..6588a9f890 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Feitiçaria Inata Condition/&ConditionStaggeringBlowAoODescription=Você não pode fazer Ataques de Oportunidade até o início do seu próximo turno. Condition/&ConditionStaggeringBlowAoOTitle=Golpe cambaleante Condition/&ConditionStopMovementTitle=Parou +Condition/&ConditionStudiedAttacksDescription=A fonte tem vantagem no próximo ataque contra você +Condition/&ConditionStudiedAttacksTitle=Ataques estudados Condition/&ConditionTauntedDescription=Você tem desvantagem nas jogadas de ataque contra criaturas que não sejam o provocador. Condition/&ConditionTauntedTitle=Provocado Condition/&FlightSuspendDescription=O efeito de voo em andamento foi suspenso @@ -75,13 +77,13 @@ ContentPack/&9999Description=O Pacote de Negócios Inacabados é uma verdadeira ContentPack/&9999Title=Pacote de negócios inacabados Equipment/&BeltOfRegeneration_Function_Description=Regenera 5 pontos de vida por rodada durante um minuto. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Seus ataques causam um acerto crítico de 18, 19 ou 20 enquanto você estiver empunhando esta arma e estiver sintonizado com ela. +Failure/&CannotAttackTarget=Não é possível executar ataque neste alvo Failure/&FailureFlagCannotTargetUndead=Não é possível mirar em criaturas mortas-vivas Failure/&FailureFlagMaterialComponentHandsFull=Não há liberdade para usar componentes materiais da magia. Failure/&FailureFlagMustKnowLanguage=Você deve ser proficiente em {0} idioma para comandar esta criatura Failure/&FailureFlagTargetMustNotBeSurprised=O alvo não deve ser surpreendido Failure/&FailureFlagTargetMustUnderstandYou=O alvo deve entender seu comando Failure/&SecondTargetNotWithinRange=Não é possível selecionar este alvo porque ele não está dentro do alcance do primeiro -Failure/&TargetMeleeWeaponError=Não é possível realizar ataque corpo a corpo neste alvo, pois ele não está a {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=O alvo não deve ser maior que um tamanho Failure/&TargetMustHaveHolyWeapon=O alvo deve ter uma arma sagrada Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Você tem Vantagem em testes de Sabedoria (Percepção) enquanto estiver apagado ou em escuridão mágica. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Ao rolar Iniciativa, voc Feature/&FeatureBardSuperiorInspiration2024Title=Inspiração Superior Feature/&FeatureEldritchMasterDescription=Ao usar sua habilidade Astúcia Mágica, você recupera todos os seus espaços de magia de Pacto gastos. Feature/&FeatureEldritchMasterTitle=Mestre Eldritch +Feature/&FeatureFighterStudiedAttacksDescription=Você estuda seus oponentes e aprende com cada ataque que faz. Se fizer uma jogada de ataque contra uma criatura e errar, você tem Vantagem na sua próxima jogada de ataque contra aquela criatura antes do fim do seu próximo turno. +Feature/&FeatureFighterStudiedAttacksTitle=Ataques estudados +Feature/&FeatureFighterTacticalMindDescription=Você tem uma mente para táticas e para obter vantagem dentro e fora do campo de batalha. Quando você falha em um teste de habilidade, você pode gastar um uso do seu Segundo Fôlego para se impulsionar em direção ao sucesso. Em vez de recuperar Pontos de Vida, você rola 1d10 e adiciona o número rolado ao teste de habilidade, potencialmente transformando-o em um sucesso. Se o teste ainda falhar, esse uso do Segundo Fôlego não é gasto. +Feature/&FeatureFighterTacticalMindTitle=Mente Tática +Feature/&FeatureFighterTacticalShiftDescription=Sempre que você ativar seu Segundo Fôlego com uma Ação Bônus, você pode mover até metade de sua Velocidade sem provocar Ataques de Oportunidade. +Feature/&FeatureFighterTacticalShiftTitle=Mudança Tática +Feature/&FeatureImprovedRogueCunningStrikeDescription=Você pode usar até dois efeitos de Ataque Astuto quando causar dano de Ataque Furtivo, pagando o custo de dado para cada efeito. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Ataque astuto aprimorado Feature/&FeatureMonkBodyAndMindDescription=Você afiou seu corpo e mente a novos patamares. Sua Destreza e Sabedoria aumentam em 4. Feature/&FeatureMonkBodyAndMindTitle=Corpo e mente Feature/&FeatureMonkHeightenedMetabolismDescription=Seu treinamento levou seu corpo e mente a novos níveis. Sua Rajada de Golpes, Defesa 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 Paciente: Quando você usa Defesa Paciente, você ganha um número de pontos de vida temporários igual a duas rolagens do seu dado de Artes Marciais.\n• Passo do Vento: Quando você usa qualquer um dos recursos Passo do Vento (Desengatar ou Disparar), você também ganha os benefícios do outro efeito. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Ordem Primordial Feature/&FeatureSetDruidPrimalOrderWardenDescription=Treinado para a batalha, você ganha proficiência com armas marciais e treinamento com armaduras médias. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Diretor Feature/&FeatureSetRageExtendedDescription=Em batalha, você luta com ferocidade primitiva. No seu turno, você pode entrar em fúria como uma ação bônus. Isso lhe concede vantagem em testes de resistência e força, um bônus inicial de +2 para dano de ataque corpo a corpo e resistência a dano cortante, contundente e perfurante. Você ganha esses benefícios somente se não estiver usando armadura pesada. Dura 1 minuto ou termina se você não tiver atacado ou sofrido dano desde seu último turno.\n Você começa com 2 fúrias, renovadas após um longo descanso. No nível 7, você recupera um ponto de fúria após um descanso curto. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Se você não tiver mais usos para Feitiçaria Inata, poderá usá-la se gastar 2 Pontos de Feitiçaria ao realizar a Ação Bônus para ativá-la. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=Feitiçaria Encarnada +Feature/&FeatureSorcererArcaneApotheosisDescription=Enquanto sua habilidade Feitiçaria Inata estiver ativa, você pode usar uma opção de Metamagia em cada um dos seus turnos sem gastar Pontos de Feitiçaria nela. +Feature/&FeatureSorcererArcaneApotheosisTitle=Apoteose Arcana Feature/&FeatureSorcererMagicalGuidanceDescription=Você pode acessar sua fonte interna de magia para tentar conjurar sucesso a partir do fracasso. Quando você faz um teste de habilidade que falha, você pode gastar 1 ponto de feitiçaria para rolar novamente o d20, e você deve usar o novo teste, potencialmente transformando o fracasso em um sucesso. Feature/&FeatureSorcererMagicalGuidanceTitle=Orientação Mágica +Feature/&FeatureWizardMemorizeSpellDescription=Sempre que terminar um Descanso Curto, você pode estudar seu livro de magias e substituir uma das magias de Mago de nível 1+ que você preparou para sua habilidade de Conjuração de Magias por outra magia de nível 1+ do livro. +Feature/&FeatureWizardMemorizeSpellTitle=Memorizar Feitiço Feature/&FighterExtraAttackDescription=Você pode atacar duas vezes, em vez de uma, ao usar as ações de ataque ou empurrão. Feature/&FlightResumeDescription=Retoma o efeito do voo suspenso Feature/&FlightResumeTitle=Retomar voo @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=Escolha uma destas ferramentas: {1} Feature/&VisionBlindsightDescription=Você tem visão cega. Feedback/&AdditionalDamageBrutalStrikeFormat=Ataque Brutal Feedback/&AdditionalDamageBrutalStrikeLine=Ataque Brutal causa dano extra de +{2}! +Feedback/&AdditionalDamageCrusadersMantleFormat=Manto do Cruzado! +Feedback/&AdditionalDamageCrusadersMantleLine={0} ataca {1} e causa {2} de dano radiante extra! Feedback/&AdditionalDamageSunderingBlowFormat=Golpe de separação Feedback/&AdditionalDamageSunderingBlowLine=Golpe Destruidor causa +{2} de dano extra! Feedback/&AdditionalDamageTrueStrikeFormat=Ataque Verdadeiro! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} rola uma escolha narrativa {1} com um resultad Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=Você não pode usar o poder de identificação após o descanso enquanto viaja Feedback/&ReturningWeaponActivates={1} retorna para {0}! Feedback/&SmallRace=Raça pequena +Feedback/&TacticalMindCheckToHitRoll={0} usou {1} e adicionou {2} ao teste +Feedback/&TacticalMindCheckToHitRollFailure={0} usou {1}, adiciona {2} ao teste, mas não o suficiente para mudar o resultado +Feedback/&TacticalMindCheckToHitRollSuccess={0} usou {1}, adiciona {2} ao teste, altera o resultado e consome Segundo Fôlego Feedback/&TriggerFeatureLine={0} gatilhos {1} Feedback/&TriggerRerollLine={0} ativa {1} para rolar novamente {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} tem Visão Verdadeira e não é afetado por este feitiço @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Você falhou em um teste Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Role um d20 para substituir o teste. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Orientação Mágica Reaction/&CustomReactionMagicalGuidanceCheckTitle=Orientação Mágica +Reaction/&CustomReactionTacticalMindCheckDescription=Você falhou em um teste. Você pode gastar 1 segundo de vento para rolar um d10 e adicionar o resultado ao teste. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Role um d10 para adicionar o resultado ao teste. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Mente Tática +Reaction/&CustomReactionTacticalMindCheckTitle=Mente Tática Reaction/&ReactionSpendPowerBundleDescription=Gastar energia. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Você pode aplicar um efeito adicional. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Aplique um efeito adicional. @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Alimentação automática Rules/&ActivationTypeOnRageStartAutomaticTitle=Início de raiva automática Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Criatura Automática Reduzida a Zero HP Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Ataque furtivo automático +Rules/&ConditionMarkedByHunterExtendedDescription=Recebe +1d6 de dano de força quando atingido pelo conjurador com um ataque de arma. Rules/&ConditionOneDndBarkskinDescription=A Classe de Armadura da criatura se torna pelo menos 17. Rules/&ConditionStoneskinExtendedDescription=Resistência a danos contundentes, cortantes e perfurantes. Rules/&CounterFormDismissCreatureFormat=Dispensa uma criatura alvo conjurada @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=Está se concentrando no feitiço: Rules/&SituationalContext9018Format=É fonte de efeito: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupere pontos de feitiçaria até a metade do seu nível de feiticeiro, arredondado para baixo Rules/&TurnOccurenceEndOfSourceTurnFormat=Fim da fonte de giro +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Você pode realizar ações de inventário ilimitadas por rodada. Screen/&ClassExtraSpellDescriptionFormat=Você conhece esse feitiço da classe {0}. Screen/&EditorLocationSize3Title=Enorme [MODIFICADO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICADO] @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=Você conhece esse feitiço de outro rep Screen/&MulticlassExtraSpellTitle=Multiclass Screen/&PatronExtraSpellDescription=Feitiços Patronos Screen/&PatronExtraSpellTitle=Patrono +Screen/&PreparePanelMemorizeSpellSelect=Selecione um feitiço para preparar. Screen/&RaceExtraSpellDescription=Você conhece esse feitiço por sua herança. Screen/&RaceExtraSpellTitle=Herança Screen/&RangerSpellDescription=Esta magia foi concedida pelo seu arquétipo de Patrulheiro e é considerada conhecida por você. @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=Você gastou {0} espaço(s) de magia Screen/&SubclassClassExtraSpellDescriptionFormat=Você conhece essa magia da subclasse {0}. Screen/&SwitchConfigurationDescription=Troque seus itens equipados para esta configuração: {0}.\nSegure CTRL para manter a mão secundária, se possível. Spell/&ConjureElementalInvisibleStalkerTitle=Conjurar Elemental [Perseguidor Invisível] +Spell/&HuntersMarkExtendedDescription=Um inimigo recebe dano de força adicional de você, e você pode detectá-lo facilmente por um tempo limitado. +Spell/&PowerWordStunExtendedDescription=Você sobrepuja a mente de uma criatura que você pode ver dentro do alcance. Se o alvo tiver 150 Pontos de Vida ou menos, ele tem a condição Atordoado. Caso contrário, sua Velocidade é 0 até o início do seu próximo turno. O alvo Atordoado faz um teste de resistência de Constituição no final de cada um dos seus turnos, encerrando a condição em si mesmo em um sucesso. +Spell/&SpareTheDyingExtendedDescription=Escolha uma criatura dentro do alcance que tenha 0 Pontos de Vida e não esteja morta. A criatura se torna Estável. O alcance dobra quando você alcança os níveis 5 (30 pés), 11 (60 pés) e 17 (120 pés). Spell/&StoneskinExtendedDescription=Concede resistência a danos contundentes, cortantes e perfurantes. Spell/&TrueStrike2024Description=Guiado por um lampejo de percepção mágica, você faz um ataque com a arma usada na conjuração da magia. O ataque usa sua habilidade de conjuração para as jogadas de ataque e dano ou Força ou Destreza, o que for maior. Se o ataque acertar, ele causa dano Radiante em vez do tipo de dano normal da arma. O ataque causa dano Radiante extra quando você atinge os níveis 5 (1d6), 11 (2d6) e 17 (3d6). Stage/&IdentityMorphotypeEyeHeader=Estilo dos olhos diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 2dfbd64c2f..6f370d77f7 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Versatilidades ModUi/&DontEndTurnAfterReady=Não termine o turno após a ação Pronto [permite ação bônus ou qualquer outra ação principal de outras fontes] ModUi/&DontFollowCharacterInBattle=A câmera de batalha não segue quando o personagem já está na tela ModUi/&DontFollowMargin=+ A menos que o herói esteja desligado ou dentro de % da borda da tela +ModUi/&DownloadVoice=Baixar Vozes Sugeridas +ModUi/&DownloadVoiceOngoing=Baixando em {0} ModUi/&DungeonMaker=Criador de Masmorras ModUi/&DungeonMakerBasicHelp=• Essas configurações não exigirão que o jogador tenha esse mod instalado ModUi/&Effects=Efeitos @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Habilitar um sistema épico de compra de 35 pont ModUi/&EnableExtendedProficienciesPanelDisplay=Habilitar exibição do painel de proficiências estendidas [Tiros Arcanos, Infusões, Manobras e Versatilidades]\n[queda de desempenho na inspeção de personagem. use por sua conta e risco] ModUi/&EnableFeatsAtEvenLevels=Habilitar seleção de talentos nos níveis 2, 10 e 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Habilitar seleção de talentos nos níveis 6 e 14 +ModUi/&EnableFighterStudiedAttacks=Habilitar Ataques Estudados no nível 13 [vantagem se o ataque anterior na rodada contra a criatura falhou] +ModUi/&EnableFighterTacticalProgression=Habilitar Mente Tática e Mudança Tática nos níveis 2 e 5 [aumentar cenários de segundo fôlego] ModUi/&EnableFighterWeaponSpecialization=Habilite Especialização em Armas nos níveis 8 e 16 [receba +1 para acertar e causar dano, mas desvantagem com qualquer outro tipo de arma] ModUi/&EnableFlexibleBackgrounds=Habilitar fundos flexíveis [selecione habilidades e proficiências em ferramentas dos fundos] ModUi/&EnableFlexibleRaces=Habilitar raças flexíveis [atribuir pontos de habilidade em vez dos padrões raciais] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=Habilite Especialização e ModUi/&EnableMulticlass=Habilitar multiclasse [Requer reinicialização] ModUi/&EnableOneDnDPreparedSpellsTables=Permitir que todos os Conjuradores usem novas tabelas de magias preparadas [Bardo, Clérigo, Druida, Paladino, Patrulheiro, Feiticeiro, Mago] ModUi/&EnableOneDndBarkskinSpell=Habilitar Barkskin versão de magia 5e 2024 [ação bônus, sem concentração, CA definida como 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Habilitar Arcane Sword, Circle of Death, Flame Strike, Ice Storm e Vicious Mockery versão 5e 2024 dos feitiços [melhor dano] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Habilitar Arcane Sword, Circle of Death, Flame Strike, Ice Storm, Prismatic Spray e Vicious Mockery versão de magias 5e 2024 [melhor dano] ModUi/&EnableOneDndDivineFavorSpell=Habilitar Favor Divino versão de magia 5e 2024 [sem concentração] ModUi/&EnableOneDndGuidanceSpell=Habilitar Orientação versão de magia 5e 2024 [Escolha uma habilidade na conjuração e ganhe bônus por até 1 minuto.] ModUi/&EnableOneDndHealingSpellsUpgrade=Habilitar Curar Ferimentos, Vida Falsa, Palavra de Cura, Curar Ferimentos em Massa e Palavra de Cura em Massa versão de feitiços 5e 2024 [melhor cura] +ModUi/&EnableOneDndHideousLaughterSpell=Habilitar Risada Hedionda versão de magia 5e 2024 [+1 alvo por upcast] +ModUi/&EnableOneDndHuntersMarkSpell=Habilitar Marca do Caçador versão de magia 5e 2024 [dano de força] ModUi/&EnableOneDndLesserRestorationSpell=Habilitar Restauração Menor versão de magia 5e 2024 [ação bônus] ModUi/&EnableOneDndMagicWeaponSpell=Habilitar Arma Mágica versão de magia 5e 2024 [ação bônus, sem concentração, atualização de aprimoramento no 3º e 6º nível da magia] -ModUi/&EnableOneDndPowerWordKillSpell=Habilitar Palavra de Poder: Matar versão de magia 5e 2024 [12d12 de dano psíquico se acima de 100 hp] +ModUi/&EnableOneDndPowerWordStunSpell=Habilitar Palavra de Poder Atordoante versão de magia 5e 2024 [alvo parado por um turno se tiver mais de 150 hp] +ModUi/&EnableOneDndSpareTheDyingSpell=Habilitar Poupar os Moribundos versão de magia 5e 2024 [alcance dobra nos níveis 5, 11 e 17] +ModUi/&EnableOneDndSpiderClimbSpell=Habilitar Escalada de Aranha versão de magia 5e 2024 [+1 alvo por upcast] ModUi/&EnableOneDndStoneSkinSpell=Habilitar Stone Skin versão de magia 5e 2024 [fornece resistência a B/P/S mágicos também] ModUi/&EnableOneDndTrueStrikeCantrip=Habilitar True Strike versão 5e 2024 do truque [Requer reinicialização]\n[o ataque usa sua habilidade de conjuração para a jogada de ataque e bônus de dano, além de dano radiante adicional do nível 5] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Habilitar Impor as Mãos como ação bônus @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de ModUi/&EnableRelearnSpells=Habilitar seleção de truques ou magias já aprendidas de outras fontes ModUi/&EnableRespecAction=Habilitar RESPEC após a ação de descanso [não usar RESPEC durante uma sessão multijogador] ModUi/&EnableRitualOnAllCasters=Habilitar a conjuração de Ritual em todos os conjuradores -ModUi/&EnableRogueCunningStrike=Habilite Golpe Astuto e Golpe Desonesto nos níveis 5 e 14 [você deixa de lado 1 dado de ataque furtivo para efeitos de acerto adicionais] +ModUi/&EnableRogueCunningStrike=Habilite Golpe Astuto, Golpe Astuto Aprimorado e Golpe Desonesto nos níveis 5, 11 e 14 [você deixa de lado 1 dado de ataque furtivo para efeitos de acerto adicionais] ModUi/&EnableRogueFightingStyle=Habilitar a escolha Estilo de luta no nível 2 +ModUi/&EnableRogueReliableTalentAt7=Habilite Talento Confiável no nível 7 em vez de 11 ModUi/&EnableRogueSlipperyMind=Troque Mente Escorregadia pela versão 5e 2024 [você também ganha proficiência em testes de resistência de carisma, além de sabedoria] ModUi/&EnableRogueSteadyAim=Habilite Miração Firme no nível 3 [ação bônus dá vantagem na sua próxima jogada de ataque no turno atual se você ainda não se moveu] ModUi/&EnableRogueStrSaving=Habilitar modificadores de DEX ou FOR de Hoodlum em Cunning/Devious Strike ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Habilitar Second Wind para usar a progressão de usos do 5e 2024 ModUi/&EnableSignatureSpellsRelearn=Habilitar Feitiços de Assinatura para serem preparados a cada descanso longo [em vez de uma vez no nível 20] -ModUi/&EnableSorcererInnateSorceryAt1=Habilitar Feitiçaria Inata no nível 1 +ModUi/&EnableSorcererArcaneApotheosis=Habilitar Apoteose Arcana em 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Habilitar Feitiçaria Inata e Feitiçaria Encarnada nos níveis 1 e 7 ModUi/&EnableSorcererMagicalGuidance=Habilitar Orientação Mágica no nível 5 ModUi/&EnableSorcererQuickenedAction=Habilitar ação Feitiço Acelerado para permitir conjurar feitiço de ação principal com metamagia acelerada aplicada -ModUi/&EnableSorcerousRestorationAtLevel5=Habilitar Restauração Feiticeira no nível 5 +ModUi/&EnableSorcererSorcerousRestoration=Habilitar Restauração Feiticeira no nível 5 ModUi/&EnableSortingDungeonMakerAssets=Habilitar classificação de ativos no editor do Dungeon Maker +ModUi/&EnableSpeech=Habilitar fala em campanhas personalizadas [somente narração e heróis] +ModUi/&EnableSpeechActorHelp=• Selecione um ator +ModUi/&EnableSpeechOnNpcs=+ Habilitar fala em NPCs [por mapeamento de campanha ou atribuição automática] +ModUi/&EnableSpeechVoiceHelp=• Selecione uma voz e velocidade de narração ModUi/&EnableStatsOnHeroTooltip=Exibir estatísticas na dica de ferramenta do herói [por exemplo: acertos críticos, falhas críticas, etc.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Além disso, cada herói adiciona um teste de D20 ao peso para um pouco de aleatoriedade [peso da escolha = votos * modificador de Carisma do herói + teste de D20] ModUi/&EnableSurprisedToEnforceDisadvantage=Habilitar a condição Surpreso para impor desvantagem de iniciativa em vez de pular uma rodada ModUi/&EnableTeleportToRemoveRestrained=Habilitar Teletransporte para remover todas as condições restritas do alvo ModUi/&EnableTooltipDistance=Habilitar a exibição da distância nas dicas de ferramentas ao passar o mouse sobre um personagem em combate ModUi/&EnableUnarmedMainAttackAction=Habilitar a ação Ataque Desarmado [se o ator tiver uma arma principal, for um Monge ou tiver bandanas ou manoplas equipadas] +ModUi/&EnableUnlimitedInventoryActions=Habilite um número ilimitado de ações de inventário por turno. ModUi/&EnableUpcastConjureElementalAndFey=Habilitar upcast de Conjure Elemental e Conjure Fey ModUi/&EnableVariablePlaceholdersOnTexts=Habilitar marcadores de posição variáveis em descrições [usar {VARIABLE_NAME} como marcador de posição] ModUi/&EnableVersatileAmmunitionSlots=Permitir que Poções e Pergaminhos sejam carregados e usados nos slots de munição @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=Permitir que Poções e ModUi/&EnableWarlockMagicalCunningAtLevel2=Habilitar Astúcia Mágica no nível 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Habilite Astúcia Mágica no nível 2 e melhore Mestre Eldritch no nível 20 ModUi/&EnableWarlockToLearnPatronAtLevel3=Habilitar Patrono no nível 3 em vez de 1 +ModUi/&EnableWizardMemorizeSpell=Habilitar Memorizar Feitiço no nível 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Habilitar Scholar no nível 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Habilitar Escola de Magia no nível 3 em vez de 2 ModUi/&EnablesAsiAndFeat=Habilitar aumento de pontuação de atributos e seleção de talentos [em vez de uma escolha exclusiva] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Corrigir quebra de texto da interface do usuár ModUi/&FixEldritchBlastRange=Use o intervalo de 24 células com Explosão Eldritch [em vez de 12] ModUi/&FixRingOfRegenerationHealRate=Defina a taxa de cura do Anel de Regeneração para 1 HP a cada 3 minutos ModUi/&FlightSuspendWingedBoots=+ Use as regras oficiais das Botas Aladas [duração restante não contada quando o voo é suspenso] +ModUi/&ForceModSpeechOnNpcs=+Forçar atribuição automática de voz em todos os NPCs em vez de mapeamento de campanha ModUi/&Formation=Formação: ModUi/&FormationError=Você não pode mudar sua formação durante um jogo multijogador... ModUi/&FormationHelp1=• Use os botões numéricos para editar um determinado conjunto [considere habilitar teclas de atalho na entrada] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Habilite o lançamento rápido Sensibilidade à Luz em Darkelf, Dark Kobold e Gray Dwarf para serem acionados somente em ambientes externos\n[áreas internas em locais externos acessíveis sem uma tela de carregamento são consideradas externas pelo mecanismo do jogo] ModUi/&Races=Corridas ModUi/&RecipeCost=Custo da receita +ModUi/&RefreshVoice=Atualizar lista de vozes ModUi/&RelicForgeries=Falsificações de relíquias ModUi/&RemoveAttunementRequirements=Remover requisitos de sintonização [Requer reinicialização] ModUi/&RemoveBardMagicalSecretAt14And18=Remova Segredo Mágico nos níveis 14 e 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Mostrar ícone de item criado próximo ao ite ModUi/&ShowCraftingRecipeInDetailedTooltips=Mostrar receita de criação em dicas de ferramentas detalhadas ModUi/&ShowDescriptions=Mostrar descrições ModUi/&ShowMotionFormPreview=Mostrar pré-visualização dos efeitos Push e Pull +ModUi/&SpeechScale=Modificador de velocidade de narração [menor é mais rápido] ModUi/&SpellLevelFilter=filtro de nível de magia [-1 exibe tudo] ModUi/&SpellsMenu=Feitiços ModUi/&StealthBreaksWhenAttackHits=Habilitar perda de furtividade quando ataque de arma ou magia acerta @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Total de talentos ModUi/&Translate=Traduzir ModUi/&TranslateCancel=Cancelar {0} em {1} ModUi/&Translations=Traduções: +ModUi/&UnityExplorer=IU do Unity Explorer ModUi/&UnleashEnemyAsNpc=Permitir que monstros sejam selecionados em gadgets de NPC ModUi/&UnleashNpcAsEnemy=Desbloquear seleção de monstros ModUi/&Update=Atualizar diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt index e3f7c1916b..5d7b2a9caa 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Cantrips-pt-BR.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Lâmina de Chama Verde! Feedback/&AdditionalDamageResonatingStrikeLine={0} queima {1} com Lâmina de Chama Verde! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Lâmina iluminada pelo sol! Feedback/&AdditionalDamageSunlightBladeLine={0} ilumina {1} com Sunlit Blade! (+{2}) -Feedback/&Within5Ft=5 pés -Feedback/&WithinReach=Alcançar Proxy/&ProxyCreateBonfireTitle=Fogueira Spell/&AcidClawsDescription=Suas unhas afiam, prontas para desferir um ataque corrosivo. Faça um ataque de magia corpo a corpo contra uma criatura a até 5 pés de você. Em um acerto, o alvo recebe 1d8 de dano ácido e tem CA reduzida em 1 por 1 rodada (não acumula). Spell/&AcidClawsTitle=Garras Ácidas diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells01-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells01-pt-BR.txt index 86fc5d10d6..028f866837 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells01-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells01-pt-BR.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} ataca rapidamente {1} (+{2}) Feedback/&AdditionalDamageThunderousSmiteFormat=Golpe Trovejante! Feedback/&AdditionalDamageThunderousSmiteLine={0} causa mais dano a {1} por meio de um golpe estrondoso (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=Golpe Irado! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} causa mais dano a {1} através de um golpe furioso (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} causa mais dano a {1} por meio de um golpe irado (+{2}) Feedback/&ChaosBoltGainLeap={0} pode mirar em um inimigo adicional com {1} poder de salto Feedback/&ChaosBoltRandomChoice={0} deixe {1} se manifestar aleatoriamente como {2} Feedback/&ChaosBoltRolledDifferentDice={0} rolou um {2} e um {3} em {1} dados de dano D8. Feedback/&ChaosBoltRolledEqualDice={0} rolou um {2} em ambos os dados de dano {1} D8. Feedback/&FeatureGiftOfAlacrityLine={0} aciona {1} e adiciona {2} à iniciativa +Feedback/&Within5Ft=5 pés +Feedback/&WithinReach=Alcançar Monster/&OwlFamiliarDescription=Coruja Familiar. Monster/&OwlFamiliarTitle=Coruja Familiar Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Escolha um tipo de dano. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Aumente drasticamente a gravidade em uma esfera Spell/&MagnifyGravityTitle=Ampliar a gravidade Spell/&MuleDescription=O recipiente desta magia é capaz de ignorar os efeitos de cargas pesadas ou armaduras na velocidade de movimento. Eles também podem carregar um pouco mais de peso. Spell/&MuleTitle=Mula +Spell/&ProtectionFromEvilGoodTitle=Proteja-se contra o mal e o bem Spell/&RadiantMotesDescription=Libera um enxame de 4 projéteis radiantes que causam 1d4 de dano radiante cada.\nQuando você lança este feitiço usando um espaço de feitiço de 2º nível ou superior, o feitiço cria mais 1 projétil para cada espaço acima do 1º. Spell/&RadiantMotesTitle=Partículas Radiantes +Spell/&RayOfSicknessDescription=Você atira um raio esverdeado em uma criatura dentro do alcance. Faça um ataque de magia à distância contra o alvo. Em um acerto, o alvo recebe 2d8 de dano de Veneno e tem a condição Envenenado até o final do seu próximo turno. O dano aumenta em 1d8 para cada nível de slot de magia acima de 1. +Spell/&RayOfSicknessTitle=Raio da Doença Spell/&SanctuaryDescription=Você protege uma criatura dentro do alcance contra ataques. Até que a magia termine, qualquer criatura que alvejar a criatura protegida com um ataque ou uma magia prejudicial deve primeiro fazer um teste de resistência de Sabedoria. Em uma falha, a criatura perde o ataque ou a magia. Esta magia não protege a criatura protegida de efeitos de área. Se a criatura protegida fizer um ataque ou conjurar uma magia, esta magia termina. Spell/&SearingSmiteDescription=No seu próximo golpe, sua arma brilha com uma intensidade incandescente, e o ataque causa 1d6 de dano de fogo extra ao alvo, fazendo com que ele se incendeie em chamas.\nNo início de cada um de seus turnos, o alvo deve fazer um teste de resistência de Constituição bem-sucedido para parar de queimar, ou sofrerá 1d6 de dano de fogo.\nNíveis mais altos: para cada nível de slot acima do 1º, o dano extra inicial causado pelo ataque aumenta em 1d6. Spell/&SearingSmiteTitle=Golpe Cauterizante @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Você invoca o poder de forças malévolas. Tentácu Spell/&VoidGraspTitle=Brasões de Hadar Spell/&WitchBoltDescription=Um raio de energia azul crepitante é lançado em direção a uma criatura dentro do alcance, formando um arco de relâmpago sustentado entre você e o alvo. Faça um ataque de magia à distância contra essa criatura. Em um acerto, o alvo sofre 1d12 de dano de relâmpago, e em cada um dos seus turnos durante a duração, você pode usar sua ação para causar 1d12 de dano de relâmpago ao alvo automaticamente. A magia termina se você usar sua ação para fazer qualquer outra coisa. A magia também termina se o alvo estiver fora do alcance da magia. Quando você conjura esta magia usando um espaço de magia de 2º nível ou superior, o dano aumenta em 1d12 para cada nível de espaço acima do 1º. Spell/&WitchBoltTitle=Parafuso de Bruxa -Spell/&WrathfulSmiteDescription=Na próxima vez que você acertar com um ataque de arma corpo a corpo durante a duração desta magia, seu ataque causa 1d6 de dano psíquico extra. Além disso, se o alvo for uma criatura, ela deve fazer um teste de resistência de Sabedoria ou ficará assustada com você até que a magia termine. Como uma ação, a criatura pode fazer um teste de Sabedoria contra sua CD de resistência de magia para fortalecer sua determinação e terminar esta magia. +Spell/&WrathfulSmiteDescription=O alvo sofre 1d6 de dano Necrótico extra do ataque e deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Amedrontado até que a magia termine. No final de cada um de seus turnos, o alvo Amedrontado repete o teste, terminando a magia em si mesmo em um sucesso. O dano aumenta em 1d6 para cada nível de espaço de magia acima de 1. Spell/&WrathfulSmiteTitle=Golpe Irado Tooltip/&TagDamagePureTitle=Dano Caótico diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt index 2d57a67839..8f02804954 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells02-pt-BR.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Explode um cubo luminoso que cega brevemente qualqu Spell/&ColorBurstTitle=Explosão de cores Spell/&KineticJauntDescription=Você magicamente fortalece seus movimentos com passos de dança, dando a si mesmo 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 pelo espaço de qualquer criatura. Spell/&KineticJauntTitle=Passeio cinético -Spell/&MirrorImageDescription=Três duplicatas ilusórias de você aparecem no seu espaço. Até que a magia termine, cada vez que uma criatura o ataca, role um d20 para determinar se o ataque tem como alvo uma de suas duplicatas.\nSe você tiver 3 duplicatas, você deve rolar um 6 ou mais para mudar o alvo do ataque para uma duplicata. Com 2 duplicatas, você deve rolar um 8 ou mais. Com 1 duplicata, você deve rolar um 11 ou mais.\nA CA de uma duplicata é igual a 10 + seu modificador de Destreza. Se um ataque atingir uma duplicata, a duplicata é destruída. Uma duplicata pode ser destruída apenas por um ataque que a atinja. Ela ignora todos os outros danos e efeitos. A magia termina quando todas as três duplicatas são destruídas.\nUma criatura não é afetada por esta magia se estiver Cega, ou tiver Visão às Cegas, Visão Verdadeira ou Sentido Tremores (não se aplica se você não tocar no chão). +Spell/&MirrorImageDescription=Três duplicatas ilusórias de você aparecem no seu espaço. Até que a magia termine, as duplicatas se movem com você e imitam suas ações, mudando de posição para que seja impossível rastrear qual imagem é real. Cada vez que uma criatura o atingir com uma jogada de ataque durante a duração da magia, role um d6 para cada uma das suas duplicatas restantes. Se qualquer um dos d6s rolar um 3 ou mais, uma das duplicatas é atingida em vez de você, e a duplicata é destruída. As duplicatas ignoram todos os outros danos e efeitos. A magia termina quando todas as três duplicatas são destruídas. Uma criatura não é afetada por esta magia se tiver a condição Blinded, Blindsight ou Truesight. Spell/&MirrorImageTitle=Imagem espelhada Spell/&NoxiousSprayDescription=Você libera um jato de gases nocivos em um alvo dentro do alcance. Faça um ataque mágico à distância. Em um acerto, o alvo recebe 4d6 de dano de veneno e deve ser bem-sucedido em um teste de resistência de Constituição ou passar todo o seu próximo turno vomitando e arfando, incapaz de se mover ou realizar ações. Construtos, elementais e mortos-vivos não são afetados por esta magia. Quando você conjura esta magia usando um espaço de 3º nível ou superior, você pode alvejar uma criatura adicional para cada nível de espaço acima de 2º. Spell/&NoxiousSprayTitle=Spray nocivo diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt index 5cf69dd97b..73a279c867 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells03-pt-BR.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Você cria o rosto de uma enorme cobra verde que ap Spell/&AdderFangsTitle=Presas de Adder Spell/&AshardalonStrideDescription=As chamas ondulantes de um dragão explodem de seus pés, concedendo a você velocidade explosiva. Durante a duração, sua velocidade aumenta em 20 pés e se mover não provoca ataques de oportunidade. Quando você se move a 5 pés de uma criatura, ela sofre 1d6 de dano de fogo do seu rastro de calor. Uma criatura pode sofrer esse dano apenas uma vez durante um turno. Quando você conjura esta magia usando um espaço de magia de 4º nível ou superior, aumente sua velocidade em 5 pés para cada nível de espaço de magia acima do 3º. A magia causa 1d6 de dano de fogo adicional para cada nível de espaço acima do 3º. Spell/&AshardalonStrideTitle=Passo de Ashardalon -Spell/&AuraOfLifeDescription=Energia de cura irradia de você em uma aura com um raio de 30 pés. Até que a magia termine, a aura se move com você, centralizada em você. Você pode usar uma ação bônus para fazer com que uma criatura na aura (incluindo você) recupere 2d6 pontos de vida. +Spell/&AuraOfLifeDescription=Energia de cura irradia de você em uma aura com um raio de 30 pés. Quando você cria a aura e durante cada um dos seus turnos subsequentes enquanto ela persiste, você pode restaurar 2d6 Pontos de Vida para uma criatura nela como uma ação livre. Spell/&AuraOfLifeTitle=Aura de Vitalidade Spell/&BlindingSmiteDescription=Na próxima vez que você atingir uma criatura com um ataque de arma corpo a corpo durante a duração desta magia, sua arma brilha com uma luz brilhante, e o ataque causa 3d8 de dano radiante extra ao alvo. Além disso, o alvo deve ser bem-sucedido em um teste de resistência de Constituição ou ficará cego até o fim da magia. Uma criatura cegada por esta magia faz outro teste de resistência de Constituição no final de cada um de seus turnos. Em um teste bem-sucedido, ela não fica mais cega. Spell/&BlindingSmiteTitle=Golpe Cegante @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=Você se teletransporta para um espaço desocupado Spell/&BoomingStepTitle=Passo do trovão Spell/&CorruptingBoltDescription=Você pode disparar um pulso de energia necrótica que faz com que o corpo de uma criatura comece a murchar e apodrecer. Faça um ataque à distância contra uma criatura. Em um acerto, o alvo sofre 4d8 de dano necrótico e deve ser bem-sucedido em um teste de resistência de Constituição. Em um teste de resistência falho, na próxima vez que você ou um aliado seu atingir a criatura corrompida com um ataque antes do fim do seu próximo turno, a criatura terá vulnerabilidade a todo o dano daquele ataque, e então a corrupção termina. 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/&CorruptingBoltTitle=Parafuso Corrompido -Spell/&CrusadersMantleDescription=Cerque-se de uma aura mágica. Aliados dentro da aura ganham um bônus de 1d4 de dano radiante em seus ataques. +Spell/&CrusadersMantleDescription=Poder sagrado irradia de você em uma aura com um raio de 30 pés, despertando ousadia em criaturas amigáveis. Até que a magia termine, a aura se move com você, centralizada em você. Enquanto estiver na aura, cada criatura não hostil na aura (incluindo você) causa 1d4 de dano radiante extra quando acerta com um ataque. Spell/&CrusadersMantleTitle=Manto do Cruzado Spell/&ElementalWeaponDamageAcidDescription=Imbui uma arma não mágica com dano ácido. Spell/&ElementalWeaponDamageAcidTitle=Arma elemental ácida diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells05-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells05-pt-BR.txt index 6cd9b3aa5d..8ee33d3d09 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells05-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells05-pt-BR.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Um pequeno orbe da mesma cor do balão usado aparece Spell/&SonicBoomTitle=Estrondo Sônico Spell/&SteelWhirlwindDescription=Você floresce a arma usada na conjuração e então desaparece para atacar como o vento. Escolha até cinco criaturas que você possa ver dentro do alcance. Faça um ataque de magia corpo a corpo contra cada alvo. Em um acerto, um alvo recebe 6d10 de dano de força. Você pode então se teletransportar para um espaço desocupado que você possa ver dentro de 5 pés de um dos alvos que você acertou ou errou. Spell/&SteelWhirlwindTitle=Golpe de Vento de Aço -Spell/&SwiftQuiverDescription=Você transmuta sua aljava para que ela automaticamente faça a munição saltar para sua mão quando você a alcança. Em cada um dos seus turnos até que a magia termine, você pode usar uma ação bônus para fazer dois ataques com uma arma de longo alcance. +Spell/&SwiftQuiverDescription=Quando você conjura a magia e como uma Ação Bônus até que ela termine, você pode fazer dois ataques com uma arma que dispara Flechas ou Virotes, como um Arco Longo ou uma Besta Leve. A magia cria magicamente a munição necessária para cada ataque. Cada Flecha ou Virote criado pela magia causa dano como uma peça não mágica de munição de seu tipo e se desintegra imediatamente após acertar ou errar. Spell/&SwiftQuiverTitle=Aljava rápida Spell/&SynapticStaticDescription=Você escolhe um ponto dentro do alcance e faz com que energia psíquica exploda ali. Cada criatura em uma esfera de 20 pés de raio centrada naquele ponto deve fazer um teste de resistência de Inteligência. Um alvo sofre 8d6 de dano psíquico em um teste falho, ou metade do dano em um teste bem-sucedido. Após um teste falho, um alvo tem pensamentos confusos por 1 minuto. Durante esse tempo, ele rola um d6 e subtrai o número rolado de todas as suas jogadas de ataque e testes de habilidade. O alvo pode fazer um teste de resistência de Inteligência no final de cada um de seus turnos, encerrando o efeito sobre si mesmo em um sucesso. Spell/&SynapticStaticTitle=Estática sináptica diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt index 99a3681bc1..56d3b1f04e 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Spells/Spells09-pt-BR.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Orbes flamejantes de fogo despencam no Spell/&MeteorSwarmSingleTargetTitle=Enxame de meteoros Spell/&PowerWordHealDescription=Uma onda de energia de cura lava a criatura que você toca. O alvo recupera todos os seus pontos de vida. Se a criatura estiver enfeitiçada, assustada, paralisada, envenenada ou atordoada, a condição termina. Se a criatura estiver caída, ela pode usar sua reação para se levantar. Esta magia não tem efeito em mortos-vivos ou constructos. Spell/&PowerWordHealTitle=Palavra de Poder Cura -Spell/&PowerWordKillDescription=Você profere uma palavra de poder que pode obrigar uma criatura que você possa ver dentro do alcance a morrer instantaneamente. Se a criatura que você escolher tiver 100 pontos de vida ou menos, ela morre. Caso contrário, a magia não tem efeito. +Spell/&PowerWordKillDescription=Você obriga uma criatura que você pode ver dentro do alcance a morrer. Se o alvo tiver 100 Pontos de Vida ou menos, ele morre. Caso contrário, ele recebe 12d12 de dano Psíquico. Spell/&PowerWordKillTitle=Palavra de poder matar Spell/&PsychicScreamDescription=Você libera o poder da sua mente para explodir o intelecto de até dez criaturas de sua escolha que você pode ver dentro do alcance. Cada alvo deve fazer um teste de resistência de Inteligência. Em um teste falho, um alvo sofre 14d6 de dano psíquico e fica atordoado por 1 minuto. Em um teste bem-sucedido, um alvo sofre metade do dano e não fica atordoado. Um alvo atordoado pode fazer um teste de resistência de Inteligência no final de cada um de seus turnos. Em um teste bem-sucedido, o efeito de atordoamento termina. Spell/&PsychicScreamTitle=Grito psíquico @@ -25,5 +25,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, exceto para você. Nenhum tempo passa para outras criaturas, enquanto você tem 1d4+1 turnos seguidos, durante os quais você pode usar ações e se mover normalmente. Esta magia termina se uma das ações que você usar durante este período, ou quaisquer efeitos que você criar durante este período, afetar uma criatura diferente de você. Spell/&TimeStopTitle=Parar o tempo -Spell/&WeirdDescription=Inspirando-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 30 pés de raio centrada em um ponto de sua escolha dentro do alcance deve fazer um teste de resistência de Sabedoria. Em um teste falho, uma criatura fica assustada pela duração. A ilusão invoca os medos mais profundos da criatura, manifestando seus piores pesadelos como uma ameaça implacável. No final de cada turno da criatura assustada, ela deve ter sucesso em um teste de resistência de Sabedoria ou sofrer 4d10 de dano psíquico. Em um teste bem-sucedido, a magia termina para aquela criatura. +Spell/&WeirdDescription=Você tenta criar terrores ilusórios nas mentes dos outros. Cada criatura de sua escolha em uma Esfera de 30 pés de raio centrada em um ponto dentro do alcance faz um teste de resistência de Sabedoria. Em uma falha, um alvo sofre 10d10 de dano Psíquico e tem a condição Amedrontado pela duração. Em uma falha, um alvo sofre apenas metade do dano. Um alvo Amedrontado faz um teste de resistência de Sabedoria no final de cada um de seus turnos. Em uma falha, ele sofre 5d10 de dano Psíquico. Em uma falha, a magia termina naquele alvo. Spell/&WeirdTitle=Esquisito diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/CircleOfTheAncientForest-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/CircleOfTheAncientForest-pt-BR.txt index 22f4a98d53..000e0ee273 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/CircleOfTheAncientForest-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/CircleOfTheAncientForest-pt-BR.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=Você tem um pool de poder de cur Feature/&PowerAncientForestRegrowthTitle=Recrescimento Feature/&PowerAncientForestRootedDescription=Gavinhas arbóreas crescem de seus pés e se enterram no chão. Sua velocidade se torna 0, e você ganha vantagem em qualquer teste de resistência para empurrá-lo, puxá-lo ou derrubá-lo. Você pode conjurar emaranhado à vontade. Feature/&PowerAncientForestRootedTitle=Enraizado -Feature/&PowerPoolAncientForestHerbalBrewDescription=Você pode criar poções de ervas, cada uma das quais dura até o próximo descanso longo. Você cria um total de poções igual ao seu bônus de proficiência. Para cada poção, escolha um dos seguintes efeitos:\nPoção Fortificante: concede resistência a diferentes tipos de dano por 1 hora.\nPoção Aceleradora: fornece 2d4 pontos de vida.\nPoção Toxificante: age como veneno que pode ser aplicado a uma arma que dura 1 minuto. Se o acerto acertar, o alvo recebe 1d4 de dano de veneno em cada acerto. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Você pode criar poções de ervas, cada uma das quais dura até o próximo descanso longo. Você cria um total de poções igual ao seu bônus de proficiência. Para cada poção, escolha um dos seguintes efeitos:\nPoção Fortificante: concede resistência a diferentes tipos de dano por 1 hora.\nPoção Aceleradora: fornece 2d4 pontos de vida.\nPoção Toxificante: age como veneno que pode ser aplicado a uma arma que dura 1 minuto. Se o acerto acertar, o alvo recebe 1d4 de dano de veneno em cada acerto. Feature/&PowerPoolAncientForestHerbalBrewTitle=Preparação de Ervas Feature/&PowerPoolAncientForestWallOfThornsDescription=Você pode conjurar Wall of Thorns um número de vezes igual ao seu modificador de Wisdom. Ele recarrega em descansos longos. Feature/&PowerPoolAncientForestWallOfThornsTitle=Muro de espinhos diff --git a/SolastaUnfinishedBusiness/Translations/ru/FightingStyles-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/FightingStyles-ru.txt index 695bf30ea9..9e4f163915 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/FightingStyles-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/FightingStyles-ru.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=Казнь! Feedback/&AdditionalDamageExecutionerLine={0} казнит {1}, нанося +{2} дополнительного урона! FightingStyle/&AstralReachDescription=Дальность вашего безоружного удара увеличивается на 5 футов, если обе ваши руки свободны. FightingStyle/&AstralReachTitle=Астральная досягаемость +FightingStyle/&BlessedWarriorDescription=Вы узнаёте два заговора по вашему выбору из списка заклинаний жреца. Для вас они считаются заклинаниями паладина, а базовой характеристикой для этих заклинаний является ваша Харизма. +FightingStyle/&BlessedWarriorTitle=Благословенный воин FightingStyle/&BlindFightingDescription=Вы получаете слепое зрение в пределах 10 футов. В пределах этой дистанции вы можете видеть всё, что не находится за полным укрытием, даже если вы ослеплены или находитесь в темноте. Более того, вы можете увидеть невидимое существо в пределах этой дистанции, если только оно не преуспело в попытке спрятаться от вас. FightingStyle/&BlindFightingTitle=Сражение вслепую FightingStyle/&CripplingDescription=Вы уменьшаете скорость передвижения противника на 10 футов, если попадаете по нему атакой ближнего боя. FightingStyle/&CripplingTitle=Калечащий +FightingStyle/&DruidicWarriorDescription=Вы узнаёте два заговора по вашему выбору из списка заклинаний друида. Они считаются заклинаниями следопыта для вас, а базовой характеристикой для этих заклинаний является ваша Мудрость. +FightingStyle/&DruidicWarriorTitle=Воин-друид FightingStyle/&ExecutionerDescription=Вы добавляете свой бонус мастерства к урону против ослеплённых, напуганных, обездвиженных, недееспособных, парализованных, сбитых с ног или ошеломлённых существ. FightingStyle/&ExecutionerTitle=Палач FightingStyle/&HandAndAHalfDescription=Вы получаете бонус +1 к броскам атаки, а также бонус + 1 к КД, пока используете только одно одноручное или универсальное оружие ближнего боя и не используете щит. @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} атаковал одного и Reaction/&ReactionAttackSentinelReactDescription=Используйте реакцию для атаки. Reaction/&ReactionAttackSentinelReactTitle=Атака Reaction/&ReactionAttackSentinelTitle=Страж +Tag/&BlessedWarriorCantripSpecialTagTitle=Заговоры Благословенного воина +Tag/&DruidicWarriorCantripSpecialTagTitle=Заговоры Воина-друида diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index c6c3b637f1..dca4e8cd14 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=Врождённое чароде Condition/&ConditionStaggeringBlowAoODescription=Вы не можете совершать атаки по возможности до начала вашего следующего хода. Condition/&ConditionStaggeringBlowAoOTitle=Ошеломляющий удар Condition/&ConditionStopMovementTitle=Остановлен +Condition/&ConditionStudiedAttacksDescription=Источник совершит следующую атаку по вам с преимуществом +Condition/&ConditionStudiedAttacksTitle=Изученные атаки Condition/&ConditionTauntedDescription=Вы совершаете с помехой броски атаки по существам, отличным от провокатора. Condition/&ConditionTauntedTitle=Спровоцирован Condition/&FlightSuspendDescription=Действие полёта приостановлено @@ -75,13 +77,13 @@ ContentPack/&9999Description=Мод Неоконченное Дело - это ContentPack/&9999Title=Мод Неоконченное Дело Equipment/&BeltOfRegeneration_Function_Description=Восстанавливает 5 хитов за раунд в течение одной минуты. Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=Ваши атаки становятся критическими попаданиями при бросках 18, 19 или 20, пока вы используете это оружие и настроены на него. +Failure/&CannotAttackTarget=Невозможно произвести атаку по этой цели Failure/&FailureFlagCannotTargetUndead=Нежить не может быть целью Failure/&FailureFlagMaterialComponentHandsFull=Нет свободной руки для использования материальных компонентов заклинаний. Failure/&FailureFlagMustKnowLanguage=Вы должны владеть языком {0}, чтобы приказывать этому существу Failure/&FailureFlagTargetMustNotBeSurprised=Цель не должна быть застигнута врасплох Failure/&FailureFlagTargetMustUnderstandYou=Цель должна понимать ваш приказ Failure/&SecondTargetNotWithinRange=Невозможно выбрать эту цель, поскольку она находится вне досягаемости -Failure/&TargetMeleeWeaponError=Невозможно провести атаку ближнего боя по этой цели, так как она находится вне пределов {0} Failure/&TargetMustBeNoMoreThanOneSizeLarger=Цель должна быть не более чем на одну категорию больше вас Failure/&TargetMustHaveHolyWeapon=У цели должно быть священное оружие Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=Вы совершаете с преимуществом проверки Мудрости (Восприятие), если находитесь не на свету или в области магической тьмы. @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=Когда вы сове Feature/&FeatureBardSuperiorInspiration2024Title=Превосходное вдохновение Feature/&FeatureEldritchMasterDescription=Когда вы используете своё умение Магическая хитрость, вы восстанавливаете все потраченные ячейки заклинаний Магии договора. Feature/&FeatureEldritchMasterTitle=Таинственный мастер +Feature/&FeatureFighterStudiedAttacksDescription=Вы изучаете своих противников и извлекаете уроки из каждой своей атаки. Если вы совершаете бросок атаки против существа и промахиваетесь, следующий бросок атаки против этого существа вы совершаете с преимуществом до конца вашего следующего хода. +Feature/&FeatureFighterStudiedAttacksTitle=Изученные атаки +Feature/&FeatureFighterTacticalMindDescription=Вы знаете толк в тактике и добиваетесь превосходства на поле боя и вне его. Когда вы проваливаете проверку характеристики, вы можете использовать своё Второе дыхание, чтобы добиться цели. Вместо того, чтобы восстановить хиты, вы бросаете 1d10 и добавляете выпавшее число к проверке характеристики, потенциально превращая её в успех. Если проверка всё равно проваливается, использование Второго дыхания не расходуется. +Feature/&FeatureFighterTacticalMindTitle=Тактический ум +Feature/&FeatureFighterTacticalShiftDescription=Каждый раз, когда вы бонусным действием активируете Второе дыхание, вы можете переместиться на расстояние до половины своей скорости, не провоцируя атаки по возможности. +Feature/&FeatureFighterTacticalShiftTitle=Тактический шаг +Feature/&FeatureImprovedRogueCunningStrikeDescription=При нанесении урона Cкрытой атакой вы можете использовать до двух эффектов Хитрого удара, потратив кости урона за каждый из них. +Feature/&FeatureImprovedRogueCunningStrikeTitle=Улучшенный хитрый удар Feature/&FeatureMonkBodyAndMindDescription=Вы развили свои тело и разум до невероятных высот. Ваши значения Ловкости и Мудрости увеличиваются на 4. Feature/&FeatureMonkBodyAndMindTitle=Тело и разум Feature/&FeatureMonkHeightenedMetabolismDescription=Ваши тренировки вывели ваши тело и разум на новый уровень. Ваши умения Шквал ударов, Терпеливая оборона и Поступь ветра получают следующие преимущества:\n• Шквал ударов: Когда вы используете Шквал ударов, вы наносите три безоружных удара вместо двух.\n• Терпеливая оборона: Когда вы используете Терпеливую оборону, вы получаете количество временных хитов, равное броску двух ваших костей боевых искусств.\n• Поступь ветра: Когда вы используете одно из действий с помощью Поступи ветра (Отход или Рывок), вы также получаете преимущества другого из них. @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Первобытный порядок Feature/&FeatureSetDruidPrimalOrderWardenDescription=Обучившись сражениям, вы получаете владения воинским оружием и средней бронёй. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. +Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. +Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства +Feature/&FeatureSorcererArcaneApotheosisDescription=Пока активна ваша способность Врождённое чародейство, один раз за ход вы можете использовать один вариант Метамагии без затрат единиц чародейства. +Feature/&FeatureSorcererArcaneApotheosisTitle=Апофеоз магии Feature/&FeatureSorcererMagicalGuidanceDescription=Вы можете использовать свой внутренний источник магии, чтобы попытаться обратить неудачу в успех. Когда вы совершаете проверку характеристики и проваливаете её, вы можете потратить 1 единицу чародейства, чтобы перебросить d20, потенциально превращая провал в успех, но должны использовать новый бросок. Feature/&FeatureSorcererMagicalGuidanceTitle=Волшебное указание +Feature/&FeatureWizardMemorizeSpellDescription=Каждый раз, когда вы заканчиваете короткий отдых, вы можете изучить свою книгу заклинаний и заменить одно из заклинаний Волшебника 1-го уровня и выше, которое вы подготовили в рамках своей способности Использование заклинаний, другим заклинанием из вашей книги 1-го уровня и выше. +Feature/&FeatureWizardMemorizeSpellTitle=Заучивание заклинаний Feature/&FighterExtraAttackDescription=Вы можете атаковать два раза вместо одного, когда используете действие Атака или Толчок. Feature/&FlightResumeDescription=Возобновляет действие приостановленного полёта Feature/&FlightResumeTitle=Продолжить полёт @@ -213,10 +229,12 @@ Feature/&ToolGainChoicesSingleDescription=Выберите один из эти Feature/&VisionBlindsightDescription=Вы обладаете слепым зрением. Feedback/&AdditionalDamageBrutalStrikeFormat=Жестокий удар Feedback/&AdditionalDamageBrutalStrikeLine=Жестокий удар наносит дополнительно +{2} урона! +Feedback/&AdditionalDamageCrusadersMantleFormat=Мантия крестоносца! +Feedback/&AdditionalDamageCrusadersMantleLine={0} попадает по {1} и наносит дополнительно {2} урона излучением! Feedback/&AdditionalDamageSunderingBlowFormat=Раскалывающий удар Feedback/&AdditionalDamageSunderingBlowLine=Раскалывающий наносит дополнительно +{2} урона! -Feedback/&AdditionalDamageTrueStrikeFormat=Настоящий удар! -Feedback/&AdditionalDamageTrueStrikeLine={0} поражает {1} и наносит дополнительный {2} урона излучением! +Feedback/&AdditionalDamageTrueStrikeFormat=Меткий удар! +Feedback/&AdditionalDamageTrueStrikeLine={0} поражает {1} и наносит дополнительно {2} урона излучением! Feedback/&BreakFreeAttempt={0} пытается вырваться из {2} Feedback/&ChangeGloombladeDieType={1} меняет тип кости сумрачного клинка с {2} на {3} Feedback/&ChangeSneakDiceDieType={1} изменяет тип кости скрытой атаки с {2} на {3} @@ -231,6 +249,8 @@ Feedback/&NarrativeChoiceRoll={0} бросает нарративный выбо Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=Вы не можете использовать опознание после отдыха во время путешествия Feedback/&ReturningWeaponActivates={1} возвращается к {0}! Feedback/&SmallRace=Раса маленького размера +Feedback/&TacticalMindCheckToHitRollFailure={0} использовал {1}, добавляет {2} к броску проверки, но этого не достаточно, чтобы изменить результат +Feedback/&TacticalMindCheckToHitRollSuccess={0} использовал {1}, добавляет {2} к броску проверки и изменяет результат, потратив Второе дыхание Feedback/&TriggerFeatureLine={0} вызывает срабатывание {1} Feedback/&TriggerRerollLine={0} активирует {1}, чтобы перебросить {2} = {3} Feedback/&TrueSightAndIllusionSpells={0} обладает Истинным зрением, и на него не действует это заклинание @@ -265,6 +285,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=Вы провалили Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=Бросьте d20, чтобы заменить результат броска проверки. Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=Волшебное указание Reaction/&CustomReactionMagicalGuidanceCheckTitle=Волшебное указание +Reaction/&CustomReactionTacticalMindCheckDescription=Вы провалили проверку. Вы можете потратить 1 использование Второго дыхания, чтобы бросить d10 и добавить результат к броску проверки. +Reaction/&CustomReactionTacticalMindCheckReactDescription=Бросьте кость d10, чтобы добавить результат к броску проверки. +Reaction/&CustomReactionTacticalMindCheckReactTitle=Тактический ум +Reaction/&CustomReactionTacticalMindCheckTitle=Тактический ум Reaction/&ReactionSpendPowerBundleDescription=Использовать силу. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=Вы можете наложить дополнительный эффект. Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=Наложите дополнительный эффект. @@ -296,8 +320,9 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=Автоматическое ум Rules/&ActivationTypeOnRageStartAutomaticTitle=Автоматическое начало ярости Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=Автоматическое уменьшение хитов существа до нуля Rules/&ActivationTypeOnSneakAttackHitAutoTitle=Автоматическая скрытая атака +Rules/&ConditionMarkedByHunterExtendedDescription=Получает +1d6 урона силовым полем, когда заклинатель попадает атакой оружием. Rules/&ConditionOneDndBarkskinDescription=КД существа становится не ниже 17. -Rules/&ConditionStoneskinExtendedDescription=Устойчивость к дробящим, рубящим и колющим повреждениям. +Rules/&ConditionStoneskinExtendedDescription=Сопротивление дробящему, рубящему и колющему урону. Rules/&CounterFormDismissCreatureFormat=Отпускает призванное существо Rules/&MotionFormPullOnTop=Тянуть наверх Rules/&MotionFormPushDownFormat=Толкуть вниз {0} @@ -320,6 +345,7 @@ Rules/&SituationalContext9017Format=Концентрируется на закл Rules/&SituationalContext9018Format=Источник эффекта: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Восстановить единицы чародейства до половины вашего уровня Чародея с округлением вниз Rules/&TurnOccurenceEndOfSourceTurnFormat=Конец источника хода +Screen/&CharacterInspectionModeBattleUnlimitedTitle=Вы можете производить неограниченное количество действий с инвентарём в свой раунд. Screen/&ClassExtraSpellDescriptionFormat=Вам известно это заклинание от класса {0}. Screen/&EditorLocationSize3Title=Огромный [Модифицировано] Screen/&EditorLocationSize4Title=Гигантский [Модифицировано] @@ -327,6 +353,7 @@ Screen/&MulticlassExtraSpellDescription=Вам известно это закл Screen/&MulticlassExtraSpellTitle=Мультикласс Screen/&PatronExtraSpellDescription=Заклинания покровителя Screen/&PatronExtraSpellTitle=Покровитель +Screen/&PreparePanelMemorizeSpellSelect=Выберите заклинание для подготовки. Screen/&RaceExtraSpellDescription=Вам известно это заклинание из своего наследия. Screen/&RaceExtraSpellTitle=Наследие Screen/&RangerSpellDescription=Это заклинание досталось вам из архетипа Следопыта и считается известным вам. @@ -342,8 +369,11 @@ Screen/&SpellSlotsUsedShortLongDescription=Вы потратили {0} ячее Screen/&SubclassClassExtraSpellDescriptionFormat=Вам известно это заклинание из архетипа {0}. Screen/&SwitchConfigurationDescription=Поменять экипированные предметы на эту конфигурацию: {0}.\nЗажмите CTRL, чтобы оставить предмет в левой руке, если возможно. Spell/&ConjureElementalInvisibleStalkerTitle=Призыв элементаля [Невидимый охотник] -Spell/&StoneskinExtendedDescription=Дает устойчивость к дробящему, рубящему и колющему урону. -Spell/&TrueStrike2024Description=Руководствуясь вспышкой магического озарения, вы совершаете одну атаку оружием, использованным при произнесении заклинания. Атака использует либо вашу способность к заклинанию для бросков атаки и урона, либо Силу или Ловкость, в зависимости от того, что выше. Если атака попадает, она наносит урон от Radiant вместо обычного урона оружия. Атака наносит дополнительный урон от Radiant, когда вы достигаете уровней 5 (1d6), 11 (2d6) и 17 (3d6). +Spell/&HuntersMarkExtendedDescription=Противник получает от вас дополнительный урон силовым полем, и вы можете легко обнаружить его в течение ограниченного времени. +Spell/&PowerWordStunExtendedDescription=Вы подавляете разум одного существа, которое видите в пределах досягаемости. Если у существа не больше 150 хитов, оно становится ошеломлённым. В противном случае его скорость снижается до 0 до начала вашего следующего хода. Ошеломлённая цель должна в конце каждого своего хода совершать спасбросок Телосложения. При успехе ошеломление проходит. +Spell/&SpareTheDyingExtendedDescription=Выберите существо в пределах досягаемости, у которого 0 хитов и которое не мертво. Существо становится стабилизированным. Досягаемость удваивается, когда вы достигаете уровней 5 (30 футов), 11 (60 футов) и 17 (120 футов). +Spell/&StoneskinExtendedDescription=Даёт сопротивление дробящему, рубящему и колющему урону. +Spell/&TrueStrike2024Description=Руководствуясь вспышкой магического озарения, вы совершаете одну атаку оружием, выбранным в качестве материального компонента. Для бросков атаки и урона используется либо ваша заклинательная характеристика, либо Сила или Ловкость, в зависимости от того, что выше. Если атака попадает, то вместо обычного урона оружия она наносит урон излучением. Атака наносит дополнительный урон излучением при достижении 5-го (1d6), 11-го (2d6) и 17-го (3d6) уровней. Stage/&IdentityMorphotypeEyeHeader=Вид глаз Tag/&PrimalOrderCantripSpecialTagTitle=Заговор Первобытного порядка ToolTip/&CheckBoxDefaultPartyTitle=Отметьте этот пункт, чтобы задать группу по умолчанию для начала нового приключения или тестирования кастомных локаций. Вы можете выбрать вплоть до {0} персонажей по приципу первый на вход / первый на выход diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 2c3af94f2a..80f4fbde5d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -7,7 +7,7 @@ ModUi/&AddDarknessPerceptiveToDarkRaces=Включить Восп ModUi/&AddDexModifierToEnemiesInitiativeRoll=Добавлять модификатор Ловкости к броскам Инициативы противников ModUi/&AddDruidPrimalOrderAndRemoveMediumArmorProficiency=Включить Первобытный порядок на уровне 1 и убрать Владение средней бронёй ModUi/&AddFighterLevelToIndomitableSavingReroll=Добавлять уровень класса к повторным спасброскам умения Упорный -ModUi/&AddHumanoidFavoredEnemyToRanger=Включить Гуманоидов предпочитаемых врагов [Требуется перезапуск] +ModUi/&AddHumanoidFavoredEnemyToRanger=Включить Гуманоидов в список предпочтительных противников [Необходим перезапуск] ModUi/&AddNewWeaponsAndRecipesToShops=Добавить новые оружия и рецепты в магазины [обмотки, алебарды, пики, длинные булавы, ручные арбалеты] [Необходим перезапуск] ModUi/&AddPaladinSmiteToggle=Добавить переключатель, чтобы позволить Паладинам использовать кару только при критах [полезно для уменьшения количества запросов на реакции] ModUi/&AddPersuasionToFighterSkillOptions=Добавить Убеждение к выбору навыков на уровне 1 @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=Универсалии ModUi/&DontEndTurnAfterReady=Не заканчивать ход после действия Подготовка [позволяет использовать Бонусное действие или любое другое Основное действие из других источников] ModUi/&DontFollowCharacterInBattle=Боевая камера не следует за персонажем, если он уже на экране ModUi/&DontFollowMargin=+ Только если герой вне или в рамках % от границы экрана +ModUi/&DownloadVoice=Скачать предлагаемые голоса +ModUi/&DownloadVoiceOngoing=Скачивание на {0} ModUi/&DungeonMaker=Создатель Подземелий ModUi/&DungeonMakerBasicHelp=• Эти настройки не потребуют от игрока установленного мода ModUi/&Effects=Эффекты @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=Включить эпические вариан ModUi/&EnableExtendedProficienciesPanelDisplay=Включить отображение панели расширенных владений [Магические выстрелы, Инфузии, Приёмы и Универсалии]\n[снижает производительность при просмотре персонажа, используйте на свой страх и риск] ModUi/&EnableFeatsAtEvenLevels=Включить возможность выбора черты на уровнях 2, 10 и 18 ModUi/&EnableFeatsAtEvenLevelsMiddle=Включить возможность выбора черты на уровнях 6 и 14 +ModUi/&EnableFighterStudiedAttacks=Включить Изученные атаки на уровне 13 [преимущество, если предыдущая атака по этому существу промахнулась] +ModUi/&EnableFighterTacticalProgression=Включить Тактический ум и Тактический шаг на уровнях 2 и 5 соответственно [варианты использования Второго дыхания] ModUi/&EnableFighterWeaponSpecialization=Включить Специализацию на оружии на уровнях 8 и 16 [получает +1 к атаке и урону, но помеху при атаке любым другим типом оружия] ModUi/&EnableFlexibleBackgrounds=Включить гибкие предыстории [выберите навык и владение инструментами из предыстории] ModUi/&EnableFlexibleRaces=Включить гибкие расы [самостоятельно распределяйте расовые очки характеристик] @@ -148,15 +152,19 @@ ModUi/&EnableMonkWeaponSpecialization=Включить Специ ModUi/&EnableMulticlass=Включить мультиклассирование [Необходим перезапуск] ModUi/&EnableOneDnDPreparedSpellsTables=Включить всем Заклинателям использовать новые таблицы подготовленных заклинаний [Бард, Жрец, Друид, Паладин, Следопыт, Чародей, Волшебник] ModUi/&EnableOneDndBarkskinSpell=Включить версию заклинания Дубовая кора из 5e 2024 [бонусное действие, не требует концентрации, КД на 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=Включить заклинания Arcane Sword, Circle of Death, Flame Strike, Ice Storm и Vicious Mockery 5e 2024 версии [лучший урон] -ModUi/&EnableOneDndDivineFavorSpell=Включить Божественную милость 5e 2024 версия заклинания [без концентрации] -ModUi/&EnableOneDndGuidanceSpell=Включить версию заклинания Указание из 5e 2024 [Выберите один навык при наложении и получите бонус на срок до 1 минуты.] -ModUi/&EnableOneDndHealingSpellsUpgrade=Включить Исцеление ран, Ложная жизнь, Слово исцеления, Массовое исцеление ран и Слово массового исцеления 5e 2024 заклинания версии [лучшее исцеление] -ModUi/&EnableOneDndLesserRestorationSpell=Включить Малое восстановление 5e 2024 версия заклинания [бонусное действие] -ModUi/&EnableOneDndMagicWeaponSpell=Включить версию заклинания Магическое оружие 5e 2024 [бонусное действие, нет концентрации, улучшение на 3-м и 6-м уровнях заклинания] -ModUi/&EnableOneDndPowerWordKillSpell=Включить Слово силы: Убить 5e 2024 версия заклинания [12d12 психического урона, если выше 100 hp] -ModUi/&EnableOneDndStoneSkinSpell=Включить версию заклинания Stone Skin 5e 2024 [также обеспечивает сопротивление магическому B/P/S] -ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию колдовства True Strike 5e 2024 [Требуется перезапуск]\n[атака использует вашу способность к заклинаниям для броска атаки и бонуса к урону, а также дополнительный урон от излучения с 5-го уровня] +ModUi/&EnableOneDndDamagingSpellsUpgrade=Включить версии заклинаний Магический меч, Круг смерти, Огненный удар, Град, Радужные брызги и Злая насмешка из 5e 2024 [больше урона] +ModUi/&EnableOneDndDivineFavorSpell=Включить версию заклинания Божественное благоволение из 5e 2024 [не требует концентрации] +ModUi/&EnableOneDndGuidanceSpell=Включить версию заклинания Указание из 5e 2024 [выберите один навык при наложении и получите бонус на срок до 1 минуты] +ModUi/&EnableOneDndHealingSpellsUpgrade=Включить версии заклинаний Лечение ран, Псевдожизнь, Лечащее слово, Множественное лечение ран и Множественное лечащее слово из 5e 2024 [больше исцеления] +ModUi/&EnableOneDndHideousLaughterSpell=Включить версию заклинания Жуткий смех Таши из 5e 2024 [+1 цель за каждый дополнительный уровень ячейки заклинания] +ModUi/&EnableOneDndHuntersMarkSpell=Включить версию заклинания Метка охотника из 5e 2024 [урон силовым полем] +ModUi/&EnableOneDndLesserRestorationSpell=Включить версию заклинания Малое восстановление из 5e 2024 [бонусным действием] +ModUi/&EnableOneDndMagicWeaponSpell=Включить версию заклинания Магическое оружие из 5e 2024 [бонусным действием, не требует концентрации, улучшение на 3-м и 6-м уровнях ячейки заклинания] +ModUi/&EnableOneDndPowerWordStunSpell=Включить версию заклинания Слово силы: оглушение из 5e 2024 [скорость цели обнуляется на один ход, если у него больше 150 хитов] +ModUi/&EnableOneDndSpareTheDyingSpell=Включить версию заклинания Уход за умирающим из 5e 2024 [диапазон удваивается на уровнях 5, 11 и 17] +ModUi/&EnableOneDndSpiderClimbSpell=Включить версию заклинания Паук из 5e 2024 [+1 цель за каждый дополнительный уровень ячейки заклинания] +ModUi/&EnableOneDndStoneSkinSpell=Включить версию заклинания Каменная кожа из 5e 2024 [также даёт сопротивление магическому дробящему, рубящему и колющему урону] +ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию заговора Меткий удар из 5e 2024 [Необходим перезапуск]\n[для бросков атаки и урона используется ваша заклинательная характеристика, а также дополнительный урон излучением с 5-го уровня] ModUi/&EnablePaladinLayOnHandsAsBonusAction=Включить Наложение рук бонусным действием ModUi/&EnablePaladinSmiteAsBonusAction=Включить Кару бонусным действием ModUi/&EnablePaladinSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го @@ -168,31 +176,39 @@ ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность ModUi/&EnableRelearnSpells=Включить возможность выбирать заговоры или заклинания, уже известные из других источников ModUi/&EnableRespecAction=Включить возможность РЕСПЕКа после отдыха [не используйте РЕСПЕК в многопользовательских сессиях] ModUi/&EnableRitualOnAllCasters=Включить Ритуальное колдовство для всех заклинателей -ModUi/&EnableRogueCunningStrike=Включить умения Хитрого удара и Коварного удара на уровнях 5 и 14 соответственно [вы отказываетесь от 1 кости скрытой атаки для применения дополнительных эффектов] +ModUi/&EnableRogueCunningStrike=Включить умения Хитрого удара, Улучшенного хитрого удара и Коварного удара на уровнях 5, 11 и 14 соответственно [вы отказываетесь от 1 кости скрытой атаки для применения дополнительных эффектов] ModUi/&EnableRogueFightingStyle=Включить выбор Боевого стиля на уровне 2 +ModUi/&EnableRogueReliableTalentAt7=Включить Надёжный талант на уровне 7 вместо 11 ModUi/&EnableRogueSlipperyMind=Заменить Скользкий ум на версию 5e 2024 [вы также получаете владение спасбросками Харизмы в дополнение к Мудрости] ModUi/&EnableRogueSteadyAim=Включить Точное прицеливание на уровне 3 [бонусным действием даёт преимущество на следующий бросок атаки в текущем ходу, если вы ещё не перемещались] ModUi/&EnableRogueStrSaving=Включить Головорезу использование модификаторов ЛОВ или СИЛ для Хитрого/Коварного удара ModUi/&EnableSecondWindToUseOneDndUsagesProgression=Включить прогрессию использований Второго дыхания из 5e 2024 ModUi/&EnableSignatureSpellsRelearn=Включить подготовку Фирменных заклинаний после каждого продолжительного отдыха [вместо того, чтобы выбирать их один раз на 20-м уровне] -ModUi/&EnableSorcererInnateSorceryAt1=Включить Врождённое чародейство на уровне 1 +ModUi/&EnableSorcererArcaneApotheosis=Включить Апофеоз магии на уровне 20 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=Включить Врождённое чародейство и Воплощение чародейства на уровнях 1 и 7 соответственно ModUi/&EnableSorcererMagicalGuidance=Включить Волшебное указание на уровне 5 ModUi/&EnableSorcererQuickenedAction=Включить действие Ускоренное заклинание, позволяющее накладывать заклинание основного действия с применением метамагии Ускоренного заклинания. -ModUi/&EnableSorcerousRestorationAtLevel5=Включить Чародейское восстановление на уровне 5 +ModUi/&EnableSorcererSorcerousRestoration=Включить Чародейское восстановление на уровне 5 ModUi/&EnableSortingDungeonMakerAssets=Включить сортировку ассетов в редакторе Создателя Подземелий +ModUi/&EnableSpeech=Включить речь в пользовательских кампаниях [только повествование и герои] +ModUi/&EnableSpeechActorHelp=• Выберите актера +ModUi/&EnableSpeechOnNpcs=+ Включить речь для NPC [из карты кампании, либо автоматически назначенные] +ModUi/&EnableSpeechVoiceHelp=• Выберите голос и скорость повествования ModUi/&EnableStatsOnHeroTooltip=Отображать статистику на всплывающей подсказке о герое [например: критические удары, критические промахи и т.д.] ModUi/&EnableSumD20OnAlternateVotingSystem=+ Также каждый герой добавляет к весомости результат броска D20 для привнесения элемента случайности [весомость выбора = голоса * модификатор Харизмы героя + бросок D20] ModUi/&EnableSurprisedToEnforceDisadvantage=Включить изменения для состояния Застигнут врасплох: бросок инициативы совершается с помехой вместо пропуска раунда ModUi/&EnableTeleportToRemoveRestrained=Включить возможность Телепортации снимать все состояния задержки с цели ModUi/&EnableTooltipDistance=Включить отображение расстояния во всплывающей подсказке панели при наведении курсора на персонажа в бою ModUi/&EnableUnarmedMainAttackAction=Включить действие Безоружная атака [если персонаж держит оружие в основной руке и он Монах, или если он использует Обмотки или Перчатки] +ModUi/&EnableUnlimitedInventoryActions=Включить неограниченное количество действий с инвентарём в свой ход. ModUi/&EnableUpcastConjureElementalAndFey=Включить возможность накладывать на высоких уровнях Призыв элементаля и Призыв феи ModUi/&EnableVariablePlaceholdersOnTexts=Включить заглушки для переменных описаний [использовать {VARIABLE_NAME} в качесте заглушки] -ModUi/&EnableVersatileAmmunitionSlots=Разрешить переносить и использовать в слотах боеприпасов зелья и свитки -ModUi/&EnableVersatileOffHandSlot=Разрешить переносить и использовать зелья и свитки в слоте для дополнительного оружия +ModUi/&EnableVersatileAmmunitionSlots=Разрешить переносить и использовать Зелья и Свитки в слотах боеприпасов +ModUi/&EnableVersatileOffHandSlot=Разрешить переносить и использовать Зелья и Свитки в слоте для дополнительного оружия ModUi/&EnableWarlockMagicalCunningAtLevel2=Включить Магическую хитрость на уровне 2 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=Включить Магическую хитрость на уровне 2 и улучшить Таинственного мастера на уровне 20 ModUi/&EnableWarlockToLearnPatronAtLevel3=Включить выбор Покровителя на 3-м уровне вместо 1-го +ModUi/&EnableWizardMemorizeSpell=Включить Заучивание заклинаний на уровне 5 ModUi/&EnableWizardToLearnScholarAtLevel2=Включить Учёного на уровне 2 ModUi/&EnableWizardToLearnSchoolAtLevel3=Включить изучение Магических традиций на 3-м уровне вместо 2-го ModUi/&EnablesAsiAndFeat=Включить возможность и повышать характеристики, и выбирать черту одновременно [вместо того, чтобы делать выбор между этими вариантами] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=Исправить перенос текста ModUi/&FixEldritchBlastRange=Использовать дальность в 24 клетки для Мистического заряда [вместо 12] ModUi/&FixRingOfRegenerationHealRate=Установить скорость лечения от Кольца регенерации на 1 ОЗ в 3 минуты ModUi/&FlightSuspendWingedBoots=+ Использовать официальные правила Крылатых сапог [оставшееся время использования не учитывается при приостановке полёта] +ModUi/&ForceModSpeechOnNpcs=+ Принудительное автоматическое назначение голосов всем NPC вместо карт кампаний ModUi/&Formation=Боевой порядок: ModUi/&FormationError=Вы не можете изменить свой боевой порядок во время многопользовательской игры... ModUi/&FormationHelp1=• Используйте клавиши цифр, чтобы изменить заданные условия [удобнее будет включить и использовать нампад] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=Включить выбор эки ModUi/&RaceLightSensitivityApplyOutdoorsOnly=Включить срабатывание Чувствительности к свету для рас Тёмных эльфов, Тёмных кобольдов и Серых дварфов только вне помещений\n[помещения в открытых локациях, доступные без экрана загрузки, считаются открытыми с точки зрения движка игры] ModUi/&Races=Расы ModUi/&RecipeCost=Стоимость рецепта +ModUi/&RefreshVoice=Обновить список голосов ModUi/&RelicForgeries=Поддельные реликвии ModUi/&RemoveAttunementRequirements=Убрать требования настройки [Необходим перезапуск] ModUi/&RemoveBardMagicalSecretAt14And18=Убрать Тайны магии на уровнях 14 и 18 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=Показывать иконку созда ModUi/&ShowCraftingRecipeInDetailedTooltips=Показывать рецепт создания в подробных подсказках ModUi/&ShowDescriptions=Показывать описания ModUi/&ShowMotionFormPreview=Показывать предпросмотр эффектов Толкания и Притяжения +ModUi/&SpeechScale=Модификатор скорости повествования [чем ниже, тем быстрее] ModUi/&SpellLevelFilter=Уровень заклинаний [-1 отображает все] ModUi/&SpellsMenu=Заклинания ModUi/&StealthBreaksWhenAttackHits=Включить потерю скрытности при попадании атаки оружием или заклинанием @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=Общее количество ModUi/&Translate=Перевести ModUi/&TranslateCancel=Отменить {0} перевод на {1} ModUi/&Translations=Переводы: +ModUi/&UnityExplorer=Интерфейс Unity Explorer ModUi/&UnleashEnemyAsNpc=Позволить выбирать монстров в качестве НИП-предметов ModUi/&UnleashNpcAsEnemy=Разблокировать выбор монстров ModUi/&Update=Обновить diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt index 5a477f0b68..27114914c8 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Cantrips-ru.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=Клинок зелёного Feedback/&AdditionalDamageResonatingStrikeLine={0} обжигает {1} Клинком зелёного пламени! (+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=Освещённый солнцем клинок! Feedback/&AdditionalDamageSunlightBladeLine={0} озаряет {1} Освещённым солнцем клинком! (+{2}) -Feedback/&Within5Ft=5 футов -Feedback/&WithinReach=Досягаемость Proxy/&ProxyCreateBonfireTitle=Костёр Spell/&AcidClawsDescription=Ваши ногти заостряются, и вы готовитесь совершить едкую атаку. Совершите рукопашную атаку заклинанием по одному существу в радиусе 5 футов от вас. При попадании цель получает 1d8 урона кислотой, а её КД снижается на 1 в течение одного раунда (не стакается). Spell/&AcidClawsTitle=Кислотные когти diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells01-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells01-ru.txt index f9168b29ea..41d1c237c9 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells01-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells01-ru.txt @@ -59,6 +59,8 @@ Feedback/&ChaosBoltRandomChoice={0} позволяет {1} случайным о Feedback/&ChaosBoltRolledDifferentDice={0} выбросил {2} и {3} на {1} костях урона D8. Feedback/&ChaosBoltRolledEqualDice={0} выбросил {2} на обоих {1} костях урона D8. Feedback/&FeatureGiftOfAlacrityLine={0} вызывает срабатывание {1} и добавляет {2} к инициативе +Feedback/&Within5Ft=5 футов +Feedback/&WithinReach=Досягаемость Monster/&OwlFamiliarDescription=Сова-фамильяр. Monster/&OwlFamiliarTitle=Сова-фамильяр Reaction/&ReactionSpendPowerBundleChaosBoltDescription=Выберите тип урона. @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=Сила притяжения увеличив Spell/&MagnifyGravityTitle=Притяжение Spell/&MuleDescription=Цель этого заклинания может игнорировать эффекты тяжёлых нагрузки или брони на скорость передвижения. Она также может нести немного больше веса. Spell/&MuleTitle=Мул +Spell/&ProtectionFromEvilGoodTitle=Защита от зла и добра Spell/&RadiantMotesDescription=Выпускает рой из 4 лучевых снарядов, наносящих 1d4 урона излучением каждый.\nЕсли вы накладываете это заклинание, используя ячейку 2-го уровня или выше, заклинание создает по одному дополнительному дротику за каждый уровень ячейки выше первого. Spell/&RadiantMotesTitle=Сияющие пятна +Spell/&RayOfSicknessDescription=Луч тошнотворно-зеленой энергии устремляется к существу, находящемуся в пределах дистанции. Совершите дальнобойную атаку заклинанием по цели. При попадании цель получает урон ядом 2d8 и становится отравленной до конца вашего следующего хода. Урон увеличивается на 1d8 за каждый уровень ячейки выше первого. +Spell/&RayOfSicknessTitle=Луч болезни Spell/&SanctuaryDescription=Вы защищаете одно существо в пределах дистанции от атаки. Пока заклинание активно, все существа, нацеливающиеся на защищённое существо атаками или вредоносными заклинаниями, должны вначале совершить спасбросок Мудрости. При провале существо теряет атаку или заклинание. Это заклинание не защищает от эффектов, действующих на площадь. Если защищённое существо совершает атаку или накладывает заклинание, это заклинание оканчивается. Spell/&SearingSmiteDescription=Когда вы в следующий раз попадёте по существу рукопашной атакой оружием, пока заклинание активно, ваше оружие вспыхивает ярким белым светом, и атака причиняет цели дополнительный 1d6 урона огнём и поджигает её. Пока заклинание активно, цель в начале каждого своего хода должна совершать спасбросок Телосложения. При провале она получает 1d6 урона огнём. При успехе заклинание заканчивается. Если цель или существо, находящееся в пределах 5 футов от неё, потратит действие на тушение пламени, или если какой-то другой эффект потушит пламя (например, погружение в воду), заклинание тоже закончится. Если вы накладываете это заклинание, используя ячейку 2-го уровня или выше, первичный дополнительный урон от атаки увеличивается на 1d6 за каждый уровень ячейки выше первого. Spell/&SearingSmiteTitle=Палящая кара @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=Вы взываете к мощи нечистой Spell/&VoidGraspTitle=Руки Хадара Spell/&WitchBoltDescription=Луч потрескивающей синеватой энергии устремляется к существу в пределах дистанции, формируя между вами и целью непрерывный дуговой разряд. Совершите дальнобойную атаку заклинанием по этому существу. При попадании цель получает 1d12 урона электричеством, и, пока заклинание активно, вы можете в каждый свой ход действием автоматически причинять цели 1d12 урона электричеством. Это заклинание оканчивается, если вы действием сделаете что-то иное. Заклинание также оканчивается, если цель окажется за пределами дистанции заклинания. Если вы накладываете это заклинание, используя ячейку 2-го уровня или выше, урон увеличивается на 1d12 за каждый уровень ячейки выше первого. Spell/&WitchBoltTitle=Ведьмин снаряд -Spell/&WrathfulSmiteDescription=В следующий раз, когда вы попадёте рукопашной атакой оружием, пока активно это заклинание, ваша атака причиняет дополнительный 1d6 урона психической энергией. Кроме того, если цель — существо, оно должно совершить спасбросок Мудрости, иначе оно станет испуганным до окончания действия заклинания. Существо может действием совершить проверку Мудрости против Сл ваших заклинаний, чтобы успокоиться и окончить это заклинание. +Spell/&WrathfulSmiteDescription=Цель получает дополнительно 1d6 урона некротической энергией от атаки и должна преуспеть в спасброске Мудрости или станет испуганной до конца действия заклинания. В конце каждого своего хода испуганная цель повторяет спасбросок и при успехе завершает действие заклинания на себе. Урон увеличивается на 1d6 за каждый уровень ячейки заклинания выше 1. Spell/&WrathfulSmiteTitle=Гневная кара Tooltip/&TagDamagePureTitle=Хаотичный урон diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt index 7321d64faa..26c48518ae 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells02-ru.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=Создайте светящийся куб, ко Spell/&ColorBurstTitle=Взрыв цвета Spell/&KineticJauntDescription=Вы магическим образом усиливаете свои движения танцевальными шагами, даруя себе следующие преимущества:\n• Ваша скорость ходьбы увеличивается на 10 футов.\n• Вы не провоцируете атаки.\n• Вы можете перемещаться сквозь других существ. Spell/&KineticJauntTitle=Увлекательная прогулка -Spell/&MirrorImageDescription=В вашем пространстве появляются три ваших иллюзорных копии. Каждый раз, когда существо нацеливается на вас атакой, пока заклинание активно, бросайте d20, чтобы определить, не попала ли атака вместо вас по одной из ваших копий.\nЕсли у вас три копии, вы должны выбросить «6» или больше, чтобы сделать целью копию. Если копий две, выбросить нужно «8» или больше. Если копия одна, вы должны выбросить «11» или больше.\nКД копии равен 10 + ваш модификатор Ловкости. Если атака попала по копии, она уничтожается. Копию может уничтожить только атака, попавшая по ней. Она игнорирует остальной урон и эффекты. Заклинание оканчивается, если все три копии будут уничтожены.\nСущество не попадает под действие этого заклинания, если оно Ослеплено или не может видеть, имеет Слепое зрение, Истинное зрение или Чувство вибрации (неприменимо, если вы не касаетесь земли). +Spell/&MirrorImageDescription=В вашем пространстве появляются три ваших иллюзорных копии. Пока заклинание активно, копии перемещаются вместе с вами и подражают вашим действиям, двигаясь так, что невозможно понять, кто из вас настоящий. Каждый раз, когда существо попадает по вам атакой во время действия заклинания, бросьте d6 для каждой из ваших оставшихся копий. Если хотя бы один из бросков d6 окажется равен 3 или больше, одна из копий получает удар вместо вас и уничтожается. Копии игнорируют весь остальной урон и эффекты. Заклинание оканчивается, если все три копии будут уничтожены. Существо не попадает под действие этого заклинания, если оно ослеплено, имеет Слепое зрение или Истинное зрение. Spell/&MirrorImageTitle=Отражения Spell/&NoxiousSprayDescription=Вы выпускаете струю ядовитых газов в сторону цели в пределах дистанции. Совершите дальнобойную атаку заклинанием. При попадании цель получает 4d6 урона ядом и должна пройти спасбросок Телосложения, иначе весь следующий ход будет корчиться и задыхаться, не в силах двигаться и предпринимать какие-либо действия. Это заклинание не действует на конструктов, элементалей и нежить. Когда вы накладываете это заклинание, используя ячейку 3-го уровня или выше, вы можете выбрать одну дополнительную цель за каждый уровень ячейки выше 2-го. Spell/&NoxiousSprayTitle=Токсичная струя diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt index a3e413d007..728cf2f916 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells03-ru.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=Вы создаете образ огромной Spell/&AdderFangsTitle=Клыки гадюки Spell/&AshardalonStrideDescription=Из-под ваших ног вырывается бушующее драконье пламя, дарующее вам взрывное ускорение. Пока заклинание активно, ваша скорость ходьбы увеличивается на 20 футов, и ваше движение не вызывает провоцированных атак. Когда вы перемещаетесь в пределах 5 футов от существа, оно получает 1d6 урона огнём от вашего пылающего следа. Существо может получить этот урон только один раз за ход. Если вы накладываете это заклинание, используя ячейку 4-го уровня или выше, скорость увеличивается на 5 футов за каждый уровень ячейки выше третьего. Урон огнём увеличивается на 1d6 за каждый уровень ячейки выше третьего. Spell/&AshardalonStrideTitle=Ашардалонова поступь -Spell/&AuraOfLifeDescription=От вас исходит аура живительной энергии с радиусом 30 футов. Пока заклинание активно, аура перемещается вместе с вами, оставаясь с центром на вас. Вы можете бонусным действием восстанавливать одному любому существу в ауре (включая себя) 2d6 хитов. +Spell/&AuraOfLifeDescription=От вас исходит аура живительной энергии с радиусом 30 футов. Когда вы создаёте ауру и в течение каждого вашего последующего хода, пока она сохраняется, вы можете свободным действием восстановить 2d6 хитов одному существу, находящемуся в ней. Spell/&AuraOfLifeTitle=Аура живучести Spell/&BlindingSmiteDescription=Когда вы в следующий раз попадёте по существу рукопашной атакой оружием, пока заклинание активно, ваше оружие вспыхивает ярким светом, и атака причиняет цели дополнительный урон излучением 3d8. Кроме того, цель должна преуспеть в спасброске Телосложения, иначе она станет ослеплённой до окончания заклинания. Ослеплённое этим заклинанием существо совершает спасброски Телосложения в конце каждого своего хода. В случае успеха оно перестаёт быть ослеплённым. Spell/&BlindingSmiteTitle=Ослепляющая кара diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells05-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells05-ru.txt index fd1f271265..323dae084d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells05-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells05-ru.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=Небольшой шар появляется в в Spell/&SonicBoomTitle=Звуковой удар Spell/&SteelWhirlwindDescription=Вы взмахиваете оружием, используемым для заклинания, а затем исчезаете, чтобы ударить, подобно ветру. Выберите до пяти существ в пределах дистанции, которых вы можете видеть. Совершите рукопашную атаку заклинанием по каждой цели. При попадании цель получает 6d10 урона силовым полем. После этого вы можете телепортироваться в свободное пространство, которое вы можете видеть в пределах 5 футов от одной из целей, которую вы атаковали, независимо от того, попали вы по ней или нет. Spell/&SteelWhirlwindTitle=Удар стального ветра -Spell/&SwiftQuiverDescription=Вы так модифицируете свой колчан, что он начинает автоматически подавать боеприпасы, которые сами прыгают в вашу руку, когда вы тянетесь за ними. Пока заклинание активно, вы в каждом своём ходу можете бонусным действием совершить две атаки оружием, использующим боеприпасы из колчана. +Spell/&SwiftQuiverDescription=Когда вы накладываете заклинание и бонусным действием до его окончания, вы можете совершить две атаки оружием, которое выпускает стрелы или болты, например, Длинным луком или Лёгким арбалетом. Заклинание магическим образом создаёт боеприпасы, необходимые для каждой атаки. Каждая стрела или болт, созданные заклинанием, наносят урон как немагические боеприпасы соответствующего вида и исчезают сразу после попадания или промаха. Spell/&SwiftQuiverTitle=Быстрый колчан Spell/&SynapticStaticDescription=Вы выбираете точку в пределах дистанции и вызываете в ней взрыв психической энергии. Каждое существо в сфере с радиусом 20 футов с центром в этой точке должно совершить спасбросок Интеллекта. Цель получает 8d6 урона психической энергией при провале или половину этого урона при успехе. После неудачного спасброска цель начинает путаться в мыслях на протяжении 1 минуты. В течение этого времени она бросает d6 и вычитает получившееся число из всех её бросков атаки и проверок характеристики. В конце каждого своего хода цель может совершать спасбросок Интеллекта, оканчивая эффект на себе при успехе. Spell/&SynapticStaticTitle=Синаптический разряд diff --git a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt index d081e18de9..8fc7996b3e 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Spells/Spells09-ru.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=Пылающие шары ударяю Spell/&MeteorSwarmSingleTargetTitle=Метеоритный дождь Spell/&PowerWordHealDescription=Волна целительной энергии окутывает существо, которого вы касаетесь. Цель восстанавливает все свои хиты. Если существо испугано, очаровано, ошеломлено, отравлено или парализовано, это состояние оканчивается. Если существо лежит ничком, оно может реакцией встать. Это заклинание не оказывает никакого эффекта на Нежить и Конструктов. Spell/&PowerWordHealTitle=Слово силы: исцеление -Spell/&PowerWordKillDescription=Вы произносите слово силы, заставляющее существо, которое вы видите в пределах дистанции, мгновенно умереть. Если у выбранного вами существа 100 хитов или меньше, оно умирает. В противном случае это заклинание не оказывает никакого эффекта. +Spell/&PowerWordKillDescription=Вы заставляете существо, которое видите в пределах дистанции, умереть. Если у цели 100 хитов или меньше, она умирает. В противном случае она получает 12d12 урона психической энергией. Spell/&PowerWordKillTitle=Слово силы: смерть Spell/&PsychicScreamDescription=Вы высвобождаете силу своей мысли, чтобы выжечь разум до десяти существ по вашему выбору, которых вы можете видеть в пределах дистанции. Каждая цель должна совершить спасбросок Интеллекта. При провале цель получает 14d6 урона психической энергией и становится ошеломлённой. на 1 минуту. При успехе цель получает только половину урона и не ошеломлена. Ошеломлённая цель может совершать спасбросок Интеллекта в конце каждого своего хода. При успехе ошеломление спадает. Spell/&PsychicScreamTitle=Психический крик @@ -25,5 +25,5 @@ Spell/&ShapechangeDescription=Вы принимаете на время дейс Spell/&ShapechangeTitle=Полное превращение Spell/&TimeStopDescription=Вы ненадолго останавливаете поток времени для всех, кроме себя. Для всех остальных существ время перестаёт течь, а вы получаете 1d4+1 ходов подряд, во время которых можете совершать действия и перемещаться как обычно. Это заклинание заканчивается, если одно из действий, использованных вами в этот отрезок времени, или любой эффект, созданный вами в этот отрезок времени, воздействует на существо, отличное от вас. Spell/&TimeStopTitle=Остановка времени -Spell/&WeirdDescription=Воззвав к сильнейшим страхам группы существ, вы создаёте иллюзорных существ в их сознаниях, видимых только для них. Все противники в сфере с радиусом 30 футов с центром на выбранной точке в пределах дистанции, должны совершить спасбросок Мудрости. При провале существо становится испуганным на время длительности заклинания. Иллюзия взывает к самым потаённым страхам, проявляясь в виде худших кошмаров и неумолимой угрозы. В конце каждого своего хода испуганное существо должно преуспевать в спасброске Мудрости, иначе оно получает урон психической энергией 4d10. При успехе для этого существа заклинание оканчивается. +Spell/&WeirdDescription=Вы пытаетесь создать иллюзорные страхи в сознании других существ. Каждое существо по вашему выбору в сфере с радиусом 30 футов с центром на выбранной точке в пределах дистанции, должны совершить спасбросок Мудрости. При провале существо получает 10d10 психического урона и становится испуганным на время длительности заклинания. При успешном спасброске цель получает в два раза меньше урона. В конце каждого своего хода испуганное существо совершает спасбросок Мудрости. При провале оно получает 5d10 психического урона. При успехе для этого существа заклинание оканчивается. Spell/&WeirdTitle=Смертный ужас diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/CircleOfTheAncientForest-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/CircleOfTheAncientForest-ru.txt index bbf8312205..211764ef0d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/CircleOfTheAncientForest-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/CircleOfTheAncientForest-ru.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=У вас есть запас ц Feature/&PowerAncientForestRegrowthTitle=Отрастание Feature/&PowerAncientForestRootedDescription=Из ваших ног вырастают древовидные отростки и вонзаются в землю. Вы можете наложить заклинание Опутывание по желанию. Ваша скорость становится равной 0, и вы получаете преимущество при любых спасбросках, если вас пытаются толкнуть, притянуть или повалить на землю. Feature/&PowerAncientForestRootedTitle=Укоренившийся -Feature/&PowerPoolAncientForestHerbalBrewDescription=Вы можете создавать травяные отвары, каждый из которых действует до следующего длительного отдыха. Вы создаете общее количество отваров, равное вашему бонусу мастерства. Для каждого отвара выберите один из следующих эффектов:\nУкрепляющий отвар: дает сопротивление к различным типам урона на 1 час.\nОтвар лечения: даёт 2d4 хитов.\nОтвар токсичности: действует как яд, который может быть нанесен на оружие, активен в течение 1 минуты. При попадании цель получает 1d4 урона ядом при каждом ударе. +Feature/&PowerPoolAncientForestHerbalBrewDescription=Вы можете создавать травяные отвары, каждый из которых действует до следующего длительного отдыха. Вы создаете общее количество отваров, равное вашему бонусу мастерства. Для каждого отвара выберите один из следующих эффектов:\nУкрепляющий отвар: дает сопротивление к различным типам урона на 1 час.\nОтвар лечения: даёт 2d4 хитов.\nОтвар токсичности: действует как яд, который может быть нанесен на оружие, активен в течение 1 минуты. При попадании цель получает 1d4 урона ядом при каждом ударе. Feature/&PowerPoolAncientForestHerbalBrewTitle=Отвар из трав Feature/&PowerPoolAncientForestWallOfThornsDescription=Вы можете накладывать Терновую стену количество раз в день, равное вашему бонусу мастерства. Все использования восстанавливаются после продолжительного отдыха. Feature/&PowerPoolAncientForestWallOfThornsTitle=Терновая стена diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/FightingStyles-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/FightingStyles-zh-CN.txt index 396e89f050..51201aa0fe 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/FightingStyles-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/FightingStyles-zh-CN.txt @@ -8,10 +8,14 @@ Feedback/&AdditionalDamageExecutionerFormat=处刑! Feedback/&AdditionalDamageExecutionerLine={0} 处刑 {1} +{2} 额外伤害! FightingStyle/&AstralReachDescription=只要您的双手空闲,您的徒手攻击距离就可以增加 5 英尺。 FightingStyle/&AstralReachTitle=星界触及 +FightingStyle/&BlessedWarriorDescription=你从牧师法术列表中学习两种自选的法术。它们对你来说算作圣骑士法术,而魅力则是你对它们的施法能力。 +FightingStyle/&BlessedWarriorTitle=受祝福的战士 FightingStyle/&BlindFightingDescription=你有 10 尺范围的盲视。在这个范围内,即使你被致盲或身处黑暗,你依然能看到任何没有完全遮蔽的物体。此外,你可以看到该范围内的隐形生物,除非其隐藏成功。 FightingStyle/&BlindFightingTitle=盲斗 FightingStyle/&CripplingDescription=近战攻击命中后,你可以将对手的速度降低 10 尺,直到你的下回合结束。 FightingStyle/&CripplingTitle=致残 +FightingStyle/&DruidicWarriorDescription=你从德鲁伊法术列表中学习两种自选法术。它们对你来说算作游侠法术,而智慧则是你对它们的施法能力。 +FightingStyle/&DruidicWarriorTitle=德鲁伊战士 FightingStyle/&ExecutionerDescription=你将你的熟练加值加到对目盲、恐慌、束缚、失能、麻痹、倒地或震慑的生物的伤害上。 FightingStyle/&ExecutionerTitle=刽子手 FightingStyle/&HandAndAHalfDescription=当使用近战单手武器或两用武器且没有其他武器或盾牌时,你使用该武器的攻击检定获得 +1 加值,并且你的护甲等级获得+1加值。 @@ -50,3 +54,5 @@ Reaction/&ReactionAttackSentinelDescription={0} 攻击了你的一个盟友, Reaction/&ReactionAttackSentinelReactDescription=使用反应来攻击。 Reaction/&ReactionAttackSentinelReactTitle=攻击 Reaction/&ReactionAttackSentinelTitle=哨兵 +Tag/&BlessedWarriorCantripSpecialTagTitle=受祝福的战士咒语 +Tag/&DruidicWarriorCantripSpecialTagTitle=德鲁伊战士法术 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Invocations-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Invocations-zh-CN.txt index c93da0020c..da3edf5ea8 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Invocations-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Invocations-zh-CN.txt @@ -15,7 +15,7 @@ Feature/&PowerInvocationPerniciousCloakRemoveDescription=作为附赠动作, Feature/&PowerInvocationPerniciousCloakRemoveTitle=解消飞蝇斗篷 Feedback/&AdditionalDamageEldritchSmiteFormat=魔能斩! Feedback/&AdditionalDamageEldritchSmiteLine={0} 攻击 {1} (+{2}) -Invocation/&InvocationAbilitiesOfTheChainMasterDescription=与生物联结时获得额外效果。当绑定到小魔鬼时获得高等隐身形,当联结到伪龙时获得飞行和充满毒素的攻击,当联结到夸塞魔时获得额外的主要动作和敏捷豁免检定优势,当联结到精灵时获得至少 16 的护甲等级、攻击者对你来说处于劣势。 +Invocation/&InvocationAbilitiesOfTheChainMasterDescription=绑定到生物上时可获得额外效果。绑定到小鬼上时可获得更强的隐身能力,绑定到伪龙上时可获得飞行能力和带有毒性的攻击能力,绑定到拟态怪上时可获得额外攻击能力和敏捷豁免优势,绑定到精灵上时可获得至少 16 的 AC 值,攻击者对您不利。 Invocation/&InvocationAbilitiesOfTheChainMasterTitle=缚主的能力 Invocation/&InvocationAspectOfTheMoonDescription=你不再需要睡觉,可以保持警惕,降低袭击的机会,并确保你在营地受到袭击时保持清醒。 Invocation/&InvocationAspectOfTheMoonTitle=月之仪态 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 5ca495175f..e04a6d50f0 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -67,6 +67,8 @@ Condition/&ConditionSorcererInnateSorceryTitle=天生魔法 Condition/&ConditionStaggeringBlowAoODescription=在你的下一个回合开始之前你不能进行借机攻击。 Condition/&ConditionStaggeringBlowAoOTitle=失衡殴击 Condition/&ConditionStopMovementTitle=无法移动 +Condition/&ConditionStudiedAttacksDescription=来源在下次针对您的攻击中具有优势 +Condition/&ConditionStudiedAttacksTitle=已研究的攻击 Condition/&ConditionTauntedDescription=你在对抗嘲讽者以外的生物时处于劣势。 Condition/&ConditionTauntedTitle=嘲讽 Condition/&FlightSuspendDescription=正在进行的飞行效果已暂停 @@ -75,13 +77,13 @@ ContentPack/&9999Description=未完成的业务包是名副其实的丰盛之角 ContentPack/&9999Title=未竟之业包 Equipment/&BeltOfRegeneration_Function_Description=每轮恢复 5 点生命值,持续 1 分钟。 Equipment/&DLC3_DwarvenWeapon_Dagger+3_CriticalThreshold=当你使用该武器并对其进行调和时,你的攻击检定会在 18, 19 或 20 点上获得致命一击。 +Failure/&CannotAttackTarget=无法对该目标进行攻击 Failure/&FailureFlagCannotTargetUndead=无法以亡灵生物为目标 Failure/&FailureFlagMaterialComponentHandsFull=无法自由地使用材料法术成分。 Failure/&FailureFlagMustKnowLanguage=你必须精通{0}语言才能指挥这个生物 Failure/&FailureFlagTargetMustNotBeSurprised=目标不能感到惊讶 Failure/&FailureFlagTargetMustUnderstandYou=目标必须理解你的命令 Failure/&SecondTargetNotWithinRange=无法选择此目标,因为不在第一个范围内 -Failure/&TargetMeleeWeaponError=无法对该目标进行近战攻击,因为目标不在{0}内 Failure/&TargetMustBeNoMoreThanOneSizeLarger=目标尺寸不得大于一个尺寸 Failure/&TargetMustHaveHolyWeapon=目标必须持有神圣武器 Feature/&AbilityCheckAffinityDarknessPerceptiveDescription=在未点亮或处于魔法黑暗中时,你可以进行感知优势(察觉)检定。 @@ -105,6 +107,14 @@ Feature/&FeatureBardSuperiorInspiration2024Description=当你掷主动权时, Feature/&FeatureBardSuperiorInspiration2024Title=卓越灵感 Feature/&FeatureEldritchMasterDescription=当你使用“魔法狡诈”功能时,你将恢复所有已消耗的“契约魔法”法术位。 Feature/&FeatureEldritchMasterTitle=邪术大师 +Feature/&FeatureFighterStudiedAttacksDescription=你研究对手并从每次攻击中学习。如果你对某个生物进行攻击检定但未命中,那么在下一回合结束前,你对该生物的下一次攻击检​​定将获得优势。 +Feature/&FeatureFighterStudiedAttacksTitle=已研究的攻击 +Feature/&FeatureFighterTacticalMindDescription=您善于运用战术,在战场内外都占尽上风。当您未能通过能力检定时,您可以消耗一次“第二风”来推动自己走向成功。您无需恢复生命值,而是掷 1d10 并将掷出的数字添加到能力检定中,这样就有可能成功。如果检定仍然失败,则不会消耗“第二风”的这一次数。 +Feature/&FeatureFighterTacticalMindTitle=战术思维 +Feature/&FeatureFighterTacticalShiftDescription=每当您通过奖励行动激活“第二风”时,您都可以将速度移动至多一半,而不会引发机会攻击。 +Feature/&FeatureFighterTacticalShiftTitle=战术转变 +Feature/&FeatureImprovedRogueCunningStrikeDescription=当你造成偷袭伤害时,你可以使用最多两个狡猾打击效果,每个效果都需要支付骰子成本。 +Feature/&FeatureImprovedRogueCunningStrikeTitle=精通狡诈打击 Feature/&FeatureMonkBodyAndMindDescription=你行满功成,身心性命皆已突破超然境界。你的敏捷和感知增加 4 点。 Feature/&FeatureMonkBodyAndMindTitle=身心合一 Feature/&FeatureMonkHeightenedMetabolismDescription=你的训练已将你的身与心推至全新境界。你的疾风连击、坚强防御和飞檐走壁将获得以下好处:\n• 疾风连击:使用疾风连击时,你可以进行三次徒手攻击,而不是两次。\n• 坚强防御:使用坚强防御时,你将获得临时生命值,数量等于你掷出的两枚武艺骰。\n• 飞檐走壁:使用任一飞檐走壁特性(撤离或疾走)时,你还会获得其他效果的好处。 @@ -123,8 +133,14 @@ Feature/&FeatureSetDruidPrimalOrderTitle=原始秩序 Feature/&FeatureSetDruidPrimalOrderWardenDescription=经过战斗训练,您可以熟练使用军用武器并接受中型盔甲训练。 Feature/&FeatureSetDruidPrimalOrderWardenTitle=典狱长 Feature/&FeatureSetRageExtendedDescription=在战斗中,你会以原始的凶猛进行战斗。在你的回合中,你可以输入狂怒作为附赠动作。这使你在力量豁免和检定上获得优势,近战攻击伤害初始 +2 加值,以及对挥砍、钝击和穿刺伤害的抗性。仅当你不穿着重甲时你才能获得这些好处。持续 1 分钟,如果自上回合以来你没有攻击或受到伤害,则结束。\n你以 2 点怒气开始,在长休后恢复。 7 级时,短休后你会恢复 1 点怒气。 +Feature/&FeatureSetSorcererSorceryIncarnateDescription=如果您已经无法使用天生巫术,您可以在采取奖励行动激活它时花费 2 个巫术点来使用它。 +Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔法化身 +Feature/&FeatureSorcererArcaneApotheosisDescription=当你的天生巫术功能处于活动状态时,你可以在每个回合使用一个超魔法选项,而无需花费巫术点数。 +Feature/&FeatureSorcererArcaneApotheosisTitle=奥术神化 Feature/&FeatureSorcererMagicalGuidanceDescription=你可以利用你内在的魔法源泉,尝试从失败中变出成功。当你的属性检定失败时,你可以花费 1 个术法点来重掷 d20,并且你必须使用新的掷骰结果,有可能将失败变成成功。 Feature/&FeatureSorcererMagicalGuidanceTitle=魔法指引 +Feature/&FeatureWizardMemorizeSpellDescription=每当你完成短暂休息时,你可以学习你的法术书,并用书中的另一个 1 级以上法术替换你为施法功能准备的 1 级以上巫师法术之一。 +Feature/&FeatureWizardMemorizeSpellTitle=记住咒语 Feature/&FighterExtraAttackDescription=当你使用攻击或推撞动作时,你可以攻击两次,而不是一次。 Feature/&FlightResumeDescription=恢复暂停的飞行效果 Feature/&FlightResumeTitle=恢复飞行 @@ -213,6 +229,8 @@ Feature/&ToolGainChoicesSingleDescription=选择以下工具之一:{1} Feature/&VisionBlindsightDescription=你有盲视。 Feedback/&AdditionalDamageBrutalStrikeFormat=凶蛮打击 Feedback/&AdditionalDamageBrutalStrikeLine=凶蛮打击造成额外 +{2} 伤害! +Feedback/&AdditionalDamageCrusadersMantleFormat=十字军的披风! +Feedback/&AdditionalDamageCrusadersMantleLine={0} 攻击 {1} 并造成额外的 {2} 辐射伤害! Feedback/&AdditionalDamageSunderingBlowFormat=粉碎殴击 Feedback/&AdditionalDamageSunderingBlowLine=粉碎殴击造成额外 +{2} 伤害! Feedback/&AdditionalDamageTrueStrikeFormat=真实打击! @@ -231,6 +249,9 @@ Feedback/&NarrativeChoiceRoll={0} 投掷 {1} 个叙述选项,结果为 {2}。 Feedback/&PowerAfterRestIdentifyUsedWhileTravellingFormat=旅行途中休息后无法使用识别能力 Feedback/&ReturningWeaponActivates={1} 返回 {0}! Feedback/&SmallRace=小体型种族 +Feedback/&TacticalMindCheckToHitRoll={0} 使用了 {1} 并将 {2} 添加到检查卷中 +Feedback/&TacticalMindCheckToHitRollFailure={0} 使用了 {1},将 {2} 添加到检查卷中,但不足以改变结果 +Feedback/&TacticalMindCheckToHitRollSuccess={0} 使用了 {1},将 {2} 添加到检查点数中,更改结果,并消耗 Second Wind Feedback/&TriggerFeatureLine={0} 触发 {1} Feedback/&TriggerRerollLine={0} 激活 {1} 以重投 {2} = {3} Feedback/&TrueSightAndIllusionSpells={0}拥有真实视觉并且不受此法术影响 @@ -265,6 +286,10 @@ Reaction/&CustomReactionMagicalGuidanceCheckDescription=你未能通过检定掷 Reaction/&CustomReactionMagicalGuidanceCheckReactDescription=投掷 d20 以替换检定掷骰。 Reaction/&CustomReactionMagicalGuidanceCheckReactTitle=魔法指引 Reaction/&CustomReactionMagicalGuidanceCheckTitle=魔法指引 +Reaction/&CustomReactionTacticalMindCheckDescription=您未通过检查掷骰。您可以花费 1 秒风力来掷骰子,并将结果添加到检查掷骰中。 +Reaction/&CustomReactionTacticalMindCheckReactDescription=掷一个 d10 将结果添加到检查卷中。 +Reaction/&CustomReactionTacticalMindCheckReactTitle=战术思维 +Reaction/&CustomReactionTacticalMindCheckTitle=战术思维 Reaction/&ReactionSpendPowerBundleDescription=花费力量。 Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeDescription=你可以应用附加效果。 Reaction/&ReactionSpendPowerBundlePowerBarbarianBrutalStrikeReactDescription=应用附加效果。 @@ -296,6 +321,7 @@ Rules/&ActivationTypeOnPowerActivatedAutoTitle=自动启用能力 Rules/&ActivationTypeOnRageStartAutomaticTitle=自动开始狂暴 Rules/&ActivationTypeOnReduceCreatureToZeroHPAutoTitle=自动生物生命值降至零 Rules/&ActivationTypeOnSneakAttackHitAutoTitle=自动偷袭 +Rules/&ConditionMarkedByHunterExtendedDescription=当施法者使用武器攻击时,会受到+1d6 力量伤害。 Rules/&ConditionOneDndBarkskinDescription=该生物的防御等级至少变为 17。 Rules/&ConditionStoneskinExtendedDescription=抵抗钝击、砍杀和穿刺伤害。 Rules/&CounterFormDismissCreatureFormat=解散一个目标召唤生物 @@ -320,6 +346,7 @@ Rules/&SituationalContext9017Format=专注于法术: Rules/&SituationalContext9018Format=是效果来源: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=恢复魔法点数,最多可恢复至魔法师等级的一半(四舍五入) Rules/&TurnOccurenceEndOfSourceTurnFormat=来源回合结束 +Screen/&CharacterInspectionModeBattleUnlimitedTitle=每轮您可以执行无限制的库存操作。 Screen/&ClassExtraSpellDescriptionFormat=你从 {0} 职业知道这个法术。 Screen/&EditorLocationSize3Title=巨型【已修改】 Screen/&EditorLocationSize4Title=超巨型【已修改】 @@ -327,6 +354,7 @@ Screen/&MulticlassExtraSpellDescription=你从其他法术表中知道这个法 Screen/&MulticlassExtraSpellTitle=兼职 Screen/&PatronExtraSpellDescription=宗主法术 Screen/&PatronExtraSpellTitle=宗主 +Screen/&PreparePanelMemorizeSpellSelect=选择要准备的咒语。 Screen/&RaceExtraSpellDescription=你从你的血脉传承中获得该法术。 Screen/&RaceExtraSpellTitle=血脉传承 Screen/&RangerSpellDescription=该法术已被你的游侠职业授予,并被视为你已知。 @@ -342,6 +370,9 @@ Screen/&SpellSlotsUsedShortLongDescription=你在这个等级已经扩展了 {0} Screen/&SubclassClassExtraSpellDescriptionFormat=你从 {0} 子职知道这个法术。 Screen/&SwitchConfigurationDescription=将你装备的物品切换到此配置:{0}。\n如果可能,按住 CTRL 以保持副手状态。 Spell/&ConjureElementalInvisibleStalkerTitle=元素咒唤【隐形潜伏怪】 +Spell/&HuntersMarkExtendedDescription=敌人会受到你的额外力量伤害,并且你可以在有限的时间内轻松检测到它。 +Spell/&PowerWordStunExtendedDescription=你压制了范围内一个你能看见的生物的思想。如果目标的生命值不超过 150,则它处于眩晕状态。否则,它的速度为 0,直到你的下一回合开始。眩晕目标在每一回合结束时进行体质豁免检定,成功则结束自身状态。 +Spell/&SpareTheDyingExtendedDescription=选择范围内生命值为 0 且未死亡的生物。该生物将变得稳定。当您达到等级 5(30 英尺)、11(60 英尺)和 17(120 英尺)时,范围将加倍。 Spell/&StoneskinExtendedDescription=抵抗钝击、砍击和穿刺伤害。 Spell/&TrueStrike2024Description=在魔法洞察力的指引下,你使用施法武器发动一次攻击。攻击使用你的施法能力进行攻击和伤害掷骰,或使用力量或敏捷(取较高者)。如果攻击命中,则造成辐射伤害,而不是武器的正常伤害类型。当你达到 5 级(1d6)、11 级(2d6)和 17 级(3d6)时,攻击会造成额外的辐射伤害。 Stage/&IdentityMorphotypeEyeHeader=眼型 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index ccb935ad53..b79f7c3b33 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -89,6 +89,8 @@ ModUi/&DocsVersatilities=多功能性 ModUi/&DontEndTurnAfterReady=在准备操作后不结束回合[允许奖励操作或来自其他来源的任何其他主要操作] ModUi/&DontFollowCharacterInBattle=当角色已出现在屏幕上时,战斗摄像机不会跟随 ModUi/&DontFollowMargin=+ 除非英雄不在屏幕边缘或在屏幕边缘的 % 范围内 +ModUi/&DownloadVoice=下载推荐的声音 +ModUi/&DownloadVoiceOngoing=正在下载({0}) ModUi/&DungeonMaker=地下城制造者 ModUi/&DungeonMakerBasicHelp=• 这些设置不需要玩家安装此模组 ModUi/&Effects=效果 @@ -121,6 +123,8 @@ ModUi/&EnableEpicPointsAndArray=启用史诗 35 点购买系统和阵列 [奥术射击、灌注、操控和多功能性]\n[角色检查时性能受到影响。使用风险自负] ModUi/&EnableFeatsAtEvenLevels=在 2、10 和 18 级启用专长选择 ModUi/&EnableFeatsAtEvenLevelsMiddle=在 6 级和 14 级时启用专长选择 +ModUi/&EnableFighterStudiedAttacks=在 13 级时启用学习攻击 [如果本轮中对生物的上一次攻击失败则获得优势] +ModUi/&EnableFighterTacticalProgression=在 2 级和 5 级时启用战术思维和战术转变[增强第二风场景] ModUi/&EnableFighterWeaponSpecialization=在 8 级和 16 级时启用武器专精 [命中率和伤害力 +1,但使用其他武器类型时处于劣势] ModUi/&EnableFlexibleBackgrounds=启用灵活背景[从背景中选择技能和工具熟练程度] ModUi/&EnableFlexibleRaces=启用灵活种族[分配能力得分点而不是种族默认值] @@ -148,13 +152,17 @@ ModUi/&EnableMonkWeaponSpecialization=在 2 级和 11 级时启用多类 [需要重启] ModUi/&EnableOneDnDPreparedSpellsTables=允许所有施法者使用新的准备好的法术表[吟游诗人、牧师、德鲁伊、圣骑士、游侠、术士、魔法师] ModUi/&EnableOneDndBarkskinSpell=启用 Barkskin 5e 2024 法术版本 [奖励行动,无专注,AC 设置为 17] -ModUi/&EnableOneDndDamagingSpellsUpgrade=启用奥术之剑、死亡之环、烈焰打击、冰风暴和恶毒嘲讽 5e 2024 法术版本[更好的伤害] +ModUi/&EnableOneDndDamagingSpellsUpgrade=启用奥术之剑、死亡之环、烈焰打击、冰风暴、棱镜喷射。以及恶毒嘲讽 5e 2024 法术版本 [更好的伤害] ModUi/&EnableOneDndDivineFavorSpell=启用神恩 5e 2024 法术版本[无集中] ModUi/&EnableOneDndGuidanceSpell=启用Guidance 5e 2024 法术版本[施法时选择一项技能并获得最多 1 分钟的奖励。] ModUi/&EnableOneDndHealingSpellsUpgrade=启用治疗伤口、虚假生命、治疗之语、群体治疗伤口和群体治疗之语 5e 2024 法术版本 [更好的治疗] +ModUi/&EnableOneDndHideousLaughterSpell=启用可怕的笑声 5e 2024 法术版本[+1 目标/上行] +ModUi/&EnableOneDndHuntersMarkSpell=启用猎人印记 5e 2024 法术版本[强制伤害] ModUi/&EnableOneDndLesserRestorationSpell=启用次级修复 5e 2024 法术版本[奖励行动] ModUi/&EnableOneDndMagicWeaponSpell=启用魔法武器 5e 2024 法术版本[奖励行动,无需集中注意力,在第 3 级和第 6 级法术增强升级] -ModUi/&EnableOneDndPowerWordKillSpell=启用Power Word: Kill 5e 2024 法术版本[如果生命值超过 100,则造成 12d12 精神伤害] +ModUi/&EnableOneDndPowerWordStunSpell=启用Power Word Stun 5e 2024 法术版本[如果目标的生命值超过 150,则停止一回合] +ModUi/&EnableOneDndSpareTheDyingSpell=启用Spare the Dying 5e 2024 法术版本[范围在 5、11 和 17 级加倍] +ModUi/&EnableOneDndSpiderClimbSpell=启用蜘蛛攀爬 5e 2024 法术版本[每次施法 +1 个目标] ModUi/&EnableOneDndStoneSkinSpell=启用石肤 5e 2024 法术版本[同时提供对魔法 B/P/S 的抵抗力] ModUi/&EnableOneDndTrueStrikeCantrip=启用 True Strike 5e 2024 法术版本 [需要重启]{99>[攻击使用你的施法能力进行攻击掷骰和伤害加成,并从 5 级开始造成额外的辐射伤害] ModUi/&EnablePaladinLayOnHandsAsBonusAction=启用圣疗术作为奖励行动 @@ -168,24 +176,31 @@ ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用RESPEC [在多人游戏会话期间不要使用 RESPEC] ModUi/&EnableRitualOnAllCasters=对所有施法者启用仪式施法 -ModUi/&EnableRogueCunningStrike=在 5 级和 14 级启用狡猾打击和阴险打击 [你放弃 1 个偷袭骰子以获得额外的命中效果] +ModUi/&EnableRogueCunningStrike=在等级 5、11 和 14 时启用狡猾打击、强化狡猾打击和阴险打击 [你放弃 1 个偷袭骰子以获得额外的命中效果] ModUi/&EnableRogueFightingStyle=在第 2 级启用战斗风格选择 +ModUi/&EnableRogueReliableTalentAt7=将可靠天赋设置为 7 级(而非 11 级) ModUi/&EnableRogueSlipperyMind=将 Slippery Mind 与 5e 2024 版本交换[除了智慧之外,你还获得了魅力豁免的熟练程度] ModUi/&EnableRogueSteadyAim=在 3 级时启用稳定瞄准 [如果您尚未移动,则奖励行动会在当前回合的下一次攻击掷骰中提供优势] ModUi/&EnableRogueStrSaving=在狡猾/卑鄙的打击上启用Hoodlum DEX 或 STR 修正 ModUi/&EnableSecondWindToUseOneDndUsagesProgression=启用 Second Wind 以使用 5e 2024 使用进度 ModUi/&EnableSignatureSpellsRelearn=每次长时间休息时都可准备招牌法术[而不是在 20 级时准备一次] -ModUi/&EnableSorcererInnateSorceryAt1=在第 1 级启用天生巫术 +ModUi/&EnableSorcererArcaneApotheosis=在 20 级时启用奥术神化 +ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate=在 1 级和 7 级时启用天生巫术和巫术化身 ModUi/&EnableSorcererMagicalGuidance=在 5 级时启用魔法指引 ModUi/&EnableSorcererQuickenedAction=启用加速法术动作以允许施放应用了加速超魔法的主要动作法术 -ModUi/&EnableSorcerousRestorationAtLevel5=在第 5 级启用魔法恢复 +ModUi/&EnableSorcererSorcerousRestoration=在第 5 级启用魔法恢复 ModUi/&EnableSortingDungeonMakerAssets=在 Dungeon Maker 编辑器上启用资产排序 +ModUi/&EnableSpeech=在自定义战役中启用语音[仅限旁白和英雄] +ModUi/&EnableSpeechActorHelp=• 选择演员 +ModUi/&EnableSpeechOnNpcs=+ 启用 NPC 语音[通过战役映射或自动分配] +ModUi/&EnableSpeechVoiceHelp=• 选择语音和叙述速度 ModUi/&EnableStatsOnHeroTooltip=在英雄的工具提示上显示统计数据[例如:暴击、暴击失败等] ModUi/&EnableSumD20OnAlternateVotingSystem=+ 此外,每个英雄都会增加一个 D20 掷骰来增加权重,以增加一点随机性 [选择权重 = 投票数 * 英雄魅力调整值 + D20 掷骰] ModUi/&EnableSurprisedToEnforceDisadvantage=启用惊讶条件来强制执行主动劣势,而不是跳过一轮 ModUi/&EnableTeleportToRemoveRestrained=启用传送以移除目标的所有限制条件 ModUi/&EnableTooltipDistance=在战斗中将鼠标悬停在角色上时启用在工具提示上显示距离 ModUi/&EnableUnarmedMainAttackAction=启用徒手攻击动作[如果演员主武器为武器、是僧侣或装备有手套铁手套] +ModUi/&EnableUnlimitedInventoryActions=每回合启用无限数量的库存操作。 ModUi/&EnableUpcastConjureElementalAndFey=启用 Conjure Elemental 和 Conjure Fey 的向上转换 ModUi/&EnableVariablePlaceholdersOnTexts=在描述中启用变量占位符[使用 {VARIABLE_NAME} 作为占位符] ModUi/&EnableVersatileAmmunitionSlots=允许携带药水和卷轴并将其放入弹药槽中使用 @@ -193,6 +208,7 @@ ModUi/&EnableVersatileOffHandSlot=允许携带药水和魔法狡猾 ModUi/&EnableWarlockMagicalCunningAtLevel2AndImprovedEldritchMasterAt20=在 2 级启用魔法狡猾并在 20 级提升神秘大师 ModUi/&EnableWarlockToLearnPatronAtLevel3=在 3 级(而非 1 级)启用 Patron +ModUi/&EnableWizardMemorizeSpell=在第 5 级启用记忆法术 ModUi/&EnableWizardToLearnScholarAtLevel2=启用 2 级 Scholar ModUi/&EnableWizardToLearnSchoolAtLevel3=在 3 级(而非 2 级)启用魔法学校 ModUi/&EnablesAsiAndFeat=同时启用属性得分增加和专长选择[而不是独占选择] @@ -211,6 +227,7 @@ ModUi/&FixAsianLanguagesTextWrap=修复亚洲语言的游戏 UI 文本换行< ModUi/&FixEldritchBlastRange=使用 24 个单元格范围与 Eldritch Blast [而不是 12 个] ModUi/&FixRingOfRegenerationHealRate=将再生之环的治疗率设置为每 3 分钟 1 点生命值 ModUi/&FlightSuspendWingedBoots=+ 使用 Winged Boots 官方规则[暂停飞行时不计算剩余时长] +ModUi/&ForceModSpeechOnNpcs=+强制所有 NPC 自动分配语音,而不是进行战役映射 ModUi/&Formation=阵型: ModUi/&FormationError=您无法在多人游戏中改变阵型... ModUi/&FormationHelp1=• 使用数字按钮编辑给定的集合[考虑在输入下启用热键] @@ -273,6 +290,7 @@ ModUi/&QuickCastLightCantripOnWornItemsFirst=启用快速施放Li ModUi/&RaceLightSensitivityApplyOutdoorsOnly=启用 Darkelf、Dark Kobold 和 Gray Dwarf 上的 光敏感度,以便仅在户外触发\n[无需加载屏幕即可进入的户外位置的室内区域被游戏引擎视为户外区域] ModUi/&Races=种族 ModUi/&RecipeCost=食谱成本 +ModUi/&RefreshVoice=刷新语音列表 ModUi/&RelicForgeries=文物伪造 ModUi/&RemoveAttunementRequirements=删除调谐要求[需要重启] ModUi/&RemoveBardMagicalSecretAt14And18=删除 14 级和 18 级的魔法秘密 @@ -310,6 +328,7 @@ ModUi/&ShowCraftedItemOnRecipeIcon=在商店和库存中的配方物品附近显 ModUi/&ShowCraftingRecipeInDetailedTooltips=在详细的工具提示中显示制作配方 ModUi/&ShowDescriptions=显示描述 ModUi/&ShowMotionFormPreview=显示效果的预览 +ModUi/&SpeechScale=叙述速度调节器 [速度越低越快] ModUi/&SpellLevelFilter=法术等级过滤器 [-1 显示全部] ModUi/&SpellsMenu=法术 ModUi/&StealthBreaksWhenAttackHits=当武器或法术攻击命中时,隐身效果消失 @@ -340,6 +359,7 @@ ModUi/&TotalFeatsGrantedFirstLevel=第一级授予的翻译: +ModUi/&UnityExplorer=Unity 资源管理器用户界面 ModUi/&UnleashEnemyAsNpc=允许在 NPC 小工具上选择怪物 ModUi/&UnleashNpcAsEnemy=解锁怪物选择 ModUi/&Update=更新 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt index 33ff15ac2f..6684b600c0 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Cantrips-zh-CN.txt @@ -52,8 +52,6 @@ Feedback/&AdditionalDamageResonatingStrikeFormat=灼焰剑! Feedback/&AdditionalDamageResonatingStrikeLine={0} 用绿焰剑灼烧 {1}!(+{2}) Feedback/&AdditionalDamageSunlightBladeFormat=耀阳剑! Feedback/&AdditionalDamageSunlightBladeLine={0} 用耀阳剑照亮 {1}! (+{2}) -Feedback/&Within5Ft=5 英尺 -Feedback/&WithinReach=抵达 Proxy/&ProxyCreateBonfireTitle=篝火 Spell/&AcidClawsDescription=你的指甲变尖了,准备好进行腐蚀性攻击。对距离你 5 尺以内的一个生物进行一次近战法术攻击。命中时,目标会受到 1d8 强酸伤害,并且护甲等级降低 1,持续 1 轮(不叠加)。 Spell/&AcidClawsTitle=酸爪 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells01-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells01-zh-CN.txt index 1a6a9827fd..cabfef8a3d 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells01-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells01-zh-CN.txt @@ -53,12 +53,14 @@ Feedback/&AdditionalDamageStrikeWithTheWindLine={0} 迅捷打击 {1} (+{2}) Feedback/&AdditionalDamageThunderousSmiteFormat=雷鸣斩! Feedback/&AdditionalDamageThunderousSmiteLine={0} 通过雷鸣斩对 {1} 造成更多伤害 (+{2}) Feedback/&AdditionalDamageWrathfulSmiteFormat=激愤斩! -Feedback/&AdditionalDamageWrathfulSmiteLine={0} 通过激愤斩对 {1} 造成更多伤害 (+{2}) +Feedback/&AdditionalDamageWrathfulSmiteLine={0} 通过愤怒打击对 {1} 造成更多伤害 (+{2}) Feedback/&ChaosBoltGainLeap={0} 可以以 {1} 跳跃的混沌能量瞄准额外的敌人 Feedback/&ChaosBoltRandomChoice={0} 让 {1} 随机显现为 {2} Feedback/&ChaosBoltRolledDifferentDice={0} 在 {1} 个 D8 伤害骰子上投出了 {2} 和 {3}。 Feedback/&ChaosBoltRolledEqualDice={0} 在两个 {1} 个 D8 伤害骰子上投出了 {2}。 Feedback/&FeatureGiftOfAlacrityLine={0} 触发 {1} 并为先攻增加额外的 {2} +Feedback/&Within5Ft=5 英尺 +Feedback/&WithinReach=抵达 Monster/&OwlFamiliarDescription=猫头鹰魔宠。 Monster/&OwlFamiliarTitle=猫头鹰魔宠 Reaction/&ReactionSpendPowerBundleChaosBoltDescription=选择伤害类型。 @@ -105,8 +107,11 @@ Spell/&MagnifyGravityDescription=在 10 尺半径的球体中急剧增加重力 Spell/&MagnifyGravityTitle=扩大重力 Spell/&MuleDescription=该法术的接受者能够忽略重物或护甲对移动速度的影响。它们还可以承载稍重的重量。 Spell/&MuleTitle=骡运术 +Spell/&ProtectionFromEvilGoodTitle=保护自己对抗邪恶与善良 Spell/&RadiantMotesDescription=释放出由 4 个光耀射弹组成的集群,每个光耀射弹造成 1d4 光耀伤害。\n当你使用 2 环或更高法术位施放此法术时,该法术会为高于 1 环的每个法术位多制造 1 个射弹。 Spell/&RadiantMotesTitle=光耀射弹 +Spell/&RayOfSicknessDescription=你向射程内的生物射出一道绿色射线。对目标进行远程法术攻击。命中后,目标将受到 2d8 点毒药伤害,并处于中毒状态,直到你的下一回合结束。法术位等级每高于 1 级,伤害增加 1d8。 +Spell/&RayOfSicknessTitle=疾病射线 Spell/&SanctuaryDescription=你保护范围内的生物免受攻击。在法术结束之前,任何攻击或有害法术以受保护生物为目标时,必须首先进行感知豁免检定。如果豁免检定失败,该生物就会失去攻击或法术。该法术不能保护受保护的生物免受区域效应。如果受保护的生物进行攻击或施展法术,则该法术结束。 Spell/&SearingSmiteDescription=在你的下一次命中时,你的武器会发出白热强度的信号弹,攻击会对目标造成额外的 1d6 火焰伤害,并使目标着火。\n在每个回合开始时,目标必须进行一次成功通过体质豁免检定来停止燃烧,否则将受到 1d6 火焰伤害。\n更高环阶:每超过 1 环法术位环阶,攻击造成的初始额外伤害增加 1d6。 Spell/&SearingSmiteTitle=炽焰斩 @@ -126,6 +131,6 @@ Spell/&VoidGraspDescription=你调用了邪恶势力的力量。黑暗能量的 Spell/&VoidGraspTitle=哈达之臂 Spell/&WitchBoltDescription=一道噼啪作响的蓝色能量光束射向范围内的生物,在你和目标之间形成一道持续的闪电弧。对该生物进行远程法术攻击。命中后,目标将受到 1d12 闪电伤害,并且在持续时间内的每个回合中,你可以使用你的动作自动对目标造成 1d12 闪电伤害。如果你使用你的动作做其他任何事情,法术就会结束。如果目标超出法术范围,法术也会结束。当你使用 2 级或更高级别的法术位施放此法术时,伤害每高于 1 级增加 1d12。 Spell/&WitchBoltTitle=巫术箭 -Spell/&WrathfulSmiteDescription=在此法术持续时间内,下次你使用近战武器攻击时,你的攻击会造成额外的 1d6 精神伤害。此外,如果目标是生物,它必须进行一次智慧豁免检定,否则会害怕你,直到法术结束。作为一个动作,该生物可以进行一次智慧检定,对抗你的法术豁免 DC,以坚定其决心并结束此法术。 +Spell/&WrathfulSmiteDescription=目标在攻击中会受到额外的 1d6 点坏死伤害,并且必须成功进行感知豁免检定,否则会处于恐惧状态,直到法术结束。在每个回合结束时,恐惧目标都会重复豁免,成功则结束自身受到的法术。法术位等级每高于 1 级,伤害增加 1d6。 Spell/&WrathfulSmiteTitle=激愤斩 Tooltip/&TagDamagePureTitle=混乱伤害 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt index 9e574b4278..073943ef57 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells02-zh-CN.txt @@ -40,7 +40,7 @@ Spell/&ColorBurstDescription=爆破一个发光立方体,使 10 尺内的任 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/&MirrorImageDescription=三个虚幻的分身出现在你的空间中。在法术结束之前,分身会跟随你移动并模仿你的动作,不断变换位置,因此无法追踪哪个图像是真实的。每次生物在法术持续时间内用攻击掷骰击中你时,为你剩余的每个分身掷一个 d6。如果任何 d6 掷出 3 或更高,则其中一个分身被击中而不是你,并且分身被摧毁。否则,分身会忽略所有其他伤害和效果。当所有三个分身都被摧毁时,法术结束。如果生物具有盲目状态、盲视或真视,则不受此法术影响。 Spell/&MirrorImageTitle=镜影术 Spell/&NoxiousSprayDescription=你向范围内的目标释放有毒气体,以进行远程法术攻击。命中时,目标会受到 4d6 毒素伤害,并且必须成功通过体质豁免检定,否则下一回合就会一直干呕和起伏,无法移动或采取行动。构装体、元素生物和不死生物不受此法术影响。当你使用 3 环或更高环阶的法术位施放此法术时,你可以为每高于 2 环的法术位环阶指定一个额外的生物。 Spell/&NoxiousSprayTitle=剧毒喷射 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt index a29918db05..2ecb0bada8 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells03-zh-CN.txt @@ -37,7 +37,7 @@ Spell/&AdderFangsDescription=你创造出一条巨大的绿色蛇的面容,它 Spell/&AdderFangsTitle=蝰蛇毒牙 Spell/&AshardalonStrideDescription=龙类翻滚咆哮的火焰环绕你的足部,使你获得爆发性的速度。在持续时间内,你的速度增加 20 尺,并且移动不会触发借机攻击。当你移动至一个生物 5 尺内时,其被你的灼热尾迹灼烧,受到 1d6 火焰伤害。一个生物每回合只会承受一次此伤害。当你用四环或更高的法术位施展此法术时,你使用的法术位每比三环高一环,你的移动速度额外增加 5 尺,法术造成的伤害增加 1d6。 Spell/&AshardalonStrideTitle=阿莎德隆奔行 -Spell/&AuraOfLifeDescription=治疗能量从你身上散发出半径 30 尺的灵光。直到法术结束,灵光会随着你移动,以你为中心。你可以使用附赠动作使灵光中的一个生物(包括你)恢复 2d6 点生命值。 +Spell/&AuraOfLifeDescription=治疗能量从你身上散发出来,形成半径 30 英尺的光环。当你创造光环时,以及在光环持续的每个后续回合中,你都可以以自由动作为其中的一个生物恢复 2d6 生命值。 Spell/&AuraOfLifeTitle=活力灵光 Spell/&BlindingSmiteDescription=在该法术持续时间内,下次你用近战武器攻击生物时,你的武器会发出明亮的光芒,并且该攻击会对目标造成额外的 3d8 辐射伤害。此外,目标必须成功进行体质豁免,否则会目盲,直到法术结束。被该法术致盲的生物在其每个回合结束时都会进行另一次体质豁免。成功豁免后,它不再目盲。 Spell/&BlindingSmiteTitle=致盲斩 @@ -45,7 +45,7 @@ Spell/&BoomingStepDescription=你将自己传送到范围内可以看到的一 Spell/&BoomingStepTitle=雷霆步 Spell/&CorruptingBoltDescription=你可以发射一束黯蚀能量脉冲,使生物的身体开始枯萎和腐烂。对生物进行远程攻击。命中后,目标会受到 4d8 点黯蚀伤害,并且必须通过一次体质豁免检定。如果豁免失败,下次你或你的盟友在你的下回合结束之前用攻击击中腐化生物时,该生物就容易受到该攻击的所有伤害,然后腐化就会结束。当你使用四环或更高的法术位施放该法术时,使用的法术位每比三环高一环,其伤害就增加 1d8。 Spell/&CorruptingBoltTitle=腐蚀箭 -Spell/&CrusadersMantleDescription=用魔法性的灵光包围自己。灵光内的盟友在攻击时获得额外的 1d4 光耀伤害。 +Spell/&CrusadersMantleDescription=神圣力量从你身上散发出来,形成半径 30 英尺的光环,唤醒友方生物的勇气。在法术结束之前,光环会以你为中心,跟随你移动。在光环中,光环中的每个非敌对生物(包括你)在攻击时都会造成额外的 1d4 辐射伤害。 Spell/&CrusadersMantleTitle=十字军披风 Spell/&ElementalWeaponDamageAcidDescription=为一件非魔法武器注入强酸伤害。 Spell/&ElementalWeaponDamageAcidTitle=强酸元素武器 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells05-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells05-zh-CN.txt index 22c785916a..b2919d855a 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells05-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells05-zh-CN.txt @@ -44,7 +44,7 @@ Spell/&SonicBoomDescription=一个与气球颜色相近的小球体出现在你 Spell/&SonicBoomTitle=鸣音爆 Spell/&SteelWhirlwindDescription=你挥动施法时使用的武器,然后消失,像风一样攻击。选择范围内最多五个你可以看到的生物。对每个目标进行近战法术攻击。命中后,目标会受到 6d10 点力场伤害。然后,你可以传送到一个未被占据的、你可以看到的、你命中或失手目标之一的 5 尺内的一处空间。 Spell/&SteelWhirlwindTitle=钢风斩 -Spell/&SwiftQuiverDescription=你对箭筒进行变形,这样当你伸手去拿它时,弹药就会自动跳到你手中。在咒语结束之前,在每个回合中,你都可以使用奖励动作用远程武器进行两次攻击。 +Spell/&SwiftQuiverDescription=施放此法术时,以及在施放法术结束前,你可以使用发射箭或螺栓的武器(例如长弓或轻型弩)进行两次攻击,作为奖励行动。此法术会以魔法方式制造每次攻击所需的弹药。此法术制造的每支箭或螺栓都像同类的非魔法弹药一样造成伤害,并且在击中或未击中后立即解体。 Spell/&SwiftQuiverTitle=迅捷箭筒 Spell/&SynapticStaticDescription=你选择范围内的一点,并让灵能在那里爆炸。以该点为中心半径 20 英尺范围内的每个生物都必须进行智力豁免检定。如果豁免失败,目标将受到 8d6 灵能伤害,如果豁免成功,则伤害减半。豁免失败后,目标将陷入混乱,持续 1 分钟。在此期间,目标将掷出一个 d6 并从其所有攻击掷骰和能力检定中减去掷出的数字。目标可以在其每个回合结束时进行智力豁免检定,如果豁免成功,则结束对其自身的效果。 Spell/&SynapticStaticTitle=突触静态 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells09-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells09-zh-CN.txt index c3e36cab0a..e5f1bbbd66 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells09-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Spells/Spells09-zh-CN.txt @@ -17,7 +17,7 @@ Spell/&MeteorSwarmSingleTargetDescription=炽热的火球在射程内你能看 Spell/&MeteorSwarmSingleTargetTitle=流星爆 Spell/&PowerWordHealDescription=一股治疗能量波席卷了你接触到的生物。目标恢复所有生命值。如果生物被迷惑、惊吓、麻痹、中毒或昏迷,则该状态结束。如果生物处于俯卧状态,它可以利用其反应站起来。此法术对不死生物或构造体无效。 Spell/&PowerWordHealTitle=律令医疗 -Spell/&PowerWordKillDescription=你说出一个能迫使范围内你能看到的生物立即死亡的威力满溢的单词。如果你选择的生物的生命值不超过 100,它就会死去。否则,该法术无效。 +Spell/&PowerWordKillDescription=你迫使一个你能看到的范围内的生物死亡。如果目标的生命值不超过 100,它就会死亡。否则,它会受到 12d12 精神伤害。 Spell/&PowerWordKillTitle=律令死亡 Spell/&PsychicScreamDescription=你释放心灵的力量,摧毁你选择的范围内最多 10 个生物的智力。每个目标都必须进行智力豁免检定。如果豁免失败,目标将受到 14d6 精神伤害并被击晕 1 分钟。如果豁免成功,目标将受到一半伤害并且不会被击晕。被击晕的目标可以在其每个回合结束时进行智力豁免检定。如果豁免成功,击晕效果将结束。 Spell/&PsychicScreamTitle=心灵尖啸 @@ -25,5 +25,5 @@ Spell/&ShapechangeDescription=你在持续时间内呈现出不同生物的形 Spell/&ShapechangeTitle=形体变化 Spell/&TimeStopDescription=你短暂地停止了所有人的时间流动,除了你自己。其他生物的时间不会流逝,而你则连续进行 1d4+1 轮,在此期间你可以正常采取行动和移动。如果你在此期间使用的一个动作或你在此期间创建的任何效果影响到你以外的生物,则此法术结束。 Spell/&TimeStopTitle=时间停止 -Spell/&WeirdDescription=利用一群生物最深的恐惧,你在他们的脑海中创造出只有他们才能看到的虚幻生物。以射程内你选择的一点为中心的 30 尺半径球体中的每个生物都必须进行一次感知豁免。豁免失败的生物会在持续时间内变得恐慌。幻象唤起该生物最深的恐惧,将其最糟糕的噩梦表现为无情的威胁。在受惊生物的每个回合结束时,它必须成功进行一次感知豁免,否则将受到 4d10 心灵伤害。豁免成功后,该生物的法术结束。 +Spell/&WeirdDescription=你试图在他人心中制造虚幻的恐惧。你选择的每个生物在以范围内的一点为中心的 30 英尺半径范围内进行一次智慧豁免检定。如果豁免失败,目标将受到 10d10 心灵伤害,并在持续时间内处于恐惧状态。如果豁免成功,目标将只受到一半的伤害。恐惧目标在其每个回合结束时进行一次智慧豁免检定。如果豁免失败,目标将受到 5d10 心灵伤害。如果豁免成功,法术将在该目标上结束。 Spell/&WeirdTitle=怪影杀手 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/CircleOfTheAncientForest-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/CircleOfTheAncientForest-zh-CN.txt index 4c61ccfe74..d56cce9eb7 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/CircleOfTheAncientForest-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/CircleOfTheAncientForest-zh-CN.txt @@ -28,7 +28,7 @@ Feature/&PowerAncientForestRegrowthDescription=当你进行长休时,你会恢 Feature/&PowerAncientForestRegrowthTitle=再生 Feature/&PowerAncientForestRootedDescription=树栖的卷须从你的脚上长出来并深入地下。你的速度变为 0,并且你在任何推你、拉你或击倒你的豁免检定中获得优势。你可以随意施展纠缠。 Feature/&PowerAncientForestRootedTitle=根须 -Feature/&PowerPoolAncientForestHerbalBrewDescription=你可以制作草药酿,每次都持续到下一次长休。你创造的酿总量等于你的熟练加值。对于每种酿,选择以下效果之一:\n强化酿:在 1 小时内抵抗不同的伤害类型。\n治愈酿 color>:提供 2d4 生命值。\n毒性酿:作为毒药作用于武器,持续 1 分钟。如果击中目标,则每次击中目标都会受到 1d4 毒素伤害。 +Feature/&PowerPoolAncientForestHerbalBrewDescription=你可以制作草药酿,每次都持续到下一次长休。你创造的酿总量等于你的熟练加值。对于每种酿,选择以下效果之一:\n强化酿:在 1 小时内抵抗不同的伤害类型。\n治愈酿 color>:提供 2d4 生命值。\n毒性酿:作为毒药作用于武器,持续 1 分钟。如果击中目标,则每次击中目标都会受到 1d4 毒素伤害。 Feature/&PowerPoolAncientForestHerbalBrewTitle=草药酿 Feature/&PowerPoolAncientForestWallOfThornsDescription=你可以施放 棘墙术 的次数等于你的感知调整值。你在长休后重新获得所有消耗掉的次数。 Feature/&PowerPoolAncientForestWallOfThornsTitle=棘墙术 diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt index 7c5df5783b..77e4ea6ab4 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Equipment-ru-Unofficial.txt @@ -2663,8 +2663,8 @@ Equipment/&ScrollHealDescription=Используя этот свиток, вы Equipment/&ScrollHealTitle=Свиток заклинания «Исцеление» Equipment/&ScrollHeroesFeastDescription=Используя этот свиток, вы накладываете заклинание «Пир для героев». Equipment/&ScrollHeroesFeastTitle=Свиток заклинания «Пир для героев» -Equipment/&ScrollHideousLaughterDescription=Используя этот свиток, вы накладываете заклинание «Противный смех». -Equipment/&ScrollHideousLaughterTitle=Свиток заклинания «Противный смех» +Equipment/&ScrollHideousLaughterDescription=Используя этот свиток, вы накладываете заклинание «Жуткий смех Таши». +Equipment/&ScrollHideousLaughterTitle=Свиток заклинания «Жуткий смех Таши» Equipment/&ScrollHilarityDescription=Используя этот свиток, вы накладываете заклинание «Веселье». Equipment/&ScrollHilarityTitle=Свиток заклинания «Веселье» Equipment/&ScrollHoldMonsterDescription=Используя этот свиток, вы накладываете заклинание «Удержание чудовища». @@ -2723,10 +2723,10 @@ Equipment/&ScrollPassWithoutTraceDescription=Используя этот сви Equipment/&ScrollPassWithoutTraceTitle=Свиток «Бесследное передвижение» Equipment/&ScrollPhantasmalKillerDescription=Используя этот свиток, вы накладываете заклинание «Призрачный убийца». Equipment/&ScrollPhantasmalKillerTitle=Свиток «Призрачный убийца» -Equipment/&ScrollPowerWordStunDescription=Используя этот свиток, вы накладываете заклинание «Оглушение словом силы». -Equipment/&ScrollPowerWordStunTitle=Свиток заклинания «Оглушение словом силы» -Equipment/&ScrollPrismaticSprayDescription=Используя этот свиток, вы накладываете заклинание «Призматические лучи». -Equipment/&ScrollPrismaticSprayTitle=Свиток заклинания «Призматические лучи» +Equipment/&ScrollPowerWordStunDescription=Используя этот свиток, вы накладываете заклинание «Слово силы: оглушение». +Equipment/&ScrollPowerWordStunTitle=Свиток заклинания «Слово силы: оглушение» +Equipment/&ScrollPrismaticSprayDescription=Используя этот свиток, вы накладываете заклинание «Радужные брызги». +Equipment/&ScrollPrismaticSprayTitle=Свиток заклинания «Радужные брызги» Equipment/&ScrollProtectionFromEnergyDescription=Используя этот свиток, вы накладываете заклинание «Защита от энергии». Equipment/&ScrollProtectionFromEnergyTitle=Свиток «Защита от энергии» Equipment/&ScrollProtectionFromEvilandGoodDescription=Используя этот свиток, вы накладываете заклинание «Защита от зла и добра». diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt index d1aacbfeb5..cd95e7bb96 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt @@ -45,8 +45,8 @@ Feedback/&AdditionalDamageDarkSlayerFormat=Убийца тьмы! Feedback/&AdditionalDamageDarkSlayerLine={0} наносит дополнительный урон, цель — существа с отличным ночным зрением {1} (+{2}) Feedback/&AdditionalDamageDecisiveStrikeFormat=Решающий удар! Feedback/&AdditionalDamageDecisiveStrikeLine={0} поражает противника: {1} (+{2}) -Feedback/&AdditionalDamageDivineFavorFormat=Божественная благосклонность! -Feedback/&AdditionalDamageDivineFavorLine={0} наносит божественной благосклонностью дополнительный урон, цель — противник {1} (+{2}) +Feedback/&AdditionalDamageDivineFavorFormat=Божественное благоволение! +Feedback/&AdditionalDamageDivineFavorLine={0} наносит божественным благоволением дополнительный урон, цель — противник {1} (+{2}) Feedback/&AdditionalDamageDivineFormat=Урон божественным оружием! Feedback/&AdditionalDamageDivineLine={0} наносит дополнительный урон божественным оружием, цель — {1} (+{2}). Feedback/&AdditionalDamageDivineSmiteFormat=Разящий удар! diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Rules-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Rules-ru-Unofficial.txt index f7c81e55fb..3346e0fbc8 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Rules-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Rules-ru-Unofficial.txt @@ -199,7 +199,7 @@ Rules/&ConditionDispellingEvilAndGoodTitle=Рассеивает зло и доб Rules/&ConditionDistractedDescription=Помеха у спасбросков на концентрацию. Rules/&ConditionDistractedTitle=Рассеянность Rules/&ConditionDivineFavorDescription=Наносит дополнительно 1d4 урона излучением. -Rules/&ConditionDivineFavorTitle=Божественная благосклонность +Rules/&ConditionDivineFavorTitle=Божественное благоволение Rules/&ConditionDivinelyRevealedDescription=Накладывающему этот эффект известны тип и расположение существа. Rules/&ConditionDivinelyRevealedTitle=Раскрытие божественной силой Rules/&ConditionDodgingDescription=Атаки по существу выполняются с помехой. diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt index 4410aac41d..7ff59a50fb 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Spell-ru-Unofficial.txt @@ -193,7 +193,7 @@ Spell/&DispelMagicTitle=Рассеивание магии Spell/&DivineBladeDescription=В вашей руке появляется сияющий клинок из чистой энергии. При попадании цель получает 6d8 урона излучением и должна совершить спасбросок Мудрости, чтобы не быть оглушённой до своего следующего хода. Spell/&DivineBladeTitle=Божественный клинок Spell/&DivineFavorDescription=Временно даёт способность наносить дополнительный урон излучением. -Spell/&DivineFavorTitle=Божественная благосклонность +Spell/&DivineFavorTitle=Божественное благоволение Spell/&DivineWordDescription=Вы произносите божественное слово, которое накладывает различные негативные состояния на врагов в вашем поле зрения, исходя из их ОЗ. Оно также изгоняет всех небожителей, элементалей, фей и исчадий, если они выполнят неудачные спасброски. Spell/&DivineWordEffectFormsDescription=41–50 ОЗ: оглушение на 1 минуту\n 31–40 ОЗ: оглушение и ослепление на 10 минут\n 21–30 ОЗ: ослепление, глухота и оглушение на 1 час\n 20 ОЗ или меньше: мгновенная смерть\n Небожитель, элементаль, фея или исчадие: изгнание Spell/&DivineWordTitle=Божественное слово @@ -320,7 +320,7 @@ Spell/&HeroesFeastTitle=Пир для героев Spell/&HeroismDescription=Союзник получает временные очки здоровья и временную невосприимчивость к испугу. Spell/&HeroismTitle=Героизм Spell/&HideousLaughterDescription=Заставляет врага безудержно смеяться, из-за чего тот становится беззащитным. -Spell/&HideousLaughterTitle=Противный смех +Spell/&HideousLaughterTitle=Жуткий смех Таши Spell/&HilarityDescription=Выберите одну цель. Она падает от смеха, лежит, не может двигаться и получает урон то тех пор, пока не спасётся в конце одного из своих ходов или пока не кончится действие заклинания. Spell/&HilarityTitle=Веселье Spell/&HoldMonsterDescription=Парализует существо, если оно не сможет выполнить успешный спасбросок МДР. Не действует на нежить. @@ -393,12 +393,12 @@ Spell/&PhantasmalKillerDescription=На каждом ходу наносит в Spell/&PhantasmalKillerTitle=Призрачный убийца Spell/&PoisonSprayDescription=Обдаёт врага в поле зрения ядовитыми брызгами; радиус действия ограничен. Spell/&PoisonSprayTitle=Ядовитые брызги -Spell/&PowerWordStunDescription=Вы воздействуете на разум существа, у которого есть не более 150 очков здоровья, оглушая его. -Spell/&PowerWordStunTitle=Оглушение словом силы +Spell/&PowerWordStunDescription=Вы воздействуете на разум существа, у которого не более 150 хитов, оглушая его. +Spell/&PowerWordStunTitle=Слово силы: оглушение Spell/&PrayerOfHealingDescription=Лечит нескольких союзников одновременно. Spell/&PrayerOfHealingTitle=Целебная молитва -Spell/&PrismaticSprayDescription=Каждое существо в конусе воздействия попадает в один из двух (8 на к8) лучей со следующими эффектами: -Spell/&PrismaticSprayTitle=Призматические лучи +Spell/&PrismaticSprayDescription=Каждое существо в пределах конуса попадает в один или два (при выпадении 8 на кости d8) луча со следующими эффектами: +Spell/&PrismaticSprayTitle=Радужные брызги Spell/&ProduceFlameDescription=Создаёт в вашей руке мерцающее, испускающее свет пламя, которое можно метнуть, чтобы нанести огненный урон. Spell/&ProduceFlameHoldDescription=Помещает пламя в свободную ячейку в руке, чтобы осветить 2 клетки ярким и 2 клетки тусклым светом. Spell/&ProduceFlameHoldTitle=Взять пламя @@ -475,7 +475,7 @@ Spell/&SleetStormTitle=Метель Spell/&SlowDescription=Замедляет до шести существ и мешает им действовать. Spell/&SlowTitle=Замедление Spell/&SpareTheDyingDescription=Прикоснитесь к умирающему союзнику, чтобы стабилизировать его состояние. -Spell/&SpareTheDyingTitle=Забота об умирающем +Spell/&SpareTheDyingTitle=Уход за умирающим Spell/&Sparkle_Description=Выберите до трёх объектов, которые можно зажечь, и моментально зажгите их. Spell/&Sparkle_Title=Искра Spell/&Spell_Flameblade_Description=Призывает на десять минут огненный клинок, которым можно орудовать в бою. @@ -529,7 +529,7 @@ Spell/&VampiricTouchTitle=Прикосновение вампира Spell/&VenomousSpikeDescription=Костяной шип, который пронзает и отравляет цель. Spell/&VenomousSpikeTitle=Ядовитый шип Spell/&ViciousMockeryDescription=Обрушьте поток усиленных магией оскорблений на видимое существо. Оно должно совершить удачный спасбросок мудрости, иначе получит психический урон и помеху при следующем броске атаки. Эффект длится до конца следующего хода существа. -Spell/&ViciousMockeryTitle=Злобная насмешка +Spell/&ViciousMockeryTitle=Злая насмешка Spell/&WallOfFireDescription=Создаёт пылающую стену, которая поражает существ, находящихся в ней или рядом с ней. Spell/&WallOfFireLineTitle=Стена огня (линия) Spell/&WallOfFireRingInnerTitle=Стена огня (Круг/внутри) diff --git a/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs b/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs index 95b02991dd..bbe837d927 100644 --- a/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs +++ b/SolastaUnfinishedBusiness/Validators/ValidatorsCharacter.cs @@ -195,8 +195,10 @@ internal static class ValidatorsCharacter internal static readonly IsCharacterValidHandler HasMeleeWeaponInMainAndOffhand = character => HasMeleeWeaponInMainHand(character) && HasMeleeWeaponInOffHand(character); +#if false internal static readonly IsCharacterValidHandler HasMeleeWeaponInMainOrOffhand = character => HasMeleeWeaponInMainHand(character) || HasMeleeWeaponInOffHand(character); +#endif internal static readonly IsCharacterValidHandler HasMeleeWeaponInMainHandAndFreeOffhand = character => HasFreeHandWithoutTwoHandedInMain(character) && diff --git a/lib/NAudio.dll b/lib/NAudio.dll new file mode 100644 index 0000000000..9425d40291 Binary files /dev/null and b/lib/NAudio.dll differ