From d2067627d63b4976a41b752eb721ea3517612527 Mon Sep 17 00:00:00 2001 From: Dovel Date: Tue, 10 Dec 2024 14:30:21 +0300 Subject: [PATCH 01/42] update russian translation --- .../Translations/ru/SubClasses/PathOfTheSpirits-ru.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt index 0e82b57f27..419ae40db2 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt @@ -29,7 +29,7 @@ Feature/&FeatureSetPathOfTheSpiritsHonedAnimalAspectChoicesTitle=Соверше Feature/&FeatureSetPathOfTheSpiritsSpiritSeekerDescription=Вступив на этот путь, вы получаете способность произносить заклинания Дружба с животными и Поиск ловушек бонусным действием один раз до короткого отдыха. Мудрость является вашей заклинательной характеристикой при накладывании этих заклинаний. Feature/&FeatureSetPathOfTheSpiritsSpiritSeekerTitle=Искатель духов Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerDescription=Впадая в Ярость, частью того же действия вы также можете наложить заклинание Духовные стражи, которое длится одну минуту, без каких-либо компонентов и без необходимости концентрации. Вы можете использовать эту способность один раз до продолжительного отдыха. Если в начале ярости у вас не осталось доступных использований этого умения, вместо этого вы можете потратить один заряд Ярости, чтобы использовать его снова. -Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerExtendedDescription=Всякий раз, когда вы начинаете бушевать, вы также можете использовать заклинание Духовных Стражей как часть способности Ярости, которая длится столько, сколько вы бушевали, не требуя никаких компонентов или концентрации. Вы можете использовать эту способность один раз за длительный отдых. Если вы начинаете бушевать и не используете эту способность, вы можете вместо этого потратить один заряд Ярости, чтобы использовать ее снова. +Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerExtendedDescription=Впадая в Ярость, частью того же действия вы также можете наложить заклинание Духовные стражи, которое длится, пока вы в ярости, без каких-либо компонентов и без необходимости концентрации. Вы можете использовать эту способность один раз до продолжительного отдыха. Если в начале ярости у вас не осталось доступных использований этого умения, вместо этого вы можете потратить один заряд Ярости, чтобы использовать его снова. Feature/&FeatureSetPathOfTheSpiritsSpiritWalkerTitle=Гуляющий с духами Feature/&PowerPathOfTheSpiritsBearResistanceDescription=Дух медведя делает вас достаточно крепким, чтобы выдержать любое испытание. Когда вы в ярости, вы обладаете сопротивлением ко всем видам урона, кроме психического. Feature/&PowerPathOfTheSpiritsBearResistanceTitle=Медвежье сопротивление @@ -42,7 +42,7 @@ Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsWolfTitle=Совершенный Feature/&PowerPathOfTheSpiritsWolfLeadershipDescription=Дух волка делает вас предводителем охотников. Когда вы в ярости, любой союзник в радиусе 5 футов совершает с преимуществом броски атаки в ближнем бою. Feature/&PowerPathOfTheSpiritsWolfLeadershipTitle=Дух волка Reaction/&UseSpiritWalkerDescription=Вы можете наложить заклинание Духовные стражи, которое длится одну минуту. -Reaction/&UseSpiritWalkerExtendedDescription=Вы можете использовать заклинание «Дух-хранитель», которое действует до тех пор, пока вы в ярости. +Reaction/&UseSpiritWalkerExtendedDescription=Вы можете наложить заклинание Духовные стражи, которое длится, пока вы в ярости. Reaction/&UseSpiritWalkerReactDescription=Вы можете наложить заклинание Духовные стражи. Reaction/&UseSpiritWalkerReactTitle=Гуляющий с духами Reaction/&UseSpiritWalkerTitle=Гуляющий с духами From 54008e394cd92a6e49ef01f297179ac8e3b35302 Mon Sep 17 00:00:00 2001 From: Zappastuff Date: Sat, 14 Dec 2024 10:38:56 -0800 Subject: [PATCH 02/42] add 2024 ranger settings --- .../Displays/ClassesDisplay.cs | 51 ++++- .../Displays/GeneralDisplay.cs | 42 ++++ .../Models/2024PaladinContext.cs | 53 +++++ .../Models/2024RangerContext.cs | 199 ++++++++++++++++++ .../Models/Level20Context.cs | 81 ++++--- .../Models/Tabletop2024Context.cs | 97 +-------- SolastaUnfinishedBusiness/Settings.cs | 7 + .../Translations/en/Others-en.txt | 14 ++ .../Translations/en/Settings-en.txt | 9 +- 9 files changed, 436 insertions(+), 117 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Models/2024PaladinContext.cs create mode 100644 SolastaUnfinishedBusiness/Models/2024RangerContext.cs diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 36223e9c08..eaf2a0203f 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -353,6 +353,34 @@ internal static void DisplayClasses() ClassesContext.SwitchRangerHumanoidFavoredEnemy(); } + toggle = Main.Settings.EnableRangerDeftExplorer2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerDeftExplorer2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerDeftExplorer2024 = toggle; + Tabletop2024Context.SwitchRangerDeftExplorer(); + } + + toggle = Main.Settings.EnableRangerExpertise2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerExpertise2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerExpertise2024 = toggle; + Tabletop2024Context.SwitchRangerExpertise(); + } + + toggle = Main.Settings.EnableRangerFeralSenses2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFeralSenses2024 = toggle; + Tabletop2024Context.SwitchRangerFeralSenses(); + } + + toggle = Main.Settings.EnableRangerFoeSlayers2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFoeSlayers2024 = toggle; + Tabletop2024Context.SwitchRangerFoeSlayers(); + } + toggle = Main.Settings.EnableRangerNatureShroud2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerNatureShroud2024"), ref toggle, UI.AutoWidth())) { @@ -360,13 +388,34 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRangerNatureShroud(); } + toggle = Main.Settings.EnableRangerPreciseHunter2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerPreciseHunter2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerPreciseHunter2024 = toggle; + Tabletop2024Context.SwitchRangerPreciseHunter(); + } + + toggle = Main.Settings.EnableRangerRoving2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRoving2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerRoving2024 = toggle; + Tabletop2024Context.SwitchRangerRoving(); + } + toggle = Main.Settings.EnableRangerSpellCastingAtLevel1; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRangerSpellCastingAtLevel1 = toggle; Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); } - + + toggle = Main.Settings.EnableRangerTireless; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerTireless"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerTireless = toggle; + Tabletop2024Context.SwitchRangerTireless(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&RogueTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 6c13c69358..08551a00b5 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -541,6 +541,34 @@ private static void DisplayTabletop2024() UI.Label("" + Gui.Localize("Class/&RangerTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnableRangerDeftExplorer2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerDeftExplorer2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerDeftExplorer2024 = toggle; + Tabletop2024Context.SwitchRangerDeftExplorer(); + } + + toggle = Main.Settings.EnableRangerExpertise2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerExpertise2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerExpertise2024 = toggle; + Tabletop2024Context.SwitchRangerExpertise(); + } + + toggle = Main.Settings.EnableRangerFeralSenses2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFeralSenses2024 = toggle; + Tabletop2024Context.SwitchRangerFeralSenses(); + } + + toggle = Main.Settings.EnableRangerFoeSlayers2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFoeSlayers2024 = toggle; + Tabletop2024Context.SwitchRangerFoeSlayers(); + } + toggle = Main.Settings.EnableRangerNatureShroud2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerNatureShroud2024"), ref toggle, UI.AutoWidth())) { @@ -548,6 +576,20 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchRangerNatureShroud(); } + toggle = Main.Settings.EnableRangerPreciseHunter2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerPreciseHunter2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerPreciseHunter2024 = toggle; + Tabletop2024Context.SwitchRangerPreciseHunter(); + } + + toggle = Main.Settings.EnableRangerRoving2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRoving2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerRoving2024 = toggle; + Tabletop2024Context.SwitchRangerRoving(); + } + toggle = Main.Settings.EnableRangerSpellCastingAtLevel1; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs new file mode 100644 index 0000000000..4c072e28a6 --- /dev/null +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -0,0 +1,53 @@ +using System.Linq; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; + +namespace SolastaUnfinishedBusiness.Models; + +internal static partial class Tabletop2024Context +{ + internal static void SwitchOneDndPaladinLearnSpellCastingAtOne() + { + var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; + + foreach (var featureUnlock in Paladin.FeatureUnlocks + .Where(x => x.FeatureDefinition == FeatureDefinitionCastSpells.CastSpellPaladin)) + { + featureUnlock.level = level; + } + + // allows back and forth compatibility with EnableRitualOnAllCasters2024 + foreach (var featureUnlock in Paladin.FeatureUnlocks + .Where(x => x.FeatureDefinition == FeatureSetClericRitualCasting)) + { + featureUnlock.level = level; + } + + Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + + if (Main.Settings.EnablePaladinSpellCastingAtLevel1) + { + FeatureDefinitionCastSpells.CastSpellPaladin.slotsPerLevels = SharedSpellsContext.HalfRoundUpCastingSlots; + SharedSpellsContext.ClassCasterType[PaladinClass] = + FeatureDefinitionCastSpellBuilder.CasterProgression.HalfRoundUp; + } + else + { + FeatureDefinitionCastSpells.CastSpellPaladin.slotsPerLevels = SharedSpellsContext.HalfCastingSlots; + SharedSpellsContext.ClassCasterType[PaladinClass] = + FeatureDefinitionCastSpellBuilder.CasterProgression.Half; + } + } + + internal static void SwitchOneDndPaladinLayOnHandAsBonusAction() + { + PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 + ? ActivationTime.BonusAction + : ActivationTime.Action; + } +} diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs new file mode 100644 index 0000000000..a3ab2a4bf8 --- /dev/null +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -0,0 +1,199 @@ +using System.Linq; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; + +namespace SolastaUnfinishedBusiness.Models; + +internal static partial class Tabletop2024Context +{ + private static readonly FeatureDefinitionFeatureSet FeatureSetRangerDeftExplorer = + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetRangerDeftExplorer") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet( + FeatureDefinitionPointPoolBuilder + .Create("PointPoolRangerDeftExplorerLanguages") + .SetGuiPresentationNoContent(true) + .SetPool(HeroDefinitions.PointsPoolType.Language, 2) + .AddToDB(), + FeatureDefinitionPointPoolBuilder + .Create( + FeatureDefinitionPointPools.PointPoolRangerSkillPoints, "PointPoolRangerDeftExplorerSkills") + .SetGuiPresentationNoContent(true) + .SetPool(HeroDefinitions.PointsPoolType.Expertise, 1) + .AddCustomSubFeatures(new TryAlterOutcomeAttributeCheckPrimalKnowledge()) + .AddToDB()) + .AddToDB(); + + private static readonly FeatureDefinitionMovementAffinity MovementAffinityRangerRoving = + FeatureDefinitionMovementAffinityBuilder + .Create("MovementAffinityRangerRoving") + .SetGuiPresentation(Category.Feature) + .SetBaseSpeedAdditiveModifier(2) + .SetClimbing(true) + .AddToDB(); + + private static readonly FeatureDefinitionPointPool PointPoolRangerExpertise = FeatureDefinitionPointPoolBuilder + .Create(FeatureDefinitionPointPools.PointPoolRangerSkillPoints, "PointPoolRangerExpertise") + .SetGuiPresentation(Category.Feature) + .SetPool(HeroDefinitions.PointsPoolType.Expertise, 2) + .AddToDB(); + + private static readonly FeatureDefinitionCombatAffinity CombatAffinityRangerPreciseHunter = + FeatureDefinitionCombatAffinityBuilder + .Create("CombatAffinityRangerPreciseHunter") + .SetGuiPresentation(Category.Feature) + .SetMyAttackAdvantage(AdvantageType.Advantage) + .SetSituationalContext(SituationalContext.TargetHasCondition, ConditionDefinitions.ConditionMarkedByHunter) + .AddToDB(); + + internal static void SwitchOneDndRangerLearnSpellCastingAtOne() + { + var level = Main.Settings.EnableRangerSpellCastingAtLevel1 ? 1 : 2; + + foreach (var featureUnlock in Ranger.FeatureUnlocks + .Where(x => x.FeatureDefinition == FeatureDefinitionCastSpells.CastSpellRanger)) + { + featureUnlock.level = level; + } + + // allows back and forth compatibility with EnableRitualOnAllCasters2024 + foreach (var featureUnlock in Ranger.FeatureUnlocks + .Where(x => x.FeatureDefinition == FeatureSetClericRitualCasting)) + { + featureUnlock.level = level; + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + + if (Main.Settings.EnableRangerSpellCastingAtLevel1) + { + FeatureDefinitionCastSpells.CastSpellRanger.slotsPerLevels = SharedSpellsContext.HalfRoundUpCastingSlots; + SharedSpellsContext.ClassCasterType[RangerClass] = + FeatureDefinitionCastSpellBuilder.CasterProgression.HalfRoundUp; + } + else + { + FeatureDefinitionCastSpells.CastSpellRanger.slotsPerLevels = SharedSpellsContext.HalfCastingSlots; + SharedSpellsContext.ClassCasterType[RangerClass] = + FeatureDefinitionCastSpellBuilder.CasterProgression.Half; + } + } + + internal static void SwitchRangerDeftExplorer() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == FeatureSetRangerDeftExplorer); + + if (Main.Settings.EnableRangerDeftExplorer2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetRangerDeftExplorer, 2)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerExpertise() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == PointPoolRangerExpertise); + + if (Main.Settings.EnableRangerExpertise2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(PointPoolRangerExpertise, 9)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerFeralSenses() + { + Ranger.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == Level20Context.SenseRangerFeralSenses || + x.FeatureDefinition == Level20Context.SenseRangerFeralSenses2024); + + Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFeralSenses2024 + ? new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses, 18) + : new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses2024, 18)); + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerFoeSlayers() + { + Ranger.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == Level20Context.FeatureFoeSlayer || + x.FeatureDefinition == Level20Context.FeatureFoeSlayer2024); + + Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFeralSenses2024 + ? new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer, 20) + : new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer2024, 20)); + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerNatureShroud() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == FeatureDefinitionPowerNatureShroud); + + if (Main.Settings.EnableRangerNatureShroud2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureDefinitionPowerNatureShroud, 14)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerPreciseHunter() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == CombatAffinityRangerPreciseHunter); + + if (Main.Settings.EnableRangerPreciseHunter2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(CombatAffinityRangerPreciseHunter, 17)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + internal static void SwitchRangerRoving() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == MovementAffinityRangerRoving); + + if (Main.Settings.EnableRangerRoving2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(MovementAffinityRangerRoving, 6)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder + .Create("PowerRangerTireless") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + internal static void SwitchRangerTireless() + { + Ranger.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == PowerRangerHideInPlainSight || + x.FeatureDefinition == PowerRangerTireless); + + Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerTireless + ? new FeatureUnlockByLevel(PowerRangerTireless, 10) + : new FeatureUnlockByLevel(PowerRangerHideInPlainSight, 10)); + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } +} diff --git a/SolastaUnfinishedBusiness/Models/Level20Context.cs b/SolastaUnfinishedBusiness/Models/Level20Context.cs index a627849a88..4a2c061aa5 100644 --- a/SolastaUnfinishedBusiness/Models/Level20Context.cs +++ b/SolastaUnfinishedBusiness/Models/Level20Context.cs @@ -18,6 +18,7 @@ using SolastaUnfinishedBusiness.Subclasses; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAdditionalDamages; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionCastSpells; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionDamageAffinitys; @@ -115,12 +116,6 @@ internal static class Level20Context .Create(PointPoolBardMagicalSecrets14, "PointPoolBardMagicalSecrets18") .AddToDB(); - internal static readonly FeatureDefinitionPower PowerWarlockEldritchMaster = FeatureDefinitionPowerBuilder - .Create(PowerWizardArcaneRecovery, PowerWarlockEldritchMasterName) - .SetGuiPresentation(Category.Feature) - .SetUsesFixed(ActivationTime.Minute1, RechargeRate.LongRest) - .AddToDB(); - internal static readonly FeatureDefinitionPower PowerSorcerousRestoration = FeatureDefinitionPowerBuilder .Create(PowerSorcerousRestorationName) .SetGuiPresentation("PowerSorcererSorcerousRestoration", Category.Feature) @@ -134,6 +129,36 @@ internal static class Level20Context .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); + internal static readonly FeatureDefinitionPower PowerWarlockEldritchMaster = FeatureDefinitionPowerBuilder + .Create(PowerWizardArcaneRecovery, PowerWarlockEldritchMasterName) + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.Minute1, RechargeRate.LongRest) + .AddToDB(); + + internal static readonly FeatureDefinitionSense SenseRangerFeralSenses = FeatureDefinitionSenseBuilder + .Create(SenseSeeInvisible12, "SenseRangerFeralSenses") + .SetGuiPresentation(Category.Feature) + .SetSense(SenseMode.Type.DetectInvisibility, 6) + .AddToDB(); + + internal static readonly FeatureDefinitionSense SenseRangerFeralSenses2024 = FeatureDefinitionSenseBuilder + .Create(SenseSeeInvisible12, "SenseRangerFeralSenses2024") + .SetGuiPresentation(Category.Feature) + .SetSense(SenseMode.Type.Blindsight, 6) + .AddToDB(); + + internal static readonly FeatureDefinition FeatureFoeSlayer = FeatureDefinitionBuilder + .Create("FeatureRangerFoeSlayer") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new ModifyWeaponAttackModeRangerFoeSlayer()) + .AddToDB(); + + internal static readonly FeatureDefinition FeatureFoeSlayer2024 = FeatureDefinitionBuilder + .Create("FeatureRangerFoeSlayer2024") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new ModifyAdditionalDamageRangerFoeSlayer2024()) + .AddToDB(); + internal static void Load() { BarbarianLoad(); @@ -407,23 +432,10 @@ private static void PaladinLoad() private static void RangerLoad() { - var senseRangerFeralSenses = FeatureDefinitionSenseBuilder - .Create(SenseSeeInvisible12, "SenseRangerFeralSenses") - .SetGuiPresentation(Category.Feature) - .SetSense(SenseMode.Type.DetectInvisibility, 6) - .AddToDB(); - - var featureFoeSlayer = FeatureDefinitionBuilder - .Create("FeatureRangerFoeSlayer") - .SetGuiPresentation(Category.Feature) - .AddToDB(); - - featureFoeSlayer.AddCustomSubFeatures(new ModifyWeaponAttackModeRangerFoeSlayer(featureFoeSlayer)); - Ranger.FeatureUnlocks.AddRange( - new FeatureUnlockByLevel(senseRangerFeralSenses, 18), + new FeatureUnlockByLevel(SenseRangerFeralSenses, 18), new FeatureUnlockByLevel(FeatureSetAbilityScoreChoice, 19), - new FeatureUnlockByLevel(featureFoeSlayer, 20) + new FeatureUnlockByLevel(FeatureFoeSlayer, 20) ); EnumerateSlotsPerLevel( @@ -1026,8 +1038,7 @@ public IEnumerator OnPhysicalAttackInitiatedOnMe( } } - private sealed class ModifyWeaponAttackModeRangerFoeSlayer(FeatureDefinition featureDefinition) - : IModifyWeaponAttackMode + private sealed class ModifyWeaponAttackModeRangerFoeSlayer : IModifyWeaponAttackMode { public void ModifyWeaponAttackMode( RulesetCharacter character, @@ -1047,8 +1058,28 @@ public void ModifyWeaponAttackMode( damage.BonusDamage += wisdomModifier; damage.DamageBonusTrends.Add( - new TrendInfo(wisdomModifier, FeatureSourceType.CharacterFeature, - featureDefinition.Name, featureDefinition)); + new TrendInfo( + wisdomModifier, FeatureSourceType.CharacterFeature, FeatureFoeSlayer.Name, FeatureFoeSlayer)); + } + } + + private sealed class ModifyAdditionalDamageRangerFoeSlayer2024 : IModifyAdditionalDamage + { + public void ModifyAdditionalDamage( + GameLocationCharacter attacker, + GameLocationCharacter defender, + RulesetAttackMode attackMode, + FeatureDefinitionAdditionalDamage featureDefinitionAdditionalDamage, + List actualEffectForms, + ref DamageForm damageForm) + { + if (featureDefinitionAdditionalDamage != AdditionalDamageHuntersMark || + attacker.RulesetCharacter.GetClassLevel(Ranger) < 20) + { + return; + } + + damageForm.dieType = DieType.D10; } } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index c70a32ebb5..6a0c8429f6 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -1,5 +1,4 @@ using System.Collections; -using System.Linq; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -7,9 +6,6 @@ using TA; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionActionAffinitys; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionMovementAffinitys; @@ -86,7 +82,14 @@ internal static void LateLoad() SwitchOneDndSpellStoneSkin(); SwitchPoisonsBonusAction(); SwitchPotionsBonusAction(); + SwitchRangerDeftExplorer(); + SwitchRangerExpertise(); + SwitchRangerFeralSenses(); + SwitchRangerFoeSlayers(); SwitchRangerNatureShroud(); + SwitchRangerPreciseHunter(); + SwitchRangerRoving(); + SwitchRangerTireless(); SwitchRogueBlindSense(); SwitchRogueCunningStrike(); SwitchRogueReliableTalent(); @@ -105,72 +108,6 @@ internal static void LateLoad() SwitchWizardSchoolOfMagicLearningLevel(); } - internal static void SwitchOneDndPaladinLearnSpellCastingAtOne() - { - var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; - - foreach (var featureUnlock in Paladin.FeatureUnlocks - .Where(x => x.FeatureDefinition == FeatureDefinitionCastSpells.CastSpellPaladin)) - { - featureUnlock.level = level; - } - - // allows back and forth compatibility with EnableRitualOnAllCasters2024 - foreach (var featureUnlock in Paladin.FeatureUnlocks - .Where(x => x.FeatureDefinition == FeatureSetClericRitualCasting)) - { - featureUnlock.level = level; - } - - Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); - - if (Main.Settings.EnablePaladinSpellCastingAtLevel1) - { - FeatureDefinitionCastSpells.CastSpellPaladin.slotsPerLevels = SharedSpellsContext.HalfRoundUpCastingSlots; - SharedSpellsContext.ClassCasterType[PaladinClass] = - FeatureDefinitionCastSpellBuilder.CasterProgression.HalfRoundUp; - } - else - { - FeatureDefinitionCastSpells.CastSpellPaladin.slotsPerLevels = SharedSpellsContext.HalfCastingSlots; - SharedSpellsContext.ClassCasterType[PaladinClass] = - FeatureDefinitionCastSpellBuilder.CasterProgression.Half; - } - } - - internal static void SwitchOneDndRangerLearnSpellCastingAtOne() - { - var level = Main.Settings.EnableRangerSpellCastingAtLevel1 ? 1 : 2; - - foreach (var featureUnlock in Ranger.FeatureUnlocks - .Where(x => x.FeatureDefinition == FeatureDefinitionCastSpells.CastSpellRanger)) - { - featureUnlock.level = level; - } - - // allows back and forth compatibility with EnableRitualOnAllCasters2024 - foreach (var featureUnlock in Ranger.FeatureUnlocks - .Where(x => x.FeatureDefinition == FeatureSetClericRitualCasting)) - { - featureUnlock.level = level; - } - - Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); - - if (Main.Settings.EnableRangerSpellCastingAtLevel1) - { - FeatureDefinitionCastSpells.CastSpellRanger.slotsPerLevels = SharedSpellsContext.HalfRoundUpCastingSlots; - SharedSpellsContext.ClassCasterType[RangerClass] = - FeatureDefinitionCastSpellBuilder.CasterProgression.HalfRoundUp; - } - else - { - FeatureDefinitionCastSpells.CastSpellRanger.slotsPerLevels = SharedSpellsContext.HalfCastingSlots; - SharedSpellsContext.ClassCasterType[RangerClass] = - FeatureDefinitionCastSpellBuilder.CasterProgression.Half; - } - } - internal static void SwitchSurprisedEnforceDisadvantage() { if (Main.Settings.EnableSurprisedToEnforceDisadvantage) @@ -188,26 +125,6 @@ internal static void SwitchSurprisedEnforceDisadvantage() } } - internal static void SwitchOneDndPaladinLayOnHandAsBonusAction() - { - PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 - ? ActivationTime.BonusAction - : ActivationTime.Action; - } - - internal static void SwitchRangerNatureShroud() - { - Ranger.FeatureUnlocks - .RemoveAll(x => x.FeatureDefinition == FeatureDefinitionPowerNatureShroud); - - if (Main.Settings.EnableRangerNatureShroud2024) - { - Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureDefinitionPowerNatureShroud, 14)); - } - - Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); - } - private sealed class CustomBehaviorFilterTargetingPositionHalfMove : IFilterTargetingPosition, IIgnoreInvisibilityInterruptionCheck { diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 9e35adf213..1b5939f100 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -295,8 +295,15 @@ public class Settings : UnityModManager.ModSettings public bool EnableFighterStudiedAttacks2024 { get; set; } public bool EnableFighterTacticalProgression2024 { get; set; } public bool AddHumanoidFavoredEnemyToRanger { get; set; } + public bool EnableRangerDeftExplorer2024 { get; set; } + public bool EnableRangerExpertise2024 { get; set; } + public bool EnableRangerFeralSenses2024 { get; set; } + public bool EnableRangerFoeSlayers2024 { get; set; } public bool EnableRangerNatureShroud2024 { get; set; } + public bool EnableRangerPreciseHunter2024 { get; set; } + public bool EnableRangerRoving2024 { get; set; } public bool EnableRangerSpellCastingAtLevel1 { get; set; } + public bool EnableRangerTireless { get; set; } public bool EnableMonkAbundantKi { get; set; } public bool EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack2024 { get; set; } public bool EnableMonkDoNotRequireAttackActionForFlurry2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 5541664eeb..1b27844e68 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=You have mastered two o Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Words of Creation Feature/&BardExpertiseExtendedDescription=Choose two of your skill proficiencies. Your proficiency bonus is doubled for any ability check you make that uses either of the chosen proficiencies. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=You have advantage on attack rolls against the creature currently marked by your Hunter's Mark. +Feature/&CombatAffinityRangerPreciseHunterTitle=Precise Hunter Feature/&EnhancedIndomitableResistanceDescription=If you fail a saving throw, you can reroll it with a bonus equal to your Fighter level. If you do so, you must use the new roll, and you can't use this feature again until you finish a long rest. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Expanded Spells @@ -116,6 +118,8 @@ Feature/&FeatureFighterTacticalMindDescription=You have a mind for tactics and g 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/&FeatureRangerFoeSlayer2024Description=The damage die of your Hunter's Mark is a d10 rather than a d6. +Feature/&FeatureRangerFoeSlayer2024Title=Foe Slayers 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. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Thanks to your travels, you gain the following benefits.\n• Expertise. Choose one of your skill proficiencies with which you lack proficiency. You gain expertise in that skill.\n• Languages. You know 2 languages of your choice. +Feature/&FeatureSetRangerDeftExplorerTitle=Deft Explorer 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Draconic Ancestry Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=Starting at the 9th level, you gain the ability to move along vertical surfaces without falling. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Unarmored Movement - Improved +Feature/&MovementAffinityRangerRovingDescription=Your speed increase by 10 ft while you aren't wearing heavy armor. You also have a climb speed equal to your speed. +Feature/&MovementAffinityRangerRovingTitle=Roving Feature/&PointPoolBarbarianPrimalKnowledgeDescription=You gain proficiency in another skill of your choice from the skill list available to Barbarians at level 1. In addition, whenever you fail one of the following ability checks: Acrobatics, Intimidation, Perception, Stealth, or Survival, you can expend one Rage usage to add your Strength modifier to the roll, potentially causing it to succeed instead. When you use this ability, your Strength represents primal power coursing through you, honing your agility, bearing, and senses. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Primal Knowledge +Feature/&PointPoolRangerExpertiseDescription=Choose two of your skill proficiencies with which you lack expertise. You gain expertise in those skills. +Feature/&PointPoolRangerExpertiseTitle=Expertise Feature/&PointPoolWizardScholarDescription=While studying magic, you also specialized in an academic field of study. Choose one of the following skills in which you have proficiency: Arcana, History, Investigation, Medicine, Nature, or Religion. You have Expertise in the chosen skill. Feature/&PointPoolWizardScholarTitle=Scholar Feature/&PowerAfterRestIdentifyDescription=Identify all magic items in inventory. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 K Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your Wisdom attribute modifier, and you regain all expended uses when you finish a long rest. Feature/&PowerRangerNatureShroudTitle=Nature's Veil +Feature/&PowerRangerTirelessDescription=As an action, you can give yourself a number of temporary HP equal to 1d8 + your Wisdom modifier (minimum of 1). You can use this action a number of times equal to your Wisdom modifier (minimum of 1), and you regain all expended uses when you finish a long rest. +Feature/&PowerRangerTirelessTitle=Tireless Feature/&PowerRogueCunningStrikeDescription=You have developed cunning ways to use your Sneak Attack. When you deal Sneak Attack damage, you can forgo Sneak Attack dice to add instead additional Cunning Strike effects. Feature/&PowerRogueCunningStrikeDisarmDescription=The target must succeed on a Dexterity saving throw, or have disadvantage on all attacks until end of its next turn. Feature/&PowerRogueCunningStrikeDisarmTitle=Disarm @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=You can perform an esoteric rite Feature/&PowerWarlockMagicalCunningTitle=Magical Cunning Feature/&RelentlessRageExtendedDescription=Your Rage can keep you fighting despite grievous wounds. If you drop to 0 Hit Points while your Rage is active and don't die outright, you can make a DC 10 Constitution saving throw. If you succeed, your Hit Points instead change to a number equal to twice your Barbarian level. Each time you use this feature after the first, the DC increases by 5. When you finish a Short or Long Rest, the DC resets to 10. Feature/&RogueSlipperyMindExtendedDescription=You have acquired greater mental strength. You gain proficiency in Wisdom and Charisma saving throws. +Feature/&SenseRangerFeralSenses2024Description=Your connection to the forces of nature grants you Blindsight with a range of 30 ft. +Feature/&SenseRangerFeralSenses2024Title=Feral Senses Feature/&ToolGainChoicesPluralDescription=Choose {0} of these tools: {1} Feature/&ToolGainChoicesSingleDescription=Choose one of these tools: {1} Feature/&VisionBlindsightDescription=You have blindsight. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 2c085f0706..3251cf18ed 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Enable drinking PotionsCasters to use new prepared spells tables [Bard, Cleric, Druid, Paladin, Ranger, Sorcerer, Wizard] ModUi/&EnableProneAction=Enable the Fall Prone action [you can fall prone at no cost] ModUi/&EnablePullPushOnVerticalDirection=Enable push and pull motion effects to also work on up/down axis -ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil feature at level 14 [as a bonus action, you can magically become invisible until start of next turn] +ModUi/&EnableRangerDeftExplorer2024=Enable Deft Explorer at level 2 +ModUi/&EnableRangerExpertise2024=Enable Expertise at level 9 +ModUi/&EnableRangerFeralSenses2024=Swap Feral Senses with 5e 2024 version +ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e 2024 version +ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil at level 14 [as a bonus action, you can magically become invisible until start of next turn] +ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 +ModUi/&EnableRangerRoving2024=Enable Roving at level 6 ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 +ModUi/&EnableRangerTireless=Enable Tireless at level 10 ModUi/&EnableRelearnSpells=Enable selection of cantrips or spells already learned from other sources ModUi/&EnableRespecAction=Enable the RESPEC after rest action [don't use RESPEC during a multiplayer session] ModUi/&EnableRitualOnAllCasters2024=Enable Ritual casting on all casters From 432e1a49a7fd5cd2604a220507cb8e15016ab1cd Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 10:55:20 -0800 Subject: [PATCH 03/42] update translations --- .../Translations/de/Others-de.txt | 15 +++++++++++++++ .../Translations/de/Settings-de.txt | 7 +++++++ .../Translations/en/Others-en.txt | 5 +++-- .../Translations/en/Settings-en.txt | 14 +++++++------- .../Translations/es/Others-es.txt | 15 +++++++++++++++ .../Translations/es/Settings-es.txt | 7 +++++++ .../Translations/fr/Others-fr.txt | 15 +++++++++++++++ .../Translations/fr/Settings-fr.txt | 7 +++++++ .../Translations/it/Others-it.txt | 15 +++++++++++++++ .../Translations/it/Settings-it.txt | 7 +++++++ .../Translations/ja/Others-ja.txt | 15 +++++++++++++++ .../Translations/ja/Settings-ja.txt | 7 +++++++ .../Translations/ko/Others-ko.txt | 15 +++++++++++++++ .../Translations/ko/Settings-ko.txt | 7 +++++++ .../Translations/pt-BR/Others-pt-BR.txt | 15 +++++++++++++++ .../Translations/pt-BR/Settings-pt-BR.txt | 7 +++++++ .../Translations/ru/Others-ru.txt | 15 +++++++++++++++ .../Translations/ru/Settings-ru.txt | 7 +++++++ .../Translations/zh-CN/Others-zh-CN.txt | 15 +++++++++++++++ .../Translations/zh-CN/Settings-zh-CN.txt | 7 +++++++ 20 files changed, 208 insertions(+), 9 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 477d4131d4..2119709ee6 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Du hast zwei der wichti Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Welten der Schöpfung Feature/&BardExpertiseExtendedDescription=Wählen Sie zwei Ihrer Fertigkeiten aus. Ihr Fertigkeitsbonus wird für jeden Fähigkeitstest verdoppelt, bei dem Sie eine der gewählten Fertigkeiten verwenden. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Sie haben einen Vorteil bei Angriffswürfen gegen die Kreatur, die aktuell mit Ihrem Jägermal gekennzeichnet ist. +Feature/&CombatAffinityRangerPreciseHunterTitle=Präziser Jäger Feature/&EnhancedIndomitableResistanceDescription=Wenn dir ein Rettungswurf misslingt, kannst du ihn mit einem Bonus wiederholen, der deiner Kämpferstufe entspricht. Wenn du das tust, musst du den neuen Wurf verwenden und kannst diese Funktion nicht erneut verwenden, bis du eine lange Pause beendet hast. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Erweiterte Zauber @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Sie haben Ihren Körper und Geist auf 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Erhöhter Stoffwechsel +Feature/&FeatureRangerFoeSlayer2024Description=Der Schadenswürfel Ihres Hunter’s Mark ist ein d10 statt eines d6. +Feature/&FeatureRangerFoeSlayer2024Title=Feindestöter Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Sie können 1 Ki-Punkt ausgeben, um als Bonusaktion zwei unbewaffnete Schläge auszuführen. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Wenn Sie „Rücksichtsloser Angriff“ verwenden, verursacht einer Ihrer Stärke-basierten Angriffswürfe, die Sie vor Ende Ihres Zuges durchführen, zusätzlich 1W10 Schaden derselben Art wie die Waffe oder der waffenlose Schlag. Zudem können Sie bei einem Treffer einen der folgenden Effekte wählen:\n• Heftiger Schlag. Das Ziel wird 15 Fuß gerade von Ihnen weggestoßen.\n• Schlag in die Kniesehne. Die Geschwindigkeit des Ziels wird bis zum Beginn Ihres nächsten Zuges um 15 Fuß reduziert. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Sie haben neue Wege für einen wütenden Angriff erlernt. Die folgenden Effekte gehören jetzt zu Ihren Optionen für Brutal Strike:\n• Staggering Blow. Das Ziel hat einen Nachteil bei seinem nächsten Rettungswurf und kann bis zum Beginn Ihres nächsten Zuges keine Gelegenheitsangriffe durchführen.\n• Sundering Blow. Ihr Schlag hinterlässt bis zum Beginn Ihres nächsten Zuges eine Lücke in der Verteidigung der Kreatur für einen Verbündeten. Der nächste Angriffswurf einer anderen Kreatur als Ihnen gegen das Ziel erhält einen Bonus von 1W10 auf Angriffs- und Schadenswurf. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Dank deiner Reisen erlangst du die folgenden Vorteile.\n• Fachwissen. Wähle eine deiner Fertigkeiten aus, die dir fehlt. Du erlangst Fachwissen in dieser Fertigkeit.\n• Sprachen. Du kennst 2 Sprachen deiner Wahl. +Feature/&FeatureSetRangerDeftExplorerTitle=Geschickter Entdecker 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Drachenabstammung Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=Ab der 9. Stufe erlangen Sie die Fähigkeit, sich an vertikalen Flächen zu bewegen, ohne zu fallen. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Ungepanzerte Bewegung - Verbessert +Feature/&MovementAffinityRangerRovingDescription=Ihre Geschwindigkeit erhöht sich um 10 Fuß, wenn Sie keine schwere Rüstung tragen. Sie haben außerdem eine Klettergeschwindigkeit, die Ihrer Geschwindigkeit entspricht. +Feature/&MovementAffinityRangerRovingTitle=Wandern Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Sie erlangen Kompetenz in einer anderen Fertigkeit Ihrer Wahl aus der Fertigkeitsliste, die Barbaren auf Stufe 1 zur Verfügung steht. Außerdem können Sie, wenn Sie einen der folgenden Fähigkeitstests nicht bestehen: Akrobatik, Einschüchterung, Wahrnehmung, Heimlichkeit oder Überleben, eine Wut-Verwendung aufwenden, um Ihren Stärkemodifikator zum Wurf hinzuzufügen, wodurch dieser möglicherweise stattdessen erfolgreich ist. Wenn Sie diese Fähigkeit verwenden, stellt Ihre Stärke eine Urkraft dar, die durch Sie fließt und Ihre Beweglichkeit, Haltung und Sinne schärft. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Ursprüngliches Wissen +Feature/&PointPoolRangerExpertiseDescription=Wählen Sie zwei Ihrer Fertigkeiten aus, in denen es Ihnen an Fachwissen mangelt. Sie erwerben Fachwissen in diesen Fertigkeiten. +Feature/&PointPoolRangerExpertiseTitle=Sachverstand Feature/&PointPoolWizardScholarDescription=Während Sie Magie studiert haben, haben Sie sich auch auf ein akademisches Studienfach spezialisiert. Wählen Sie eine der folgenden Fähigkeiten, in denen Sie sich auskennen: Arkana, Geschichte, Ermittlung, Medizin, Natur oder Religion. Sie sind Experte in der gewählten Fähigkeit. Feature/&PointPoolWizardScholarTitle=Gelehrte Feature/&PowerAfterRestIdentifyDescription=Identifizieren Sie alle magischen Gegenstände im Inventar. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Als freie Aktion können Sie 3 Ki-P Feature/&PowerMonkSuperiorDefenseTitle=Überlegene Verteidigung Feature/&PowerRangerNatureShroudDescription=Sie nutzen die Kräfte der Natur, um sich kurzzeitig vor Blicken zu verstecken. Als Bonusaktion können Sie sich bis zum Beginn Ihres nächsten Zuges auf magische Weise unsichtbar machen, zusammen mit der gesamten Ausrüstung, die Sie tragen oder bei sich haben. Sie können diese Funktion so oft verwenden, wie Ihr Weisheitsattributmodifikator es vorgibt, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Pause beenden. Feature/&PowerRangerNatureShroudTitle=Schleier der Natur +Feature/&PowerRangerTirelessDescription=Als Aktion kannst du dir eine Anzahl temporärer HP geben, die 1W8 + deinem Weisheitsmodifikator entspricht (mindestens 1). Du kannst diese Aktion so oft verwenden, wie dein Weisheitsmodifikator (mindestens 1) beträgt, und du erhältst alle verbrauchten Anwendungen zurück, wenn du eine lange Pause beendest. +Feature/&PowerRangerTirelessTitle=Unermüdlich Feature/&PowerRogueCunningStrikeDescription=Sie haben raffinierte Möglichkeiten entwickelt, Ihren Schleichangriff einzusetzen. Wenn Sie Schleichangriffsschaden verursachen, können Sie auf Schleichangriffswürfel verzichten und stattdessen zusätzliche Cunning Strike-Effekte hinzufügen. Feature/&PowerRogueCunningStrikeDisarmDescription=Das Ziel muss einen Rettungswurf für Geschicklichkeit bestehen oder ist bis zum Ende seines nächsten Zuges bei allen Angriffen im Nachteil. Feature/&PowerRogueCunningStrikeDisarmTitle=Entwaffnen @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Sie können 1 Minute lang ein eso Feature/&PowerWarlockMagicalCunningTitle=Magische List Feature/&RelentlessRageExtendedDescription=Ihre Wut kann Sie trotz schwerer Wunden weiterkämpfen lassen. Wenn Ihre Trefferpunkte auf 0 fallen, während Ihre Wut aktiv ist, und Sie nicht sofort sterben, können Sie einen Konstitutionsrettungswurf mit SG 10 machen. Wenn Sie erfolgreich sind, ändern sich Ihre Trefferpunkte stattdessen auf eine Zahl, die dem Doppelten Ihres Barbarenlevels entspricht. Jedes Mal, wenn Sie diese Funktion nach der ersten verwenden, erhöht sich der SG um 5. Wenn Sie eine kurze oder lange Ruhepause beenden, wird der SG auf 10 zurückgesetzt. Feature/&RogueSlipperyMindExtendedDescription=Sie haben größere mentale Stärke erlangt. Sie erlangen Kompetenz bei Weisheits- und Charismarettungswürfen. +Feature/&SenseRangerFeralSenses2024Description=Ihre Verbindung zu den Kräften der Natur verleiht Ihnen Blindsicht mit einer Reichweite von 30 Fuß. +Feature/&SenseRangerFeralSenses2024Title=Wilde Sinne Feature/&ToolGainChoicesPluralDescription=Wählen Sie {0} dieser Tools: {1} Feature/&ToolGainChoicesSingleDescription=Wählen Sie eines dieser Tools: {1} Feature/&VisionBlindsightDescription=Sie leiden an Blindsicht. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=Ohne Rüstung oder mit leichter Rüstung und Rules/&SituationalContext9016Format=Ist keine Effektquelle mit Nahkampfwaffe in der Haupt- oder Nebenhand: Rules/&SituationalContext9017Format=Konzentriert sich auf den Zauber: Rules/&SituationalContext9018Format=Ist Effektquelle: +Rules/&SituationalContextTargetHasConditionFormat=Ziel hat Bedingung: 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. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index f9972bf36b..4036143051 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Aktivieren Sie das Trinken von Zauberern die Verwendung neuer vorbereiteter Zaubertabellen [Barde, Kleriker, Druide, Paladin, Waldläufer, Zauberer, Magier] ModUi/&EnableProneAction=Aktivieren Sie die Aktion In die Hocke gehen [Sie können kostenlos in die Hocke gehen] ModUi/&EnablePullPushOnVerticalDirection=Aktivieren Sie Push- und Pull-Bewegungseffekte, damit diese auch auf der Auf-/Ab-Achse funktionieren +ModUi/&EnableRangerDeftExplorer2024=Aktiviere Geschickter Entdecker auf Level 2 [erwerbe eine Expertise in Ranger-Fähigkeiten und lerne 2 Sprachen] +ModUi/&EnableRangerExpertise2024=Aktiviere Expertise auf Level 9 [erhalte zwei Expertisen für Ranger-Fertigkeiten] +ModUi/&EnableRangerFeralSenses2024=Tauschen Sie Wilde Sinne gegen die 5e-Version von 2024 aus [erhalten Sie 30 Fuß Blindsicht] +ModUi/&EnableRangerFoeSlayers2024=Tauschen Sie Foe Slayer gegen die 5e 2024-Version aus [Hunter's Mark-Würfel auf d10 erhöhen] ModUi/&EnableRangerNatureShroud2024=Aktivieren Sie die Funktion Nature's Veil auf Stufe 14 [als Bonusaktion können Sie bis zum Beginn der nächsten Runde auf magische Weise unsichtbar werden] +ModUi/&EnableRangerPreciseHunter2024=Aktiviere Precise Hunter auf Level 17 [Vorteil gegenüber von Hunter markierten Kreaturen] +ModUi/&EnableRangerRoving2024=Aktivieren Sie Umherziehen auf Stufe 6 [erhalten Sie 10 Fuß Bewegung, wenn Sie keine schwere Rüstung verwenden, und dieselbe Klettergeschwindigkeit] ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. +ModUi/&EnableRangerTireless=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] ModUi/&EnableRelearnSpells=Aktivieren Sie die Auswahl von Zaubersprüchen oder Zaubersprüchen, die Sie bereits aus anderen Quellen gelernt haben. ModUi/&EnableRespecAction=Aktivieren Sie RESPEC nach der Rest-Aktion [RESPEC nicht während einer Multiplayer-Sitzung verwenden] ModUi/&EnableRitualOnAllCasters2024=Aktivieren Sie das Wirken von Ritualen für alle Zauberer. diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 1b27844e68..687fcec34c 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -118,14 +118,14 @@ Feature/&FeatureFighterTacticalMindDescription=You have a mind for tactics and g 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/&FeatureRangerFoeSlayer2024Description=The damage die of your Hunter's Mark is a d10 rather than a d6. -Feature/&FeatureRangerFoeSlayer2024Title=Foe Slayers 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Heightened Metabolism +Feature/&FeatureRangerFoeSlayer2024Description=The damage die of your Hunter's Mark is a d10 rather than a d6. +Feature/&FeatureRangerFoeSlayer2024Title=Foe Slayers Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=You can spend 1 Ki point to make two unarmed strikes as a bonus action. Feature/&FeatureSetBarbarianBrutalStrikeDescription=When you use Reckless Attack, one of your Strength-based attack rolls you make before your turn ends deals an extra 1d10 damage of the same type dealt by the weapon or Unarmed Strike, and you can also choose one of the following effects if it hits:\n• Forceful Blow. The target is pushed 15 feet straight away from you.\n• Hamstring Blow. The target's Speed is reduced by 15 feet until the start of your next turn. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=You have honed new ways to attack furiously. The following effects are now among your Brutal Strike options:\n• Staggering Blow. The target has Disadvantage on the next saving throw it makes, and it can't make Opportunity Attacks until the start of your next turn.\n• Sundering Blow. Your blow leaves an opening in the creature's defense for an ally until the start of your next turn. The next attack roll made by a creature other than you against the target gains a 1d10 bonus to attack and damage roll. @@ -373,6 +373,7 @@ Rules/&SituationalContext9015Format=Wearing no armor or light armor with two han Rules/&SituationalContext9016Format=Is not effect source with melee weapon in main or off hand: Rules/&SituationalContext9017Format=Is concentrating on spell: Rules/&SituationalContext9018Format=Is effect source: +Rules/&SituationalContextTargetHasConditionFormat=Target has condition: 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. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 3251cf18ed..743bfb6580 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -179,15 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Enable drinking PotionsCasters to use new prepared spells tables [Bard, Cleric, Druid, Paladin, Ranger, Sorcerer, Wizard] ModUi/&EnableProneAction=Enable the Fall Prone action [you can fall prone at no cost] ModUi/&EnablePullPushOnVerticalDirection=Enable push and pull motion effects to also work on up/down axis -ModUi/&EnableRangerDeftExplorer2024=Enable Deft Explorer at level 2 -ModUi/&EnableRangerExpertise2024=Enable Expertise at level 9 -ModUi/&EnableRangerFeralSenses2024=Swap Feral Senses with 5e 2024 version -ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e 2024 version +ModUi/&EnableRangerDeftExplorer2024=Enable Deft Explorer at level 2 [get one expertise on Ranger skills, and learn 2 languages] +ModUi/&EnableRangerExpertise2024=Enable Expertise at level 9 [get two expertises on Ranger skills] +ModUi/&EnableRangerFeralSenses2024=Swap Feral Senses with 5e 2024 version [get 30ft blindsight] +ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e 2024 version [increase Hunter's Mark die to d10] ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil at level 14 [as a bonus action, you can magically become invisible until start of next turn] -ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 -ModUi/&EnableRangerRoving2024=Enable Roving at level 6 +ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 [advantage against creatures marked by Hunter] +ModUi/&EnableRangerRoving2024=Enable Roving at level 6 [get 10ft movement when not using Heavy Armor, and same climb speed] ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 -ModUi/&EnableRangerTireless=Enable Tireless at level 10 +ModUi/&EnableRangerTireless=Enable Tireless at level 10 [use an action to get temporary hit points] ModUi/&EnableRelearnSpells=Enable selection of cantrips or spells already learned from other sources ModUi/&EnableRespecAction=Enable the RESPEC after rest action [don't use RESPEC during a multiplayer session] ModUi/&EnableRitualOnAllCasters2024=Enable Ritual casting on all casters diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 6f0fabc6ef..6e998c3b4a 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Has dominado dos de las Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mundos de la creación Feature/&BardExpertiseExtendedDescription=Elige dos de tus competencias de habilidad. Tu bonificación por competencia se duplica en cualquier prueba de habilidad que hagas que utilice cualquiera de las competencias elegidas. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Tienes ventaja en las tiradas de ataque contra la criatura actualmente marcada por tu Marca del Cazador. +Feature/&CombatAffinityRangerPreciseHunterTitle=Cazador preciso Feature/&EnhancedIndomitableResistanceDescription=Si fallas una tirada de salvación, puedes repetirla con una bonificación igual a tu nivel de luchador. Si lo haces, debes usar la nueva tirada y no puedes volver a usar esta característica hasta que termines un descanso prolongado. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Hechizos ampliados @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Has perfeccionado tu cuerpo y tu ment 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo aumentado +Feature/&FeatureRangerFoeSlayer2024Description=El dado de daño de tu Marca del cazador es un d10 en lugar de un d6. +Feature/&FeatureRangerFoeSlayer2024Title=Matadores de enemigos Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puedes gastar 1 punto de Ki para realizar dos ataques sin armas como acción adicional. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Cuando usas Ataque imprudente, una de tus tiradas de ataque basadas en Fuerza que realizas antes de que finalice tu turno inflige 1d10 de daño adicional del mismo tipo infligido por el arma o Golpe desarmado, y también puedes elegir uno de los siguientes efectos si golpea. :\n• Golpe contundente. El objetivo es empujado a 15 pies de distancia de usted.\n• Golpe en el tendón de la corva. La velocidad del objetivo se reduce en 15 pies hasta el comienzo de tu siguiente turno. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Has perfeccionado nuevas formas de atacar furiosamente. Los siguientes efectos ahora se encuentran entre tus opciones de Golpe brutal:\n• Golpe asombroso. El objetivo tiene Desventaja en la siguiente tirada de salvación que realiza y no puede realizar Ataques de Oportunidad hasta el comienzo de tu siguiente turno.\n• Golpe desgarrador. Tu golpe deja una apertura en la defensa de la criatura para un aliado hasta el comienzo de tu siguiente turno. La siguiente tirada de ataque realizada por una criatura que no seas tú contra el objetivo obtiene una bonificación de 1d10 a la tirada de ataque y daño. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Gracias a tus viajes, obtienes los siguientes beneficios:\n• Pericia. Elige una de tus competencias de habilidad en la que no eres competente. Obtienes pericia en esa habilidad.\n• Idiomas. Sabes 2 idiomas de tu elección. +Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Ascendencia dracónica Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partir del nivel 9, obtienes la capacidad de moverte por superficies verticales sin caerte. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimiento sin armadura - Mejorado +Feature/&MovementAffinityRangerRovingDescription=Tu velocidad aumenta 10 pies cuando no llevas armadura pesada. También tienes una velocidad de escalada igual a tu velocidad. +Feature/&MovementAffinityRangerRovingTitle=Errabundo Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Obtienes competencia en otra habilidad de tu elección de la lista de habilidades disponibles para los bárbaros en el nivel 1. Además, siempre que fallas una de las siguientes pruebas de característica: Acrobacia, Intimidación, Percepción, Sigilo o Supervivencia, puedes gastar un uso de Furia para agregar tu modificador de Fuerza a la tirada, lo que potencialmente hace que tenga éxito en su lugar. Cuando usas esta habilidad, tu Fuerza representa el poder primordial que corre por tu cuerpo, perfeccionando tu agilidad, porte y sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conocimiento primordial +Feature/&PointPoolRangerExpertiseDescription=Elige dos de tus habilidades en las que no eres experto. Ganarás experiencia en esas habilidades. +Feature/&PointPoolRangerExpertiseTitle=Pericia Feature/&PointPoolWizardScholarDescription=Mientras estudiabas magia, también te especializaste en un campo académico de estudio. Elige una de las siguientes habilidades en las que tienes competencia: Arcanos, Historia, Investigación, Medicina, Naturaleza o Religión. Tienes Pericia en la habilidad elegida. Feature/&PointPoolWizardScholarTitle=Erudito Feature/&PowerAfterRestIdentifyDescription=Identifica todos los objetos mágicos en el inventario. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gasta Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte de la vista durante un breve período. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o que lleves encima, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu modificador de atributo Sabiduría, y recuperas todos los usos gastados cuando terminas un descanso prolongado. Feature/&PowerRangerNatureShroudTitle=El velo de la naturaleza +Feature/&PowerRangerTirelessDescription=Como acción, puedes darte una cantidad de HP temporal igual a 1d8 + tu modificador de Sabiduría (mínimo de 1). Puedes usar esta acción una cantidad de veces igual a tu modificador de Sabiduría (mínimo de 1), y recuperas todos los usos gastados cuando terminas un descanso prolongado. +Feature/&PowerRangerTirelessTitle=Incansable Feature/&PowerRogueCunningStrikeDescription=Has desarrollado formas astutas de usar tu ataque furtivo. Cuando infliges daño con un ataque furtivo, puedes prescindir de los dados de ataque furtivo para añadir en su lugar efectos adicionales de golpe astuto. Feature/&PowerRogueCunningStrikeDisarmDescription=El objetivo debe tener éxito en una tirada de salvación de Destreza, o tendrá desventaja en todos los ataques hasta el final de su siguiente turno. Feature/&PowerRogueCunningStrikeDisarmTitle=Desarmar @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Puedes realizar un rito esotéric Feature/&PowerWarlockMagicalCunningTitle=Astucia mágica Feature/&RelentlessRageExtendedDescription=Tu Furia puede hacer que sigas luchando a pesar de las graves heridas que recibas. Si tus Puntos de Golpe caen a 0 mientras tu Furia está activa y no mueres directamente, puedes hacer una tirada de salvación de Constitución CD 10. Si tienes éxito, tus Puntos de Golpe cambian a un número igual al doble de tu nivel de Bárbaro. Cada vez que uses esta característica después de la primera, la CD aumenta en 5. Cuando terminas un Descanso Corto o Largo, la CD se reinicia a 10. Feature/&RogueSlipperyMindExtendedDescription=Has adquirido mayor fuerza mental. Ganas competencia en tiradas de salvación de Sabiduría y Carisma. +Feature/&SenseRangerFeralSenses2024Description=Tu conexión con las fuerzas de la naturaleza te otorga Vista ciega con un alcance de 30 pies. +Feature/&SenseRangerFeralSenses2024Title=Sentidos salvajes Feature/&ToolGainChoicesPluralDescription=Elija {0} de estas herramientas: {1} Feature/&ToolGainChoicesSingleDescription=Elija una de estas herramientas: {1} Feature/&VisionBlindsightDescription=Tienes visión ciega. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=Sin armadura o con armadura ligera y con un Rules/&SituationalContext9016Format=No hay fuente de efecto con arma cuerpo a cuerpo en la mano principal o secundaria: Rules/&SituationalContext9017Format=Se concentra en el hechizo: Rules/&SituationalContext9018Format=¿Es la fuente del efecto?: +Rules/&SituationalContextTargetHasConditionFormat=El objetivo tiene condición: 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. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 67aee8a7fb..bd90d28e51 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Habilitar beber Pocioneslanzadores de conjuros utilicen las nuevas tablas de conjuros preparadas [Bardo, Clérigo, Druida, Paladín, Explorador, Hechicero, Mago] ModUi/&EnableProneAction=Habilita la acción Caer boca abajo [puedes caer boca abajo sin costo] ModUi/&EnablePullPushOnVerticalDirection=Habilite los efectos de movimiento de empujar y tirar para que funcionen también en el eje arriba/abajo +ModUi/&EnableRangerDeftExplorer2024=Habilita Explorador hábil en el nivel 2 [obtén una experiencia en habilidades de explorador y aprende 2 idiomas] +ModUi/&EnableRangerExpertise2024=Habilita la Experiencia en el nivel 9 [obtén dos especializaciones en habilidades de Explorador] +ModUi/&EnableRangerFeralSenses2024=Intercambia Sentidos salvajes con la versión 5e 2024 [obtén visión ciega de 30 pies] +ModUi/&EnableRangerFoeSlayers2024=Intercambia Asesino de enemigos con la versión 5e 2024 [aumenta el dado Marca del cazador a d10] ModUi/&EnableRangerNatureShroud2024=Habilita la característica Velo de la Naturaleza en el nivel 14 [como acción adicional, puedes volverte invisible mágicamente hasta el comienzo del siguiente turno] +ModUi/&EnableRangerPreciseHunter2024=Habilita Cazador preciso en el nivel 17 [ventaja contra criaturas marcadas por Cazador] +ModUi/&EnableRangerRoving2024=Habilita Roving en el nivel 6 [obtén 10 pies de movimiento cuando no uses armadura pesada y la misma velocidad de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 +ModUi/&EnableRangerTireless=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] 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/&EnableRitualOnAllCasters2024=Habilitar el lanzamiento de Ritual para todos los lanzadores diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 4c49a74f5b..684be56870 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Vous maîtrisez deux de Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mondes de la Création Feature/&BardExpertiseExtendedDescription=Choisissez deux de vos compétences de maîtrise. Votre bonus de maîtrise est doublé pour tout test de caractéristique que vous effectuez qui utilise l'une des compétences choisies. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Vous bénéficiez d'un avantage sur les jets d'attaque contre la créature actuellement marquée par votre Marque du Chasseur. +Feature/&CombatAffinityRangerPreciseHunterTitle=Chasseur précis Feature/&EnhancedIndomitableResistanceDescription=Si vous ratez un jet de sauvegarde, vous pouvez le relancer avec un bonus égal à votre niveau de Combattant. Dans ce cas, vous devez utiliser le nouveau jet et vous ne pouvez pas utiliser cette fonction à nouveau avant d'avoir terminé un repos long. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Sorts étendus @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Vous avez perfectionné votre corps e 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Métabolisme accru +Feature/&FeatureRangerFoeSlayer2024Description=Le dé de dégâts de votre Marque du Chasseur est un d10 plutôt qu'un d6. +Feature/&FeatureRangerFoeSlayer2024Title=Tueurs d'ennemis Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Vous pouvez dépenser 1 point Ki pour effectuer deux attaques à mains nues en tant qu'action bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Lorsque vous utilisez Attaque imprudente, l'un de vos jets d'attaque basés sur la Force que vous effectuez avant la fin de votre tour inflige 1d10 dégâts supplémentaires du même type infligé par l'arme ou la Frappe à mains nues, et vous pouvez également choisir l'un des effets suivants s'il touche :\n• Coup puissant. La cible est poussée à 15 pieds tout droit de vous.\n• Coup aux ischio-jambiers. La vitesse de la cible est réduite de 15 pieds jusqu'au début de votre prochain tour. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Vous avez perfectionné de nouvelles façons d'attaquer furieusement. Les effets suivants font désormais partie de vos options de Frappe brutale :\n• Coup stupéfiant. La cible a un désavantage lors du prochain jet de sauvegarde qu'elle effectue, et elle ne peut pas effectuer d'attaques d'opportunité avant le début de votre prochain tour.\n• Coup tranchant. Votre coup laisse une ouverture dans la défense de la créature pour un allié jusqu'au début de votre prochain tour. Le prochain jet d'attaque effectué par une créature autre que vous contre la cible bénéficie d'un bonus de 1d10 aux jets d'attaque et de dégâts. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grâce à vos voyages, vous obtenez les avantages suivants.\n• Expertise. Choisissez l'une de vos compétences que vous ne maîtrisez pas suffisamment. Vous obtenez une expertise dans cette compétence.\n• Langues. Vous connaissez 2 langues de votre choix. +Feature/&FeatureSetRangerDeftExplorerTitle=Explorateur habile 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Ascendance draconique Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=À partir du niveau 9, vous acquérez la capacité de vous déplacer sur des surfaces verticales sans tomber. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Mouvement sans armure - Amélioré +Feature/&MovementAffinityRangerRovingDescription=Votre vitesse augmente de 10 pieds lorsque vous ne portez pas d'armure lourde. Vous avez également une vitesse de montée égale à votre vitesse. +Feature/&MovementAffinityRangerRovingTitle=Itinérant Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Vous gagnez la maîtrise d'une autre compétence de votre choix dans la liste des compétences disponibles pour les barbares au niveau 1. De plus, chaque fois que vous échouez à l'un des tests de caractéristique suivants : Acrobaties, Intimidation, Perception, Discrétion ou Survie, vous pouvez dépenser une utilisation de Rage pour ajouter votre modificateur de Force au jet, ce qui peut potentiellement le faire réussir. Lorsque vous utilisez cette capacité, votre Force représente une puissance primitive qui vous traverse, perfectionnant votre agilité, votre allure et vos sens. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Connaissance primordiale +Feature/&PointPoolRangerExpertiseDescription=Choisissez deux de vos compétences dans lesquelles vous manquez d'expertise. Vous acquerrez une expertise dans ces compétences. +Feature/&PointPoolRangerExpertiseTitle=Compétence Feature/&PointPoolWizardScholarDescription=Pendant que vous étudiez la magie, vous vous êtes également spécialisé dans un domaine d'études académiques. Choisissez l'une des compétences suivantes dans lesquelles vous avez une maîtrise : Arcanes, Histoire, Investigation, Médecine, Nature ou Religion. Vous avez une expertise dans la compétence choisie. Feature/&PointPoolWizardScholarTitle=Savant Feature/&PowerAfterRestIdentifyDescription=Identifiez tous les objets magiques dans l'inventaire. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=En tant qu'action libre, vous pouve Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher temporairement de la vue. En tant qu'action bonus, vous pouvez devenir invisible par magie, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur d'attribut Sagesse, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. Feature/&PowerRangerNatureShroudTitle=Le voile de la nature +Feature/&PowerRangerTirelessDescription=En tant qu'action, vous pouvez vous octroyer un nombre de PV temporaire égal à 1d8 + votre modificateur de Sagesse (minimum de 1). Vous pouvez utiliser cette action un nombre de fois égal à votre modificateur de Sagesse (minimum de 1), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. +Feature/&PowerRangerTirelessTitle=Infatigable Feature/&PowerRogueCunningStrikeDescription=Vous avez développé des moyens astucieux pour utiliser votre Attaque sournoise. Lorsque vous infligez des dégâts d'Attaque sournoise, vous pouvez renoncer aux dés d'Attaque sournoise pour ajouter à la place des effets de Frappe sournoise supplémentaires. Feature/&PowerRogueCunningStrikeDisarmDescription=La cible doit réussir un jet de sauvegarde de Dextérité ou avoir un désavantage sur toutes les attaques jusqu'à la fin de son prochain tour. Feature/&PowerRogueCunningStrikeDisarmTitle=Désarmer @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Vous pouvez effectuer un rite és Feature/&PowerWarlockMagicalCunningTitle=Ruse magique Feature/&RelentlessRageExtendedDescription=Votre Rage peut vous permettre de continuer à vous battre malgré de graves blessures. Si vous tombez à 0 point de vie alors que votre Rage est active et que vous ne mourez pas sur le coup, vous pouvez effectuer un jet de sauvegarde de Constitution DD 10. Si vous réussissez, vos points de vie se transforment en un nombre égal à deux fois votre niveau de barbare. Chaque fois que vous utilisez cette capacité après la première, le DD augmente de 5. Lorsque vous terminez un Repos court ou long, le DD revient à 10. Feature/&RogueSlipperyMindExtendedDescription=Vous avez acquis une plus grande force mentale. Vous maîtrisez les jets de sauvegarde de Sagesse et de Charisme. +Feature/&SenseRangerFeralSenses2024Description=Votre connexion aux forces de la nature vous confère une vision aveugle d'une portée de 30 pieds. +Feature/&SenseRangerFeralSenses2024Title=Sens sauvages Feature/&ToolGainChoicesPluralDescription=Choisissez {0} de ces outils : {1} Feature/&ToolGainChoicesSingleDescription=Choisissez l'un de ces outils : {1} Feature/&VisionBlindsightDescription=Vous avez la vision aveugle. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=Ne portant aucune armure ou une armure lég Rules/&SituationalContext9016Format=N'est pas la source de l'effet avec l'arme de mêlée dans la main principale ou secondaire : Rules/&SituationalContext9017Format=Se concentre sur le sort : Rules/&SituationalContext9018Format=La source de l'effet est : +Rules/&SituationalContextTargetHasConditionFormat=La cible a la condition : 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. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 10b1f9955d..9d12c6dfc7 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Activer la consommation de po ModUi/&EnablePreparedSpellsTables2024=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/&EnableProneAction=Activer l'action Tomber à plat ventre [vous pouvez tomber à plat ventre sans frais] ModUi/&EnablePullPushOnVerticalDirection=Activez les effets de mouvement de poussée et de traction pour qu'ils fonctionnent également sur l'axe haut/bas +ModUi/&EnableRangerDeftExplorer2024=Activez Deft Explorer au niveau 2 [obtenez une expertise sur les compétences de Ranger et apprenez 2 langues] +ModUi/&EnableRangerExpertise2024=Activer Expertise au niveau 9 [obtenir deux expertises sur les compétences de Ranger] +ModUi/&EnableRangerFeralSenses2024=Échangez Sens sauvages avec la version 5e 2024 [obtenez une vision aveugle de 30 pieds] +ModUi/&EnableRangerFoeSlayers2024=Remplacez Foe Slayer par la version 5e 2024 [augmentez le dé de marque du chasseur à d10] ModUi/&EnableRangerNatureShroud2024=Activez la fonction Voile de la nature au niveau 14 [en tant qu'action bonus, vous pouvez devenir invisible par magie jusqu'au début du prochain tour] +ModUi/&EnableRangerPreciseHunter2024=Activer Chasseur précis au niveau 17 [avantage contre les créatures marquées par Chasseur] +ModUi/&EnableRangerRoving2024=Activez Roving au niveau 6 [obtenez un mouvement de 10 pieds lorsque vous n'utilisez pas d'armure lourde et la même vitesse de montée] ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 +ModUi/&EnableRangerTireless=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] 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/&EnableRitualOnAllCasters2024=Activer le lancement de rituel sur tous les lanceurs de sorts diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 0b2f4373fc..02fdedba39 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Hai padroneggiato due d Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mondi della creazione Feature/&BardExpertiseExtendedDescription=Scegli due delle tue competenze in abilità. Il tuo bonus di competenza è raddoppiato per ogni controllo di abilità che fai che usa una delle competenze scelte. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Hai vantaggio sui tiri per colpire contro la creatura attualmente contrassegnata dal tuo Marchio del Cacciatore. +Feature/&CombatAffinityRangerPreciseHunterTitle=Cacciatore preciso Feature/&EnhancedIndomitableResistanceDescription=Se fallisci un tiro salvezza, puoi rilanciarlo con un bonus pari al tuo livello da Guerriero. Se lo fai, devi usare il nuovo tiro e non puoi usare di nuovo questa caratteristica finché non finisci un riposo lungo. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Incantesimi espansi @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Hai affinato il tuo corpo e la tua me 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo intensificato +Feature/&FeatureRangerFoeSlayer2024Description=Il dado di danno del tuo Marchio del Cacciatore è un d10 anziché un d6. +Feature/&FeatureRangerFoeSlayer2024Title=Cacciatori di nemici Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puoi spendere 1 punto Ki per effettuare due colpi senz'armi come azione bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando usi Attacco Spericolato, uno dei tuoi tiri di attacco basati sulla Forza che effettui prima della fine del tuo turno infligge 1d10 danni extra dello stesso tipo inflitti dall'arma o dal Colpo Senz'Armi, e puoi anche scegliere uno dei seguenti effetti se colpisce:\n• Colpo Vigoroso. Il bersaglio viene spinto di 15 piedi lontano da te.\n• Colpo al tendine del ginocchio. La Velocità del bersaglio viene ridotta di 15 piedi fino all'inizio del tuo turno successivo. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Hai perfezionato nuovi modi per attaccare furiosamente. I seguenti effetti sono ora tra le tue opzioni Brutal Strike:\n• Staggering Blow. Il bersaglio ha Svantaggio al prossimo tiro salvezza che effettua e non può effettuare Attacchi di Opportunità fino all'inizio del tuo prossimo turno.\n• Sundering Blow. Il tuo colpo lascia un'apertura nella difesa della creatura per un alleato fino all'inizio del tuo prossimo turno. Il prossimo tiro di attacco effettuato da una creatura diversa da te contro il bersaglio ottiene un bonus di 1d10 al tiro per colpire e per i danni. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grazie ai tuoi viaggi, ottieni i seguenti vantaggi.\n• Competenza. Scegli una delle tue competenze in cui non sei competente. Ottieni competenza in quella competenza.\n• Lingue. Conosci 2 lingue a tua scelta. +Feature/&FeatureSetRangerDeftExplorerTitle=Esploratore abile 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Ascendenza draconica Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partire dal 9° livello, ottieni la capacità di muoverti lungo superfici verticali senza cadere. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimento senza armatura - Migliorato +Feature/&MovementAffinityRangerRovingDescription=La tua velocità aumenta di 10 piedi mentre non indossi un'armatura pesante. Hai anche una velocità di salita pari alla tua velocità. +Feature/&MovementAffinityRangerRovingTitle=Vagabondare Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Ottieni competenza in un'altra abilità a tua scelta dall'elenco delle abilità disponibili per i Barbari al livello 1. Inoltre, ogni volta che fallisci una delle seguenti prove di abilità: Acrobazia, Intimidazione, Percezione, Furtività o Sopravvivenza, puoi spendere un utilizzo di Rage per aggiungere il tuo modificatore di Strength al tiro, potenzialmente facendolo invece riuscire. Quando usi questa abilità, la tua Strength rappresenta il potere primordiale che scorre attraverso di te, affinando la tua agilità, il tuo portamento e i tuoi sensi. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conoscenza primordiale +Feature/&PointPoolRangerExpertiseDescription=Scegli due delle tue competenze di abilità in cui non hai esperienza. Acquisisci esperienza in quelle abilità. +Feature/&PointPoolRangerExpertiseTitle=Competenza Feature/&PointPoolWizardScholarDescription=Mentre studiavi magia, ti sei anche specializzato in un campo di studio accademico. Scegli una delle seguenti abilità in cui hai competenza: Arcana, Storia, Investigazione, Medicina, Natura o Religione. Hai competenza nell'abilità scelta. Feature/&PointPoolWizardScholarTitle=Studioso Feature/&PowerAfterRestIdentifyDescription=Identifica tutti gli oggetti magici presenti nell'inventario. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento tu stia indossando o trasportando, fino all'inizio del tuo turno successivo. Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di attributo Saggezza e recuperi tutti gli usi spesi quando termini un riposo lungo. Feature/&PowerRangerNatureShroudTitle=Velo della natura +Feature/&PowerRangerTirelessDescription=Come azione, puoi darti un numero di HP temporanei pari a 1d8 + il tuo modificatore di Saggezza (minimo 1). Puoi usare questa azione un numero di volte pari al tuo modificatore di Saggezza (minimo 1) e recuperi tutti gli utilizzi spesi quando termini un riposo lungo. +Feature/&PowerRangerTirelessTitle=Instancabile Feature/&PowerRogueCunningStrikeDescription=Hai sviluppato dei modi astuti per usare il tuo Attacco furtivo. Quando infliggi danni da Attacco furtivo, puoi rinunciare ai dadi da Attacco furtivo per aggiungere invece effetti aggiuntivi di Colpo furtivo. Feature/&PowerRogueCunningStrikeDisarmDescription=Il bersaglio deve superare un tiro salvezza su Destrezza, altrimenti avrà svantaggio a tutti gli attacchi fino alla fine del suo turno successivo. Feature/&PowerRogueCunningStrikeDisarmTitle=Disarmare @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Puoi eseguire un rito esoterico p Feature/&PowerWarlockMagicalCunningTitle=Astuzia magica Feature/&RelentlessRageExtendedDescription=La tua Furia può farti continuare a combattere nonostante le ferite gravi. Se scendi a 0 Punti Ferita mentre la tua Furia è attiva e non muori sul colpo, puoi effettuare un tiro salvezza su Costituzione con CD 10. Se ci riesci, i tuoi Punti Ferita cambiano invece in un numero pari al doppio del tuo livello da Barbaro. Ogni volta che usi questa caratteristica dopo la prima, la CD aumenta di 5. Quando finisci un Riposo Breve o Lungo, la CD torna a 10. Feature/&RogueSlipperyMindExtendedDescription=Hai acquisito una maggiore forza mentale. Ottieni competenza nei tiri salvezza su Saggezza e Carisma. +Feature/&SenseRangerFeralSenses2024Description=La tua connessione con le forze della natura ti garantisce la Vista cieca con una gittata di 30 piedi. +Feature/&SenseRangerFeralSenses2024Title=Sensi selvaggi Feature/&ToolGainChoicesPluralDescription=Scegli {0} di questi strumenti: {1} Feature/&ToolGainChoicesSingleDescription=Scegli uno di questi strumenti: {1} Feature/&VisionBlindsightDescription=Hai la vista cieca. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=Senza armatura o con armatura leggera e con Rules/&SituationalContext9016Format=Non è una fonte di effetti con l'arma da mischia nella mano principale o secondaria: Rules/&SituationalContext9017Format=Si sta concentrando sull'incantesimo: Rules/&SituationalContext9018Format=L'effetto è la fonte: +Rules/&SituationalContextTargetHasConditionFormat=Il bersaglio ha la condizione: 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. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 74111ccdb5..5e86cf1731 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Abilita bere Pozioni ModUi/&EnablePreparedSpellsTables2024=Abilita tutti i incantatori a usare le nuove tabelle degli incantesimi preparati [Bardo, Chierico, Druido, Paladino, Ranger, Stregone, Mago] ModUi/&EnableProneAction=Abilita l'azione Cadi prono [puoi cadere prono senza alcun costo] ModUi/&EnablePullPushOnVerticalDirection=Abilita gli effetti di movimento push e pull per funzionare anche sull'asse su/giù +ModUi/&EnableRangerDeftExplorer2024=Abilita Esploratore esperto al livello 2 [ottieni una competenza nelle abilità Ranger e impara 2 lingue] +ModUi/&EnableRangerExpertise2024=Abilita Competenza al livello 9 [ottieni due competenze sulle abilità Ranger] +ModUi/&EnableRangerFeralSenses2024=Sostituisci Sensi selvaggi con la versione 5e 2024 [ottieni vista cieca a 30 piedi] +ModUi/&EnableRangerFoeSlayers2024=Sostituisci Foe Slayer con la versione 5e 2024 [aumenta il dado del Marchio del Cacciatore a d10] ModUi/&EnableRangerNatureShroud2024=Abilita la funzione Velo della Natura al livello 14 [come azione bonus, puoi diventare magicamente invisibile fino all'inizio del turno successivo] +ModUi/&EnableRangerPreciseHunter2024=Abilita Cacciatore Preciso al livello 17 [vantaggio contro le creature contrassegnate dal Cacciatore] +ModUi/&EnableRangerRoving2024=Abilita Vagabondare al livello 6 [ottieni 10 piedi di movimento quando non usi un'armatura pesante e la stessa velocità di salita] ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 +ModUi/&EnableRangerTireless=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] 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/&EnableRitualOnAllCasters2024=Abilita il lancio di Rituale su tutti gli incantatori diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index db4f851787..d7ecb2a917 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=あなたは創造の Feature/&AutoPreparedSpellsBardWordOfCreationTitle=創造の世界 Feature/&BardExpertiseExtendedDescription=技能熟練度を 2 つ選択します。選択した熟練度のいずれかを使用する能力チェックでは、熟練度ボーナスが 2 倍になります。 Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=あなたは、現在ハンターズ マークによってマークされているクリーチャーに対する攻撃ロールにアドバンテージを得ます。 +Feature/&CombatAffinityRangerPreciseHunterTitle=精密ハンター Feature/&EnhancedIndomitableResistanceDescription=セーヴィング スローに失敗した場合は、ファイター レベルに等しいボーナスを獲得して再ロールできます。その場合は、新しいロールを使用する必要があり、長い休憩が終了するまでこの機能を再度使用することはできません。 Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=拡張された呪文 @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=あなたは肉体と精神を新た Feature/&FeatureMonkBodyAndMindTitle=体と心 Feature/&FeatureMonkHeightenedMetabolismDescription=あなたのトレーニングはあなたの体と心を新たなレベルに押し上げました。 Flurry of Blows、Patient Defense、Step of the Wind には次の利点があります:\n• Flurry of Blows: Flurry of Blows を使用すると、素手攻撃を 2 回ではなく 3 回行うことができます。\n• 患者の防御: 患者の防御を使用すると、格闘技ダイスの 2 ロールに等しい一時的なヒット ポイントを獲得します。\n• 風のステップ: 風のステップの機能 (離脱またはダッシュ) を使用すると、他の効果の恩恵も受けます。 Feature/&FeatureMonkHeightenedMetabolismTitle=代謝の向上 +Feature/&FeatureRangerFoeSlayer2024Description=ハンターズマークのダメージダイスは d6 ではなく d10 です。 +Feature/&FeatureRangerFoeSlayer2024Title=敵スレイヤー Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=ボーナス アクションとして、1 Ki ポイントを消費して素手攻撃を 2 回行うことができます。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=無謀な攻撃を使用する場合、ターン終了前に行う力ベースの攻撃ロールの 1 つが、武器または素手攻撃によって与えられるのと同じタイプに追加の 1d10 ダメージを与えます。また、それがヒットした場合は、次の効果のいずれかを選択することもできます。 :\n• 力強い打撃。ターゲットはあなたから 15 フィート真っ直ぐに押し出されます。\n・ハムストリングブロー。次のターンの開始まで、ターゲットの速度が 15 フィート減少します。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=あなたは猛烈に攻撃するための新しい方法を磨きました。以下の効果がブルータル ストライクのオプションに追加されました:\n• よろめきの一撃。ターゲットは次に行うセーヴィング スローにディスアドバンテージを持ち、次のターンの開始時までオポチュニティ アタックを行うことができません。\n• サンダー ブロー。あなたの打撃は、次のターンの開始まで、味方のクリーチャーの防御に隙を残します。あなた以外のクリーチャーがターゲットに対して行う次の攻撃ロールは、攻撃ロールとダメージロールに1d10のボーナスを得る。 @@ -136,6 +140,8 @@ Feature/&FeatureSetDruidPrimalOrderTitle=原始秩序 Feature/&FeatureSetDruidPrimalOrderWardenDescription=戦闘の訓練を受け、あなたは格闘武器の熟練度と中型鎧の訓練を習得します。 Feature/&FeatureSetDruidPrimalOrderWardenTitle=ウォーデン Feature/&FeatureSetRageExtendedDescription=戦闘では、根源的な凶暴性で戦います。自分のターンでは、ボーナス アクションとして激怒を入力できます。これにより、体力のセーブとチェックで有利になり、近接攻撃のダメージに最初の +2 ボーナスが与えられ、斬撃、殴打、突き刺しのダメージに対する耐性が得られます。これらの利点は、重装備を着用していない場合にのみ得られます。 1 分間持続するか、最後のターン以降に攻撃やダメージを受けていない場合は終了します。\n 2 つの激怒から始まり、長い休息の後に更新されます。レベル 7 では、短い休憩の後、怒りポイントが 1 回復します。 +Feature/&FeatureSetRangerDeftExplorerDescription=旅のおかげで、あなたは以下の利益を得ます。\n• 専門知識。あなたが熟達していないスキルの 1 つを選択します。そのスキルの専門知識を得ます。\n• 言語。あなたが選択した 2 つの言語を習得します。 +Feature/&FeatureSetRangerDeftExplorerTitle=巧みな探検家 Feature/&FeatureSetSorcererSorceryIncarnateDescription=生来の魔術の使用回数が残っていない場合、それを起動するためのボーナス アクションを実行するときに 2 魔術ポイントを消費すると、それを使用できます。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔術の化身 Feature/&FeatureSorcererArcaneApotheosisDescription=生来の魔術機能がアクティブな間、魔術ポイントを消費せずに、各ターンに 1 つのメタマジック オプションを使用できます。 @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=竜の祖先 Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=9 レベルからは、落下せずに垂直面に沿って移動できるようになります。 Feature/&MonkAlternateUnarmoredMovementImprovedTitle=非装甲の動き - 改善されました +Feature/&MovementAffinityRangerRovingDescription=重装甲を着用していない間、移動速度が 10 フィート増加します。また、移動速度と同じ速度で登攀できます。 +Feature/&MovementAffinityRangerRovingTitle=ロービング Feature/&PointPoolBarbarianPrimalKnowledgeDescription=レベル 1 でバーバリアンが使用できるスキル リストから選択した別のスキルに習熟します。さらに、アクロバット、威圧、知覚、ステルス、または生存のいずれかの能力チェックに失敗するたびに、怒りの使用量を 1 回消費して、ロールに筋力修正値を追加し、代わりに成功させる可能性があります。この能力を使用するとき、筋力はあなたに流れる原始的な力を表し、敏捷性、態度、および感覚を磨きます。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始的な知識 +Feature/&PointPoolRangerExpertiseDescription=専門知識が不足しているスキルの熟練度を 2 つ選択します。それらのスキルの専門知識を獲得します。 +Feature/&PointPoolRangerExpertiseTitle=専門知識 Feature/&PointPoolWizardScholarDescription=魔法を研究する一方で、学術研究の分野にも特化しました。熟練している以下のスキルのうち 1 つを選択してください: 神秘学、歴史、調査、医学、自然、宗教。選択したスキルに専門知識があります。 Feature/&PointPoolWizardScholarTitle=学者 Feature/&PowerAfterRestIdentifyDescription=インベントリ内のすべての魔法のアイテムを識別します。 @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着用または所持している装備とともに魔法的に透明になることができます。この特徴は、あなたの「知恵」属性の修正値に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 Feature/&PowerRangerNatureShroudTitle=自然のベール +Feature/&PowerRangerTirelessDescription=アクションとして、1d8 + 知恵修正値 (最小 1) に等しい数の一時的な HP を自分に与えることができます。このアクションは、知恵修正値 (最小 1) に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 +Feature/&PowerRangerTirelessTitle=疲れ知らず Feature/&PowerRogueCunningStrikeDescription=あなたはスニークアタックを使用する狡猾な方法を開発しました。 Sneak Attack ダメージを与えるとき、Sneak Attack ダイスを無視して、代わりに追加の Cunning Strike 効果を追加することができます。 Feature/&PowerRogueCunningStrikeDisarmDescription=ターゲットは、器用さのセーヴィング・スローに成功するか、次のターンの終わりまですべての攻撃で不利になる必要があります。 Feature/&PowerRogueCunningStrikeDisarmTitle=武装解除 @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=1 分間、秘教的な儀式を Feature/&PowerWarlockMagicalCunningTitle=魔法の狡猾さ Feature/&RelentlessRageExtendedDescription=激怒があれば、重傷を負っても戦い続けることができます。激怒が発動している間にヒット ポイントが 0 になっても即死しなかった場合、DC 10 の Constitution セーヴィング スローを行うことができます。成功した場合、ヒット ポイントは代わりにバーバリアン レベルの 2 倍に等しい数値に変わります。この機能を 2 回目以降使用するたびに、DC は 5 増加します。小休憩または大休憩を終了すると、DC は 10 にリセットされます。 Feature/&RogueSlipperyMindExtendedDescription=あなたはより大きな精神力を獲得しました。あなたは知恵と魅力のセーヴィング スローに習熟しました。 +Feature/&SenseRangerFeralSenses2024Description=自然の力とのつながりにより、30 フィートの範囲の盲視が付与されます。 +Feature/&SenseRangerFeralSenses2024Title=野生の感覚 Feature/&ToolGainChoicesPluralDescription=次のツールから {0} 個を選択してください: {1} Feature/&ToolGainChoicesSingleDescription=次のツールのいずれかを選択します: {1} Feature/&VisionBlindsightDescription=あなたは盲目です。 @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=鎧を着ていないか、両手のクォ Rules/&SituationalContext9016Format=メインまたはオフハンドの近接武器の効果ソースではありません: Rules/&SituationalContext9017Format=呪文に集中しています: Rules/&SituationalContext9018Format=効果源: +Rules/&SituationalContextTargetHasConditionFormat=ターゲットには条件があります: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=ソーサリーポイントをソーサラーレベルの半分まで回復します(切り捨て)。 Rules/&TurnOccurenceEndOfSourceTurnFormat=ターンの終了元 Screen/&CharacterInspectionModeBattleUnlimitedTitle=1 ラウンドあたり無制限のインベントリ アクションを実行できます。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 1828342633..8cf90ddb95 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=ボーナスアクションとしてキャスター が新しい準備済み呪文テーブル [吟遊詩人、聖職者、ドルイド、パラディン、レンジャー、ソーサラー、ウィザード] を使用できるようにします。 ModUi/&EnableProneAction=うつ伏せになるアクションを有効にする [コストをかけずにうつ伏せになることができます] ModUi/&EnablePullPushOnVerticalDirection=プッシュとプルのモーション効果を上下軸でも有効にします +ModUi/&EnableRangerDeftExplorer2024=レベル 2 で Deft Explorer を有効にする [レンジャー スキルの専門知識を 1 つ取得し、言語を 2 つ習得します] +ModUi/&EnableRangerExpertise2024=レベル 9 で 専門知識 を有効にする [レンジャー スキルに関する専門知識を 2 つ取得] +ModUi/&EnableRangerFeralSenses2024=Feral Senses を 5e 2024 バージョンの [30 フィートの盲視力を得る] と入れ替えます +ModUi/&EnableRangerFoeSlayers2024=Foe Slayer を 5e 2024 バージョンの [Hunter's Mark ダイスを d10 に増加] と入れ替えます ModUi/&EnableRangerNatureShroud2024=レベル 14 で 自然のベール 機能を有効にします [ボーナス アクションとして、次のターンの開始時まで魔法で透明になることができます] +ModUi/&EnableRangerPreciseHunter2024=レベル 17 で 精密ハンター を有効にする [ハンターによってマークされたクリーチャーに対して有利] +ModUi/&EnableRangerRoving2024=レベル 6 で 移動 を有効にする [重装甲を使用していないときに 10 フィート移動し、同じ登攀速度を得る] ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする +ModUi/&EnableRangerTireless=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] ModUi/&EnableRelearnSpells=他のソースからすでに学習したキャントリップや呪文を選択できるようにする ModUi/&EnableRespecAction=休憩アクション後に RESPEC を有効にします [マルチプレイヤーセッション中は RESPEC を使用しないでください] ModUi/&EnableRitualOnAllCasters2024=すべてのキャスターに儀式の詠唱を有効にする diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 8d1d9087c6..29f3fc766f 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=당신은 창조의 두 Feature/&AutoPreparedSpellsBardWordOfCreationTitle=창조의 세계 Feature/&BardExpertiseExtendedDescription=두 가지 기술 숙련도를 선택하세요. 선택한 숙련도 중 하나를 사용하는 능력 검사에 대해 숙련도 보너스가 두 배가 됩니다. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=사냥꾼의 표식으로 현재 표시된 생물에 대한 공격 굴림에서 유리합니다. +Feature/&CombatAffinityRangerPreciseHunterTitle=정확한 사냥꾼 Feature/&EnhancedIndomitableResistanceDescription=내성 굴림에 실패하면 파이터 레벨과 동일한 보너스를 받아 다시 굴릴 수 있습니다. 그럴 경우 새 롤을 사용해야 하며, 긴 휴식을 마칠 때까지 이 기능을 다시 사용할 수 없습니다. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=확장된 주문 @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=당신은 몸과 마음을 새로운 Feature/&FeatureMonkBodyAndMindTitle=몸과 마음 Feature/&FeatureMonkHeightenedMetabolismDescription=당신의 훈련은 당신의 몸과 마음을 새로운 수준으로 끌어 올렸습니다. Flurry of Blows, Patient Defense 및 Step of the Wind는 다음과 같은 이점을 얻습니다.\n• Flurry of Blows: Flurry of Blows를 사용하면 2번이 아닌 3번의 비무장 공격이 가능합니다.\n• 환자 방어 : 환자 방어를 사용하면 무술 주사위 굴림 2개에 해당하는 임시 체력을 얻습니다.\n• 바람의 발걸음: 바람의 발걸음 기능(해제 또는 돌진)을 사용하면 다른 효과의 이점도 얻습니다. Feature/&FeatureMonkHeightenedMetabolismTitle=강화된 신진대사 +Feature/&FeatureRangerFoeSlayer2024Description=사냥꾼의 표식의 데미지 주사위는 d6이 아닌 d10입니다. +Feature/&FeatureRangerFoeSlayer2024Title=적을 죽이는 자 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=보너스 행동으로 1 Ki 포인트를 사용하여 두 번의 비무장 공격을 할 수 있습니다. Feature/&FeatureSetBarbarianBrutalStrikeDescription=무모한 공격을 사용할 때, 턴이 끝나기 전에 하는 힘 기반 공격 굴림 중 하나는 무기나 비무장 타격이 가하는 동일한 유형의 추가 1d10 피해를 입히고, 적중할 경우 다음 효과 중 하나를 선택할 수도 있습니다. :\n• 강력한 타격. 목표물은 당신에게서 직선으로 15피트 떨어진 곳으로 밀려납니다.\n• 햄스트링 블로우. 다음 턴이 시작될 때까지 대상의 속도가 15피트만큼 감소합니다. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=당신은 맹렬하게 공격하는 새로운 방법을 연마했습니다. 이제 Brutal Strike 옵션에는 다음과 같은 효과가 있습니다.\n• Staggering Blow. 대상은 다음 내성 굴림에 불이익을 받으며 다음 턴이 시작될 때까지 기회 공격을 할 수 없습니다.\n• Sundering Blow. 당신의 타격은 당신의 다음 턴이 시작될 때까지 아군을 위해 생물의 방어에 틈을 남깁니다. 당신이 아닌 생물이 목표에 대해 행하는 다음 공격 굴림은 공격 굴림과 피해 굴림에 1d10의 보너스를 얻습니다. @@ -136,6 +140,8 @@ Feature/&FeatureSetDruidPrimalOrderTitle=원초적 순서 Feature/&FeatureSetDruidPrimalOrderWardenDescription=전투 훈련을 받으면 무술 무기를 능숙하게 다루고 중갑옷을 다루는 훈련을 받습니다. Feature/&FeatureSetDruidPrimalOrderWardenTitle=파수꾼 Feature/&FeatureSetRageExtendedDescription=전투에서는 원시적인 잔인함으로 싸웁니다. 자신의 차례에 보너스 행동으로 분노를 입력할 수 있습니다. 이를 통해 힘 세이브 및 체크에 이점을 부여하고 근접 공격 데미지에 초기 +2 보너스를 부여하며 슬래시, 곤봉 및 관통 데미지에 대한 저항력을 부여합니다. 무거운 갑옷을 입지 않은 경우에만 이러한 이점을 얻을 수 있습니다. 1분 동안 지속되거나 마지막 턴 이후 공격을 받거나 피해를 입지 않은 경우 종료됩니다.\n 2개의 분노로 시작하고 오랜 휴식 후 갱신됩니다. 레벨 7에서는 잠시 휴식을 취한 후 분노 포인트 1을 회복합니다. +Feature/&FeatureSetRangerDeftExplorerDescription=여행 덕분에 다음과 같은 혜택을 얻습니다.\n• 전문성. 능숙하지 않은 기술 중 하나를 선택합니다. 해당 기술에 대한 전문성을 얻습니다.\n• 언어. 선택한 언어 2개를 알고 있습니다. +Feature/&FeatureSetRangerDeftExplorerTitle=데프트 탐험가 Feature/&FeatureSetSorcererSorceryIncarnateDescription=선천적 마법을 더 이상 사용할 수 없다면, 보너스 액션을 취해 활성화할 때 마법 포인트 2개를 사용하면 사용할 수 있습니다. Feature/&FeatureSetSorcererSorceryIncarnateTitle=마법의 화신 Feature/&FeatureSorcererArcaneApotheosisDescription=선천적 마법 기능이 활성화되어 있는 동안에는 각 턴에 마법 포인트를 소모하지 않고도 메타매직 옵션 하나를 사용할 수 있습니다. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=용의 조상 Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=9레벨부터, 당신은 떨어지지 않고 수직 표면을 따라 이동할 수 있는 능력을 얻습니다. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=비무장 이동 - 개선됨 +Feature/&MovementAffinityRangerRovingDescription=무거운 갑옷을 입지 않을 때 속도가 10피트 증가합니다. 또한 속도와 같은 등반 속도를 갖습니다. +Feature/&MovementAffinityRangerRovingTitle=로빙 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=1레벨의 야만인이 사용할 수 있는 기술 목록에서 선택한 다른 기술에 능숙해집니다. 또한, 곡예, 위협, 지각, 은신 또는 생존 중 하나에서 실패할 때마다 분노 사용량을 하나 사용하여 힘 수정치를 굴림에 추가하여 대신 성공할 가능성이 있습니다. 이 능력을 사용할 때 힘은 당신을 통해 흐르는 원초적인 힘을 나타내며 민첩성, 자세, 감각을 연마합니다. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=원초적 지식 +Feature/&PointPoolRangerExpertiseDescription=전문성이 부족한 두 가지 기술 능력을 선택하세요. 그 기술에 대한 전문성을 얻게 됩니다. +Feature/&PointPoolRangerExpertiseTitle=전문적 지식 Feature/&PointPoolWizardScholarDescription=마법을 공부하는 동안 당신은 학문적 연구 분야를 전문으로 했습니다. 당신이 능숙한 다음 기술 중 하나를 선택하세요: Arcana, History, Investigation, Medicine, Nature 또는 Religion. 당신은 선택한 기술에 전문성을 가지고 있습니다. Feature/&PointPoolWizardScholarTitle=학자 Feature/&PowerAfterRestIdentifyDescription=인벤토리에 있는 모든 마법 아이템을 식별하세요. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포 Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 Feature/&PowerRangerNatureShroudDescription=자연의 힘을 빌려 잠시 동안 시야에서 숨습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 착용하거나 휴대하는 모든 장비와 함께 마법처럼 보이지 않게 될 수 있습니다. 이 기능은 지혜 속성 수정치와 같은 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 소모한 모든 사용 횟수를 회복합니다. Feature/&PowerRangerNatureShroudTitle=자연의 베일 +Feature/&PowerRangerTirelessDescription=행동으로, 당신은 1d8 + 당신의 지혜 수정치(최소 1)에 해당하는 수의 일시적 HP를 자신에게 줄 수 있습니다. 당신은 이 행동을 당신의 지혜 수정치(최소 1)에 해당하는 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 사용된 모든 사용 횟수를 회복합니다. +Feature/&PowerRangerTirelessTitle=지칠 줄 모르는 Feature/&PowerRogueCunningStrikeDescription=당신은 몰래 공격을 사용하는 교활한 방법을 개발했습니다. 은밀한 공격 피해를 입힐 때 은밀한 공격 주사위 대신 추가 교활한 일격 효과를 추가할 수 있습니다. Feature/&PowerRogueCunningStrikeDisarmDescription=대상은 민첩 내성 굴림에 성공해야 하며, 그렇지 않으면 다음 턴이 끝날 때까지 모든 공격에 불이익을 받습니다. Feature/&PowerRogueCunningStrikeDisarmTitle=무장해제 @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=1분 동안 비전 의식을 수 Feature/&PowerWarlockMagicalCunningTitle=마법의 교활함 Feature/&RelentlessRageExtendedDescription=당신의 분노는 심각한 상처에도 불구하고 당신을 계속 싸울 수 있게 해줍니다. 분노가 활성화된 상태에서 체력이 0으로 떨어지고 바로 죽지 않으면, DC 10 체력 구원 굴림을 할 수 있습니다. 성공하면 체력은 대신 야만인 레벨의 두 배에 해당하는 숫자로 변경됩니다. 첫 번째 이후에 이 기능을 사용할 때마다 DC가 5씩 증가합니다. 짧은 휴식이나 긴 휴식을 마치면 DC가 10으로 재설정됩니다. Feature/&RogueSlipperyMindExtendedDescription=당신은 더 큰 정신력을 얻었습니다. 당신은 지혜와 카리스마 세이빙 스로우에 능숙해집니다. +Feature/&SenseRangerFeralSenses2024Description=자연의 힘과의 연결로 인해 30피트 범위의 블라인드사이트를 얻을 수 있습니다. +Feature/&SenseRangerFeralSenses2024Title=야생의 감각 Feature/&ToolGainChoicesPluralDescription=다음 도구 중 {0}개를 선택하세요: {1} Feature/&ToolGainChoicesSingleDescription=다음 도구 중 하나를 선택하십시오: {1} Feature/&VisionBlindsightDescription=당신은 시력이 없습니다. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=갑옷을 입지 않거나 양손 육척봉 Rules/&SituationalContext9016Format=주손 또는 보조 손에 근접 무기가 있는 효과 소스가 아닙니다. Rules/&SituationalContext9017Format=주문에 집중하고 있습니다: Rules/&SituationalContext9018Format=효과의 원천은 다음과 같습니다: +Rules/&SituationalContextTargetHasConditionFormat=대상에는 다음과 같은 조건이 있습니다: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=마법사 레벨의 절반까지 마법 포인트를 회복합니다(반올림). Rules/&TurnOccurenceEndOfSourceTurnFormat=턴의 최종 소스 Screen/&CharacterInspectionModeBattleUnlimitedTitle=라운드당 무제한으로 인벤토리 작업을 수행할 수 있습니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index de63e970b3..40720689ae 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=보너스 액션으로 물약 ModUi/&EnablePreparedSpellsTables2024=모든 주문자가 새로 준비된 주문표 [바드, 성직자, 드루이드, 성기사, 레인저, 마법사, 마법사]를 사용할 수 있도록 합니다. ModUi/&EnableProneAction=엎드려 넘어짐 동작을 활성화하세요 [비용 없이 엎드려 넘어질 수 있습니다] ModUi/&EnablePullPushOnVerticalDirection=위/아래 축에서도 푸시 및 풀 모션 효과를 작동하도록 설정 +ModUi/&EnableRangerDeftExplorer2024=레벨 2에서 탐험가 기민함 활성화 [레인저 기술 전문 지식 1개 획득, 언어 2개 학습] +ModUi/&EnableRangerExpertise2024=레벨 9에서 전문성을 활성화하세요 [레인저 기술 전문성 2개 획득] +ModUi/&EnableRangerFeralSenses2024=야생의 감각을 5e 2024 버전으로 바꾸세요 [30피트 실명 시야 확보] +ModUi/&EnableRangerFoeSlayers2024=적 처치자를 5e 2024 버전으로 바꾸세요 [사냥꾼의 표식 주사위를 d10으로 증가] ModUi/&EnableRangerNatureShroud2024=레벨 14에서 자연의 베일 기능을 활성화합니다. [보너스 액션으로 다음 턴이 시작될 때까지 마법으로 투명해질 수 있습니다.] +ModUi/&EnableRangerPreciseHunter2024=레벨 17에서 정밀 사냥꾼을 활성화합니다. [사냥꾼이 표시한 생물에 대한 이점] +ModUi/&EnableRangerRoving2024=레벨 6에서 이동 가능 [중갑옷을 착용하지 않을 때 10피트 이동 가능, 동일한 등반 속도] ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. +ModUi/&EnableRangerTireless=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] ModUi/&EnableRelearnSpells=다른 출처에서 이미 배운 주문이나 주문 선택 가능 ModUi/&EnableRespecAction=휴식 동작 후 RESPEC 활성화 [멀티플레이어 세션 동안 RESPEC 사용하지 마세요] ModUi/&EnableRitualOnAllCasters2024=모든 시전자에 의식 시전 활성화 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index b21a245d11..92d5a22074 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Você dominou duas das Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mundos da Criação Feature/&BardExpertiseExtendedDescription=Escolha duas de suas proficiências de perícia. Seu bônus de proficiência é dobrado para qualquer teste de habilidade que você fizer que use qualquer uma das proficiências escolhidas. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Você tem vantagem em jogadas de ataque contra a criatura atualmente marcada pela sua Marca do Caçador. +Feature/&CombatAffinityRangerPreciseHunterTitle=Caçador Preciso Feature/&EnhancedIndomitableResistanceDescription=Se você falhar em um teste de resistência, você pode refazê-lo com um bônus igual ao seu nível de Guerreiro. Se fizer isso, você deve usar o novo teste, e você não pode usar esse recurso novamente até terminar um descanso longo. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Feitiços Expandidos @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Você afiou seu corpo e mente a novos 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo Acelerado +Feature/&FeatureRangerFoeSlayer2024Description=O dado de dano da sua Marca do Caçador é um d10 em vez de um d6. +Feature/&FeatureRangerFoeSlayer2024Title=Matadores de Inimigos Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Você pode gastar 1 ponto de Ki para fazer dois ataques desarmados como uma ação bônus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando você usa Ataque Imprudente, uma de suas jogadas de ataque baseadas em Força que você fizer antes do seu turno terminar causa 1d10 de dano extra do mesmo tipo causado pela arma ou Ataque Desarmado, e você também pode escolher um dos seguintes efeitos se ele acertar:\n• Golpe Forçado. O alvo é empurrado 15 pés para longe de você.\n• Golpe no Tendão. A Velocidade do alvo é reduzida em 15 pés até o início do seu próximo turno. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Você aprimorou novas maneiras de atacar furiosamente. Os seguintes efeitos agora estão entre suas opções de Ataque Brutal:\n• Golpe Atordoante. O alvo tem Desvantagem no próximo teste de resistência que fizer e não pode fazer Ataques de Oportunidade até o início do seu próximo turno.\n• Golpe Destruidor. Seu golpe deixa uma abertura na defesa da criatura para um aliado até o início do seu próximo turno. A próxima jogada de ataque feita por uma criatura que não seja você contra o alvo ganha um bônus de 1d10 para jogadas de ataque e dano. @@ -136,6 +140,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Graças às suas viagens, você ganha os seguintes benefícios.\n• Expertise. Escolha uma das suas proficiências de habilidade com a qual você não tem proficiência. Você ganha expertise nessa habilidade.\n• Idiomas. Você sabe 2 idiomas de sua escolha. +Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil 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. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Ancestralidade Dracônic Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partir do 9º nível, você ganha a habilidade de se mover em superfícies verticais sem cair. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimento sem armadura - Melhorado +Feature/&MovementAffinityRangerRovingDescription=Sua velocidade aumenta em 10 pés enquanto você não estiver usando armadura pesada. Você também tem uma velocidade de escalada igual à sua velocidade. +Feature/&MovementAffinityRangerRovingTitle=Itinerante Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Você ganha proficiência em outra perícia de sua escolha da lista de perícias disponível para Bárbaros no nível 1. Além disso, sempre que você falhar em um dos seguintes testes de habilidade: Acrobacia, Intimidação, Percepção, Furtividade ou Sobrevivência, você pode gastar um uso de Fúria para adicionar seu modificador de Força à rolagem, potencialmente fazendo com que ela seja bem-sucedida. Quando você usa essa habilidade, sua Força representa poder primordial fluindo através de você, aprimorando sua agilidade, porte e sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conhecimento Primordial +Feature/&PointPoolRangerExpertiseDescription=Escolha duas de suas proficiências de habilidade com as quais você não tem expertise. Você ganha expertise nessas habilidades. +Feature/&PointPoolRangerExpertiseTitle=Especialização Feature/&PointPoolWizardScholarDescription=Enquanto estudava magia, você também se especializou em um campo acadêmico de estudo. Escolha uma das seguintes perícias nas quais você tem proficiência: Arcana, História, Investigação, Medicina, Natureza ou Religião. Você tem Perícia na perícia escolhida. Feature/&PointPoolWizardScholarTitle=Estudioso Feature/&PowerAfterRestIdentifyDescription=Identifique todos os itens mágicos no inventário. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode g Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior Feature/&PowerRangerNatureShroudDescription=Você usa os poderes da natureza para se esconder brevemente da vista. Como uma ação bônus, você pode magicamente se tornar invisível, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar essa habilidade um número de vezes igual ao seu modificador de atributo Sabedoria, e você recupera todos os usos gastos quando termina um descanso longo. Feature/&PowerRangerNatureShroudTitle=Véu da Natureza +Feature/&PowerRangerTirelessDescription=Como uma ação, você pode dar a si mesmo um número de HP temporários igual a 1d8 + seu modificador de Sabedoria (mínimo de 1). Você pode usar esta ação um número de vezes igual ao seu modificador de Sabedoria (mínimo de 1), e você recupera todos os usos gastos quando termina um descanso longo. +Feature/&PowerRangerTirelessTitle=Incansável Feature/&PowerRogueCunningStrikeDescription=Você desenvolveu maneiras astutas de usar seu Ataque Furtivo. Quando você causa dano de Ataque Furtivo, você pode abrir mão dos dados de Ataque Furtivo para adicionar efeitos adicionais de Ataque Astuto. Feature/&PowerRogueCunningStrikeDisarmDescription=O alvo deve ser bem-sucedido em um teste de resistência de Destreza ou terá desvantagem em todos os ataques até o final do próximo turno. Feature/&PowerRogueCunningStrikeDisarmTitle=Desarmar @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Você pode realizar um rito esot Feature/&PowerWarlockMagicalCunningTitle=Astúcia Mágica Feature/&RelentlessRageExtendedDescription=Sua Fúria pode mantê-lo lutando apesar de ferimentos graves. Se você cair para 0 Pontos de Vida enquanto sua Fúria estiver ativa e não morrer imediatamente, você pode fazer um teste de resistência de Constituição CD 10. Se você for bem-sucedido, seus Pontos de Vida mudam para um número igual ao dobro do seu nível de Bárbaro. Cada vez que você usa esse recurso após o primeiro, a CD aumenta em 5. Quando você termina um Descanso Curto ou Longo, a CD é redefinida para 10. Feature/&RogueSlipperyMindExtendedDescription=Você adquiriu maior força mental. Você ganha proficiência em testes de resistência de Sabedoria e Carisma. +Feature/&SenseRangerFeralSenses2024Description=Sua conexão com as forças da natureza lhe concede Visão às Cegas com um alcance de 9 metros. +Feature/&SenseRangerFeralSenses2024Title=Sentidos selvagens Feature/&ToolGainChoicesPluralDescription=Escolha {0} destas ferramentas: {1} Feature/&ToolGainChoicesSingleDescription=Escolha uma destas ferramentas: {1} Feature/&VisionBlindsightDescription=Você tem visão cega. @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=Sem armadura ou com armadura leve e com caja Rules/&SituationalContext9016Format=Não é fonte de efeito com arma corpo a corpo na mão principal ou secundária: Rules/&SituationalContext9017Format=Está se concentrando no feitiço: Rules/&SituationalContext9018Format=É fonte de efeito: +Rules/&SituationalContextTargetHasConditionFormat=O alvo tem condição: 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. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index cb636255fb..75476b90c5 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Habilitar beber PoçõesConjuradores usem novas tabelas de magias preparadas [Bardo, Clérigo, Druida, Paladino, Patrulheiro, Feiticeiro, Mago] ModUi/&EnableProneAction=Habilite a ação Cair de bruços [você pode cair de bruços sem nenhum custo] ModUi/&EnablePullPushOnVerticalDirection=Habilitar efeitos de movimento de empurrar e puxar para também funcionarem no eixo para cima/baixo +ModUi/&EnableRangerDeftExplorer2024=Habilite Explorador Hábil no nível 2 [obtenha uma especialização em habilidades de Patrulheiro e aprenda 2 idiomas] +ModUi/&EnableRangerExpertise2024=Habilite Expertise no nível 9 [obtenha duas expertises em habilidades de Ranger] +ModUi/&EnableRangerFeralSenses2024=Troque Sentidos Feral pela versão 5e 2024 [obtenha visão cega de 30 pés] +ModUi/&EnableRangerFoeSlayers2024=Troque Foe Slayer pela versão 5e 2024 [aumente o dado Hunter's Mark para d10] ModUi/&EnableRangerNatureShroud2024=Habilite o recurso Véu da Natureza no nível 14 [como uma ação bônus, você pode magicamente ficar invisível até o início do próximo turno] +ModUi/&EnableRangerPreciseHunter2024=Habilitar Caçador Preciso no nível 17 [vantagem contra criaturas marcadas por Caçador] +ModUi/&EnableRangerRoving2024=Habilite Roving no nível 6 [obtenha 10 pés de movimento quando não estiver usando armadura pesada e a mesma velocidade de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 +ModUi/&EnableRangerTireless=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] 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/&EnableRitualOnAllCasters2024=Habilitar a conjuração de Ritual em todos os conjuradores diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 6c9949e878..6252228cd4 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Вы освоили д Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Слова творения Feature/&BardExpertiseExtendedDescription=Выберите 2 навыка из тех, которыми вы владеете. Ваш бонус мастерства для этих навыков удваивается. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=Вы имеете преимущество при атаке против существа, отмеченного вашей Меткой Охотника. +Feature/&CombatAffinityRangerPreciseHunterTitle=Точный Охотник Feature/&EnhancedIndomitableResistanceDescription=Вы можете перебросить проваленный спасбросок с бонусом, равным вашему уровню Воина, и должны использовать новый результат. После этого вы можете повторно использовать это умение только после завершения продолжительного отдыха. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Расширенные заклинания @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=Вы развили свои тело Feature/&FeatureMonkBodyAndMindTitle=Тело и разум Feature/&FeatureMonkHeightenedMetabolismDescription=Ваши тренировки вывели ваши тело и разум на новый уровень. Ваши умения Шквал ударов, Терпеливая оборона и Поступь ветра получают следующие преимущества:\n• Шквал ударов: Когда вы используете Шквал ударов, вы наносите три безоружных удара вместо двух.\n• Терпеливая оборона: Когда вы используете Терпеливую оборону, вы получаете количество временных хитов, равное броску двух ваших костей боевых искусств.\n• Поступь ветра: Когда вы используете одно из действий с помощью Поступи ветра (Отход или Рывок), вы также получаете преимущества другого из них. Feature/&FeatureMonkHeightenedMetabolismTitle=Повышенный метаболизм +Feature/&FeatureRangerFoeSlayer2024Description=Кубик урона вашей Метки Охотника — d10, а не d6. +Feature/&FeatureRangerFoeSlayer2024Title=Убийцы врагов Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Вы можете потратить 1 очко ци, чтобы бонусным действием совершить два безоружных удара. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Когда вы используете Безрассудную атаку, один из ваших бросков атаки, основанный на Силе, который вы совершаете до конца хода, наносит дополнительно 1d10 урона того же типа, что и оружие или Безоружный удар, вы также можете выбрать один из следующих эффектов, если попадаете:\n• Сильный удар. Цель отталкивается от вас на 15 футов.\n• Удар по сухожилиям. Скорость цели уменьшается на 15 футов до начала вашего следующего хода. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Вы отточили новые возможности яростной атаки. Теперь среди вариантов Жестокого удара есть следующие эффекты:\n• Ошеломляющий удар. Цель получает помеху на следующий спасбросок и не может совершать атаки по возможности до начала вашего следующего хода.\n• Раскалывающий удар. Ваш удар оставляет брешь в обороне существа до начала вашего следующего хода. Следующий бросок атаки по цели, совершённый существом, отличным от вас, получает бонус 1d10 к броскам атаки и урона. @@ -136,6 +140,8 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Первобытный порядок Feature/&FeatureSetDruidPrimalOrderWardenDescription=Обучившись сражениям, вы получаете владения воинским оружием и средней бронёй. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. +Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря путешествиям вы получаете следующие преимущества.\n• Экспертиза. Выберите один из навыков, которым вам не хватает мастерства. Вы получаете экспертизу в этом навыке.\n• Языки. Вы знаете 2 языка по своему выбору. +Feature/&FeatureSetRangerDeftExplorerTitle=Искусный исследователь Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства Feature/&FeatureSorcererArcaneApotheosisDescription=Пока активна ваша способность Врождённое чародейство, один раз за ход вы можете использовать один вариант Метамагии без затрат единиц чародейства. @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Наследие дра Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=На 9-м уровне вы получаете возможность в свой ход перемещаться по вертикальным поверхностям, не падая во время движения. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Улучшенное движение без доспехов +Feature/&MovementAffinityRangerRovingDescription=Ваша скорость увеличивается на 10 футов, пока вы не носите тяжелую броню. У вас также есть скорость подъема, равная вашей скорости. +Feature/&MovementAffinityRangerRovingTitle=Ровинг Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Вы получаете владение дополнительным навыком по вашему выбору из списка навыков, доступных Варвару на 1-м уровне. Кроме того, каждый раз, когда вы проваливаете одну из следующих проверок характеристик: Акробатика, Запугивание, Восприятие, Скрытность или Выживание, вы можете потратить один заряд ярости, чтобы добавить к броску модификатор вашей Силы, что может привести к успеху. Когда вы используете эту способность, ваша Сила олицетворяет первобытную мощь, текущую через вас, совершенствуя вашу ловкость, стойкость и чувства. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Первобытное знание +Feature/&PointPoolRangerExpertiseDescription=Выберите два из ваших навыков, в которых вам не хватает опыта. Вы приобретаете опыт в этих навыках. +Feature/&PointPoolRangerExpertiseTitle=Экспертиза Feature/&PointPoolWizardScholarDescription=Изучая магию, вы также специализировались в научной сфере исследований. Выберите один из следующих навыков, которым вы владеете: Магия, История, Расследование, Медицина, Природа или Религия. Вы получаете компетентность в выбранном навыке. Feature/&PointPoolWizardScholarTitle=Учёный Feature/&PowerAfterRestIdentifyDescription=Опознайте все магические предметы в инвентаре. @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Свободным действие Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса +Feature/&PowerRangerTirelessDescription=В качестве действия вы можете дать себе некоторое количество временных HP, равное 1d8 + ваш модификатор Мудрости (минимум 1). Вы можете использовать это действие количество раз, равное вашему модификатору Мудрости (минимум 1), и вы восстановите все потраченные использования, когда закончите продолжительный отдых. +Feature/&PowerRangerTirelessTitle=Неутомимый Feature/&PowerRogueCunningStrikeDescription=Вы разработали хитрые способы использования Скрытой атаки. Когда вы наносите урон Скрытой атакой, вы можете отказаться от костей Скрытой атаки, чтобы добавить вместо этого дополнительные эффекты Хитрого удара. Feature/&PowerRogueCunningStrikeDisarmDescription=Цель должна преуспеть в спасброске Ловкости или получит помеху на все атаки до конца своего следующего хода. Feature/&PowerRogueCunningStrikeDisarmTitle=Разоружить @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=Вы можете провест Feature/&PowerWarlockMagicalCunningTitle=Магическая хитрость Feature/&RelentlessRageExtendedDescription=Ваша ярость позволяет вам сражаться, несмотря на тяжелейшие раны. Если ваши хиты опускаются до 0, когда вы в состоянии ярости, и вы не умерли сразу, вы можете совершить спасбросок Телосложения Сл 10. При успехе ваши хиты вместо этого меняются до удвоенного значения вашего уровня Варвара. Каждый раз, когда вы используете это умение повторно, Сл спасброска повышается на 5. Когда вы закончите короткий либо продолжительный отдых, Сл снова равняется 10. Feature/&RogueSlipperyMindExtendedDescription=Вы увеличиваете силу мышления. Вы получаете владение спасбросками Мудрости и Харизмы. +Feature/&SenseRangerFeralSenses2024Description=Ваша связь с силами природы дарует вам способность «Слепое зрение» с радиусом действия 30 футов. +Feature/&SenseRangerFeralSenses2024Title=Дикие чувства Feature/&ToolGainChoicesPluralDescription=Выберите {0} из этих инструментов: {1} Feature/&ToolGainChoicesSingleDescription=Выберите один из этих инструментов: {1} Feature/&VisionBlindsightDescription=Вы обладаете слепым зрением. @@ -359,6 +373,7 @@ Rules/&SituationalContext9015Format=Не носит брони, либо тол Rules/&SituationalContext9016Format=Не является источником эффекта с рукопашным оружием в одной из рук: Rules/&SituationalContext9017Format=Концентрируется на заклинании: Rules/&SituationalContext9018Format=Источник эффекта: +Rules/&SituationalContextTargetHasConditionFormat=Цель имеет состояние: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Восстановить единицы чародейства до половины вашего уровня Чародея с округлением вниз Rules/&TurnOccurenceEndOfSourceTurnFormat=Конец источника хода Screen/&CharacterInspectionModeBattleUnlimitedTitle=Вы можете производить неограниченное количество действий с инвентарём в свой раунд. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index b6fccabd63..ebb1eefeae 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=Включить использование ModUi/&EnablePreparedSpellsTables2024=Включить всем Заклинателям использовать новые таблицы подготовленных заклинаний [Бард, Жрец, Друид, Паладин, Следопыт, Чародей, Волшебник] ModUi/&EnableProneAction=Включить действие Упасть ничком [вы можете упасть ничком без затрат каких-либо действий] ModUi/&EnablePullPushOnVerticalDirection=Включить работу эффектов толкания и притяжения по вертикальным осям +ModUi/&EnableRangerDeftExplorer2024=Включите Ловкий исследователь на уровне 2 [получите одну экспертизу по навыкам рейнджера и выучите 2 языка] +ModUi/&EnableRangerExpertise2024=Включить Экспертизу на уровне 9 [получить две экспертизы по навыкам рейнджера] +ModUi/&EnableRangerFeralSenses2024=Поменяйте Feral Senses на версию 5e 2024 [получите 30-футовое слепое зрение] +ModUi/&EnableRangerFoeSlayers2024=Поменяйте Убийцу врагов на версию 5e 2024 [увеличите кубик Метки охотника до d10] ModUi/&EnableRangerNatureShroud2024=Включить умение Природная завеса на уровне 14 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода] +ModUi/&EnableRangerPreciseHunter2024=Включить Точный Охотник на уровне 17 [преимущество против существ, отмеченных Охотником] +ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го +ModUi/&EnableRangerTireless=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] ModUi/&EnableRelearnSpells=Включить возможность выбирать заговоры или заклинания, уже известные из других источников ModUi/&EnableRespecAction=Включить возможность РЕСПЕКа после отдыха [не используйте РЕСПЕК в многопользовательских сессиях] ModUi/&EnableRitualOnAllCasters2024=Включить Ритуальное колдовство для всех заклинателей diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 0d13083f4a..f8054da9d5 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -101,6 +101,8 @@ Feature/&AutoPreparedSpellsBardWordOfCreationDescription=您已掌握了两个 Feature/&AutoPreparedSpellsBardWordOfCreationTitle=创造世界 Feature/&BardExpertiseExtendedDescription=选择两项技能熟练度。使用所选熟练度之一进行的任何能力检定,您的熟练度奖励都会翻倍。 Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n +Feature/&CombatAffinityRangerPreciseHunterDescription=你在对当前被你的猎人印记标记的生物进行攻击检定时具有优势。 +Feature/&CombatAffinityRangerPreciseHunterTitle=精准猎人 Feature/&EnhancedIndomitableResistanceDescription=如果你的豁免检定失败,你可以重骰该豁免并获得等于你的战士等级的加值。不过你必须采用重掷的结果。你必须完成一次长休才能再次使用该特性。 Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=扩展法术 @@ -122,6 +124,8 @@ Feature/&FeatureMonkBodyAndMindDescription=你行满功成,身心性命皆已 Feature/&FeatureMonkBodyAndMindTitle=身心合一 Feature/&FeatureMonkHeightenedMetabolismDescription=你的训练已将你的身与心推至全新境界。你的疾风连击、坚强防御和飞檐走壁将获得以下好处:\n• 疾风连击:使用疾风连击时,你可以进行三次徒手攻击,而不是两次。\n• 坚强防御:使用坚强防御时,你将获得临时生命值,数量等于你掷出的两枚武艺骰。\n• 飞檐走壁:使用任一飞檐走壁特性(撤离或疾走)时,你还会获得其他效果的好处。 Feature/&FeatureMonkHeightenedMetabolismTitle=出神入化 +Feature/&FeatureRangerFoeSlayer2024Description=猎人印记的伤害骰子是 d10,而不是 d6。 +Feature/&FeatureRangerFoeSlayer2024Title=仇敌屠戮者 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=你可以消耗 1 点气,以一个附赠动作进行两次徒手打击。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=当你使用鲁莽攻击时,你在回合结束前进行的一次基于力量的攻击检定会造成与武器或徒手打击所造成的相同类型的额外 1d10 伤害,并且如果击中,你还可以选择以下效果之一:\n• 强力打击。目标被直接推离你 15 尺。\n• 腿筋打击。目标的速度降低 15 尺,直到你的下一回合开始。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=你已经磨练出了猛烈攻击的新方法。现在,你的凶蛮打击选项中包含以下效果:\n• 惊人打击。目标在下一次豁免检定中处于劣势,并且在你的下回合开始之前无法进行借机攻击。\n• 粉碎一击。你的打击会在该生物的防御中为盟友留下一个缺口,直到你的下一个回合开始。除你之外的生物对目标进行的下一次攻击检定获得 1d10 的攻击和伤害检定加值。 @@ -136,6 +140,8 @@ Feature/&FeatureSetDruidPrimalOrderTitle=原始秩序 Feature/&FeatureSetDruidPrimalOrderWardenDescription=经过战斗训练,您可以熟练使用军用武器并接受中型盔甲训练。 Feature/&FeatureSetDruidPrimalOrderWardenTitle=典狱长 Feature/&FeatureSetRageExtendedDescription=在战斗中,你会以原始的凶猛进行战斗。在你的回合中,你可以输入狂怒作为附赠动作。这使你在力量豁免和检定上获得优势,近战攻击伤害初始 +2 加值,以及对挥砍、钝击和穿刺伤害的抗性。仅当你不穿着重甲时你才能获得这些好处。持续 1 分钟,如果自上回合以来你没有攻击或受到伤害,则结束。\n你以 2 点怒气开始,在长休后恢复。 7 级时,短休后你会恢复 1 点怒气。 +Feature/&FeatureSetRangerDeftExplorerDescription=通过旅行,您将获得以下好处。\n• 专业知识。选择一项您不擅长的技能。您将获得该技能的专业知识。\n• 语言。您掌握 2 种您选择的语言。 +Feature/&FeatureSetRangerDeftExplorerTitle=灵巧的探险家 Feature/&FeatureSetSorcererSorceryIncarnateDescription=如果您已经无法使用天生巫术,您可以在采取奖励行动激活它时花费 2 个巫术点来使用它。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔法化身 Feature/&FeatureSorcererArcaneApotheosisDescription=当你的天生巫术功能处于活动状态时,你可以在每个回合使用一个超魔法选项,而无需花费巫术点数。 @@ -174,8 +180,12 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=龙脉血统 Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=从第 9 级开始,你将能够沿着垂直表面移动而不会落下。 Feature/&MonkAlternateUnarmoredMovementImprovedTitle=无甲移动 - 改进 +Feature/&MovementAffinityRangerRovingDescription=未穿着重甲时,您的速度增加 10 英尺。您的攀爬速度也等于您的速度。 +Feature/&MovementAffinityRangerRovingTitle=粗纱 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=你可以熟练掌握 1 级野蛮人技能列表中的另一项技能。此外,每当你未通过以下能力检定之一时:杂技、威吓、感知、隐身或生存,你可以消耗一次怒气值,将力量调整值添加到检定中,从而有可能导致检定成功。当你使用此能力时,你的力量代表着你体内流淌的原始力量,磨练你的敏捷、风度和感官。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始知识 +Feature/&PointPoolRangerExpertiseDescription=选择两项你不擅长的技能。你将在这些技能上获得专业知识。 +Feature/&PointPoolRangerExpertiseTitle=专业知识 Feature/&PointPoolWizardScholarDescription=在学习魔法的同时,你还专攻了一个学术领域。选择以下一项你擅长的技能:奥术、历史、调查、医学、自然或宗教。你在所选技能上具有专长。 Feature/&PointPoolWizardScholarTitle=学者 Feature/&PowerAfterRestIdentifyDescription=鉴定库存中的所有魔法物品。 @@ -199,6 +209,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以 Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 Feature/&PowerRangerNatureShroudDescription=你利用自然的力量短暂地隐藏自己。作为奖励行动,你可以神奇地隐形,连同你穿着或携带的任何装备,直到你的下一回合开始。你可以使用此功能的次数等于你的智慧属性修正值,当你完成长时间休息时,你可以恢复所有已消耗的使用次数。 Feature/&PowerRangerNatureShroudTitle=自然面纱 +Feature/&PowerRangerTirelessDescription=作为一个动作,你可以给自己增加临时生命值,数值等于 1d8 + 你的感知调整值(最小值为 1)。你可以使用这个动作的次数等于你的感知调整值(最小值为 1),当你完成长时间休息后,你可以恢复所有消耗的次数。 +Feature/&PowerRangerTirelessTitle=孜孜不倦 Feature/&PowerRogueCunningStrikeDescription=你已经开发出巧妙的方法来使用你的偷袭。当你造成偷袭伤害时,你可以放弃偷袭骰来添加额外的狡诈打击效果。 Feature/&PowerRogueCunningStrikeDisarmDescription=目标必须成功通过敏捷豁免,否则在下回合结束之前所有攻击都处于劣势。 Feature/&PowerRogueCunningStrikeDisarmTitle=缴械 @@ -230,6 +242,8 @@ Feature/&PowerWarlockMagicalCunningDescription=您可以进行 1 分钟的秘传 Feature/&PowerWarlockMagicalCunningTitle=魔法狡猾 Feature/&RelentlessRageExtendedDescription=愤怒可以让你即使身受重伤也能继续战斗。如果在愤怒状态下生命值降至 0 且没有直接死亡,你可以进行 DC 10 体质豁免检定。如果成功,你的生命值将变为等于野蛮人等级两倍的数字。在第一次使用此功能后,每次使用 DC 都会增加 5。当你完成短暂或长时间休息时,DC 将重置为 10。 Feature/&RogueSlipperyMindExtendedDescription=你获得了更强大的精神力量。你获得了智慧和魅力豁免熟练度。 +Feature/&SenseRangerFeralSenses2024Description=您与自然力量的联系赋予您 30 英尺范围的盲视能力。 +Feature/&SenseRangerFeralSenses2024Title=野性感官 Feature/&ToolGainChoicesPluralDescription=从这些工具中选择 {0}:{1} Feature/&ToolGainChoicesSingleDescription=选择以下工具之一:{1} Feature/&VisionBlindsightDescription=你有盲视。 @@ -360,6 +374,7 @@ Rules/&SituationalContext9015Format=双手持用木棒的无甲或轻甲: Rules/&SituationalContext9016Format=主手或副手近战武器不是效果源: Rules/&SituationalContext9017Format=专注于法术: Rules/&SituationalContext9018Format=是效果来源: +Rules/&SituationalContextTargetHasConditionFormat=目标有条件: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=恢复魔法点数,最多可恢复至魔法师等级的一半(四舍五入) Rules/&TurnOccurenceEndOfSourceTurnFormat=来源回合结束 Screen/&CharacterInspectionModeBattleUnlimitedTitle=每轮您可以执行无限制的库存操作。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 3bfa460009..7ca20d4865 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -179,8 +179,15 @@ ModUi/&EnablePotionsBonusAction2024=启用饮用药水作 ModUi/&EnablePreparedSpellsTables2024=允许所有施法者使用新的准备好的法术表[吟游诗人、牧师、德鲁伊、圣骑士、游侠、术士、魔法师] ModUi/&EnableProneAction=启用倒地动作[你可以无代价倒地] ModUi/&EnablePullPushOnVerticalDirection=使推拉运动效果也适用于上/下轴 +ModUi/&EnableRangerDeftExplorer2024=在 2 级时启用 Deft Explorer [获得一项游侠技能专长,并学习 2 种语言] +ModUi/&EnableRangerExpertise2024=在 9 级启用专业知识 [获得两项游侠技能专业知识] +ModUi/&EnableRangerFeralSenses2024=将 Feral Senses 与 5e 2024 版本交换[获得 30 英尺盲视] +ModUi/&EnableRangerFoeSlayers2024=将 Foe Slayer 与 5e 2024 版本交换 [将 Hunter's Mark 骰子增加至 d10] ModUi/&EnableRangerNatureShroud2024=在 14 级时启用自然面纱功能[作为奖励行动,你可以神奇地隐身,直到下一回合开始] +ModUi/&EnableRangerPreciseHunter2024=在 17 级时启用精准猎手 [对抗被猎人标记的生物的优势] +ModUi/&EnableRangerRoving2024=在 6 级时启用漫游 [不使用重型装甲时可移动 10 英尺,且爬升速度相同] ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 +ModUi/&EnableRangerTireless=在 10 级时启用不知疲倦 [使用动作获取临时生命值] ModUi/&EnableRelearnSpells=可以选择已从其他来源学到的戏法或法术 ModUi/&EnableRespecAction=休息操作后启用 RESPEC [在多人游戏会话期间不要使用 RESPEC] ModUi/&EnableRitualOnAllCasters2024=对所有施法者启用仪式施法 From 772f7f26260b0cfc7c64dec6ddc6283283b7ad37 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 16:12:33 -0800 Subject: [PATCH 04/42] tweak Ranger 2024 settings --- .../Displays/ClassesDisplay.cs | 32 +++++++++---------- .../Displays/GeneralDisplay.cs | 28 ++++++++-------- .../Models/2024RangerContext.cs | 17 +++++----- 3 files changed, 38 insertions(+), 39 deletions(-) diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index eaf2a0203f..69efe8080d 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -367,20 +367,6 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRangerExpertise(); } - toggle = Main.Settings.EnableRangerFeralSenses2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) - { - Main.Settings.EnableRangerFeralSenses2024 = toggle; - Tabletop2024Context.SwitchRangerFeralSenses(); - } - - toggle = Main.Settings.EnableRangerFoeSlayers2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) - { - Main.Settings.EnableRangerFoeSlayers2024 = toggle; - Tabletop2024Context.SwitchRangerFoeSlayers(); - } - toggle = Main.Settings.EnableRangerNatureShroud2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerNatureShroud2024"), ref toggle, UI.AutoWidth())) { @@ -408,14 +394,28 @@ internal static void DisplayClasses() Main.Settings.EnableRangerSpellCastingAtLevel1 = toggle; Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); } - + toggle = Main.Settings.EnableRangerTireless; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerTireless"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRangerTireless = toggle; Tabletop2024Context.SwitchRangerTireless(); } - + + toggle = Main.Settings.EnableRangerFeralSenses2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFeralSenses2024 = toggle; + Tabletop2024Context.SwitchRangerFeralSenses(); + } + + toggle = Main.Settings.EnableRangerFoeSlayers2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFoeSlayers2024 = toggle; + Tabletop2024Context.SwitchRangerFoeSlayers(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&RogueTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 08551a00b5..e71e417b1e 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -555,20 +555,6 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchRangerExpertise(); } - toggle = Main.Settings.EnableRangerFeralSenses2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) - { - Main.Settings.EnableRangerFeralSenses2024 = toggle; - Tabletop2024Context.SwitchRangerFeralSenses(); - } - - toggle = Main.Settings.EnableRangerFoeSlayers2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) - { - Main.Settings.EnableRangerFoeSlayers2024 = toggle; - Tabletop2024Context.SwitchRangerFoeSlayers(); - } - toggle = Main.Settings.EnableRangerNatureShroud2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerNatureShroud2024"), ref toggle, UI.AutoWidth())) { @@ -597,6 +583,20 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); } + toggle = Main.Settings.EnableRangerFeralSenses2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFeralSenses2024 = toggle; + Tabletop2024Context.SwitchRangerFeralSenses(); + } + + toggle = Main.Settings.EnableRangerFoeSlayers2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFoeSlayers2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFoeSlayers2024 = toggle; + Tabletop2024Context.SwitchRangerFoeSlayers(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&RogueTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index a3ab2a4bf8..5b53ccafd2 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -22,8 +22,7 @@ internal static partial class Tabletop2024Context .SetPool(HeroDefinitions.PointsPoolType.Language, 2) .AddToDB(), FeatureDefinitionPointPoolBuilder - .Create( - FeatureDefinitionPointPools.PointPoolRangerSkillPoints, "PointPoolRangerDeftExplorerSkills") + .Create("PointPoolRangerDeftExplorerSkills") .SetGuiPresentationNoContent(true) .SetPool(HeroDefinitions.PointsPoolType.Expertise, 1) .AddCustomSubFeatures(new TryAlterOutcomeAttributeCheckPrimalKnowledge()) @@ -39,7 +38,7 @@ internal static partial class Tabletop2024Context .AddToDB(); private static readonly FeatureDefinitionPointPool PointPoolRangerExpertise = FeatureDefinitionPointPoolBuilder - .Create(FeatureDefinitionPointPools.PointPoolRangerSkillPoints, "PointPoolRangerExpertise") + .Create("PointPoolRangerExpertise") .SetGuiPresentation(Category.Feature) .SetPool(HeroDefinitions.PointsPoolType.Expertise, 2) .AddToDB(); @@ -52,6 +51,11 @@ internal static partial class Tabletop2024Context .SetSituationalContext(SituationalContext.TargetHasCondition, ConditionDefinitions.ConditionMarkedByHunter) .AddToDB(); + private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder + .Create("PowerRangerTireless") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + internal static void SwitchOneDndRangerLearnSpellCastingAtOne() { var level = Main.Settings.EnableRangerSpellCastingAtLevel1 ? 1 : 2; @@ -132,7 +136,7 @@ internal static void SwitchRangerFoeSlayers() x.FeatureDefinition == Level20Context.FeatureFoeSlayer || x.FeatureDefinition == Level20Context.FeatureFoeSlayer2024); - Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFeralSenses2024 + Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFoeSlayers2024 ? new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer, 20) : new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer2024, 20)); @@ -178,11 +182,6 @@ internal static void SwitchRangerRoving() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder - .Create("PowerRangerTireless") - .SetGuiPresentation(Category.Feature) - .AddToDB(); - internal static void SwitchRangerTireless() { Ranger.FeatureUnlocks From 8afc893a90962daaa932b4f8d05e6d14168d10b2 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 16:12:46 -0800 Subject: [PATCH 05/42] fix Katana properties --- .../Models/CustomWeaponsContext.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs index 4397511d48..e064154b17 100644 --- a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs +++ b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs @@ -211,12 +211,12 @@ private static void BuildKatana() Katana = BuildWeapon( "Katana", baseItem, katanaPrefab, 20, true, Common, null, baseDescription, - Sprites.GetSprite("Katana", Resources.Katana, 128)); + Sprites.GetSprite("Katana", Resources.Katana, 128), twoHanded: false); MerchantContext.AddItem(Katana, ShopItemType.ShopGenericMelee); KatanaPrimed = BuildWeapon("KatanaPrimed", baseItem, katanaPrefab, 40, true, Uncommon, null, - baseDescription, Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128)); + baseDescription, Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false); KatanaPrimed.ItemTags.Add(TagsDefinitions.ItemTagIngredient); KatanaPrimed.ItemTags.Remove(TagsDefinitions.ItemTagStandard); @@ -224,7 +224,7 @@ private static void BuildKatana() MerchantContext.AddItem(RecipeHelper.BuildPrimeManual(Katana, KatanaPrimed), ShopItemType.ShopCrafting); KatanaPlus1 = BuildWeapon("Katana+1", Katana, katanaPrefab, 1050, true, Rare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), + icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, properties: [WeaponPlus1] ); @@ -234,7 +234,7 @@ private static void BuildKatana() ItemDefinitions.Ingredient_Enchant_Oil_Of_Acuteness), ShopItemType.ShopCrafting); KatanaPlus2 = BuildWeapon("Katana+2", Katana, katanaPrefab, 4000, true, VeryRare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), + icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, properties: [WeaponPlus2] ); @@ -244,7 +244,7 @@ private static void BuildKatana() ItemDefinitions.Ingredient_Enchant_Blood_Gem), ShopItemType.ShopCrafting); KatanaPlus3 = BuildWeapon("Katana+3", Katana, katanaPrefab, 16000, true, VeryRare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), + icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, properties: [WeaponPlus3] ); From f515f314f23499a5495a50b1b63fa6ae1e163d12 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 16:21:22 -0800 Subject: [PATCH 06/42] fix custom models rendering scenarios and add cache mechanism --- .../Api/Helpers/LevelUpHelper.cs | 7 + .../CustomUI/CustomModels.cs | 227 ++++++++++++++---- .../CharacterInspectionScreenPatcher.cs | 7 + 3 files changed, 188 insertions(+), 53 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/Helpers/LevelUpHelper.cs b/SolastaUnfinishedBusiness/Api/Helpers/LevelUpHelper.cs index f69e28c694..a4862085fc 100644 --- a/SolastaUnfinishedBusiness/Api/Helpers/LevelUpHelper.cs +++ b/SolastaUnfinishedBusiness/Api/Helpers/LevelUpHelper.cs @@ -6,6 +6,7 @@ using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Classes; +using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Feats; using SolastaUnfinishedBusiness.Interfaces; using SolastaUnfinishedBusiness.Models; @@ -27,6 +28,9 @@ internal static void RegisterHero( [NotNull] RulesetCharacterHero rulesetCharacterHero, bool levelingUp) { + //PATCH: enable custom models renderer + CustomModels.SwitchRenderer(true); + CharacterClassDefinition lastClass = null; CharacterSubclassDefinition lastSubclass = null; @@ -65,6 +69,9 @@ internal static void RegisterHero( internal static void UnregisterHero([NotNull] RulesetCharacterHero rulesetCharacterHero) { + //PATCH: disable custom models renderer + CustomModels.SwitchRenderer(false); + LevelUpTab.Remove(rulesetCharacterHero); } diff --git a/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs b/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs index 4baa4dfbf3..6762a0a9e5 100644 --- a/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs +++ b/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.Serialization; +using System.Runtime.Serialization.Formatters.Binary; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Builders; @@ -103,12 +105,7 @@ public void LoadModel(string filename) private IEnumerator ConstructModel( string filename, GameObject prefab, MeshFilter meshFilter, MeshRenderer meshRenderer) { - if (!TryReadObjectFile(Path.Combine(directoryPath, $"{filename}.obj"), out var obj)) - { - yield break; - } - - if (!TryReadMaterialFile(Path.Combine(directoryPath, $"{filename}.mtl"), out var mtl)) + if (!TryReadObjectAndCorrespondingMaterialFiles(directoryPath, filename, out var obj)) { yield break; } @@ -116,7 +113,7 @@ private IEnumerator ConstructModel( var prefabGuid = GetGuid(filename); meshFilter.mesh = PopulateMesh(obj); - meshRenderer.materials = DefineMaterial(obj, mtl); + meshRenderer.materials = DefineMaterial(obj); meshRenderer.enabled = false; PrefabsByGuid[prefabGuid] = prefab; @@ -207,14 +204,14 @@ private static Texture2D LoadTexture(string modelName, string name) return null; } - private static Material[] DefineMaterial(ObjectFile obj, MaterialFile mtl) + private static Material[] DefineMaterial(ObjectFile obj) { var materials = new Material[obj.usemtl.Count]; for (var i = 0; i < obj.usemtl.Count; i += 1) { var materialName = obj.usemtl[i]; - var newMtl = mtl.Materials.FirstOrDefault(x => x.newmtl == materialName); + var newMtl = obj.Materials.FirstOrDefault(x => x.newmtl == materialName); var material = new Material(Shader.Find("Standard")) { name = materialName }; if (newMtl != null) @@ -275,6 +272,14 @@ private static Material[] DefineMaterial(ObjectFile obj, MaterialFile mtl) private static readonly Dictionary PrefabsByGuid = []; private static readonly Dictionary MaterialsByGuid = []; + internal static void SwitchRenderer(bool enabled) + { + foreach (var meshRenderer in PrefabsByGuid.Values.Select(gameObject => gameObject.GetComponent())) + { + meshRenderer.enabled = enabled; + } + } + [CanBeNull] internal static GameObject GetPrefabByGuid([NotNull] string guid) { @@ -290,57 +295,67 @@ internal static Material GetMaterialByGuid([NotNull] string guid) #region Blender Model Parser - private sealed class MaterialFile - { - public readonly List Materials = []; - } - + [Serializable] private sealed class ObjectFile { // ReSharper disable file InconsistentNaming public string o; - - // ReSharper disable once NotAccessedField.Local public string mtllib; public List usemtl; public List v; public List vn; public List vt; public List> f; + public List Materials = []; } // ReSharper enable file InconsistentNaming + [Serializable] private sealed class NewMtl { // ReSharper disable file InconsistentNaming public string newmtl; public float Ns; + public Vector3 Ka; - [UsedImplicitly] public Vector3 Kd; + + //[UsedImplicitly] public Vector3 Kd ; public Vector3 Ks; + public Vector3 Ke; - [UsedImplicitly] public float Ni; + + //[UsedImplicitly] public float Ni ; public float d; - [UsedImplicitly] public float illum; + + //[UsedImplicitly] public float illum ; public string map_Kd; public string map_Bump; } // ReSharper enable file InconsistentNaming - - private static bool TryReadObjectFile(string path, out ObjectFile obj) + private static bool TryReadObjectAndCorrespondingMaterialFiles( + string directoryPath, string filename, out ObjectFile objFile) { - obj = new ObjectFile(); + objFile = new ObjectFile(); + + var pathCache = Path.Combine(directoryPath, $"{filename}.cache"); + + if (Deserialize(pathCache, ref objFile)) + { + return true; + } + + var pathObj = Path.Combine(directoryPath, $"{filename}.obj"); try { - var lines = File.ReadAllLines(path); + var lines = File.ReadAllLines(pathObj); - obj.usemtl = []; - obj.v = []; - obj.vn = []; - obj.vt = []; - obj.f = []; + objFile.usemtl = []; + objFile.v = []; + objFile.vn = []; + objFile.vt = []; + objFile.f = []; foreach (var line in lines) { @@ -354,29 +369,29 @@ private static bool TryReadObjectFile(string path, out ObjectFile obj) switch (token[0]) { case "o": - obj.o = token[1]; + objFile.o = token[1]; break; case "mtllib": - obj.mtllib = token[1]; + objFile.mtllib = token[1]; break; case "usemtl": - obj.usemtl.Add(token[1]); - obj.f.Add([]); + objFile.usemtl.Add(token[1]); + objFile.f.Add([]); break; case "v": - obj.v.Add(new Vector3( + objFile.v.Add(new Vector3( float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3]))); break; case "vn": - obj.vn.Add(new Vector3( + objFile.vn.Add(new Vector3( float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3]))); break; case "vt": - obj.vt.Add(new Vector3( + objFile.vt.Add(new Vector3( float.Parse(token[1]), float.Parse(token[2]))); break; @@ -385,30 +400,37 @@ private static bool TryReadObjectFile(string path, out ObjectFile obj) { var triplet = Array.ConvertAll(token[i].Split('/'), x => string.IsNullOrEmpty(x) ? 0 : int.Parse(x)); - obj.f[obj.f.Count - 1].Add(triplet); + objFile.f[objFile.f.Count - 1].Add(triplet); } break; } } + if (!TryReadMaterialFile(directoryPath, filename, objFile.Materials)) + { + return false; + } + + Serialize(objFile, pathCache); + return true; } catch { - Main.Error($"Failed to read object file {path}"); + Main.Error($"Failed to read object file {pathObj}"); return false; } } - private static bool TryReadMaterialFile(string path, out MaterialFile mtl) + private static bool TryReadMaterialFile(string directoryPath, string filename, List materials) { - mtl = new MaterialFile(); + var pathMtl = Path.Combine(directoryPath, $"{filename}.mtl"); try { - var lines = File.ReadAllLines(path); + var lines = File.ReadAllLines(pathMtl); foreach (var line in lines) { @@ -422,41 +444,41 @@ private static bool TryReadMaterialFile(string path, out MaterialFile mtl) switch (token[0]) { case "newmtl": - mtl.Materials.Add(new NewMtl { newmtl = token[1] }); + materials.Add(new NewMtl { newmtl = token[1] }); break; case "Ns": - mtl.Materials[mtl.Materials.Count - 1].Ns = float.Parse(token[1]); + materials[materials.Count - 1].Ns = float.Parse(token[1]); break; case "Ka": - mtl.Materials[mtl.Materials.Count - 1].Ka = + materials[materials.Count - 1].Ka = new Vector3(float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3])); break; case "Kd": - mtl.Materials[mtl.Materials.Count - 1].Kd = - new Vector3(float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3])); + // materials[materials.Count - 1].Kd = + // new Vector3(float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3])); break; case "Ks": - mtl.Materials[mtl.Materials.Count - 1].Ks = + materials[materials.Count - 1].Ks = new Vector3(float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3])); break; case "Ke": - mtl.Materials[mtl.Materials.Count - 1].Ke = + materials[materials.Count - 1].Ke = new Vector3(float.Parse(token[1]), float.Parse(token[2]), float.Parse(token[3])); break; case "Ni": - mtl.Materials[mtl.Materials.Count - 1].Ni = float.Parse(token[1]); + // materials[materials.Count - 1].Ni = float.Parse(token[1]); break; case "d": - mtl.Materials[mtl.Materials.Count - 1].d = float.Parse(token[1]); + materials[materials.Count - 1].d = float.Parse(token[1]); break; case "ileum": - mtl.Materials[mtl.Materials.Count - 1].illum = float.Parse(token[1]); + // materials[materials.Count - 1].illum = float.Parse(token[1]); break; case "map_Kd": - mtl.Materials[mtl.Materials.Count - 1].map_Kd = token[1]; + materials[materials.Count - 1].map_Kd = token[1]; break; case "map_Bump": - mtl.Materials[mtl.Materials.Count - 1].map_Bump = token[1]; + materials[materials.Count - 1].map_Bump = token[1]; break; } } @@ -465,11 +487,110 @@ private static bool TryReadMaterialFile(string path, out MaterialFile mtl) } catch { - Main.Error($"Failed to read material file {path}"); + Main.Error($"Failed to read material file {pathMtl}"); + + return false; + } + } + + private static void Serialize(ObjectFile objFile, string path) + { + try + { + var file = File.Create(path); + var bf = GetBinaryFormatter(); + + bf.Serialize(file, objFile); + file.Close(); + } + catch (Exception e) + { + Main.Error($"Failed to serialize {path} {e.Message}"); + } + } + + private static bool Deserialize(string path, ref ObjectFile objFile) + { + try + { + var file = File.Open(path, FileMode.Open); + var bf = GetBinaryFormatter(); + + objFile = (ObjectFile)bf.Deserialize(file); + file.Close(); + return true; + } + catch + { return false; } } + private static BinaryFormatter GetBinaryFormatter() + { + var bf = new BinaryFormatter(); + var surrogateSelector = new SurrogateSelector(); + var vector2SS = new Vector2SerializationSurrogate(); + var vector3SS = new Vector3SerializationSurrogate(); + + surrogateSelector.AddSurrogate( + typeof(Vector2), new StreamingContext(StreamingContextStates.All), vector2SS); + surrogateSelector.AddSurrogate( + typeof(Vector3), new StreamingContext(StreamingContextStates.All), vector3SS); + + bf.SurrogateSelector = surrogateSelector; + + return bf; + } + + private sealed class Vector2SerializationSurrogate : ISerializationSurrogate + { + public void GetObjectData(object obj, SerializationInfo info, StreamingContext context) + { + var v2 = (Vector2)obj; + + info.AddValue("x", v2.x); + info.AddValue("y", v2.y); + } + + public object SetObjectData( + object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) + { + var v2 = (Vector2)obj; + + v2.x = (float)info.GetValue("x", typeof(float)); + v2.y = (float)info.GetValue("y", typeof(float)); + obj = v2; + + return obj; + } + } + + private sealed class Vector3SerializationSurrogate : ISerializationSurrogate + { + public void GetObjectData(object obj, SerializationInfo info, StreamingContext context) + { + var v3 = (Vector3)obj; + + info.AddValue("x", v3.x); + info.AddValue("y", v3.y); + info.AddValue("z", v3.z); + } + + public object SetObjectData( + object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) + { + var v3 = (Vector3)obj; + + v3.x = (float)info.GetValue("x", typeof(float)); + v3.y = (float)info.GetValue("y", typeof(float)); + v3.z = (float)info.GetValue("z", typeof(float)); + obj = v3; + + return obj; + } + } + #endregion } diff --git a/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs index 6b9a51c922..35625e04b9 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterInspectionScreenPatcher.cs @@ -1,6 +1,7 @@ using System.Diagnostics.CodeAnalysis; using HarmonyLib; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Models; using UnityEngine; @@ -17,6 +18,9 @@ public static class Bind_Patch [UsedImplicitly] public static void Prefix(CharacterInspectionScreen __instance, RulesetCharacterHero heroCharacter) { + //PATCH: enable custom models renderer + CustomModels.SwitchRenderer(true); + //PATCH: sets the inspection context for MC heroes Global.InspectedHero = heroCharacter; @@ -64,6 +68,9 @@ public static class Unbind_Patch [UsedImplicitly] public static void Prefix() { + //PATCH: disable custom models renderer + CustomModels.SwitchRenderer(false); + //PATCH: resets the inspection context for MC heroes Global.InspectedHero = null; } From 51d956dabf0eb61c0b23638625ab65e7fa3f5d9c Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 17:25:44 -0800 Subject: [PATCH 07/42] add / tweak tabletop 2024 settings --- .../ChangelogHistory.txt | 7 +++ .../Displays/ClassesDisplay.cs | 19 +++++-- .../Displays/GeneralDisplay.cs | 13 ++++- .../Models/2024BarbarianContext.cs | 2 +- .../Models/2024RangerContext.cs | 2 +- .../Models/2024SorcererContext.cs | 56 +++++++++++++++++++ .../Models/CustomWeaponsContext.cs | 2 +- .../Patches/RulesetCharacterPatcher.cs | 2 +- SolastaUnfinishedBusiness/Settings.cs | 7 ++- SolastaUnfinishedBusiness/Settings/empty.xml | 2 +- .../Settings/zappastuff.xml | 2 +- .../Translations/de/Settings-de.txt | 5 +- .../Translations/en/Settings-en.txt | 9 +-- .../Translations/es/Settings-es.txt | 5 +- .../Translations/fr/Settings-fr.txt | 5 +- .../Translations/it/Settings-it.txt | 5 +- .../Translations/ja/Settings-ja.txt | 5 +- .../Translations/ko/Settings-ko.txt | 5 +- .../Translations/pt-BR/Settings-pt-BR.txt | 5 +- .../Translations/ru/Settings-ru.txt | 5 +- .../Translations/zh-CN/Settings-zh-CN.txt | 5 +- 21 files changed, 129 insertions(+), 39 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 962d10060e..82d91fa403 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,3 +1,10 @@ +1.5.97.42: + +- added 7 new tabletop 2024 Ranger settings [2024 Ranger almost complete] +- added 1 new tabletop 2024 Sorcerer setting [2024 Sorcerer now complete] +- fixed custom models rendering +- fixed off-hand Katanas + 1.5.97.41: ATTENTION: bootstrap feels much slower with custom blender models parsing. need feedback from user base. diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 69efe8080d..8726fba6c2 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -114,10 +114,10 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchBarbarianReckless(); } - toggle = Main.Settings.EnableBarbarianRegainOneRageAtShortRest; - if (UI.Toggle(Gui.Localize("ModUi/&EnableBarbarianRegainOneRageAtShortRest"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableBarbarianRegainOneRageAtShortRest2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableBarbarianRegainOneRageAtShortRest = toggle; + Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024 = toggle; Tabletop2024Context.SwitchBarbarianRegainOneRageAtShortRest(); } @@ -395,10 +395,10 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); } - toggle = Main.Settings.EnableRangerTireless; - if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerTireless"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableRangerTireless2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerTireless2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableRangerTireless = toggle; + Main.Settings.EnableRangerTireless2024 = toggle; Tabletop2024Context.SwitchRangerTireless(); } @@ -503,6 +503,13 @@ internal static void DisplayClasses() } } + toggle = Main.Settings.EnableSorcererToLearnOriginAtLevel3; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererToLearnOriginAtLevel3"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableSorcererToLearnOriginAtLevel3 = toggle; + Tabletop2024Context.SwitchSorcererOriginLearningLevel(); + } + toggle = Main.Settings.EnableSorcererSorcerousRestoration2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index e71e417b1e..62d7bce916 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -376,10 +376,10 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchBarbarianReckless(); } - toggle = Main.Settings.EnableBarbarianRegainOneRageAtShortRest; - if (UI.Toggle(Gui.Localize("ModUi/&EnableBarbarianRegainOneRageAtShortRest"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableBarbarianRegainOneRageAtShortRest2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnableBarbarianRegainOneRageAtShortRest = toggle; + Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024 = toggle; Tabletop2024Context.SwitchBarbarianRegainOneRageAtShortRest(); } @@ -655,6 +655,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchSorcererInnateSorcery(); } + toggle = Main.Settings.EnableSorcererToLearnOriginAtLevel3; + if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererToLearnOriginAtLevel3"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableSorcererToLearnOriginAtLevel3 = toggle; + Tabletop2024Context.SwitchSorcererOriginLearningLevel(); + } + toggle = Main.Settings.EnableSorcererSorcerousRestoration2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024BarbarianContext.cs b/SolastaUnfinishedBusiness/Models/2024BarbarianContext.cs index affc723b62..66be937182 100644 --- a/SolastaUnfinishedBusiness/Models/2024BarbarianContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024BarbarianContext.cs @@ -314,7 +314,7 @@ internal static void SwitchBarbarianReckless() internal static void SwitchBarbarianRegainOneRageAtShortRest() { - FeatureSetBarbarianRage.GuiPresentation.description = Main.Settings.EnableBarbarianRegainOneRageAtShortRest + FeatureSetBarbarianRage.GuiPresentation.description = Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024 ? "Feature/&FeatureSetRageExtendedDescription" : "Feature/&FeatureSetRageDescription"; } diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index 5b53ccafd2..fa065b24d4 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -189,7 +189,7 @@ internal static void SwitchRangerTireless() x.FeatureDefinition == PowerRangerHideInPlainSight || x.FeatureDefinition == PowerRangerTireless); - Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerTireless + Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerTireless2024 ? new FeatureUnlockByLevel(PowerRangerTireless, 10) : new FeatureUnlockByLevel(PowerRangerHideInPlainSight, 10)); diff --git a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs index dc5569a8be..4c706490bb 100644 --- a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs @@ -1,5 +1,7 @@ using System.Collections; using System.Collections.Generic; +using System.Linq; +using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; @@ -12,6 +14,7 @@ using static SolastaUnfinishedBusiness.Api.DatabaseHelper.ConditionDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; namespace SolastaUnfinishedBusiness.Models; @@ -79,6 +82,59 @@ internal static partial class Tabletop2024Context .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); + internal static void SwitchSorcererOriginLearningLevel() + { + var origins = DatabaseRepository.GetDatabase() + .Where(x => x.Name.StartsWith("Sorcerous")) + .ToList(); + + var fromLevel = 3; + var toLevel = 1; + + if (Main.Settings.EnableSorcererToLearnOriginAtLevel3) + { + fromLevel = 1; + toLevel = 3; + } + + foreach (var featureUnlock in origins + .SelectMany(school => school.FeatureUnlocks + .Where(featureUnlock => featureUnlock.level == fromLevel))) + { + featureUnlock.level = toLevel; + } + + // handle level 2 grants + var featuresGrantedAt2 = new (string, string)[3] + { + ("SorcerousManaPainter", "PowerSorcererManaPainterDrain"), + ("SorcerousChildRift", "PowerSorcererChildRiftDeflection"), + ("SorcerousSpellBlade", "FeatureSetSorcerousSpellBladeManaShield") + }; + + var level = Main.Settings.EnableSorcererToLearnOriginAtLevel3 ? 3 : 2; + + foreach (var (subClassName, featureName) in featuresGrantedAt2) + { + var subClass = DatabaseHelper.GetDefinition(subClassName); + var feature = DatabaseHelper.GetDefinition(featureName); + + subClass.FeatureUnlocks.FirstOrDefault(x => x.FeatureDefinition == feature)!.level = level; + } + + // change spell casting level on Sorcerer itself + Sorcerer.FeatureUnlocks + .FirstOrDefault(x => + x.FeatureDefinition == SubclassChoiceSorcerousOrigin)!.level = toLevel; + + foreach (var origin in origins) + { + origin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + Sorcerer.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchSorcererArcaneApotheosis() { Sorcerer.FeatureUnlocks.RemoveAll(x => diff --git a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs index e064154b17..168222df02 100644 --- a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs +++ b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs @@ -692,7 +692,7 @@ private static void BuildThunderGauntlet() ThunderGauntlet = BuildWeapon("CEThunderGauntlet", baseItem, thunderGauntletPrefab, 0, true, Common, null, baseDescription, Sprites.GetSprite("ItemThunderGauntlet", Resources.ItemThunderGauntlet, 128), - scale: 0.25f, + scale: 0.20f, properties: [ThunderImpactVFX] ); ThunderGauntlet.inDungeonEditor = false; diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs index 8322179968..15b2a5e7dc 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs @@ -1687,7 +1687,7 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool //TODO: time to make this an interface to support scenarios like below //PATCH: support for Barbarians to regain one rage point at short rests from level 7 - if (Main.Settings.EnableBarbarianRegainOneRageAtShortRest && + if (Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024 && restType == RestType.ShortRest && __instance.GetClassLevel(Barbarian) >= 1 && __instance.UsedRagePoints > 0) diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 1b5939f100..163005a311 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -284,7 +284,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableBarbarianPersistentRage2024 { get; set; } public bool EnableBarbarianPrimalKnowledge2024 { get; set; } public bool EnableBarbarianReckless2024 { get; set; } - public bool EnableBarbarianRegainOneRageAtShortRest { get; set; } + public bool EnableBarbarianRegainOneRageAtShortRest2024 { get; set; } public bool EnableBarbarianRelentlessRage2024 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } public bool EnableDruidPrimalOrder2024 { get; set; } @@ -297,13 +297,15 @@ public class Settings : UnityModManager.ModSettings public bool AddHumanoidFavoredEnemyToRanger { get; set; } public bool EnableRangerDeftExplorer2024 { get; set; } public bool EnableRangerExpertise2024 { get; set; } + public bool EnableRangerFavoredEnemy2024 { get; set; } public bool EnableRangerFeralSenses2024 { get; set; } public bool EnableRangerFoeSlayers2024 { get; set; } public bool EnableRangerNatureShroud2024 { get; set; } public bool EnableRangerPreciseHunter2024 { get; set; } + public bool EnableRangerRelentlessHunter2024 { get; set; } public bool EnableRangerRoving2024 { get; set; } public bool EnableRangerSpellCastingAtLevel1 { get; set; } - public bool EnableRangerTireless { get; set; } + public bool EnableRangerTireless2024 { get; set; } public bool EnableMonkAbundantKi { get; set; } public bool EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack2024 { get; set; } public bool EnableMonkDoNotRequireAttackActionForFlurry2024 { get; set; } @@ -331,6 +333,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableSorcererQuickenedAction { get; set; } public bool HideQuickenedActionWhenMetamagicOff { get; set; } public bool EnableSorcererSorcerousRestoration2024 { get; set; } + public bool EnableSorcererToLearnOriginAtLevel3 { get; set; } public bool EnableWarlockInvocationProgression2024 { get; set; } public bool EnableWarlockMagicalCunningAndImprovedEldritchMaster2024 { get; set; } public bool EnableWarlockToLearnPatronAtLevel3 { get; set; } diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 0d710557f3..2aad7bd35a 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -648,7 +648,7 @@ false false false - false + false false false false diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index 3340eec4af..2c0913bfdc 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -690,7 +690,7 @@ true true true - true + true true true true diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 4036143051..1255838e1d 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Aktiviere Instinktive ModUi/&EnableBarbarianPersistentRage2024=Tauschen Sie Persistent Rage gegen die Version 5e 2024 aus. ModUi/&EnableBarbarianPrimalKnowledge2024=Aktiviere Urwissen auf Stufe 3. ModUi/&EnableBarbarianReckless2024=Aktivieren Sie den Buff und Debuff von Reckless Attack, um ihn zu Beginn der nächsten Runde zu beenden. -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Aktiviere die Wiedererlangung einer Wut-Anwendung während einer kurzen Pause auf Level 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Aktiviere die Wiedererlangung einer Wut-Anwendung während einer kurzen Pause auf Level 1 ModUi/&EnableBarbarianRelentlessRage2024=Tauschen Sie Relentless Rage gegen die 5e 2024-Version aus [Ihre Trefferpunkte werden auf das Zweifache Ihrer Klassenstufe statt auf 1 gesetzt] ModUi/&EnableBardCounterCharm2024=Aktiviere Gegenzauber auf Stufe 7 als Reaktion statt auf Stufe 6 als Aktion ModUi/&EnableBardExpertiseOneLevelBefore2024=Aktivieren Sie Expertise auf den Stufen 2 und 9 statt auf 3 und 10. @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Aktivieren Sie die Funktion N ModUi/&EnableRangerPreciseHunter2024=Aktiviere Precise Hunter auf Level 17 [Vorteil gegenüber von Hunter markierten Kreaturen] ModUi/&EnableRangerRoving2024=Aktivieren Sie Umherziehen auf Stufe 6 [erhalten Sie 10 Fuß Bewegung, wenn Sie keine schwere Rüstung verwenden, und dieselbe Klettergeschwindigkeit] ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. -ModUi/&EnableRangerTireless=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] +ModUi/&EnableRangerTireless2024=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] ModUi/&EnableRelearnSpells=Aktivieren Sie die Auswahl von Zaubersprüchen oder Zaubersprüchen, die Sie bereits aus anderen Quellen gelernt haben. ModUi/&EnableRespecAction=Aktivieren Sie RESPEC nach der Rest-Aktion [RESPEC nicht während einer Multiplayer-Sitzung verwenden] ModUi/&EnableRitualOnAllCasters2024=Aktivieren Sie das Wirken von Ritualen für alle Zauberer. @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=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/&EnableSorcererSorcerousRestoration2024=Aktiviere Zauberhafte Wiederherstellung auf Stufe 5. +ModUi/&EnableSorcererToLearnOriginAtLevel3=Aktiviere Origins auf Level 3 statt auf Level 1. 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 diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 743bfb6580..0e5e0ac052 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Enable Instinctive Po ModUi/&EnableBarbarianPersistentRage2024=Swap Persistent Rage with 5e 2024 version ModUi/&EnableBarbarianPrimalKnowledge2024=Enable Primal Knowledge at level 3 ModUi/&EnableBarbarianReckless2024=Enable Reckless Attack buff and debuff to finish at start of next turn -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Enable regain one Rage use over a short rest at level 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Enable regain one Rage use over a short rest at level 1 ModUi/&EnableBarbarianRelentlessRage2024=Swap Relentless Rage with 5e 2024 version [your hit points is set to 2x your class level instead of 1] ModUi/&EnableBardCounterCharm2024=Enable Countercharm at level 7 as a reaction instead of level 6 as an action ModUi/&EnableBardExpertiseOneLevelBefore2024=Enable Expertise at levels 2 and 9 instead of 3 and 10 @@ -170,8 +170,8 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Enable Spare the DyingSpider 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/&EnablePaladinLayOnHandsAsBonusAction2024=Enable Lay on Hands as bonus action -ModUi/&EnablePaladinSmiteAsBonusAction2024=Enable Smite as bonus action +ModUi/&EnablePaladinLayOnHandsAsBonusAction2024=Enable Lay on Hands as a bonus action +ModUi/&EnablePaladinSmiteAsBonusAction2024=Enable Smite as a bonus action ModUi/&EnablePaladinSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 ModUi/&EnablePcgRandom=Enable a better random generator algorithm [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Enable applying Poisons to weapons as a bonus action @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 [advantage against creatures marked by Hunter] ModUi/&EnableRangerRoving2024=Enable Roving at level 6 [get 10ft movement when not using Heavy Armor, and same climb speed] ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 -ModUi/&EnableRangerTireless=Enable Tireless at level 10 [use an action to get temporary hit points] +ModUi/&EnableRangerTireless2024=Enable Tireless to replace Hide in Plain Sight at level 10 [use an action to get temporary hit points] ModUi/&EnableRelearnSpells=Enable selection of cantrips or spells already learned from other sources ModUi/&EnableRespecAction=Enable the RESPEC after rest action [don't use RESPEC during a multiplayer session] ModUi/&EnableRitualOnAllCasters2024=Enable Ritual casting on all casters @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=Enable 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/&EnableSorcererSorcerousRestoration2024=Enable Sorcerous Restoration at level 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Enable Origin at level 3 instead of 1 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 diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index bd90d28e51..057a11f5cc 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Habilitar Salto insti ModUi/&EnableBarbarianPersistentRage2024=Intercambia Persistent Rage con la versión 5e 2024 ModUi/&EnableBarbarianPrimalKnowledge2024=Habilitar Conocimiento primordial en el nivel 3 ModUi/&EnableBarbarianReckless2024=Habilitar el beneficio y desventaja de Ataque imprudente para que finalicen al comienzo del siguiente turno -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Permite recuperar un uso de Furia durante un descanso corto en el nivel 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Permite recuperar un uso de Furia durante un descanso corto en el nivel 1 ModUi/&EnableBarbarianRelentlessRage2024=Cambia Ira implacable por la versión 5e 2024 [tus puntos de vida se establecen en el doble de tu nivel de clase en lugar de 1] ModUi/&EnableBardCounterCharm2024=Habilitar Contraencantamiento en el nivel 7 como reacción en lugar del nivel 6 como acción ModUi/&EnableBardExpertiseOneLevelBefore2024=Habilitar Experiencia en los niveles 2 y 9 en lugar de 3 y 10 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Habilita la característica V ModUi/&EnableRangerPreciseHunter2024=Habilita Cazador preciso en el nivel 17 [ventaja contra criaturas marcadas por Cazador] ModUi/&EnableRangerRoving2024=Habilita Roving en el nivel 6 [obtén 10 pies de movimiento cuando no uses armadura pesada y la misma velocidad de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 -ModUi/&EnableRangerTireless=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] +ModUi/&EnableRangerTireless2024=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] 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/&EnableRitualOnAllCasters2024=Habilitar el lanzamiento de Ritual para todos los lanzadores @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=Habilita 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/&EnableSorcererSorcerousRestoration2024=Habilitar Restauración hechicera en el nivel 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Habilitar Origins en el nivel 3 en lugar de 1 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 diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 9d12c6dfc7..bb3596e369 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Activez Pounce instin ModUi/&EnableBarbarianPersistentRage2024=Échangez Persistent Rage avec la version 5e 2024 ModUi/&EnableBarbarianPrimalKnowledge2024=Activer la connaissance primordiale au niveau 3 ModUi/&EnableBarbarianReckless2024=Activez le buff et le debuff Attaque imprudente pour qu'ils se terminent au début du prochain tour -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Permet de récupérer une utilisation de Rage sur un repos court au niveau 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Permet de récupérer une utilisation de Rage sur un repos court au niveau 1 ModUi/&EnableBarbarianRelentlessRage2024=Remplacez Rage implacable par la version 5e 2024 [vos points de vie sont fixés à 2x votre niveau de classe au lieu de 1] ModUi/&EnableBardCounterCharm2024=Activez Contre-charme au niveau 7 en tant que réaction au lieu du niveau 6 en tant qu'action ModUi/&EnableBardExpertiseOneLevelBefore2024=Activer l'Expertise aux niveaux 2 et 9 au lieu de 3 et 10 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Activez la fonction Voile de ModUi/&EnableRangerPreciseHunter2024=Activer Chasseur précis au niveau 17 [avantage contre les créatures marquées par Chasseur] ModUi/&EnableRangerRoving2024=Activez Roving au niveau 6 [obtenez un mouvement de 10 pieds lorsque vous n'utilisez pas d'armure lourde et la même vitesse de montée] ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 -ModUi/&EnableRangerTireless=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] +ModUi/&EnableRangerTireless2024=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] 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/&EnableRitualOnAllCasters2024=Activer le lancement de rituel sur tous les lanceurs de sorts @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=Activez 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/&EnableSorcererSorcerousRestoration2024=Activer la Restauration magique au niveau 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Activer Origines au niveau 3 au lieu de 1 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 diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 5e86cf1731..2f3d4ae1fb 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Abilita Balzo istinti ModUi/&EnableBarbarianPersistentRage2024=Sostituisci Rabbia persistente con la versione 5e 2024 ModUi/&EnableBarbarianPrimalKnowledge2024=Abilita Conoscenza primordiale al livello 3 ModUi/&EnableBarbarianReckless2024=Abilita il buff e il debuff Attacco sconsiderato per terminare all'inizio del turno successivo -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Abilita il recupero di un utilizzo di Rabbia durante un breve riposo al livello 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Abilita il recupero di un utilizzo di Rabbia durante un breve riposo al livello 1 ModUi/&EnableBarbarianRelentlessRage2024=Sostituisci Rabbia implacabile con la versione 5e 2024 [i tuoi punti ferita sono impostati a 2 volte il tuo livello di classe invece di 1] ModUi/&EnableBardCounterCharm2024=Abilita Contrafascino al livello 7 come reazione invece che al livello 6 come azione ModUi/&EnableBardExpertiseOneLevelBefore2024=Abilita Competenza ai livelli 2 e 9 invece che 3 e 10 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Abilita la funzione Velo dell ModUi/&EnableRangerPreciseHunter2024=Abilita Cacciatore Preciso al livello 17 [vantaggio contro le creature contrassegnate dal Cacciatore] ModUi/&EnableRangerRoving2024=Abilita Vagabondare al livello 6 [ottieni 10 piedi di movimento quando non usi un'armatura pesante e la stessa velocità di salita] ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 -ModUi/&EnableRangerTireless=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] +ModUi/&EnableRangerTireless2024=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] 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/&EnableRitualOnAllCasters2024=Abilita il lancio di Rituale su tutti gli incantatori @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=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/&EnableSorcererSorcerousRestoration2024=Abilita Restauro Stregonesco al livello 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Abilita Origini al livello 3 invece che 1 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 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 8cf90ddb95..53bbb415eb 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=レベル 7 で 本 ModUi/&EnableBarbarianPersistentRage2024=Persistent Rage を 5e 2024 バージョンと入れ替える ModUi/&EnableBarbarianPrimalKnowledge2024=レベル3で原始の知識を有効にする ModUi/&EnableBarbarianReckless2024=無謀な攻撃の強化と弱体化を有効にして、次のターンの開始時に終了します -ModUi/&EnableBarbarianRegainOneRageAtShortRest=レベル 1 で、短い休憩中に 1 回の Rage 使用を回復できるようになります。 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=レベル 1 で、短い休憩中に 1 回の Rage 使用を回復できるようになります。 ModUi/&EnableBarbarianRelentlessRage2024=Relentless Rage を 5e 2024 バージョンの [ヒット ポイントはクラス レベルの 1 倍ではなく 2 倍に設定されます] と入れ替えます ModUi/&EnableBardCounterCharm2024=カウンターチャームをレベル6のアクションではなく、レベル7のリアクションとして有効にします ModUi/&EnableBardExpertiseOneLevelBefore2024=エキスパートをレベル3と10ではなくレベル2と9で有効にする @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=レベル 14 で 自然のベ ModUi/&EnableRangerPreciseHunter2024=レベル 17 で 精密ハンター を有効にする [ハンターによってマークされたクリーチャーに対して有利] ModUi/&EnableRangerRoving2024=レベル 6 で 移動 を有効にする [重装甲を使用していないときに 10 フィート移動し、同じ登攀速度を得る] ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする -ModUi/&EnableRangerTireless=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] +ModUi/&EnableRangerTireless2024=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] ModUi/&EnableRelearnSpells=他のソースからすでに学習したキャントリップや呪文を選択できるようにする ModUi/&EnableRespecAction=休憩アクション後に RESPEC を有効にします [マルチプレイヤーセッション中は RESPEC を使用しないでください] ModUi/&EnableRitualOnAllCasters2024=すべてのキャスターに儀式の詠唱を有効にする @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=レベル 1 と 7 で ModUi/&EnableSorcererMagicalGuidance=レベル5で魔法のガイダンスを有効にする ModUi/&EnableSorcererQuickenedAction=クイック呪文アクションを有効にすると、クイック呪文メタマジックを適用したメインアクション呪文をキャストできるようになります。 ModUi/&EnableSorcererSorcerousRestoration2024=レベル5で魔法による回復を有効にする +ModUi/&EnableSorcererToLearnOriginAtLevel3=オリジンをレベル1ではなくレベル3で有効にする ModUi/&EnableSortingDungeonMakerAssets=ダンジョンメーカーエディタでアセットの並べ替えを有効にする ModUi/&EnableSpeech=カスタム キャンペーンでスピーチを有効にする [ナレーションとヒーローのみ] ModUi/&EnableSpeechActorHelp=• 俳優を選択 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 40720689ae..c2c68b48da 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=레벨 7에서 본능 ModUi/&EnableBarbarianPersistentRage2024=Persistent Rage를 5e 2024 버전으로 바꾸세요 ModUi/&EnableBarbarianPrimalKnowledge2024=레벨 3에서 원시 지식을 활성화합니다. ModUi/&EnableBarbarianReckless2024=다음 턴 시작 시 무모한 공격 버프와 디버프가 완료되도록 활성화합니다. -ModUi/&EnableBarbarianRegainOneRageAtShortRest=1레벨에서 짧은 휴식 시간 동안 격노 한 번 회복 가능 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=1레벨에서 짧은 휴식 시간 동안 격노 한 번 회복 가능 ModUi/&EnableBarbarianRelentlessRage2024=Relentless Rage를 5e 2024 버전으로 바꾸세요 [생명력이 클래스 레벨의 1배가 아닌 2배로 설정됨] ModUi/&EnableBardCounterCharm2024=레벨 6의 액션 대신 레벨 7의 반응으로 카운터챠밍을 활성화합니다. ModUi/&EnableBardExpertiseOneLevelBefore2024=레벨 3과 10 대신 레벨 2와 9에서 전문성을 활성화합니다. @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=레벨 14에서 자연의 베 ModUi/&EnableRangerPreciseHunter2024=레벨 17에서 정밀 사냥꾼을 활성화합니다. [사냥꾼이 표시한 생물에 대한 이점] ModUi/&EnableRangerRoving2024=레벨 6에서 이동 가능 [중갑옷을 착용하지 않을 때 10피트 이동 가능, 동일한 등반 속도] ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. -ModUi/&EnableRangerTireless=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] +ModUi/&EnableRangerTireless2024=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] ModUi/&EnableRelearnSpells=다른 출처에서 이미 배운 주문이나 주문 선택 가능 ModUi/&EnableRespecAction=휴식 동작 후 RESPEC 활성화 [멀티플레이어 세션 동안 RESPEC 사용하지 마세요] ModUi/&EnableRitualOnAllCasters2024=모든 시전자에 의식 시전 활성화 @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=레벨 1과 7에서 마법의 안내를 활성화합니다. ModUi/&EnableSorcererQuickenedAction=빠른 주문 동작을 활성화하여 빠른 메타매직이 적용된 주요 동작 주문을 시전할 수 있습니다. ModUi/&EnableSorcererSorcerousRestoration2024=레벨 5에서 마법 회복을 활성화합니다. +ModUi/&EnableSorcererToLearnOriginAtLevel3=레벨 1 대신 레벨 3에서 Origins 활성화 ModUi/&EnableSortingDungeonMakerAssets=Dungeon Maker 편집기에서 자산 정렬 활성화 ModUi/&EnableSpeech=사용자 정의 캠페인에서 음성 활성화 [내레이션 및 영웅만] ModUi/&EnableSpeechActorHelp=• 배우를 선택하세요 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 75476b90c5..844a4c1ee3 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Habilitar Instinctive ModUi/&EnableBarbarianPersistentRage2024=Troque Persistent Rage pela versão 5e 2024 ModUi/&EnableBarbarianPrimalKnowledge2024=Habilitar Conhecimento Primordial no nível 3 ModUi/&EnableBarbarianReckless2024=Habilitar o bônus e o debuff Ataque Reckless para terminar no início do próximo turno -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Habilitar recuperar um uso de Fúria durante um descanso curto no nível 1 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Habilitar recuperar um uso de Fúria durante um descanso curto no nível 1 ModUi/&EnableBarbarianRelentlessRage2024=Troque Relentless Rage pela versão 5e 2024 [seus pontos de vida são definidos como 2x seu nível de classe em vez de 1] ModUi/&EnableBardCounterCharm2024=Habilitar Contrafeitiço no nível 7 como uma reação em vez do nível 6 como uma ação ModUi/&EnableBardExpertiseOneLevelBefore2024=Habilitar Expertise nos níveis 2 e 9 em vez de 3 e 10 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Habilite o recurso Véu da Na ModUi/&EnableRangerPreciseHunter2024=Habilitar Caçador Preciso no nível 17 [vantagem contra criaturas marcadas por Caçador] ModUi/&EnableRangerRoving2024=Habilite Roving no nível 6 [obtenha 10 pés de movimento quando não estiver usando armadura pesada e a mesma velocidade de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 -ModUi/&EnableRangerTireless=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] +ModUi/&EnableRangerTireless2024=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] 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/&EnableRitualOnAllCasters2024=Habilitar a conjuração de Ritual em todos os conjuradores @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=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/&EnableSorcererSorcerousRestoration2024=Habilitar Restauração Feiticeira no nível 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Habilitar Origens no nível 3 em vez de 1 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 diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index ebb1eefeae..579492636d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=Включить Ин ModUi/&EnableBarbarianPersistentRage2024=Заменить Непрерывную ярость на версию 5e 2024 ModUi/&EnableBarbarianPrimalKnowledge2024=Включить Первобытное знание на уровне 3 ModUi/&EnableBarbarianReckless2024=Включить завершение эффектов Безрассудной атаки в начале следующего хода -ModUi/&EnableBarbarianRegainOneRageAtShortRest=Включить на уровне 1 возможность восстанавливать один заряд Ярости за короткий отдых +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=Включить на уровне 1 возможность восстанавливать один заряд Ярости за короткий отдых ModUi/&EnableBarbarianRelentlessRage2024=Заменить Непреклонную ярость на версию 5e 2024 [ваши хиты становятся равны удвоенному значению вашего уровня класса вместо 1] ModUi/&EnableBardCounterCharm2024=Включить Контрчары на уровне 7 реакцией вместо действия на уровне 6 ModUi/&EnableBardExpertiseOneLevelBefore2024=Включить Компетентность на уровнях 2 и 9 вместо 3 и 10 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=Включить умение Точный Охотник на уровне 17 [преимущество против существ, отмеченных Охотником] ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го -ModUi/&EnableRangerTireless=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] +ModUi/&EnableRangerTireless2024=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] ModUi/&EnableRelearnSpells=Включить возможность выбирать заговоры или заклинания, уже известные из других источников ModUi/&EnableRespecAction=Включить возможность РЕСПЕКа после отдыха [не используйте РЕСПЕК в многопользовательских сессиях] ModUi/&EnableRitualOnAllCasters2024=Включить Ритуальное колдовство для всех заклинателей @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=Включить Волшебное указание на уровне 5 ModUi/&EnableSorcererQuickenedAction=Включить действие Ускоренное заклинание, позволяющее накладывать заклинание основного действия с применением метамагии Ускоренного заклинания. ModUi/&EnableSorcererSorcerousRestoration2024=Включить Чародейское восстановление на уровне 5 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Включить Origins на уровне 3 вместо 1 ModUi/&EnableSortingDungeonMakerAssets=Включить сортировку ассетов в редакторе Создателя Подземелий ModUi/&EnableSpeech=Включить речь в пользовательских кампаниях [только повествование и герои] ModUi/&EnableSpeechActorHelp=• Выберите актера diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 7ca20d4865..e3f812c3e5 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -103,7 +103,7 @@ ModUi/&EnableBarbarianInstinctivePounce2024=在第 7 级启用本 ModUi/&EnableBarbarianPersistentRage2024=将 Persistent Rage 与 5e 2024 版本交换 ModUi/&EnableBarbarianPrimalKnowledge2024=在第 3 级启用原始知识 ModUi/&EnableBarbarianReckless2024=启用鲁莽攻击增益效果和减益效果,在下一回合开始时结束 -ModUi/&EnableBarbarianRegainOneRageAtShortRest=在第 1 级时,允许在短暂休息后恢复一次怒气 +ModUi/&EnableBarbarianRegainOneRageAtShortRest2024=在第 1 级时,允许在短暂休息后恢复一次怒气 ModUi/&EnableBarbarianRelentlessRage2024=将无情之怒与 5e 2024 版本交换[你的生命值设置为你的职业等级的 2 倍而不是 1 倍] ModUi/&EnableBardCounterCharm2024=在 7 级启用 Countercharm 作为反应,而不是在 6 级启用作为动作 ModUi/&EnableBardExpertiseOneLevelBefore2024=在 2 级和 9 级(而不是 3 级和 10 级)启用专业知识 @@ -187,7 +187,7 @@ ModUi/&EnableRangerNatureShroud2024=在 14 级时启用自然面 ModUi/&EnableRangerPreciseHunter2024=在 17 级时启用精准猎手 [对抗被猎人标记的生物的优势] ModUi/&EnableRangerRoving2024=在 6 级时启用漫游 [不使用重型装甲时可移动 10 英尺,且爬升速度相同] ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 -ModUi/&EnableRangerTireless=在 10 级时启用不知疲倦 [使用动作获取临时生命值] +ModUi/&EnableRangerTireless2024=在 10 级时启用不知疲倦 [使用动作获取临时生命值] ModUi/&EnableRelearnSpells=可以选择已从其他来源学到的戏法或法术 ModUi/&EnableRespecAction=休息操作后启用 RESPEC [在多人游戏会话期间不要使用 RESPEC] ModUi/&EnableRitualOnAllCasters2024=对所有施法者启用仪式施法 @@ -203,6 +203,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=在 1 级和 7 级时 ModUi/&EnableSorcererMagicalGuidance=在 5 级时启用魔法指引 ModUi/&EnableSorcererQuickenedAction=启用加速法术动作以允许施放应用了加速超魔法的主要动作法术 ModUi/&EnableSorcererSorcerousRestoration2024=在第 5 级启用魔法恢复 +ModUi/&EnableSorcererToLearnOriginAtLevel3=在 3 级(而非 1 级)启用 Origins ModUi/&EnableSortingDungeonMakerAssets=在 Dungeon Maker 编辑器上启用资产排序 ModUi/&EnableSpeech=在自定义战役中启用语音[仅限旁白和英雄] ModUi/&EnableSpeechActorHelp=• 选择演员 From 162628f770143a90aefc4d18ed1d86b373427d04 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 17:37:14 -0800 Subject: [PATCH 08/42] update diagnostics --- .../UnfinishedBusinessBlueprints/Assets.txt | 18 ++ .../FeatureRangerFoeSlayer2024.json | 30 +++ .../CombatAffinityRangerPreciseHunter.json | 62 ++++++ .../FeatureSetRangerDeftExplorer.json | 41 ++++ .../MovementAffinityRangerRoving.json | 56 +++++ .../PointPoolRangerDeftExplorerLanguages.json | 39 ++++ .../PointPoolRangerDeftExplorerSkills.json | 39 ++++ .../PointPoolRangerExpertise.json | 39 ++++ .../PowerRangerTireless.json | 202 ++++++++++++++++++ .../SenseRangerFeralSenses2024.json | 34 +++ .../ItemDefinition/CEThunderGauntlet.json | 2 +- .../ItemDefinition/Katana+1.json | 4 +- .../ItemDefinition/Katana+2.json | 4 +- .../ItemDefinition/Katana+3.json | 4 +- .../ItemDefinition/Katana.json | 4 +- .../ItemDefinition/KatanaPrimed.json | 4 +- .../ItemDefinition/Katana_Bearclaw.json | 4 +- .../ItemDefinition/Katana_Lightbringer.json | 4 +- .../ItemDefinition/Katana_Souldrinker.json | 4 +- .../ItemDefinition/Katana_Whiteburn.json | 4 +- SolastaUnfinishedBusiness/Settings/empty.xml | 12 +- 21 files changed, 599 insertions(+), 11 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerFoeSlayer2024.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerDeftExplorer.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityRangerRoving.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerLanguages.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerSkills.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerExpertise.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSense/SenseRangerFeralSenses2024.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 1ba6cd6af3..ff0e625838 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2257,6 +2257,7 @@ CombatAffinityPathOfTheSpiritsHonedAnimalAspectsBear FeatureDefinitionCombatAffi CombatAffinityPathOfTheSpiritsWolfLeadershipPack FeatureDefinitionCombatAffinity FeatureDefinition 6f352fd3-4444-5b6d-af92-b7778c902dae CombatAffinityPathOfTheWildMagicBolsteringMagicRoll FeatureDefinitionCombatAffinity FeatureDefinition e798b3ce-41ef-540d-99ce-2ca430292d5a CombatAffinityPathOfTheYeomanBulwark FeatureDefinitionCombatAffinity FeatureDefinition c0655645-a5b8-5af1-9fe9-43a1a46990c2 +CombatAffinityRangerPreciseHunter FeatureDefinitionCombatAffinity FeatureDefinition bbffafa1-f24b-5616-9640-50e273dd0cc0 CombatAffinityRangerSkyWarriorGiftOfTheWind FeatureDefinitionCombatAffinity FeatureDefinition 683630aa-4cd0-5813-b496-6f1c715c1b0d CombatAffinityRogueCunningStrikeDisarmed FeatureDefinitionCombatAffinity FeatureDefinition 2723f5df-17ca-5655-afa6-266028a21ace CombatAffinityRoguishAcrobatFluidMotions FeatureDefinitionCombatAffinity FeatureDefinition a18c050f-93b7-5cd7-bbc5-a2da036a6671 @@ -2548,6 +2549,7 @@ FeaturePatronEldritchSurgeBlastPursuit FeatureDefinition FeatureDefinition e0083 FeaturePolearm FeatureDefinition FeatureDefinition 8e6e835a-2424-5900-8677-034801779b88 FeatureProducedFlameThrower FeatureDefinition FeatureDefinition be97c29d-f954-54ce-bfd7-99320e3b9899 FeatureRangerFoeSlayer FeatureDefinition FeatureDefinition cdfe8662-3c8b-55db-b614-21706bef5e01 +FeatureRangerFoeSlayer2024 FeatureDefinition FeatureDefinition fa33be7f-650e-5273-b9be-3ea0315bedea FeatureRangerGloomStalkerShadowyDodge FeatureDefinition FeatureDefinition 7c7fe1a4-7f54-5d81-8df9-be34758b619a FeatureRangerGloomStalkerStalkersFlurry FeatureDefinition FeatureDefinition e6de6649-b6f6-5d5b-a875-5c66feff7d69 FeatureRangerGloomStalkerUmbralSight FeatureDefinition FeatureDefinition dd2b7969-07a3-50d5-97a6-3295047aac68 @@ -2699,6 +2701,7 @@ FeatureSetPathOfTheWildMagicBolsteringMagic FeatureDefinitionFeatureSet FeatureD FeatureSetPatronMountainEternalGuardian FeatureDefinitionFeatureSet FeatureDefinition 264a8035-9d68-5f6a-90f4-2d02fc485599 FeatureSetPatronMountainIceboundSoul FeatureDefinitionFeatureSet FeatureDefinition 086457e8-ab3c-5a54-ad9b-83aa1a3eeac0 FeatureSetPatronMountainKnowledgeOfAeons FeatureDefinitionFeatureSet FeatureDefinition 5676a3e3-6892-5ed3-99d1-d6a818d45232 +FeatureSetRangerDeftExplorer FeatureDefinitionFeatureSet FeatureDefinition 9b464769-fe9b-57b0-8934-ee63998a96ae FeatureSetRangerFeyWandererOtherworldlyGlamour FeatureDefinitionFeatureSet FeatureDefinition 647f00f2-080a-5c2f-b57f-0cca8458762b FeatureSetRangerGloomStalkerIronMind FeatureDefinitionFeatureSet FeatureDefinition f39195a2-c049-5e6a-9562-b25600c44941 FeatureSetRangerHellWalkerBurningConstitution FeatureDefinitionFeatureSet FeatureDefinition e6edb361-4b65-55f0-b7dd-8a2fd6ebe8f5 @@ -2988,6 +2991,7 @@ MovementAffinityPathOfTheBeastBestialSoulJump FeatureDefinitionMovementAffinity MovementAffinityPathOfTheYeomanBulwark FeatureDefinitionMovementAffinity FeatureDefinition 1abd8d9f-8be4-5121-a426-70125bc3d6d4 MovementAffinityPsionicBlast FeatureDefinitionMovementAffinity FeatureDefinition a72db1e4-368a-5b48-978e-36bfa7ca4919 MovementAffinityRangerGloomStalkerDreadAmbusher FeatureDefinitionMovementAffinity FeatureDefinition f1dbd318-a5ef-56c1-9416-ff9394d95dc3 +MovementAffinityRangerRoving FeatureDefinitionMovementAffinity FeatureDefinition e1f22802-8396-599e-87b7-4b20655b298b MovementAffinityRangerSkyWarriorGiftOfTheWind FeatureDefinitionMovementAffinity FeatureDefinition d6801899-8493-5109-97f8-3cf394a287ba MovementAffinityRoguishAcrobatFluidMotions FeatureDefinitionMovementAffinity FeatureDefinition 0308d92d-8877-5bfd-bc60-29c215ebabcb MovementAffinityRoguishAcrobatSwiftWind FeatureDefinitionMovementAffinity FeatureDefinition 02b26025-0d4c-5d57-b10f-adc36b3fe642 @@ -3064,6 +3068,9 @@ PointPoolInventorTools FeatureDefinitionPointPool FeatureDefinition a216b8c6-b71 PointPoolLanguageChoice_one FeatureDefinitionPointPool FeatureDefinition 15fb3c12-4452-5227-a72a-12ee722f4e15 PointPoolLizardfolkNaturesIntuition FeatureDefinitionPointPool FeatureDefinition 3f259ec5-0397-5637-84f1-53a714f2e01b PointPoolMalakhAbilityScore FeatureDefinitionPointPool FeatureDefinition 3e92e8cd-1f23-50bd-b90b-9e69075a4cb0 +PointPoolRangerDeftExplorerLanguages FeatureDefinitionPointPool FeatureDefinition 047958d0-db76-5be5-a1b4-bc8c870428ce +PointPoolRangerDeftExplorerSkills FeatureDefinitionPointPool FeatureDefinition 266db548-2f6d-54fd-8279-a4d8c46af385 +PointPoolRangerExpertise FeatureDefinitionPointPool FeatureDefinition 365a89a4-94bf-50a9-ac07-85a13623830e PointPoolRangerFeyWandererOtherworldlyGlamour FeatureDefinitionPointPool FeatureDefinition 4544fb46-2193-545e-a530-83cc83e1c305 PointPoolRangerSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinition 35dd0cb5-a799-59b5-ac24-07e8df39f511 PointPoolRogueSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinition d3f22f09-edff-5fd6-81bc-fcebed983a20 @@ -3876,6 +3883,7 @@ PowerRangerSkyWarriorCloudDanceDismiss FeatureDefinitionPower FeatureDefinition PowerRangerSkyWarriorCloudDanceSprout FeatureDefinitionPower FeatureDefinition 49620ed0-a7e0-5192-86dd-30a1e5b16bba PowerRangerSkyWarriorGhostlyHowl FeatureDefinitionPower FeatureDefinition 20ca7409-ef20-5f8f-8c40-79b81f3bf712 PowerRangerSkyWarriorGiftOfTheWind FeatureDefinitionPower FeatureDefinition c50ce3a5-d5a0-5965-a5f6-4a9e1a0e3cfd +PowerRangerTireless FeatureDefinitionPower FeatureDefinition cf7ae9d1-56fe-576a-af92-dc8270575d74 PowerRangerWildMasterAdvancedTraining FeatureDefinitionPower FeatureDefinition 2ff339dd-2dfb-575c-bec2-e8403bd5d492 PowerRangerWildMasterBeastCompanionPool FeatureDefinitionPower FeatureDefinition 3ad50c07-f0f9-5f0d-b65a-8c7437bb6420 PowerRangerWildMasterKillCommand FeatureDefinitionPower FeatureDefinition b97390d9-0ab4-56a7-8d23-add910b758b3 @@ -4326,6 +4334,7 @@ SenseDarkvision6 FeatureDefinitionSense FeatureDefinition 2eb07bcd-4bfb-5940-b0d SenseNormalVision24 FeatureDefinitionSense FeatureDefinition 9364490a-b87d-57aa-84fa-3ff8bfde87a6 SenseNormalVision48 FeatureDefinitionSense FeatureDefinition f91a6b9b-9ceb-5aaa-99e9-4f95aa84be3e SenseRangerFeralSenses FeatureDefinitionSense FeatureDefinition 0c871bac-a395-517c-a691-af2098e07d2d +SenseRangerFeralSenses2024 FeatureDefinitionSense FeatureDefinition d936a702-2010-5b6e-b7d9-b4111f780a19 SubclassChoiceInventor FeatureDefinitionSubclassChoice FeatureDefinition 00e82007-cb39-5d19-a903-551a8fa5e13e SuggestedSkillsAcademicBackground FeatureDefinition FeatureDefinition 55a2046f-a295-50cb-a57a-b9f3b77dfe00 SuggestedSkillsAcolyteBackground FeatureDefinition FeatureDefinition 4dd8b028-82e1-512c-88a2-7d1286f07d75 @@ -4802,6 +4811,7 @@ CombatAffinityPathOfTheSpiritsHonedAnimalAspectsBear FeatureDefinitionCombatAffi CombatAffinityPathOfTheSpiritsWolfLeadershipPack FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 6f352fd3-4444-5b6d-af92-b7778c902dae CombatAffinityPathOfTheWildMagicBolsteringMagicRoll FeatureDefinitionCombatAffinity FeatureDefinitionAffinity e798b3ce-41ef-540d-99ce-2ca430292d5a CombatAffinityPathOfTheYeomanBulwark FeatureDefinitionCombatAffinity FeatureDefinitionAffinity c0655645-a5b8-5af1-9fe9-43a1a46990c2 +CombatAffinityRangerPreciseHunter FeatureDefinitionCombatAffinity FeatureDefinitionAffinity bbffafa1-f24b-5616-9640-50e273dd0cc0 CombatAffinityRangerSkyWarriorGiftOfTheWind FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 683630aa-4cd0-5813-b496-6f1c715c1b0d CombatAffinityRogueCunningStrikeDisarmed FeatureDefinitionCombatAffinity FeatureDefinitionAffinity 2723f5df-17ca-5655-afa6-266028a21ace CombatAffinityRoguishAcrobatFluidMotions FeatureDefinitionCombatAffinity FeatureDefinitionAffinity a18c050f-93b7-5cd7-bbc5-a2da036a6671 @@ -5417,6 +5427,7 @@ CombatAffinityPathOfTheSpiritsHonedAnimalAspectsBear FeatureDefinitionCombatAffi CombatAffinityPathOfTheSpiritsWolfLeadershipPack FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 6f352fd3-4444-5b6d-af92-b7778c902dae CombatAffinityPathOfTheWildMagicBolsteringMagicRoll FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity e798b3ce-41ef-540d-99ce-2ca430292d5a CombatAffinityPathOfTheYeomanBulwark FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity c0655645-a5b8-5af1-9fe9-43a1a46990c2 +CombatAffinityRangerPreciseHunter FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity bbffafa1-f24b-5616-9640-50e273dd0cc0 CombatAffinityRangerSkyWarriorGiftOfTheWind FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 683630aa-4cd0-5813-b496-6f1c715c1b0d CombatAffinityRogueCunningStrikeDisarmed FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity 2723f5df-17ca-5655-afa6-266028a21ace CombatAffinityRoguishAcrobatFluidMotions FeatureDefinitionCombatAffinity FeatureDefinitionCombatAffinity a18c050f-93b7-5cd7-bbc5-a2da036a6671 @@ -5679,6 +5690,7 @@ FeatureSetPathOfTheWildMagicBolsteringMagic FeatureDefinitionFeatureSet FeatureD FeatureSetPatronMountainEternalGuardian FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 264a8035-9d68-5f6a-90f4-2d02fc485599 FeatureSetPatronMountainIceboundSoul FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 086457e8-ab3c-5a54-ad9b-83aa1a3eeac0 FeatureSetPatronMountainKnowledgeOfAeons FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 5676a3e3-6892-5ed3-99d1-d6a818d45232 +FeatureSetRangerDeftExplorer FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 9b464769-fe9b-57b0-8934-ee63998a96ae FeatureSetRangerFeyWandererOtherworldlyGlamour FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 647f00f2-080a-5c2f-b57f-0cca8458762b FeatureSetRangerGloomStalkerIronMind FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet f39195a2-c049-5e6a-9562-b25600c44941 FeatureSetRangerHellWalkerBurningConstitution FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e6edb361-4b65-55f0-b7dd-8a2fd6ebe8f5 @@ -5881,6 +5893,7 @@ MovementAffinityPathOfTheBeastBestialSoulJump FeatureDefinitionMovementAffinity MovementAffinityPathOfTheYeomanBulwark FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 1abd8d9f-8be4-5121-a426-70125bc3d6d4 MovementAffinityPsionicBlast FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity a72db1e4-368a-5b48-978e-36bfa7ca4919 MovementAffinityRangerGloomStalkerDreadAmbusher FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity f1dbd318-a5ef-56c1-9416-ff9394d95dc3 +MovementAffinityRangerRoving FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity e1f22802-8396-599e-87b7-4b20655b298b MovementAffinityRangerSkyWarriorGiftOfTheWind FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity d6801899-8493-5109-97f8-3cf394a287ba MovementAffinityRoguishAcrobatFluidMotions FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 0308d92d-8877-5bfd-bc60-29c215ebabcb MovementAffinityRoguishAcrobatSwiftWind FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 02b26025-0d4c-5d57-b10f-adc36b3fe642 @@ -5957,6 +5970,9 @@ PointPoolInventorTools FeatureDefinitionPointPool FeatureDefinitionPointPool a21 PointPoolLanguageChoice_one FeatureDefinitionPointPool FeatureDefinitionPointPool 15fb3c12-4452-5227-a72a-12ee722f4e15 PointPoolLizardfolkNaturesIntuition FeatureDefinitionPointPool FeatureDefinitionPointPool 3f259ec5-0397-5637-84f1-53a714f2e01b PointPoolMalakhAbilityScore FeatureDefinitionPointPool FeatureDefinitionPointPool 3e92e8cd-1f23-50bd-b90b-9e69075a4cb0 +PointPoolRangerDeftExplorerLanguages FeatureDefinitionPointPool FeatureDefinitionPointPool 047958d0-db76-5be5-a1b4-bc8c870428ce +PointPoolRangerDeftExplorerSkills FeatureDefinitionPointPool FeatureDefinitionPointPool 266db548-2f6d-54fd-8279-a4d8c46af385 +PointPoolRangerExpertise FeatureDefinitionPointPool FeatureDefinitionPointPool 365a89a4-94bf-50a9-ac07-85a13623830e PointPoolRangerFeyWandererOtherworldlyGlamour FeatureDefinitionPointPool FeatureDefinitionPointPool 4544fb46-2193-545e-a530-83cc83e1c305 PointPoolRangerSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinitionPointPool 35dd0cb5-a799-59b5-ac24-07e8df39f511 PointPoolRogueSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinitionPointPool d3f22f09-edff-5fd6-81bc-fcebed983a20 @@ -6784,6 +6800,7 @@ PowerRangerSkyWarriorCloudDanceDismiss FeatureDefinitionPower FeatureDefinitionP PowerRangerSkyWarriorCloudDanceSprout FeatureDefinitionPower FeatureDefinitionPower 49620ed0-a7e0-5192-86dd-30a1e5b16bba PowerRangerSkyWarriorGhostlyHowl FeatureDefinitionPower FeatureDefinitionPower 20ca7409-ef20-5f8f-8c40-79b81f3bf712 PowerRangerSkyWarriorGiftOfTheWind FeatureDefinitionPower FeatureDefinitionPower c50ce3a5-d5a0-5965-a5f6-4a9e1a0e3cfd +PowerRangerTireless FeatureDefinitionPower FeatureDefinitionPower cf7ae9d1-56fe-576a-af92-dc8270575d74 PowerRangerWildMasterAdvancedTraining FeatureDefinitionPower FeatureDefinitionPower 2ff339dd-2dfb-575c-bec2-e8403bd5d492 PowerRangerWildMasterBeastCompanionPool FeatureDefinitionPower FeatureDefinitionPower 3ad50c07-f0f9-5f0d-b65a-8c7437bb6420 PowerRangerWildMasterKillCommand FeatureDefinitionPower FeatureDefinitionPower b97390d9-0ab4-56a7-8d23-add910b758b3 @@ -7216,6 +7233,7 @@ SenseDarkvision6 FeatureDefinitionSense FeatureDefinitionSense 2eb07bcd-4bfb-594 SenseNormalVision24 FeatureDefinitionSense FeatureDefinitionSense 9364490a-b87d-57aa-84fa-3ff8bfde87a6 SenseNormalVision48 FeatureDefinitionSense FeatureDefinitionSense f91a6b9b-9ceb-5aaa-99e9-4f95aa84be3e SenseRangerFeralSenses FeatureDefinitionSense FeatureDefinitionSense 0c871bac-a395-517c-a691-af2098e07d2d +SenseRangerFeralSenses2024 FeatureDefinitionSense FeatureDefinitionSense d936a702-2010-5b6e-b7d9-b4111f780a19 SubclassChoiceInventor FeatureDefinitionSubclassChoice FeatureDefinitionSubclassChoice 00e82007-cb39-5d19-a903-551a8fa5e13e SummoningAffinityCircleOfTheWildfireSpirit FeatureDefinitionSummoningAffinity FeatureDefinitionSummoningAffinity 029aa1a0-af7a-5dbc-85cb-6da83416c8d2 SummoningAffinityDeadMasterUndeadChains FeatureDefinitionSummoningAffinity FeatureDefinitionSummoningAffinity afdb20e8-8265-5158-86f0-89a10fad52c1 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerFoeSlayer2024.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerFoeSlayer2024.json new file mode 100644 index 0000000000..4a122f4f6c --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerFoeSlayer2024.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureRangerFoeSlayer2024Title", + "description": "Feature/&FeatureRangerFoeSlayer2024Description", + "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": "fa33be7f-650e-5273-b9be-3ea0315bedea", + "contentPack": 9999, + "name": "FeatureRangerFoeSlayer2024" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json new file mode 100644 index 0000000000..525959a40d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json @@ -0,0 +1,62 @@ +{ + "$type": "FeatureDefinitionCombatAffinity, Assembly-CSharp", + "initiativeAffinity": "None", + "canRageToOvercomeSurprise": false, + "attackOfOpportunityImmunity": false, + "attackOfOpportunityOnMeAdvantageType": "None", + "attackOnMeAdvantage": "None", + "attackOnMeCountLimit": -1, + "autoCritical": false, + "criticalHitImmunity": false, + "myAttackAffinityFilter": "Always", + "myAttackAdvantage": "Advantage", + "ignoreCover": false, + "permanentCover": "None", + "ignoreRangeAdvantage": false, + "myAttackModifierValueDetermination": "None", + "myAttackModifierSign": "Add", + "myAttackModifierDiceNumber": 1, + "myAttackModifierDieType": "D4", + "myAttackDamageMultiplier": 1.0, + "myDamageReductionValueDetermination": "None", + "myDamageReductionDiceNumber": 1, + "myDamageReductionDieType": "D4", + "situationalContext": "TargetHasCondition", + "requiredCondition": "Definition:ConditionMarkedByHunter:dbc2137c1fae2334da286399dea38fd0", + "nullifiedBySenses": [], + "nullifiedBySelfSenses": [], + "multiAttackAffinity": false, + "multiAttackDefenseValue": 0, + "readyAttackAdvantage": "None", + "shoveOnReadyAttackHit": false, + "autoFormatDescription": true, + "myselfFamilyRestrictions": [], + "otherCharacterFamilyRestrictions": [], + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&CombatAffinityRangerPreciseHunterTitle", + "description": "Feature/&CombatAffinityRangerPreciseHunterDescription", + "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": "bbffafa1-f24b-5616-9640-50e273dd0cc0", + "contentPack": 9999, + "name": "CombatAffinityRangerPreciseHunter" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerDeftExplorer.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerDeftExplorer.json new file mode 100644 index 0000000000..9855c258bd --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerDeftExplorer.json @@ -0,0 +1,41 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:PointPoolRangerDeftExplorerLanguages:047958d0-db76-5be5-a1b4-bc8c870428ce", + "Definition:PointPoolRangerDeftExplorerSkills:266db548-2f6d-54fd-8279-a4d8c46af385" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetRangerDeftExplorerTitle", + "description": "Feature/&FeatureSetRangerDeftExplorerDescription", + "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": "9b464769-fe9b-57b0-8934-ee63998a96ae", + "contentPack": 9999, + "name": "FeatureSetRangerDeftExplorer" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityRangerRoving.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityRangerRoving.json new file mode 100644 index 0000000000..8cf2799f8d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityRangerRoving.json @@ -0,0 +1,56 @@ +{ + "$type": "FeatureDefinitionMovementAffinity, Assembly-CSharp", + "appliesToAllModes": true, + "moveMode": "Walk", + "baseSpeedAdditiveModifier": 2, + "additiveModifierAdvancement": "None", + "additiveModifierByLevelTable": [], + "forceMinimalBaseSpeed": false, + "minimalBaseSpeed": 6, + "baseSpeedMultiplicativeModifier": 1.0, + "minMaxMoves": 0, + "speedAddBase": false, + "fastClimber": true, + "expertClimber": false, + "canMoveOnWalls": false, + "canFlyWithWalkSpeed": false, + "enhancedJump": false, + "additionalJumpCells": 0, + "immuneDifficultTerrain": false, + "disableVault": false, + "disableDrop": false, + "disableJump": false, + "disableClimb": false, + "additionalFallThreshold": 0, + "encumbranceImmunity": false, + "heavyArmorImmunity": false, + "situationalContext": "None", + "additionalDashTag": null, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&MovementAffinityRangerRovingTitle", + "description": "Feature/&MovementAffinityRangerRovingDescription", + "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": "e1f22802-8396-599e-87b7-4b20655b298b", + "contentPack": 9999, + "name": "MovementAffinityRangerRoving" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerLanguages.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerLanguages.json new file mode 100644 index 0000000000..bc4cb512b7 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerLanguages.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Language", + "poolAmount": 2, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": null, + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 9, + "extraSpellsTag": "", + "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": "047958d0-db76-5be5-a1b4-bc8c870428ce", + "contentPack": 9999, + "name": "PointPoolRangerDeftExplorerLanguages" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerSkills.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerSkills.json new file mode 100644 index 0000000000..2ea5613742 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerDeftExplorerSkills.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Expertise", + "poolAmount": 1, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": null, + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 9, + "extraSpellsTag": "", + "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": "266db548-2f6d-54fd-8279-a4d8c46af385", + "contentPack": 9999, + "name": "PointPoolRangerDeftExplorerSkills" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerExpertise.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerExpertise.json new file mode 100644 index 0000000000..a60daf3c86 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolRangerExpertise.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Expertise", + "poolAmount": 2, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": null, + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 9, + "extraSpellsTag": "", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PointPoolRangerExpertiseTitle", + "description": "Feature/&PointPoolRangerExpertiseDescription", + "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": "365a89a4-94bf-50a9-ac07-85a13623830e", + "contentPack": 9999, + "name": "PointPoolRangerExpertise" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json new file mode 100644 index 0000000000..6a709911a7 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json @@ -0,0 +1,202 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "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": "AtWill", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerRangerTirelessTitle", + "description": "Feature/&PowerRangerTirelessDescription", + "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": "cf7ae9d1-56fe-576a-af92-dc8270575d74", + "contentPack": 9999, + "name": "PowerRangerTireless" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSense/SenseRangerFeralSenses2024.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSense/SenseRangerFeralSenses2024.json new file mode 100644 index 0000000000..7993edcc71 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionSense/SenseRangerFeralSenses2024.json @@ -0,0 +1,34 @@ +{ + "$type": "FeatureDefinitionSense, Assembly-CSharp", + "senseType": "Blindsight", + "senseRange": 6, + "stealthBreakerRange": 0, + "revealsHiddenObjects": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&SenseRangerFeralSenses2024Title", + "description": "Feature/&SenseRangerFeralSenses2024Description", + "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": "d936a702-2010-5b6e-b7d9-b4111f780a19", + "contentPack": 9999, + "name": "SenseRangerFeralSenses2024" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/CEThunderGauntlet.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/CEThunderGauntlet.json index df1a1b221f..39407ecb60 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/CEThunderGauntlet.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/CEThunderGauntlet.json @@ -519,7 +519,7 @@ "m_SubObjectName": null, "m_SubObjectType": null }, - "scaleFactorWhileWielded": 0.25, + "scaleFactorWhileWielded": 0.2, "useArmorAddressableName": false, "isArmorAddressableNameGenderSpecific": false, "armorAddressableName": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json index 611a15d455..a33828bb0e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json index e468c097b4..aaad99b20e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json index 849dfde0e9..2a1d13537f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana.json index 9585591c20..17ca3d758d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/KatanaPrimed.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/KatanaPrimed.json index c0568a7e54..c2341a2488 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/KatanaPrimed.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/KatanaPrimed.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json index cc90238054..77173a3c61 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json index f9182517f1..a1bba28077 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json index fe416b2681..14a63bd3a6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json index e3e4a8a60c..69fe9c321f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json @@ -5,10 +5,12 @@ "weight": 3.0, "slotTypes": [ "MainHandSlot", + "OffHandSlot", "ContainerSlot" ], "slotsWhereActive": [ - "MainHandSlot" + "MainHandSlot", + "OffHandSlot" ], "activeOnGround": false, "destroyedWhenUnequiped": false, diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 2aad7bd35a..3cb6307385 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -2,7 +2,7 @@ 1 0 - 0 + 3 false false false @@ -659,8 +659,17 @@ false false false + false + false + false + false + false false + false + false + false false + false false false @@ -689,6 +698,7 @@ false false false + false false false From 34ad8199a0b56cc5b4576f988f5d60e4888dbd0f Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 17:37:33 -0800 Subject: [PATCH 09/42] remove fody weavers --- SolastaUnfinishedBusiness/FodyWeavers.xml | 3 --- .../SolastaUnfinishedBusiness.csproj | 10 ---------- 2 files changed, 13 deletions(-) delete mode 100644 SolastaUnfinishedBusiness/FodyWeavers.xml diff --git a/SolastaUnfinishedBusiness/FodyWeavers.xml b/SolastaUnfinishedBusiness/FodyWeavers.xml deleted file mode 100644 index ebf4f5f72b..0000000000 --- a/SolastaUnfinishedBusiness/FodyWeavers.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj index 0dfff4a47c..2678490c9a 100644 --- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj +++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj @@ -56,16 +56,6 @@ portable - - - all - runtime; build; native; contentfiles; analyzers - - - all - - - From 058eacb1f9b52e62eaee72ce6f22a999d6c0391c Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 19:05:29 -0800 Subject: [PATCH 10/42] add / tweak tabletop 2024 settings --- .../UnfinishedBusinessBlueprints/Assets.txt | 7 + .../FeatureRangerRelentlessHunter.json | 30 ++ .../AutoPreparedHuntersMark.json | 42 +++ .../FeatureSetRangerFavoredEnemy.json | 41 +++ .../PowerFavoredEnemyHuntersMark.json | 327 ++++++++++++++++++ .../ChangelogHistory.txt | 6 +- .../Displays/ClassesDisplay.cs | 14 + .../Displays/GeneralDisplay.cs | 21 ++ .../IPreventRemoveConcentrationOnDamage.cs | 7 +- .../Models/2024RangerContext.cs | 86 ++++- .../Models/2024SorcererContext.cs | 2 +- .../Subclasses/PatronMoonlitScion.cs | 7 +- .../Translations/de/Others-de.txt | 8 +- .../Translations/de/Settings-de.txt | 2 + .../Translations/en/Others-en.txt | 5 + .../Translations/en/Settings-en.txt | 4 +- .../Translations/es/Others-es.txt | 6 + .../Translations/es/Settings-es.txt | 2 + .../Translations/fr/Others-fr.txt | 6 + .../Translations/fr/Settings-fr.txt | 2 + .../Translations/it/Others-it.txt | 6 + .../Translations/it/Settings-it.txt | 2 + .../Translations/ja/Others-ja.txt | 6 + .../Translations/ja/Settings-ja.txt | 2 + .../Translations/ko/Others-ko.txt | 6 + .../Translations/ko/Settings-ko.txt | 2 + .../Translations/pt-BR/Others-pt-BR.txt | 6 + .../Translations/pt-BR/Settings-pt-BR.txt | 2 + .../Translations/ru/Others-ru.txt | 6 + .../Translations/ru/Settings-ru.txt | 2 + .../Translations/zh-CN/Others-zh-CN.txt | 6 + .../Translations/zh-CN/Settings-zh-CN.txt | 2 + 32 files changed, 655 insertions(+), 18 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerRelentlessHunter.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedHuntersMark.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerFavoredEnemy.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index ff0e625838..26f44a44f6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2084,6 +2084,7 @@ AttributeModifierWayOfTheDragonAscension FeatureDefinitionAttributeModifier Feat AttributeModifierWayOfWealAndWoeWeal FeatureDefinitionAttributeModifier FeatureDefinition a9bda6a1-f821-5879-961f-b9937c424128 AttributeModifierWendigoDexterityAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinition 667b9580-a4a0-5205-81d5-d4225e7ad082 AttributeModifierWendigoStrengthAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinition 3862f3be-8838-57af-a425-d85714a2dfba +AutoPreparedHuntersMark FeatureDefinitionAutoPreparedSpells FeatureDefinition 248576bc-5240-5f17-85be-873ecefb12cb AutoPreparedSpellsAncientForest FeatureDefinitionAutoPreparedSpells FeatureDefinition d8e3a948-e182-50a1-9ef4-f013a8a0436f AutoPreparedSpellsArcanist FeatureDefinitionAutoPreparedSpells FeatureDefinition 82245fef-4569-5ac9-8e11-8447d946aa5c AutoPreparedSpellsBardWordOfCreation FeatureDefinitionAutoPreparedSpells FeatureDefinition bb747a1f-f939-58b0-a0f9-c2ffb381efdd @@ -2554,6 +2555,7 @@ FeatureRangerGloomStalkerShadowyDodge FeatureDefinition FeatureDefinition 7c7fe1 FeatureRangerGloomStalkerStalkersFlurry FeatureDefinition FeatureDefinition e6de6649-b6f6-5d5b-a875-5c66feff7d69 FeatureRangerGloomStalkerUmbralSight FeatureDefinition FeatureDefinition dd2b7969-07a3-50d5-97a6-3295047aac68 FeatureRangerLightBearerWardingLight FeatureDefinition FeatureDefinition 78c4478b-7ed0-54e5-a3b0-357e29defd74 +FeatureRangerRelentlessHunter FeatureDefinition FeatureDefinition 902e6fba-40ff-51f5-abda-5db2ac4d3419 FeatureRangerSkyWarriorDeathFromAbove FeatureDefinitionPower FeatureDefinition 5f75e606-8450-559c-bbb6-7cadecf089d3 FeatureRavenScionKillingSpree FeatureDefinition FeatureDefinition 2f09173e-812e-5d27-afce-6f3ff28144e3 FeatureRogueElusive FeatureDefinition FeatureDefinition 760732d6-b1c4-5085-9a46-2874e74621e0 @@ -2702,6 +2704,7 @@ FeatureSetPatronMountainEternalGuardian FeatureDefinitionFeatureSet FeatureDefin FeatureSetPatronMountainIceboundSoul FeatureDefinitionFeatureSet FeatureDefinition 086457e8-ab3c-5a54-ad9b-83aa1a3eeac0 FeatureSetPatronMountainKnowledgeOfAeons FeatureDefinitionFeatureSet FeatureDefinition 5676a3e3-6892-5ed3-99d1-d6a818d45232 FeatureSetRangerDeftExplorer FeatureDefinitionFeatureSet FeatureDefinition 9b464769-fe9b-57b0-8934-ee63998a96ae +FeatureSetRangerFavoredEnemy FeatureDefinitionFeatureSet FeatureDefinition 053e8057-264b-50d1-a806-82a9cebeae15 FeatureSetRangerFeyWandererOtherworldlyGlamour FeatureDefinitionFeatureSet FeatureDefinition 647f00f2-080a-5c2f-b57f-0cca8458762b FeatureSetRangerGloomStalkerIronMind FeatureDefinitionFeatureSet FeatureDefinition f39195a2-c049-5e6a-9562-b25600c44941 FeatureSetRangerHellWalkerBurningConstitution FeatureDefinitionFeatureSet FeatureDefinition e6edb361-4b65-55f0-b7dd-8a2fd6ebe8f5 @@ -3392,6 +3395,7 @@ PowerEmpoweredKnowledgeSurvival FeatureDefinitionPowerSharedPool FeatureDefiniti PowerFairyFlightDismiss FeatureDefinitionPower FeatureDefinition 61c88bb5-51a4-56d3-bed5-0b9347fc017e PowerFairyFlightSprout FeatureDefinitionPower FeatureDefinition 5c2ac115-9310-527a-9190-9d9e29544e65 PowerFarStep FeatureDefinitionPower FeatureDefinition 2c991456-7ce7-5266-94a9-1ecc9d4848f3 +PowerFavoredEnemyHuntersMark FeatureDefinitionPower FeatureDefinition 697a2621-990b-56a6-82e7-4427cd870679 PowerFeatAcrobat FeatureDefinitionPower FeatureDefinition acbb3f93-a540-503d-b3d8-31dfa87a2a95 PowerFeatArcanist FeatureDefinitionPower FeatureDefinition e6ac8ee4-7cc2-5b1e-a689-60f74c048d59 PowerFeatBalefulScion FeatureDefinitionPower FeatureDefinition 0a12985a-a6ea-5aa3-b6b8-56f848838149 @@ -5257,6 +5261,7 @@ AttributeModifierWendigoStrengthAbilityScoreIncrease FeatureDefinitionAttributeM FeatureFeatDwarvenFortitude FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier bcbc96a9-451a-5735-af20-ad791bb4a340 FeaturePathOfTheSavageryFuriousDefense FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier c9396cb8-f920-51a9-93b6-c30cecc251c6 FeatureWarMagicDurableMagic FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier d87407db-9e4a-5146-a9d4-712696f39e21 +AutoPreparedHuntersMark FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells 248576bc-5240-5f17-85be-873ecefb12cb AutoPreparedSpellsAncientForest FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells d8e3a948-e182-50a1-9ef4-f013a8a0436f AutoPreparedSpellsArcanist FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells 82245fef-4569-5ac9-8e11-8447d946aa5c AutoPreparedSpellsBardWordOfCreation FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells bb747a1f-f939-58b0-a0f9-c2ffb381efdd @@ -5691,6 +5696,7 @@ FeatureSetPatronMountainEternalGuardian FeatureDefinitionFeatureSet FeatureDefin FeatureSetPatronMountainIceboundSoul FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 086457e8-ab3c-5a54-ad9b-83aa1a3eeac0 FeatureSetPatronMountainKnowledgeOfAeons FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 5676a3e3-6892-5ed3-99d1-d6a818d45232 FeatureSetRangerDeftExplorer FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 9b464769-fe9b-57b0-8934-ee63998a96ae +FeatureSetRangerFavoredEnemy FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 053e8057-264b-50d1-a806-82a9cebeae15 FeatureSetRangerFeyWandererOtherworldlyGlamour FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 647f00f2-080a-5c2f-b57f-0cca8458762b FeatureSetRangerGloomStalkerIronMind FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet f39195a2-c049-5e6a-9562-b25600c44941 FeatureSetRangerHellWalkerBurningConstitution FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e6edb361-4b65-55f0-b7dd-8a2fd6ebe8f5 @@ -6310,6 +6316,7 @@ PowerEmpoweredKnowledgeSurvival FeatureDefinitionPowerSharedPool FeatureDefiniti PowerFairyFlightDismiss FeatureDefinitionPower FeatureDefinitionPower 61c88bb5-51a4-56d3-bed5-0b9347fc017e PowerFairyFlightSprout FeatureDefinitionPower FeatureDefinitionPower 5c2ac115-9310-527a-9190-9d9e29544e65 PowerFarStep FeatureDefinitionPower FeatureDefinitionPower 2c991456-7ce7-5266-94a9-1ecc9d4848f3 +PowerFavoredEnemyHuntersMark FeatureDefinitionPower FeatureDefinitionPower 697a2621-990b-56a6-82e7-4427cd870679 PowerFeatAcrobat FeatureDefinitionPower FeatureDefinitionPower acbb3f93-a540-503d-b3d8-31dfa87a2a95 PowerFeatArcanist FeatureDefinitionPower FeatureDefinitionPower e6ac8ee4-7cc2-5b1e-a689-60f74c048d59 PowerFeatBalefulScion FeatureDefinitionPower FeatureDefinitionPower 0a12985a-a6ea-5aa3-b6b8-56f848838149 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerRelentlessHunter.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerRelentlessHunter.json new file mode 100644 index 0000000000..a8276a8db8 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureRangerRelentlessHunter.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureRangerRelentlessHunterTitle", + "description": "Feature/&FeatureRangerRelentlessHunterDescription", + "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": "902e6fba-40ff-51f5-abda-5db2ac4d3419", + "contentPack": 9999, + "name": "FeatureRangerRelentlessHunter" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedHuntersMark.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedHuntersMark.json new file mode 100644 index 0000000000..4764f0f796 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedHuntersMark.json @@ -0,0 +1,42 @@ +{ + "$type": "FeatureDefinitionAutoPreparedSpells, Assembly-CSharp", + "autopreparedTag": "Ranger", + "autoPreparedSpellsGroups": [ + { + "$type": "FeatureDefinitionAutoPreparedSpells+AutoPreparedSpellsGroup, Assembly-CSharp", + "classLevel": 1, + "spellsList": [ + "Definition:HuntersMark:a4976a0eae64c43478a3711dc064fb8b" + ] + } + ], + "spellcastingClass": "Definition:Ranger:d4cb9ea3b00ab6a4c9d3cd07aa199f40", + "affinityRace": null, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&NoContentTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "248576bc-5240-5f17-85be-873ecefb12cb", + "contentPack": 9999, + "name": "AutoPreparedHuntersMark" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerFavoredEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerFavoredEnemy.json new file mode 100644 index 0000000000..0939a83bb9 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetRangerFavoredEnemy.json @@ -0,0 +1,41 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:PowerFavoredEnemyHuntersMark:697a2621-990b-56a6-82e7-4427cd870679", + "Definition:AutoPreparedHuntersMark:248576bc-5240-5f17-85be-873ecefb12cb" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetRangerFavoredEnemyTitle", + "description": "Feature/&FeatureSetRangerFavoredEnemyDescription", + "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": "053e8057-264b-50d1-a806-82a9cebeae15", + "contentPack": 9999, + "name": "FeatureSetRangerFavoredEnemy" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json new file mode 100644 index 0000000000..78c978bf99 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json @@ -0,0 +1,327 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Sphere", + "itemSelectionType": "None", + "targetParameter": 3, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 30, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": true, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "All", + "durationType": "Hour", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Charisma", + "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": "PerAdditionalSlotLevel", + "incrementMultiplier": 2, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "Hours_1_8_24" + }, + "speedType": "Fixed", + "speedParameter": 0.85, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "be065b8b9cd68d04fb113f3416900ae6", + "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": "b47d9b13728bb9244b1d28303327e0e6", + "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": "31e54a5fdc33465469c9ec2a24d5c46a", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "Action", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "LongRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "ProficiencyBonus", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 0, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": false, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Spell/&HuntersMarkTitle", + "description": "Spell/&HuntersMarkDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "0c473f4bc671a1c48b9da157557c4d7d", + "m_SubObjectName": "HuntersMark", + "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": "697a2621-990b-56a6-82e7-4427cd870679", + "contentPack": 9999, + "name": "PowerFavoredEnemyHuntersMark" +} \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 82d91fa403..9a10c30106 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,9 +1,7 @@ 1.5.97.42: -- added 7 new tabletop 2024 Ranger settings [2024 Ranger almost complete] -- added 1 new tabletop 2024 Sorcerer setting [2024 Sorcerer now complete] -- fixed custom models rendering -- fixed off-hand Katanas +- completed Ranger, and Sorcerer tabletop 2024 settings +- fixed custom models rendering, and off-hand Katanas 1.5.97.41: diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 8726fba6c2..5582ca4da7 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -381,6 +381,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRangerPreciseHunter(); } + toggle = Main.Settings.EnableRangerRelentlessHunter2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRelentlessHunter2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerRelentlessHunter2024 = toggle; + Tabletop2024Context.SwitchRangerRelentlessHunter(); + } + toggle = Main.Settings.EnableRangerRoving2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRoving2024"), ref toggle, UI.AutoWidth())) { @@ -402,6 +409,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRangerTireless(); } + toggle = Main.Settings.EnableRangerFavoredEnemy2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFavoredEnemy2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFavoredEnemy2024 = toggle; + Tabletop2024Context.SwitchRangerFavoredEnemy(); + } + toggle = Main.Settings.EnableRangerFeralSenses2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 62d7bce916..4ac9229960 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -569,6 +569,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchRangerPreciseHunter(); } + toggle = Main.Settings.EnableRangerRelentlessHunter2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRelentlessHunter2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerRelentlessHunter2024 = toggle; + Tabletop2024Context.SwitchRangerRelentlessHunter(); + } + toggle = Main.Settings.EnableRangerRoving2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRoving2024"), ref toggle, UI.AutoWidth())) { @@ -583,6 +590,20 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); } + toggle = Main.Settings.EnableRangerTireless2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerTireless2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerTireless2024 = toggle; + Tabletop2024Context.SwitchRangerTireless(); + } + + toggle = Main.Settings.EnableRangerFavoredEnemy2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFavoredEnemy2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableRangerFavoredEnemy2024 = toggle; + Tabletop2024Context.SwitchRangerFavoredEnemy(); + } + toggle = Main.Settings.EnableRangerFeralSenses2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFeralSenses2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Interfaces/IPreventRemoveConcentrationOnDamage.cs b/SolastaUnfinishedBusiness/Interfaces/IPreventRemoveConcentrationOnDamage.cs index 692d38d4a4..8c95c60e00 100644 --- a/SolastaUnfinishedBusiness/Interfaces/IPreventRemoveConcentrationOnDamage.cs +++ b/SolastaUnfinishedBusiness/Interfaces/IPreventRemoveConcentrationOnDamage.cs @@ -1,9 +1,6 @@ -using System.Collections.Generic; - -namespace SolastaUnfinishedBusiness.Interfaces; +namespace SolastaUnfinishedBusiness.Interfaces; public interface IPreventRemoveConcentrationOnDamage { - public HashSet SpellsThatShouldNotRollConcentrationCheckFromDamage( - RulesetCharacter rulesetCharacter); + public SpellDefinition[] SpellsThatShouldNotRollConcentrationCheckFromDamage(RulesetCharacter rulesetCharacter); } diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index fa065b24d4..ee7797e021 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -1,11 +1,16 @@ -using System.Linq; +using System.Collections; +using System.Linq; +using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.Interfaces; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; +using static SolastaUnfinishedBusiness.Builders.Features.AutoPreparedSpellsGroupBuilder; namespace SolastaUnfinishedBusiness.Models; @@ -56,6 +61,39 @@ internal static partial class Tabletop2024Context .SetGuiPresentation(Category.Feature) .AddToDB(); + private static readonly FeatureDefinition FeatureRangerRelentlessHunter = FeatureDefinitionBuilder + .Create("FeatureRangerRelentlessHunter") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new PreventRemoveConcentrationOnDamageRelentlessHunter()) + .AddToDB(); + + private static readonly FeatureDefinitionFeatureSet FeatureSetRangerFavoredEnemy = + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetRangerFavoredEnemy") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet( + FeatureDefinitionPowerBuilder + .Create("PowerFavoredEnemyHuntersMark") + .SetGuiPresentation(HuntersMark.GuiPresentation) + .SetUsesProficiencyBonus(ActivationTime.Action) + .SetShowCasting(false) + .SetEffectDescription( + EffectDescriptionBuilder + .Create(HuntersMark) + .SetTargetingData(Side.All, RangeType.Distance, 12, TargetType.Sphere, 3) + .SetEffectForms() + .Build()) + .AddCustomSubFeatures(new CustomBehaviorFavoredEnemyHuntersMark()) + .AddToDB(), + FeatureDefinitionAutoPreparedSpellsBuilder + .Create("AutoPreparedHuntersMark") + .SetGuiPresentationNoContent(true) + .SetAutoTag("Ranger") + .SetSpellcastingClass(Ranger) + .SetPreparedSpellGroups(BuildSpellGroup(1, HuntersMark)) + .AddToDB()) + .AddToDB(); + internal static void SwitchOneDndRangerLearnSpellCastingAtOne() { var level = Main.Settings.EnableRangerSpellCastingAtLevel1 ? 1 : 2; @@ -115,6 +153,21 @@ internal static void SwitchRangerExpertise() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static void SwitchRangerFavoredEnemy() + { + Ranger.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == RulesContext.InvocationPoolRangerTerrainType || + x.FeatureDefinition == RulesContext.InvocationPoolRangerPreferredEnemy); + + if (Main.Settings.EnableRangerFavoredEnemy2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetRangerFavoredEnemy, 1)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchRangerFeralSenses() { Ranger.FeatureUnlocks @@ -169,6 +222,19 @@ internal static void SwitchRangerPreciseHunter() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static void SwitchRangerRelentlessHunter() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == FeatureRangerRelentlessHunter); + + if (Main.Settings.EnableRangerRelentlessHunter2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureRangerRelentlessHunter, 13)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchRangerRoving() { Ranger.FeatureUnlocks @@ -195,4 +261,22 @@ internal static void SwitchRangerTireless() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + + private sealed class CustomBehaviorFavoredEnemyHuntersMark : IPowerOrSpellFinishedByMe + { + public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + action.ActingCharacter.MyExecuteActionCastNoCost(HuntersMark, 0, action.ActionParams); + + yield break; + } + } + + private sealed class PreventRemoveConcentrationOnDamageRelentlessHunter : IPreventRemoveConcentrationOnDamage + { + public SpellDefinition[] SpellsThatShouldNotRollConcentrationCheckFromDamage(RulesetCharacter rulesetCharacter) + { + return [HuntersMark]; + } + } } diff --git a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs index 4c706490bb..d16fe66e28 100644 --- a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs @@ -105,7 +105,7 @@ internal static void SwitchSorcererOriginLearningLevel() } // handle level 2 grants - var featuresGrantedAt2 = new (string, string)[3] + var featuresGrantedAt2 = new[] { ("SorcerousManaPainter", "PowerSorcererManaPainterDrain"), ("SorcerousChildRift", "PowerSorcererChildRiftDeflection"), diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index 48518c5381..be60bec63f 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -520,12 +520,9 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, yield break; } - public HashSet SpellsThatShouldNotRollConcentrationCheckFromDamage( - RulesetCharacter rulesetCharacter) + public SpellDefinition[] SpellsThatShouldNotRollConcentrationCheckFromDamage(RulesetCharacter rulesetCharacter) { - return rulesetCharacter.HasConditionOfType(conditionMidnightBlessing) - ? [MoonBeam] - : []; + return rulesetCharacter.HasConditionOfType(conditionMidnightBlessing) ? [MoonBeam] : []; } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 2119709ee6..1e067d4c2a 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=LEER Action/&ActionDisableGrappleDescription=Sie lassen das gepackte Ziel los. Action/&ActionDisableGrappleTitle=Grapple deaktivieren Action/&ActionGrappleDescription=Sie können einen Ihrer Hauptangriffe ersetzen, um einen Ringkampf zu beginnen. Dabei zielen Sie auf eine Kreatur in Ihrer Reichweite, die höchstens eine Größe größer ist als Sie. Sie führen einen Stärke- (Athletik-)Wurf durch, der durch den Stärke- (Athletik-) oder Geschicklichkeits- (Akrobatik-)Wurf des Ziels angefochten wird. @@ -124,8 +126,10 @@ Feature/&FeatureMonkBodyAndMindDescription=Sie haben Ihren Körper und Geist auf 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. Feature/&FeatureMonkHeightenedMetabolismTitle=Erhöhter Stoffwechsel -Feature/&FeatureRangerFoeSlayer2024Description=Der Schadenswürfel Ihres Hunter’s Mark ist ein d10 statt eines d6. +Feature/&FeatureRangerFoeSlayer2024Description=Der Schadenswürfel Ihres Hunter's Mark ist ein d10 statt eines d6. Feature/&FeatureRangerFoeSlayer2024Title=Feindestöter +Feature/&FeatureRangerRelentlessHunterDescription=Wenn Sie Schaden erleiden, kann Ihre Konzentration auf Hunter's Mark nicht unterbrochen werden. +Feature/&FeatureRangerRelentlessHunterTitle=Unerbittlicher Jäger Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Sie können 1 Ki-Punkt ausgeben, um als Bonusaktion zwei unbewaffnete Schläge auszuführen. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Wenn Sie „Rücksichtsloser Angriff“ verwenden, verursacht einer Ihrer Stärke-basierten Angriffswürfe, die Sie vor Ende Ihres Zuges durchführen, zusätzlich 1W10 Schaden derselben Art wie die Waffe oder der waffenlose Schlag. Zudem können Sie bei einem Treffer einen der folgenden Effekte wählen:\n• Heftiger Schlag. Das Ziel wird 15 Fuß gerade von Ihnen weggestoßen.\n• Schlag in die Kniesehne. Die Geschwindigkeit des Ziels wird bis zum Beginn Ihres nächsten Zuges um 15 Fuß reduziert. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Sie haben neue Wege für einen wütenden Angriff erlernt. Die folgenden Effekte gehören jetzt zu Ihren Optionen für Brutal Strike:\n• Staggering Blow. Das Ziel hat einen Nachteil bei seinem nächsten Rettungswurf und kann bis zum Beginn Ihres nächsten Zuges keine Gelegenheitsangriffe durchführen.\n• Sundering Blow. Ihr Schlag hinterlässt bis zum Beginn Ihres nächsten Zuges eine Lücke in der Verteidigung der Kreatur für einen Verbündeten. Der nächste Angriffswurf einer anderen Kreatur als Ihnen gegen das Ziel erhält einen Bonus von 1W10 auf Angriffs- und Schadenswurf. @@ -142,6 +146,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Dank deiner Reisen erlangst du die folgenden Vorteile.\n• Fachwissen. Wähle eine deiner Fertigkeiten aus, die dir fehlt. Du erlangst Fachwissen in dieser Fertigkeit.\n• Sprachen. Du kennst 2 Sprachen deiner Wahl. Feature/&FeatureSetRangerDeftExplorerTitle=Geschickter Entdecker +Feature/&FeatureSetRangerFavoredEnemyDescription=Du hast den Zauber „Jägermal“ immer bereit. Du kannst ihn zweimal wirken, ohne einen Zauberplatz zu verbrauchen, und erhältst alle verbrauchten Anwendungen dieser Fähigkeit zurück, wenn du eine lange Pause beendest. +Feature/&FeatureSetRangerFavoredEnemyTitle=Bevorzugter Feind 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. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 1255838e1d..e04a408488 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Aktivieren Sie die Aktion In die Hocke g ModUi/&EnablePullPushOnVerticalDirection=Aktivieren Sie Push- und Pull-Bewegungseffekte, damit diese auch auf der Auf-/Ab-Achse funktionieren ModUi/&EnableRangerDeftExplorer2024=Aktiviere Geschickter Entdecker auf Level 2 [erwerbe eine Expertise in Ranger-Fähigkeiten und lerne 2 Sprachen] ModUi/&EnableRangerExpertise2024=Aktiviere Expertise auf Level 9 [erhalte zwei Expertisen für Ranger-Fertigkeiten] +ModUi/&EnableRangerFavoredEnemy2024=Tauschen Sie Bevorzugter Feind und Bevorzugtes Gelände mit Bevorzugter Feind 5e 2024-Version aus ModUi/&EnableRangerFeralSenses2024=Tauschen Sie Wilde Sinne gegen die 5e-Version von 2024 aus [erhalten Sie 30 Fuß Blindsicht] ModUi/&EnableRangerFoeSlayers2024=Tauschen Sie Foe Slayer gegen die 5e 2024-Version aus [Hunter's Mark-Würfel auf d10 erhöhen] ModUi/&EnableRangerNatureShroud2024=Aktivieren Sie die Funktion Nature's Veil auf Stufe 14 [als Bonusaktion können Sie bis zum Beginn der nächsten Runde auf magische Weise unsichtbar werden] ModUi/&EnableRangerPreciseHunter2024=Aktiviere Precise Hunter auf Level 17 [Vorteil gegenüber von Hunter markierten Kreaturen] +ModUi/&EnableRangerRelentlessHunter2024=Aktiviere Relentless Hunter auf Level 13 [keine Konzentration verloren bei Hunter's Mark] ModUi/&EnableRangerRoving2024=Aktivieren Sie Umherziehen auf Stufe 6 [erhalten Sie 10 Fuß Bewegung, wenn Sie keine schwere Rüstung verwenden, und dieselbe Klettergeschwindigkeit] ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. ModUi/&EnableRangerTireless2024=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 687fcec34c..891916a786 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -1,3 +1,4 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. Action/&ActionDisableGrappleDescription=You release the grappled target. Action/&ActionDisableGrappleTitle=Disable Grapple Action/&ActionGrappleDescription=You can replace one of your main attacks to initiate a grapple, targeting a creature within your reach and no more than one size larger than you. You make a Strength (Athletics) check contested by the target's Strength (Athletics) or Dexterity (Acrobatics) check. @@ -126,6 +127,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Your training has pushed you Feature/&FeatureMonkHeightenedMetabolismTitle=Heightened Metabolism Feature/&FeatureRangerFoeSlayer2024Description=The damage die of your Hunter's Mark is a d10 rather than a d6. Feature/&FeatureRangerFoeSlayer2024Title=Foe Slayers +Feature/&FeatureRangerRelentlessHunterDescription=Taking damage can't break your Concentration on Hunter's Mark. +Feature/&FeatureRangerRelentlessHunterTitle=Relentless Hunter Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=You can spend 1 Ki point to make two unarmed strikes as a bonus action. Feature/&FeatureSetBarbarianBrutalStrikeDescription=When you use Reckless Attack, one of your Strength-based attack rolls you make before your turn ends deals an extra 1d10 damage of the same type dealt by the weapon or Unarmed Strike, and you can also choose one of the following effects if it hits:\n• Forceful Blow. The target is pushed 15 feet straight away from you.\n• Hamstring Blow. The target's Speed is reduced by 15 feet until the start of your next turn. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=You have honed new ways to attack furiously. The following effects are now among your Brutal Strike options:\n• Staggering Blow. The target has Disadvantage on the next saving throw it makes, and it can't make Opportunity Attacks until the start of your next turn.\n• Sundering Blow. Your blow leaves an opening in the creature's defense for an ally until the start of your next turn. The next attack roll made by a creature other than you against the target gains a 1d10 bonus to attack and damage roll. @@ -142,6 +145,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Thanks to your travels, you gain the following benefits.\n• Expertise. Choose one of your skill proficiencies with which you lack proficiency. You gain expertise in that skill.\n• Languages. You know 2 languages of your choice. Feature/&FeatureSetRangerDeftExplorerTitle=Deft Explorer +Feature/&FeatureSetRangerFavoredEnemyDescription=You always have the Hunter's Mark spell prepared. You can cast it twice without expending a spell slot, and you regain all expended uses of this ability when you finish a Long Rest. +Feature/&FeatureSetRangerFavoredEnemyTitle=Favored Enemy 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. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 0e5e0ac052..cd6b6c19ec 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Enable the Fall Prone action ModUi/&EnablePullPushOnVerticalDirection=Enable push and pull motion effects to also work on up/down axis ModUi/&EnableRangerDeftExplorer2024=Enable Deft Explorer at level 2 [get one expertise on Ranger skills, and learn 2 languages] ModUi/&EnableRangerExpertise2024=Enable Expertise at level 9 [get two expertises on Ranger skills] +ModUi/&EnableRangerFavoredEnemy2024=Swap Favored Enemy, and Favored Terrain with Favored Enemy 5e 2024 version ModUi/&EnableRangerFeralSenses2024=Swap Feral Senses with 5e 2024 version [get 30ft blindsight] -ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e 2024 version [increase Hunter's Mark die to d10] +ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e 2024 version [increase Hunter's Mark die to d10] ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil at level 14 [as a bonus action, you can magically become invisible until start of next turn] ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 [advantage against creatures marked by Hunter] +ModUi/&EnableRangerRelentlessHunter2024=Enable Relentless Hunter at level 13 [no concentration lost on Hunter's Mark] ModUi/&EnableRangerRoving2024=Enable Roving at level 6 [get 10ft movement when not using Heavy Armor, and same climb speed] ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 ModUi/&EnableRangerTireless2024=Enable Tireless to replace Hide in Plain Sight at level 10 [use an action to get temporary hit points] diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 6e998c3b4a..f5cc745f52 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=VACÍO Action/&ActionDisableGrappleDescription=Sueltas el objetivo agarrado. Action/&ActionDisableGrappleTitle=Deshabilitar Grapple Action/&ActionGrappleDescription=Puedes reemplazar uno de tus ataques principales para iniciar un agarrón, apuntando a una criatura que esté dentro de tu alcance y que no sea más grande que tú. Realizas una prueba de Fuerza (Atletismo) que se enfrenta a la prueba de Fuerza (Atletismo) o Destreza (Acrobacia) del objetivo. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Tu entrenamiento ha llevado Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo aumentado Feature/&FeatureRangerFoeSlayer2024Description=El dado de daño de tu Marca del cazador es un d10 en lugar de un d6. Feature/&FeatureRangerFoeSlayer2024Title=Matadores de enemigos +Feature/&FeatureRangerRelentlessHunterDescription=Recibir daño no puede interrumpir tu concentración en Marca del cazador. +Feature/&FeatureRangerRelentlessHunterTitle=Cazador implacable Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puedes gastar 1 punto de Ki para realizar dos ataques sin armas como acción adicional. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Cuando usas Ataque imprudente, una de tus tiradas de ataque basadas en Fuerza que realizas antes de que finalice tu turno inflige 1d10 de daño adicional del mismo tipo infligido por el arma o Golpe desarmado, y también puedes elegir uno de los siguientes efectos si golpea. :\n• Golpe contundente. El objetivo es empujado a 15 pies de distancia de usted.\n• Golpe en el tendón de la corva. La velocidad del objetivo se reduce en 15 pies hasta el comienzo de tu siguiente turno. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Has perfeccionado nuevas formas de atacar furiosamente. Los siguientes efectos ahora se encuentran entre tus opciones de Golpe brutal:\n• Golpe asombroso. El objetivo tiene Desventaja en la siguiente tirada de salvación que realiza y no puede realizar Ataques de Oportunidad hasta el comienzo de tu siguiente turno.\n• Golpe desgarrador. Tu golpe deja una apertura en la defensa de la criatura para un aliado hasta el comienzo de tu siguiente turno. La siguiente tirada de ataque realizada por una criatura que no seas tú contra el objetivo obtiene una bonificación de 1d10 a la tirada de ataque y daño. @@ -142,6 +146,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Gracias a tus viajes, obtienes los siguientes beneficios:\n• Pericia. Elige una de tus competencias de habilidad en la que no eres competente. Obtienes pericia en esa habilidad.\n• Idiomas. Sabes 2 idiomas de tu elección. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil +Feature/&FeatureSetRangerFavoredEnemyDescription=Siempre tienes preparado el hechizo Marca del cazador. Puedes lanzarlo dos veces sin gastar un espacio de hechizo y recuperas todos los usos gastados de esta habilidad cuando terminas un descanso prolongado. +Feature/&FeatureSetRangerFavoredEnemyTitle=Enemigo Favorecido 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. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 057a11f5cc..80decd5bc0 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Habilita la acción Caer boca abajoExplorador hábil en el nivel 2 [obtén una experiencia en habilidades de explorador y aprende 2 idiomas] ModUi/&EnableRangerExpertise2024=Habilita la Experiencia en el nivel 9 [obtén dos especializaciones en habilidades de Explorador] +ModUi/&EnableRangerFavoredEnemy2024=Intercambia Enemigo Favorecido y Terreno Favorecido con Enemigo Favorecido versión 5e 2024 ModUi/&EnableRangerFeralSenses2024=Intercambia Sentidos salvajes con la versión 5e 2024 [obtén visión ciega de 30 pies] ModUi/&EnableRangerFoeSlayers2024=Intercambia Asesino de enemigos con la versión 5e 2024 [aumenta el dado Marca del cazador a d10] ModUi/&EnableRangerNatureShroud2024=Habilita la característica Velo de la Naturaleza en el nivel 14 [como acción adicional, puedes volverte invisible mágicamente hasta el comienzo del siguiente turno] ModUi/&EnableRangerPreciseHunter2024=Habilita Cazador preciso en el nivel 17 [ventaja contra criaturas marcadas por Cazador] +ModUi/&EnableRangerRelentlessHunter2024=Habilita Cazador implacable en el nivel 13 [no se pierde la concentración en la Marca del cazador] ModUi/&EnableRangerRoving2024=Habilita Roving en el nivel 6 [obtén 10 pies de movimiento cuando no uses armadura pesada y la misma velocidad de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 ModUi/&EnableRangerTireless2024=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 684be56870..18a3db52db 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=VIDE Action/&ActionDisableGrappleDescription=Vous relâchez la cible agrippée. Action/&ActionDisableGrappleTitle=Désactiver le grappin Action/&ActionGrappleDescription=Vous pouvez remplacer l'une de vos attaques principales par une lutte contre une créature à votre portée et pas plus grande qu'elle. Vous effectuez un test de Force (Athlétisme) contesté par le test de Force (Athlétisme) ou de Dextérité (Acrobaties) de la cible. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Votre entraînement a pouss Feature/&FeatureMonkHeightenedMetabolismTitle=Métabolisme accru Feature/&FeatureRangerFoeSlayer2024Description=Le dé de dégâts de votre Marque du Chasseur est un d10 plutôt qu'un d6. Feature/&FeatureRangerFoeSlayer2024Title=Tueurs d'ennemis +Feature/&FeatureRangerRelentlessHunterDescription=Subir des dégâts ne peut pas interrompre votre concentration sur la marque du chasseur. +Feature/&FeatureRangerRelentlessHunterTitle=Chasseur implacable Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Vous pouvez dépenser 1 point Ki pour effectuer deux attaques à mains nues en tant qu'action bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Lorsque vous utilisez Attaque imprudente, l'un de vos jets d'attaque basés sur la Force que vous effectuez avant la fin de votre tour inflige 1d10 dégâts supplémentaires du même type infligé par l'arme ou la Frappe à mains nues, et vous pouvez également choisir l'un des effets suivants s'il touche :\n• Coup puissant. La cible est poussée à 15 pieds tout droit de vous.\n• Coup aux ischio-jambiers. La vitesse de la cible est réduite de 15 pieds jusqu'au début de votre prochain tour. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Vous avez perfectionné de nouvelles façons d'attaquer furieusement. Les effets suivants font désormais partie de vos options de Frappe brutale :\n• Coup stupéfiant. La cible a un désavantage lors du prochain jet de sauvegarde qu'elle effectue, et elle ne peut pas effectuer d'attaques d'opportunité avant le début de votre prochain tour.\n• Coup tranchant. Votre coup laisse une ouverture dans la défense de la créature pour un allié jusqu'au début de votre prochain tour. Le prochain jet d'attaque effectué par une créature autre que vous contre la cible bénéficie d'un bonus de 1d10 aux jets d'attaque et de dégâts. @@ -142,6 +146,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grâce à vos voyages, vous obtenez les avantages suivants.\n• Expertise. Choisissez l'une de vos compétences que vous ne maîtrisez pas suffisamment. Vous obtenez une expertise dans cette compétence.\n• Langues. Vous connaissez 2 langues de votre choix. Feature/&FeatureSetRangerDeftExplorerTitle=Explorateur habile +Feature/&FeatureSetRangerFavoredEnemyDescription=Vous avez toujours le sort Marque du chasseur prêt. Vous pouvez le lancer deux fois sans dépenser d'emplacement de sort, et vous récupérez toutes les utilisations dépensées de cette capacité lorsque vous terminez un repos long. +Feature/&FeatureSetRangerFavoredEnemyTitle=Ennemi favori 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. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index bb3596e369..dfc952bc9b 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Activer l'action Tomber à plat ventreDeft Explorer au niveau 2 [obtenez une expertise sur les compétences de Ranger et apprenez 2 langues] ModUi/&EnableRangerExpertise2024=Activer Expertise au niveau 9 [obtenir deux expertises sur les compétences de Ranger] +ModUi/&EnableRangerFavoredEnemy2024=Échangez Favored Enemy et Favored Terrain avec la version Favored Enemy 5e 2024 ModUi/&EnableRangerFeralSenses2024=Échangez Sens sauvages avec la version 5e 2024 [obtenez une vision aveugle de 30 pieds] ModUi/&EnableRangerFoeSlayers2024=Remplacez Foe Slayer par la version 5e 2024 [augmentez le dé de marque du chasseur à d10] ModUi/&EnableRangerNatureShroud2024=Activez la fonction Voile de la nature au niveau 14 [en tant qu'action bonus, vous pouvez devenir invisible par magie jusqu'au début du prochain tour] ModUi/&EnableRangerPreciseHunter2024=Activer Chasseur précis au niveau 17 [avantage contre les créatures marquées par Chasseur] +ModUi/&EnableRangerRelentlessHunter2024=Activer Chasseur implacable au niveau 13 [aucune concentration perdue sur la marque du chasseur] ModUi/&EnableRangerRoving2024=Activez Roving au niveau 6 [obtenez un mouvement de 10 pieds lorsque vous n'utilisez pas d'armure lourde et la même vitesse de montée] ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 ModUi/&EnableRangerTireless2024=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 02fdedba39..dd79cde833 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=VUOTO Action/&ActionDisableGrappleDescription=Rilasci il bersaglio afferrato. Action/&ActionDisableGrappleTitle=Disattivare la presa Action/&ActionGrappleDescription=Puoi sostituire uno dei tuoi attacchi principali per iniziare una lotta, prendendo di mira una creatura entro la tua portata e non più grande di una taglia rispetto a te. Esegui una prova di Forza (Atletica) contrastata dalla prova di Forza (Atletica) o Destrezza (Acrobazia) del bersaglio. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Il tuo allenamento ha spinto Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo intensificato Feature/&FeatureRangerFoeSlayer2024Description=Il dado di danno del tuo Marchio del Cacciatore è un d10 anziché un d6. Feature/&FeatureRangerFoeSlayer2024Title=Cacciatori di nemici +Feature/&FeatureRangerRelentlessHunterDescription=Subire danni non può interrompere la tua Concentrazione sul Marchio del Cacciatore. +Feature/&FeatureRangerRelentlessHunterTitle=Cacciatore implacabile Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puoi spendere 1 punto Ki per effettuare due colpi senz'armi come azione bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando usi Attacco Spericolato, uno dei tuoi tiri di attacco basati sulla Forza che effettui prima della fine del tuo turno infligge 1d10 danni extra dello stesso tipo inflitti dall'arma o dal Colpo Senz'Armi, e puoi anche scegliere uno dei seguenti effetti se colpisce:\n• Colpo Vigoroso. Il bersaglio viene spinto di 15 piedi lontano da te.\n• Colpo al tendine del ginocchio. La Velocità del bersaglio viene ridotta di 15 piedi fino all'inizio del tuo turno successivo. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Hai perfezionato nuovi modi per attaccare furiosamente. I seguenti effetti sono ora tra le tue opzioni Brutal Strike:\n• Staggering Blow. Il bersaglio ha Svantaggio al prossimo tiro salvezza che effettua e non può effettuare Attacchi di Opportunità fino all'inizio del tuo prossimo turno.\n• Sundering Blow. Il tuo colpo lascia un'apertura nella difesa della creatura per un alleato fino all'inizio del tuo prossimo turno. Il prossimo tiro di attacco effettuato da una creatura diversa da te contro il bersaglio ottiene un bonus di 1d10 al tiro per colpire e per i danni. @@ -142,6 +146,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grazie ai tuoi viaggi, ottieni i seguenti vantaggi.\n• Competenza. Scegli una delle tue competenze in cui non sei competente. Ottieni competenza in quella competenza.\n• Lingue. Conosci 2 lingue a tua scelta. Feature/&FeatureSetRangerDeftExplorerTitle=Esploratore abile +Feature/&FeatureSetRangerFavoredEnemyDescription=Hai sempre pronto l'incantesimo Hunter's Mark. Puoi lanciarlo due volte senza spendere uno slot incantesimo e recuperi tutti gli usi spesi di questa capacità quando finisci un Long Rest. +Feature/&FeatureSetRangerFavoredEnemyTitle=Nemico favorito 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. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 2f3d4ae1fb..46192bc19e 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Abilita l'azione Cadi prono < ModUi/&EnablePullPushOnVerticalDirection=Abilita gli effetti di movimento push e pull per funzionare anche sull'asse su/giù ModUi/&EnableRangerDeftExplorer2024=Abilita Esploratore esperto al livello 2 [ottieni una competenza nelle abilità Ranger e impara 2 lingue] ModUi/&EnableRangerExpertise2024=Abilita Competenza al livello 9 [ottieni due competenze sulle abilità Ranger] +ModUi/&EnableRangerFavoredEnemy2024=Sostituisci Nemico preferito e Terreno preferito con Nemico preferito versione 5e 2024 ModUi/&EnableRangerFeralSenses2024=Sostituisci Sensi selvaggi con la versione 5e 2024 [ottieni vista cieca a 30 piedi] ModUi/&EnableRangerFoeSlayers2024=Sostituisci Foe Slayer con la versione 5e 2024 [aumenta il dado del Marchio del Cacciatore a d10] ModUi/&EnableRangerNatureShroud2024=Abilita la funzione Velo della Natura al livello 14 [come azione bonus, puoi diventare magicamente invisibile fino all'inizio del turno successivo] ModUi/&EnableRangerPreciseHunter2024=Abilita Cacciatore Preciso al livello 17 [vantaggio contro le creature contrassegnate dal Cacciatore] +ModUi/&EnableRangerRelentlessHunter2024=Abilita Cacciatore implacabile al livello 13 [nessuna perdita di concentrazione sul Marchio del cacciatore] ModUi/&EnableRangerRoving2024=Abilita Vagabondare al livello 6 [ottieni 10 piedi di movimento quando non usi un'armatura pesante e la stessa velocità di salita] ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 ModUi/&EnableRangerTireless2024=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index d7ecb2a917..1f6940a513 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=空の Action/&ActionDisableGrappleDescription=掴んだターゲットを解放します。 Action/&ActionDisableGrappleTitle=グラップルを無効にする Action/&ActionGrappleDescription=主な攻撃の 1 つを組みつき攻撃に置き換えることができます。組みつき攻撃は、自分の攻撃範囲内にあり、自分より 1 サイズ以内のクリーチャーをターゲットとします。ターゲットの【筋力】(運動) または【敏捷性】(軽業) 判定と競合する【筋力】(運動) 判定を行います。 @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=あなたのトレーニン Feature/&FeatureMonkHeightenedMetabolismTitle=代謝の向上 Feature/&FeatureRangerFoeSlayer2024Description=ハンターズマークのダメージダイスは d6 ではなく d10 です。 Feature/&FeatureRangerFoeSlayer2024Title=敵スレイヤー +Feature/&FeatureRangerRelentlessHunterDescription=ダメージを受けてもハンターズマークへの集中力は解除されません。 +Feature/&FeatureRangerRelentlessHunterTitle=容赦ないハンター Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=ボーナス アクションとして、1 Ki ポイントを消費して素手攻撃を 2 回行うことができます。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=無謀な攻撃を使用する場合、ターン終了前に行う力ベースの攻撃ロールの 1 つが、武器または素手攻撃によって与えられるのと同じタイプに追加の 1d10 ダメージを与えます。また、それがヒットした場合は、次の効果のいずれかを選択することもできます。 :\n• 力強い打撃。ターゲットはあなたから 15 フィート真っ直ぐに押し出されます。\n・ハムストリングブロー。次のターンの開始まで、ターゲットの速度が 15 フィート減少します。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=あなたは猛烈に攻撃するための新しい方法を磨きました。以下の効果がブルータル ストライクのオプションに追加されました:\n• よろめきの一撃。ターゲットは次に行うセーヴィング スローにディスアドバンテージを持ち、次のターンの開始時までオポチュニティ アタックを行うことができません。\n• サンダー ブロー。あなたの打撃は、次のターンの開始まで、味方のクリーチャーの防御に隙を残します。あなた以外のクリーチャーがターゲットに対して行う次の攻撃ロールは、攻撃ロールとダメージロールに1d10のボーナスを得る。 @@ -142,6 +146,8 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=ウォーデン Feature/&FeatureSetRageExtendedDescription=戦闘では、根源的な凶暴性で戦います。自分のターンでは、ボーナス アクションとして激怒を入力できます。これにより、体力のセーブとチェックで有利になり、近接攻撃のダメージに最初の +2 ボーナスが与えられ、斬撃、殴打、突き刺しのダメージに対する耐性が得られます。これらの利点は、重装備を着用していない場合にのみ得られます。 1 分間持続するか、最後のターン以降に攻撃やダメージを受けていない場合は終了します。\n 2 つの激怒から始まり、長い休息の後に更新されます。レベル 7 では、短い休憩の後、怒りポイントが 1 回復します。 Feature/&FeatureSetRangerDeftExplorerDescription=旅のおかげで、あなたは以下の利益を得ます。\n• 専門知識。あなたが熟達していないスキルの 1 つを選択します。そのスキルの専門知識を得ます。\n• 言語。あなたが選択した 2 つの言語を習得します。 Feature/&FeatureSetRangerDeftExplorerTitle=巧みな探検家 +Feature/&FeatureSetRangerFavoredEnemyDescription=ハンターズ マーク呪文は常に準備されています。呪文スロットを消費せずに 2 回唱えることができ、大休憩を終えるとこの能力の使用回数がすべて回復します。 +Feature/&FeatureSetRangerFavoredEnemyTitle=好敵手 Feature/&FeatureSetSorcererSorceryIncarnateDescription=生来の魔術の使用回数が残っていない場合、それを起動するためのボーナス アクションを実行するときに 2 魔術ポイントを消費すると、それを使用できます。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔術の化身 Feature/&FeatureSorcererArcaneApotheosisDescription=生来の魔術機能がアクティブな間、魔術ポイントを消費せずに、各ターンに 1 つのメタマジック オプションを使用できます。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 53bbb415eb..ac9fce5e51 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=うつ伏せになるアクシ ModUi/&EnablePullPushOnVerticalDirection=プッシュとプルのモーション効果を上下軸でも有効にします ModUi/&EnableRangerDeftExplorer2024=レベル 2 で Deft Explorer を有効にする [レンジャー スキルの専門知識を 1 つ取得し、言語を 2 つ習得します] ModUi/&EnableRangerExpertise2024=レベル 9 で 専門知識 を有効にする [レンジャー スキルに関する専門知識を 2 つ取得] +ModUi/&EnableRangerFavoredEnemy2024=得意な敵と得意な地形を得意な敵 5e 2024バージョンと入れ替えます ModUi/&EnableRangerFeralSenses2024=Feral Senses を 5e 2024 バージョンの [30 フィートの盲視力を得る] と入れ替えます ModUi/&EnableRangerFoeSlayers2024=Foe Slayer を 5e 2024 バージョンの [Hunter's Mark ダイスを d10 に増加] と入れ替えます ModUi/&EnableRangerNatureShroud2024=レベル 14 で 自然のベール 機能を有効にします [ボーナス アクションとして、次のターンの開始時まで魔法で透明になることができます] ModUi/&EnableRangerPreciseHunter2024=レベル 17 で 精密ハンター を有効にする [ハンターによってマークされたクリーチャーに対して有利] +ModUi/&EnableRangerRelentlessHunter2024=レベル 13 で 執拗なハンター を有効にする [ハンターのマークへの集中力が失われない] ModUi/&EnableRangerRoving2024=レベル 6 で 移動 を有効にする [重装甲を使用していないときに 10 フィート移動し、同じ登攀速度を得る] ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする ModUi/&EnableRangerTireless2024=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 29f3fc766f..b481e219d9 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=비어 있는 Action/&ActionDisableGrappleDescription=붙잡힌 타겟을 놓습니다. Action/&ActionDisableGrappleTitle=그래플 비활성화 Action/&ActionGrappleDescription=당신은 주요 공격 중 하나를 대체하여 그래플을 시작할 수 있으며, 당신의 손이 닿는 범위 내에 있고 당신보다 한 사이즈 이상 크지 않은 생물을 대상으로 합니다. 당신은 대상의 힘(운동) 또는 민첩성(곡예) 검사에 의해 경합되는 힘(운동) 검사를 합니다. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=당신의 훈련은 당신 Feature/&FeatureMonkHeightenedMetabolismTitle=강화된 신진대사 Feature/&FeatureRangerFoeSlayer2024Description=사냥꾼의 표식의 데미지 주사위는 d6이 아닌 d10입니다. Feature/&FeatureRangerFoeSlayer2024Title=적을 죽이는 자 +Feature/&FeatureRangerRelentlessHunterDescription=피해를 입어도 사냥꾼의 표식에 대한 집중력은 깨지지 않습니다. +Feature/&FeatureRangerRelentlessHunterTitle=끈질긴 사냥꾼 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=보너스 행동으로 1 Ki 포인트를 사용하여 두 번의 비무장 공격을 할 수 있습니다. Feature/&FeatureSetBarbarianBrutalStrikeDescription=무모한 공격을 사용할 때, 턴이 끝나기 전에 하는 힘 기반 공격 굴림 중 하나는 무기나 비무장 타격이 가하는 동일한 유형의 추가 1d10 피해를 입히고, 적중할 경우 다음 효과 중 하나를 선택할 수도 있습니다. :\n• 강력한 타격. 목표물은 당신에게서 직선으로 15피트 떨어진 곳으로 밀려납니다.\n• 햄스트링 블로우. 다음 턴이 시작될 때까지 대상의 속도가 15피트만큼 감소합니다. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=당신은 맹렬하게 공격하는 새로운 방법을 연마했습니다. 이제 Brutal Strike 옵션에는 다음과 같은 효과가 있습니다.\n• Staggering Blow. 대상은 다음 내성 굴림에 불이익을 받으며 다음 턴이 시작될 때까지 기회 공격을 할 수 없습니다.\n• Sundering Blow. 당신의 타격은 당신의 다음 턴이 시작될 때까지 아군을 위해 생물의 방어에 틈을 남깁니다. 당신이 아닌 생물이 목표에 대해 행하는 다음 공격 굴림은 공격 굴림과 피해 굴림에 1d10의 보너스를 얻습니다. @@ -142,6 +146,8 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=파수꾼 Feature/&FeatureSetRageExtendedDescription=전투에서는 원시적인 잔인함으로 싸웁니다. 자신의 차례에 보너스 행동으로 분노를 입력할 수 있습니다. 이를 통해 힘 세이브 및 체크에 이점을 부여하고 근접 공격 데미지에 초기 +2 보너스를 부여하며 슬래시, 곤봉 및 관통 데미지에 대한 저항력을 부여합니다. 무거운 갑옷을 입지 않은 경우에만 이러한 이점을 얻을 수 있습니다. 1분 동안 지속되거나 마지막 턴 이후 공격을 받거나 피해를 입지 않은 경우 종료됩니다.\n 2개의 분노로 시작하고 오랜 휴식 후 갱신됩니다. 레벨 7에서는 잠시 휴식을 취한 후 분노 포인트 1을 회복합니다. Feature/&FeatureSetRangerDeftExplorerDescription=여행 덕분에 다음과 같은 혜택을 얻습니다.\n• 전문성. 능숙하지 않은 기술 중 하나를 선택합니다. 해당 기술에 대한 전문성을 얻습니다.\n• 언어. 선택한 언어 2개를 알고 있습니다. Feature/&FeatureSetRangerDeftExplorerTitle=데프트 탐험가 +Feature/&FeatureSetRangerFavoredEnemyDescription=당신은 항상 Hunter's Mark 주문을 준비합니다. 주문 슬롯을 소모하지 않고 두 번 시전할 수 있으며, Long Rest를 완료하면 이 능력의 소모된 모든 사용을 회복합니다. +Feature/&FeatureSetRangerFavoredEnemyTitle=선호하는 적 Feature/&FeatureSetSorcererSorceryIncarnateDescription=선천적 마법을 더 이상 사용할 수 없다면, 보너스 액션을 취해 활성화할 때 마법 포인트 2개를 사용하면 사용할 수 있습니다. Feature/&FeatureSetSorcererSorceryIncarnateTitle=마법의 화신 Feature/&FeatureSorcererArcaneApotheosisDescription=선천적 마법 기능이 활성화되어 있는 동안에는 각 턴에 마법 포인트를 소모하지 않고도 메타매직 옵션 하나를 사용할 수 있습니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index c2c68b48da..2c2a6057cd 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=엎드려 넘어짐 동작을 ModUi/&EnablePullPushOnVerticalDirection=위/아래 축에서도 푸시 및 풀 모션 효과를 작동하도록 설정 ModUi/&EnableRangerDeftExplorer2024=레벨 2에서 탐험가 기민함 활성화 [레인저 기술 전문 지식 1개 획득, 언어 2개 학습] ModUi/&EnableRangerExpertise2024=레벨 9에서 전문성을 활성화하세요 [레인저 기술 전문성 2개 획득] +ModUi/&EnableRangerFavoredEnemy2024=선호하는 적과 선호하는 지형을 선호하는 적 5e 2024 버전으로 바꾸세요. ModUi/&EnableRangerFeralSenses2024=야생의 감각을 5e 2024 버전으로 바꾸세요 [30피트 실명 시야 확보] ModUi/&EnableRangerFoeSlayers2024=적 처치자를 5e 2024 버전으로 바꾸세요 [사냥꾼의 표식 주사위를 d10으로 증가] ModUi/&EnableRangerNatureShroud2024=레벨 14에서 자연의 베일 기능을 활성화합니다. [보너스 액션으로 다음 턴이 시작될 때까지 마법으로 투명해질 수 있습니다.] ModUi/&EnableRangerPreciseHunter2024=레벨 17에서 정밀 사냥꾼을 활성화합니다. [사냥꾼이 표시한 생물에 대한 이점] +ModUi/&EnableRangerRelentlessHunter2024=레벨 13에서 끈질긴 사냥꾼 활성화 [사냥꾼의 표식에 집중력 잃지 않음] ModUi/&EnableRangerRoving2024=레벨 6에서 이동 가능 [중갑옷을 착용하지 않을 때 10피트 이동 가능, 동일한 등반 속도] ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. ModUi/&EnableRangerTireless2024=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 92d5a22074..2004778196 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=VAZIO Action/&ActionDisableGrappleDescription=Você solta o alvo agarrado. Action/&ActionDisableGrappleTitle=Desabilitar Grapple Action/&ActionGrappleDescription=Você pode substituir um dos seus ataques principais para iniciar um agarrar, mirando em uma criatura dentro do seu alcance e não mais do que um tamanho maior que você. Você faz um teste de Força (Atletismo) contestado pelo teste de Força (Atletismo) ou Destreza (Acrobacia) do alvo. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Seu treinamento levou seu co Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo Acelerado Feature/&FeatureRangerFoeSlayer2024Description=O dado de dano da sua Marca do Caçador é um d10 em vez de um d6. Feature/&FeatureRangerFoeSlayer2024Title=Matadores de Inimigos +Feature/&FeatureRangerRelentlessHunterDescription=Receber dano não pode quebrar sua Concentração na Marca do Caçador. +Feature/&FeatureRangerRelentlessHunterTitle=Caçador Implacável Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Você pode gastar 1 ponto de Ki para fazer dois ataques desarmados como uma ação bônus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando você usa Ataque Imprudente, uma de suas jogadas de ataque baseadas em Força que você fizer antes do seu turno terminar causa 1d10 de dano extra do mesmo tipo causado pela arma ou Ataque Desarmado, e você também pode escolher um dos seguintes efeitos se ele acertar:\n• Golpe Forçado. O alvo é empurrado 15 pés para longe de você.\n• Golpe no Tendão. A Velocidade do alvo é reduzida em 15 pés até o início do seu próximo turno. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Você aprimorou novas maneiras de atacar furiosamente. Os seguintes efeitos agora estão entre suas opções de Ataque Brutal:\n• Golpe Atordoante. O alvo tem Desvantagem no próximo teste de resistência que fizer e não pode fazer Ataques de Oportunidade até o início do seu próximo turno.\n• Golpe Destruidor. Seu golpe deixa uma abertura na defesa da criatura para um aliado até o início do seu próximo turno. A próxima jogada de ataque feita por uma criatura que não seja você contra o alvo ganha um bônus de 1d10 para jogadas de ataque e dano. @@ -142,6 +146,8 @@ 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/&FeatureSetRangerDeftExplorerDescription=Graças às suas viagens, você ganha os seguintes benefícios.\n• Expertise. Escolha uma das suas proficiências de habilidade com a qual você não tem proficiência. Você ganha expertise nessa habilidade.\n• Idiomas. Você sabe 2 idiomas de sua escolha. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil +Feature/&FeatureSetRangerFavoredEnemyDescription=Você sempre tem a magia Hunter's Mark preparada. Você pode conjurá-la duas vezes sem gastar um espaço de magia, e você recupera todos os usos gastos dessa habilidade quando termina um Long Rest. +Feature/&FeatureSetRangerFavoredEnemyTitle=Inimigo Favorito 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. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 844a4c1ee3..d880757d48 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Habilite a ação Cair de bruçosExplorador Hábil no nível 2 [obtenha uma especialização em habilidades de Patrulheiro e aprenda 2 idiomas] ModUi/&EnableRangerExpertise2024=Habilite Expertise no nível 9 [obtenha duas expertises em habilidades de Ranger] +ModUi/&EnableRangerFavoredEnemy2024=Troque Inimigo Favorito e Terreno Favorito por Inimigo Favorito versão 5e 2024 ModUi/&EnableRangerFeralSenses2024=Troque Sentidos Feral pela versão 5e 2024 [obtenha visão cega de 30 pés] ModUi/&EnableRangerFoeSlayers2024=Troque Foe Slayer pela versão 5e 2024 [aumente o dado Hunter's Mark para d10] ModUi/&EnableRangerNatureShroud2024=Habilite o recurso Véu da Natureza no nível 14 [como uma ação bônus, você pode magicamente ficar invisível até o início do próximo turno] ModUi/&EnableRangerPreciseHunter2024=Habilitar Caçador Preciso no nível 17 [vantagem contra criaturas marcadas por Caçador] +ModUi/&EnableRangerRelentlessHunter2024=Habilite Relentless Hunter no nível 13 [nenhuma concentração perdida na Hunter's Mark] ModUi/&EnableRangerRoving2024=Habilite Roving no nível 6 [obtenha 10 pés de movimento quando não estiver usando armadura pesada e a mesma velocidade de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 ModUi/&EnableRangerTireless2024=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 6252228cd4..8db30e73ec 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=ПУСТОЙ Action/&ActionDisableGrappleDescription=Вы отпускаете захваченную цель. Action/&ActionDisableGrappleTitle=Отпустить захват Action/&ActionGrappleDescription=Вы можете заменить одну атаку основным действием на особую рукопашную атаку, захват. Цель вашего захвата должна быть не более чем на одну категорию больше вас, и она должна находиться в пределах вашей досягаемости. Вы совершаете проверку Силы (Атлетика), противопоставленную проверке Силы (Атлетика) или Ловкости (Акробатика) цели. @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=Ваши тренировк Feature/&FeatureMonkHeightenedMetabolismTitle=Повышенный метаболизм Feature/&FeatureRangerFoeSlayer2024Description=Кубик урона вашей Метки Охотника — d10, а не d6. Feature/&FeatureRangerFoeSlayer2024Title=Убийцы врагов +Feature/&FeatureRangerRelentlessHunterDescription=Получение урона не может нарушить вашу концентрацию на Метке Охотника. +Feature/&FeatureRangerRelentlessHunterTitle=Неумолимый охотник Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Вы можете потратить 1 очко ци, чтобы бонусным действием совершить два безоружных удара. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Когда вы используете Безрассудную атаку, один из ваших бросков атаки, основанный на Силе, который вы совершаете до конца хода, наносит дополнительно 1d10 урона того же типа, что и оружие или Безоружный удар, вы также можете выбрать один из следующих эффектов, если попадаете:\n• Сильный удар. Цель отталкивается от вас на 15 футов.\n• Удар по сухожилиям. Скорость цели уменьшается на 15 футов до начала вашего следующего хода. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Вы отточили новые возможности яростной атаки. Теперь среди вариантов Жестокого удара есть следующие эффекты:\n• Ошеломляющий удар. Цель получает помеху на следующий спасбросок и не может совершать атаки по возможности до начала вашего следующего хода.\n• Раскалывающий удар. Ваш удар оставляет брешь в обороне существа до начала вашего следующего хода. Следующий бросок атаки по цели, совершённый существом, отличным от вас, получает бонус 1d10 к броскам атаки и урона. @@ -142,6 +146,8 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря путешествиям вы получаете следующие преимущества.\n• Экспертиза. Выберите один из навыков, которым вам не хватает мастерства. Вы получаете экспертизу в этом навыке.\n• Языки. Вы знаете 2 языка по своему выбору. Feature/&FeatureSetRangerDeftExplorerTitle=Искусный исследователь +Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое можно применить дважды, не тратя ячейку заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный Отдых. +Feature/&FeatureSetRangerFavoredEnemyTitle=Избранный враг Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства Feature/&FeatureSorcererArcaneApotheosisDescription=Пока активна ваша способность Врождённое чародейство, один раз за ход вы можете использовать один вариант Метамагии без затрат единиц чародейства. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 579492636d..2eb0d5554b 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=Включить действие Упа ModUi/&EnablePullPushOnVerticalDirection=Включить работу эффектов толкания и притяжения по вертикальным осям ModUi/&EnableRangerDeftExplorer2024=Включите Ловкий исследователь на уровне 2 [получите одну экспертизу по навыкам рейнджера и выучите 2 языка] ModUi/&EnableRangerExpertise2024=Включить Экспертизу на уровне 9 [получить две экспертизы по навыкам рейнджера] +ModUi/&EnableRangerFavoredEnemy2024=Поменять местами Избранного врага и Избранную местность с версией Избранного врага 5e 2024 ModUi/&EnableRangerFeralSenses2024=Поменяйте Feral Senses на версию 5e 2024 [получите 30-футовое слепое зрение] ModUi/&EnableRangerFoeSlayers2024=Поменяйте Убийцу врагов на версию 5e 2024 [увеличите кубик Метки охотника до d10] ModUi/&EnableRangerNatureShroud2024=Включить умение Природная завеса на уровне 14 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода] ModUi/&EnableRangerPreciseHunter2024=Включить Точный Охотник на уровне 17 [преимущество против существ, отмеченных Охотником] +ModUi/&EnableRangerRelentlessHunter2024=Включить Безжалостного охотника на уровне 13 [концентрация не теряется на Метке охотника] ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го ModUi/&EnableRangerTireless2024=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index f8054da9d5..63e742e939 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -1,3 +1,5 @@ + The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +=空的 Action/&ActionDisableGrappleDescription=你放开了被擒抱的目标。 Action/&ActionDisableGrappleTitle=禁用抓钩 Action/&ActionGrappleDescription=你可以用一次主要攻击来代替擒抱,以你触手可及的范围内且体型不大于你一号的生物为目标。你进行力量(运动)检定,并与目标的力量(运动)或敏捷(杂技)检定进行对抗。 @@ -126,6 +128,8 @@ Feature/&FeatureMonkHeightenedMetabolismDescription=你的训练已将你的身 Feature/&FeatureMonkHeightenedMetabolismTitle=出神入化 Feature/&FeatureRangerFoeSlayer2024Description=猎人印记的伤害骰子是 d10,而不是 d6。 Feature/&FeatureRangerFoeSlayer2024Title=仇敌屠戮者 +Feature/&FeatureRangerRelentlessHunterDescription=受到伤害不会破坏你对猎人印记的专注。 +Feature/&FeatureRangerRelentlessHunterTitle=无情猎手 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=你可以消耗 1 点气,以一个附赠动作进行两次徒手打击。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=当你使用鲁莽攻击时,你在回合结束前进行的一次基于力量的攻击检定会造成与武器或徒手打击所造成的相同类型的额外 1d10 伤害,并且如果击中,你还可以选择以下效果之一:\n• 强力打击。目标被直接推离你 15 尺。\n• 腿筋打击。目标的速度降低 15 尺,直到你的下一回合开始。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=你已经磨练出了猛烈攻击的新方法。现在,你的凶蛮打击选项中包含以下效果:\n• 惊人打击。目标在下一次豁免检定中处于劣势,并且在你的下回合开始之前无法进行借机攻击。\n• 粉碎一击。你的打击会在该生物的防御中为盟友留下一个缺口,直到你的下一个回合开始。除你之外的生物对目标进行的下一次攻击检定获得 1d10 的攻击和伤害检定加值。 @@ -142,6 +146,8 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=典狱长 Feature/&FeatureSetRageExtendedDescription=在战斗中,你会以原始的凶猛进行战斗。在你的回合中,你可以输入狂怒作为附赠动作。这使你在力量豁免和检定上获得优势,近战攻击伤害初始 +2 加值,以及对挥砍、钝击和穿刺伤害的抗性。仅当你不穿着重甲时你才能获得这些好处。持续 1 分钟,如果自上回合以来你没有攻击或受到伤害,则结束。\n你以 2 点怒气开始,在长休后恢复。 7 级时,短休后你会恢复 1 点怒气。 Feature/&FeatureSetRangerDeftExplorerDescription=通过旅行,您将获得以下好处。\n• 专业知识。选择一项您不擅长的技能。您将获得该技能的专业知识。\n• 语言。您掌握 2 种您选择的语言。 Feature/&FeatureSetRangerDeftExplorerTitle=灵巧的探险家 +Feature/&FeatureSetRangerFavoredEnemyDescription=你始终会准备好猎人印记法术。你可以施放两次而不消耗法术位,并且在完成长时间休息后,你可以恢复此技能的所有消耗使用次数。 +Feature/&FeatureSetRangerFavoredEnemyTitle=最喜欢的敌人 Feature/&FeatureSetSorcererSorceryIncarnateDescription=如果您已经无法使用天生巫术,您可以在采取奖励行动激活它时花费 2 个巫术点来使用它。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔法化身 Feature/&FeatureSorcererArcaneApotheosisDescription=当你的天生巫术功能处于活动状态时,你可以在每个回合使用一个超魔法选项,而无需花费巫术点数。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index e3f812c3e5..83c6fb8320 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -181,10 +181,12 @@ ModUi/&EnableProneAction=启用倒地动作Deft Explorer [获得一项游侠技能专长,并学习 2 种语言] ModUi/&EnableRangerExpertise2024=在 9 级启用专业知识 [获得两项游侠技能专业知识] +ModUi/&EnableRangerFavoredEnemy2024=将偏好敌人和偏好地形与偏好敌人 5e 2024 版本交换 ModUi/&EnableRangerFeralSenses2024=将 Feral Senses 与 5e 2024 版本交换[获得 30 英尺盲视] ModUi/&EnableRangerFoeSlayers2024=将 Foe Slayer 与 5e 2024 版本交换 [将 Hunter's Mark 骰子增加至 d10] ModUi/&EnableRangerNatureShroud2024=在 14 级时启用自然面纱功能[作为奖励行动,你可以神奇地隐身,直到下一回合开始] ModUi/&EnableRangerPreciseHunter2024=在 17 级时启用精准猎手 [对抗被猎人标记的生物的优势] +ModUi/&EnableRangerRelentlessHunter2024=在 13 级时启用无情猎手 [猎人印记不会影响专注力] ModUi/&EnableRangerRoving2024=在 6 级时启用漫游 [不使用重型装甲时可移动 10 英尺,且爬升速度相同] ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 ModUi/&EnableRangerTireless2024=在 10 级时启用不知疲倦 [使用动作获取临时生命值] From 9f2d3e19916a385bd28c090cb6904e14caa75ef6 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 14 Dec 2024 19:14:06 -0800 Subject: [PATCH 11/42] fix translations and force Katana to use one material only --- SolastaUnfinishedBusiness/BlenderModels/Katana/Katana.obj | 4 ++-- SolastaUnfinishedBusiness/Translations/de/Others-de.txt | 4 +--- SolastaUnfinishedBusiness/Translations/en/Others-en.txt | 3 +-- SolastaUnfinishedBusiness/Translations/es/Others-es.txt | 4 +--- SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt | 4 +--- SolastaUnfinishedBusiness/Translations/it/Others-it.txt | 4 +--- SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt | 4 +--- SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt | 4 +--- SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt | 4 +--- SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt | 4 +--- SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt | 4 +--- 11 files changed, 12 insertions(+), 31 deletions(-) diff --git a/SolastaUnfinishedBusiness/BlenderModels/Katana/Katana.obj b/SolastaUnfinishedBusiness/BlenderModels/Katana/Katana.obj index 87927bcd93..8d96dcdc35 100644 --- a/SolastaUnfinishedBusiness/BlenderModels/Katana/Katana.obj +++ b/SolastaUnfinishedBusiness/BlenderModels/Katana/Katana.obj @@ -10353,7 +10353,7 @@ vt -0.413400 0.000500 vt 0.972200 0.676400 vt 0.413600 0.666700 s 1 -usemtl Metal_Dark_Gold +usemtl handgrip f 2/1/1 4/2/2 1/3/3 f 5/4/4 3/5/1 2/1/1 f 7/6/5 6/7/4 5/4/4 @@ -17216,7 +17216,7 @@ f 3492/3006/3688 3495/3009/3688 3455/2972/3688 f 3461/2978/3806 3496/3010/3806 3492/3006/3806 f 3413/2912/3807 3483/2995/3807 3496/3010/3808 s 1 -usemtl Metal_Chrome +usemtl handgrip f 3257/2751/3498 3259/2752/3499 3260/2753/3500 f 3262/2754/3501 3257/2751/3498 3261/2755/3502 f 3264/2756/3503 3261/2755/3502 3263/2757/3504 diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 1e067d4c2a..ff46b6e0b8 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=LEER Action/&ActionDisableGrappleDescription=Sie lassen das gepackte Ziel los. Action/&ActionDisableGrappleTitle=Grapple deaktivieren Action/&ActionGrappleDescription=Sie können einen Ihrer Hauptangriffe ersetzen, um einen Ringkampf zu beginnen. Dabei zielen Sie auf eine Kreatur in Ihrer Reichweite, die höchstens eine Größe größer ist als Sie. Sie führen einen Stärke- (Athletik-)Wurf durch, der durch den Stärke- (Athletik-) oder Geschicklichkeits- (Akrobatik-)Wurf des Ziels angefochten wird. @@ -146,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Dank deiner Reisen erlangst du die folgenden Vorteile.\n• Fachwissen. Wähle eine deiner Fertigkeiten aus, die dir fehlt. Du erlangst Fachwissen in dieser Fertigkeit.\n• Sprachen. Du kennst 2 Sprachen deiner Wahl. Feature/&FeatureSetRangerDeftExplorerTitle=Geschickter Entdecker -Feature/&FeatureSetRangerFavoredEnemyDescription=Du hast den Zauber „Jägermal“ immer bereit. Du kannst ihn zweimal wirken, ohne einen Zauberplatz zu verbrauchen, und erhältst alle verbrauchten Anwendungen dieser Fähigkeit zurück, wenn du eine lange Pause beendest. +Feature/&FeatureSetRangerFavoredEnemyDescription=Du hast den Zauber „Jägermal“ immer bereit. Du kannst ihn zweimal wirken, ohne einen Zauberplatz zu verbrauchen, und erhältst alle verbrauchten Anwendungen dieser Fähigkeit zurück, wenn du eine lange Pause beendest. Die Anzahl der Male, die du den Zauber ohne Zauberplatz wirken kannst, erhöht sich, wenn du bestimmte Ranger-Level erreichst, wie in der Spalte „Bevorzugter Feind“ der Tabelle „Ranger-Eigenschaften“ gezeigt. Feature/&FeatureSetRangerFavoredEnemyTitle=Bevorzugter Feind 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 diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 891916a786..08c1912555 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -1,4 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. Action/&ActionDisableGrappleDescription=You release the grappled target. Action/&ActionDisableGrappleTitle=Disable Grapple Action/&ActionGrappleDescription=You can replace one of your main attacks to initiate a grapple, targeting a creature within your reach and no more than one size larger than you. You make a Strength (Athletics) check contested by the target's Strength (Athletics) or Dexterity (Acrobatics) check. @@ -145,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Thanks to your travels, you gain the following benefits.\n• Expertise. Choose one of your skill proficiencies with which you lack proficiency. You gain expertise in that skill.\n• Languages. You know 2 languages of your choice. Feature/&FeatureSetRangerDeftExplorerTitle=Deft Explorer -Feature/&FeatureSetRangerFavoredEnemyDescription=You always have the Hunter's Mark spell prepared. You can cast it twice without expending a spell slot, and you regain all expended uses of this ability when you finish a Long Rest. +Feature/&FeatureSetRangerFavoredEnemyDescription=You always have the Hunter's Mark spell prepared. You can cast it twice without expending a spell slot, and you regain all expended uses of this ability when you finish a Long Rest. The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. Feature/&FeatureSetRangerFavoredEnemyTitle=Favored Enemy 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 diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index f5cc745f52..47b0e382d4 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=VACÍO Action/&ActionDisableGrappleDescription=Sueltas el objetivo agarrado. Action/&ActionDisableGrappleTitle=Deshabilitar Grapple Action/&ActionGrappleDescription=Puedes reemplazar uno de tus ataques principales para iniciar un agarrón, apuntando a una criatura que esté dentro de tu alcance y que no sea más grande que tú. Realizas una prueba de Fuerza (Atletismo) que se enfrenta a la prueba de Fuerza (Atletismo) o Destreza (Acrobacia) del objetivo. @@ -146,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Gracias a tus viajes, obtienes los siguientes beneficios:\n• Pericia. Elige una de tus competencias de habilidad en la que no eres competente. Obtienes pericia en esa habilidad.\n• Idiomas. Sabes 2 idiomas de tu elección. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil -Feature/&FeatureSetRangerFavoredEnemyDescription=Siempre tienes preparado el hechizo Marca del cazador. Puedes lanzarlo dos veces sin gastar un espacio de hechizo y recuperas todos los usos gastados de esta habilidad cuando terminas un descanso prolongado. +Feature/&FeatureSetRangerFavoredEnemyDescription=Siempre tienes preparado el hechizo Marca del cazador. Puedes lanzarlo dos veces sin gastar un espacio de hechizo y recuperas todos los usos gastados de esta habilidad cuando terminas un descanso prolongado. La cantidad de veces que puedes lanzar el hechizo sin un espacio de hechizo aumenta cuando alcanzas ciertos niveles de explorador, como se muestra en la columna Enemigo favorito de la tabla de características del explorador. Feature/&FeatureSetRangerFavoredEnemyTitle=Enemigo Favorecido 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 diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 18a3db52db..950f8c5184 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=VIDE Action/&ActionDisableGrappleDescription=Vous relâchez la cible agrippée. Action/&ActionDisableGrappleTitle=Désactiver le grappin Action/&ActionGrappleDescription=Vous pouvez remplacer l'une de vos attaques principales par une lutte contre une créature à votre portée et pas plus grande qu'elle. Vous effectuez un test de Force (Athlétisme) contesté par le test de Force (Athlétisme) ou de Dextérité (Acrobaties) de la cible. @@ -146,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grâce à vos voyages, vous obtenez les avantages suivants.\n• Expertise. Choisissez l'une de vos compétences que vous ne maîtrisez pas suffisamment. Vous obtenez une expertise dans cette compétence.\n• Langues. Vous connaissez 2 langues de votre choix. Feature/&FeatureSetRangerDeftExplorerTitle=Explorateur habile -Feature/&FeatureSetRangerFavoredEnemyDescription=Vous avez toujours le sort Marque du chasseur prêt. Vous pouvez le lancer deux fois sans dépenser d'emplacement de sort, et vous récupérez toutes les utilisations dépensées de cette capacité lorsque vous terminez un repos long. +Feature/&FeatureSetRangerFavoredEnemyDescription=Vous avez toujours le sort Marque du chasseur prêt. Vous pouvez le lancer deux fois sans dépenser d'emplacement de sort, et vous récupérez toutes les utilisations dépensées de cette capacité lorsque vous terminez un Repos long. Le nombre de fois que vous pouvez lancer le sort sans emplacement de sort augmente lorsque vous atteignez certains niveaux de Rôdeur, comme indiqué dans la colonne Ennemi favori du tableau des Caractéristiques du Rôdeur. Feature/&FeatureSetRangerFavoredEnemyTitle=Ennemi favori 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 diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index dd79cde833..ade6bd3637 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=VUOTO Action/&ActionDisableGrappleDescription=Rilasci il bersaglio afferrato. Action/&ActionDisableGrappleTitle=Disattivare la presa Action/&ActionGrappleDescription=Puoi sostituire uno dei tuoi attacchi principali per iniziare una lotta, prendendo di mira una creatura entro la tua portata e non più grande di una taglia rispetto a te. Esegui una prova di Forza (Atletica) contrastata dalla prova di Forza (Atletica) o Destrezza (Acrobazia) del bersaglio. @@ -146,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grazie ai tuoi viaggi, ottieni i seguenti vantaggi.\n• Competenza. Scegli una delle tue competenze in cui non sei competente. Ottieni competenza in quella competenza.\n• Lingue. Conosci 2 lingue a tua scelta. Feature/&FeatureSetRangerDeftExplorerTitle=Esploratore abile -Feature/&FeatureSetRangerFavoredEnemyDescription=Hai sempre pronto l'incantesimo Hunter's Mark. Puoi lanciarlo due volte senza spendere uno slot incantesimo e recuperi tutti gli usi spesi di questa capacità quando finisci un Long Rest. +Feature/&FeatureSetRangerFavoredEnemyDescription=Hai sempre pronto l'incantesimo Hunter's Mark. Puoi lanciarlo due volte senza spendere uno slot incantesimo e recuperi tutti gli usi spesi di questa capacità quando finisci un Long Rest. Il numero di volte in cui puoi lanciare l'incantesimo senza uno slot incantesimo aumenta quando raggiungi determinati livelli da Ranger, come mostrato nella colonna Favorite Enemy della tabella Ranger Features. Feature/&FeatureSetRangerFavoredEnemyTitle=Nemico favorito 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 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 1f6940a513..a3f1d14c5b 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=空の Action/&ActionDisableGrappleDescription=掴んだターゲットを解放します。 Action/&ActionDisableGrappleTitle=グラップルを無効にする Action/&ActionGrappleDescription=主な攻撃の 1 つを組みつき攻撃に置き換えることができます。組みつき攻撃は、自分の攻撃範囲内にあり、自分より 1 サイズ以内のクリーチャーをターゲットとします。ターゲットの【筋力】(運動) または【敏捷性】(軽業) 判定と競合する【筋力】(運動) 判定を行います。 @@ -146,7 +144,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=ウォーデン Feature/&FeatureSetRageExtendedDescription=戦闘では、根源的な凶暴性で戦います。自分のターンでは、ボーナス アクションとして激怒を入力できます。これにより、体力のセーブとチェックで有利になり、近接攻撃のダメージに最初の +2 ボーナスが与えられ、斬撃、殴打、突き刺しのダメージに対する耐性が得られます。これらの利点は、重装備を着用していない場合にのみ得られます。 1 分間持続するか、最後のターン以降に攻撃やダメージを受けていない場合は終了します。\n 2 つの激怒から始まり、長い休息の後に更新されます。レベル 7 では、短い休憩の後、怒りポイントが 1 回復します。 Feature/&FeatureSetRangerDeftExplorerDescription=旅のおかげで、あなたは以下の利益を得ます。\n• 専門知識。あなたが熟達していないスキルの 1 つを選択します。そのスキルの専門知識を得ます。\n• 言語。あなたが選択した 2 つの言語を習得します。 Feature/&FeatureSetRangerDeftExplorerTitle=巧みな探検家 -Feature/&FeatureSetRangerFavoredEnemyDescription=ハンターズ マーク呪文は常に準備されています。呪文スロットを消費せずに 2 回唱えることができ、大休憩を終えるとこの能力の使用回数がすべて回復します。 +Feature/&FeatureSetRangerFavoredEnemyDescription=ハンターズ マーク呪文は常に準備されています。呪文スロットを消費せずに 2 回唱えることができ、大休憩を終えるとこの能力の使用回数をすべて回復します。レンジャー レベルが一定に達すると、呪文スロットを消費せずに呪文を唱えられる回数が増えます。この回数は、レンジャー機能表の得意な敵の列に示されています。 Feature/&FeatureSetRangerFavoredEnemyTitle=好敵手 Feature/&FeatureSetSorcererSorceryIncarnateDescription=生来の魔術の使用回数が残っていない場合、それを起動するためのボーナス アクションを実行するときに 2 魔術ポイントを消費すると、それを使用できます。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔術の化身 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index b481e219d9..1dfe14425f 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=비어 있는 Action/&ActionDisableGrappleDescription=붙잡힌 타겟을 놓습니다. Action/&ActionDisableGrappleTitle=그래플 비활성화 Action/&ActionGrappleDescription=당신은 주요 공격 중 하나를 대체하여 그래플을 시작할 수 있으며, 당신의 손이 닿는 범위 내에 있고 당신보다 한 사이즈 이상 크지 않은 생물을 대상으로 합니다. 당신은 대상의 힘(운동) 또는 민첩성(곡예) 검사에 의해 경합되는 힘(운동) 검사를 합니다. @@ -146,7 +144,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=파수꾼 Feature/&FeatureSetRageExtendedDescription=전투에서는 원시적인 잔인함으로 싸웁니다. 자신의 차례에 보너스 행동으로 분노를 입력할 수 있습니다. 이를 통해 힘 세이브 및 체크에 이점을 부여하고 근접 공격 데미지에 초기 +2 보너스를 부여하며 슬래시, 곤봉 및 관통 데미지에 대한 저항력을 부여합니다. 무거운 갑옷을 입지 않은 경우에만 이러한 이점을 얻을 수 있습니다. 1분 동안 지속되거나 마지막 턴 이후 공격을 받거나 피해를 입지 않은 경우 종료됩니다.\n 2개의 분노로 시작하고 오랜 휴식 후 갱신됩니다. 레벨 7에서는 잠시 휴식을 취한 후 분노 포인트 1을 회복합니다. Feature/&FeatureSetRangerDeftExplorerDescription=여행 덕분에 다음과 같은 혜택을 얻습니다.\n• 전문성. 능숙하지 않은 기술 중 하나를 선택합니다. 해당 기술에 대한 전문성을 얻습니다.\n• 언어. 선택한 언어 2개를 알고 있습니다. Feature/&FeatureSetRangerDeftExplorerTitle=데프트 탐험가 -Feature/&FeatureSetRangerFavoredEnemyDescription=당신은 항상 Hunter's Mark 주문을 준비합니다. 주문 슬롯을 소모하지 않고 두 번 시전할 수 있으며, Long Rest를 완료하면 이 능력의 소모된 모든 사용을 회복합니다. +Feature/&FeatureSetRangerFavoredEnemyDescription=당신은 항상 Hunter's Mark 주문을 준비합니다. 당신은 주문 슬롯을 소모하지 않고 두 번 시전할 수 있으며, Long Rest를 마칠 때 이 능력의 소모된 모든 사용을 회복합니다. 주문 슬롯 없이 주문을 시전할 수 있는 횟수는 Ranger Features 표의 Favored Enemy 열에 표시된 대로 특정 Ranger 레벨에 도달하면 증가합니다. Feature/&FeatureSetRangerFavoredEnemyTitle=선호하는 적 Feature/&FeatureSetSorcererSorceryIncarnateDescription=선천적 마법을 더 이상 사용할 수 없다면, 보너스 액션을 취해 활성화할 때 마법 포인트 2개를 사용하면 사용할 수 있습니다. Feature/&FeatureSetSorcererSorceryIncarnateTitle=마법의 화신 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 2004778196..409d5d0be3 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=VAZIO Action/&ActionDisableGrappleDescription=Você solta o alvo agarrado. Action/&ActionDisableGrappleTitle=Desabilitar Grapple Action/&ActionGrappleDescription=Você pode substituir um dos seus ataques principais para iniciar um agarrar, mirando em uma criatura dentro do seu alcance e não mais do que um tamanho maior que você. Você faz um teste de Força (Atletismo) contestado pelo teste de Força (Atletismo) ou Destreza (Acrobacia) do alvo. @@ -146,7 +144,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Graças às suas viagens, você ganha os seguintes benefícios.\n• Expertise. Escolha uma das suas proficiências de habilidade com a qual você não tem proficiência. Você ganha expertise nessa habilidade.\n• Idiomas. Você sabe 2 idiomas de sua escolha. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil -Feature/&FeatureSetRangerFavoredEnemyDescription=Você sempre tem a magia Hunter's Mark preparada. Você pode conjurá-la duas vezes sem gastar um espaço de magia, e você recupera todos os usos gastos dessa habilidade quando termina um Long Rest. +Feature/&FeatureSetRangerFavoredEnemyDescription=Você sempre tem a magia Hunter's Mark preparada. Você pode conjurá-la duas vezes sem gastar um espaço de magia, e você recupera todos os usos gastos dessa habilidade quando termina um Long Rest. O número de vezes que você pode conjurar a magia sem um espaço de magia aumenta quando você alcança certos níveis de Ranger, como mostrado na coluna Favored Enemy da tabela Ranger Features. Feature/&FeatureSetRangerFavoredEnemyTitle=Inimigo Favorito 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 diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 8db30e73ec..ccc9828e6b 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=ПУСТОЙ Action/&ActionDisableGrappleDescription=Вы отпускаете захваченную цель. Action/&ActionDisableGrappleTitle=Отпустить захват Action/&ActionGrappleDescription=Вы можете заменить одну атаку основным действием на особую рукопашную атаку, захват. Цель вашего захвата должна быть не более чем на одну категорию больше вас, и она должна находиться в пределах вашей досягаемости. Вы совершаете проверку Силы (Атлетика), противопоставленную проверке Силы (Атлетика) или Ловкости (Акробатика) цели. @@ -146,7 +144,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря путешествиям вы получаете следующие преимущества.\n• Экспертиза. Выберите один из навыков, которым вам не хватает мастерства. Вы получаете экспертизу в этом навыке.\n• Языки. Вы знаете 2 языка по своему выбору. Feature/&FeatureSetRangerDeftExplorerTitle=Искусный исследователь -Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое можно применить дважды, не тратя ячейку заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный Отдых. +Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое вы можете применить дважды, не тратя слот заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный отдых. Количество раз, когда вы можете применить заклинание без слота заклинания, увеличивается, когда вы достигаете определенных уровней Рейнджера, как показано в столбце «Избранный враг» таблицы «Особенности Рейнджера». Feature/&FeatureSetRangerFavoredEnemyTitle=Избранный враг Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 63e742e939..823b3f3b83 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -1,5 +1,3 @@ - The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. -=空的 Action/&ActionDisableGrappleDescription=你放开了被擒抱的目标。 Action/&ActionDisableGrappleTitle=禁用抓钩 Action/&ActionGrappleDescription=你可以用一次主要攻击来代替擒抱,以你触手可及的范围内且体型不大于你一号的生物为目标。你进行力量(运动)检定,并与目标的力量(运动)或敏捷(杂技)检定进行对抗。 @@ -146,7 +144,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=典狱长 Feature/&FeatureSetRageExtendedDescription=在战斗中,你会以原始的凶猛进行战斗。在你的回合中,你可以输入狂怒作为附赠动作。这使你在力量豁免和检定上获得优势,近战攻击伤害初始 +2 加值,以及对挥砍、钝击和穿刺伤害的抗性。仅当你不穿着重甲时你才能获得这些好处。持续 1 分钟,如果自上回合以来你没有攻击或受到伤害,则结束。\n你以 2 点怒气开始,在长休后恢复。 7 级时,短休后你会恢复 1 点怒气。 Feature/&FeatureSetRangerDeftExplorerDescription=通过旅行,您将获得以下好处。\n• 专业知识。选择一项您不擅长的技能。您将获得该技能的专业知识。\n• 语言。您掌握 2 种您选择的语言。 Feature/&FeatureSetRangerDeftExplorerTitle=灵巧的探险家 -Feature/&FeatureSetRangerFavoredEnemyDescription=你始终会准备好猎人印记法术。你可以施放两次而不消耗法术位,并且在完成长时间休息后,你可以恢复此技能的所有消耗使用次数。 +Feature/&FeatureSetRangerFavoredEnemyDescription=你始终准备好猎人印记法术。你可以施放两次而不消耗法术位,当你完成长时间休息时,你可以恢复此技能的所有已消耗使用次数。当你达到某些游侠等级时,无需消耗法术位即可施放此法术的次数会增加,如游侠特性表中的偏好敌人栏所示。 Feature/&FeatureSetRangerFavoredEnemyTitle=最喜欢的敌人 Feature/&FeatureSetSorcererSorceryIncarnateDescription=如果您已经无法使用天生巫术,您可以在采取奖励行动激活它时花费 2 个巫术点来使用它。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔法化身 From b8fddcd8f726e75c1dcde6dfc41a722f4abedb07 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 08:16:11 -0800 Subject: [PATCH 12/42] tweaks on tabletop 2024 settings --- .../Displays/ClassesDisplay.cs | 2 +- .../Displays/GeneralDisplay.cs | 2 +- .../Models/2024RangerContext.cs | 22 +++++++++++++++---- .../Models/2024SorcererContext.cs | 2 +- .../Models/Tabletop2024Context.cs | 3 ++- 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 5582ca4da7..cc47135265 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -528,7 +528,7 @@ internal static void DisplayClasses() if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableSorcererSorcerousRestoration2024 = toggle; - Tabletop2024Context.SwitchSorcerousRestorationAtLevel5(); + Tabletop2024Context.SwitchSorcererSorcerousRestorationAtLevel5(); } UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 4ac9229960..000ffae374 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -687,7 +687,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnableSorcererSorcerousRestoration2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableSorcererSorcerousRestoration2024 = toggle; - Tabletop2024Context.SwitchSorcerousRestorationAtLevel5(); + Tabletop2024Context.SwitchSorcererSorcerousRestorationAtLevel5(); } UI.Label(); diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index ee7797e021..dbf1f92ef3 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -59,6 +59,20 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder .Create("PowerRangerTireless") .SetGuiPresentation(Category.Feature) + .SetUsesAbilityBonus(ActivationTime.Action, RechargeRate.LongRest, AttributeDefinitions.Wisdom) + .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.UntilAnyRest) + .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetBonusMode(AddBonusMode.AbilityBonus) + .SetTempHpForm(0, DieType.D8, 1) + .Build()) + .Build()) .AddToDB(); private static readonly FeatureDefinition FeatureRangerRelentlessHunter = FeatureDefinitionBuilder @@ -176,8 +190,8 @@ internal static void SwitchRangerFeralSenses() x.FeatureDefinition == Level20Context.SenseRangerFeralSenses2024); Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFeralSenses2024 - ? new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses, 18) - : new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses2024, 18)); + ? new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses2024, 18) + : new FeatureUnlockByLevel(Level20Context.SenseRangerFeralSenses, 18)); Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } @@ -190,8 +204,8 @@ internal static void SwitchRangerFoeSlayers() x.FeatureDefinition == Level20Context.FeatureFoeSlayer2024); Ranger.FeatureUnlocks.Add(Main.Settings.EnableRangerFoeSlayers2024 - ? new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer, 20) - : new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer2024, 20)); + ? new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer2024, 20) + : new FeatureUnlockByLevel(Level20Context.FeatureFoeSlayer, 20)); Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } diff --git a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs index d16fe66e28..7450101ab0 100644 --- a/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024SorcererContext.cs @@ -216,7 +216,7 @@ private static void LoadSorcererSorcerousRestoration() (SpellSlotsForm.EffectType)ExtraEffectType.RecoverSorceryHalfLevelDown; } - internal static void SwitchSorcerousRestorationAtLevel5() + internal static void SwitchSorcererSorcerousRestorationAtLevel5() { Sorcerer.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == PowerSorcerousRestoration); diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 6a0c8429f6..ac7d92f769 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -97,7 +97,8 @@ internal static void LateLoad() SwitchRogueSteadyAim(); SwitchSorcererArcaneApotheosis(); SwitchSorcererInnateSorcery(); - SwitchSorcerousRestorationAtLevel5(); + SwitchSorcererOriginLearningLevel(); + SwitchSorcererSorcerousRestorationAtLevel5(); SwitchSpellRitualOnAllCasters(); SwitchSurprisedEnforceDisadvantage(); SwitchWarlockInvocationsProgression(); From 99b685e60af7e2242a61a8a198ab4899046dc174 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 09:05:26 -0800 Subject: [PATCH 13/42] update translations --- SolastaUnfinishedBusiness/Translations/de/Items-de.txt | 3 +++ SolastaUnfinishedBusiness/Translations/de/Others-de.txt | 3 ++- SolastaUnfinishedBusiness/Translations/de/Settings-de.txt | 1 + SolastaUnfinishedBusiness/Translations/en/Items-en.txt | 3 +++ SolastaUnfinishedBusiness/Translations/en/Others-en.txt | 3 ++- SolastaUnfinishedBusiness/Translations/en/Settings-en.txt | 3 ++- SolastaUnfinishedBusiness/Translations/es/Items-es.txt | 3 +++ SolastaUnfinishedBusiness/Translations/es/Others-es.txt | 3 ++- SolastaUnfinishedBusiness/Translations/es/Settings-es.txt | 1 + SolastaUnfinishedBusiness/Translations/fr/Items-fr.txt | 3 +++ SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt | 3 ++- SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt | 1 + SolastaUnfinishedBusiness/Translations/it/Items-it.txt | 3 +++ SolastaUnfinishedBusiness/Translations/it/Others-it.txt | 3 ++- SolastaUnfinishedBusiness/Translations/it/Settings-it.txt | 1 + SolastaUnfinishedBusiness/Translations/ja/Items-ja.txt | 3 +++ SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt | 1 + SolastaUnfinishedBusiness/Translations/ko/Items-ko.txt | 3 +++ SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt | 1 + SolastaUnfinishedBusiness/Translations/pt-BR/Items-pt-BR.txt | 3 +++ SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt | 3 ++- .../Translations/pt-BR/Settings-pt-BR.txt | 1 + SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt | 3 +++ SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt | 1 + SolastaUnfinishedBusiness/Translations/zh-CN/Items-zh-CN.txt | 3 +++ SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt | 3 ++- .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 30 files changed, 61 insertions(+), 11 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/de/Items-de.txt b/SolastaUnfinishedBusiness/Translations/de/Items-de.txt index 1cac5262c5..14e6c62857 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Items-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Items-de.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Seelentrinker-Speer Item/&Javelin_Whiteburn_Description=Diese verzauberte Waffe wurde unter Verwendung des alten Wissens der Schmiedemeister von Manacalon hergestellt. Whiteburn wurde vom ersten Danantar erschaffen, um eine Trollinvasion zu bekämpfen, die aus den Sümpfen im Süden seines Reiches zwischen den Sioltafin und den Scarafin kam. Item/&Javelin_Whiteburn_Title=Whiteburn-Speer Item/&Katana+1Title=Katana +1 +Item/&Katana+1UnidentifiedTitle=Qualitäts-Katana Item/&Katana+2Title=Katana +2 +Item/&Katana+2UnidentifiedTitle=Prächtiges Katana Item/&Katana+3Title=Katana +3 +Item/&Katana+3UnidentifiedTitle=Hervorragendes Katana Item/&KatanaPrimedTitle=Grundiertes Katana Item/&KatanaTitle=Katana Item/&KatanaTypeTitle=Katana diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index ff46b6e0b8..b4e64320e3 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Erhöhter Stoffwechsel Feature/&FeatureRangerFoeSlayer2024Description=Der Schadenswürfel Ihres Hunter's Mark ist ein d10 statt eines d6. Feature/&FeatureRangerFoeSlayer2024Title=Feindestöter Feature/&FeatureRangerRelentlessHunterDescription=Wenn Sie Schaden erleiden, kann Ihre Konzentration auf Hunter's Mark nicht unterbrochen werden. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Für Hunter’s Mark ist keine Konzentration erforderlich. Feature/&FeatureRangerRelentlessHunterTitle=Unerbittlicher Jäger Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Sie können 1 Ki-Punkt ausgeben, um als Bonusaktion zwei unbewaffnete Schläge auszuführen. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Wenn Sie „Rücksichtsloser Angriff“ verwenden, verursacht einer Ihrer Stärke-basierten Angriffswürfe, die Sie vor Ende Ihres Zuges durchführen, zusätzlich 1W10 Schaden derselben Art wie die Waffe oder der waffenlose Schlag. Zudem können Sie bei einem Treffer einen der folgenden Effekte wählen:\n• Heftiger Schlag. Das Ziel wird 15 Fuß gerade von Ihnen weggestoßen.\n• Schlag in die Kniesehne. Die Geschwindigkeit des Ziels wird bis zum Beginn Ihres nächsten Zuges um 15 Fuß reduziert. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=Als freie Aktion können Sie 3 Ki-P Feature/&PowerMonkSuperiorDefenseTitle=Überlegene Verteidigung Feature/&PowerRangerNatureShroudDescription=Sie nutzen die Kräfte der Natur, um sich kurzzeitig vor Blicken zu verstecken. Als Bonusaktion können Sie sich bis zum Beginn Ihres nächsten Zuges auf magische Weise unsichtbar machen, zusammen mit der gesamten Ausrüstung, die Sie tragen oder bei sich haben. Sie können diese Funktion so oft verwenden, wie Ihr Weisheitsattributmodifikator es vorgibt, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Pause beenden. Feature/&PowerRangerNatureShroudTitle=Schleier der Natur -Feature/&PowerRangerTirelessDescription=Als Aktion kannst du dir eine Anzahl temporärer HP geben, die 1W8 + deinem Weisheitsmodifikator entspricht (mindestens 1). Du kannst diese Aktion so oft verwenden, wie dein Weisheitsmodifikator (mindestens 1) beträgt, und du erhältst alle verbrauchten Anwendungen zurück, wenn du eine lange Pause beendest. +Feature/&PowerRangerTirelessDescription=Urkräfte versorgen dich jetzt auf deinen Reisen mit Energie und gewähren dir die folgenden Vorteile. Als Bonusaktion kannst du dir eine Anzahl temporärer Trefferpunkte in Höhe von 1W8 plus der Hälfte deines Ranger-Levels (aufgerundet) verschaffen. Du kannst diese Funktion so oft verwenden, wie dein Weisheitsmodifikator es vorgibt (mindestens einmal), und du erhältst alle verbrauchten Anwendungen zurück, wenn du eine lange Pause beendest. Feature/&PowerRangerTirelessTitle=Unermüdlich Feature/&PowerRogueCunningStrikeDescription=Sie haben raffinierte Möglichkeiten entwickelt, Ihren Schleichangriff einzusetzen. Wenn Sie Schleichangriffsschaden verursachen, können Sie auf Schleichangriffswürfel verzichten und stattdessen zusätzliche Cunning Strike-Effekte hinzufügen. Feature/&PowerRogueCunningStrikeDisarmDescription=Das Ziel muss einen Rettungswurf für Geschicklichkeit bestehen oder ist bis zum Ende seines nächsten Zuges bei allen Angriffen im Nachteil. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index e04a408488..b1eebf6167 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Tauschen Sie Foe Slayer ModUi/&EnableRangerNatureShroud2024=Aktivieren Sie die Funktion Nature's Veil auf Stufe 14 [als Bonusaktion können Sie bis zum Beginn der nächsten Runde auf magische Weise unsichtbar werden] ModUi/&EnableRangerPreciseHunter2024=Aktiviere Precise Hunter auf Level 17 [Vorteil gegenüber von Hunter markierten Kreaturen] ModUi/&EnableRangerRelentlessHunter2024=Aktiviere Relentless Hunter auf Level 13 [keine Konzentration verloren bei Hunter's Mark] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Entfernen Sie stattdessen die Konzentrationsanforderungen von Hunter's Mark ModUi/&EnableRangerRoving2024=Aktivieren Sie Umherziehen auf Stufe 6 [erhalten Sie 10 Fuß Bewegung, wenn Sie keine schwere Rüstung verwenden, und dieselbe Klettergeschwindigkeit] ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. ModUi/&EnableRangerTireless2024=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] diff --git a/SolastaUnfinishedBusiness/Translations/en/Items-en.txt b/SolastaUnfinishedBusiness/Translations/en/Items-en.txt index 1be0cb2d6f..2e172e8a03 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Items-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Items-en.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Souldrinker Javelin Item/&Javelin_Whiteburn_Description=This enchanted weapon was created using the ancient knowledge of Manacalon's master smiths. Whiteburn was created by the first Danantar to fight a troll invasion coming from the swamps to the south of his domain between the Sioltafin and the Scarafin. Item/&Javelin_Whiteburn_Title=Whiteburn Javelin Item/&Katana+1Title=Katana +1 +Item/&Katana+1UnidentifiedTitle=Quality Katana Item/&Katana+2Title=Katana +2 +Item/&Katana+2UnidentifiedTitle=Magnificent Katana Item/&Katana+3Title=Katana +3 +Item/&Katana+3UnidentifiedTitle=Superb Katana Item/&KatanaPrimedTitle=Primed Katana Item/&KatanaTitle=Katana Item/&KatanaTypeTitle=Katana diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 08c1912555..75e55c072d 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Heightened Metabolism Feature/&FeatureRangerFoeSlayer2024Description=The damage die of your Hunter's Mark is a d10 rather than a d6. Feature/&FeatureRangerFoeSlayer2024Title=Foe Slayers Feature/&FeatureRangerRelentlessHunterDescription=Taking damage can't break your Concentration on Hunter's Mark. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=You don't require Concentration on Hunter's Mark. Feature/&FeatureRangerRelentlessHunterTitle=Relentless Hunter Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=You can spend 1 Ki point to make two unarmed strikes as a bonus action. Feature/&FeatureSetBarbarianBrutalStrikeDescription=When you use Reckless Attack, one of your Strength-based attack rolls you make before your turn ends deals an extra 1d10 damage of the same type dealt by the weapon or Unarmed Strike, and you can also choose one of the following effects if it hits:\n• Forceful Blow. The target is pushed 15 feet straight away from you.\n• Hamstring Blow. The target's Speed is reduced by 15 feet until the start of your next turn. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 K Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your Wisdom attribute modifier, and you regain all expended uses when you finish a long rest. Feature/&PowerRangerNatureShroudTitle=Nature's Veil -Feature/&PowerRangerTirelessDescription=As an action, you can give yourself a number of temporary HP equal to 1d8 + your Wisdom modifier (minimum of 1). You can use this action a number of times equal to your Wisdom modifier (minimum of 1), and you regain all expended uses when you finish a long rest. +Feature/&PowerRangerTirelessDescription=Primal forces now help fuel you on your journeys, granting you the following benefits. As a bonus action, you can give yourself a number of Temporary Hit Points equal to 1d8 plus half your Ranger level (rounded up). You can use this feature a number of times equal to your Wisdom modifier (minimum of once), and you regain all expended uses when you finish a Long Rest. Feature/&PowerRangerTirelessTitle=Tireless Feature/&PowerRogueCunningStrikeDescription=You have developed cunning ways to use your Sneak Attack. When you deal Sneak Attack damage, you can forgo Sneak Attack dice to add instead additional Cunning Strike effects. Feature/&PowerRogueCunningStrikeDisarmDescription=The target must succeed on a Dexterity saving throw, or have disadvantage on all attacks until end of its next turn. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index cd6b6c19ec..e33744fc28 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Swap Foe Slayer with 5e ModUi/&EnableRangerNatureShroud2024=Enable Nature's Veil at level 14 [as a bonus action, you can magically become invisible until start of next turn] ModUi/&EnableRangerPreciseHunter2024=Enable Precise Hunter at level 17 [advantage against creatures marked by Hunter] ModUi/&EnableRangerRelentlessHunter2024=Enable Relentless Hunter at level 13 [no concentration lost on Hunter's Mark] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Remove concentration requirements from Hunter's Mark instead ModUi/&EnableRangerRoving2024=Enable Roving at level 6 [get 10ft movement when not using Heavy Armor, and same climb speed] ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 ModUi/&EnableRangerTireless2024=Enable Tireless to replace Hide in Plain Sight at level 10 [use an action to get temporary hit points] @@ -247,7 +248,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/&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] diff --git a/SolastaUnfinishedBusiness/Translations/es/Items-es.txt b/SolastaUnfinishedBusiness/Translations/es/Items-es.txt index 4108270c98..7027f590de 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Items-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Items-es.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Jabalina bebedora de almas Item/&Javelin_Whiteburn_Description=Esta arma encantada fue creada utilizando el conocimiento ancestral de los maestros herreros de Manacalon. Whiteburn fue creada por el primer Danantar para luchar contra una invasión de trolls que provenía de los pantanos al sur de su dominio, entre Sioltafin y Scarafin. Item/&Javelin_Whiteburn_Title=Jabalina Whiteburn Item/&Katana+1Title=Katana +1 +Item/&Katana+1UnidentifiedTitle=Katana de calidad Item/&Katana+2Title=Katana +2 +Item/&Katana+2UnidentifiedTitle=Magnífica Katana Item/&Katana+3Title=Katana +3 +Item/&Katana+3UnidentifiedTitle=Magnífica katana Item/&KatanaPrimedTitle=Katana preparada Item/&KatanaTitle=Katana Item/&KatanaTypeTitle=Katana diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 47b0e382d4..62c7b293c7 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo aumentado Feature/&FeatureRangerFoeSlayer2024Description=El dado de daño de tu Marca del cazador es un d10 en lugar de un d6. Feature/&FeatureRangerFoeSlayer2024Title=Matadores de enemigos Feature/&FeatureRangerRelentlessHunterDescription=Recibir daño no puede interrumpir tu concentración en Marca del cazador. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=No es necesario concentrarse en la Marca del cazador. Feature/&FeatureRangerRelentlessHunterTitle=Cazador implacable Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puedes gastar 1 punto de Ki para realizar dos ataques sin armas como acción adicional. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Cuando usas Ataque imprudente, una de tus tiradas de ataque basadas en Fuerza que realizas antes de que finalice tu turno inflige 1d10 de daño adicional del mismo tipo infligido por el arma o Golpe desarmado, y también puedes elegir uno de los siguientes efectos si golpea. :\n• Golpe contundente. El objetivo es empujado a 15 pies de distancia de usted.\n• Golpe en el tendón de la corva. La velocidad del objetivo se reduce en 15 pies hasta el comienzo de tu siguiente turno. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gasta Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte de la vista durante un breve período. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o que lleves encima, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu modificador de atributo Sabiduría, y recuperas todos los usos gastados cuando terminas un descanso prolongado. Feature/&PowerRangerNatureShroudTitle=El velo de la naturaleza -Feature/&PowerRangerTirelessDescription=Como acción, puedes darte una cantidad de HP temporal igual a 1d8 + tu modificador de Sabiduría (mínimo de 1). Puedes usar esta acción una cantidad de veces igual a tu modificador de Sabiduría (mínimo de 1), y recuperas todos los usos gastados cuando terminas un descanso prolongado. +Feature/&PowerRangerTirelessDescription=Las fuerzas primarias ahora te ayudan a alimentarte en tus viajes, lo que te otorga los siguientes beneficios. Como acción adicional, puedes darte una cantidad de puntos de vida temporales igual a 1d8 más la mitad de tu nivel de Explorador (redondeado hacia arriba). Puedes usar esta característica una cantidad de veces igual a tu modificador de Sabiduría (un mínimo de una vez) y recuperas todos los usos gastados cuando terminas un Descanso prolongado. Feature/&PowerRangerTirelessTitle=Incansable Feature/&PowerRogueCunningStrikeDescription=Has desarrollado formas astutas de usar tu ataque furtivo. Cuando infliges daño con un ataque furtivo, puedes prescindir de los dados de ataque furtivo para añadir en su lugar efectos adicionales de golpe astuto. Feature/&PowerRogueCunningStrikeDisarmDescription=El objetivo debe tener éxito en una tirada de salvación de Destreza, o tendrá desventaja en todos los ataques hasta el final de su siguiente turno. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 80decd5bc0..2a81a3bb35 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Intercambia Asesino de enemigos ModUi/&EnableRangerNatureShroud2024=Habilita la característica Velo de la Naturaleza en el nivel 14 [como acción adicional, puedes volverte invisible mágicamente hasta el comienzo del siguiente turno] ModUi/&EnableRangerPreciseHunter2024=Habilita Cazador preciso en el nivel 17 [ventaja contra criaturas marcadas por Cazador] ModUi/&EnableRangerRelentlessHunter2024=Habilita Cazador implacable en el nivel 13 [no se pierde la concentración en la Marca del cazador] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Eliminar los requisitos de concentración de la Marca del Cazador en su lugar ModUi/&EnableRangerRoving2024=Habilita Roving en el nivel 6 [obtén 10 pies de movimiento cuando no uses armadura pesada y la misma velocidad de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 ModUi/&EnableRangerTireless2024=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Items-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Items-fr.txt index c66bb99b0a..1346a90337 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Items-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Items-fr.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Javelot buveur d'âme Item/&Javelin_Whiteburn_Description=Cette arme enchantée a été créée en utilisant le savoir ancestral des maîtres forgerons de Manacalon. Whiteburn a été créée par le premier Danantar pour combattre une invasion de trolls provenant des marais au sud de son domaine entre le Sioltafin et le Scarafin. Item/&Javelin_Whiteburn_Title=Lancer de javelot à Whiteburn Item/&Katana+1Title=Katana +1 +Item/&Katana+1UnidentifiedTitle=Katana de qualité Item/&Katana+2Title=Katana +2 +Item/&Katana+2UnidentifiedTitle=Magnifique Katana Item/&Katana+3Title=Katana +3 +Item/&Katana+3UnidentifiedTitle=Superbe Katana Item/&KatanaPrimedTitle=Katana préparé Item/&KatanaTitle=Katana Item/&KatanaTypeTitle=Katana diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 950f8c5184..854f527637 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Métabolisme accru Feature/&FeatureRangerFoeSlayer2024Description=Le dé de dégâts de votre Marque du Chasseur est un d10 plutôt qu'un d6. Feature/&FeatureRangerFoeSlayer2024Title=Tueurs d'ennemis Feature/&FeatureRangerRelentlessHunterDescription=Subir des dégâts ne peut pas interrompre votre concentration sur la marque du chasseur. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Vous n'avez pas besoin de concentration sur la marque du chasseur. Feature/&FeatureRangerRelentlessHunterTitle=Chasseur implacable Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Vous pouvez dépenser 1 point Ki pour effectuer deux attaques à mains nues en tant qu'action bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Lorsque vous utilisez Attaque imprudente, l'un de vos jets d'attaque basés sur la Force que vous effectuez avant la fin de votre tour inflige 1d10 dégâts supplémentaires du même type infligé par l'arme ou la Frappe à mains nues, et vous pouvez également choisir l'un des effets suivants s'il touche :\n• Coup puissant. La cible est poussée à 15 pieds tout droit de vous.\n• Coup aux ischio-jambiers. La vitesse de la cible est réduite de 15 pieds jusqu'au début de votre prochain tour. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=En tant qu'action libre, vous pouve Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher temporairement de la vue. En tant qu'action bonus, vous pouvez devenir invisible par magie, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur d'attribut Sagesse, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. Feature/&PowerRangerNatureShroudTitle=Le voile de la nature -Feature/&PowerRangerTirelessDescription=En tant qu'action, vous pouvez vous octroyer un nombre de PV temporaire égal à 1d8 + votre modificateur de Sagesse (minimum de 1). Vous pouvez utiliser cette action un nombre de fois égal à votre modificateur de Sagesse (minimum de 1), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. +Feature/&PowerRangerTirelessDescription=Les forces primordiales vous aident désormais à vous alimenter pendant vos voyages, vous accordant les avantages suivants. En tant qu'action bonus, vous pouvez vous octroyer un nombre de points de vie temporaires égal à 1d8 plus la moitié de votre niveau de Rôdeur (arrondi au supérieur). Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur de Sagesse (minimum d'une fois), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un Repos long. Feature/&PowerRangerTirelessTitle=Infatigable Feature/&PowerRogueCunningStrikeDescription=Vous avez développé des moyens astucieux pour utiliser votre Attaque sournoise. Lorsque vous infligez des dégâts d'Attaque sournoise, vous pouvez renoncer aux dés d'Attaque sournoise pour ajouter à la place des effets de Frappe sournoise supplémentaires. Feature/&PowerRogueCunningStrikeDisarmDescription=La cible doit réussir un jet de sauvegarde de Dextérité ou avoir un désavantage sur toutes les attaques jusqu'à la fin de son prochain tour. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index dfc952bc9b..06ebf455c9 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Remplacez Foe Slayer pa ModUi/&EnableRangerNatureShroud2024=Activez la fonction Voile de la nature au niveau 14 [en tant qu'action bonus, vous pouvez devenir invisible par magie jusqu'au début du prochain tour] ModUi/&EnableRangerPreciseHunter2024=Activer Chasseur précis au niveau 17 [avantage contre les créatures marquées par Chasseur] ModUi/&EnableRangerRelentlessHunter2024=Activer Chasseur implacable au niveau 13 [aucune concentration perdue sur la marque du chasseur] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Supprimez plutôt les exigences de concentration de la marque du chasseur ModUi/&EnableRangerRoving2024=Activez Roving au niveau 6 [obtenez un mouvement de 10 pieds lorsque vous n'utilisez pas d'armure lourde et la même vitesse de montée] ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 ModUi/&EnableRangerTireless2024=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] diff --git a/SolastaUnfinishedBusiness/Translations/it/Items-it.txt b/SolastaUnfinishedBusiness/Translations/it/Items-it.txt index 9b08b0a28f..6533d83d02 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Items-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Items-it.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Giavellotto del bevitore di anime Item/&Javelin_Whiteburn_Description=Questa arma incantata è stata creata utilizzando l'antica conoscenza dei maestri fabbri di Manacalon. Whiteburn è stata creata dal primo Danantar per combattere un'invasione di troll proveniente dalle paludi a sud del suo dominio tra i Sioltafin e gli Scarafin. Item/&Javelin_Whiteburn_Title=Giavellotto Whiteburn Item/&Katana+1Title=Catana +1 +Item/&Katana+1UnidentifiedTitle=Katana di qualità Item/&Katana+2Title=Catana +2 +Item/&Katana+2UnidentifiedTitle=Magnifica Katana Item/&Katana+3Title=Catana +3 +Item/&Katana+3UnidentifiedTitle=Stupenda Katana Item/&KatanaPrimedTitle=Katana innescata Item/&KatanaTitle=Catana Item/&KatanaTypeTitle=Catana diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index ade6bd3637..1d8992a4d2 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo intensificato Feature/&FeatureRangerFoeSlayer2024Description=Il dado di danno del tuo Marchio del Cacciatore è un d10 anziché un d6. Feature/&FeatureRangerFoeSlayer2024Title=Cacciatori di nemici Feature/&FeatureRangerRelentlessHunterDescription=Subire danni non può interrompere la tua Concentrazione sul Marchio del Cacciatore. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Per ottenere il Marchio del Cacciatore non è richiesta la Concentrazione. Feature/&FeatureRangerRelentlessHunterTitle=Cacciatore implacabile Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Puoi spendere 1 punto Ki per effettuare due colpi senz'armi come azione bonus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando usi Attacco Spericolato, uno dei tuoi tiri di attacco basati sulla Forza che effettui prima della fine del tuo turno infligge 1d10 danni extra dello stesso tipo inflitti dall'arma o dal Colpo Senz'Armi, e puoi anche scegliere uno dei seguenti effetti se colpisce:\n• Colpo Vigoroso. Il bersaglio viene spinto di 15 piedi lontano da te.\n• Colpo al tendine del ginocchio. La Velocità del bersaglio viene ridotta di 15 piedi fino all'inizio del tuo turno successivo. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento tu stia indossando o trasportando, fino all'inizio del tuo turno successivo. Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di attributo Saggezza e recuperi tutti gli usi spesi quando termini un riposo lungo. Feature/&PowerRangerNatureShroudTitle=Velo della natura -Feature/&PowerRangerTirelessDescription=Come azione, puoi darti un numero di HP temporanei pari a 1d8 + il tuo modificatore di Saggezza (minimo 1). Puoi usare questa azione un numero di volte pari al tuo modificatore di Saggezza (minimo 1) e recuperi tutti gli utilizzi spesi quando termini un riposo lungo. +Feature/&PowerRangerTirelessDescription=Le forze primordiali ora ti aiutano ad alimentarti nei tuoi viaggi, garantendoti i seguenti benefici. Come azione bonus, puoi darti un numero di Punti Ferita Temporanei pari a 1d8 più metà del tuo livello da Ranger (arrotondato per eccesso). Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di Saggezza (minimo una volta) e recuperi tutti gli usi spesi quando finisci un Riposo Lungo. Feature/&PowerRangerTirelessTitle=Instancabile Feature/&PowerRogueCunningStrikeDescription=Hai sviluppato dei modi astuti per usare il tuo Attacco furtivo. Quando infliggi danni da Attacco furtivo, puoi rinunciare ai dadi da Attacco furtivo per aggiungere invece effetti aggiuntivi di Colpo furtivo. Feature/&PowerRogueCunningStrikeDisarmDescription=Il bersaglio deve superare un tiro salvezza su Destrezza, altrimenti avrà svantaggio a tutti gli attacchi fino alla fine del suo turno successivo. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 46192bc19e..6bbb3ada5b 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Sostituisci Foe Slayer ModUi/&EnableRangerNatureShroud2024=Abilita la funzione Velo della Natura al livello 14 [come azione bonus, puoi diventare magicamente invisibile fino all'inizio del turno successivo] ModUi/&EnableRangerPreciseHunter2024=Abilita Cacciatore Preciso al livello 17 [vantaggio contro le creature contrassegnate dal Cacciatore] ModUi/&EnableRangerRelentlessHunter2024=Abilita Cacciatore implacabile al livello 13 [nessuna perdita di concentrazione sul Marchio del cacciatore] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Rimuovi invece i requisiti di concentrazione dal Marchio del cacciatore ModUi/&EnableRangerRoving2024=Abilita Vagabondare al livello 6 [ottieni 10 piedi di movimento quando non usi un'armatura pesante e la stessa velocità di salita] ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 ModUi/&EnableRangerTireless2024=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Items-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Items-ja.txt index d109569f69..5b2bd42175 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Items-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Items-ja.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=ソウルドリンカー・ジャベリン Item/&Javelin_Whiteburn_Description=この魔法の武器は、マナカロンの鍛冶職人の古代の知識を使用して作成されました。ホワイトバーンは、シオルタフィン川とスカラフィン川の間の彼の領土の南にある沼地からのトロールの侵略と戦うために、最初のダナンタールによって創設されました。 Item/&Javelin_Whiteburn_Title=ホワイトバーンジャベリン Item/&Katana+1Title=カタナ +1 +Item/&Katana+1UnidentifiedTitle=高品質の刀 Item/&Katana+2Title=カタナ +2 +Item/&Katana+2UnidentifiedTitle=素晴らしい刀 Item/&Katana+3Title=カタナ +3 +Item/&Katana+3UnidentifiedTitle=素晴らしい刀 Item/&KatanaPrimedTitle=プライムドカタナ Item/&KatanaTitle=カタナ Item/&KatanaTypeTitle=カタナ diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index a3f1d14c5b..09b52a7f5c 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=代謝の向上 Feature/&FeatureRangerFoeSlayer2024Description=ハンターズマークのダメージダイスは d6 ではなく d10 です。 Feature/&FeatureRangerFoeSlayer2024Title=敵スレイヤー Feature/&FeatureRangerRelentlessHunterDescription=ダメージを受けてもハンターズマークへの集中力は解除されません。 +Feature/&FeatureRangerRelentlessHunterExtendedDescription=ハンターズマークには集中力は必要ありません。 Feature/&FeatureRangerRelentlessHunterTitle=容赦ないハンター Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=ボーナス アクションとして、1 Ki ポイントを消費して素手攻撃を 2 回行うことができます。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=無謀な攻撃を使用する場合、ターン終了前に行う力ベースの攻撃ロールの 1 つが、武器または素手攻撃によって与えられるのと同じタイプに追加の 1d10 ダメージを与えます。また、それがヒットした場合は、次の効果のいずれかを選択することもできます。 :\n• 力強い打撃。ターゲットはあなたから 15 フィート真っ直ぐに押し出されます。\n・ハムストリングブロー。次のターンの開始まで、ターゲットの速度が 15 フィート減少します。 @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着用または所持している装備とともに魔法的に透明になることができます。この特徴は、あなたの「知恵」属性の修正値に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 Feature/&PowerRangerNatureShroudTitle=自然のベール -Feature/&PowerRangerTirelessDescription=アクションとして、1d8 + 知恵修正値 (最小 1) に等しい数の一時的な HP を自分に与えることができます。このアクションは、知恵修正値 (最小 1) に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 +Feature/&PowerRangerTirelessDescription=原始の力が旅の糧となり、以下の恩恵が得られます。ボーナス アクションとして、1d8 プラス レンジャー レベルの半分 (切り上げ) に等しい一時ヒット ポイントを自分に与えることができます。この機能は、あなたの「知恵」修正値に等しい回数 (最低 1 回) 使用でき、大休憩を終了すると消費した使用回数をすべて回復します。 Feature/&PowerRangerTirelessTitle=疲れ知らず Feature/&PowerRogueCunningStrikeDescription=あなたはスニークアタックを使用する狡猾な方法を開発しました。 Sneak Attack ダメージを与えるとき、Sneak Attack ダイスを無視して、代わりに追加の Cunning Strike 効果を追加することができます。 Feature/&PowerRogueCunningStrikeDisarmDescription=ターゲットは、器用さのセーヴィング・スローに成功するか、次のターンの終わりまですべての攻撃で不利になる必要があります。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index ac9fce5e51..be3cab9e55 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Foe Slayer を 5e 2024 ModUi/&EnableRangerNatureShroud2024=レベル 14 で 自然のベール 機能を有効にします [ボーナス アクションとして、次のターンの開始時まで魔法で透明になることができます] ModUi/&EnableRangerPreciseHunter2024=レベル 17 で 精密ハンター を有効にする [ハンターによってマークされたクリーチャーに対して有利] ModUi/&EnableRangerRelentlessHunter2024=レベル 13 で 執拗なハンター を有効にする [ハンターのマークへの集中力が失われない] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 代わりにハンターズマークの集中力要件を削除します ModUi/&EnableRangerRoving2024=レベル 6 で 移動 を有効にする [重装甲を使用していないときに 10 フィート移動し、同じ登攀速度を得る] ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする ModUi/&EnableRangerTireless2024=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Items-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Items-ko.txt index a57714101e..4d5b0f8512 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Items-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Items-ko.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=영혼술꾼 자벨린 Item/&Javelin_Whiteburn_Description=이 마법이 부여된 무기는 마나카론의 대장장이들의 고대 지식을 바탕으로 제작되었습니다. Whiteburn은 Sioltafin과 Scarafin 사이의 자신의 영토 남쪽에 있는 늪지에서 오는 트롤 침략에 맞서 싸우기 위해 최초의 Danantar에 의해 만들어졌습니다. Item/&Javelin_Whiteburn_Title=화이트번 자벨린 Item/&Katana+1Title=카타나 +1 +Item/&Katana+1UnidentifiedTitle=고품질 카타나 Item/&Katana+2Title=카타나 +2 +Item/&Katana+2UnidentifiedTitle=웅장한 카타나 Item/&Katana+3Title=카타나 +3 +Item/&Katana+3UnidentifiedTitle=뛰어난 카타나 Item/&KatanaPrimedTitle=프라이밍된 카타나 Item/&KatanaTitle=카타나 Item/&KatanaTypeTitle=카타나 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 1dfe14425f..60637ff408 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=강화된 신진대사 Feature/&FeatureRangerFoeSlayer2024Description=사냥꾼의 표식의 데미지 주사위는 d6이 아닌 d10입니다. Feature/&FeatureRangerFoeSlayer2024Title=적을 죽이는 자 Feature/&FeatureRangerRelentlessHunterDescription=피해를 입어도 사냥꾼의 표식에 대한 집중력은 깨지지 않습니다. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=사냥꾼의 표식에는 집중력이 필요하지 않습니다. Feature/&FeatureRangerRelentlessHunterTitle=끈질긴 사냥꾼 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=보너스 행동으로 1 Ki 포인트를 사용하여 두 번의 비무장 공격을 할 수 있습니다. Feature/&FeatureSetBarbarianBrutalStrikeDescription=무모한 공격을 사용할 때, 턴이 끝나기 전에 하는 힘 기반 공격 굴림 중 하나는 무기나 비무장 타격이 가하는 동일한 유형의 추가 1d10 피해를 입히고, 적중할 경우 다음 효과 중 하나를 선택할 수도 있습니다. :\n• 강력한 타격. 목표물은 당신에게서 직선으로 15피트 떨어진 곳으로 밀려납니다.\n• 햄스트링 블로우. 다음 턴이 시작될 때까지 대상의 속도가 15피트만큼 감소합니다. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포 Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 Feature/&PowerRangerNatureShroudDescription=자연의 힘을 빌려 잠시 동안 시야에서 숨습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 착용하거나 휴대하는 모든 장비와 함께 마법처럼 보이지 않게 될 수 있습니다. 이 기능은 지혜 속성 수정치와 같은 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 소모한 모든 사용 횟수를 회복합니다. Feature/&PowerRangerNatureShroudTitle=자연의 베일 -Feature/&PowerRangerTirelessDescription=행동으로, 당신은 1d8 + 당신의 지혜 수정치(최소 1)에 해당하는 수의 일시적 HP를 자신에게 줄 수 있습니다. 당신은 이 행동을 당신의 지혜 수정치(최소 1)에 해당하는 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 사용된 모든 사용 횟수를 회복합니다. +Feature/&PowerRangerTirelessDescription=원시적 힘이 이제 여러분의 여정에 연료를 공급하여 다음과 같은 혜택을 제공합니다. 보너스 행동으로, 여러분은 1d8에 해당하는 수의 임시 생명력과 레인저 레벨의 절반(반올림)을 얻을 수 있습니다. 여러분은 이 기능을 지혜 수정치와 같은 횟수(최소 한 번)로 사용할 수 있으며, 긴 휴식을 마치면 사용된 모든 사용 횟수를 회복합니다. Feature/&PowerRangerTirelessTitle=지칠 줄 모르는 Feature/&PowerRogueCunningStrikeDescription=당신은 몰래 공격을 사용하는 교활한 방법을 개발했습니다. 은밀한 공격 피해를 입힐 때 은밀한 공격 주사위 대신 추가 교활한 일격 효과를 추가할 수 있습니다. Feature/&PowerRogueCunningStrikeDisarmDescription=대상은 민첩 내성 굴림에 성공해야 하며, 그렇지 않으면 다음 턴이 끝날 때까지 모든 공격에 불이익을 받습니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 2c2a6057cd..2e3325e99d 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=적 처치자를 5e 202 ModUi/&EnableRangerNatureShroud2024=레벨 14에서 자연의 베일 기능을 활성화합니다. [보너스 액션으로 다음 턴이 시작될 때까지 마법으로 투명해질 수 있습니다.] ModUi/&EnableRangerPreciseHunter2024=레벨 17에서 정밀 사냥꾼을 활성화합니다. [사냥꾼이 표시한 생물에 대한 이점] ModUi/&EnableRangerRelentlessHunter2024=레벨 13에서 끈질긴 사냥꾼 활성화 [사냥꾼의 표식에 집중력 잃지 않음] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 대신 사냥꾼의 표식에서 집중력 요구 사항을 제거합니다. ModUi/&EnableRangerRoving2024=레벨 6에서 이동 가능 [중갑옷을 착용하지 않을 때 10피트 이동 가능, 동일한 등반 속도] ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. ModUi/&EnableRangerTireless2024=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Items-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Items-pt-BR.txt index 6e0eb159d0..c59057aebd 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Items-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Items-pt-BR.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Dardo Bebedor de Almas Item/&Javelin_Whiteburn_Description=Esta arma encantada foi criada usando o conhecimento antigo dos mestres ferreiros de Manacalon. Whiteburn foi criada pelo primeiro Danantar para lutar contra uma invasão de trolls vinda dos pântanos ao sul de seu domínio entre os Sioltafin e os Scarafin. Item/&Javelin_Whiteburn_Title=Dardo de Whiteburn Item/&Katana+1Title=Katana +1 +Item/&Katana+1UnidentifiedTitle=Katana de qualidade Item/&Katana+2Title=Katana +2 +Item/&Katana+2UnidentifiedTitle=Katana Magnífica Item/&Katana+3Title=Katana +3 +Item/&Katana+3UnidentifiedTitle=Excelente Katana Item/&KatanaPrimedTitle=Katana preparada Item/&KatanaTitle=Catana Item/&KatanaTypeTitle=Catana diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 409d5d0be3..72b32ce144 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Metabolismo Acelerado Feature/&FeatureRangerFoeSlayer2024Description=O dado de dano da sua Marca do Caçador é um d10 em vez de um d6. Feature/&FeatureRangerFoeSlayer2024Title=Matadores de Inimigos Feature/&FeatureRangerRelentlessHunterDescription=Receber dano não pode quebrar sua Concentração na Marca do Caçador. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Você não precisa de Concentração na Marca do Caçador. Feature/&FeatureRangerRelentlessHunterTitle=Caçador Implacável Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Você pode gastar 1 ponto de Ki para fazer dois ataques desarmados como uma ação bônus. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Quando você usa Ataque Imprudente, uma de suas jogadas de ataque baseadas em Força que você fizer antes do seu turno terminar causa 1d10 de dano extra do mesmo tipo causado pela arma ou Ataque Desarmado, e você também pode escolher um dos seguintes efeitos se ele acertar:\n• Golpe Forçado. O alvo é empurrado 15 pés para longe de você.\n• Golpe no Tendão. A Velocidade do alvo é reduzida em 15 pés até o início do seu próximo turno. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode g Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior Feature/&PowerRangerNatureShroudDescription=Você usa os poderes da natureza para se esconder brevemente da vista. Como uma ação bônus, você pode magicamente se tornar invisível, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar essa habilidade um número de vezes igual ao seu modificador de atributo Sabedoria, e você recupera todos os usos gastos quando termina um descanso longo. Feature/&PowerRangerNatureShroudTitle=Véu da Natureza -Feature/&PowerRangerTirelessDescription=Como uma ação, você pode dar a si mesmo um número de HP temporários igual a 1d8 + seu modificador de Sabedoria (mínimo de 1). Você pode usar esta ação um número de vezes igual ao seu modificador de Sabedoria (mínimo de 1), e você recupera todos os usos gastos quando termina um descanso longo. +Feature/&PowerRangerTirelessDescription=Forças primordiais agora ajudam a abastecer você em suas jornadas, concedendo os seguintes benefícios. Como uma ação bônus, você pode dar a si mesmo um número de Pontos de Vida Temporários igual a 1d8 mais metade do seu nível de Patrulheiro (arredondado para cima). Você pode usar essa habilidade um número de vezes igual ao seu modificador de Sabedoria (mínimo de uma vez), e você recupera todos os usos gastos quando termina um Descanso Longo. Feature/&PowerRangerTirelessTitle=Incansável Feature/&PowerRogueCunningStrikeDescription=Você desenvolveu maneiras astutas de usar seu Ataque Furtivo. Quando você causa dano de Ataque Furtivo, você pode abrir mão dos dados de Ataque Furtivo para adicionar efeitos adicionais de Ataque Astuto. Feature/&PowerRogueCunningStrikeDisarmDescription=O alvo deve ser bem-sucedido em um teste de resistência de Destreza ou terá desvantagem em todos os ataques até o final do próximo turno. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index d880757d48..204e227366 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Troque Foe Slayer pela ModUi/&EnableRangerNatureShroud2024=Habilite o recurso Véu da Natureza no nível 14 [como uma ação bônus, você pode magicamente ficar invisível até o início do próximo turno] ModUi/&EnableRangerPreciseHunter2024=Habilitar Caçador Preciso no nível 17 [vantagem contra criaturas marcadas por Caçador] ModUi/&EnableRangerRelentlessHunter2024=Habilite Relentless Hunter no nível 13 [nenhuma concentração perdida na Hunter's Mark] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Remova os requisitos de concentração da Marca do Caçador ModUi/&EnableRangerRoving2024=Habilite Roving no nível 6 [obtenha 10 pés de movimento quando não estiver usando armadura pesada e a mesma velocidade de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 ModUi/&EnableRangerTireless2024=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt index 2f5c9c75be..16bc8f0f88 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=Сулица Пьющего Души Item/&Javelin_Whiteburn_Description=Это зачарованное оружие было выковано с применением древних знаний мастеров-кузнецов Манакалона. Белое Пламя было изготовлено первым Данантаром для отражения вторжения троллей, пришедших с болот, расположенных между реками Сиолтафин и Скарафин. Item/&Javelin_Whiteburn_Title=Сулица Белого Пламени Item/&Katana+1Title=Катана +1 +Item/&Katana+1UnidentifiedTitle=Качественная катана Item/&Katana+2Title=Катана +2 +Item/&Katana+2UnidentifiedTitle=Великолепная катана Item/&Katana+3Title=Катана +3 +Item/&Katana+3UnidentifiedTitle=Превосходная Катана Item/&KatanaPrimedTitle=Подготовленная катана Item/&KatanaTitle=Катана Item/&KatanaTypeTitle=Катана diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index ccc9828e6b..287f93f68d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=Повышенный метабо Feature/&FeatureRangerFoeSlayer2024Description=Кубик урона вашей Метки Охотника — d10, а не d6. Feature/&FeatureRangerFoeSlayer2024Title=Убийцы врагов Feature/&FeatureRangerRelentlessHunterDescription=Получение урона не может нарушить вашу концентрацию на Метке Охотника. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Вам не требуется концентрация на «Мете охотника». Feature/&FeatureRangerRelentlessHunterTitle=Неумолимый охотник Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Вы можете потратить 1 очко ци, чтобы бонусным действием совершить два безоружных удара. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Когда вы используете Безрассудную атаку, один из ваших бросков атаки, основанный на Силе, который вы совершаете до конца хода, наносит дополнительно 1d10 урона того же типа, что и оружие или Безоружный удар, вы также можете выбрать один из следующих эффектов, если попадаете:\n• Сильный удар. Цель отталкивается от вас на 15 футов.\n• Удар по сухожилиям. Скорость цели уменьшается на 15 футов до начала вашего следующего хода. @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=Свободным действие Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса -Feature/&PowerRangerTirelessDescription=В качестве действия вы можете дать себе некоторое количество временных HP, равное 1d8 + ваш модификатор Мудрости (минимум 1). Вы можете использовать это действие количество раз, равное вашему модификатору Мудрости (минимум 1), и вы восстановите все потраченные использования, когда закончите продолжительный отдых. +Feature/&PowerRangerTirelessDescription=Первобытные силы теперь помогают вам подпитываться в ваших путешествиях, предоставляя вам следующие преимущества. В качестве бонусного действия вы можете дать себе количество Временных очков здоровья, равное 1d8 плюс половина вашего уровня рейнджера (округленное вверх). Вы можете использовать эту функцию количество раз, равное вашему модификатору Мудрости (минимум один раз), и вы восстановите все потраченные использования, когда закончите Длительный отдых. Feature/&PowerRangerTirelessTitle=Неутомимый Feature/&PowerRogueCunningStrikeDescription=Вы разработали хитрые способы использования Скрытой атаки. Когда вы наносите урон Скрытой атакой, вы можете отказаться от костей Скрытой атаки, чтобы добавить вместо этого дополнительные эффекты Хитрого удара. Feature/&PowerRogueCunningStrikeDisarmDescription=Цель должна преуспеть в спасброске Ловкости или получит помеху на все атаки до конца своего следующего хода. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 2eb0d5554b..aa60b1a092 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=Поменяйте Убийцу ModUi/&EnableRangerNatureShroud2024=Включить умение Природная завеса на уровне 14 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода] ModUi/&EnableRangerPreciseHunter2024=Включить Точный Охотник на уровне 17 [преимущество против существ, отмеченных Охотником] ModUi/&EnableRangerRelentlessHunter2024=Включить Безжалостного охотника на уровне 13 [концентрация не теряется на Метке охотника] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Вместо этого уберите требования к концентрации из Hunter's Mark ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го ModUi/&EnableRangerTireless2024=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Items-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Items-zh-CN.txt index d9a2733095..2294933b7e 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Items-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Items-zh-CN.txt @@ -357,8 +357,11 @@ Item/&Javelin_Souldrinker_Title=饮魂标枪 Item/&Javelin_Whiteburn_Description=这把附魔武器由马纳卡隆的铁匠大师的古老知识铸成。白燃是由第一代达南塔尔创造的,目的是对抗来自西奥塔芬河和斯卡拉芬河之间的沼泽地的巨魔入侵。 Item/&Javelin_Whiteburn_Title=白燃标枪 Item/&Katana+1Title=武士刀 +1 +Item/&Katana+1UnidentifiedTitle=品质武士刀 Item/&Katana+2Title=武士刀 +2 +Item/&Katana+2UnidentifiedTitle=华丽的武士刀 Item/&Katana+3Title=武士刀 +3 +Item/&Katana+3UnidentifiedTitle=精湛的武士刀 Item/&KatanaPrimedTitle=Prime 武士刀 Item/&KatanaTitle=武士刀 Item/&KatanaTypeTitle=武士刀 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 823b3f3b83..c4a61317d0 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -127,6 +127,7 @@ Feature/&FeatureMonkHeightenedMetabolismTitle=出神入化 Feature/&FeatureRangerFoeSlayer2024Description=猎人印记的伤害骰子是 d10,而不是 d6。 Feature/&FeatureRangerFoeSlayer2024Title=仇敌屠戮者 Feature/&FeatureRangerRelentlessHunterDescription=受到伤害不会破坏你对猎人印记的专注。 +Feature/&FeatureRangerRelentlessHunterExtendedDescription=你不需要集中精力于猎人印记。 Feature/&FeatureRangerRelentlessHunterTitle=无情猎手 Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=你可以消耗 1 点气,以一个附赠动作进行两次徒手打击。 Feature/&FeatureSetBarbarianBrutalStrikeDescription=当你使用鲁莽攻击时,你在回合结束前进行的一次基于力量的攻击检定会造成与武器或徒手打击所造成的相同类型的额外 1d10 伤害,并且如果击中,你还可以选择以下效果之一:\n• 强力打击。目标被直接推离你 15 尺。\n• 腿筋打击。目标的速度降低 15 尺,直到你的下一回合开始。 @@ -213,7 +214,7 @@ Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以 Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 Feature/&PowerRangerNatureShroudDescription=你利用自然的力量短暂地隐藏自己。作为奖励行动,你可以神奇地隐形,连同你穿着或携带的任何装备,直到你的下一回合开始。你可以使用此功能的次数等于你的智慧属性修正值,当你完成长时间休息时,你可以恢复所有已消耗的使用次数。 Feature/&PowerRangerNatureShroudTitle=自然面纱 -Feature/&PowerRangerTirelessDescription=作为一个动作,你可以给自己增加临时生命值,数值等于 1d8 + 你的感知调整值(最小值为 1)。你可以使用这个动作的次数等于你的感知调整值(最小值为 1),当你完成长时间休息后,你可以恢复所有消耗的次数。 +Feature/&PowerRangerTirelessDescription=原始力量现在可为您的旅途提供能量,并为您带来以下好处。作为奖励行动,您可以为自己提供临时生命值,等于 1d8 加上您游侠等级的一半(向上取整)。您可以使用此功能的次数等于您的智慧调整值(至少一次),当您完成长时间休息时,您可以恢复所有已消耗的使用次数。 Feature/&PowerRangerTirelessTitle=孜孜不倦 Feature/&PowerRogueCunningStrikeDescription=你已经开发出巧妙的方法来使用你的偷袭。当你造成偷袭伤害时,你可以放弃偷袭骰来添加额外的狡诈打击效果。 Feature/&PowerRogueCunningStrikeDisarmDescription=目标必须成功通过敏捷豁免,否则在下回合结束之前所有攻击都处于劣势。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 83c6fb8320..cdff8bb43d 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -187,6 +187,7 @@ ModUi/&EnableRangerFoeSlayers2024=将 Foe Slayer 与 5e 2 ModUi/&EnableRangerNatureShroud2024=在 14 级时启用自然面纱功能[作为奖励行动,你可以神奇地隐身,直到下一回合开始] ModUi/&EnableRangerPreciseHunter2024=在 17 级时启用精准猎手 [对抗被猎人标记的生物的优势] ModUi/&EnableRangerRelentlessHunter2024=在 13 级时启用无情猎手 [猎人印记不会影响专注力] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 移除猎人印记的专注要求 ModUi/&EnableRangerRoving2024=在 6 级时启用漫游 [不使用重型装甲时可移动 10 英尺,且爬升速度相同] ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 ModUi/&EnableRangerTireless2024=在 10 级时启用不知疲倦 [使用动作获取临时生命值] From 0a978242e29d31502e5d425aa5ac8f51c02da7ff Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 09:20:49 -0800 Subject: [PATCH 14/42] tweaks on tabletop 2024 settings --- .../FeatureDefinitionCombatAffinityBuilder.cs | 6 ++ .../Displays/ClassesDisplay.cs | 23 +++- .../Displays/GeneralDisplay.cs | 25 ++++- .../Displays/SpellsDisplay.cs | 2 +- .../Models/2024FighterContext.cs | 1 + .../Models/2024MonkContext.cs | 2 +- .../Models/2024PaladinContext.cs | 4 +- .../Models/2024RangerContext.cs | 102 ++++++++++++++---- .../Models/2024SpellsContext.cs | 4 +- .../Models/Tabletop2024Context.cs | 13 +-- SolastaUnfinishedBusiness/Settings.cs | 1 + 11 files changed, 141 insertions(+), 42 deletions(-) diff --git a/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionCombatAffinityBuilder.cs b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionCombatAffinityBuilder.cs index 6c7649d39e..0f79c4cda8 100644 --- a/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionCombatAffinityBuilder.cs +++ b/SolastaUnfinishedBusiness/Builders/Features/FeatureDefinitionCombatAffinityBuilder.cs @@ -97,6 +97,12 @@ internal FeatureDefinitionCombatAffinityBuilder SetSituationalContext(Situationa return this; } + internal FeatureDefinitionCombatAffinityBuilder DisableAutoFormatDescription() + { + Definition.autoFormatDescription = false; + return this; + } + internal FeatureDefinitionCombatAffinityBuilder SetSituationalContext(ExtraSituationalContext context) { Definition.situationalContext = (SituationalContext)context; diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index cc47135265..49e3365eb1 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -296,7 +296,7 @@ internal static void DisplayClasses() if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkUnarmoredDieTypeProgression2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableMonkUnarmoredDieTypeProgression2024 = toggle; - Tabletop2024Context.SwitchOneDndMonkUnarmedDieTypeProgression(); + Tabletop2024Context.SwitchMonkUnarmedDieTypeProgression(); } toggle = Main.Settings.GrantKatanaSpecializationToMonk; @@ -320,7 +320,7 @@ internal static void DisplayClasses() if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHandsAsBonusAction2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 = toggle; - Tabletop2024Context.SwitchOneDndPaladinLayOnHandAsBonusAction(); + Tabletop2024Context.SwitchPaladinLayOnHand(); } toggle = Main.Settings.EnablePaladinSmiteAsBonusAction2024; @@ -333,7 +333,7 @@ internal static void DisplayClasses() if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { Main.Settings.EnablePaladinSpellCastingAtLevel1 = toggle; - Tabletop2024Context.SwitchOneDndPaladinLearnSpellCastingAtOne(); + Tabletop2024Context.SwitchPaladinSpellCastingAtOne(); } toggle = Main.Settings.ShowChannelDivinityOnPortrait; @@ -386,6 +386,21 @@ internal static void DisplayClasses() { Main.Settings.EnableRangerRelentlessHunter2024 = toggle; Tabletop2024Context.SwitchRangerRelentlessHunter(); + + if (toggle) + { + Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration = false; + } + } + + if (Main.Settings.EnableRangerRelentlessHunter2024) + { + toggle = Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration"), ref toggle, + UI.AutoWidth())) + { + Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration = toggle; + } } toggle = Main.Settings.EnableRangerRoving2024; @@ -399,7 +414,7 @@ internal static void DisplayClasses() if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRangerSpellCastingAtLevel1 = toggle; - Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); + Tabletop2024Context.SwitchRangerSpellCastingAtOne(); } toggle = Main.Settings.EnableRangerTireless2024; diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 000ffae374..23c9cfa8e8 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -510,7 +510,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnableMonkUnarmoredDieTypeProgression2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableMonkUnarmoredDieTypeProgression2024 = toggle; - Tabletop2024Context.SwitchOneDndMonkUnarmedDieTypeProgression(); + Tabletop2024Context.SwitchMonkUnarmedDieTypeProgression(); } UI.Label(); @@ -521,7 +521,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHandsAsBonusAction2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 = toggle; - Tabletop2024Context.SwitchOneDndPaladinLayOnHandAsBonusAction(); + Tabletop2024Context.SwitchPaladinLayOnHand(); } toggle = Main.Settings.EnablePaladinSmiteAsBonusAction2024; @@ -534,7 +534,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { Main.Settings.EnablePaladinSpellCastingAtLevel1 = toggle; - Tabletop2024Context.SwitchOneDndPaladinLearnSpellCastingAtOne(); + Tabletop2024Context.SwitchPaladinSpellCastingAtOne(); } UI.Label(); @@ -574,6 +574,21 @@ private static void DisplayTabletop2024() { Main.Settings.EnableRangerRelentlessHunter2024 = toggle; Tabletop2024Context.SwitchRangerRelentlessHunter(); + + if (toggle) + { + Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration = false; + } + } + + if (Main.Settings.EnableRangerRelentlessHunter2024) + { + toggle = Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration; + if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration"), ref toggle, + UI.AutoWidth())) + { + Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration = toggle; + } } toggle = Main.Settings.EnableRangerRoving2024; @@ -587,7 +602,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRangerSpellCastingAtLevel1 = toggle; - Tabletop2024Context.SwitchOneDndRangerLearnSpellCastingAtOne(); + Tabletop2024Context.SwitchRangerSpellCastingAtOne(); } toggle = Main.Settings.EnableRangerTireless2024; @@ -773,7 +788,7 @@ private static void DisplayTabletop2024() if (UI.Toggle(Gui.Localize("ModUi/&EnableRitualOnAllCasters2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRitualOnAllCasters2024 = toggle; - Tabletop2024Context.SwitchSpellRitualOnAllCasters(); + Tabletop2024Context.SwitchOneDndSpellRitualOnAllCasters(); } UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs b/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs index efb993116c..fcdc1591ca 100644 --- a/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/SpellsDisplay.cs @@ -146,7 +146,7 @@ private static void DisplaySpellsGeneral() if (UI.Toggle(Gui.Localize("ModUi/&EnableRitualOnAllCasters2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableRitualOnAllCasters2024 = toggle; - Tabletop2024Context.SwitchSpellRitualOnAllCasters(); + Tabletop2024Context.SwitchOneDndSpellRitualOnAllCasters(); } UI.Label(); diff --git a/SolastaUnfinishedBusiness/Models/2024FighterContext.cs b/SolastaUnfinishedBusiness/Models/2024FighterContext.cs index 929b5f3e5f..5c0283da15 100644 --- a/SolastaUnfinishedBusiness/Models/2024FighterContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024FighterContext.cs @@ -54,6 +54,7 @@ internal static partial class Tabletop2024Context .SetGuiPresentation("Condition/&ConditionStudiedAttacksTitle", Gui.NoLocalization) .SetSituationalContext( (SituationalContext)ExtraSituationalContext.IsConditionSource, ConditionStudiedAttacks) + .DisableAutoFormatDescription() .SetAttackOnMeAdvantage(AdvantageType.Advantage) .AddToDB(); diff --git a/SolastaUnfinishedBusiness/Models/2024MonkContext.cs b/SolastaUnfinishedBusiness/Models/2024MonkContext.cs index 57c9345057..4c239dea06 100644 --- a/SolastaUnfinishedBusiness/Models/2024MonkContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024MonkContext.cs @@ -160,7 +160,7 @@ internal static void SwitchMonkDoNotRequireAttackActionForFlurry() : "Feature/&FeatureSetMonkFlurryOfBlowsDescription"; } - internal static void SwitchOneDndMonkUnarmedDieTypeProgression() + internal static void SwitchMonkUnarmedDieTypeProgression() { AttackModifierMonkMartialArtsImprovedDamage.dieTypeByRankTable = Main.Settings.EnableMonkUnarmoredDieTypeProgression2024 diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 4c072e28a6..6f7cf77ca5 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -11,7 +11,7 @@ namespace SolastaUnfinishedBusiness.Models; internal static partial class Tabletop2024Context { - internal static void SwitchOneDndPaladinLearnSpellCastingAtOne() + internal static void SwitchPaladinSpellCastingAtOne() { var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; @@ -44,7 +44,7 @@ internal static void SwitchOneDndPaladinLearnSpellCastingAtOne() } } - internal static void SwitchOneDndPaladinLayOnHandAsBonusAction() + internal static void SwitchPaladinLayOnHand() { PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 ? ActivationTime.BonusAction diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index dbf1f92ef3..78ad913858 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; +using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.Interfaces; @@ -54,12 +55,13 @@ internal static partial class Tabletop2024Context .SetGuiPresentation(Category.Feature) .SetMyAttackAdvantage(AdvantageType.Advantage) .SetSituationalContext(SituationalContext.TargetHasCondition, ConditionDefinitions.ConditionMarkedByHunter) + .DisableAutoFormatDescription() .AddToDB(); private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder .Create("PowerRangerTireless") .SetGuiPresentation(Category.Feature) - .SetUsesAbilityBonus(ActivationTime.Action, RechargeRate.LongRest, AttributeDefinitions.Wisdom) + .SetUsesAbilityBonus(ActivationTime.BonusAction, RechargeRate.LongRest, AttributeDefinitions.Wisdom) .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( EffectDescriptionBuilder @@ -69,16 +71,31 @@ internal static partial class Tabletop2024Context .SetEffectForms( EffectFormBuilder .Create() - .SetBonusMode(AddBonusMode.AbilityBonus) - .SetTempHpForm(0, DieType.D8, 1) + .SetTempHpForm(5, DieType.D8, 1) .Build()) .Build()) + .AddCustomSubFeatures(new CustomBehaviorTireless()) .AddToDB(); private static readonly FeatureDefinition FeatureRangerRelentlessHunter = FeatureDefinitionBuilder .Create("FeatureRangerRelentlessHunter") .SetGuiPresentation(Category.Feature) - .AddCustomSubFeatures(new PreventRemoveConcentrationOnDamageRelentlessHunter()) + .AddCustomSubFeatures(new CustomBehaviorRelentlessHunter()) + .AddToDB(); + + private static readonly FeatureDefinitionPower PowerFavoredEnemyHuntersMark = FeatureDefinitionPowerBuilder + .Create("PowerFavoredEnemyHuntersMark") + .SetGuiPresentation(HuntersMark.GuiPresentation) + .SetUsesFixed(ActivationTime.BonusAction, RechargeRate.LongRest, 1, 0) + .SetShowCasting(false) + .SetEffectDescription( + EffectDescriptionBuilder + .Create(HuntersMark) + .SetEffectForms() + .Build()) + .AddCustomSubFeatures( + HasModifiedUses.Marker, + new CustomBehaviorFavoredEnemyHuntersMark()) .AddToDB(); private static readonly FeatureDefinitionFeatureSet FeatureSetRangerFavoredEnemy = @@ -86,19 +103,7 @@ internal static partial class Tabletop2024Context .Create("FeatureSetRangerFavoredEnemy") .SetGuiPresentation(Category.Feature) .SetFeatureSet( - FeatureDefinitionPowerBuilder - .Create("PowerFavoredEnemyHuntersMark") - .SetGuiPresentation(HuntersMark.GuiPresentation) - .SetUsesProficiencyBonus(ActivationTime.Action) - .SetShowCasting(false) - .SetEffectDescription( - EffectDescriptionBuilder - .Create(HuntersMark) - .SetTargetingData(Side.All, RangeType.Distance, 12, TargetType.Sphere, 3) - .SetEffectForms() - .Build()) - .AddCustomSubFeatures(new CustomBehaviorFavoredEnemyHuntersMark()) - .AddToDB(), + PowerFavoredEnemyHuntersMark, FeatureDefinitionAutoPreparedSpellsBuilder .Create("AutoPreparedHuntersMark") .SetGuiPresentationNoContent(true) @@ -108,7 +113,7 @@ internal static partial class Tabletop2024Context .AddToDB()) .AddToDB(); - internal static void SwitchOneDndRangerLearnSpellCastingAtOne() + internal static void SwitchRangerSpellCastingAtOne() { var level = Main.Settings.EnableRangerSpellCastingAtLevel1 ? 1 : 2; @@ -246,6 +251,11 @@ internal static void SwitchRangerRelentlessHunter() Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureRangerRelentlessHunter, 13)); } + FeatureRangerRelentlessHunter.GuiPresentation.description = + Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration + ? "Feature/&FeatureRangerRelentlessHunterExtendedDescription" + : "Feature/&FeatureRangerRelentlessHunterDescription"; + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } @@ -276,8 +286,47 @@ internal static void SwitchRangerTireless() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - private sealed class CustomBehaviorFavoredEnemyHuntersMark : IPowerOrSpellFinishedByMe + private sealed class CustomBehaviorTireless : IModifyEffectDescription { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return definition == PowerRangerTireless; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + var levels = character.GetClassLevel(Ranger); + var halfRoundUp = (levels + 1) / 2; + + effectDescription.EffectForms[0].TemporaryHitPointsForm.BonusHitPoints = halfRoundUp; + + return effectDescription; + } + } + + private sealed class CustomBehaviorFavoredEnemyHuntersMark : IPowerOrSpellFinishedByMe, IModifyPowerPoolAmount + { + public FeatureDefinitionPower PowerPool => PowerFavoredEnemyHuntersMark; + + public int PoolChangeAmount(RulesetCharacter character) + { + var levels = character.GetClassLevel(Ranger); + var usages = levels switch + { + < 5 => 2, + < 9 => 3, + < 13 => 4, + < 17 => 5, + _ => 6 + }; + + return usages; + } + public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) { action.ActingCharacter.MyExecuteActionCastNoCost(HuntersMark, 0, action.ActionParams); @@ -286,11 +335,22 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, } } - private sealed class PreventRemoveConcentrationOnDamageRelentlessHunter : IPreventRemoveConcentrationOnDamage + private sealed class CustomBehaviorRelentlessHunter + : IPreventRemoveConcentrationOnDamage, IModifyConcentrationRequirement { + public bool RequiresConcentration(RulesetCharacter rulesetCharacter, RulesetEffectSpell rulesetEffectSpell) + { + if (!Main.Settings.EnableRangerRelentlessHunter2024) + { + return rulesetEffectSpell.SpellDefinition.RequiresConcentration; + } + + return rulesetEffectSpell.SpellDefinition != HuntersMark; + } + public SpellDefinition[] SpellsThatShouldNotRollConcentrationCheckFromDamage(RulesetCharacter rulesetCharacter) { - return [HuntersMark]; + return Main.Settings.EnableRangerRelentlessHunter2024AsNoConcentration ? [] : [HuntersMark]; } } } diff --git a/SolastaUnfinishedBusiness/Models/2024SpellsContext.cs b/SolastaUnfinishedBusiness/Models/2024SpellsContext.cs index 4bdb4c79de..e622701962 100644 --- a/SolastaUnfinishedBusiness/Models/2024SpellsContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024SpellsContext.cs @@ -82,7 +82,7 @@ internal static partial class Tabletop2024Context ConditionForm.ConditionOperation.Add) .Build(); - internal static void SwitchSpellRitualOnAllCasters() + internal static void SwitchOneDndSpellRitualOnAllCasters() { var subclasses = SharedSpellsContext.SubclassCasterType.Keys.Select(GetDefinition); @@ -375,7 +375,7 @@ internal static void SwitchOneDndPreparedSpellsTables() } } - private static void LoadOneDndTrueStrike() + private static void LoadOneDndSpellTrueStrike() { if (!Main.Settings.EnableOneDndTrueStrikeCantrip) { diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index ac7d92f769..df38e4b6f9 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -32,7 +32,7 @@ internal static void LateLoad() LoadMonkHeightenedMetabolism(); LoadOneDndSpellGuidanceSubspells(); LoadOneDndSpellSpareTheDying(); - LoadOneDndTrueStrike(); + LoadOneDndSpellTrueStrike(); LoadRogueCunningStrike(); LoadSorcererSorcerousRestoration(); LoadWizardMemorizeSpell(); @@ -62,13 +62,10 @@ internal static void LateLoad() SwitchMonkDoNotRequireAttackActionForFlurry(); SwitchMonkHeightenedMetabolism(); SwitchMonkSuperiorDefense(); + SwitchMonkUnarmedDieTypeProgression(); SwitchOneDndDamagingSpellsUpgrade(); SwitchOneDndHealingSpellsUpgrade(); - SwitchOneDndMonkUnarmedDieTypeProgression(); - SwitchOneDndPaladinLayOnHandAsBonusAction(); - SwitchOneDndPaladinLearnSpellCastingAtOne(); SwitchOneDndPreparedSpellsTables(); - SwitchOneDndRangerLearnSpellCastingAtOne(); SwitchOneDndSpellBarkskin(); SwitchOneDndSpellDivineFavor(); SwitchOneDndSpellGuidance(); @@ -77,18 +74,23 @@ internal static void LateLoad() SwitchOneDndSpellLesserRestoration(); SwitchOneDndSpellMagicWeapon(); SwitchOneDndSpellPowerWordStun(); + SwitchOneDndSpellRitualOnAllCasters(); SwitchOneDndSpellSpareTheDying(); SwitchOneDndSpellSpiderClimb(); SwitchOneDndSpellStoneSkin(); + SwitchPaladinLayOnHand(); + SwitchPaladinSpellCastingAtOne(); SwitchPoisonsBonusAction(); SwitchPotionsBonusAction(); SwitchRangerDeftExplorer(); SwitchRangerExpertise(); + SwitchRangerFavoredEnemy(); SwitchRangerFeralSenses(); SwitchRangerFoeSlayers(); SwitchRangerNatureShroud(); SwitchRangerPreciseHunter(); SwitchRangerRoving(); + SwitchRangerSpellCastingAtOne(); SwitchRangerTireless(); SwitchRogueBlindSense(); SwitchRogueCunningStrike(); @@ -99,7 +101,6 @@ internal static void LateLoad() SwitchSorcererInnateSorcery(); SwitchSorcererOriginLearningLevel(); SwitchSorcererSorcerousRestorationAtLevel5(); - SwitchSpellRitualOnAllCasters(); SwitchSurprisedEnforceDisadvantage(); SwitchWarlockInvocationsProgression(); SwitchWarlockMagicalCunningAndImprovedEldritchMaster(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 163005a311..fc353c2220 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -303,6 +303,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableRangerNatureShroud2024 { get; set; } public bool EnableRangerPreciseHunter2024 { get; set; } public bool EnableRangerRelentlessHunter2024 { get; set; } + public bool EnableRangerRelentlessHunter2024AsNoConcentration { get; set; } public bool EnableRangerRoving2024 { get; set; } public bool EnableRangerSpellCastingAtLevel1 { get; set; } public bool EnableRangerTireless2024 { get; set; } From a02250c7a631871aa65880f8f6874d121aba94dc Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 10:41:13 -0800 Subject: [PATCH 15/42] update translations --- SolastaUnfinishedBusiness/Translations/de/Others-de.txt | 1 + SolastaUnfinishedBusiness/Translations/de/Settings-de.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/en/Others-en.txt | 1 + SolastaUnfinishedBusiness/Translations/en/Settings-en.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/es/Others-es.txt | 1 + SolastaUnfinishedBusiness/Translations/es/Settings-es.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt | 1 + SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/it/Others-it.txt | 1 + SolastaUnfinishedBusiness/Translations/it/Settings-it.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt | 1 + SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt | 1 + SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt | 5 +++-- .../Translations/pt-BR/Others-pt-BR.txt | 1 + .../Translations/pt-BR/Settings-pt-BR.txt | 5 +++-- SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt | 1 + SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt | 5 +++-- .../Translations/zh-CN/Others-zh-CN.txt | 1 + .../Translations/zh-CN/Settings-zh-CN.txt | 5 +++-- 20 files changed, 40 insertions(+), 20 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index b4e64320e3..2b2416fa22 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=Ab der 9. Stufe erlan Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Ungepanzerte Bewegung - Verbessert Feature/&MovementAffinityRangerRovingDescription=Ihre Geschwindigkeit erhöht sich um 10 Fuß, wenn Sie keine schwere Rüstung tragen. Sie haben außerdem eine Klettergeschwindigkeit, die Ihrer Geschwindigkeit entspricht. Feature/&MovementAffinityRangerRovingTitle=Wandern +Feature/&PaladinChannelDivinityDescription=Sie können göttliche Energie direkt aus den Äußeren Ebenen kanalisieren und sie verwenden, um magische Effekte zu erzeugen. Sie können die Channel Divinity dieser Klasse zweimal verwenden. Sie erhalten eine der verbrauchten Anwendungen zurück, wenn Sie eine kurze Pause beenden, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Pause beenden. Sie erhalten eine zusätzliche Anwendung, wenn Sie Paladin-Level 11 erreichen. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Sie erlangen Kompetenz in einer anderen Fertigkeit Ihrer Wahl aus der Fertigkeitsliste, die Barbaren auf Stufe 1 zur Verfügung steht. Außerdem können Sie, wenn Sie einen der folgenden Fähigkeitstests nicht bestehen: Akrobatik, Einschüchterung, Wahrnehmung, Heimlichkeit oder Überleben, eine Wut-Verwendung aufwenden, um Ihren Stärkemodifikator zum Wurf hinzuzufügen, wodurch dieser möglicherweise stattdessen erfolgreich ist. Wenn Sie diese Fähigkeit verwenden, stellt Ihre Stärke eine Urkraft dar, die durch Sie fließt und Ihre Beweglichkeit, Haltung und Sinne schärft. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Ursprüngliches Wissen Feature/&PointPoolRangerExpertiseDescription=Wählen Sie zwei Ihrer Fertigkeiten aus, in denen es Ihnen an Fachwissen mangelt. Sie erwerben Fachwissen in diesen Fertigkeiten. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index b1eebf6167..d0df1f16ed 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Aktiviere die Zauberversion 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/&EnablePaladinLayOnHandsAsBonusAction2024=Aktiviere Handauflegen als Bonusaktion -ModUi/&EnablePaladinSmiteAsBonusAction2024=Aktiviere Smite als Bonusaktion +ModUi/&EnablePaladinChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] +ModUi/&EnablePaladinLayOnHands2024=Aktivieren Sie Handauflegen 5e 2024 Version [Bonusaktion] +ModUi/&EnablePaladinSmite2024=Aktivieren Sie Divine Smite 5e 2024 Version [Bonusaktion] ModUi/&EnablePaladinSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. ModUi/&EnablePcgRandom=Aktivieren Sie einen besseren Zufallsgenerator-Algorithmus [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Aktivieren Sie das Auftragen von Giften auf Waffen als Bonusaktion. diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 75e55c072d..abf6d7028e 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=Starting at the 9th l Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Unarmored Movement - Improved Feature/&MovementAffinityRangerRovingDescription=Your speed increase by 10 ft while you aren't wearing heavy armor. You also have a climb speed equal to your speed. Feature/&MovementAffinityRangerRovingTitle=Roving +Feature/&PaladinChannelDivinityDescription=You can channel divine energy directly from the Outer Planes, using it to fuel magical effects. You can use this class's Channel Divinity twice. You regain one of its expended uses when you finish a Short Rest, and you regain all expended uses when you finish a Long Rest. You gain an additional use when you reach Paladin level 11. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=You gain proficiency in another skill of your choice from the skill list available to Barbarians at level 1. In addition, whenever you fail one of the following ability checks: Acrobatics, Intimidation, Perception, Stealth, or Survival, you can expend one Rage usage to add your Strength modifier to the roll, potentially causing it to succeed instead. When you use this ability, your Strength represents primal power coursing through you, honing your agility, bearing, and senses. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Primal Knowledge Feature/&PointPoolRangerExpertiseDescription=Choose two of your skill proficiencies with which you lack expertise. You gain expertise in those skills. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index e33744fc28..70960f9774 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Enable Spare the DyingSpider 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/&EnablePaladinLayOnHandsAsBonusAction2024=Enable Lay on Hands as a bonus action -ModUi/&EnablePaladinSmiteAsBonusAction2024=Enable Smite as a bonus action +ModUi/&EnablePaladinChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] +ModUi/&EnablePaladinLayOnHands2024=Enable Lay on Hands 5e 2024 version [bonus action] +ModUi/&EnablePaladinSmite2024=Enable Divine Smite 5e 2024 version [bonus action] ModUi/&EnablePaladinSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 ModUi/&EnablePcgRandom=Enable a better random generator algorithm [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Enable applying Poisons to weapons as a bonus action diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 62c7b293c7..5d9d4c77f8 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partir del nivel 9, Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimiento sin armadura - Mejorado Feature/&MovementAffinityRangerRovingDescription=Tu velocidad aumenta 10 pies cuando no llevas armadura pesada. También tienes una velocidad de escalada igual a tu velocidad. Feature/&MovementAffinityRangerRovingTitle=Errabundo +Feature/&PaladinChannelDivinityDescription=Puedes canalizar energía divina directamente desde los Planos Exteriores y usarla para alimentar efectos mágicos. Puedes usar la habilidad Canalizar divinidad de esta clase dos veces. Recuperas uno de sus usos gastados cuando terminas un Descanso breve y recuperas todos los usos gastados cuando terminas un Descanso prolongado. Obtienes un uso adicional cuando alcanzas el nivel 11 de Paladín. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Obtienes competencia en otra habilidad de tu elección de la lista de habilidades disponibles para los bárbaros en el nivel 1. Además, siempre que fallas una de las siguientes pruebas de característica: Acrobacia, Intimidación, Percepción, Sigilo o Supervivencia, puedes gastar un uso de Furia para agregar tu modificador de Fuerza a la tirada, lo que potencialmente hace que tenga éxito en su lugar. Cuando usas esta habilidad, tu Fuerza representa el poder primordial que corre por tu cuerpo, perfeccionando tu agilidad, porte y sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conocimiento primordial Feature/&PointPoolRangerExpertiseDescription=Elige dos de tus habilidades en las que no eres experto. Ganarás experiencia en esas habilidades. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 2a81a3bb35..5b213d745e 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=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/&EnablePaladinLayOnHandsAsBonusAction2024=Habilitar Imposición de manos como acción adicional -ModUi/&EnablePaladinSmiteAsBonusAction2024=Habilitar Castigar como acción adicional +ModUi/&EnablePaladinChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] +ModUi/&EnablePaladinLayOnHands2024=Habilitar Imposición de manos versión 5e 2024 [acción adicional] +ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versión 5e 2024 [acción adicional] ModUi/&EnablePaladinSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 ModUi/&EnablePcgRandom=Habilitar un mejor algoritmo generador aleatorio [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Habilitar la aplicación de venenos a las armas como acción adicional diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 854f527637..665dc2e748 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=À partir du niveau 9 Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Mouvement sans armure - Amélioré Feature/&MovementAffinityRangerRovingDescription=Votre vitesse augmente de 10 pieds lorsque vous ne portez pas d'armure lourde. Vous avez également une vitesse de montée égale à votre vitesse. Feature/&MovementAffinityRangerRovingTitle=Itinérant +Feature/&PaladinChannelDivinityDescription=Vous pouvez canaliser l'énergie divine directement depuis les plans extérieurs, l'utilisant pour alimenter des effets magiques. Vous pouvez utiliser la canalisation de divinité de cette classe deux fois. Vous récupérez l'une de ses utilisations dépensées lorsque vous terminez un repos court, et vous récupérez toutes ses utilisations dépensées lorsque vous terminez un repos long. Vous obtenez une utilisation supplémentaire lorsque vous atteignez le niveau 11 de paladin. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Vous gagnez la maîtrise d'une autre compétence de votre choix dans la liste des compétences disponibles pour les barbares au niveau 1. De plus, chaque fois que vous échouez à l'un des tests de caractéristique suivants : Acrobaties, Intimidation, Perception, Discrétion ou Survie, vous pouvez dépenser une utilisation de Rage pour ajouter votre modificateur de Force au jet, ce qui peut potentiellement le faire réussir. Lorsque vous utilisez cette capacité, votre Force représente une puissance primitive qui vous traverse, perfectionnant votre agilité, votre allure et vos sens. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Connaissance primordiale Feature/&PointPoolRangerExpertiseDescription=Choisissez deux de vos compétences dans lesquelles vous manquez d'expertise. Vous acquerrez une expertise dans ces compétences. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 06ebf455c9..133f2f5fdb 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Activer Épargner les moura 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/&EnablePaladinLayOnHandsAsBonusAction2024=Activer Imposition des mains comme action bonus -ModUi/&EnablePaladinSmiteAsBonusAction2024=Activer Smite comme action bonus +ModUi/&EnablePaladinChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] +ModUi/&EnablePaladinLayOnHands2024=Activer Imposition des mains 5e version 2024 [action bonus] +ModUi/&EnablePaladinSmite2024=Activer Divine Smite version 5e 2024 [action bonus] ModUi/&EnablePaladinSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 ModUi/&EnablePcgRandom=Activer un meilleur algorithme de générateur aléatoire [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Activer l'application de Poisons aux armes en tant qu'action bonus diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 1d8992a4d2..675b626ba0 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partire dal 9° liv Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimento senza armatura - Migliorato Feature/&MovementAffinityRangerRovingDescription=La tua velocità aumenta di 10 piedi mentre non indossi un'armatura pesante. Hai anche una velocità di salita pari alla tua velocità. Feature/&MovementAffinityRangerRovingTitle=Vagabondare +Feature/&PaladinChannelDivinityDescription=Puoi incanalare l'energia divina direttamente dagli Outer Planes, usandola per alimentare effetti magici. Puoi usare Channel Divinity di questa classe due volte. Recuperi uno dei suoi usi spesi quando finisci un Short Rest, e recuperi tutti gli usi spesi quando finisci un Long Rest. Ottieni un uso aggiuntivo quando raggiungi il livello 11 di Paladino. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Ottieni competenza in un'altra abilità a tua scelta dall'elenco delle abilità disponibili per i Barbari al livello 1. Inoltre, ogni volta che fallisci una delle seguenti prove di abilità: Acrobazia, Intimidazione, Percezione, Furtività o Sopravvivenza, puoi spendere un utilizzo di Rage per aggiungere il tuo modificatore di Strength al tiro, potenzialmente facendolo invece riuscire. Quando usi questa abilità, la tua Strength rappresenta il potere primordiale che scorre attraverso di te, affinando la tua agilità, il tuo portamento e i tuoi sensi. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conoscenza primordiale Feature/&PointPoolRangerExpertiseDescription=Scegli due delle tue competenze di abilità in cui non hai esperienza. Acquisisci esperienza in quelle abilità. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 6bbb3ada5b..55b065c7e2 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Abilita Risparmia i morenti 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/&EnablePaladinLayOnHandsAsBonusAction2024=Abilita Imposizione delle mani come azione bonus -ModUi/&EnablePaladinSmiteAsBonusAction2024=Abilita Colpisci come azione bonus +ModUi/&EnablePaladinChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] +ModUi/&EnablePaladinLayOnHands2024=Abilita Imposizione delle mani versione 5e 2024 [azione bonus] +ModUi/&EnablePaladinSmite2024=Abilita Colpo divino versione 5e 2024 [azione bonus] ModUi/&EnablePaladinSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 ModUi/&EnablePcgRandom=Abilita un algoritmo di generazione casuale migliore [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Abilita l'applicazione di veleni alle armi come azione bonus diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 09b52a7f5c..96328af739 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=9 レベルからは Feature/&MonkAlternateUnarmoredMovementImprovedTitle=非装甲の動き - 改善されました Feature/&MovementAffinityRangerRovingDescription=重装甲を着用していない間、移動速度が 10 フィート増加します。また、移動速度と同じ速度で登攀できます。 Feature/&MovementAffinityRangerRovingTitle=ロービング +Feature/&PaladinChannelDivinityDescription=外界から直接神聖なエネルギーを導き、魔法の効果を活性化することができます。このクラスの「チャネル ディヴィニティ」は 2 回使用できます。小休憩を終えると消費した使用回数が 1 回回復し、大休憩を終えると消費した使用回数がすべて回復します。パラディン レベル 11 に到達すると、使用回数が 1 回追加されます。 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=レベル 1 でバーバリアンが使用できるスキル リストから選択した別のスキルに習熟します。さらに、アクロバット、威圧、知覚、ステルス、または生存のいずれかの能力チェックに失敗するたびに、怒りの使用量を 1 回消費して、ロールに筋力修正値を追加し、代わりに成功させる可能性があります。この能力を使用するとき、筋力はあなたに流れる原始的な力を表し、敏捷性、態度、および感覚を磨きます。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始的な知識 Feature/&PointPoolRangerExpertiseDescription=専門知識が不足しているスキルの熟練度を 2 つ選択します。それらのスキルの専門知識を獲得します。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index be3cab9e55..b6ff90c4b5 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Spare the Dying 5e ModUi/&EnableOneDndSpiderClimbSpell=スパイダークライム 5e 2024 呪文バージョンを有効にする [アップキャストごとにターゲット +1] ModUi/&EnableOneDndStoneSkinSpell=ストーンスキン 5e 2024 呪文バージョンを有効にする [魔法の B/P/S に対する耐性も付与します] ModUi/&EnableOneDndTrueStrikeCantrip=トゥルーストライク 5e 2024 キャントリップ バージョンを有効にします [再起動が必要]{99>[攻撃は、攻撃ロールとダメージ ボーナスに呪文発動能力を使用し、レベル 5 から追加の光ダメージを与えます] -ModUi/&EnablePaladinLayOnHandsAsBonusAction2024=ボーナスアクションとして手を置くを有効にする -ModUi/&EnablePaladinSmiteAsBonusAction2024=ボーナスアクションとしてスマイトを有効にする +ModUi/&EnablePaladinChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする +ModUi/&EnablePaladinLayOnHands2024=Lay on Hands 5e 2024 バージョンを有効にする [ボーナス アクション] +ModUi/&EnablePaladinSmite2024=Divine Smite 5e 2024 バージョンを有効にする [ボーナス アクション] ModUi/&EnablePaladinSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする ModUi/&EnablePcgRandom=より優れたランダム生成アルゴリズムを有効にする [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=ボーナスアクションとして武器に毒を適用できるようにする diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 60637ff408..2d44bfc5f9 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=9레벨부터, 당신 Feature/&MonkAlternateUnarmoredMovementImprovedTitle=비무장 이동 - 개선됨 Feature/&MovementAffinityRangerRovingDescription=무거운 갑옷을 입지 않을 때 속도가 10피트 증가합니다. 또한 속도와 같은 등반 속도를 갖습니다. Feature/&MovementAffinityRangerRovingTitle=로빙 +Feature/&PaladinChannelDivinityDescription=신성한 에너지를 외계에서 직접 전달하여 마법 효과를 강화할 수 있습니다. 이 직업의 신성 전달을 두 번 사용할 수 있습니다. 짧은 휴식을 마치면 소모된 사용 횟수 중 하나를 회복하고 긴 휴식을 마치면 소모된 사용 횟수를 모두 회복합니다. 팔라딘 레벨 11에 도달하면 추가 사용 횟수를 얻습니다. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=1레벨의 야만인이 사용할 수 있는 기술 목록에서 선택한 다른 기술에 능숙해집니다. 또한, 곡예, 위협, 지각, 은신 또는 생존 중 하나에서 실패할 때마다 분노 사용량을 하나 사용하여 힘 수정치를 굴림에 추가하여 대신 성공할 가능성이 있습니다. 이 능력을 사용할 때 힘은 당신을 통해 흐르는 원초적인 힘을 나타내며 민첩성, 자세, 감각을 연마합니다. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=원초적 지식 Feature/&PointPoolRangerExpertiseDescription=전문성이 부족한 두 가지 기술 능력을 선택하세요. 그 기술에 대한 전문성을 얻게 됩니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 2e3325e99d..49af6b93bb 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=죽음을 막아라 ModUi/&EnableOneDndSpiderClimbSpell=거미 등반 5e 2024 주문 버전 활성화 [업캐스트당 대상 +1개] ModUi/&EnableOneDndStoneSkinSpell=스톤 스킨 5e 2024 주문 버전을 활성화합니다. [마법 B/P/S에 대한 저항력도 제공] ModUi/&EnableOneDndTrueStrikeCantrip=True Strike 5e 2024 캔트립 버전 사용 [재시작 필요]\n[공격 시 공격 굴림과 피해 보너스에 주문 시전 능력을 사용하고, 레벨 5부터 추가 방사형 피해] -ModUi/&EnablePaladinLayOnHandsAsBonusAction2024=안수를 보너스 액션으로 활성화합니다. -ModUi/&EnablePaladinSmiteAsBonusAction2024=Smite를 보너스 액션으로 활성화합니다. +ModUi/&EnablePaladinChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 +ModUi/&EnablePaladinLayOnHands2024=안수 5e 2024 버전 활성화 [보너스 액션] +ModUi/&EnablePaladinSmite2024=신성한 일격 5e 2024 버전 활성화 [보너스 액션] ModUi/&EnablePaladinSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. ModUi/&EnablePcgRandom=더 나은 난수 생성 알고리즘을 활성화하세요 [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=보너스 액션으로 무기에 독을 적용하도록 활성화합니다. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 72b32ce144..f1cdd89ddd 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=A partir do 9º níve Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Movimento sem armadura - Melhorado Feature/&MovementAffinityRangerRovingDescription=Sua velocidade aumenta em 10 pés enquanto você não estiver usando armadura pesada. Você também tem uma velocidade de escalada igual à sua velocidade. Feature/&MovementAffinityRangerRovingTitle=Itinerante +Feature/&PaladinChannelDivinityDescription=Você pode canalizar energia divina diretamente dos Planos Exteriores, usando-a para abastecer efeitos mágicos. Você pode usar o Canalizar Divindade desta classe duas vezes. Você recupera um de seus usos gastos quando termina um Descanso Curto, e recupera todos os usos gastos quando termina um Descanso Longo. Você ganha um uso adicional quando atinge o nível 11 de Paladino. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Você ganha proficiência em outra perícia de sua escolha da lista de perícias disponível para Bárbaros no nível 1. Além disso, sempre que você falhar em um dos seguintes testes de habilidade: Acrobacia, Intimidação, Percepção, Furtividade ou Sobrevivência, você pode gastar um uso de Fúria para adicionar seu modificador de Força à rolagem, potencialmente fazendo com que ela seja bem-sucedida. Quando você usa essa habilidade, sua Força representa poder primordial fluindo através de você, aprimorando sua agilidade, porte e sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conhecimento Primordial Feature/&PointPoolRangerExpertiseDescription=Escolha duas de suas proficiências de habilidade com as quais você não tem expertise. Você ganha expertise nessas habilidades. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 204e227366..48a2439416 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Habilitar Poupar os Moribun 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/&EnablePaladinLayOnHandsAsBonusAction2024=Habilitar Impor as Mãos como ação bônus -ModUi/&EnablePaladinSmiteAsBonusAction2024=Habilitar Smite como ação bônus +ModUi/&EnablePaladinChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] +ModUi/&EnablePaladinLayOnHands2024=Habilitar Impor as Mãos versão 5e 2024 [ação bônus] +ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versão 5e 2024 [ação bônus] ModUi/&EnablePaladinSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 ModUi/&EnablePcgRandom=Habilitar um algoritmo de gerador aleatório melhor [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Habilitar a aplicação de Venenos em armas como uma ação bônus diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 287f93f68d..5efd39cd76 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=На 9-м уровн Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Улучшенное движение без доспехов Feature/&MovementAffinityRangerRovingDescription=Ваша скорость увеличивается на 10 футов, пока вы не носите тяжелую броню. У вас также есть скорость подъема, равная вашей скорости. Feature/&MovementAffinityRangerRovingTitle=Ровинг +Feature/&PaladinChannelDivinityDescription=Вы можете направлять божественную энергию напрямую из Внешних Планов, используя ее для подпитки магических эффектов. Вы можете использовать Channel Divinity этого класса дважды. Вы восстанавливаете одно из его использованных использований, когда заканчиваете Short Rest, и вы восстанавливаете все использованные использований, когда заканчиваете Long Rest. Вы получаете дополнительное использование, когда достигаете 11-го уровня Паладина. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Вы получаете владение дополнительным навыком по вашему выбору из списка навыков, доступных Варвару на 1-м уровне. Кроме того, каждый раз, когда вы проваливаете одну из следующих проверок характеристик: Акробатика, Запугивание, Восприятие, Скрытность или Выживание, вы можете потратить один заряд ярости, чтобы добавить к броску модификатор вашей Силы, что может привести к успеху. Когда вы используете эту способность, ваша Сила олицетворяет первобытную мощь, текущую через вас, совершенствуя вашу ловкость, стойкость и чувства. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Первобытное знание Feature/&PointPoolRangerExpertiseDescription=Выберите два из ваших навыков, в которых вам не хватает опыта. Вы приобретаете опыт в этих навыках. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index aa60b1a092..4c509fcb16 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Включить версию заклин ModUi/&EnableOneDndSpiderClimbSpell=Включить версию заклинания Паук из 5e 2024 [+1 цель за каждый дополнительный уровень ячейки заклинания] ModUi/&EnableOneDndStoneSkinSpell=Включить версию заклинания Каменная кожа из 5e 2024 [также даёт сопротивление магическому дробящему, рубящему и колющему урону] ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию заговора Меткий удар из 5e 2024 [Необходим перезапуск]\n[для бросков атаки и урона используется ваша заклинательная характеристика, а также дополнительный урон излучением с 5-го уровня] -ModUi/&EnablePaladinLayOnHandsAsBonusAction2024=Включить Наложение рук бонусным действием -ModUi/&EnablePaladinSmiteAsBonusAction2024=Включить Кару бонусным действием +ModUi/&EnablePaladinChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] +ModUi/&EnablePaladinLayOnHands2024=Включить Возложение рук 5e 2024 версия [бонусное действие] +ModUi/&EnablePaladinSmite2024=Включить Divine Smite 5e 2024 версии [бонусное действие] ModUi/&EnablePaladinSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го ModUi/&EnablePcgRandom=Включить улучшенный алгоритм генерации случайных чисел [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Включить нанесение Ядов на оружие бонусным действием diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index c4a61317d0..697a48e650 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -187,6 +187,7 @@ Feature/&MonkAlternateUnarmoredMovementImprovedDescription=从第 9 级开始, Feature/&MonkAlternateUnarmoredMovementImprovedTitle=无甲移动 - 改进 Feature/&MovementAffinityRangerRovingDescription=未穿着重甲时,您的速度增加 10 英尺。您的攀爬速度也等于您的速度。 Feature/&MovementAffinityRangerRovingTitle=粗纱 +Feature/&PaladinChannelDivinityDescription=您可以直接从外层位面引导神圣能量,用它来产生魔法效果。您可以使用此职业的神圣引导两次。完成短暂休息后,您可以恢复一次已消耗的使用次数,完成长时间休息后,您可以恢复所有已消耗的使用次数。当您达到圣骑士等级 11 时,您可以获得一次额外使用次数。 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=你可以熟练掌握 1 级野蛮人技能列表中的另一项技能。此外,每当你未通过以下能力检定之一时:杂技、威吓、感知、隐身或生存,你可以消耗一次怒气值,将力量调整值添加到检定中,从而有可能导致检定成功。当你使用此能力时,你的力量代表着你体内流淌的原始力量,磨练你的敏捷、风度和感官。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始知识 Feature/&PointPoolRangerExpertiseDescription=选择两项你不擅长的技能。你将在这些技能上获得专业知识。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index cdff8bb43d..2e80b98a06 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -170,8 +170,9 @@ ModUi/&EnableOneDndSpareTheDyingSpell=启用Spare the Dying蜘蛛攀爬 5e 2024 法术版本[每次施法 +1 个目标] ModUi/&EnableOneDndStoneSkinSpell=启用石肤 5e 2024 法术版本[同时提供对魔法 B/P/S 的抵抗力] ModUi/&EnableOneDndTrueStrikeCantrip=启用 True Strike 5e 2024 法术版本 [需要重启]{99>[攻击使用你的施法能力进行攻击掷骰和伤害加成,并从 5 级开始造成额外的辐射伤害] -ModUi/&EnablePaladinLayOnHandsAsBonusAction2024=启用圣疗术作为奖励行动 -ModUi/&EnablePaladinSmiteAsBonusAction2024=启用 Smite 作为奖励行动 +ModUi/&EnablePaladinChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] +ModUi/&EnablePaladinLayOnHands2024=启用圣疗术 5e 2024 版本[奖励行动] +ModUi/&EnablePaladinSmite2024=启用Divine Smite 5e 2024 版本[奖励行动] ModUi/&EnablePaladinSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 ModUi/&EnablePcgRandom=启用更好的随机生成器算法[https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=启用将毒药应用于武器作为奖励行动 From 60b0e9e7ab3b819e502d6f1971e647bd5edb8b50 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 10:53:42 -0800 Subject: [PATCH 16/42] add new Paladin 2024 setting --- .../Behaviors/Specific/_GLBM.cs | 4 +- .../ChangelogHistory.txt | 2 +- .../Displays/ClassesDisplay.cs | 21 +- .../Displays/GeneralDisplay.cs | 23 +- .../Models/2024PaladinContext.cs | 31 +- .../Models/Tabletop2024Context.cs | 1 + .../Patches/RulesetCharacterPatcher.cs | 17 +- SolastaUnfinishedBusiness/Settings.cs | 5 +- SolastaUnfinishedBusiness/Settings/empty.xml | 2336 ++++++++--------- .../Settings/zappastuff.xml | 4 +- 10 files changed, 1251 insertions(+), 1193 deletions(-) diff --git a/SolastaUnfinishedBusiness/Behaviors/Specific/_GLBM.cs b/SolastaUnfinishedBusiness/Behaviors/Specific/_GLBM.cs index d8ffe63cb4..6790801917 100644 --- a/SolastaUnfinishedBusiness/Behaviors/Specific/_GLBM.cs +++ b/SolastaUnfinishedBusiness/Behaviors/Specific/_GLBM.cs @@ -989,7 +989,7 @@ when attacker.UsedSpecialFeatures.ContainsKey(featureDefinition.Name): }; // One DnD only allow smites as bonus action - if (Main.Settings.EnablePaladinSmiteAsBonusAction2024 && + if (Main.Settings.EnablePaladinSmite2024 && isDivineSmite && !ValidatorsCharacter.HasAvailableBonusAction(attacker.RulesetCharacter)) { @@ -1062,7 +1062,7 @@ when attacker.UsedSpecialFeatures.ContainsKey(featureDefinition.Name): validTrigger = reactionParams.ReactionValidated; // One DnD only allow smites as bonus action - if (Main.Settings.EnablePaladinSmiteAsBonusAction2024 && isDivineSmite && validTrigger) + if (Main.Settings.EnablePaladinSmite2024 && isDivineSmite && validTrigger) { attacker.SpendActionType(ActionDefinitions.ActionType.Bonus); } diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 9a10c30106..84df05ece8 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,6 +1,6 @@ 1.5.97.42: -- completed Ranger, and Sorcerer tabletop 2024 settings +- added Paladin, Ranger, and Sorcerer tabletop 2024 settings - fixed custom models rendering, and off-hand Katanas 1.5.97.41: diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 49e3365eb1..97bbebf31e 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -316,17 +316,24 @@ internal static void DisplayClasses() Main.Settings.AddPaladinSmiteToggle = toggle; } - toggle = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHandsAsBonusAction2024"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnablePaladinChannelDivinity2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinChannelDivinity2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 = toggle; - Tabletop2024Context.SwitchPaladinLayOnHand(); + Main.Settings.EnablePaladinChannelDivinity2024 = toggle; + Tabletop2024Context.SwitchPaladinChannelDivinity(); } - toggle = Main.Settings.EnablePaladinSmiteAsBonusAction2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSmiteAsBonusAction2024"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnablePaladinSmite2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSmite2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinSmite2024 = toggle; + } + + toggle = Main.Settings.EnablePaladinLayOnHands2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHands2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnablePaladinSmiteAsBonusAction2024 = toggle; + Main.Settings.EnablePaladinLayOnHands2024 = toggle; + Tabletop2024Context.SwitchPaladinLayOnHand(); } toggle = Main.Settings.EnablePaladinSpellCastingAtLevel1; diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 23c9cfa8e8..5c11535380 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -517,17 +517,24 @@ private static void DisplayTabletop2024() UI.Label("" + Gui.Localize("Class/&PaladinTitle") + ":"); UI.Label(); - toggle = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHandsAsBonusAction2024"), ref toggle, UI.AutoWidth())) + toggle = Main.Settings.EnablePaladinChannelDivinity2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinChannelDivinity2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 = toggle; - Tabletop2024Context.SwitchPaladinLayOnHand(); + Main.Settings.EnablePaladinChannelDivinity2024 = toggle; + Tabletop2024Context.SwitchPaladinChannelDivinity(); } - - toggle = Main.Settings.EnablePaladinSmiteAsBonusAction2024; - if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSmiteAsBonusAction2024"), ref toggle, UI.AutoWidth())) + + toggle = Main.Settings.EnablePaladinSmite2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSmite2024"), ref toggle, UI.AutoWidth())) { - Main.Settings.EnablePaladinSmiteAsBonusAction2024 = toggle; + Main.Settings.EnablePaladinSmite2024 = toggle; + } + + toggle = Main.Settings.EnablePaladinLayOnHands2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHands2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinLayOnHands2024 = toggle; + Tabletop2024Context.SwitchPaladinLayOnHand(); } toggle = Main.Settings.EnablePaladinSpellCastingAtLevel1; diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 6f7cf77ca5..2eb329d8ba 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -6,11 +6,20 @@ using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; namespace SolastaUnfinishedBusiness.Models; internal static partial class Tabletop2024Context { + internal static readonly FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity11 = + FeatureDefinitionAttributeModifierBuilder + .Create("AttributeModifierPaladinChannelDivinity11") + .SetGuiPresentationNoContent(true) + .SetModifier(FeatureDefinitionAttributeModifier.AttributeModifierOperation.Additive, + AttributeDefinitions.ChannelDivinityNumber) + .AddToDB(); + internal static void SwitchPaladinSpellCastingAtOne() { var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; @@ -46,8 +55,28 @@ internal static void SwitchPaladinSpellCastingAtOne() internal static void SwitchPaladinLayOnHand() { - PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHandsAsBonusAction2024 + PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHands2024 ? ActivationTime.BonusAction : ActivationTime.Action; } + + internal static void SwitchPaladinChannelDivinity() + { + if (Main.Settings.EnablePaladinChannelDivinity2024) + { + AttributeModifierPaladinChannelDivinity.modifierValue = 2; + AttributeModifierPaladinChannelDivinity.GuiPresentation.description = + "Feature/&PaladinChannelDivinityDescription"; + Paladin.FeatureUnlocks.Add(new FeatureUnlockByLevel(AttributeModifierPaladinChannelDivinity11, 11)); + } + else + { + AttributeModifierPaladinChannelDivinity.modifierValue = 1; + AttributeModifierPaladinChannelDivinity.GuiPresentation.description = + "Feature/&ClericChannelDivinityDescription"; + Paladin.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == AttributeModifierPaladinChannelDivinity11); + } + + Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index df38e4b6f9..0d02a613b3 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -78,6 +78,7 @@ internal static void LateLoad() SwitchOneDndSpellSpareTheDying(); SwitchOneDndSpellSpiderClimb(); SwitchOneDndSpellStoneSkin(); + SwitchPaladinChannelDivinity(); SwitchPaladinLayOnHand(); SwitchPaladinSpellCastingAtOne(); SwitchPoisonsBonusAction(); diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs index 15b2a5e7dc..2347dc4438 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs @@ -22,6 +22,7 @@ using static FeatureDefinitionAttributeModifier; using static ActionDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionMagicAffinitys; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; @@ -1714,7 +1715,6 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool var maxUses = __instance.GetMaxUsesOfPower(usablePower); var remainingUses = __instance.GetRemainingUsesOfPower(usablePower); - // ReSharper disable once InvertIf if (remainingUses != maxUses) { if (!simulate) @@ -1726,6 +1726,21 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool __instance.recoveredFeatures.Add(PowerFighterSecondWind); } } + + //PATCH: support for Paladins to regain one channel divinity usage at short rests + // ReSharper disable once InvertIf + if (Main.Settings.EnablePaladinChannelDivinity2024 && + restType == RestType.ShortRest && + __instance.GetClassLevel(Paladin) >= 3 && + __instance.UsedChannelDivinity > 0) + { + if (!simulate) + { + __instance.UsedChannelDivinity -= 1; + } + + __instance.recoveredFeatures.Add(AttributeModifierPaladinChannelDivinity); + } } [UsedImplicitly] diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index fc353c2220..a0b8748a3c 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -318,8 +318,9 @@ public class Settings : UnityModManager.ModSettings public bool EnableMonkBodyAndMind2024 { get; set; } public bool EnableMonkUnarmoredDieTypeProgression2024 { get; set; } public bool AddPaladinSmiteToggle { get; set; } - public bool EnablePaladinLayOnHandsAsBonusAction2024 { get; set; } - public bool EnablePaladinSmiteAsBonusAction2024 { get; set; } + public bool EnablePaladinChannelDivinity2024 { get; set; } + public bool EnablePaladinLayOnHands2024 { get; set; } + public bool EnablePaladinSmite2024 { get; set; } public bool EnablePaladinSpellCastingAtLevel1 { get; set; } public bool ShowChannelDivinityOnPortrait { get; set; } public bool EnableRogueCunningStrike2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 3cb6307385..149590ea22 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -1,1171 +1,1169 @@ - - 1 - 0 - 3 - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - - Barbarian - - - false - - - - - Bard - - - false - - - - - Cleric - - - false - - - - - Druid - - - false - - - - - Fighter - - - false - - - - - Monk - - - false - - - - - Paladin - - - false - - - - - Ranger - - - false - - - - - Rogue - - - false - - - - - Sorcerer - - - false - - - - - Warlock - - - false - - - - - Wizard - - - false - - - - - Inventor - - - false - - - - - - - SpellListInventor - - - false - - - - - SpellListBard - - - false - - - - - SpellListCleric - - - false - - - - - SpellListDruid - - - false - - - - - SpellListPaladin - - - false - - - - - SpellListRanger - - - false - - - - - SpellListSorcerer - - - false - - - - - SpellListWarlock - - - false - - - - - SpellListMonkTraditionLight - - - false - - - - - SpellListWizard - - - false - - - - - true - true - true - true - true - true - true - true - true - true - false - true - false - true - false - false - false - 0 - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - false - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - 1 - 0 - 0 - 0 - false - false - 1.5 - 100 - 4 - false - false - false - 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 - false - false - false - false - false - false - false - false - false - false - false - false - 5 - 1 - 100 - 100 - 100 - false - false - 0 - 0 - 0 - - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 1 - 0 - 1 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 1 - 1 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 0 - 0 - 1 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 0 - 0 - 1 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - 50 - false - false - false - 200 - 0 - false - - false - false - false - false - false - false - false - false - en - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - 4 - - 4 - - 4 - - false - false - false - 0 - false - false - false - false - false - 4 - - 4 - - 4 - - 4 - - 4 - - false - false - false - false - false - - false - false - false - false - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - - SpellListInventor - - - 4 - - - - - SpellListBard - - - 4 - - - - - SpellListCleric - - - 4 - - - - - SpellListDruid - - - 4 - - - - - SpellListPaladin - - - 4 - - - - - SpellListRanger - - - 4 - - - - - SpellListSorcerer - - - 4 - - - - - SpellListWarlock - - - 4 - - - - - SpellListMonkTraditionLight - - - 4 - - - - - SpellListWizard - - - 4 - - - - - - - SpellListInventor - - - - - - - - SpellListBard - - - - - - - - SpellListCleric - - - - - - - - SpellListDruid - - - - - - - - SpellListPaladin - - - - - - - - SpellListRanger - - - - - - - - SpellListSorcerer - - - - - - - - SpellListWarlock - - - - - - - - SpellListMonkTraditionLight - - - - - - - - SpellListWizard - - - - - - - false - - false - false - false - false - false - 2 - false - false - false - - - - Barbarian - - - 4 - - - - - Bard - - - 4 - - - - - Cleric - - - 4 - - - - - Druid - - - 4 - - - - - Fighter - - - 4 - - - - - Monk - - - 4 - - - - - Paladin - - - 4 - - - - - Ranger - - - 4 - - - - - Rogue - - - 4 - - - - - Sorcerer - - - 4 - - - - - Warlock - - - 4 - - - - - Wizard - - - 4 - - - - - Inventor - - - 4 - - - - - - - Barbarian - - - - - - - - Bard - - - - - - - - Cleric - - - - - - - - Druid - - - - - - - - Fighter - - - - - - - - Monk - - - - - - - - Paladin - - - - - - - - Ranger - - - - - - - - Rogue - - - - - - - - Sorcerer - - - - - - - - Warlock - - - - - - - - Wizard - - - - - - - - Inventor - - - - - - - false - false - false + + 1 + 0 + 0 + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + Barbarian + + + false + + + + + Bard + + + false + + + + + Cleric + + + false + + + + + Druid + + + false + + + + + Fighter + + + false + + + + + Monk + + + false + + + + + Paladin + + + false + + + + + Ranger + + + false + + + + + Rogue + + + false + + + + + Sorcerer + + + false + + + + + Warlock + + + false + + + + + Wizard + + + false + + + + + Inventor + + + false + + + + + + + SpellListInventor + + + false + + + + + SpellListBard + + + false + + + + + SpellListCleric + + + false + + + + + SpellListDruid + + + false + + + + + SpellListPaladin + + + false + + + + + SpellListRanger + + + false + + + + + SpellListSorcerer + + + false + + + + + SpellListWarlock + + + false + + + + + SpellListMonkTraditionLight + + + false + + + + + SpellListWizard + + + false + + + + + true + true + true + true + true + true + true + true + true + true + false + true + false + true + false + false + false + 0 + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + 1 + 0 + 0 + 0 + false + false + 1.5 + 100 + 4 + false + false + false + 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 + false + false + false + false + false + false + false + false + false + false + false + false + 5 + 1 + 100 + 100 + 100 + false + false + 0 + 0 + 0 + + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 1 + 1 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 0 + 0 + 1 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 0 + 0 + 1 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + 50 + false + false + false + 200 + 0 + false + + false + false + false + false + false + false + false + false + en + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + 4 + + 4 + + 4 + + false + false + false + 0 + false + false + false + false + false + 4 + + 4 + + 4 + + 4 + + 4 + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + SpellListInventor + + + 4 + + + + + SpellListBard + + + 4 + + + + + SpellListCleric + + + 4 + + + + + SpellListDruid + + + 4 + + + + + SpellListPaladin + + + 4 + + + + + SpellListRanger + + + 4 + + + + + SpellListSorcerer + + + 4 + + + + + SpellListWarlock + + + 4 + + + + + SpellListMonkTraditionLight + + + 4 + + + + + SpellListWizard + + + 4 + + + + + + + SpellListInventor + + + + + + + + SpellListBard + + + + + + + + SpellListCleric + + + + + + + + SpellListDruid + + + + + + + + SpellListPaladin + + + + + + + + SpellListRanger + + + + + + + + SpellListSorcerer + + + + + + + + SpellListWarlock + + + + + + + + SpellListMonkTraditionLight + + + + + + + + SpellListWizard + + + + + + + false + false + false + false + false + false + 2 + false + false + false + + + + Barbarian + + + 4 + + + + + Bard + + + 4 + + + + + Cleric + + + 4 + + + + + Druid + + + 4 + + + + + Fighter + + + 4 + + + + + Monk + + + 4 + + + + + Paladin + + + 4 + + + + + Ranger + + + 4 + + + + + Rogue + + + 4 + + + + + Sorcerer + + + 4 + + + + + Warlock + + + 4 + + + + + Wizard + + + 4 + + + + + Inventor + + + 4 + + + + + + + Barbarian + + + + + + + + Bard + + + + + + + + Cleric + + + + + + + + Druid + + + + + + + + Fighter + + + + + + + + Monk + + + + + + + + Paladin + + + + + + + + Ranger + + + + + + + + Rogue + + + + + + + + Sorcerer + + + + + + + + Warlock + + + + + + + + Wizard + + + + + + + + Inventor + + + + + + + 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 2c0913bfdc..6390da833c 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -715,8 +715,8 @@ true true true - true - false + true + false true true true From f5f99c83e4edea61d5c443e34005dde1178a530e Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 10:59:43 -0800 Subject: [PATCH 17/42] minor tweaks --- .../CustomUI/CustomModels.cs | 15 ++++++++++++--- .../Models/2024RangerContext.cs | 11 +++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs b/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs index 6762a0a9e5..7e80e713e5 100644 --- a/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs +++ b/SolastaUnfinishedBusiness/CustomUI/CustomModels.cs @@ -338,10 +338,19 @@ private static bool TryReadObjectAndCorrespondingMaterialFiles( { objFile = new ObjectFile(); - var pathCache = Path.Combine(directoryPath, $"{filename}.cache"); + var pathCache = Path.Combine(directoryPath, "../../../ModelsCache"); - if (Deserialize(pathCache, ref objFile)) + if (!Directory.Exists(pathCache)) { + Directory.CreateDirectory(pathCache); + } + + var cacheFile = Path.Combine(pathCache, $"{filename}.cache"); + + if (Deserialize(cacheFile, ref objFile)) + { + Main.Info($"Read {filename} from cache."); + return true; } @@ -412,7 +421,7 @@ private static bool TryReadObjectAndCorrespondingMaterialFiles( return false; } - Serialize(objFile, pathCache); + Serialize(objFile, cacheFile); return true; } diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index 78ad913858..39e39f82de 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; +using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -183,6 +184,16 @@ internal static void SwitchRangerFavoredEnemy() { Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetRangerFavoredEnemy, 1)); } + else + { + Ranger.FeatureUnlocks.AddRange( + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerTerrainType, 1), + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerPreferredEnemy, 1), + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerTerrainType, 6), + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerPreferredEnemy, 6), + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerTerrainType, 10), + new FeatureUnlockByLevel(RulesContext.InvocationPoolRangerPreferredEnemy, 14)); + } Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } From e2df0144b19028ebf11afe6ce227fe3c9db54192 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 12:16:24 -0800 Subject: [PATCH 18/42] update translations --- SolastaUnfinishedBusiness/Translations/de/Others-de.txt | 2 +- SolastaUnfinishedBusiness/Translations/de/Settings-de.txt | 3 ++- SolastaUnfinishedBusiness/Translations/en/Others-en.txt | 2 +- SolastaUnfinishedBusiness/Translations/en/Settings-en.txt | 3 ++- SolastaUnfinishedBusiness/Translations/es/Others-es.txt | 2 +- SolastaUnfinishedBusiness/Translations/es/Settings-es.txt | 3 ++- SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt | 2 +- SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt | 3 ++- SolastaUnfinishedBusiness/Translations/it/Others-it.txt | 2 +- SolastaUnfinishedBusiness/Translations/it/Settings-it.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt | 2 +- SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt | 2 +- SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt | 3 ++- SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt | 2 +- .../Translations/pt-BR/Settings-pt-BR.txt | 3 ++- SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt | 2 +- SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt | 3 ++- SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt | 2 +- .../Translations/zh-CN/Settings-zh-CN.txt | 3 ++- 20 files changed, 30 insertions(+), 20 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 2b2416fa22..ec9bdefdcc 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Dank deiner Reisen erlangst du die folgenden Vorteile.\n• Fachwissen. Wähle eine deiner Fertigkeiten aus, die dir fehlt. Du erlangst Fachwissen in dieser Fertigkeit.\n• Sprachen. Du kennst 2 Sprachen deiner Wahl. Feature/&FeatureSetRangerDeftExplorerTitle=Geschickter Entdecker -Feature/&FeatureSetRangerFavoredEnemyDescription=Du hast den Zauber „Jägermal“ immer bereit. Du kannst ihn zweimal wirken, ohne einen Zauberplatz zu verbrauchen, und erhältst alle verbrauchten Anwendungen dieser Fähigkeit zurück, wenn du eine lange Pause beendest. Die Anzahl der Male, die du den Zauber ohne Zauberplatz wirken kannst, erhöht sich, wenn du bestimmte Ranger-Level erreichst, wie in der Spalte „Bevorzugter Feind“ der Tabelle „Ranger-Eigenschaften“ gezeigt. +Feature/&FeatureSetRangerFavoredEnemyDescription=Sie haben den Zauber „Jägermal“ immer bereit. Sie können ihn zweimal wirken, ohne einen Zauberplatz zu verbrauchen, und Sie erhalten alle verbrauchten Anwendungen dieser Fähigkeit zurück, wenn Sie eine lange Pause beenden. Die Anzahl der Male, die Sie den Zauber ohne Zauberplatz wirken können, erhöht sich auf bestimmten Ranger-Leveln und steigt auf 3 auf dem 5. Level, 4 auf dem 9. Level, 5 auf dem 13. Level und 6 auf dem 17. Level. Feature/&FeatureSetRangerFavoredEnemyTitle=Bevorzugter Feind 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 diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index d0df1f16ed..4f52399c4a 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Aktiviere Relentless Hunt ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Entfernen Sie stattdessen die Konzentrationsanforderungen von Hunter's Mark ModUi/&EnableRangerRoving2024=Aktivieren Sie Umherziehen auf Stufe 6 [erhalten Sie 10 Fuß Bewegung, wenn Sie keine schwere Rüstung verwenden, und dieselbe Klettergeschwindigkeit] ModUi/&EnableRangerSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. -ModUi/&EnableRangerTireless2024=Aktiviere Tireless auf Level 10 [Verwende eine Aktion, um temporäre Trefferpunkte zu erhalten] +ModUi/&EnableRangerTireless2024=Aktiviere Tireless, um Hide in Plain Sight auf Level 10 zu ersetzen [temporäre Trefferpunkte erhalten] ModUi/&EnableRelearnSpells=Aktivieren Sie die Auswahl von Zaubersprüchen oder Zaubersprüchen, die Sie bereits aus anderen Quellen gelernt haben. ModUi/&EnableRespecAction=Aktivieren Sie RESPEC nach der Rest-Aktion [RESPEC nicht während einer Multiplayer-Sitzung verwenden] ModUi/&EnableRitualOnAllCasters2024=Aktivieren Sie das Wirken von Ritualen für alle Zauberer. @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Entferne Magisches GeheimnisSong of Rest auf Level 2 ModUi/&RemoveBugVisualModels=Ersetzen Sie im Spiel spinnenähnliche Modelle durch bärenähnliche Modelle [Spinnenphobie] [Neustart erforderlich] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Humanoidenfilter bei Greuelhaftes Gelächter entfernen +ModUi/&RemoveRangerVanish2024=Entferne Verschwinden auf Stufe 14 ModUi/&RemoveRecurringEffectOnEntangle=Wende den Verstricken-Effekt nur beim Zaubern an und erzwinge außerdem eine Stärkeprüfung, um sich von den Ranken zu befreien. ModUi/&RemoveRogueBlindSense2024=Entferne Blind Sense auf Level 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Schulbeschränkungen von Shadowcaster entfernen diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index abf6d7028e..2acddb7d76 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Thanks to your travels, you gain the following benefits.\n• Expertise. Choose one of your skill proficiencies with which you lack proficiency. You gain expertise in that skill.\n• Languages. You know 2 languages of your choice. Feature/&FeatureSetRangerDeftExplorerTitle=Deft Explorer -Feature/&FeatureSetRangerFavoredEnemyDescription=You always have the Hunter's Mark spell prepared. You can cast it twice without expending a spell slot, and you regain all expended uses of this ability when you finish a Long Rest. The number of times you can cast the spell without a spell slot increases when you reach certain Ranger levels, as shown in the Favored Enemy column of the Ranger Features table. +Feature/&FeatureSetRangerFavoredEnemyDescription=You always have the Hunter's Mark spell prepared. You can cast it twice without expending a spell slot, and you regain all expended uses of this ability when you finish a Long Rest. The number of times you can cast the spell without a spell slot increases on certain Ranger levels, increasing to 3 at 5th level, 4 at 9th level, 5 at 13th level and 6 at 17th level. Feature/&FeatureSetRangerFavoredEnemyTitle=Favored Enemy 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 diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 70960f9774..86694d3ea9 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Enable Relentless Hunter< ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Remove concentration requirements from Hunter's Mark instead ModUi/&EnableRangerRoving2024=Enable Roving at level 6 [get 10ft movement when not using Heavy Armor, and same climb speed] ModUi/&EnableRangerSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 -ModUi/&EnableRangerTireless2024=Enable Tireless to replace Hide in Plain Sight at level 10 [use an action to get temporary hit points] +ModUi/&EnableRangerTireless2024=Enable Tireless to replace Hide in Plain Sight at level 10 [get temporary hit points] ModUi/&EnableRelearnSpells=Enable selection of cantrips or spells already learned from other sources ModUi/&EnableRespecAction=Enable the RESPEC after rest action [don't use RESPEC during a multiplayer session] ModUi/&EnableRitualOnAllCasters2024=Enable Ritual casting on all casters @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Remove Magical Secret ModUi/&RemoveBardSongOfRest2024=Remove Song of Rest at level 2 ModUi/&RemoveBugVisualModels=Replace spider like models with bear like models in the game [arachnophobia] [Requires Restart] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Remove humanoid filter on Hideous Laughter +ModUi/&RemoveRangerVanish2024=Remove Vanish at level 14 ModUi/&RemoveRecurringEffectOnEntangle=Only apply Entangle effect at casting time and also force a strength check to break free from the vines ModUi/&RemoveRogueBlindSense2024=Remove Blind Sense at level 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Remove school restrictions from Shadowcaster diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 5d9d4c77f8..d648228bc5 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Gracias a tus viajes, obtienes los siguientes beneficios:\n• Pericia. Elige una de tus competencias de habilidad en la que no eres competente. Obtienes pericia en esa habilidad.\n• Idiomas. Sabes 2 idiomas de tu elección. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil -Feature/&FeatureSetRangerFavoredEnemyDescription=Siempre tienes preparado el hechizo Marca del cazador. Puedes lanzarlo dos veces sin gastar un espacio de hechizo y recuperas todos los usos gastados de esta habilidad cuando terminas un descanso prolongado. La cantidad de veces que puedes lanzar el hechizo sin un espacio de hechizo aumenta cuando alcanzas ciertos niveles de explorador, como se muestra en la columna Enemigo favorito de la tabla de características del explorador. +Feature/&FeatureSetRangerFavoredEnemyDescription=Siempre tienes preparado el hechizo Marca del cazador. Puedes lanzarlo dos veces sin gastar un espacio de conjuro y recuperas todos los usos gastados de esta habilidad cuando terminas un descanso prolongado. La cantidad de veces que puedes lanzar el hechizo sin un espacio de conjuro aumenta en ciertos niveles de explorador, aumentando a 3 en el nivel 5, 4 en el nivel 9, 5 en el nivel 13 y 6 en el nivel 17. Feature/&FeatureSetRangerFavoredEnemyTitle=Enemigo Favorecido 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 diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 5b213d745e..97e0b092f4 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Habilita Cazador implacab ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Eliminar los requisitos de concentración de la Marca del Cazador en su lugar ModUi/&EnableRangerRoving2024=Habilita Roving en el nivel 6 [obtén 10 pies de movimiento cuando no uses armadura pesada y la misma velocidad de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 -ModUi/&EnableRangerTireless2024=Habilita Incansable en el nivel 10 [usa una acción para obtener puntos de vida temporales] +ModUi/&EnableRangerTireless2024=Habilita Incansable para reemplazar Ocultarse a simple vista en el nivel 10 [obtener puntos de vida temporales] 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/&EnableRitualOnAllCasters2024=Habilitar el lanzamiento de Ritual para todos los lanzadores @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Elimina Secreto mágicoCanción de descanso en el nivel 2 ModUi/&RemoveBugVisualModels=Reemplaza los modelos tipo araña por modelos tipo oso en el juego. [arachnophobia] [Requiere reinicio] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Eliminar filtro humanoide en Risas espantosas +ModUi/&RemoveRangerVanish2024=Eliminar Desaparecer en el nivel 14 ModUi/&RemoveRecurringEffectOnEntangle=Solo aplica el efecto Enredar en el momento del lanzamiento y también fuerza una prueba de fuerza para liberarte de las enredaderas. ModUi/&RemoveRogueBlindSense2024=Elimina el Sentido ciego en el nivel 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Eliminar las restricciones escolares de Shadowcaster diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 665dc2e748..7f5267d84a 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grâce à vos voyages, vous obtenez les avantages suivants.\n• Expertise. Choisissez l'une de vos compétences que vous ne maîtrisez pas suffisamment. Vous obtenez une expertise dans cette compétence.\n• Langues. Vous connaissez 2 langues de votre choix. Feature/&FeatureSetRangerDeftExplorerTitle=Explorateur habile -Feature/&FeatureSetRangerFavoredEnemyDescription=Vous avez toujours le sort Marque du chasseur prêt. Vous pouvez le lancer deux fois sans dépenser d'emplacement de sort, et vous récupérez toutes les utilisations dépensées de cette capacité lorsque vous terminez un Repos long. Le nombre de fois que vous pouvez lancer le sort sans emplacement de sort augmente lorsque vous atteignez certains niveaux de Rôdeur, comme indiqué dans la colonne Ennemi favori du tableau des Caractéristiques du Rôdeur. +Feature/&FeatureSetRangerFavoredEnemyDescription=Vous avez toujours le sort Marque du chasseur prêt. Vous pouvez le lancer deux fois sans dépenser d'emplacement de sort, et vous récupérez toutes les utilisations dépensées de cette capacité lorsque vous terminez un Repos long. Le nombre de fois que vous pouvez lancer le sort sans emplacement de sort augmente à certains niveaux de Rôdeur, passant à 3 au niveau 5, 4 au niveau 9, 5 au niveau 13 et 6 au niveau 17. Feature/&FeatureSetRangerFavoredEnemyTitle=Ennemi favori 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 diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 133f2f5fdb..0806e5b7c9 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Activer Chasseur implacab ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Supprimez plutôt les exigences de concentration de la marque du chasseur ModUi/&EnableRangerRoving2024=Activez Roving au niveau 6 [obtenez un mouvement de 10 pieds lorsque vous n'utilisez pas d'armure lourde et la même vitesse de montée] ModUi/&EnableRangerSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 -ModUi/&EnableRangerTireless2024=Activez Tireless au niveau 10 [utilisez une action pour obtenir des points de vie temporaires] +ModUi/&EnableRangerTireless2024=Activez Tireless pour remplacer Hide in Plain Sight au niveau 10 [obtenir des points de vie temporaires] 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/&EnableRitualOnAllCasters2024=Activer le lancement de rituel sur tous les lanceurs de sorts @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Supprimez le secret magiqueChant de repos au niveau 2 ModUi/&RemoveBugVisualModels=Remplacez les modèles ressemblant à des araignées par des modèles ressemblant à des ours dans le jeu [arachnophobie] [Nécessite un redémarrage] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Supprimer le filtre humanoïde sur Hideous Laugher +ModUi/&RemoveRangerVanish2024=Supprimez Vanish au niveau 14 ModUi/&RemoveRecurringEffectOnEntangle=Appliquez uniquement l'effet Enchevêtrement au moment de l'incantation et forcez également un test de force pour vous libérer des vignes ModUi/&RemoveRogueBlindSense2024=Supprimez Blind Sense au niveau 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Supprimer les restrictions scolaires de Shadowcaster diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 675b626ba0..119e3ac4a4 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Grazie ai tuoi viaggi, ottieni i seguenti vantaggi.\n• Competenza. Scegli una delle tue competenze in cui non sei competente. Ottieni competenza in quella competenza.\n• Lingue. Conosci 2 lingue a tua scelta. Feature/&FeatureSetRangerDeftExplorerTitle=Esploratore abile -Feature/&FeatureSetRangerFavoredEnemyDescription=Hai sempre pronto l'incantesimo Hunter's Mark. Puoi lanciarlo due volte senza spendere uno slot incantesimo e recuperi tutti gli usi spesi di questa capacità quando finisci un Long Rest. Il numero di volte in cui puoi lanciare l'incantesimo senza uno slot incantesimo aumenta quando raggiungi determinati livelli da Ranger, come mostrato nella colonna Favorite Enemy della tabella Ranger Features. +Feature/&FeatureSetRangerFavoredEnemyDescription=Hai sempre pronto l'incantesimo Hunter's Mark. Puoi lanciarlo due volte senza spendere uno slot incantesimo e recuperi tutti gli usi spesi di questa capacità quando finisci un Long Rest. Il numero di volte in cui puoi lanciare l'incantesimo senza uno slot incantesimo aumenta a certi livelli di Ranger, passando a 3 al 5° livello, 4 al 9° livello, 5 al 13° livello e 6 al 17° livello. Feature/&FeatureSetRangerFavoredEnemyTitle=Nemico favorito 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 diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 55b065c7e2..82365898be 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Abilita Cacciatore implac ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Rimuovi invece i requisiti di concentrazione dal Marchio del cacciatore ModUi/&EnableRangerRoving2024=Abilita Vagabondare al livello 6 [ottieni 10 piedi di movimento quando non usi un'armatura pesante e la stessa velocità di salita] ModUi/&EnableRangerSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 -ModUi/&EnableRangerTireless2024=Abilita Instancabile al livello 10 [usa un'azione per ottenere punti ferita temporanei] +ModUi/&EnableRangerTireless2024=Abilita Instancabile per sostituire Nasconditi in bella vista al livello 10 [ottieni punti ferita temporanei] 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/&EnableRitualOnAllCasters2024=Abilita il lancio di Rituale su tutti gli incantatori @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Rimuovi Segreto magico ModUi/&RemoveBardSongOfRest2024=Rimuovi Canzone del Riposo al livello 2 ModUi/&RemoveBugVisualModels=Sostituisci i modelli simili a ragni con modelli simili a orsi nel gioco [aracnofobia] [Richiede riavvio] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Rimuovi filtro umanoide su Risata orribile +ModUi/&RemoveRangerVanish2024=Rimuovi Svanisci al livello 14 ModUi/&RemoveRecurringEffectOnEntangle=Applica l'effetto Intrappolamento solo al momento del lancio e forza anche un controllo di forza per liberarti dai tralci ModUi/&RemoveRogueBlindSense2024=Rimuovi Senso cieco al livello 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Rimuovi le restrizioni scolastiche da Shadowcaster diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 96328af739..34b42069c1 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -145,7 +145,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=ウォーデン Feature/&FeatureSetRageExtendedDescription=戦闘では、根源的な凶暴性で戦います。自分のターンでは、ボーナス アクションとして激怒を入力できます。これにより、体力のセーブとチェックで有利になり、近接攻撃のダメージに最初の +2 ボーナスが与えられ、斬撃、殴打、突き刺しのダメージに対する耐性が得られます。これらの利点は、重装備を着用していない場合にのみ得られます。 1 分間持続するか、最後のターン以降に攻撃やダメージを受けていない場合は終了します。\n 2 つの激怒から始まり、長い休息の後に更新されます。レベル 7 では、短い休憩の後、怒りポイントが 1 回復します。 Feature/&FeatureSetRangerDeftExplorerDescription=旅のおかげで、あなたは以下の利益を得ます。\n• 専門知識。あなたが熟達していないスキルの 1 つを選択します。そのスキルの専門知識を得ます。\n• 言語。あなたが選択した 2 つの言語を習得します。 Feature/&FeatureSetRangerDeftExplorerTitle=巧みな探検家 -Feature/&FeatureSetRangerFavoredEnemyDescription=ハンターズ マーク呪文は常に準備されています。呪文スロットを消費せずに 2 回唱えることができ、大休憩を終えるとこの能力の使用回数をすべて回復します。レンジャー レベルが一定に達すると、呪文スロットを消費せずに呪文を唱えられる回数が増えます。この回数は、レンジャー機能表の得意な敵の列に示されています。 +Feature/&FeatureSetRangerFavoredEnemyDescription=ハンターズ マーク呪文は常に準備されています。呪文スロットを消費せずに 2 回唱えることができ、大休憩を終えるとこの能力の使用回数をすべて回復します。呪文スロットを消費せずに呪文を唱えられる回数は、特定のレンジャー レベルで増加し、5 レベルで 3 回、9 レベルで 4 回、13 レベルで 5 回、17 レベルで 6 回に増加します。 Feature/&FeatureSetRangerFavoredEnemyTitle=好敵手 Feature/&FeatureSetSorcererSorceryIncarnateDescription=生来の魔術の使用回数が残っていない場合、それを起動するためのボーナス アクションを実行するときに 2 魔術ポイントを消費すると、それを使用できます。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔術の化身 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index b6ff90c4b5..27112c3199 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=レベル 13 で 執拗 ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 代わりにハンターズマークの集中力要件を削除します ModUi/&EnableRangerRoving2024=レベル 6 で 移動 を有効にする [重装甲を使用していないときに 10 フィート移動し、同じ登攀速度を得る] ModUi/&EnableRangerSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする -ModUi/&EnableRangerTireless2024=レベル 10 で Tireless を有効にする [アクションを使用して一時的なヒット ポイントを獲得] +ModUi/&EnableRangerTireless2024=レベル 10 で 不屈の精神 を 隠れた視界 と置き換えて有効にします [一時的にヒット ポイントを獲得] ModUi/&EnableRelearnSpells=他のソースからすでに学習したキャントリップや呪文を選択できるようにする ModUi/&EnableRespecAction=休憩アクション後に RESPEC を有効にします [マルチプレイヤーセッション中は RESPEC を使用しないでください] ModUi/&EnableRitualOnAllCasters2024=すべてのキャスターに儀式の詠唱を有効にする @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=レベル14と18で魔法の ModUi/&RemoveBardSongOfRest2024=レベル2で安息の歌を削除します ModUi/&RemoveBugVisualModels=ゲーム内のクモのようなモデルをクマのようなモデルに置き換えます [クモ恐怖症] [再起動が必要] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Hideous Laughter のヒューマノイド フィルターを削除します +ModUi/&RemoveRangerVanish2024=レベル14でVanishを削除します ModUi/&RemoveRecurringEffectOnEntangle=絡みつく効果は詠唱時にのみ適用され、蔓から逃れるには筋力チェックも強制される。 ModUi/&RemoveRogueBlindSense2024=レベル14でブラインドセンスを削除します ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Shadowcaster から学校制限を削除します diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 2d44bfc5f9..e861e33896 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -145,7 +145,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=파수꾼 Feature/&FeatureSetRageExtendedDescription=전투에서는 원시적인 잔인함으로 싸웁니다. 자신의 차례에 보너스 행동으로 분노를 입력할 수 있습니다. 이를 통해 힘 세이브 및 체크에 이점을 부여하고 근접 공격 데미지에 초기 +2 보너스를 부여하며 슬래시, 곤봉 및 관통 데미지에 대한 저항력을 부여합니다. 무거운 갑옷을 입지 않은 경우에만 이러한 이점을 얻을 수 있습니다. 1분 동안 지속되거나 마지막 턴 이후 공격을 받거나 피해를 입지 않은 경우 종료됩니다.\n 2개의 분노로 시작하고 오랜 휴식 후 갱신됩니다. 레벨 7에서는 잠시 휴식을 취한 후 분노 포인트 1을 회복합니다. Feature/&FeatureSetRangerDeftExplorerDescription=여행 덕분에 다음과 같은 혜택을 얻습니다.\n• 전문성. 능숙하지 않은 기술 중 하나를 선택합니다. 해당 기술에 대한 전문성을 얻습니다.\n• 언어. 선택한 언어 2개를 알고 있습니다. Feature/&FeatureSetRangerDeftExplorerTitle=데프트 탐험가 -Feature/&FeatureSetRangerFavoredEnemyDescription=당신은 항상 Hunter's Mark 주문을 준비합니다. 당신은 주문 슬롯을 소모하지 않고 두 번 시전할 수 있으며, Long Rest를 마칠 때 이 능력의 소모된 모든 사용을 회복합니다. 주문 슬롯 없이 주문을 시전할 수 있는 횟수는 Ranger Features 표의 Favored Enemy 열에 표시된 대로 특정 Ranger 레벨에 도달하면 증가합니다. +Feature/&FeatureSetRangerFavoredEnemyDescription=당신은 항상 Hunter's Mark 주문을 준비합니다. 당신은 주문 슬롯을 소모하지 않고 두 번 시전할 수 있으며, Long Rest를 완료하면 이 능력의 소모된 모든 사용을 회복합니다. 주문 슬롯 없이 주문을 시전할 수 있는 횟수는 특정 레인저 레벨에서 증가하여 5레벨에서 3회, 9레벨에서 4회, 13레벨에서 5회, 17레벨에서 6회로 증가합니다. Feature/&FeatureSetRangerFavoredEnemyTitle=선호하는 적 Feature/&FeatureSetSorcererSorceryIncarnateDescription=선천적 마법을 더 이상 사용할 수 없다면, 보너스 액션을 취해 활성화할 때 마법 포인트 2개를 사용하면 사용할 수 있습니다. Feature/&FeatureSetSorcererSorceryIncarnateTitle=마법의 화신 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 49af6b93bb..3bee97c1d7 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=레벨 13에서 끈질긴 ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 대신 사냥꾼의 표식에서 집중력 요구 사항을 제거합니다. ModUi/&EnableRangerRoving2024=레벨 6에서 이동 가능 [중갑옷을 착용하지 않을 때 10피트 이동 가능, 동일한 등반 속도] ModUi/&EnableRangerSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. -ModUi/&EnableRangerTireless2024=레벨 10에서 무지력을 활성화합니다. [임시 생명력 포인트를 얻기 위해 액션을 사용하세요] +ModUi/&EnableRangerTireless2024=레벨 10에서 Hide in Plain Sight를 대체하기 위해 Tireless를 활성화하세요 [임시 생명력 획득] ModUi/&EnableRelearnSpells=다른 출처에서 이미 배운 주문이나 주문 선택 가능 ModUi/&EnableRespecAction=휴식 동작 후 RESPEC 활성화 [멀티플레이어 세션 동안 RESPEC 사용하지 마세요] ModUi/&EnableRitualOnAllCasters2024=모든 시전자에 의식 시전 활성화 @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=레벨 14와 18에서 마법 ModUi/&RemoveBardSongOfRest2024=레벨 2에서 휴식의 노래를 제거합니다. ModUi/&RemoveBugVisualModels=게임에서 거미와 유사한 모델을 곰과 유사한 모델로 교체 [거미공포증] [재시작 필요] ModUi/&RemoveHumanoidFilterOnHideousLaughter=끔찍한 웃음에서 인간형 필터를 제거하세요 +ModUi/&RemoveRangerVanish2024=레벨 14에서 사라짐 제거 ModUi/&RemoveRecurringEffectOnEntangle=시전 시에만 얽힘 효과를 적용하고 덩굴에서 벗어나기 위해 힘 검사를 강제로 시행합니다. ModUi/&RemoveRogueBlindSense2024=레벨 14에서 맹감각 제거 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=섀도우캐스터에서 학교 제한을 제거하세요 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index f1cdd89ddd..36e5cc64f0 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -145,7 +145,7 @@ 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/&FeatureSetRangerDeftExplorerDescription=Graças às suas viagens, você ganha os seguintes benefícios.\n• Expertise. Escolha uma das suas proficiências de habilidade com a qual você não tem proficiência. Você ganha expertise nessa habilidade.\n• Idiomas. Você sabe 2 idiomas de sua escolha. Feature/&FeatureSetRangerDeftExplorerTitle=Explorador hábil -Feature/&FeatureSetRangerFavoredEnemyDescription=Você sempre tem a magia Hunter's Mark preparada. Você pode conjurá-la duas vezes sem gastar um espaço de magia, e você recupera todos os usos gastos dessa habilidade quando termina um Long Rest. O número de vezes que você pode conjurar a magia sem um espaço de magia aumenta quando você alcança certos níveis de Ranger, como mostrado na coluna Favored Enemy da tabela Ranger Features. +Feature/&FeatureSetRangerFavoredEnemyDescription=Você sempre tem a magia Hunter's Mark preparada. Você pode conjurá-la duas vezes sem gastar um espaço de magia, e você recupera todos os usos gastos desta habilidade quando termina um Long Rest. O número de vezes que você pode conjurar a magia sem um espaço de magia aumenta em certos níveis de Ranger, aumentando para 3 no 5º nível, 4 no 9º nível, 5 no 13º nível e 6 no 17º nível. Feature/&FeatureSetRangerFavoredEnemyTitle=Inimigo Favorito 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 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 48a2439416..b86e30b39a 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Habilite Relentless Hunte ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Remova os requisitos de concentração da Marca do Caçador ModUi/&EnableRangerRoving2024=Habilite Roving no nível 6 [obtenha 10 pés de movimento quando não estiver usando armadura pesada e a mesma velocidade de escalada] ModUi/&EnableRangerSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 -ModUi/&EnableRangerTireless2024=Habilite Incansável no nível 10 [use uma ação para obter pontos de vida temporários] +ModUi/&EnableRangerTireless2024=Habilite Incansável para substituir Esconder-se à Vista de Todos no nível 10 [obter pontos de vida temporários] 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/&EnableRitualOnAllCasters2024=Habilitar a conjuração de Ritual em todos os conjuradores @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Remova Segredo Mágico ModUi/&RemoveBardSongOfRest2024=Remova Canção do Descanso no nível 2 ModUi/&RemoveBugVisualModels=Substitua modelos semelhantes a aranhas por modelos semelhantes a ursos no jogo [aracnofobia] [Requer reinicialização] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Remova o filtro humanoide em Risada Hedionda +ModUi/&RemoveRangerVanish2024=Remova Vanish no nível 14 ModUi/&RemoveRecurringEffectOnEntangle=Aplique o efeito Entangle somente no momento do lançamento e também force um teste de força para se libertar das videiras ModUi/&RemoveRogueBlindSense2024=Remova Sentido Cego no nível 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Remover restrições escolares de Shadowcaster diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 5efd39cd76..4d752652b9 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -145,7 +145,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря путешествиям вы получаете следующие преимущества.\n• Экспертиза. Выберите один из навыков, которым вам не хватает мастерства. Вы получаете экспертизу в этом навыке.\n• Языки. Вы знаете 2 языка по своему выбору. Feature/&FeatureSetRangerDeftExplorerTitle=Искусный исследователь -Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое вы можете применить дважды, не тратя слот заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный отдых. Количество раз, когда вы можете применить заклинание без слота заклинания, увеличивается, когда вы достигаете определенных уровней Рейнджера, как показано в столбце «Избранный враг» таблицы «Особенности Рейнджера». +Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое вы можете применить дважды, не тратя слот заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный отдых. Количество раз, когда вы можете применить заклинание без слота заклинания, увеличивается на определенных уровнях Рейнджера, увеличиваясь до 3 на 5-м уровне, 4 на 9-м уровне, 5 на 13-м уровне и 6 на 17-м уровне. Feature/&FeatureSetRangerFavoredEnemyTitle=Избранный враг Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 4c509fcb16..69fe49eaf1 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=Включить Безж ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Вместо этого уберите требования к концентрации из Hunter's Mark ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го -ModUi/&EnableRangerTireless2024=Включить Неутомимый на уровне 10 [используйте действие, чтобы получить временные очки здоровья] +ModUi/&EnableRangerTireless2024=Включите Неутомимый вместо Спрятаться на виду на уровне 10 [получить временные очки здоровья] ModUi/&EnableRelearnSpells=Включить возможность выбирать заговоры или заклинания, уже известные из других источников ModUi/&EnableRespecAction=Включить возможность РЕСПЕКа после отдыха [не используйте РЕСПЕК в многопользовательских сессиях] ModUi/&EnableRitualOnAllCasters2024=Включить Ритуальное колдовство для всех заклинателей @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=Убрать Тайны маг ModUi/&RemoveBardSongOfRest2024=Убрать Песнь отдыха на уровне 2 ModUi/&RemoveBugVisualModels=Заменить паукообразные модельки в игре на медведеобразные [арахнофобия] [Необходим перезапуск] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Убрать гуманоидный фильтр на Жуткий смех +ModUi/&RemoveRangerVanish2024=Удалить Исчезновение на уровне 14 ModUi/&RemoveRecurringEffectOnEntangle=Применять эффект Опутывания только на время действия заклинания, а также принудительно совершать проверку Силы, чтобы вырваться из лоз ModUi/&RemoveRogueBlindSense2024=Убрать Слепое зрение на уровне 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Снять ограничения по школе заклинаний с Заклинателя теней diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 697a48e650..89b7dfb916 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -145,7 +145,7 @@ Feature/&FeatureSetDruidPrimalOrderWardenTitle=典狱长 Feature/&FeatureSetRageExtendedDescription=在战斗中,你会以原始的凶猛进行战斗。在你的回合中,你可以输入狂怒作为附赠动作。这使你在力量豁免和检定上获得优势,近战攻击伤害初始 +2 加值,以及对挥砍、钝击和穿刺伤害的抗性。仅当你不穿着重甲时你才能获得这些好处。持续 1 分钟,如果自上回合以来你没有攻击或受到伤害,则结束。\n你以 2 点怒气开始,在长休后恢复。 7 级时,短休后你会恢复 1 点怒气。 Feature/&FeatureSetRangerDeftExplorerDescription=通过旅行,您将获得以下好处。\n• 专业知识。选择一项您不擅长的技能。您将获得该技能的专业知识。\n• 语言。您掌握 2 种您选择的语言。 Feature/&FeatureSetRangerDeftExplorerTitle=灵巧的探险家 -Feature/&FeatureSetRangerFavoredEnemyDescription=你始终准备好猎人印记法术。你可以施放两次而不消耗法术位,当你完成长时间休息时,你可以恢复此技能的所有已消耗使用次数。当你达到某些游侠等级时,无需消耗法术位即可施放此法术的次数会增加,如游侠特性表中的偏好敌人栏所示。 +Feature/&FeatureSetRangerFavoredEnemyDescription=您始终准备好猎人印记法术。您无需消耗法术位即可施放两次该法术,当您完成长时间休息时,您将恢复该技能的所有消耗使用次数。在某些游侠等级上,无需消耗法术位即可施放该法术的次数会增加,在 5 级时增加为 3 次,在 9 级时增加为 4 次,在 13 级时增加为 5 次,在 17 级时增加为 6 次。 Feature/&FeatureSetRangerFavoredEnemyTitle=最喜欢的敌人 Feature/&FeatureSetSorcererSorceryIncarnateDescription=如果您已经无法使用天生巫术,您可以在采取奖励行动激活它时花费 2 个巫术点来使用它。 Feature/&FeatureSetSorcererSorceryIncarnateTitle=魔法化身 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 2e80b98a06..a7fce62aa9 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -191,7 +191,7 @@ ModUi/&EnableRangerRelentlessHunter2024=在 13 级时启用无情 ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ 移除猎人印记的专注要求 ModUi/&EnableRangerRoving2024=在 6 级时启用漫游 [不使用重型装甲时可移动 10 英尺,且爬升速度相同] ModUi/&EnableRangerSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 -ModUi/&EnableRangerTireless2024=在 10 级时启用不知疲倦 [使用动作获取临时生命值] +ModUi/&EnableRangerTireless2024=在 10 级时启用不知疲倦来替代隐藏在众目睽睽之下 [获得临时生命值] ModUi/&EnableRelearnSpells=可以选择已从其他来源学到的戏法或法术 ModUi/&EnableRespecAction=休息操作后启用 RESPEC [在多人游戏会话期间不要使用 RESPEC] ModUi/&EnableRitualOnAllCasters2024=对所有施法者启用仪式施法 @@ -319,6 +319,7 @@ ModUi/&RemoveBardMagicalSecret2024=删除 14 级和 18 级的魔 ModUi/&RemoveBardSongOfRest2024=删除 2 级的休息之歌 ModUi/&RemoveBugVisualModels=在游戏中将蜘蛛类模型替换为熊类模型[蜘蛛恐惧症] [需要重启] ModUi/&RemoveHumanoidFilterOnHideousLaughter=删除Hideous Laughter上的人形过滤器 +ModUi/&RemoveRangerVanish2024=删除 14 级的 消失 ModUi/&RemoveRecurringEffectOnEntangle=仅在施法时应用纠缠效果,并强制进行力量检查以摆脱藤蔓 ModUi/&RemoveRogueBlindSense2024=移除 14 级的盲感 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=移除Shadowcaster的学校限制 From 33a0d2cc46e7ca51dcc43ef0085791d313117329 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 12:25:25 -0800 Subject: [PATCH 19/42] update collaterals --- .../UnfinishedBusinessBlueprints/Assets.txt | 2 + ...ibuteModifierPaladinChannelDivinity11.json | 37 + .../CombatAffinityRangerPreciseHunter.json | 2 +- .../CombatAffinityStudiedAttacks.json | 2 +- .../PowerFavoredEnemyHuntersMark.json | 14 +- .../PowerRangerTireless.json | 229 +- .../ItemDefinition/Katana+1.json | 2 +- .../ItemDefinition/Katana+2.json | 2 +- .../ItemDefinition/Katana+3.json | 2 +- .../ItemDefinition/Katana_Bearclaw.json | 2 +- .../ItemDefinition/Katana_Lightbringer.json | 2 +- .../ItemDefinition/Katana_Souldrinker.json | 2 +- .../ItemDefinition/Katana_Whiteburn.json | 2 +- .../RecipeEnchantKatana+1.json | 2 +- .../RecipeEnchantKatana+2.json | 2 +- .../RecipeEnchantKatana+3.json | 2 +- .../RecipeEnchantKatana_Bearclaw.json | 2 +- .../RecipeEnchantKatana_Lightbringer.json | 2 +- .../RecipeEnchantKatana_Souldrinker.json | 2 +- .../RecipeEnchantKatana_Whiteburn.json | 2 +- Documentation/Subclasses.md | 7 - SolastaUnfinishedBusiness/FodyWeavers.xsd | 176 -- .../Properties/Resources.Designer.cs | 10 + .../Properties/Resources.resx | 5 + .../Resources/Powers/PowerTireless.png | Bin 0 -> 23666 bytes SolastaUnfinishedBusiness/Settings/empty.xml | 2343 +++++++++-------- .../Settings/zappastuff.xml | 25 +- 27 files changed, 1464 insertions(+), 1416 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json delete mode 100644 SolastaUnfinishedBusiness/FodyWeavers.xsd create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerTireless.png diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 26f44a44f6..bf96cea851 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2055,6 +2055,7 @@ AttributeModifierOathOfJugementFinalJudgementCaster FeatureDefinitionAttributeMo AttributeModifierObsidianDwarfStrengthAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinition 115fa52c-58d5-5de3-8f51-1cefe4c35cc6 AttributeModifierOligathConstitutionAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinition 188a254c-13bd-5d2e-a799-235e24674bcd AttributeModifierOligathStrengthAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinition 9c0290d6-3f02-5069-9864-d5f629004c60 +AttributeModifierPaladinChannelDivinity11 FeatureDefinitionAttributeModifier FeatureDefinition ddcca514-6e5e-5891-9f9d-9f08d7dc3701 AttributeModifierPathOfTheReaverProfaneVitality FeatureDefinitionAttributeModifier FeatureDefinition 9c792285-6219-568f-a362-c4a43acfd136 AttributeModifierPathOfTheSavageryUnbridledFerocity FeatureDefinitionAttributeModifier FeatureDefinition f15898d6-d016-553e-8e1c-5355f46e1737 AttributeModifierPathOfTheSpiritsBearDurability FeatureDefinitionAttributeModifier FeatureDefinition 944c063a-bae2-57cb-b112-7d34d06e4252 @@ -5229,6 +5230,7 @@ AttributeModifierOathOfJugementFinalJudgementCaster FeatureDefinitionAttributeMo AttributeModifierObsidianDwarfStrengthAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 115fa52c-58d5-5de3-8f51-1cefe4c35cc6 AttributeModifierOligathConstitutionAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 188a254c-13bd-5d2e-a799-235e24674bcd AttributeModifierOligathStrengthAbilityScoreIncrease FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 9c0290d6-3f02-5069-9864-d5f629004c60 +AttributeModifierPaladinChannelDivinity11 FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier ddcca514-6e5e-5891-9f9d-9f08d7dc3701 AttributeModifierPathOfTheReaverProfaneVitality FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 9c792285-6219-568f-a362-c4a43acfd136 AttributeModifierPathOfTheSavageryUnbridledFerocity FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier f15898d6-d016-553e-8e1c-5355f46e1737 AttributeModifierPathOfTheSpiritsBearDurability FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 944c063a-bae2-57cb-b112-7d34d06e4252 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json new file mode 100644 index 0000000000..92077603cc --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json @@ -0,0 +1,37 @@ +{ + "$type": "FeatureDefinitionAttributeModifier, Assembly-CSharp", + "modifiedAttribute": "ChannelDivinityNumber", + "modifierOperation": "Additive", + "modifierValue": 0, + "modifierAbilityScore": "Constitution", + "situationalContext": "None", + "minimum1": false, + "useBonusFromCaster": 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": "ddcca514-6e5e-5891-9f9d-9f08d7dc3701", + "contentPack": 9999, + "name": "AttributeModifierPaladinChannelDivinity11" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json index 525959a40d..b2d7c91c4a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityRangerPreciseHunter.json @@ -29,7 +29,7 @@ "multiAttackDefenseValue": 0, "readyAttackAdvantage": "None", "shoveOnReadyAttackHit": false, - "autoFormatDescription": true, + "autoFormatDescription": false, "myselfFamilyRestrictions": [], "otherCharacterFamilyRestrictions": [], "guiPresentation": { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json index a588eaf0cb..a110f064ff 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionCombatAffinity/CombatAffinityStudiedAttacks.json @@ -29,7 +29,7 @@ "multiAttackDefenseValue": 0, "readyAttackAdvantage": "None", "shoveOnReadyAttackHit": false, - "autoFormatDescription": true, + "autoFormatDescription": false, "myselfFamilyRestrictions": [], "otherCharacterFamilyRestrictions": [], "guiPresentation": { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json index 78c978bf99..8525f2db91 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFavoredEnemyHuntersMark.json @@ -3,12 +3,12 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Distance", - "rangeParameter": 12, + "rangeParameter": 18, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], - "targetType": "Sphere", - "itemSelectionType": "None", - "targetParameter": 3, + "targetType": "IndividualsUnique", + "itemSelectionType": "Equiped", + "targetParameter": 1, "targetParameter2": 2, "emissiveBorder": "None", "emissiveParameter": 1, @@ -30,7 +30,7 @@ "trapRangeType": "Triggerer", "targetConditionName": "", "targetConditionAsset": null, - "targetSide": "All", + "targetSide": "Enemy", "durationType": "Hour", "durationParameter": 1, "endOfEffect": "EndOfTurn", @@ -264,7 +264,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "Action", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", @@ -283,7 +283,7 @@ "rechargeRate": "LongRest", "costPerUse": 1, "spellcastingFeature": null, - "usesDetermination": "ProficiencyBonus", + "usesDetermination": "Fixed", "abilityScoreDetermination": "Explicit", "usesAbilityScoreName": "Charisma", "fixedUsesPerRecharge": 0, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json index 6a709911a7..cdd66e04d6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json @@ -7,7 +7,7 @@ "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Self", - "itemSelectionType": "Equiped", + "itemSelectionType": "None", "targetParameter": 1, "targetParameter2": 2, "emissiveBorder": "None", @@ -17,7 +17,7 @@ "targetExcludeCaster": false, "canBePlacedOnCharacter": true, "affectOnlyGround": false, - "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringMethod": "CharacterOnly", "targetFilteringTag": "No", "requiresVisibilityForPosition": true, "inviteOptionalAlly": false, @@ -30,9 +30,9 @@ "trapRangeType": "Triggerer", "targetConditionName": "", "targetConditionAsset": null, - "targetSide": "Enemy", - "durationType": "Instantaneous", - "durationParameter": 1, + "targetSide": "Ally", + "durationType": "UntilAnyRest", + "durationParameter": 0, "endOfEffect": "EndOfTurn", "hasSavingThrow": false, "disableSavingThrowOnAllies": false, @@ -41,7 +41,7 @@ "grantedConditionOnSave": null, "rollSaveOnlyIfRelevantForms": false, "hasShoveRoll": false, - "createdByCharacter": false, + "createdByCharacter": true, "difficultyClassComputation": "SpellCastingFeature", "savingThrowDifficultyAbility": "Wisdom", "fixedSavingThrowDifficultyClass": 15, @@ -60,7 +60,33 @@ "effectPoolAmount": 60, "effectApplication": "All", "effectFormFilters": [], - "effectForms": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "TemporaryHitPoints", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "temporaryHitPointsForm": { + "$type": "TemporaryHitPointsForm, Assembly-CSharp", + "diceNumber": 1, + "dieType": "D8", + "bonusHitPoints": 5, + "applyToSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], "specialFormsDescription": "", "effectAdvancement": { "$type": "EffectAdvancement, Assembly-CSharp", @@ -85,33 +111,158 @@ "offsetImpactTimePerTarget": 0.0, "effectParticleParameters": { "$type": "EffectParticleParameters, Assembly-CSharp", - "casterParticleReference": null, - "casterSelfParticleReference": null, - "casterQuickSpellParticleReference": null, - "targetParticleReference": null, - "effectParticleReference": null, - "effectSubTargetParticleReference": null, - "zoneParticleReference": null, - "beforeImpactParticleReference": null, - "impactParticleReference": null, - "activeEffectImpactParticleReference": null, - "activeEffectCellStartParticleReference": null, - "activeEffectCellParticleReference": null, - "activeEffectCellEndParticleReference": null, - "activeEffectSurfaceStartParticleReference": null, - "activeEffectSurfaceParticleReference": null, - "activeEffectSurfaceEndParticleReference": null, + "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": null, - "emissiveBorderCellParticleReference": null, - "emissiveBorderCellEndParticleReference": null, - "emissiveBorderSurfaceStartParticleReference": null, - "emissiveBorderSurfaceParticleReference": null, - "emissiveBorderSurfaceEndParticleReference": null, - "conditionStartParticleReference": null, - "conditionParticleReference": null, - "conditionEndParticleReference": null, + "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": { @@ -139,7 +290,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "Action", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", @@ -155,14 +306,14 @@ "canUseInDialog": false, "disableIfConditionIsOwned": null, "disableIfTargetConditionIsOwned": null, - "rechargeRate": "AtWill", + "rechargeRate": "LongRest", "costPerUse": 1, "spellcastingFeature": null, - "usesDetermination": "Fixed", + "usesDetermination": "AbilityBonusPlusFixed", "abilityScoreDetermination": "Explicit", - "usesAbilityScoreName": "Charisma", - "fixedUsesPerRecharge": 1, - "abilityScore": "Intelligence", + "usesAbilityScoreName": "Wisdom", + "fixedUsesPerRecharge": 0, + "abilityScore": "Wisdom", "attackHitComputation": "AbilityScore", "fixedAttackHit": 0, "abilityScoreBonusToAttack": false, @@ -179,7 +330,7 @@ "description": "Feature/&PowerRangerTirelessDescription", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "29cdd8ba-35fd-5d51-aefe-07b41cb33157", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json index a33828bb0e..e93dbfc077 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+1.json @@ -510,7 +510,7 @@ "description": "Feature/&NoContentTitle", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "fe544c8b-c978-59d1-a5f3-edaa6f55266f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json index aaad99b20e..ff1bcbff6d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+2.json @@ -510,7 +510,7 @@ "description": "Feature/&NoContentTitle", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json index 2a1d13537f..1ca4a3b277 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana+3.json @@ -510,7 +510,7 @@ "description": "Feature/&NoContentTitle", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "f9b6b83c-340e-51da-b4b4-43d6ec6c5b43", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json index 77173a3c61..325c6c312f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Bearclaw.json @@ -545,7 +545,7 @@ "description": "Item/&Katana_Bearclaw_Description", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json index a1bba28077..eec291a98a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Lightbringer.json @@ -545,7 +545,7 @@ "description": "Item/&Katana_Lightbringer_Description", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json index 14a63bd3a6..073175eba4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Souldrinker.json @@ -545,7 +545,7 @@ "description": "Item/&Katana_Souldrinker_Description", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json index 69fe9c321f..8fcef682da 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ItemDefinition/Katana_Whiteburn.json @@ -545,7 +545,7 @@ "description": "Item/&Katana_Whiteburn_Description", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+1.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+1.json index 9509f48b59..c970a24419 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+1.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+1.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "fe544c8b-c978-59d1-a5f3-edaa6f55266f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+2.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+2.json index ef95db646f..9e096eb2a6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+2.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+2.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+3.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+3.json index e37ff74d20..2faab5e3a5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+3.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana+3.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "f9b6b83c-340e-51da-b4b4-43d6ec6c5b43", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Bearclaw.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Bearclaw.json index 2d916529e3..01e01a2e56 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Bearclaw.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Bearclaw.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Lightbringer.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Lightbringer.json index 6301687f8b..619fe8c16a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Lightbringer.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Lightbringer.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Souldrinker.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Souldrinker.json index fa72e0b705..da9e70f30d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Souldrinker.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Souldrinker.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Whiteburn.json b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Whiteburn.json index 045b27374b..83e68b8ba8 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Whiteburn.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/RecipeDefinition/RecipeEnchantKatana_Whiteburn.json @@ -26,7 +26,7 @@ "description": "Feature/&Emptystring", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "11807fd3-bfbb-5e5e-8ef4-916abc72b5f2", + "m_AssetGUID": "326b4211-2373-5bdd-b62a-c4127ddd0d9f", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Documentation/Subclasses.md b/Documentation/Subclasses.md index 1a55e595d8..89055376d7 100644 --- a/Documentation/Subclasses.md +++ b/Documentation/Subclasses.md @@ -773,13 +773,6 @@ Starting at 10th level, while you are dual-wielding melee weapons, increase the Starting at 14th level, while you are raging, whenever you hit a creature with a melee weapon attack and don't deal a critical hit, you increase your critical threat range by 1. This effect stacks. Once you deal a critical strike, the bonus resets to 0. -### Level 15 - -* Persistent Rage - -You have advantage on strength saves and checks, a bonus to melee attack damage, and resistance to slashing, bludgeoning, and piercing damage. Your rage is so fierce that it ends only if you fall unconscious, choose to end it or 1 minute has passed. You gain these benefits only if you are not currently wearing heavy armor. - - ## 11. Path of the Stone [SOL] diff --git a/SolastaUnfinishedBusiness/FodyWeavers.xsd b/SolastaUnfinishedBusiness/FodyWeavers.xsd deleted file mode 100644 index f2dbece789..0000000000 --- a/SolastaUnfinishedBusiness/FodyWeavers.xsd +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - - - - - - 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/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs index 387f1712a7..daae18d6b5 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs +++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs @@ -3862,6 +3862,16 @@ public static byte[] PowerSwitchConstellationForm { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerTireless { + get { + object obj = ResourceManager.GetObject("PowerTireless", 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 bace64b2a4..cf5c1a0ca8 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.resx +++ b/SolastaUnfinishedBusiness/Properties/Resources.resx @@ -182,6 +182,11 @@ PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerTireless.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + ../Resources/Spells/SwiftQuiver.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerTireless.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerTireless.png new file mode 100644 index 0000000000000000000000000000000000000000..95d22d61785f6d5e2c1dac25fea1d6d2dad51f68 GIT binary patch literal 23666 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 V=wp^R5BvZC002ovPDHLkV1lLYf$jhR literal 0 HcmV?d00001 diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 149590ea22..781b5b492a 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -1,1169 +1,1178 @@ - - 1 - 0 - 0 - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - - Barbarian - - - false - - - - - Bard - - - false - - - - - Cleric - - - false - - - - - Druid - - - false - - - - - Fighter - - - false - - - - - Monk - - - false - - - - - Paladin - - - false - - - - - Ranger - - - false - - - - - Rogue - - - false - - - - - Sorcerer - - - false - - - - - Warlock - - - false - - - - - Wizard - - - false - - - - - Inventor - - - false - - - - - - - SpellListInventor - - - false - - - - - SpellListBard - - - false - - - - - SpellListCleric - - - false - - - - - SpellListDruid - - - false - - - - - SpellListPaladin - - - false - - - - - SpellListRanger - - - false - - - - - SpellListSorcerer - - - false - - - - - SpellListWarlock - - - false - - - - - SpellListMonkTraditionLight - - - false - - - - - SpellListWizard - - - false - - - - - true - true - true - true - true - true - true - true - true - true - false - true - false - true - false - false - false - 0 - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - 1 - 0 - 0 - 0 - false - false - 1.5 - 100 - 4 - false - false - false - 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 - false - false - false - false - false - false - false - false - false - false - false - false - 5 - 1 - 100 - 100 - 100 - false - false - 0 - 0 - 0 - - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 1 - 1 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 1 - 0 - 1 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 1 - 1 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 0 - 0 - 1 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 1 - 0 - 0 - 0 - 1 - - - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 0 - 1 - 0 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - 0 - 1 - 0 - 1 - 0 - - - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - 50 - false - false - false - 200 - 0 - false - - false - false - false - false - false - false - false - false - en - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - 4 - - 4 - - 4 - - false - false - false - 0 - false - false - false - false - false - 4 - - 4 - - 4 - - 4 - - 4 - - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - false - - - - SpellListInventor - - - 4 - - - - - SpellListBard - - - 4 - - - - - SpellListCleric - - - 4 - - - - - SpellListDruid - - - 4 - - - - - SpellListPaladin - - - 4 - - - - - SpellListRanger - - - 4 - - - - - SpellListSorcerer - - - 4 - - - - - SpellListWarlock - - - 4 - - - - - SpellListMonkTraditionLight - - - 4 - - - - - SpellListWizard - - - 4 - - - - - - - SpellListInventor - - - - - - - - SpellListBard - - - - - - - - SpellListCleric - - - - - - - - SpellListDruid - - - - - - - - SpellListPaladin - - - - - - - - SpellListRanger - - - - - - - - SpellListSorcerer - - - - - - - - SpellListWarlock - - - - - - - - SpellListMonkTraditionLight - - - - - - - - SpellListWizard - - - - - - - false - false - false - false - false - false - 2 - false - false - false - - - - Barbarian - - - 4 - - - - - Bard - - - 4 - - - - - Cleric - - - 4 - - - - - Druid - - - 4 - - - - - Fighter - - - 4 - - - - - Monk - - - 4 - - - - - Paladin - - - 4 - - - - - Ranger - - - 4 - - - - - Rogue - - - 4 - - - - - Sorcerer - - - 4 - - - - - Warlock - - - 4 - - - - - Wizard - - - 4 - - - - - Inventor - - - 4 - - - - - - - Barbarian - - - - - - - - Bard - - - - - - - - Cleric - - - - - - - - Druid - - - - - - - - Fighter - - - - - - - - Monk - - - - - - - - Paladin - - - - - - - - Ranger - - - - - - - - Rogue - - - - - - - - Sorcerer - - - - - - - - Warlock - - - - - - - - Wizard - - - - - - - - Inventor - - - - - - - false - false - false - 0 - false - false - false + + 1 + 0 + 0 + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + Barbarian + + + false + + + + + Bard + + + false + + + + + Cleric + + + false + + + + + Druid + + + false + + + + + Fighter + + + false + + + + + Monk + + + false + + + + + Paladin + + + false + + + + + Ranger + + + false + + + + + Rogue + + + false + + + + + Sorcerer + + + false + + + + + Warlock + + + false + + + + + Wizard + + + false + + + + + Inventor + + + false + + + + + + + SpellListInventor + + + false + + + + + SpellListBard + + + false + + + + + SpellListCleric + + + false + + + + + SpellListDruid + + + false + + + + + SpellListPaladin + + + false + + + + + SpellListRanger + + + false + + + + + SpellListSorcerer + + + false + + + + + SpellListWarlock + + + false + + + + + SpellListMonkTraditionLight + + + false + + + + + SpellListWizard + + + false + + + + + true + true + true + true + true + true + true + true + true + true + false + true + false + true + false + false + false + 0 + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + false + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + 1 + 0 + 0 + 0 + false + false + 1.5 + 100 + 4 + false + false + false + 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 + false + false + false + false + false + false + false + false + false + false + false + false + 5 + 1 + 100 + 100 + 100 + false + false + 0 + 0 + 0 + + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 1 + 1 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 1 + 0 + 1 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 1 + 1 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 0 + 0 + 1 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 1 + 0 + 0 + 0 + 1 + + + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 0 + 1 + 0 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + 0 + 1 + 0 + 1 + 0 + + + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + 50 + false + false + false + 200 + 0 + false + + false + false + false + false + false + false + false + false + en + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + 4 + + 4 + + 4 + + false + false + false + 0 + false + false + false + false + false + 4 + + 4 + + 4 + + 4 + + 4 + + false + false + false + false + false + + false + false + false + false + + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + false + + + + SpellListInventor + + + 4 + + + + + SpellListBard + + + 4 + + + + + SpellListCleric + + + 4 + + + + + SpellListDruid + + + 4 + + + + + SpellListPaladin + + + 4 + + + + + SpellListRanger + + + 4 + + + + + SpellListSorcerer + + + 4 + + + + + SpellListWarlock + + + 4 + + + + + SpellListMonkTraditionLight + + + 4 + + + + + SpellListWizard + + + 4 + + + + + + + SpellListInventor + + + + + + + + SpellListBard + + + + + + + + SpellListCleric + + + + + + + + SpellListDruid + + + + + + + + SpellListPaladin + + + + + + + + SpellListRanger + + + + + + + + SpellListSorcerer + + + + + + + + SpellListWarlock + + + + + + + + SpellListMonkTraditionLight + + + + + + + + SpellListWizard + + + + + + + false + + false + false + false + false + false + 2 + false + false + false + + + + Barbarian + + + 4 + + + + + Bard + + + 4 + + + + + Cleric + + + 4 + + + + + Druid + + + 4 + + + + + Fighter + + + 4 + + + + + Monk + + + 4 + + + + + Paladin + + + 4 + + + + + Ranger + + + 4 + + + + + Rogue + + + 4 + + + + + Sorcerer + + + 4 + + + + + Warlock + + + 4 + + + + + Wizard + + + 4 + + + + + Inventor + + + 4 + + + + + + + Barbarian + + + + + + + + Bard + + + + + + + + Cleric + + + + + + + + Druid + + + + + + + + Fighter + + + + + + + + Monk + + + + + + + + Paladin + + + + + + + + Ranger + + + + + + + + Rogue + + + + + + + + Sorcerer + + + + + + + + Warlock + + + + + + + + Wizard + + + + + + + + Inventor + + + + + + + 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 6390da833c..36b5dc9a29 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -700,9 +700,6 @@ true true true - true - true - true true true @@ -715,10 +712,25 @@ true true true + true true - false + true true true + true + true + true + true + true + true + true + false + true + true + true + true + true + true true false true @@ -731,6 +743,7 @@ true true true + true true true @@ -1872,4 +1885,8 @@ false true true + 0 + false + false + false \ No newline at end of file From 0a85e808f0a24c1091fad48fab6c8e8d5c7363f6 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 12:26:06 -0800 Subject: [PATCH 20/42] add new Ranger 2024 setting, and scale down Katana --- .../Api/DatabaseHelper-RELEASE.cs | 6 +++++ .../Displays/ClassesDisplay.cs | 9 ++++++- .../Displays/GeneralDisplay.cs | 11 ++++++-- .../Models/2024RangerContext.cs | 19 ++++++++++++- .../Models/CustomWeaponsContext.cs | 10 ++++--- .../Models/Tabletop2024Context.cs | 2 ++ SolastaUnfinishedBusiness/Settings.cs | 27 ++++++++++--------- 7 files changed, 63 insertions(+), 21 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 34c796ae07..813185e926 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -999,6 +999,9 @@ internal static FeatureDefinitionAbilityCheckAffinity internal static class FeatureDefinitionActionAffinitys { + internal static FeatureDefinitionActionAffinity ActionAffinityRangerVanish { get; } = + GetDefinition("ActionAffinityRangerVanish"); + internal static FeatureDefinitionActionAffinity ActionAffinityConditionSurprised { get; } = GetDefinition("ActionAffinityConditionSurprised"); @@ -1163,6 +1166,9 @@ internal static FeatureDefinitionAttackModifier internal static class FeatureDefinitionAttributeModifiers { + internal static FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity { get; } = + GetDefinition("AttributeModifierPaladinChannelDivinity"); + internal static FeatureDefinitionAttributeModifier AttributeModifierBarbarianBrutalCriticalAdd { get; } = GetDefinition("AttributeModifierBarbarianBrutalCriticalAdd"); diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 97bbebf31e..4c3372fbcd 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -328,7 +328,7 @@ internal static void DisplayClasses() { Main.Settings.EnablePaladinSmite2024 = toggle; } - + toggle = Main.Settings.EnablePaladinLayOnHands2024; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHands2024"), ref toggle, UI.AutoWidth())) { @@ -431,6 +431,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchRangerTireless(); } + toggle = Main.Settings.RemoveRangerVanish2024; + if (UI.Toggle(Gui.Localize("ModUi/&RemoveRangerVanish2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.RemoveRangerVanish2024 = toggle; + Tabletop2024Context.SwitchRangerVanish(); + } + toggle = Main.Settings.EnableRangerFavoredEnemy2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFavoredEnemy2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 5c11535380..11717b4d17 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -523,13 +523,13 @@ private static void DisplayTabletop2024() Main.Settings.EnablePaladinChannelDivinity2024 = toggle; Tabletop2024Context.SwitchPaladinChannelDivinity(); } - + toggle = Main.Settings.EnablePaladinSmite2024; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSmite2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnablePaladinSmite2024 = toggle; } - + toggle = Main.Settings.EnablePaladinLayOnHands2024; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinLayOnHands2024"), ref toggle, UI.AutoWidth())) { @@ -619,6 +619,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchRangerTireless(); } + toggle = Main.Settings.RemoveRangerVanish2024; + if (UI.Toggle(Gui.Localize("ModUi/&RemoveRangerVanish2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.RemoveRangerVanish2024 = toggle; + Tabletop2024Context.SwitchRangerVanish(); + } + toggle = Main.Settings.EnableRangerFavoredEnemy2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableRangerFavoredEnemy2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index 39e39f82de..7a01aab439 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -5,10 +5,13 @@ using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; +using SolastaUnfinishedBusiness.Properties; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionActionAffinitys; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionFeatureSets; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; @@ -61,7 +64,8 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerRangerTireless = FeatureDefinitionPowerBuilder .Create("PowerRangerTireless") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, + Sprites.GetSprite("PowerRangerTireless", Resources.PowerTireless, 256, 128)) .SetUsesAbilityBonus(ActivationTime.BonusAction, RechargeRate.LongRest, AttributeDefinitions.Wisdom) .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( @@ -239,6 +243,19 @@ internal static void SwitchRangerNatureShroud() Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static void SwitchRangerVanish() + { + Ranger.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == ActionAffinityRangerVanish); + + if (!Main.Settings.RemoveRangerVanish2024) + { + Ranger.FeatureUnlocks.Add(new FeatureUnlockByLevel(ActionAffinityRangerVanish, 14)); + } + + Ranger.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchRangerPreciseHunter() { Ranger.FeatureUnlocks diff --git a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs index 168222df02..b975a39243 100644 --- a/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs +++ b/SolastaUnfinishedBusiness/Models/CustomWeaponsContext.cs @@ -189,6 +189,7 @@ private static void BuildKatana() KatanaWeaponType = WeaponTypeDefinitionBuilder .Create(LongswordType, "KatanaType") .SetGuiPresentation(Category.Item, GuiPresentationBuilder.EmptyString) + .AddCustomSubFeatures(new CustomScale(0.85f)) .AddToDB(); var katanaPrefab = CustomModels.GetBlenderModel("Katana"); @@ -216,7 +217,8 @@ private static void BuildKatana() MerchantContext.AddItem(Katana, ShopItemType.ShopGenericMelee); KatanaPrimed = BuildWeapon("KatanaPrimed", baseItem, katanaPrefab, 40, true, Uncommon, null, - baseDescription, Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false); + baseDescription, Sprites.GetSprite("KatanaPrimed", Resources.KatanaPrimed, 128), twoHanded: false); + KatanaPrimed.ItemTags.Add(TagsDefinitions.ItemTagIngredient); KatanaPrimed.ItemTags.Remove(TagsDefinitions.ItemTagStandard); @@ -224,7 +226,7 @@ private static void BuildKatana() MerchantContext.AddItem(RecipeHelper.BuildPrimeManual(Katana, KatanaPrimed), ShopItemType.ShopCrafting); KatanaPlus1 = BuildWeapon("Katana+1", Katana, katanaPrefab, 1050, true, Rare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, + icon: Sprites.GetSprite("Katana+1", Resources.Katana1, 128), twoHanded: false, properties: [WeaponPlus1] ); @@ -234,7 +236,7 @@ private static void BuildKatana() ItemDefinitions.Ingredient_Enchant_Oil_Of_Acuteness), ShopItemType.ShopCrafting); KatanaPlus2 = BuildWeapon("Katana+2", Katana, katanaPrefab, 4000, true, VeryRare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, + icon: Sprites.GetSprite("Katana+2", Resources.Katana2, 128), twoHanded: false, properties: [WeaponPlus2] ); @@ -244,7 +246,7 @@ private static void BuildKatana() ItemDefinitions.Ingredient_Enchant_Blood_Gem), ShopItemType.ShopCrafting); KatanaPlus3 = BuildWeapon("Katana+3", Katana, katanaPrefab, 16000, true, VeryRare, - icon: Sprites.GetSprite("KatanaPrimed", Resources.Katana, 128), twoHanded: false, + icon: Sprites.GetSprite("Katana+3", Resources.Katana3, 128), twoHanded: false, properties: [WeaponPlus3] ); diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 0d02a613b3..8d88761ac8 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -90,8 +90,10 @@ internal static void LateLoad() SwitchRangerFoeSlayers(); SwitchRangerNatureShroud(); SwitchRangerPreciseHunter(); + SwitchRangerRelentlessHunter(); SwitchRangerRoving(); SwitchRangerSpellCastingAtOne(); + SwitchRangerVanish(); SwitchRangerTireless(); SwitchRogueBlindSense(); SwitchRogueCunningStrike(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index a0b8748a3c..4d0c39d571 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -294,19 +294,6 @@ public class Settings : UnityModManager.ModSettings public bool EnableFighterSecondWind2024 { get; set; } public bool EnableFighterStudiedAttacks2024 { get; set; } public bool EnableFighterTacticalProgression2024 { get; set; } - public bool AddHumanoidFavoredEnemyToRanger { get; set; } - public bool EnableRangerDeftExplorer2024 { get; set; } - public bool EnableRangerExpertise2024 { get; set; } - public bool EnableRangerFavoredEnemy2024 { get; set; } - public bool EnableRangerFeralSenses2024 { get; set; } - public bool EnableRangerFoeSlayers2024 { get; set; } - public bool EnableRangerNatureShroud2024 { get; set; } - public bool EnableRangerPreciseHunter2024 { get; set; } - public bool EnableRangerRelentlessHunter2024 { get; set; } - public bool EnableRangerRelentlessHunter2024AsNoConcentration { get; set; } - public bool EnableRangerRoving2024 { get; set; } - public bool EnableRangerSpellCastingAtLevel1 { get; set; } - public bool EnableRangerTireless2024 { get; set; } public bool EnableMonkAbundantKi { get; set; } public bool EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack2024 { get; set; } public bool EnableMonkDoNotRequireAttackActionForFlurry2024 { get; set; } @@ -323,6 +310,20 @@ public class Settings : UnityModManager.ModSettings public bool EnablePaladinSmite2024 { get; set; } public bool EnablePaladinSpellCastingAtLevel1 { get; set; } public bool ShowChannelDivinityOnPortrait { get; set; } + public bool AddHumanoidFavoredEnemyToRanger { get; set; } + public bool EnableRangerDeftExplorer2024 { get; set; } + public bool EnableRangerExpertise2024 { get; set; } + public bool EnableRangerFavoredEnemy2024 { get; set; } + public bool EnableRangerNatureShroud2024 { get; set; } + public bool EnableRangerPreciseHunter2024 { get; set; } + public bool EnableRangerRelentlessHunter2024 { get; set; } + public bool EnableRangerRelentlessHunter2024AsNoConcentration { get; set; } + public bool EnableRangerRoving2024 { get; set; } + public bool EnableRangerSpellCastingAtLevel1 { get; set; } + public bool EnableRangerTireless2024 { get; set; } + public bool EnableRangerFeralSenses2024 { get; set; } + public bool EnableRangerFoeSlayers2024 { get; set; } + public bool RemoveRangerVanish2024 { get; set; } public bool EnableRogueCunningStrike2024 { get; set; } public bool EnableRogueFightingStyle { get; set; } public bool EnableRogueReliableTalent2024 { get; set; } From 9425d23787c98e9d8beae488cd7087ab84f66c48 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 12:53:43 -0800 Subject: [PATCH 21/42] add Paladin 2024 setting Abjure Foes --- .../Displays/ClassesDisplay.cs | 7 ++ .../Displays/GeneralDisplay.cs | 7 ++ .../Models/2024PaladinContext.cs | 72 +++++++++++++++++- .../Models/Tabletop2024Context.cs | 1 + .../Properties/Resources.Designer.cs | 10 +++ .../Properties/Resources.resx | 5 ++ .../Powers/PowerPaladinAbjureFoes.png | Bin 0 -> 24851 bytes SolastaUnfinishedBusiness/Settings.cs | 1 + .../Translations/de/Others-de.txt | 4 +- .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 2 + .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 2 + .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 2 + .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 2 + .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 2 + .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 2 + .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 2 + .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 2 + .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 2 + .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 28 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerPaladinAbjureFoes.png diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 4c3372fbcd..b62e1d346e 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -316,6 +316,13 @@ internal static void DisplayClasses() Main.Settings.AddPaladinSmiteToggle = toggle; } + toggle = Main.Settings.EnablePaladinAbjureFoes2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinAbjureFoes2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinAbjureFoes2024 = toggle; + Tabletop2024Context.SwitchPaladinAbjureFoes(); + } + toggle = Main.Settings.EnablePaladinChannelDivinity2024; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinChannelDivinity2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 11717b4d17..43e64dfb5e 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -517,6 +517,13 @@ private static void DisplayTabletop2024() UI.Label("" + Gui.Localize("Class/&PaladinTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnablePaladinAbjureFoes2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinAbjureFoes2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinAbjureFoes2024 = toggle; + Tabletop2024Context.SwitchPaladinAbjureFoes(); + } + toggle = Main.Settings.EnablePaladinChannelDivinity2024; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinChannelDivinity2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 2eb329d8ba..87378acb07 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -1,6 +1,10 @@ -using System.Linq; +using System; +using System.Linq; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Interfaces; +using SolastaUnfinishedBusiness.Properties; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; @@ -12,7 +16,7 @@ namespace SolastaUnfinishedBusiness.Models; internal static partial class Tabletop2024Context { - internal static readonly FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity11 = + private static readonly FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity11 = FeatureDefinitionAttributeModifierBuilder .Create("AttributeModifierPaladinChannelDivinity11") .SetGuiPresentationNoContent(true) @@ -20,6 +24,34 @@ internal static partial class Tabletop2024Context AttributeDefinitions.ChannelDivinityNumber) .AddToDB(); + private static readonly FeatureDefinitionPower PowerPaladinAbjureFoes = FeatureDefinitionPowerBuilder + .Create("PowerPaladinAbjureFoes") + .SetGuiPresentation(Category.Feature, Sprites.GetSprite(FeatSteadyAim, Resources.PowerPaladinAbjureFoes, 256, 128)) + .SetUsesFixed(ActivationTime.Action, RechargeRate.ChannelDivinity) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Minute, 1) + .SetTargetingData(Side.Enemy, RangeType.Distance, 12, TargetType.IndividualsUnique) + .SetSavingThrowData(false, AttributeDefinitions.Wisdom, true, + EffectDifficultyClassComputation.SpellCastingFeature) + .SetEffectForms( + EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.Negates) + .SetConditionForm( + ConditionDefinitionBuilder + .Create(ConditionDefinitions.ConditionFrightened, "ConditionFrightenedByAbjureFoes") + .SetParentCondition(ConditionDefinitions.ConditionFrightened) + .SetSpecialInterruptions(ConditionInterruption.Damaged) + .SetFeatures() + .AddToDB(), + ConditionForm.ConditionOperation.Add) + .Build()) + .Build()) + .AddCustomSubFeatures(new ModifyEffectDescriptionPowerPaladinAbjureFoes()) + .AddToDB(); + internal static void SwitchPaladinSpellCastingAtOne() { var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; @@ -60,6 +92,19 @@ internal static void SwitchPaladinLayOnHand() : ActivationTime.Action; } + internal static void SwitchPaladinAbjureFoes() + { + Paladin.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == PowerPaladinAbjureFoes); + + if (Main.Settings.EnablePaladinAbjureFoes2024) + { + Paladin.FeatureUnlocks.Add(new FeatureUnlockByLevel(PowerPaladinAbjureFoes, 9)); + } + + Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchPaladinChannelDivinity() { if (Main.Settings.EnablePaladinChannelDivinity2024) @@ -79,4 +124,27 @@ internal static void SwitchPaladinChannelDivinity() Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + + private sealed class ModifyEffectDescriptionPowerPaladinAbjureFoes : IModifyEffectDescription + { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return definition == PowerPaladinAbjureFoes; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + var charisma = character.TryGetAttributeValue(AttributeDefinitions.Charisma); + var charismaModifier = AttributeDefinitions.ComputeAbilityScoreModifier(charisma); + var targets = Math.Max(1, charismaModifier); + + effectDescription.targetParameter = targets; + + return effectDescription; + } + } } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 8d88761ac8..c85d7a8d6f 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -78,6 +78,7 @@ internal static void LateLoad() SwitchOneDndSpellSpareTheDying(); SwitchOneDndSpellSpiderClimb(); SwitchOneDndSpellStoneSkin(); + SwitchPaladinAbjureFoes(); SwitchPaladinChannelDivinity(); SwitchPaladinLayOnHand(); SwitchPaladinSpellCastingAtOne(); diff --git a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs index daae18d6b5..ebfdf865eb 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs +++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs @@ -3662,6 +3662,16 @@ public static byte[] PowerNewMoon { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerPaladinAbjureFoes { + get { + object obj = ResourceManager.GetObject("PowerPaladinAbjureFoes", 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 cf5c1a0ca8..e6e38ba814 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.resx +++ b/SolastaUnfinishedBusiness/Properties/Resources.resx @@ -182,6 +182,11 @@ PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerPaladinAbjureFoes.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerTireless.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerPaladinAbjureFoes.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerPaladinAbjureFoes.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5450809cfb87087fd23e821f4208e039ccb364 GIT binary patch literal 24851 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 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/&EnablePaladinAbjureFoes2024=Aktiviere Feinde abschwören auf Level 9. ModUi/&EnablePaladinChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] ModUi/&EnablePaladinLayOnHands2024=Aktivieren Sie Handauflegen 5e 2024 Version [Bonusaktion] ModUi/&EnablePaladinSmite2024=Aktivieren Sie Divine Smite 5e 2024 Version [Bonusaktion] diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 2acddb7d76..f9b6e81d44 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=You can spend 1 K Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Step of the Wind Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 Ki Points to perfectly bolster yourself against harm for 1 minute or until you become incapacitated. During that time, you have resistance to all damage except Force damage. Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense +Feature/&PowerPaladinAbjureFoesDescription=As an action, you can expend one use of this class's Channel Divinity to overwhelm foes with awe. As you present your Holy Symbol or weapon, you can target a number of creatures equal to your Charisma modifier (minimum of one creature) that you can see within 60 feet of yourself. Each target must succeed on a Wisdom saving throw or have the Frightened condition for 1 minute or until it takes any damage. +Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your Wisdom attribute modifier, and you regain all expended uses when you finish a long rest. Feature/&PowerRangerNatureShroudTitle=Nature's Veil Feature/&PowerRangerTirelessDescription=Primal forces now help fuel you on your journeys, granting you the following benefits. As a bonus action, you can give yourself a number of Temporary Hit Points equal to 1d8 plus half your Ranger level (rounded up). You can use this feature a number of times equal to your Wisdom modifier (minimum of once), and you regain all expended uses when you finish a Long Rest. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 86694d3ea9..1c13367ec1 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Enable Spare the DyingSpider 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/&EnablePaladinAbjureFoes2024=Enable Abjure Foes at level 9 ModUi/&EnablePaladinChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] ModUi/&EnablePaladinLayOnHands2024=Enable Lay on Hands 5e 2024 version [bonus action] ModUi/&EnablePaladinSmite2024=Enable Divine Smite 5e 2024 version [bonus action] diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index d648228bc5..978cb8b81b 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puedes gastar 1 p Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Paso del viento Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gastar 3 puntos Ki para reforzarte perfectamente contra el daño durante 1 minuto o hasta que quedes incapacitado. Durante ese tiempo, tienes resistencia a todo el daño excepto al daño de la Fuerza. Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior +Feature/&PowerPaladinAbjureFoesDescription=Como acción, puedes gastar un uso de la habilidad Canalizar divinidad de esta clase para abrumar a los enemigos con asombro. Cuando presentes tu Símbolo Sagrado o tu arma, puedes seleccionar como objetivo una cantidad de criaturas igual a tu modificador de Carisma (un mínimo de una criatura) que puedas ver a 60 pies o menos de ti. Cada objetivo debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado durante 1 minuto o hasta que sufra algún daño. +Feature/&PowerPaladinAbjureFoesTitle=Abjurar enemigos Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte de la vista durante un breve período. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o que lleves encima, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu modificador de atributo Sabiduría, y recuperas todos los usos gastados cuando terminas un descanso prolongado. Feature/&PowerRangerNatureShroudTitle=El velo de la naturaleza Feature/&PowerRangerTirelessDescription=Las fuerzas primarias ahora te ayudan a alimentarte en tus viajes, lo que te otorga los siguientes beneficios. Como acción adicional, puedes darte una cantidad de puntos de vida temporales igual a 1d8 más la mitad de tu nivel de Explorador (redondeado hacia arriba). Puedes usar esta característica una cantidad de veces igual a tu modificador de Sabiduría (un mínimo de una vez) y recuperas todos los usos gastados cuando terminas un Descanso prolongado. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 97e0b092f4..b7b16203dc 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=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/&EnablePaladinAbjureFoes2024=Habilita Abjurar enemigos en el nivel 9 ModUi/&EnablePaladinChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] ModUi/&EnablePaladinLayOnHands2024=Habilitar Imposición de manos versión 5e 2024 [acción adicional] ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versión 5e 2024 [acción adicional] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 7f5267d84a..903813fb81 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Vous pouvez dépe Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Le pas du vent Feature/&PowerMonkSuperiorDefenseDescription=En tant qu'action libre, vous pouvez dépenser 3 points de Ki pour vous protéger parfaitement contre les dégâts pendant 1 minute ou jusqu'à ce que vous soyez neutralisé. Pendant ce temps, vous bénéficiez d'une résistance à tous les dégâts, sauf les dégâts de Force. Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure +Feature/&PowerPaladinAbjureFoesDescription=En tant qu'action, vous pouvez dépenser une utilisation de la capacité Canalisation de divinité de cette classe pour submerger vos ennemis de crainte. Lorsque vous présentez votre Symbole sacré ou votre arme, vous pouvez cibler un nombre de créatures égal à votre modificateur de Charisme (minimum d'une créature) que vous pouvez voir à 18 mètres ou moins de vous. Chaque cible doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayé pendant 1 minute ou jusqu'à ce qu'elle subisse des dégâts. +Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher temporairement de la vue. En tant qu'action bonus, vous pouvez devenir invisible par magie, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur d'attribut Sagesse, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. Feature/&PowerRangerNatureShroudTitle=Le voile de la nature Feature/&PowerRangerTirelessDescription=Les forces primordiales vous aident désormais à vous alimenter pendant vos voyages, vous accordant les avantages suivants. En tant qu'action bonus, vous pouvez vous octroyer un nombre de points de vie temporaires égal à 1d8 plus la moitié de votre niveau de Rôdeur (arrondi au supérieur). Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur de Sagesse (minimum d'une fois), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un Repos long. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 0806e5b7c9..00beb9a3eb 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Activer Épargner les moura 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/&EnablePaladinAbjureFoes2024=Activez Abjurer les ennemis au niveau 9 ModUi/&EnablePaladinChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] ModUi/&EnablePaladinLayOnHands2024=Activer Imposition des mains 5e version 2024 [action bonus] ModUi/&EnablePaladinSmite2024=Activer Divine Smite version 5e 2024 [action bonus] diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 119e3ac4a4..c68cce183e 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puoi spendere 1 p Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo del vento Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere 3 Punti Ki per rafforzarti perfettamente contro i danni per 1 minuto o finché non diventi inabile. Durante quel periodo, hai resistenza a tutti i danni, eccetto i danni da Forza. Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore +Feature/&PowerPaladinAbjureFoesDescription=Come azione, puoi spendere un uso di Channel Divinity di questa classe per sopraffare i nemici con timore reverenziale. Mentre presenti il ​​tuo Simbolo Sacro o la tua arma, puoi prendere di mira un numero di creature pari al tuo modificatore di Carisma (minimo una creatura) che puoi vedere entro 60 piedi da te. Ogni bersaglio deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato per 1 minuto o finché non subisce danni. +Feature/&PowerPaladinAbjureFoesTitle=Abiurare i nemici Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento tu stia indossando o trasportando, fino all'inizio del tuo turno successivo. Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di attributo Saggezza e recuperi tutti gli usi spesi quando termini un riposo lungo. Feature/&PowerRangerNatureShroudTitle=Velo della natura Feature/&PowerRangerTirelessDescription=Le forze primordiali ora ti aiutano ad alimentarti nei tuoi viaggi, garantendoti i seguenti benefici. Come azione bonus, puoi darti un numero di Punti Ferita Temporanei pari a 1d8 più metà del tuo livello da Ranger (arrotondato per eccesso). Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di Saggezza (minimo una volta) e recuperi tutti gli usi spesi quando finisci un Riposo Lungo. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 82365898be..694bd01dec 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Abilita Risparmia i morenti 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/&EnablePaladinAbjureFoes2024=Abilita Abjura i nemici al livello 9 ModUi/&EnablePaladinChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] ModUi/&EnablePaladinLayOnHands2024=Abilita Imposizione delle mani versione 5e 2024 [azione bonus] ModUi/&EnablePaladinSmite2024=Abilita Colpo divino versione 5e 2024 [azione bonus] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 34b42069c1..8a2a0c4ca2 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=1 気ポイント Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=風のステップ Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして、3 Ki ポイントを消費して、1 分間または無力化されるまで、危害に対して完全に強化することができます。その間、あなたはフォースダメージを除くすべてのダメージに対する耐性を持ちます。 Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 +Feature/&PowerPaladinAbjureFoesDescription=アクションとして、このクラスのチャネル ディヴィニティを 1 回使用して、敵を畏怖で圧倒することができます。聖印または武器を提示すると、自分の周囲 60 フィート以内にいる、あなたの魅力修正値に等しい数のクリーチャー (最低 1 体) をターゲットにすることができます。各ターゲットは、知恵セーヴィング スローに成功するか、1 分間またはダメージを受けるまで恐怖状態になります。 +Feature/&PowerPaladinAbjureFoesTitle=敵をアブジュアする Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着用または所持している装備とともに魔法的に透明になることができます。この特徴は、あなたの「知恵」属性の修正値に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 Feature/&PowerRangerNatureShroudTitle=自然のベール Feature/&PowerRangerTirelessDescription=原始の力が旅の糧となり、以下の恩恵が得られます。ボーナス アクションとして、1d8 プラス レンジャー レベルの半分 (切り上げ) に等しい一時ヒット ポイントを自分に与えることができます。この機能は、あなたの「知恵」修正値に等しい回数 (最低 1 回) 使用でき、大休憩を終了すると消費した使用回数をすべて回復します。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 27112c3199..8afcd2f50f 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Spare the Dying 5e ModUi/&EnableOneDndSpiderClimbSpell=スパイダークライム 5e 2024 呪文バージョンを有効にする [アップキャストごとにターゲット +1] ModUi/&EnableOneDndStoneSkinSpell=ストーンスキン 5e 2024 呪文バージョンを有効にする [魔法の B/P/S に対する耐性も付与します] ModUi/&EnableOneDndTrueStrikeCantrip=トゥルーストライク 5e 2024 キャントリップ バージョンを有効にします [再起動が必要]{99>[攻撃は、攻撃ロールとダメージ ボーナスに呪文発動能力を使用し、レベル 5 から追加の光ダメージを与えます] +ModUi/&EnablePaladinAbjureFoes2024=レベル 9 で 敵の拒絶 を有効にする ModUi/&EnablePaladinChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする ModUi/&EnablePaladinLayOnHands2024=Lay on Hands 5e 2024 バージョンを有効にする [ボーナス アクション] ModUi/&EnablePaladinSmite2024=Divine Smite 5e 2024 バージョンを有効にする [ボーナス アクション] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index e861e33896..7fa7cf353b 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=당신은 1 Ki Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=바람의 발걸음 Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포인트를 사용하여 1분 동안 또는 무력화될 때까지 피해로부터 자신을 완벽하게 강화할 수 있습니다. 그 동안 포스 데미지를 제외한 모든 데미지에 대한 저항력을 갖게 됩니다. Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 +Feature/&PowerPaladinAbjureFoesDescription=행동으로, 이 클래스의 채널 신성 한 번을 사용하여 적을 경외감으로 압도할 수 있습니다. 신성한 상징이나 무기를 제시할 때, 자신의 카리스마 수정치와 같은 수의 생물(최소 한 마리의 생물)을 대상으로 삼을 수 있으며, 자신으로부터 60피트 이내에서 볼 수 있습니다. 각 대상은 지혜 구원 굴림에 성공해야 하며, 그렇지 않으면 1분 동안 또는 피해를 입을 때까지 공포 상태에 처해야 합니다. +Feature/&PowerPaladinAbjureFoesTitle=적들을 버리다 Feature/&PowerRangerNatureShroudDescription=자연의 힘을 빌려 잠시 동안 시야에서 숨습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 착용하거나 휴대하는 모든 장비와 함께 마법처럼 보이지 않게 될 수 있습니다. 이 기능은 지혜 속성 수정치와 같은 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 소모한 모든 사용 횟수를 회복합니다. Feature/&PowerRangerNatureShroudTitle=자연의 베일 Feature/&PowerRangerTirelessDescription=원시적 힘이 이제 여러분의 여정에 연료를 공급하여 다음과 같은 혜택을 제공합니다. 보너스 행동으로, 여러분은 1d8에 해당하는 수의 임시 생명력과 레인저 레벨의 절반(반올림)을 얻을 수 있습니다. 여러분은 이 기능을 지혜 수정치와 같은 횟수(최소 한 번)로 사용할 수 있으며, 긴 휴식을 마치면 사용된 모든 사용 횟수를 회복합니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 3bee97c1d7..bc5b34eb58 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=죽음을 막아라 ModUi/&EnableOneDndSpiderClimbSpell=거미 등반 5e 2024 주문 버전 활성화 [업캐스트당 대상 +1개] ModUi/&EnableOneDndStoneSkinSpell=스톤 스킨 5e 2024 주문 버전을 활성화합니다. [마법 B/P/S에 대한 저항력도 제공] ModUi/&EnableOneDndTrueStrikeCantrip=True Strike 5e 2024 캔트립 버전 사용 [재시작 필요]\n[공격 시 공격 굴림과 피해 보너스에 주문 시전 능력을 사용하고, 레벨 5부터 추가 방사형 피해] +ModUi/&EnablePaladinAbjureFoes2024=레벨 9에서 적을 배척할 수 있습니다. ModUi/&EnablePaladinChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 ModUi/&EnablePaladinLayOnHands2024=안수 5e 2024 버전 활성화 [보너스 액션] ModUi/&EnablePaladinSmite2024=신성한 일격 5e 2024 버전 활성화 [보너스 액션] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 36e5cc64f0..739c862770 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Você pode gastar Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo do Vento Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode gastar 3 Pontos de Ki para se reforçar perfeitamente contra dano por 1 minuto ou até ficar incapacitado. Durante esse tempo, você tem resistência a todo dano, exceto dano de Força. Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior +Feature/&PowerPaladinAbjureFoesDescription=Como uma ação, você pode gastar um uso de Canalizar Divindade desta classe para sobrepujar inimigos com admiração. Conforme você apresenta seu Símbolo Sagrado ou arma, você pode alvejar um número de criaturas igual ao seu modificador de Carisma (mínimo de uma criatura) que você possa ver a até 60 pés de você. Cada alvo deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Amedrontado por 1 minuto ou até que sofra qualquer dano. +Feature/&PowerPaladinAbjureFoesTitle=Abjurar Inimigos Feature/&PowerRangerNatureShroudDescription=Você usa os poderes da natureza para se esconder brevemente da vista. Como uma ação bônus, você pode magicamente se tornar invisível, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar essa habilidade um número de vezes igual ao seu modificador de atributo Sabedoria, e você recupera todos os usos gastos quando termina um descanso longo. Feature/&PowerRangerNatureShroudTitle=Véu da Natureza Feature/&PowerRangerTirelessDescription=Forças primordiais agora ajudam a abastecer você em suas jornadas, concedendo os seguintes benefícios. Como uma ação bônus, você pode dar a si mesmo um número de Pontos de Vida Temporários igual a 1d8 mais metade do seu nível de Patrulheiro (arredondado para cima). Você pode usar essa habilidade um número de vezes igual ao seu modificador de Sabedoria (mínimo de uma vez), e você recupera todos os usos gastos quando termina um Descanso Longo. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index b86e30b39a..3c4e256ce4 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Habilitar Poupar os Moribun 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/&EnablePaladinAbjureFoes2024=Habilitar Abjure Foes no nível 9 ModUi/&EnablePaladinChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] ModUi/&EnablePaladinLayOnHands2024=Habilitar Impor as Mãos versão 5e 2024 [ação bônus] ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versão 5e 2024 [ação bônus] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 4d752652b9..d94b7dee3e 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Вы можете Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Поступь ветра Feature/&PowerMonkSuperiorDefenseDescription=Свободным действием вы можете потратить 3 очка ци, чтобы надёжно защитить себя от урона на 1 минуту или до тех пор, пока не станете недееспособны. В течение этого времени вы обладаете сопротивлением ко всему урону, кроме урона силовым полем. Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита +Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Божественного канала этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Святой символ или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Испуга в течение 1 минуты или пока не получит урон. +Feature/&PowerPaladinAbjureFoesTitle=Отречься от врагов Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса Feature/&PowerRangerTirelessDescription=Первобытные силы теперь помогают вам подпитываться в ваших путешествиях, предоставляя вам следующие преимущества. В качестве бонусного действия вы можете дать себе количество Временных очков здоровья, равное 1d8 плюс половина вашего уровня рейнджера (округленное вверх). Вы можете использовать эту функцию количество раз, равное вашему модификатору Мудрости (минимум один раз), и вы восстановите все потраченные использования, когда закончите Длительный отдых. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 69fe49eaf1..0e0a6ff1fb 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Включить версию заклин ModUi/&EnableOneDndSpiderClimbSpell=Включить версию заклинания Паук из 5e 2024 [+1 цель за каждый дополнительный уровень ячейки заклинания] ModUi/&EnableOneDndStoneSkinSpell=Включить версию заклинания Каменная кожа из 5e 2024 [также даёт сопротивление магическому дробящему, рубящему и колющему урону] ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию заговора Меткий удар из 5e 2024 [Необходим перезапуск]\n[для бросков атаки и урона используется ваша заклинательная характеристика, а также дополнительный урон излучением с 5-го уровня] +ModUi/&EnablePaladinAbjureFoes2024=Включить Отречение от врагов на уровне 9 ModUi/&EnablePaladinChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] ModUi/&EnablePaladinLayOnHands2024=Включить Возложение рук 5e 2024 версия [бонусное действие] ModUi/&EnablePaladinSmite2024=Включить Divine Smite 5e 2024 версии [бонусное действие] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 89b7dfb916..023afa9263 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -213,6 +213,8 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=在你的回合 Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=飞檐走壁 Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以花费 3 点气来完美地增强自己免受伤害,持续 1 分钟或直到你失能。在此期间,你对除力场伤害之外的所有伤害都有抗性。 Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 +Feature/&PowerPaladinAbjureFoesDescription=作为一个动作,你可以花费一次该职业的神圣引导来让敌人感到敬畏。当你展示你的圣徽或武器时,你可以瞄准你在 60 英尺范围内看到的等于你的魅力调整值(至少一个生物)数量的生物。每个目标必须成功进行智慧豁免检定,否则会处于恐惧状态 1 分钟或直到受到任何伤害。 +Feature/&PowerPaladinAbjureFoesTitle=咒骂敌人 Feature/&PowerRangerNatureShroudDescription=你利用自然的力量短暂地隐藏自己。作为奖励行动,你可以神奇地隐形,连同你穿着或携带的任何装备,直到你的下一回合开始。你可以使用此功能的次数等于你的智慧属性修正值,当你完成长时间休息时,你可以恢复所有已消耗的使用次数。 Feature/&PowerRangerNatureShroudTitle=自然面纱 Feature/&PowerRangerTirelessDescription=原始力量现在可为您的旅途提供能量,并为您带来以下好处。作为奖励行动,您可以为自己提供临时生命值,等于 1d8 加上您游侠等级的一半(向上取整)。您可以使用此功能的次数等于您的智慧调整值(至少一次),当您完成长时间休息时,您可以恢复所有已消耗的使用次数。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index a7fce62aa9..f7cde31fca 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -170,6 +170,7 @@ ModUi/&EnableOneDndSpareTheDyingSpell=启用Spare the Dying蜘蛛攀爬 5e 2024 法术版本[每次施法 +1 个目标] ModUi/&EnableOneDndStoneSkinSpell=启用石肤 5e 2024 法术版本[同时提供对魔法 B/P/S 的抵抗力] ModUi/&EnableOneDndTrueStrikeCantrip=启用 True Strike 5e 2024 法术版本 [需要重启]{99>[攻击使用你的施法能力进行攻击掷骰和伤害加成,并从 5 级开始造成额外的辐射伤害] +ModUi/&EnablePaladinAbjureFoes2024=在 9 级时启用Abjure Foes ModUi/&EnablePaladinChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] ModUi/&EnablePaladinLayOnHands2024=启用圣疗术 5e 2024 版本[奖励行动] ModUi/&EnablePaladinSmite2024=启用Divine Smite 5e 2024 版本[奖励行动] From 019ef5624ba832d8d9125d0756d10d48c0432295 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 13:25:16 -0800 Subject: [PATCH 22/42] add Paladin Restoring Touch skeleton and tweak Ranger Tireless SFX, Abjure Foes sprite --- .../Displays/ClassesDisplay.cs | 7 +++ .../Displays/GeneralDisplay.cs | 7 +++ .../Models/2024PaladinContext.cs | 50 +++++++++++++++++- .../Models/2024RangerContext.cs | 2 + .../Models/Tabletop2024Context.cs | 2 + .../Powers/PowerPaladinAbjureFoes.png | Bin 24851 -> 28034 bytes SolastaUnfinishedBusiness/Settings.cs | 1 + .../Translations/de/Others-de.txt | 2 + .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 2 + .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 2 + .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 2 + .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 2 + .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 2 + .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 2 + .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 2 + .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 2 + .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 2 + .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 27 files changed, 98 insertions(+), 1 deletion(-) diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index b62e1d346e..df9ce593d7 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -343,6 +343,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchPaladinLayOnHand(); } + toggle = Main.Settings.EnablePaladinRestoringTouch2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinRestoringTouch2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinRestoringTouch2024 = toggle; + Tabletop2024Context.SwitchPaladinRestoringTouch(); + } + toggle = Main.Settings.EnablePaladinSpellCastingAtLevel1; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 43e64dfb5e..261c63c889 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -544,6 +544,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchPaladinLayOnHand(); } + toggle = Main.Settings.EnablePaladinRestoringTouch2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinRestoringTouch2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnablePaladinRestoringTouch2024 = toggle; + Tabletop2024Context.SwitchPaladinRestoringTouch(); + } + toggle = Main.Settings.EnablePaladinSpellCastingAtLevel1; if (UI.Toggle(Gui.Localize("ModUi/&EnablePaladinSpellCastingAtLevel1"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 87378acb07..ab7265b9c4 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -1,5 +1,8 @@ using System; +using System.Collections; using System.Linq; +using SolastaUnfinishedBusiness.Api.GameExtensions; +using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.CustomUI; @@ -26,7 +29,8 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerPaladinAbjureFoes = FeatureDefinitionPowerBuilder .Create("PowerPaladinAbjureFoes") - .SetGuiPresentation(Category.Feature, Sprites.GetSprite(FeatSteadyAim, Resources.PowerPaladinAbjureFoes, 256, 128)) + .SetGuiPresentation(Category.Feature, + Sprites.GetSprite("PowerPaladinAbjureFoes", Resources.PowerPaladinAbjureFoes, 256, 128)) .SetUsesFixed(ActivationTime.Action, RechargeRate.ChannelDivinity) .SetEffectDescription( EffectDescriptionBuilder @@ -52,6 +56,25 @@ internal static partial class Tabletop2024Context .AddCustomSubFeatures(new ModifyEffectDescriptionPowerPaladinAbjureFoes()) .AddToDB(); + private static readonly FeatureDefinitionPower PowerPaladinRestoringTouch = FeatureDefinitionPowerBuilder + .Create("PowerPaladinRestoringTouch") + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.NoCost, RechargeRate.HealingPool, 5) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) + .Build()) + .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) + .AddToDB(); + + internal static void LoadPaladinRestoringTouch() + { + PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); + + //TODO: add subpowers and logic on custom behavior + } + internal static void SwitchPaladinSpellCastingAtOne() { var level = Main.Settings.EnablePaladinSpellCastingAtLevel1 ? 1 : 2; @@ -92,6 +115,20 @@ internal static void SwitchPaladinLayOnHand() : ActivationTime.Action; } + internal static void SwitchPaladinRestoringTouch() + { + Paladin.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == PowerPaladinRestoringTouch || + x.FeatureDefinition == PowerPaladinCleansingTouch); + + Paladin.FeatureUnlocks.Add(Main.Settings.EnablePaladinRestoringTouch2024 + ? new FeatureUnlockByLevel(PowerPaladinAbjureFoes, 14) + : new FeatureUnlockByLevel(PowerPaladinCleansingTouch, 14)); + + Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchPaladinAbjureFoes() { Paladin.FeatureUnlocks @@ -147,4 +184,15 @@ public EffectDescription GetEffectDescription( return effectDescription; } } + + private sealed class PowerOrSpellFinishedByMeRestoringTouch : IPowerOrSpellFinishedByMe + { + public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + if (!Main.Settings.EnablePaladinRestoringTouch2024) + { + yield break; + } + } + } } diff --git a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs index 7a01aab439..2b6d2a7fe8 100644 --- a/SolastaUnfinishedBusiness/Models/2024RangerContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RangerContext.cs @@ -78,6 +78,7 @@ internal static partial class Tabletop2024Context .Create() .SetTempHpForm(5, DieType.D8, 1) .Build()) + .SetCasterEffectParameters(Command) .Build()) .AddCustomSubFeatures(new CustomBehaviorTireless()) .AddToDB(); @@ -181,6 +182,7 @@ internal static void SwitchRangerFavoredEnemy() { Ranger.FeatureUnlocks .RemoveAll(x => + x.FeatureDefinition == FeatureSetRangerFavoredEnemy || x.FeatureDefinition == RulesContext.InvocationPoolRangerTerrainType || x.FeatureDefinition == RulesContext.InvocationPoolRangerPreferredEnemy); diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index c85d7a8d6f..bd55e46452 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -33,6 +33,7 @@ internal static void LateLoad() LoadOneDndSpellGuidanceSubspells(); LoadOneDndSpellSpareTheDying(); LoadOneDndSpellTrueStrike(); + LoadPaladinRestoringTouch(); LoadRogueCunningStrike(); LoadSorcererSorcerousRestoration(); LoadWizardMemorizeSpell(); @@ -81,6 +82,7 @@ internal static void LateLoad() SwitchPaladinAbjureFoes(); SwitchPaladinChannelDivinity(); SwitchPaladinLayOnHand(); + SwitchPaladinRestoringTouch(); SwitchPaladinSpellCastingAtOne(); SwitchPoisonsBonusAction(); SwitchPotionsBonusAction(); diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerPaladinAbjureFoes.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerPaladinAbjureFoes.png index 7d5450809cfb87087fd23e821f4208e039ccb364..ec57b6042f04681c728257a4fef3138d2b69f3fe 100644 GIT binary patch literal 28034 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 VFUk}<%JcvL002ovPDHLkV1lpwGsge` literal 24851 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 StrikeFeinde abschwören auf Level 9. ModUi/&EnablePaladinChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] ModUi/&EnablePaladinLayOnHands2024=Aktivieren Sie Handauflegen 5e 2024 Version [Bonusaktion] +ModUi/&EnablePaladinRestoringTouch2024=Aktiviere Restoring Touch, um Cleansing Touch auf Level 14 zu ersetzen. ModUi/&EnablePaladinSmite2024=Aktivieren Sie Divine Smite 5e 2024 Version [Bonusaktion] ModUi/&EnablePaladinSpellCastingAtLevel1=Aktiviere Zauberwirken auf Stufe 1 statt 2. ModUi/&EnablePcgRandom=Aktivieren Sie einen besseren Zufallsgenerator-Algorithmus [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index f9b6e81d44..bf6777e096 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 K Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense Feature/&PowerPaladinAbjureFoesDescription=As an action, you can expend one use of this class's Channel Divinity to overwhelm foes with awe. As you present your Holy Symbol or weapon, you can target a number of creatures equal to your Charisma modifier (minimum of one creature) that you can see within 60 feet of yourself. Each target must succeed on a Wisdom saving throw or have the Frightened condition for 1 minute or until it takes any damage. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes +Feature/&PowerPaladinRestoringTouchDescription=When you use Lay On Hands on a creature, you can also remove one or more of the following conditions from the creature: Blinded, Charmed, Deafened, Frightened, Paralyzed, or Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands for each of these conditions you remove. +Feature/&PowerPaladinRestoringTouchTitle=Restoring Touch Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your Wisdom attribute modifier, and you regain all expended uses when you finish a long rest. Feature/&PowerRangerNatureShroudTitle=Nature's Veil Feature/&PowerRangerTirelessDescription=Primal forces now help fuel you on your journeys, granting you the following benefits. As a bonus action, you can give yourself a number of Temporary Hit Points equal to 1d8 plus half your Ranger level (rounded up). You can use this feature a number of times equal to your Wisdom modifier (minimum of once), and you regain all expended uses when you finish a Long Rest. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 1c13367ec1..9285472752 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Enable True Strike 5 ModUi/&EnablePaladinAbjureFoes2024=Enable Abjure Foes at level 9 ModUi/&EnablePaladinChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] ModUi/&EnablePaladinLayOnHands2024=Enable Lay on Hands 5e 2024 version [bonus action] +ModUi/&EnablePaladinRestoringTouch2024=Enable Restoring Touch to replace Cleansing Touch at level 14 ModUi/&EnablePaladinSmite2024=Enable Divine Smite 5e 2024 version [bonus action] ModUi/&EnablePaladinSpellCastingAtLevel1=Enable spellcasting at level 1 instead of 2 ModUi/&EnablePcgRandom=Enable a better random generator algorithm [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 978cb8b81b..3577f4ce15 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gasta Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior Feature/&PowerPaladinAbjureFoesDescription=Como acción, puedes gastar un uso de la habilidad Canalizar divinidad de esta clase para abrumar a los enemigos con asombro. Cuando presentes tu Símbolo Sagrado o tu arma, puedes seleccionar como objetivo una cantidad de criaturas igual a tu modificador de Carisma (un mínimo de una criatura) que puedas ver a 60 pies o menos de ti. Cada objetivo debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado durante 1 minuto o hasta que sufra algún daño. Feature/&PowerPaladinAbjureFoesTitle=Abjurar enemigos +Feature/&PowerPaladinRestoringTouchDescription=Cuando usas Imposición de manos sobre una criatura, también puedes eliminar una o más de las siguientes condiciones de la criatura: cegada, encantada, ensordecedora, asustada, paralizada o aturdida. Debes gastar 5 puntos de vida de la reserva de sanación de Imposición de manos por cada una de estas condiciones que elimines. +Feature/&PowerPaladinRestoringTouchTitle=Restaurando el tacto Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte de la vista durante un breve período. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o que lleves encima, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu modificador de atributo Sabiduría, y recuperas todos los usos gastados cuando terminas un descanso prolongado. Feature/&PowerRangerNatureShroudTitle=El velo de la naturaleza Feature/&PowerRangerTirelessDescription=Las fuerzas primarias ahora te ayudan a alimentarte en tus viajes, lo que te otorga los siguientes beneficios. Como acción adicional, puedes darte una cantidad de puntos de vida temporales igual a 1d8 más la mitad de tu nivel de Explorador (redondeado hacia arriba). Puedes usar esta característica una cantidad de veces igual a tu modificador de Sabiduría (un mínimo de una vez) y recuperas todos los usos gastados cuando terminas un Descanso prolongado. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index b7b16203dc..61106a29c7 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Habilitar Golpe verdaderoAbjurar enemigos en el nivel 9 ModUi/&EnablePaladinChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] ModUi/&EnablePaladinLayOnHands2024=Habilitar Imposición de manos versión 5e 2024 [acción adicional] +ModUi/&EnablePaladinRestoringTouch2024=Habilita Toque restaurador para reemplazar Toque purificador en el nivel 14 ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versión 5e 2024 [acción adicional] ModUi/&EnablePaladinSpellCastingAtLevel1=Habilitar el lanzamiento de hechizos en el nivel 1 en lugar del 2 ModUi/&EnablePcgRandom=Habilitar un mejor algoritmo generador aleatorio [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 903813fb81..5236bed21b 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=En tant qu'action libre, vous pouve Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure Feature/&PowerPaladinAbjureFoesDescription=En tant qu'action, vous pouvez dépenser une utilisation de la capacité Canalisation de divinité de cette classe pour submerger vos ennemis de crainte. Lorsque vous présentez votre Symbole sacré ou votre arme, vous pouvez cibler un nombre de créatures égal à votre modificateur de Charisme (minimum d'une créature) que vous pouvez voir à 18 mètres ou moins de vous. Chaque cible doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayé pendant 1 minute ou jusqu'à ce qu'elle subisse des dégâts. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes +Feature/&PowerPaladinRestoringTouchDescription=Lorsque vous utilisez Imposition des mains sur une créature, vous pouvez également lui retirer une ou plusieurs des conditions suivantes : Aveuglement, Charmé, Sourd, Effrayé, Paralysé ou Étourdi. Vous devez dépenser 5 points de vie de la réserve de soins d'Imposition des mains pour chacune de ces conditions que vous supprimez. +Feature/&PowerPaladinRestoringTouchTitle=Restaurer le toucher Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher temporairement de la vue. En tant qu'action bonus, vous pouvez devenir invisible par magie, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur d'attribut Sagesse, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. Feature/&PowerRangerNatureShroudTitle=Le voile de la nature Feature/&PowerRangerTirelessDescription=Les forces primordiales vous aident désormais à vous alimenter pendant vos voyages, vous accordant les avantages suivants. En tant qu'action bonus, vous pouvez vous octroyer un nombre de points de vie temporaires égal à 1d8 plus la moitié de votre niveau de Rôdeur (arrondi au supérieur). Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur de Sagesse (minimum d'une fois), et vous récupérez toutes les utilisations dépensées lorsque vous terminez un Repos long. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 00beb9a3eb..21835de45a 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Activer True Strike ModUi/&EnablePaladinAbjureFoes2024=Activez Abjurer les ennemis au niveau 9 ModUi/&EnablePaladinChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] ModUi/&EnablePaladinLayOnHands2024=Activer Imposition des mains 5e version 2024 [action bonus] +ModUi/&EnablePaladinRestoringTouch2024=Activez Restauration du toucher pour remplacer Nettoyage du toucher au niveau 14 ModUi/&EnablePaladinSmite2024=Activer Divine Smite version 5e 2024 [action bonus] ModUi/&EnablePaladinSpellCastingAtLevel1=Activer le lancement de sorts au niveau 1 au lieu de 2 ModUi/&EnablePcgRandom=Activer un meilleur algorithme de générateur aléatoire [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index c68cce183e..ca6ee4b218 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore Feature/&PowerPaladinAbjureFoesDescription=Come azione, puoi spendere un uso di Channel Divinity di questa classe per sopraffare i nemici con timore reverenziale. Mentre presenti il ​​tuo Simbolo Sacro o la tua arma, puoi prendere di mira un numero di creature pari al tuo modificatore di Carisma (minimo una creatura) che puoi vedere entro 60 piedi da te. Ogni bersaglio deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato per 1 minuto o finché non subisce danni. Feature/&PowerPaladinAbjureFoesTitle=Abiurare i nemici +Feature/&PowerPaladinRestoringTouchDescription=Quando usi Lay On Hands su una creatura, puoi anche rimuovere una o più delle seguenti condizioni dalla creatura: Blinded, Charmed, Deafened, Frightened, Parlyzed o Stunned. Devi spendere 5 Punti Ferita dalla riserva di guarigione di Lay On Hands per ciascuna di queste condizioni che rimuovi. +Feature/&PowerPaladinRestoringTouchTitle=Ripristino del tocco Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento tu stia indossando o trasportando, fino all'inizio del tuo turno successivo. Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di attributo Saggezza e recuperi tutti gli usi spesi quando termini un riposo lungo. Feature/&PowerRangerNatureShroudTitle=Velo della natura Feature/&PowerRangerTirelessDescription=Le forze primordiali ora ti aiutano ad alimentarti nei tuoi viaggi, garantendoti i seguenti benefici. Come azione bonus, puoi darti un numero di Punti Ferita Temporanei pari a 1d8 più metà del tuo livello da Ranger (arrotondato per eccesso). Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di Saggezza (minimo una volta) e recuperi tutti gli usi spesi quando finisci un Riposo Lungo. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 694bd01dec..bf4826583e 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Abilita True Strike ModUi/&EnablePaladinAbjureFoes2024=Abilita Abjura i nemici al livello 9 ModUi/&EnablePaladinChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] ModUi/&EnablePaladinLayOnHands2024=Abilita Imposizione delle mani versione 5e 2024 [azione bonus] +ModUi/&EnablePaladinRestoringTouch2024=Abilita Ripristino del tocco per sostituire Tocco purificatore al livello 14 ModUi/&EnablePaladinSmite2024=Abilita Colpo divino versione 5e 2024 [azione bonus] ModUi/&EnablePaladinSpellCastingAtLevel1=Abilita lancio di incantesimi al livello 1 invece che 2 ModUi/&EnablePcgRandom=Abilita un algoritmo di generazione casuale migliore [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 8a2a0c4ca2..74797cf0bc 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 Feature/&PowerPaladinAbjureFoesDescription=アクションとして、このクラスのチャネル ディヴィニティを 1 回使用して、敵を畏怖で圧倒することができます。聖印または武器を提示すると、自分の周囲 60 フィート以内にいる、あなたの魅力修正値に等しい数のクリーチャー (最低 1 体) をターゲットにすることができます。各ターゲットは、知恵セーヴィング スローに成功するか、1 分間またはダメージを受けるまで恐怖状態になります。 Feature/&PowerPaladinAbjureFoesTitle=敵をアブジュアする +Feature/&PowerPaladinRestoringTouchDescription=クリーチャーに「レイ オン ハンズ」を使用すると、そのクリーチャーから、盲目、魅了、聴覚喪失、恐怖、麻痺、または気絶のいずれかの状態を 1 つ以上除去することもできます。除去する状態ごとに、「レイ オン ハンズ」の回復プールから 5 ヒット ポイントを消費する必要があります。 +Feature/&PowerPaladinRestoringTouchTitle=タッチの回復 Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着用または所持している装備とともに魔法的に透明になることができます。この特徴は、あなたの「知恵」属性の修正値に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 Feature/&PowerRangerNatureShroudTitle=自然のベール Feature/&PowerRangerTirelessDescription=原始の力が旅の糧となり、以下の恩恵が得られます。ボーナス アクションとして、1d8 プラス レンジャー レベルの半分 (切り上げ) に等しい一時ヒット ポイントを自分に与えることができます。この機能は、あなたの「知恵」修正値に等しい回数 (最低 1 回) 使用でき、大休憩を終了すると消費した使用回数をすべて回復します。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 8afcd2f50f..4d54b84c7c 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=トゥルーストライク< ModUi/&EnablePaladinAbjureFoes2024=レベル 9 で 敵の拒絶 を有効にする ModUi/&EnablePaladinChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする ModUi/&EnablePaladinLayOnHands2024=Lay on Hands 5e 2024 バージョンを有効にする [ボーナス アクション] +ModUi/&EnablePaladinRestoringTouch2024=レベル14で浄化のタッチの代わりに回復のタッチを有効にする ModUi/&EnablePaladinSmite2024=Divine Smite 5e 2024 バージョンを有効にする [ボーナス アクション] ModUi/&EnablePaladinSpellCastingAtLevel1=呪文発動をレベル2ではなくレベル1で有効にする ModUi/&EnablePcgRandom=より優れたランダム生成アルゴリズムを有効にする [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 7fa7cf353b..fcd51d027f 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포 Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 Feature/&PowerPaladinAbjureFoesDescription=행동으로, 이 클래스의 채널 신성 한 번을 사용하여 적을 경외감으로 압도할 수 있습니다. 신성한 상징이나 무기를 제시할 때, 자신의 카리스마 수정치와 같은 수의 생물(최소 한 마리의 생물)을 대상으로 삼을 수 있으며, 자신으로부터 60피트 이내에서 볼 수 있습니다. 각 대상은 지혜 구원 굴림에 성공해야 하며, 그렇지 않으면 1분 동안 또는 피해를 입을 때까지 공포 상태에 처해야 합니다. Feature/&PowerPaladinAbjureFoesTitle=적들을 버리다 +Feature/&PowerPaladinRestoringTouchDescription=생물에 Lay On Hands를 사용할 때 생물에서 다음 조건 중 하나 이상을 제거할 수도 있습니다: 실명, 매혹, 귀머거리, 공포, 마비 또는 기절. 제거한 이러한 조건 각각에 대해 Lay On Hands의 치유 풀에서 5개의 생명력을 소모해야 합니다. +Feature/&PowerPaladinRestoringTouchTitle=터치를 회복하다 Feature/&PowerRangerNatureShroudDescription=자연의 힘을 빌려 잠시 동안 시야에서 숨습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 착용하거나 휴대하는 모든 장비와 함께 마법처럼 보이지 않게 될 수 있습니다. 이 기능은 지혜 속성 수정치와 같은 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 소모한 모든 사용 횟수를 회복합니다. Feature/&PowerRangerNatureShroudTitle=자연의 베일 Feature/&PowerRangerTirelessDescription=원시적 힘이 이제 여러분의 여정에 연료를 공급하여 다음과 같은 혜택을 제공합니다. 보너스 행동으로, 여러분은 1d8에 해당하는 수의 임시 생명력과 레인저 레벨의 절반(반올림)을 얻을 수 있습니다. 여러분은 이 기능을 지혜 수정치와 같은 횟수(최소 한 번)로 사용할 수 있으며, 긴 휴식을 마치면 사용된 모든 사용 횟수를 회복합니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index bc5b34eb58..4fd10541af 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=True Strike 5e 2024 ModUi/&EnablePaladinAbjureFoes2024=레벨 9에서 적을 배척할 수 있습니다. ModUi/&EnablePaladinChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 ModUi/&EnablePaladinLayOnHands2024=안수 5e 2024 버전 활성화 [보너스 액션] +ModUi/&EnablePaladinRestoringTouch2024=레벨 14에서 클렌징 터치를 대체하기 위해 터치 복원을 활성화합니다. ModUi/&EnablePaladinSmite2024=신성한 일격 5e 2024 버전 활성화 [보너스 액션] ModUi/&EnablePaladinSpellCastingAtLevel1=레벨 2 대신 레벨 1에서 주문 시전을 활성화합니다. ModUi/&EnablePcgRandom=더 나은 난수 생성 알고리즘을 활성화하세요 [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 739c862770..01f56a2579 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode g Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior Feature/&PowerPaladinAbjureFoesDescription=Como uma ação, você pode gastar um uso de Canalizar Divindade desta classe para sobrepujar inimigos com admiração. Conforme você apresenta seu Símbolo Sagrado ou arma, você pode alvejar um número de criaturas igual ao seu modificador de Carisma (mínimo de uma criatura) que você possa ver a até 60 pés de você. Cada alvo deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Amedrontado por 1 minuto ou até que sofra qualquer dano. Feature/&PowerPaladinAbjureFoesTitle=Abjurar Inimigos +Feature/&PowerPaladinRestoringTouchDescription=Quando você usa Lay On Hands em uma criatura, você também pode remover uma ou mais das seguintes condições da criatura: Blinded, Charmed, Deafened, Frightened, Paralyzed ou Stunned. Você deve gastar 5 Pontos de Vida do pool de cura de Lay On Hands para cada uma dessas condições que você remover. +Feature/&PowerPaladinRestoringTouchTitle=Restaurando o toque Feature/&PowerRangerNatureShroudDescription=Você usa os poderes da natureza para se esconder brevemente da vista. Como uma ação bônus, você pode magicamente se tornar invisível, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar essa habilidade um número de vezes igual ao seu modificador de atributo Sabedoria, e você recupera todos os usos gastos quando termina um descanso longo. Feature/&PowerRangerNatureShroudTitle=Véu da Natureza Feature/&PowerRangerTirelessDescription=Forças primordiais agora ajudam a abastecer você em suas jornadas, concedendo os seguintes benefícios. Como uma ação bônus, você pode dar a si mesmo um número de Pontos de Vida Temporários igual a 1d8 mais metade do seu nível de Patrulheiro (arredondado para cima). Você pode usar essa habilidade um número de vezes igual ao seu modificador de Sabedoria (mínimo de uma vez), e você recupera todos os usos gastos quando termina um Descanso Longo. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 3c4e256ce4..808218bc17 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Habilitar True StrikeAbjure Foes no nível 9 ModUi/&EnablePaladinChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] ModUi/&EnablePaladinLayOnHands2024=Habilitar Impor as Mãos versão 5e 2024 [ação bônus] +ModUi/&EnablePaladinRestoringTouch2024=Habilite Restaurando o Toque para substituir Toque de Limpeza no nível 14 ModUi/&EnablePaladinSmite2024=Habilitar Divine Smite versão 5e 2024 [ação bônus] ModUi/&EnablePaladinSpellCastingAtLevel1=Habilitar conjuração de feitiços no nível 1 em vez de 2 ModUi/&EnablePcgRandom=Habilitar um algoritmo de gerador aleatório melhor [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index d94b7dee3e..36765cce01 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=Свободным действие Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Божественного канала этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Святой символ или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Испуга в течение 1 минуты или пока не получит урон. Feature/&PowerPaladinAbjureFoesTitle=Отречься от врагов +Feature/&PowerPaladinRestoringTouchDescription=Когда вы используете Возложение рук на существо, вы также можете снять с существа одно или несколько из следующих состояний: Ослепление, Очарование, Оглушение, Испуг, Парализованность или Оглушение. Вы должны потратить 5 очков здоровья из запаса исцеления Возложения рук для каждого из этих состояний, которые вы снимаете. +Feature/&PowerPaladinRestoringTouchTitle=Восстановление осязания Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса Feature/&PowerRangerTirelessDescription=Первобытные силы теперь помогают вам подпитываться в ваших путешествиях, предоставляя вам следующие преимущества. В качестве бонусного действия вы можете дать себе количество Временных очков здоровья, равное 1d8 плюс половина вашего уровня рейнджера (округленное вверх). Вы можете использовать эту функцию количество раз, равное вашему модификатору Мудрости (минимум один раз), и вы восстановите все потраченные использования, когда закончите Длительный отдых. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 0e0a6ff1fb..609aab5875 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию загово ModUi/&EnablePaladinAbjureFoes2024=Включить Отречение от врагов на уровне 9 ModUi/&EnablePaladinChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] ModUi/&EnablePaladinLayOnHands2024=Включить Возложение рук 5e 2024 версия [бонусное действие] +ModUi/&EnablePaladinRestoringTouch2024=Включите Восстанавливающее прикосновение, чтобы заменить Очищающее прикосновение на уровне 14 ModUi/&EnablePaladinSmite2024=Включить Divine Smite 5e 2024 версии [бонусное действие] ModUi/&EnablePaladinSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го ModUi/&EnablePcgRandom=Включить улучшенный алгоритм генерации случайных чисел [https://www.pcg-random.org] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 023afa9263..dc2822d6cd 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -215,6 +215,8 @@ Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以 Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 Feature/&PowerPaladinAbjureFoesDescription=作为一个动作,你可以花费一次该职业的神圣引导来让敌人感到敬畏。当你展示你的圣徽或武器时,你可以瞄准你在 60 英尺范围内看到的等于你的魅力调整值(至少一个生物)数量的生物。每个目标必须成功进行智慧豁免检定,否则会处于恐惧状态 1 分钟或直到受到任何伤害。 Feature/&PowerPaladinAbjureFoesTitle=咒骂敌人 +Feature/&PowerPaladinRestoringTouchDescription=当你对生物使用圣疗时,你还可以移除该生物的下列一种或多种状态:失明、魅惑、耳聋、惊恐、麻痹或昏迷。你必须从圣疗治疗池中消耗 5 点生命值来移除每种状态。 +Feature/&PowerPaladinRestoringTouchTitle=恢复触觉 Feature/&PowerRangerNatureShroudDescription=你利用自然的力量短暂地隐藏自己。作为奖励行动,你可以神奇地隐形,连同你穿着或携带的任何装备,直到你的下一回合开始。你可以使用此功能的次数等于你的智慧属性修正值,当你完成长时间休息时,你可以恢复所有已消耗的使用次数。 Feature/&PowerRangerNatureShroudTitle=自然面纱 Feature/&PowerRangerTirelessDescription=原始力量现在可为您的旅途提供能量,并为您带来以下好处。作为奖励行动,您可以为自己提供临时生命值,等于 1d8 加上您游侠等级的一半(向上取整)。您可以使用此功能的次数等于您的智慧调整值(至少一次),当您完成长时间休息时,您可以恢复所有已消耗的使用次数。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index f7cde31fca..11978b5ec8 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -173,6 +173,7 @@ ModUi/&EnableOneDndTrueStrikeCantrip=启用 True Strike 5 ModUi/&EnablePaladinAbjureFoes2024=在 9 级时启用Abjure Foes ModUi/&EnablePaladinChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] ModUi/&EnablePaladinLayOnHands2024=启用圣疗术 5e 2024 版本[奖励行动] +ModUi/&EnablePaladinRestoringTouch2024=在第 14 级启用恢复之触来替换清洁之触 ModUi/&EnablePaladinSmite2024=启用Divine Smite 5e 2024 版本[奖励行动] ModUi/&EnablePaladinSpellCastingAtLevel1=在 1 级(而非 2 级)启用施法 ModUi/&EnablePcgRandom=启用更好的随机生成器算法[https://www.pcg-random.org] From 1150b18af69b9514b875088e99fe5a39b4f638f1 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 13:56:14 -0800 Subject: [PATCH 23/42] add restoring touch behavior --- .../ChangelogHistory.txt | 10 +-- .../Models/2024PaladinContext.cs | 79 ++++++++++++++++++- .../Translations/de/Others-de.txt | 6 ++ .../Translations/en/Others-en.txt | 6 ++ .../Translations/es/Others-es.txt | 6 ++ .../Translations/fr/Others-fr.txt | 6 ++ .../Translations/it/Others-it.txt | 6 ++ .../Translations/ja/Others-ja.txt | 6 ++ .../Translations/ko/Others-ko.txt | 6 ++ .../Translations/pt-BR/Others-pt-BR.txt | 6 ++ .../Translations/ru/Others-ru.txt | 6 ++ .../Translations/zh-CN/Others-zh-CN.txt | 6 ++ 12 files changed, 142 insertions(+), 7 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 84df05ece8..dfe193a14b 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -3,6 +3,11 @@ - added Paladin, Ranger, and Sorcerer tabletop 2024 settings - fixed custom models rendering, and off-hand Katanas +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.41: ATTENTION: bootstrap feels much slower with custom blender models parsing. need feedback from user base. @@ -27,11 +32,6 @@ ATTENTION: bootstrap feels much slower with custom blender models parsing. need - fixed Pact of Chain bind chain usages when acquired as a 2024 invocation - fixed Thunder Gauntlet interaction with Cleaving Attack, and Power Attack feats -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.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 diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index ab7265b9c4..5f1f8d8ae5 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -1,7 +1,9 @@ using System; using System.Collections; +using System.Collections.Generic; using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; +using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -68,11 +70,42 @@ internal static partial class Tabletop2024Context .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); - internal static void LoadPaladinRestoringTouch() + private static readonly ConditionDefinition[] RestoringTouchConditions = + [ + ConditionDefinitions.ConditionFrightened, + ConditionDefinitions.ConditionBlinded, + ConditionDefinitions.ConditionCharmed, + ConditionDefinitions.ConditionParalyzed, + ConditionDefinitions.ConditionStunned + ]; + + private static void LoadPaladinRestoringTouch() { PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); - //TODO: add subpowers and logic on custom behavior + foreach (var condition in RestoringTouchConditions) + { + var conditionTitle = condition.FormatTitle(); + var title = "PowerPaladinRestoringTouchSubPowerTitle".Formatted(Category.Feature, conditionTitle); + var description = + "PowerPaladinRestoringTouchSubPowerDescription".Formatted(Category.Feature, conditionTitle); + + _ = FeatureDefinitionPowerSharedPoolBuilder + .Create($"PowerPaladinRestoringTouch{condition.Name}") + .SetGuiPresentation(title, description) + .SetSharedPool(ActivationTime.NoCost, PowerPaladinRestoringTouch, 5) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetConditionForm(condition, ConditionForm.ConditionOperation.RemoveDetrimentalAll) + .Build()) + .Build()) + .AddToDB(); + } } internal static void SwitchPaladinSpellCastingAtOne() @@ -193,6 +226,48 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, { yield break; } + + var caster = action.ActingCharacter; + var rulesetCaster = caster.RulesetCharacter; + var target = action.ActionParams.TargetCharacters[0]; + var rulesetTarget = target.RulesetCharacter; + var usablePowerPool = PowerProvider.Get(PowerPaladinRestoringTouch, rulesetCaster); + + while (rulesetCaster.GetRemainingUsesOfPower(usablePowerPool) > 0) + { + var usablePowers = new List(); + + foreach (var condition in RestoringTouchConditions) + { + if (!rulesetTarget.HasConditionOfTypeOrSubType(condition.Name)) + { + continue; + } + + var power = GetDefinition( + $"PowerPaladinRestoringTouch{condition.Name}"); + var usablePower = PowerProvider.Get(power, rulesetCaster); + + usablePowers.Add(usablePower); + rulesetCaster.UsablePowers.Add(usablePower); + } + + if (usablePowers.Count == 0) + { + yield break; + } + + yield return caster.MyReactToSpendPowerBundle( + usablePowerPool, + [target], + caster, + "RestoringTouch"); + + foreach (var usablePower in usablePowers) + { + rulesetCaster.UsablePowers.Remove(usablePower); + } + } } } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 6697b12bec..2d068a1564 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Überlegene Verteidigung Feature/&PowerPaladinAbjureFoesDescription=Als Aktion können Sie eine Verwendung des Kanalgöttlichkeitszaubers dieser Klasse aufwenden, um Feinde mit Ehrfurcht zu überwältigen. Wenn Sie Ihr heiliges Symbol oder Ihre Waffe präsentieren, können Sie eine Anzahl von Kreaturen in Höhe Ihres Charisma-Modifikators (mindestens eine Kreatur) anvisieren, die Sie innerhalb von 60 Fuß um sich herum sehen können. Jedes Ziel muss einen Weisheitsrettungswurf bestehen oder sich 1 Minute lang im Zustand „Verängstigt“ befinden oder bis es Schaden nimmt. Feature/&PowerPaladinAbjureFoesTitle=Feinde abschwören Feature/&PowerPaladinRestoringTouchDescription=Wenn Sie Handauflegen auf eine Kreatur anwenden, können Sie außerdem einen oder mehrere der folgenden Zustände von der Kreatur entfernen: Blindheit, Bezauberung, Taubheit, Angst, Lähmung oder Betäubung. Für jeden dieser Zustände, die Sie entfernen, müssen Sie 5 Trefferpunkte aus dem Heilungspool von Handauflegen aufwenden. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Wenn Sie Handauflegen auf eine Kreatur anwenden, können Sie auch {0} entfernen. Sie müssen 5 Trefferpunkte aus dem Heilungspool von Handauflegen aufwenden. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Berührung wiederherstellen: {0} Feature/&PowerPaladinRestoringTouchTitle=Berührung wiederherstellen Feature/&PowerRangerNatureShroudDescription=Sie nutzen die Kräfte der Natur, um sich kurzzeitig vor Blicken zu verstecken. Als Bonusaktion können Sie sich bis zum Beginn Ihres nächsten Zuges auf magische Weise unsichtbar machen, zusammen mit der gesamten Ausrüstung, die Sie tragen oder bei sich haben. Sie können diese Funktion so oft verwenden, wie Ihr Weisheitsattributmodifikator es vorgibt, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Pause beenden. Feature/&PowerRangerNatureShroudTitle=Schleier der Natur @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Sie können Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Sie können auf Sneak-Attack-Würfel verzichten, um einen zusätzlichen Effekt anzuwenden. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Listiger Schlag Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Listiger Schlag +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Sie können 5 Punkte aus Ihrem Heilungspool ausgeben, um einen schädlichen Zustand zu beseitigen. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Beseitigen Sie einen schädlichen Zustand. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Berührung wiederherstellen +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Berührung wiederherstellen Reaction/&ReactionSpendPowerBundleTitle=Macht ausgeben Reaction/&ReadiedAction{0}Description=Bereit {0} Reaction/&ReadiedAction{0}Title=Bereit {0} diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index bf6777e096..1c021a11bf 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense Feature/&PowerPaladinAbjureFoesDescription=As an action, you can expend one use of this class's Channel Divinity to overwhelm foes with awe. As you present your Holy Symbol or weapon, you can target a number of creatures equal to your Charisma modifier (minimum of one creature) that you can see within 60 feet of yourself. Each target must succeed on a Wisdom saving throw or have the Frightened condition for 1 minute or until it takes any damage. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerPaladinRestoringTouchDescription=When you use Lay On Hands on a creature, you can also remove one or more of the following conditions from the creature: Blinded, Charmed, Deafened, Frightened, Paralyzed, or Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands for each of these conditions you remove. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=When you use Lay On Hands on a creature, you can also remove {0}. You must expend 5 Hit Points from the healing pool of Lay On Hands. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Restoring Touch: {0} Feature/&PowerPaladinRestoringTouchTitle=Restoring Touch Feature/&PowerRangerNatureShroudDescription=You draw on the powers of nature to hide yourself from view briefly. As a bonus action, you can magically become invisible, along with any equipment you are wearing or carrying, until the start of your next turn. You can use this feature a number of times equal to your Wisdom attribute modifier, and you regain all expended uses when you finish a long rest. Feature/&PowerRangerNatureShroudTitle=Nature's Veil @@ -338,6 +340,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=You can for Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=You can forgo Sneak Attack dice to apply an additional effect. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Cunning Strike Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Cunning Strike +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=You can spend 5 points from your healing pool to remove a detrimental condition. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remove a detrimental condition. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restoring Touch +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restoring Touch Reaction/&ReactionSpendPowerBundleTitle=Spend Power Reaction/&ReadiedAction{0}Description=Readied {0} Reaction/&ReadiedAction{0}Title=Readied {0} diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 3577f4ce15..bf2c23cec6 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior Feature/&PowerPaladinAbjureFoesDescription=Como acción, puedes gastar un uso de la habilidad Canalizar divinidad de esta clase para abrumar a los enemigos con asombro. Cuando presentes tu Símbolo Sagrado o tu arma, puedes seleccionar como objetivo una cantidad de criaturas igual a tu modificador de Carisma (un mínimo de una criatura) que puedas ver a 60 pies o menos de ti. Cada objetivo debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado durante 1 minuto o hasta que sufra algún daño. Feature/&PowerPaladinAbjureFoesTitle=Abjurar enemigos Feature/&PowerPaladinRestoringTouchDescription=Cuando usas Imposición de manos sobre una criatura, también puedes eliminar una o más de las siguientes condiciones de la criatura: cegada, encantada, ensordecedora, asustada, paralizada o aturdida. Debes gastar 5 puntos de vida de la reserva de sanación de Imposición de manos por cada una de estas condiciones que elimines. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Cuando usas Imposición de manos sobre una criatura, también puedes eliminar {0}. Debes gastar 5 puntos de vida de la reserva de sanación de Imposición de manos. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Restaurando el tacto: {0} Feature/&PowerPaladinRestoringTouchTitle=Restaurando el tacto Feature/&PowerRangerNatureShroudDescription=Recurres a los poderes de la naturaleza para ocultarte de la vista durante un breve período. Como acción adicional, puedes volverte invisible mágicamente, junto con cualquier equipo que lleves puesto o que lleves encima, hasta el comienzo de tu siguiente turno. Puedes usar esta característica una cantidad de veces igual a tu modificador de atributo Sabiduría, y recuperas todos los usos gastados cuando terminas un descanso prolongado. Feature/&PowerRangerNatureShroudTitle=El velo de la naturaleza @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puedes renu Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puedes renunciar a los dados de Ataque Furtivo para aplicar un efecto adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Golpe astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Golpe astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puedes gastar 5 puntos de tu reserva de curación para eliminar una condición perjudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminar una condición perjudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando el tacto +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando el tacto Reaction/&ReactionSpendPowerBundleTitle=Poder de gasto Reaction/&ReadiedAction{0}Description=Listo {0} Reaction/&ReadiedAction{0}Title=Listo {0} diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 5236bed21b..530dff8f86 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure Feature/&PowerPaladinAbjureFoesDescription=En tant qu'action, vous pouvez dépenser une utilisation de la capacité Canalisation de divinité de cette classe pour submerger vos ennemis de crainte. Lorsque vous présentez votre Symbole sacré ou votre arme, vous pouvez cibler un nombre de créatures égal à votre modificateur de Charisme (minimum d'une créature) que vous pouvez voir à 18 mètres ou moins de vous. Chaque cible doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayé pendant 1 minute ou jusqu'à ce qu'elle subisse des dégâts. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerPaladinRestoringTouchDescription=Lorsque vous utilisez Imposition des mains sur une créature, vous pouvez également lui retirer une ou plusieurs des conditions suivantes : Aveuglement, Charmé, Sourd, Effrayé, Paralysé ou Étourdi. Vous devez dépenser 5 points de vie de la réserve de soins d'Imposition des mains pour chacune de ces conditions que vous supprimez. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Lorsque vous utilisez Imposition des mains sur une créature, vous pouvez également retirer {0}. Vous devez dépenser 5 points de vie de la réserve de soins d'Imposition des mains. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Restaurer le toucher : {0} Feature/&PowerPaladinRestoringTouchTitle=Restaurer le toucher Feature/&PowerRangerNatureShroudDescription=Vous faites appel aux pouvoirs de la nature pour vous cacher temporairement de la vue. En tant qu'action bonus, vous pouvez devenir invisible par magie, ainsi que tout équipement que vous portez ou transportez, jusqu'au début de votre prochain tour. Vous pouvez utiliser cette capacité un nombre de fois égal à votre modificateur d'attribut Sagesse, et vous récupérez toutes les utilisations dépensées lorsque vous terminez un repos long. Feature/&PowerRangerNatureShroudTitle=Le voile de la nature @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Vous pouvez Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Vous pouvez renoncer aux dés d'Attaque sournoise pour appliquer un effet supplémentaire. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Frappe rusée Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Frappe rusée +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Vous pouvez dépenser 5 points de votre réserve de soins pour supprimer une condition néfaste. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Supprimer une condition préjudiciable. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurer le toucher +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurer le toucher Reaction/&ReactionSpendPowerBundleTitle=Dépenser de l'énergie Reaction/&ReadiedAction{0}Description=Prêt {0} Reaction/&ReadiedAction{0}Title=Prêt {0} diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index ca6ee4b218..d214aa20a5 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore Feature/&PowerPaladinAbjureFoesDescription=Come azione, puoi spendere un uso di Channel Divinity di questa classe per sopraffare i nemici con timore reverenziale. Mentre presenti il ​​tuo Simbolo Sacro o la tua arma, puoi prendere di mira un numero di creature pari al tuo modificatore di Carisma (minimo una creatura) che puoi vedere entro 60 piedi da te. Ogni bersaglio deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato per 1 minuto o finché non subisce danni. Feature/&PowerPaladinAbjureFoesTitle=Abiurare i nemici Feature/&PowerPaladinRestoringTouchDescription=Quando usi Lay On Hands su una creatura, puoi anche rimuovere una o più delle seguenti condizioni dalla creatura: Blinded, Charmed, Deafened, Frightened, Parlyzed o Stunned. Devi spendere 5 Punti Ferita dalla riserva di guarigione di Lay On Hands per ciascuna di queste condizioni che rimuovi. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Quando usi Imposizione delle Mani su una creatura, puoi anche rimuovere {0}. Devi spendere 5 Punti Ferita dalla riserva di guarigione di Imposizione delle Mani. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Ripristino del tocco: {0} Feature/&PowerPaladinRestoringTouchTitle=Ripristino del tocco Feature/&PowerRangerNatureShroudDescription=Attingi ai poteri della natura per nasconderti brevemente alla vista. Come azione bonus, puoi diventare magicamente invisibile, insieme a qualsiasi equipaggiamento tu stia indossando o trasportando, fino all'inizio del tuo turno successivo. Puoi usare questa caratteristica un numero di volte pari al tuo modificatore di attributo Saggezza e recuperi tutti gli usi spesi quando termini un riposo lungo. Feature/&PowerRangerNatureShroudTitle=Velo della natura @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puoi rinunc Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puoi rinunciare ai dadi Attacco furtivo per applicare un effetto aggiuntivo. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Colpo astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Colpo astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puoi spendere 5 punti dalla tua riserva di guarigione per rimuovere una condizione dannosa. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminare una condizione dannosa. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Ripristino del tocco +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Ripristino del tocco Reaction/&ReactionSpendPowerBundleTitle=Spendi potere Reaction/&ReadiedAction{0}Description=Preparato {0} Reaction/&ReadiedAction{0}Title=Preparato {0} diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 74797cf0bc..a327cdf035 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 Feature/&PowerPaladinAbjureFoesDescription=アクションとして、このクラスのチャネル ディヴィニティを 1 回使用して、敵を畏怖で圧倒することができます。聖印または武器を提示すると、自分の周囲 60 フィート以内にいる、あなたの魅力修正値に等しい数のクリーチャー (最低 1 体) をターゲットにすることができます。各ターゲットは、知恵セーヴィング スローに成功するか、1 分間またはダメージを受けるまで恐怖状態になります。 Feature/&PowerPaladinAbjureFoesTitle=敵をアブジュアする Feature/&PowerPaladinRestoringTouchDescription=クリーチャーに「レイ オン ハンズ」を使用すると、そのクリーチャーから、盲目、魅了、聴覚喪失、恐怖、麻痺、または気絶のいずれかの状態を 1 つ以上除去することもできます。除去する状態ごとに、「レイ オン ハンズ」の回復プールから 5 ヒット ポイントを消費する必要があります。 +Feature/&PowerPaladinRestoringTouchSubPowerDescription=クリーチャーにレイ オン ハンズを使用するとき、{0} を削除することもできます。レイ オン ハンズの回復プールから 5 ヒット ポイントを消費する必要があります。 +Feature/&PowerPaladinRestoringTouchSubPowerTitle=タッチを回復中: {0} Feature/&PowerPaladinRestoringTouchTitle=タッチの回復 Feature/&PowerRangerNatureShroudDescription=自然の力を利用して、一時的に視界から身を隠すことができます。ボーナス アクションとして、次のターンの開始時まで、着用または所持している装備とともに魔法的に透明になることができます。この特徴は、あなたの「知恵」属性の修正値に等しい回数使用でき、大休憩を終えると消費した使用回数をすべて回復します。 Feature/&PowerRangerNatureShroudTitle=自然のベール @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=追加の Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=追加の効果を適用するために、急襲のダイスを無視することができます。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡猾な攻撃 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡猾な攻撃 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=回復プールから 5 ポイントを消費して、有害な状態を解除できます。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=有害な状態を除去します。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=タッチの回復 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=タッチの回復 Reaction/&ReactionSpendPowerBundleTitle=電力を費やす Reaction/&ReadiedAction{0}Description=準備完了 {0} Reaction/&ReadiedAction{0}Title=準備完了 {0} diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index fcd51d027f..f5ba6e5ab9 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 Feature/&PowerPaladinAbjureFoesDescription=행동으로, 이 클래스의 채널 신성 한 번을 사용하여 적을 경외감으로 압도할 수 있습니다. 신성한 상징이나 무기를 제시할 때, 자신의 카리스마 수정치와 같은 수의 생물(최소 한 마리의 생물)을 대상으로 삼을 수 있으며, 자신으로부터 60피트 이내에서 볼 수 있습니다. 각 대상은 지혜 구원 굴림에 성공해야 하며, 그렇지 않으면 1분 동안 또는 피해를 입을 때까지 공포 상태에 처해야 합니다. Feature/&PowerPaladinAbjureFoesTitle=적들을 버리다 Feature/&PowerPaladinRestoringTouchDescription=생물에 Lay On Hands를 사용할 때 생물에서 다음 조건 중 하나 이상을 제거할 수도 있습니다: 실명, 매혹, 귀머거리, 공포, 마비 또는 기절. 제거한 이러한 조건 각각에 대해 Lay On Hands의 치유 풀에서 5개의 생명력을 소모해야 합니다. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=생물에 Lay On Hands를 사용할 때, {0}도 제거할 수 있습니다. Lay On Hands의 치유 풀에서 5개의 생명력을 소모해야 합니다. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=터치 복원: {0} Feature/&PowerPaladinRestoringTouchTitle=터치를 회복하다 Feature/&PowerRangerNatureShroudDescription=자연의 힘을 빌려 잠시 동안 시야에서 숨습니다. 보너스 액션으로, 다음 턴이 시작될 때까지 착용하거나 휴대하는 모든 장비와 함께 마법처럼 보이지 않게 될 수 있습니다. 이 기능은 지혜 속성 수정치와 같은 횟수만큼 사용할 수 있으며, 긴 휴식을 마치면 소모한 모든 사용 횟수를 회복합니다. Feature/&PowerRangerNatureShroudTitle=자연의 베일 @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=추가 효 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=추가 효과를 적용하기 위해 몰래 공격 주사위를 사용할 수 있습니다. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=교활한 일격 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=교활한 일격 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=치유 풀에서 5포인트를 사용하여 해로운 상태를 제거할 수 있습니다. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=유해한 조건을 제거합니다. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=터치를 회복하다 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=터치를 회복하다 Reaction/&ReactionSpendPowerBundleTitle=소비 전력 Reaction/&ReadiedAction{0}Description=준비됨 {0} Reaction/&ReadiedAction{0}Title=준비됨 {0} diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 01f56a2579..6a43e8b5fe 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior Feature/&PowerPaladinAbjureFoesDescription=Como uma ação, você pode gastar um uso de Canalizar Divindade desta classe para sobrepujar inimigos com admiração. Conforme você apresenta seu Símbolo Sagrado ou arma, você pode alvejar um número de criaturas igual ao seu modificador de Carisma (mínimo de uma criatura) que você possa ver a até 60 pés de você. Cada alvo deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Amedrontado por 1 minuto ou até que sofra qualquer dano. Feature/&PowerPaladinAbjureFoesTitle=Abjurar Inimigos Feature/&PowerPaladinRestoringTouchDescription=Quando você usa Lay On Hands em uma criatura, você também pode remover uma ou mais das seguintes condições da criatura: Blinded, Charmed, Deafened, Frightened, Paralyzed ou Stunned. Você deve gastar 5 Pontos de Vida do pool de cura de Lay On Hands para cada uma dessas condições que você remover. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Quando você usa Lay On Hands em uma criatura, você também pode remover {0}. Você deve gastar 5 Pontos de Vida do pool de cura de Lay On Hands. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Restaurando o toque: {0} Feature/&PowerPaladinRestoringTouchTitle=Restaurando o toque Feature/&PowerRangerNatureShroudDescription=Você usa os poderes da natureza para se esconder brevemente da vista. Como uma ação bônus, você pode magicamente se tornar invisível, junto com qualquer equipamento que esteja vestindo ou carregando, até o início do seu próximo turno. Você pode usar essa habilidade um número de vezes igual ao seu modificador de atributo Sabedoria, e você recupera todos os usos gastos quando termina um descanso longo. Feature/&PowerRangerNatureShroudTitle=Véu da Natureza @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Você pode Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Você pode abrir mão dos dados de Ataque Furtivo para aplicar um efeito adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Ataque astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Ataque astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Você pode gastar 5 pontos do seu estoque de cura para remover uma condição prejudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remova uma condição prejudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando o toque +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando o toque Reaction/&ReactionSpendPowerBundleTitle=Gastar energia Reaction/&ReadiedAction{0}Description=Preparado {0} Reaction/&ReadiedAction{0}Title=Preparado {0} diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 36765cce01..8884e3cc56 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Божественного канала этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Святой символ или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Испуга в течение 1 минуты или пока не получит урон. Feature/&PowerPaladinAbjureFoesTitle=Отречься от врагов Feature/&PowerPaladinRestoringTouchDescription=Когда вы используете Возложение рук на существо, вы также можете снять с существа одно или несколько из следующих состояний: Ослепление, Очарование, Оглушение, Испуг, Парализованность или Оглушение. Вы должны потратить 5 очков здоровья из запаса исцеления Возложения рук для каждого из этих состояний, которые вы снимаете. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Когда вы используете Возложение рук на существо, вы также можете удалить {0}. Вы должны потратить 5 очков здоровья из лечебного запаса Возложения рук. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Восстановление прикосновения: {0} Feature/&PowerPaladinRestoringTouchTitle=Восстановление осязания Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса @@ -338,6 +340,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Вы мож Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Вы можете отказаться от костей Скрытой атаки, чтобы применить дополнительный эффект. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Хитрый удар Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Хитрый удар +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Вы можете потратить 5 очков из своего пула исцеления, чтобы устранить пагубное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Устранить неблагоприятное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Восстановление осязания +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Восстановление осязания Reaction/&ReactionSpendPowerBundleTitle=Использовать силу Reaction/&ReadiedAction{0}Description=Подготовлен {0} Reaction/&ReadiedAction{0}Title=Подготовлен {0} diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index dc2822d6cd..3bf99d7665 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -216,6 +216,8 @@ Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 Feature/&PowerPaladinAbjureFoesDescription=作为一个动作,你可以花费一次该职业的神圣引导来让敌人感到敬畏。当你展示你的圣徽或武器时,你可以瞄准你在 60 英尺范围内看到的等于你的魅力调整值(至少一个生物)数量的生物。每个目标必须成功进行智慧豁免检定,否则会处于恐惧状态 1 分钟或直到受到任何伤害。 Feature/&PowerPaladinAbjureFoesTitle=咒骂敌人 Feature/&PowerPaladinRestoringTouchDescription=当你对生物使用圣疗时,你还可以移除该生物的下列一种或多种状态:失明、魅惑、耳聋、惊恐、麻痹或昏迷。你必须从圣疗治疗池中消耗 5 点生命值来移除每种状态。 +Feature/&PowerPaladinRestoringTouchSubPowerDescription=当你对生物使用圣疗术时,你还可以移除{0}。你必须从圣疗术治疗池中消耗 5 点生命值。 +Feature/&PowerPaladinRestoringTouchSubPowerTitle=恢复触摸:{0} Feature/&PowerPaladinRestoringTouchTitle=恢复触觉 Feature/&PowerRangerNatureShroudDescription=你利用自然的力量短暂地隐藏自己。作为奖励行动,你可以神奇地隐形,连同你穿着或携带的任何装备,直到你的下一回合开始。你可以使用此功能的次数等于你的智慧属性修正值,当你完成长时间休息时,你可以恢复所有已消耗的使用次数。 Feature/&PowerRangerNatureShroudTitle=自然面纱 @@ -339,6 +341,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=你可以 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=你可以放弃偷袭骰来应用额外效果。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡诈打击 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡诈打击 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=您可以从治疗池中花费 5 点来消除有害状况。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=消除有害状况。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=恢复触觉 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=恢复触觉 Reaction/&ReactionSpendPowerBundleTitle=花费力量 Reaction/&ReadiedAction{0}Description=准备好 {0} Reaction/&ReadiedAction{0}Title=准备好 {0} From 0e69ba7ab48ac6455011b0b13776bcbf7bc25a17 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 14:30:33 -0800 Subject: [PATCH 24/42] update collaterals --- ...esentation-InvalidSyntaxTranslation-en.txt | 10 + .../UnfinishedBusinessBlueprints/Assets.txt | 15 + .../ConditionFrightenedByAbjureFoes.json | 292 ++++++++++++++ .../PowerPaladinAbjureFoes.json | 355 ++++++++++++++++++ .../PowerPaladinRestoringTouch.json | 327 ++++++++++++++++ .../PowerRangerTireless.json | 2 +- ...PaladinRestoringTouchConditionBlinded.json | 355 ++++++++++++++++++ ...PaladinRestoringTouchConditionCharmed.json | 355 ++++++++++++++++++ ...adinRestoringTouchConditionFrightened.json | 355 ++++++++++++++++++ ...ladinRestoringTouchConditionParalyzed.json | 355 ++++++++++++++++++ ...PaladinRestoringTouchConditionStunned.json | 355 ++++++++++++++++++ SolastaUnfinishedBusiness/Settings/empty.xml | 2 + 12 files changed, 2777 insertions(+), 1 deletion(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFrightenedByAbjureFoes.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json diff --git a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt index eab3a10d72..9dd7532ebe 100644 --- a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt +++ b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt @@ -1436,6 +1436,16 @@ PowerMetamagicTransmutedSpellDamagePoison Title='Poison Damage'. PowerMetamagicTransmutedSpellDamagePoison Description='Replace the magic effect damage type with Poison Damage.'. PowerMetamagicTransmutedSpellDamageThunder Title='Thunder Damage'. PowerMetamagicTransmutedSpellDamageThunder Description='Replace the magic effect damage type with Thunder Damage.'. +PowerPaladinRestoringTouchConditionBlinded Title='Restoring Touch: Blinded'. +PowerPaladinRestoringTouchConditionBlinded Description='When you use Lay On Hands on a creature, you can also remove Blinded. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +PowerPaladinRestoringTouchConditionCharmed Title='Restoring Touch: Charmed'. +PowerPaladinRestoringTouchConditionCharmed Description='When you use Lay On Hands on a creature, you can also remove Charmed. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +PowerPaladinRestoringTouchConditionFrightened Title='Restoring Touch: Frightened'. +PowerPaladinRestoringTouchConditionFrightened Description='When you use Lay On Hands on a creature, you can also remove Frightened. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +PowerPaladinRestoringTouchConditionParalyzed Title='Restoring Touch: Paralyzed'. +PowerPaladinRestoringTouchConditionParalyzed Description='When you use Lay On Hands on a creature, you can also remove Paralyzed. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +PowerPaladinRestoringTouchConditionStunned Title='Restoring Touch: Stunned'. +PowerPaladinRestoringTouchConditionStunned Description='When you use Lay On Hands on a creature, you can also remove Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. PowerPathOfTheElementsBlizzard Description='While you are raging, all enemy creatures within 5 feet of you at the end of your turn take 1d6 Cold damage. This damage increases to 1d10 at 6th level, 2d6 at 10th level, and 2d10 at 14th level.'. PowerPathOfTheElementsStorm Description='While you are raging, all enemy creatures within 5 feet of you at the end of your turn take 1d6 Lightning damage. This damage increases to 1d10 at 6th level, 2d6 at 10th level, and 2d10 at 14th level.'. PowerPathOfTheElementsWildfire Description='While you are raging, all enemy creatures within 5 feet of you at the end of your turn take 1d6 Fire damage. This damage increases to 1d10 at 6th level, 2d6 at 10th level, and 2d10 at 14th level.'. diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index bf96cea851..53e103c4bf 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -833,6 +833,7 @@ ConditionFortuneFavorTheBoldDisadvantage ConditionDefinition ConditionDefinition ConditionFortuneFavorTheBoldMirrorImage ConditionDefinition ConditionDefinition 070d7914-f939-57b8-99f6-e11d30440529 ConditionFortuneFavorTheBoldPsychicDamage ConditionDefinition ConditionDefinition 959b570b-198d-5fab-8173-11e4d8f984ec ConditionFortuneFavorTheBoldTempHitPoints ConditionDefinition ConditionDefinition 84495a42-6f94-524d-9cb8-751eab8439bd +ConditionFrightenedByAbjureFoes ConditionDefinition ConditionDefinition 1e916b6d-0ed0-5393-b455-78f0277a5443 ConditionGambitBlind ConditionDefinition ConditionDefinition d838fcc8-c42f-5530-a1b2-6318f2695777 ConditionGambitBlindDistracted ConditionDefinition ConditionDefinition 7e76c4c3-151a-5227-a288-6604c44cedc3 ConditionGambitCoordinatedAttack ConditionDefinition ConditionDefinition 847768f3-79cd-5874-b864-e7204caffe1e @@ -3778,8 +3779,15 @@ PowerOathOfThunderThunderousRebuke FeatureDefinitionPower FeatureDefinition 6d50 PowerOathOfTirmarAuraTruth18 FeatureDefinitionPower FeatureDefinition 5cd82cbc-7340-53f8-8994-176d77ab8c46 PowerOathOfTirmarInquisitorZeal FeatureDefinitionPower FeatureDefinition 2c284229-f8bd-505f-b8e0-bd9b6bbb4239 PowerOligathStoneEndurance FeatureDefinitionPower FeatureDefinition aedeb1f8-1203-5fd3-8e13-4a32a06a6dc4 +PowerPaladinAbjureFoes FeatureDefinitionPower FeatureDefinition b144f785-f7c8-542b-91aa-238c787bde68 PowerPaladinAuraOfCourage18 FeatureDefinitionPower FeatureDefinition bc96ec6d-8288-5142-b888-ab75de5b190b PowerPaladinAuraOfProtection18 FeatureDefinitionPower FeatureDefinition 0f6cd166-f6e1-5a8b-ade7-55b3164b7450 +PowerPaladinRestoringTouch FeatureDefinitionPower FeatureDefinition 49bfb7b4-7efa-57bf-87ca-4904f96da60e +PowerPaladinRestoringTouchConditionBlinded FeatureDefinitionPowerSharedPool FeatureDefinition d98333ea-06f2-5a49-b513-59e90ac984d8 +PowerPaladinRestoringTouchConditionCharmed FeatureDefinitionPowerSharedPool FeatureDefinition 8519d7c2-7f4f-528b-8ff4-0f1d6931a46c +PowerPaladinRestoringTouchConditionFrightened FeatureDefinitionPowerSharedPool FeatureDefinition 2978b1c2-1494-54fb-b5a6-4510e8084eb3 +PowerPaladinRestoringTouchConditionParalyzed FeatureDefinitionPowerSharedPool FeatureDefinition 66fc5e47-d4f9-5161-972d-90b0af33b2cc +PowerPaladinRestoringTouchConditionStunned FeatureDefinitionPowerSharedPool FeatureDefinition 507de5df-34b5-56a5-982d-1fac1e758f7e PowerPathOfTheBattleragerArmoredRetribution FeatureDefinitionPower FeatureDefinition 23691274-504d-588b-9846-c535636f5db1 PowerPathOfTheBattleragerArmoredRetributionRetaliate FeatureDefinitionPower FeatureDefinition f46c0f2f-7be4-5ee0-a39b-d2fd41265faa PowerPathOfTheBattleragerBattleragerCharge FeatureDefinitionPower FeatureDefinition d8bddc00-00ed-5c92-855b-37d7daf63b5c @@ -6700,8 +6708,15 @@ PowerOathOfThunderThunderousRebuke FeatureDefinitionPower FeatureDefinitionPower PowerOathOfTirmarAuraTruth18 FeatureDefinitionPower FeatureDefinitionPower 5cd82cbc-7340-53f8-8994-176d77ab8c46 PowerOathOfTirmarInquisitorZeal FeatureDefinitionPower FeatureDefinitionPower 2c284229-f8bd-505f-b8e0-bd9b6bbb4239 PowerOligathStoneEndurance FeatureDefinitionPower FeatureDefinitionPower aedeb1f8-1203-5fd3-8e13-4a32a06a6dc4 +PowerPaladinAbjureFoes FeatureDefinitionPower FeatureDefinitionPower b144f785-f7c8-542b-91aa-238c787bde68 PowerPaladinAuraOfCourage18 FeatureDefinitionPower FeatureDefinitionPower bc96ec6d-8288-5142-b888-ab75de5b190b PowerPaladinAuraOfProtection18 FeatureDefinitionPower FeatureDefinitionPower 0f6cd166-f6e1-5a8b-ade7-55b3164b7450 +PowerPaladinRestoringTouch FeatureDefinitionPower FeatureDefinitionPower 49bfb7b4-7efa-57bf-87ca-4904f96da60e +PowerPaladinRestoringTouchConditionBlinded FeatureDefinitionPowerSharedPool FeatureDefinitionPower d98333ea-06f2-5a49-b513-59e90ac984d8 +PowerPaladinRestoringTouchConditionCharmed FeatureDefinitionPowerSharedPool FeatureDefinitionPower 8519d7c2-7f4f-528b-8ff4-0f1d6931a46c +PowerPaladinRestoringTouchConditionFrightened FeatureDefinitionPowerSharedPool FeatureDefinitionPower 2978b1c2-1494-54fb-b5a6-4510e8084eb3 +PowerPaladinRestoringTouchConditionParalyzed FeatureDefinitionPowerSharedPool FeatureDefinitionPower 66fc5e47-d4f9-5161-972d-90b0af33b2cc +PowerPaladinRestoringTouchConditionStunned FeatureDefinitionPowerSharedPool FeatureDefinitionPower 507de5df-34b5-56a5-982d-1fac1e758f7e PowerPathOfTheBattleragerArmoredRetribution FeatureDefinitionPower FeatureDefinitionPower 23691274-504d-588b-9846-c535636f5db1 PowerPathOfTheBattleragerArmoredRetributionRetaliate FeatureDefinitionPower FeatureDefinitionPower f46c0f2f-7be4-5ee0-a39b-d2fd41265faa PowerPathOfTheBattleragerBattleragerCharge FeatureDefinitionPower FeatureDefinitionPower d8bddc00-00ed-5c92-855b-37d7daf63b5c diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFrightenedByAbjureFoes.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFrightenedByAbjureFoes.json new file mode 100644 index 0000000000..6ca1a977d7 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionFrightenedByAbjureFoes.json @@ -0,0 +1,292 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515", + "conditionType": "Detrimental", + "features": [], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [ + "Damaged" + ], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "40ab6dfd54701724ab98b3f91c846a41", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "09122c24b2751d34a89764b8407ef696", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": false, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Rules/&ConditionFrightenedTitle", + "description": "Rules/&ConditionFrightenedDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "6999cc364fd0b374a8acf35bac34d694", + "m_SubObjectName": "ConditionFrightened", + "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "1e916b6d-0ed0-5393-b455-78f0277a5443", + "contentPack": 9999, + "name": "ConditionFrightenedByAbjureFoes" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json new file mode 100644 index 0000000000..addbc4d389 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Minute", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": true, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Wisdom", + "ignoreCover": true, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 10, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": true, + "savingThrowAffinity": "Negates", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionFrightenedByAbjureFoes", + "conditionDefinition": "Definition:ConditionFrightenedByAbjureFoes:1e916b6d-0ed0-5393-b455-78f0277a5443", + "operation": "Add", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "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": "ChannelDivinity", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerPaladinAbjureFoesTitle", + "description": "Feature/&PowerPaladinAbjureFoesDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "f414c351-72e8-54cd-a491-18c4f6bb7f20", + "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": "b144f785-f7c8-542b-91aa-238c787bde68", + "contentPack": 9999, + "name": "PowerPaladinAbjureFoes" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json new file mode 100644 index 0000000000..e09e733eeb --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json @@ -0,0 +1,327 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerPaladinRestoringTouchTitle", + "description": "Feature/&PowerPaladinRestoringTouchDescription", + "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": "49bfb7b4-7efa-57bf-87ca-4904f96da60e", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouch" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json index cdd66e04d6..9b56f17acf 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerRangerTireless.json @@ -113,7 +113,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "623efe782aaa3a84fbd91053c5fd1b39", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json new file mode 100644 index 0000000000..8de7fee57a --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$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": "ConditionBlinded", + "conditionDefinition": "Definition:ConditionBlinded:0a89e8d8ad8f21649b744191035357b3", + "operation": "RemoveDetrimentalAll", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Blinded", + "description": "When you use Lay On Hands on a creature, you can also remove Blinded. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "d98333ea-06f2-5a49-b513-59e90ac984d8", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouchConditionBlinded" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json new file mode 100644 index 0000000000..1a2ec062a5 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$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": "ConditionCharmed", + "conditionDefinition": "Definition:ConditionCharmed:b625b88863e83524ba652432379348a9", + "operation": "RemoveDetrimentalAll", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Charmed", + "description": "When you use Lay On Hands on a creature, you can also remove Charmed. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "8519d7c2-7f4f-528b-8ff4-0f1d6931a46c", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouchConditionCharmed" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json new file mode 100644 index 0000000000..24695e6069 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$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": "ConditionFrightened", + "conditionDefinition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515", + "operation": "RemoveDetrimentalAll", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Frightened", + "description": "When you use Lay On Hands on a creature, you can also remove Frightened. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "2978b1c2-1494-54fb-b5a6-4510e8084eb3", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouchConditionFrightened" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json new file mode 100644 index 0000000000..7c3d2e488b --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$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": "ConditionParalyzed", + "conditionDefinition": "Definition:ConditionParalyzed:a775cb208dcfe8244bc724c2af40b4fa", + "operation": "RemoveDetrimentalAll", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Paralyzed", + "description": "When you use Lay On Hands on a creature, you can also remove Paralyzed. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "66fc5e47-d4f9-5161-972d-90b0af33b2cc", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouchConditionParalyzed" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json new file mode 100644 index 0000000000..eba88172a1 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json @@ -0,0 +1,355 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$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": "ConditionStunned", + "conditionDefinition": "Definition:ConditionStunned:126115c02838c1a4ca7d25682af5ddb0", + "operation": "RemoveDetrimentalAll", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "HealingPool", + "costPerUse": 5, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Stunned", + "description": "When you use Lay On Hands on a creature, you can also remove Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "507de5df-34b5-56a5-982d-1fac1e758f7e", + "contentPack": 9999, + "name": "PowerPaladinRestoringTouchConditionStunned" +} \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 781b5b492a..e9fe94f9c3 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -670,8 +670,10 @@ false false false + false false false + false false false false From 790a83b8bf46eebebd58ee7a8edddd32d954beb3 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 15:02:25 -0800 Subject: [PATCH 25/42] add Cleric tabletop 2024 setting --- .../Api/DatabaseHelper-RELEASE.cs | 5 +- .../ChangelogHistory.txt | 2 +- .../Displays/ClassesDisplay.cs | 11 +++ .../Displays/GeneralDisplay.cs | 11 +++ .../Models/2024ClericContext.cs | 75 +++++++++++++++++++ .../Models/Tabletop2024Context.cs | 1 + SolastaUnfinishedBusiness/Settings.cs | 1 + .../Spells/SpellBuildersLevel02.cs | 6 +- .../Spells/SpellBuildersLevel05.cs | 6 +- .../Translations/de/Others-de.txt | 2 + .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 2 + .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 2 + .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 2 + .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 2 + .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 2 + .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 2 + .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 2 + .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 2 + .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 2 + .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 29 files changed, 140 insertions(+), 8 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Models/2024ClericContext.cs diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 813185e926..c5b21393a8 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -1001,7 +1001,7 @@ internal static class FeatureDefinitionActionAffinitys { internal static FeatureDefinitionActionAffinity ActionAffinityRangerVanish { get; } = GetDefinition("ActionAffinityRangerVanish"); - + internal static FeatureDefinitionActionAffinity ActionAffinityConditionSurprised { get; } = GetDefinition("ActionAffinityConditionSurprised"); @@ -2594,6 +2594,9 @@ internal static class FeatureDefinitionSubclassChoices internal static FeatureDefinitionSubclassChoice SubclassChoiceDruidCircle { get; } = GetDefinition("SubclassChoiceDruidCircle"); + internal static FeatureDefinitionSubclassChoice SubclassChoiceClericDivineDomains { get; } = + GetDefinition("SubclassChoiceClericDivineDomains"); + internal static FeatureDefinitionSubclassChoice SubclassChoiceFighterMartialArchetypes { get; } = GetDefinition("SubclassChoiceFighterMartialArchetypes"); diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index dfe193a14b..f649039d91 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,6 +1,6 @@ 1.5.97.42: -- added Paladin, Ranger, and Sorcerer tabletop 2024 settings +- added Cleric, Paladin, Ranger, and Sorcerer tabletop 2024 settings - fixed custom models rendering, and off-hand Katanas KNOWN ISSUES: diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index df9ce593d7..6dc1af27b8 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -135,6 +135,17 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchBarbarianRelentlessRage(); } + UI.Label(); + UI.Label("" + Gui.Localize("Class/&ClericTitle") + ":"); + UI.Label(); + + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericToLearnDomainAtLevel3 = toggle; + Tabletop2024Context.SwitchClericDomainLearningLevel(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 261c63c889..d360fc6898 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -397,6 +397,17 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchBarbarianRelentlessRage(); } + UI.Label(); + UI.Label("" + Gui.Localize("Class/&ClericTitle") + ":"); + UI.Label(); + + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericToLearnDomainAtLevel3 = toggle; + Tabletop2024Context.SwitchClericDomainLearningLevel(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs new file mode 100644 index 0000000000..36bc65e9e9 --- /dev/null +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -0,0 +1,75 @@ +using System.Linq; +using SolastaUnfinishedBusiness.Api; +using SolastaUnfinishedBusiness.Builders; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; + +namespace SolastaUnfinishedBusiness.Models; + +internal static partial class Tabletop2024Context +{ + internal static void SwitchClericDomainLearningLevel() + { + var domains = DatabaseRepository.GetDatabase() + .Where(x => x.Name.StartsWith("Domain")) + .ToList(); + + var fromLevel = 3; + var toLevel = 1; + + if (Main.Settings.EnableClericToLearnDomainAtLevel3) + { + fromLevel = 1; + toLevel = 3; + } + + foreach (var featureUnlock in domains + .SelectMany(school => school.FeatureUnlocks + .Where(featureUnlock => featureUnlock.level == fromLevel))) + { + featureUnlock.level = toLevel; + } + + // handle level 2 grants + var featuresGrantedAt2 = new[] + { + ("DomainBattle", "PowerDomainBattleDecisiveStrike"), // + ("DomainDefiler", "FeatureSetDomainDefilerDefileLife"), // UB + ("DomainElementalCold", "PowerDomainElementalIceLance"), // + ("DomainElementalFire", "PowerDomainElementalFireBurst"), // + ("DomainElementalLighting", "PowerDomainElementalLightningBlade"), // + ("DomainInsight", "PowerDomainInsightForeknowledge"), // + ("DomainLaw", "PowerDomainLawForceOfLaw"), // + ("DomainLife", "PowerDomainLifePreserveLife"), // + ("DomainMischief", "PowerDomainMischiefStrikeOfChaos"), // + ("DomainNature", "FeatureSetDomainNatureCharmAnimalsAndPlants"), // UB + ("DomainOblivion", "CampAffinityDomainOblivionPeacefulRest"), // + ("DomainOblivion", "PowerDomainOblivionHeraldOfPain"), // + ("DomainSmith", "FeatureSetDomainSmithDefileLife"), // UB + ("DomainSun", "PowerDomainSunHeraldOfTheSun"), // + ("DomainTempest", "FeatureSetDomainTempestDestructiveWrath") // UB + }; + + var level = Main.Settings.EnableClericToLearnDomainAtLevel3 ? 3 : 2; + + foreach (var (subClassName, featureName) in featuresGrantedAt2) + { + var subClass = DatabaseHelper.GetDefinition(subClassName); + var feature = DatabaseHelper.GetDefinition(featureName); + + subClass.FeatureUnlocks.FirstOrDefault(x => x.FeatureDefinition == feature)!.level = level; + } + + // change spell casting level on Cleric itself + Cleric.FeatureUnlocks + .FirstOrDefault(x => + x.FeatureDefinition == SubclassChoiceClericDivineDomains)!.level = toLevel; + + foreach (var domain in domains) + { + domain.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } +} diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index bd55e46452..04211265d1 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -50,6 +50,7 @@ internal static void LateLoad() SwitchBardSongOfRest(); SwitchBardSuperiorInspiration(); SwitchBardWordsOfCreation(); + SwitchClericDomainLearningLevel(); SwitchDruidMetalArmor(); SwitchDruidPrimalOrderAndRemoveMediumArmorProficiency(); SwitchDruidWeaponProficiency(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 3830467f3f..76877cb3d0 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -286,6 +286,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableBarbarianReckless2024 { get; set; } public bool EnableBarbarianRegainOneRageAtShortRest2024 { get; set; } public bool EnableBarbarianRelentlessRage2024 { get; set; } + public bool EnableClericToLearnDomainAtLevel3 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } public bool EnableDruidPrimalOrder2024 { get; set; } public bool EnableDruidWeaponProficiency2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs index c16cf9222e..194ad1ee7c 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs @@ -669,9 +669,6 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, var usablePower = PowerProvider.Get(powerPool, rulesetCharacter); - rulesetCharacter.UsablePowers.Remove(usablePower); - usablePowers.ForEach(x => rulesetCharacter.UsablePowers.Remove(x)); - yield return actingCharacter.MyReactToSpendPowerBundle( usablePower, [actingCharacter], @@ -679,6 +676,9 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, "BorrowedKnowledge", reactionValidated: ReactionValidated); + rulesetCharacter.UsablePowers.Remove(usablePower); + usablePowers.ForEach(x => rulesetCharacter.UsablePowers.Remove(x)); + yield break; void ReactionValidated(ReactionRequestSpendBundlePower reactionRequest) diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs index 6b06483371..c7a17da425 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel05.cs @@ -779,9 +779,6 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, var usablePower = PowerProvider.Get(powerPool, rulesetCharacter); - rulesetCharacter.UsablePowers.Remove(usablePower); - usablePowers.ForEach(x => rulesetCharacter.UsablePowers.Remove(x)); - yield return actingCharacter.MyReactToSpendPowerBundle( usablePower, [target], @@ -789,6 +786,9 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, "EmpoweredKnowledge", reactionValidated: ReactionValidated); + rulesetCharacter.UsablePowers.Remove(usablePower); + usablePowers.ForEach(x => rulesetCharacter.UsablePowers.Remove(x)); + yield break; void ReactionValidated(ReactionRequestSpendBundlePower reactionRequest) diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 2d068a1564..16e5a3452c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=Wähle eine Kreatur in Reichweite, die 0 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 +Stage/&SubclassSelectionStageDomainFeatures=Funktionen von Divine Domain +Stage/&SubclassSelectionStageDomainHeader=Göttliche Domäne Tag/&PrimalOrderCantripSpecialTagTitle=Zauberspruch der Urordnung ToolTip/&CheckBoxDefaultPartyTitle=Aktivieren Sie dieses Kontrollkästchen, um Ihre Standardgruppe festzulegen, wenn Sie neue Abenteuer beginnen oder benutzerdefinierte Orte testen. Sie können bis zu {0} Helden nach dem First-In/First-Out-Prinzip auswählen. Tooltip/&AdvancementByCasterLevelFormat=Auf den Charakterstufen 5, 11 und 17 diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index dfd1a9911e..b2b36f9fec 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Beta-Inhalte aktivieren [Neustar ModUi/&EnableCancelEditOnRightMouseClick=Abbruchaktionen mit rechtem Mausklick aktivieren ModUi/&EnableCantripsTriggeringOnWarMagic=Erlaube Cantrips, um einen zusätzlichen Bonusangriff von Kriegsmagie auszulösen ModUi/&EnableCharactersOnFireToEmitLight=Charaktere, die brennen, sollten Licht ausstrahlen [Lichtwürfel, Feuerelementar, Feuernarr, Feuerfischadler, Feuerspinne und Familie der Feuerzustände] +ModUi/&EnableClericToLearnDomainAtLevel3=Aktivieren Sie Domäne auf Ebene 3 statt 1. ModUi/&EnableCustomPortraits=Aktivieren Sie Benutzerdefinierte Porträts ModUi/&EnableCustomPortraitsHelp=• Platzieren Sie Ihre benutzerdefinierten Porträts in den Unterordnern Personal oder PreGen, benannt nach dem Vornamen des Helden [z. B.: Anton, Celia, Nialla usw.]\n• Verwenden Sie PNG-Bilder mit einer Größe von 256 x 384 Pixeln und einer Transparenzebene [verwenden Sie GIMP für beste Ergebnisse] ModUi/&EnableDruidMetalArmor2024=Entfernen Sie die Einschränkungen für Metal Armor diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 1c021a11bf..64c4bf52ff 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -422,6 +422,8 @@ Spell/&SpareTheDyingExtendedDescription=Choose a creature within range that has 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 +Stage/&SubclassSelectionStageDomainFeatures=Divine Domain Features +Stage/&SubclassSelectionStageDomainHeader=Divine Domain Tag/&PrimalOrderCantripSpecialTagTitle=Primal Order Cantrip ToolTip/&CheckBoxDefaultPartyTitle=Check this box to set your default party when starting new adventures or testing custom locations. You can select up to {0} heroes in a first-in / first-out basis Tooltip/&AdvancementByCasterLevelFormat=At character levels 5, 11, and 17 diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 9285472752..6045f60528 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Enable beta content [Requires Re ModUi/&EnableCancelEditOnRightMouseClick=Enable cancel actions with right mouse click ModUi/&EnableCantripsTriggeringOnWarMagic=Allow cantrips to trigger War Magic extra bonus attack ModUi/&EnableCharactersOnFireToEmitLight=Characters On Fire should emit light [Cube of Light, Fire Elemental, Fire Jester, Fire Osprey, Fire Spider, and on fire condition family] +ModUi/&EnableClericToLearnDomainAtLevel3=Enable Domain at level 3 instead of 1 ModUi/&EnableCustomPortraits=Enable Custom Portraits ModUi/&EnableCustomPortraitsHelp=• Place your custom portraits under subfolders Personal or PreGen, named after the hero first name [i.e.: Anton, Celia, Nialla, etc.]\n• Use PNG images, 256 x 384 pixels in size, with a transparency layer [use GIMP for best results] ModUi/&EnableDruidMetalArmor2024=Remove Metal Armor restrictions diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index bf2c23cec6..2730b1f0e0 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=Elige una criatura que esté dentro del 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 +Stage/&SubclassSelectionStageDomainFeatures=Características del Dominio Divino +Stage/&SubclassSelectionStageDomainHeader=Dominio Divino Tag/&PrimalOrderCantripSpecialTagTitle=Truco de la Orden Primordial ToolTip/&CheckBoxDefaultPartyTitle=Marca esta casilla para configurar tu grupo predeterminado al iniciar nuevas aventuras o probar ubicaciones personalizadas. Puedes seleccionar hasta {0} héroes por orden de llegada Tooltip/&AdvancementByCasterLevelFormat=En los niveles de personaje 5, 11 y 17 diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 61106a29c7..9cc8834e8b 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Habilitar contenido beta [Requie ModUi/&EnableCancelEditOnRightMouseClick=Habilitar acciones de cancelación con clic derecho del mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que los trucos activen un ataque adicional adicional de Magia de guerra ModUi/&EnableCharactersOnFireToEmitLight=Los personajes On Fire deben emitir luz [Cubo de luz, Elemental de fuego, Bufón de fuego, Águila pescadora de fuego, Araña de fuego y familia de condición en llamas] +ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Dominio en el nivel 3 en lugar del 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloca tus retratos personalizados en las subcarpetas Personal o PreGen, nombradas como el nombre del héroe [es decir: Anton, Celia, Nialla, etc.]\n• Usa imágenes PNG, de 256 x 384 píxeles de tamaño, con una capa de transparencia [usa GIMP para obtener mejores resultados] ModUi/&EnableDruidMetalArmor2024=Eliminar las restricciones de Metal Armor diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 530dff8f86..fb8b86f1c6 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=Choisissez une créature à portée qui 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 +Stage/&SubclassSelectionStageDomainFeatures=Caractéristiques du Domaine Divin +Stage/&SubclassSelectionStageDomainHeader=Domaine Divin Tag/&PrimalOrderCantripSpecialTagTitle=Sort de l'Ordre Primaire ToolTip/&CheckBoxDefaultPartyTitle=Cochez cette case pour définir votre groupe par défaut lorsque vous démarrez de nouvelles aventures ou testez des emplacements personnalisés. Vous pouvez sélectionner jusqu'à {0} héros selon le principe du premier entré/premier sorti Tooltip/&AdvancementByCasterLevelFormat=Aux niveaux de personnage 5, 11 et 17 diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 21835de45a..eab3731c5f 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Activer le contenu bêta [Néces ModUi/&EnableCancelEditOnRightMouseClick=Activer les actions d'annulation avec un clic droit de la souris ModUi/&EnableCantripsTriggeringOnWarMagic=Autoriser les tours de passe-passe à déclencher une attaque bonus supplémentaire de Magie de guerre ModUi/&EnableCharactersOnFireToEmitLight=Les personnages En feu doivent émettre de la lumière [Cube de lumière, Élémentaire de feu, Bouffon de feu, Balbuzard pêcheur de feu, Araignée de feu et famille de conditions en feu] +ModUi/&EnableClericToLearnDomainAtLevel3=Activer le Domaine au niveau 3 au lieu de 1 ModUi/&EnableCustomPortraits=Activer les portraits personnalisés ModUi/&EnableCustomPortraitsHelp=• Placez vos portraits personnalisés dans les sous-dossiers Personal ou PreGen, nommés d'après le prénom du héros [c'est-à-dire : Anton, Celia, Nialla, etc.]\n• Utilisez des images PNG, de 256 x 384 pixels, avec un calque de transparence [utilisez GIMP pour de meilleurs résultats] ModUi/&EnableDruidMetalArmor2024=Supprimer les restrictions de Armure métallique diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index d214aa20a5..5ba745136f 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=Scegli una creatura entro il raggio d'az 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 +Stage/&SubclassSelectionStageDomainFeatures=Caratteristiche del Dominio Divino +Stage/&SubclassSelectionStageDomainHeader=Dominio divino Tag/&PrimalOrderCantripSpecialTagTitle=Trucchetto dell'Ordine Primordiale ToolTip/&CheckBoxDefaultPartyTitle=Seleziona questa casella per impostare il tuo gruppo predefinito quando inizi nuove avventure o quando provi luoghi personalizzati. Puoi selezionare fino a {0} eroi in base al primo arrivato/primo uscito Tooltip/&AdvancementByCasterLevelFormat=Ai livelli dei personaggi 5, 11 e 17 diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index bf4826583e..4e7e5d8bb0 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Abilita contenuto beta [Richiede ModUi/&EnableCancelEditOnRightMouseClick=Abilita l'annullamento delle azioni con il clic destro del mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Consenti ai trucchetti di attivare l'attacco bonus extra Magia di guerra ModUi/&EnableCharactersOnFireToEmitLight=I personaggi In fiamme dovrebbero emettere luce [Cubo di luce, Elementale di fuoco, Giullare di fuoco, Falco pescatore di fuoco, Ragno di fuoco e famiglia di condizioni in fiamme] +ModUi/&EnableClericToLearnDomainAtLevel3=Abilita Dominio al livello 3 invece che 1 ModUi/&EnableCustomPortraits=Abilita Ritratti personalizzati ModUi/&EnableCustomPortraitsHelp=• Posiziona i tuoi ritratti personalizzati nelle sottocartelle Personale o PreGen, chiamate con il nome dell'eroe [ad esempio: Anton, Celia, Nialla, ecc.]\n• Utilizza immagini PNG, di dimensioni 256 x 384 pixel, con un livello di trasparenza [utilizza GIMP per risultati migliori] ModUi/&EnableDruidMetalArmor2024=Rimuovi le restrizioni per Armatura metallica diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index a327cdf035..7cb836e5b2 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=範囲内のヒット ポイントが 0 Spell/&StoneskinExtendedDescription=殴打、斬撃、刺突ダメージに対する耐性を付与します。 Spell/&TrueStrike2024Description=魔法の洞察力のひらめきに導かれて、呪文を唱える際に使用した武器で 1 回の攻撃を行います。攻撃では、攻撃とダメージ ロールに呪文発動能力を使用するか、または [筋力] と [敏捷性] のうち、いずれか高い方を使用します。攻撃が命中した場合、武器の通常のダメージ タイプではなく、光輝ダメージを与えます。レベル 5 (1d6)、11 (2d6)、および 17 (3d6) に達すると、攻撃は追加の光輝ダメージを与えます。 Stage/&IdentityMorphotypeEyeHeader=アイスタイル +Stage/&SubclassSelectionStageDomainFeatures=神の領域の特徴 +Stage/&SubclassSelectionStageDomainHeader=神の領域 Tag/&PrimalOrderCantripSpecialTagTitle=原始秩序の呪文 ToolTip/&CheckBoxDefaultPartyTitle=新しい冒険を開始するとき、またはカスタムの場所をテストするときにデフォルトのパーティーを設定するには、このボックスをチェックします。先入れ先出し方式で最大 {0} 人のヒーローを選択できます Tooltip/&AdvancementByCasterLevelFormat=キャラクターレベル5、11、17の場合 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 4d54b84c7c..10a4db0aa3 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=ベータ版コンテンツを有効にする 戦争魔法の追加ボーナス攻撃を発動できるようにする ModUi/&EnableCharactersOnFireToEmitLight=On Fire のキャラクターは、[Cube of Light、Fire Elemental、Fire Jester、Fire Osprey、Fire Spider、および On Fire 状態ファミリー] を発するはずです。 +ModUi/&EnableClericToLearnDomainAtLevel3=ドメインをレベル1ではなくレベル3で有効にする ModUi/&EnableCustomPortraits=カスタムポートレートを有効にする ModUi/&EnableCustomPortraitsHelp=• カスタムポートレートを、主人公のファーストネームにちなんで名付けたサブフォルダ Personal または PreGen に配置します [例: Anton、Celia、Nialla など]\n• 透明レイヤー付きの 256 x 384 ピクセルの PNG 画像を使用します [最良の結果を得るには GIMP を使用します] ModUi/&EnableDruidMetalArmor2024=金属装甲の制限を解除 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index f5ba6e5ab9..692c1be01e 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=범위 내에 있는 0의 생명력을 Spell/&StoneskinExtendedDescription=타격, 베기, 찌르기 피해에 대한 저항력을 부여합니다. Spell/&TrueStrike2024Description=마법적 통찰력의 섬광에 이끌려 주문을 시전하는 데 사용된 무기로 한 번의 공격을 합니다. 공격은 공격과 피해 굴림에 주문 시전 능력을 사용하거나 힘이나 민첩성 중 더 높은 것을 사용합니다. 공격이 적중하면 무기의 일반적인 피해 유형 대신 Radiant 피해를 입힙니다. 공격은 레벨 5(1d6), 11(2d6), 17(3d6)에 도달하면 추가 Radiant 피해를 입힙니다. Stage/&IdentityMorphotypeEyeHeader=아이 스타일 +Stage/&SubclassSelectionStageDomainFeatures=Divine Domain 기능 +Stage/&SubclassSelectionStageDomainHeader=신성한 도메인 Tag/&PrimalOrderCantripSpecialTagTitle=원시 주문 주문 ToolTip/&CheckBoxDefaultPartyTitle=새로운 모험을 시작하거나 사용자 지정 위치를 테스트할 때 기본 파티를 설정하려면 이 상자를 선택하세요. 선입선출 방식으로 최대 {0}명의 영웅을 선택할 수 있습니다. Tooltip/&AdvancementByCasterLevelFormat=캐릭터 레벨 5, 11, 17에서 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 4fd10541af..6e62f7b0a7 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=베타 콘텐츠 활성화 [재 ModUi/&EnableCancelEditOnRightMouseClick=마우스 오른쪽 클릭으로 취소 작업 활성화 ModUi/&EnableCantripsTriggeringOnWarMagic=주문이 전쟁 마법 추가 보너스 공격을 발동하도록 허용합니다. ModUi/&EnableCharactersOnFireToEmitLight=불타는 캐릭터는 빛을 내야 합니다. [빛의 큐브, 불의 정령, 불의 광대, 불의 물수리, 불의 거미, 불의 상태 패밀리] +ModUi/&EnableClericToLearnDomainAtLevel3=1 대신 3 레벨에서 도메인을 활성화하세요. ModUi/&EnableCustomPortraits=사용자 정의 초상화 활성화 ModUi/&EnableCustomPortraitsHelp=• 영웅의 이름을 따서 Personal 또는 PreGen 하위 폴더에 사용자 지정 초상화를 넣습니다. [예: Anton, Celia, Nialla 등]\n• 투명 레이어가 있는 256 x 384픽셀 크기의 PNG 이미지를 사용합니다. [최상의 결과를 위해 GIMP를 사용하세요] ModUi/&EnableDruidMetalArmor2024=금속 갑옷 제한 제거 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 6a43e8b5fe..8616ef896b 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=Escolha uma criatura dentro do alcance q 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 +Stage/&SubclassSelectionStageDomainFeatures=Características do Domínio Divino +Stage/&SubclassSelectionStageDomainHeader=Domínio Divino Tag/&PrimalOrderCantripSpecialTagTitle=Truque da Ordem Primordial ToolTip/&CheckBoxDefaultPartyTitle=Marque esta caixa para definir seu grupo padrão ao iniciar novas aventuras ou testar locais personalizados. Você pode selecionar até {0} heróis em uma base de primeiro a entrar / primeiro a sair Tooltip/&AdvancementByCasterLevelFormat=Nos níveis de personagem 5, 11 e 17 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 808218bc17..01bd1fd727 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Habilitar conteúdo beta [Requer ModUi/&EnableCancelEditOnRightMouseClick=Habilitar ações de cancelamento com clique direito do mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que truques desencadeiem um ataque bônus extra de Magia de Guerra ModUi/&EnableCharactersOnFireToEmitLight=Personagens Em Chamas devem emitir luz [Cubo de Luz, Elemental de Fogo, Bobo da Corte de Fogo, Águia Pescadora de Fogo, Aranha de Fogo e família de condição em chamas] +ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Domínio no nível 3 em vez de 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloque seus retratos personalizados em subpastas Pessoal ou PreGen, nomeadas com base no primeiro nome do herói [por exemplo: Anton, Celia, Nialla, etc.]\n• Use imagens PNG, com tamanho de 256 x 384 pixels, com uma camada de transparência [use o GIMP para obter melhores resultados] ModUi/&EnableDruidMetalArmor2024=Remover restrições de Armadura de Metal diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 8884e3cc56..7ae4969114 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -422,6 +422,8 @@ Spell/&SpareTheDyingExtendedDescription=Выберите существо в п Spell/&StoneskinExtendedDescription=Даёт сопротивление дробящему, рубящему и колющему урону. Spell/&TrueStrike2024Description=Руководствуясь вспышкой магического озарения, вы совершаете одну атаку оружием, выбранным в качестве материального компонента. Для бросков атаки и урона используется либо ваша заклинательная характеристика, либо Сила или Ловкость, в зависимости от того, что выше. Если атака попадает, то вместо обычного урона оружия она наносит урон излучением. Атака наносит дополнительный урон излучением при достижении 5-го (1d6), 11-го (2d6) и 17-го (3d6) уровней. Stage/&IdentityMorphotypeEyeHeader=Вид глаз +Stage/&SubclassSelectionStageDomainFeatures=Особенности Божественного Домена +Stage/&SubclassSelectionStageDomainHeader=Божественный Домен Tag/&PrimalOrderCantripSpecialTagTitle=Заговор Первобытного порядка ToolTip/&CheckBoxDefaultPartyTitle=Отметьте этот пункт, чтобы задать группу по умолчанию для начала нового приключения или тестирования кастомных локаций. Вы можете выбрать вплоть до {0} персонажей по приципу первый на вход / первый на выход Tooltip/&AdvancementByCasterLevelFormat=На уровнях персонажа 5, 11 и 17. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 609aab5875..5b581c15bd 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Включить бета-контент Боевой магии от заговоров ModUi/&EnableCharactersOnFireToEmitLight=Горящие персонажи должны излучать свет [Куб света, Огненный элементаль, Огненный балагур, Огненная скопа, Огненный паук, а также любые горящие существа] +ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты ModUi/&EnableCustomPortraitsHelp=• Поместите свои пользовательские портреты в подпапки Personal или PreGen с именами, соответствующими именам героев [т.е.: Антон, Селия, Ниалла и т. д.]\n• Используйте изображения размером 256 x 384 пикселей с прозрачным фоном [для достижения наилучших результатов используйте GIMP] ModUi/&EnableDruidMetalArmor2024=Снять ограничения на Металлическую броню diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 3bf99d7665..dcbda25d7d 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -423,6 +423,8 @@ Spell/&SpareTheDyingExtendedDescription=选择范围内生命值为 0 且未死 Spell/&StoneskinExtendedDescription=抵抗钝击、砍击和穿刺伤害。 Spell/&TrueStrike2024Description=在魔法洞察力的指引下,你使用施法武器发动一次攻击。攻击使用你的施法能力进行攻击和伤害掷骰,或使用力量或敏捷(取较高者)。如果攻击命中,则造成辐射伤害,而不是武器的正常伤害类型。当你达到 5 级(1d6)、11 级(2d6)和 17 级(3d6)时,攻击会造成额外的辐射伤害。 Stage/&IdentityMorphotypeEyeHeader=眼型 +Stage/&SubclassSelectionStageDomainFeatures=神域特色 +Stage/&SubclassSelectionStageDomainHeader=神域 Tag/&PrimalOrderCantripSpecialTagTitle=元始秩序戏法 ToolTip/&CheckBoxDefaultPartyTitle=在开始新的冒险或测试自定义位置时,选中此框以设置你的默认队伍。你最多可以选择 {0} 个英雄,以先进先出的方式进行 Tooltip/&AdvancementByCasterLevelFormat=角色等级为 5、11 和 17 时 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 11978b5ec8..1b39562a91 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=启用测试版内容[需要重 ModUi/&EnableCancelEditOnRightMouseClick=通过鼠标右键单击启用取消操作 ModUi/&EnableCantripsTriggeringOnWarMagic=允许戏法触发战争魔法额外奖励攻击 ModUi/&EnableCharactersOnFireToEmitLight=着火的角色应该发光[光之立方体、火元素、火小丑、火鱼鹰、火蜘蛛和着火状态家族] +ModUi/&EnableClericToLearnDomainAtLevel3=在级别 3 而不是 1 启用 域 ModUi/&EnableCustomPortraits=启用自定义肖像 ModUi/&EnableCustomPortraitsHelp=• 将自定义肖像放在子文件夹 PersonalPreGen 下,并以英雄名字命名[例如:Anton、Celia、Nialla 等]\n• 使用 PNG 图像,大小为 256 x 384 像素,带有透明层[使用 GIMP 可获得最佳效果] ModUi/&EnableDruidMetalArmor2024=删除金属装甲限制 From 84210604eae80c3ba1c6d40284f3d7ee7f43de9b Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 15:28:14 -0800 Subject: [PATCH 26/42] add Cleric Channel Divinity 2024 --- .../Api/DatabaseHelper-RELEASE.cs | 3 ++ .../Displays/ClassesDisplay.cs | 7 +++++ .../Displays/GeneralDisplay.cs | 7 +++++ .../Models/2024ClericContext.cs | 29 +++++++++++++++++-- .../Models/Tabletop2024Context.cs | 1 + SolastaUnfinishedBusiness/Settings.cs | 1 + .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 16 files changed, 55 insertions(+), 3 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index c5b21393a8..4c2fb238ca 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -1166,6 +1166,9 @@ internal static FeatureDefinitionAttackModifier internal static class FeatureDefinitionAttributeModifiers { + internal static FeatureDefinitionAttributeModifier AttributeModifierClericChannelDivinity { get; } = + GetDefinition("AttributeModifierClericChannelDivinity"); + internal static FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity { get; } = GetDefinition("AttributeModifierPaladinChannelDivinity"); diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 6dc1af27b8..80cde51b44 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -139,6 +139,13 @@ internal static void DisplayClasses() UI.Label("" + Gui.Localize("Class/&ClericTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnableClericChannelDivinity2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericChannelDivinity2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericChannelDivinity2024 = toggle; + Tabletop2024Context.SwitchClericChannelDivinity(); + } + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index d360fc6898..5d388c7f8a 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -401,6 +401,13 @@ private static void DisplayTabletop2024() UI.Label("" + Gui.Localize("Class/&ClericTitle") + ":"); UI.Label(); + toggle = Main.Settings.EnableClericChannelDivinity2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericChannelDivinity2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericChannelDivinity2024 = toggle; + Tabletop2024Context.SwitchClericChannelDivinity(); + } + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 36bc65e9e9..19d87401b1 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -1,13 +1,36 @@ using System.Linq; -using SolastaUnfinishedBusiness.Api; +using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; namespace SolastaUnfinishedBusiness.Models; internal static partial class Tabletop2024Context { + internal static void SwitchClericChannelDivinity() + { + if (Main.Settings.EnableClericChannelDivinity2024) + { + AttributeModifierClericChannelDivinity.modifierValue = 2; + AttributeModifierClericChannelDivinity.GuiPresentation.description = + "Feature/&PaladinChannelDivinityDescription"; + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(AttributeModifierClericChannelDivinityAdd, 18)); + } + else + { + AttributeModifierClericChannelDivinity.modifierValue = 1; + AttributeModifierClericChannelDivinity.GuiPresentation.description = + "Feature/&ClericChannelDivinityDescription"; + Cleric.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == AttributeModifierClericChannelDivinityAdd && x.Level == 18); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchClericDomainLearningLevel() { var domains = DatabaseRepository.GetDatabase() @@ -54,8 +77,8 @@ internal static void SwitchClericDomainLearningLevel() foreach (var (subClassName, featureName) in featuresGrantedAt2) { - var subClass = DatabaseHelper.GetDefinition(subClassName); - var feature = DatabaseHelper.GetDefinition(featureName); + var subClass = GetDefinition(subClassName); + var feature = GetDefinition(featureName); subClass.FeatureUnlocks.FirstOrDefault(x => x.FeatureDefinition == feature)!.level = level; } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 04211265d1..5002f533ea 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -50,6 +50,7 @@ internal static void LateLoad() SwitchBardSongOfRest(); SwitchBardSuperiorInspiration(); SwitchBardWordsOfCreation(); + SwitchClericChannelDivinity(); SwitchClericDomainLearningLevel(); SwitchDruidMetalArmor(); SwitchDruidPrimalOrderAndRemoveMediumArmorProficiency(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 76877cb3d0..f33df19444 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -286,6 +286,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableBarbarianReckless2024 { get; set; } public bool EnableBarbarianRegainOneRageAtShortRest2024 { get; set; } public bool EnableBarbarianRelentlessRage2024 { get; set; } + public bool EnableClericChannelDivinity2024 { get; set; } public bool EnableClericToLearnDomainAtLevel3 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } public bool EnableDruidPrimalOrder2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index b2b36f9fec..7e84740384 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Beta-Inhalte aktivieren [Neustar ModUi/&EnableCancelEditOnRightMouseClick=Abbruchaktionen mit rechtem Mausklick aktivieren ModUi/&EnableCantripsTriggeringOnWarMagic=Erlaube Cantrips, um einen zusätzlichen Bonusangriff von Kriegsmagie auszulösen ModUi/&EnableCharactersOnFireToEmitLight=Charaktere, die brennen, sollten Licht ausstrahlen [Lichtwürfel, Feuerelementar, Feuernarr, Feuerfischadler, Feuerspinne und Familie der Feuerzustände] +ModUi/&EnableClericChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] ModUi/&EnableClericToLearnDomainAtLevel3=Aktivieren Sie Domäne auf Ebene 3 statt 1. ModUi/&EnableCustomPortraits=Aktivieren Sie Benutzerdefinierte Porträts ModUi/&EnableCustomPortraitsHelp=• Platzieren Sie Ihre benutzerdefinierten Porträts in den Unterordnern Personal oder PreGen, benannt nach dem Vornamen des Helden [z. B.: Anton, Celia, Nialla usw.]\n• Verwenden Sie PNG-Bilder mit einer Größe von 256 x 384 Pixeln und einer Transparenzebene [verwenden Sie GIMP für beste Ergebnisse] diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 6045f60528..156f91996a 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Enable beta content [Requires Re ModUi/&EnableCancelEditOnRightMouseClick=Enable cancel actions with right mouse click ModUi/&EnableCantripsTriggeringOnWarMagic=Allow cantrips to trigger War Magic extra bonus attack ModUi/&EnableCharactersOnFireToEmitLight=Characters On Fire should emit light [Cube of Light, Fire Elemental, Fire Jester, Fire Osprey, Fire Spider, and on fire condition family] +ModUi/&EnableClericChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] ModUi/&EnableClericToLearnDomainAtLevel3=Enable Domain at level 3 instead of 1 ModUi/&EnableCustomPortraits=Enable Custom Portraits ModUi/&EnableCustomPortraitsHelp=• Place your custom portraits under subfolders Personal or PreGen, named after the hero first name [i.e.: Anton, Celia, Nialla, etc.]\n• Use PNG images, 256 x 384 pixels in size, with a transparency layer [use GIMP for best results] diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 9cc8834e8b..024bf03858 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Habilitar contenido beta [Requie ModUi/&EnableCancelEditOnRightMouseClick=Habilitar acciones de cancelación con clic derecho del mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que los trucos activen un ataque adicional adicional de Magia de guerra ModUi/&EnableCharactersOnFireToEmitLight=Los personajes On Fire deben emitir luz [Cubo de luz, Elemental de fuego, Bufón de fuego, Águila pescadora de fuego, Araña de fuego y familia de condición en llamas] +ModUi/&EnableClericChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Dominio en el nivel 3 en lugar del 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloca tus retratos personalizados en las subcarpetas Personal o PreGen, nombradas como el nombre del héroe [es decir: Anton, Celia, Nialla, etc.]\n• Usa imágenes PNG, de 256 x 384 píxeles de tamaño, con una capa de transparencia [usa GIMP para obtener mejores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index eab3731c5f..320d8baf93 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Activer le contenu bêta [Néces ModUi/&EnableCancelEditOnRightMouseClick=Activer les actions d'annulation avec un clic droit de la souris ModUi/&EnableCantripsTriggeringOnWarMagic=Autoriser les tours de passe-passe à déclencher une attaque bonus supplémentaire de Magie de guerre ModUi/&EnableCharactersOnFireToEmitLight=Les personnages En feu doivent émettre de la lumière [Cube de lumière, Élémentaire de feu, Bouffon de feu, Balbuzard pêcheur de feu, Araignée de feu et famille de conditions en feu] +ModUi/&EnableClericChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] ModUi/&EnableClericToLearnDomainAtLevel3=Activer le Domaine au niveau 3 au lieu de 1 ModUi/&EnableCustomPortraits=Activer les portraits personnalisés ModUi/&EnableCustomPortraitsHelp=• Placez vos portraits personnalisés dans les sous-dossiers Personal ou PreGen, nommés d'après le prénom du héros [c'est-à-dire : Anton, Celia, Nialla, etc.]\n• Utilisez des images PNG, de 256 x 384 pixels, avec un calque de transparence [utilisez GIMP pour de meilleurs résultats] diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 4e7e5d8bb0..7272af6320 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Abilita contenuto beta [Richiede ModUi/&EnableCancelEditOnRightMouseClick=Abilita l'annullamento delle azioni con il clic destro del mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Consenti ai trucchetti di attivare l'attacco bonus extra Magia di guerra ModUi/&EnableCharactersOnFireToEmitLight=I personaggi In fiamme dovrebbero emettere luce [Cubo di luce, Elementale di fuoco, Giullare di fuoco, Falco pescatore di fuoco, Ragno di fuoco e famiglia di condizioni in fiamme] +ModUi/&EnableClericChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] ModUi/&EnableClericToLearnDomainAtLevel3=Abilita Dominio al livello 3 invece che 1 ModUi/&EnableCustomPortraits=Abilita Ritratti personalizzati ModUi/&EnableCustomPortraitsHelp=• Posiziona i tuoi ritratti personalizzati nelle sottocartelle Personale o PreGen, chiamate con il nome dell'eroe [ad esempio: Anton, Celia, Nialla, ecc.]\n• Utilizza immagini PNG, di dimensioni 256 x 384 pixel, con un livello di trasparenza [utilizza GIMP per risultati migliori] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 10a4db0aa3..010e923c9f 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=ベータ版コンテンツを有効にする 戦争魔法の追加ボーナス攻撃を発動できるようにする ModUi/&EnableCharactersOnFireToEmitLight=On Fire のキャラクターは、[Cube of Light、Fire Elemental、Fire Jester、Fire Osprey、Fire Spider、および On Fire 状態ファミリー] を発するはずです。 +ModUi/&EnableClericChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする ModUi/&EnableClericToLearnDomainAtLevel3=ドメインをレベル1ではなくレベル3で有効にする ModUi/&EnableCustomPortraits=カスタムポートレートを有効にする ModUi/&EnableCustomPortraitsHelp=• カスタムポートレートを、主人公のファーストネームにちなんで名付けたサブフォルダ Personal または PreGen に配置します [例: Anton、Celia、Nialla など]\n• 透明レイヤー付きの 256 x 384 ピクセルの PNG 画像を使用します [最良の結果を得るには GIMP を使用します] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 6e62f7b0a7..0a825b3f21 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=베타 콘텐츠 활성화 [재 ModUi/&EnableCancelEditOnRightMouseClick=마우스 오른쪽 클릭으로 취소 작업 활성화 ModUi/&EnableCantripsTriggeringOnWarMagic=주문이 전쟁 마법 추가 보너스 공격을 발동하도록 허용합니다. ModUi/&EnableCharactersOnFireToEmitLight=불타는 캐릭터는 빛을 내야 합니다. [빛의 큐브, 불의 정령, 불의 광대, 불의 물수리, 불의 거미, 불의 상태 패밀리] +ModUi/&EnableClericChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 ModUi/&EnableClericToLearnDomainAtLevel3=1 대신 3 레벨에서 도메인을 활성화하세요. ModUi/&EnableCustomPortraits=사용자 정의 초상화 활성화 ModUi/&EnableCustomPortraitsHelp=• 영웅의 이름을 따서 Personal 또는 PreGen 하위 폴더에 사용자 지정 초상화를 넣습니다. [예: Anton, Celia, Nialla 등]\n• 투명 레이어가 있는 256 x 384픽셀 크기의 PNG 이미지를 사용합니다. [최상의 결과를 위해 GIMP를 사용하세요] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 01bd1fd727..1cb18d7bc4 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Habilitar conteúdo beta [Requer ModUi/&EnableCancelEditOnRightMouseClick=Habilitar ações de cancelamento com clique direito do mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que truques desencadeiem um ataque bônus extra de Magia de Guerra ModUi/&EnableCharactersOnFireToEmitLight=Personagens Em Chamas devem emitir luz [Cubo de Luz, Elemental de Fogo, Bobo da Corte de Fogo, Águia Pescadora de Fogo, Aranha de Fogo e família de condição em chamas] +ModUi/&EnableClericChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Domínio no nível 3 em vez de 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloque seus retratos personalizados em subpastas Pessoal ou PreGen, nomeadas com base no primeiro nome do herói [por exemplo: Anton, Celia, Nialla, etc.]\n• Use imagens PNG, com tamanho de 256 x 384 pixels, com uma camada de transparência [use o GIMP para obter melhores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 5b581c15bd..ded33656f9 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=Включить бета-контент Боевой магии от заговоров ModUi/&EnableCharactersOnFireToEmitLight=Горящие персонажи должны излучать свет [Куб света, Огненный элементаль, Огненный балагур, Огненная скопа, Огненный паук, а также любые горящие существа] +ModUi/&EnableClericChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты ModUi/&EnableCustomPortraitsHelp=• Поместите свои пользовательские портреты в подпапки Personal или PreGen с именами, соответствующими именам героев [т.е.: Антон, Селия, Ниалла и т. д.]\n• Используйте изображения размером 256 x 384 пикселей с прозрачным фоном [для достижения наилучших результатов используйте GIMP] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 1b39562a91..10dcde1fc6 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -115,6 +115,7 @@ ModUi/&EnableBetaContent=启用测试版内容[需要重 ModUi/&EnableCancelEditOnRightMouseClick=通过鼠标右键单击启用取消操作 ModUi/&EnableCantripsTriggeringOnWarMagic=允许戏法触发战争魔法额外奖励攻击 ModUi/&EnableCharactersOnFireToEmitLight=着火的角色应该发光[光之立方体、火元素、火小丑、火鱼鹰、火蜘蛛和着火状态家族] +ModUi/&EnableClericChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] ModUi/&EnableClericToLearnDomainAtLevel3=在级别 3 而不是 1 启用 域 ModUi/&EnableCustomPortraits=启用自定义肖像 ModUi/&EnableCustomPortraitsHelp=• 将自定义肖像放在子文件夹 PersonalPreGen 下,并以英雄名字命名[例如:Anton、Celia、Nialla 等]\n• 使用 PNG 图像,大小为 256 x 384 像素,带有透明层[使用 GIMP 可获得最佳效果] From fde9cb580fec31cdeaf36720f2f1d7d086d94d46 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 16:17:16 -0800 Subject: [PATCH 27/42] add Cleric Divine Order 2024 --- .../UnfinishedBusinessBlueprints/Assets.txt | 10 +++ .../FeatureSetClericDivineOrder.json | 41 +++++++++ .../FeatureSetClericProtector.json | 41 +++++++++ .../PointPoolClericThaumaturgeCantrip.json | 39 +++++++++ .../ProficiencyClericProtectorArmor.json | 35 ++++++++ .../ProficiencyClericProtectorWeapons.json | 35 ++++++++ .../Displays/ClassesDisplay.cs | 7 ++ .../Displays/GeneralDisplay.cs | 7 ++ .../Models/2024ClericContext.cs | 84 ++++++++++++++++++- .../Models/Tabletop2024Context.cs | 1 + .../CharacterBuildingManagerPatcher.cs | 1 + .../Patches/RulesetCharacterPatcher.cs | 15 ++++ SolastaUnfinishedBusiness/Settings.cs | 1 + SolastaUnfinishedBusiness/Settings/empty.xml | 3 + .../Settings/zappastuff.xml | 9 +- .../Translations/de/Others-de.txt | 7 ++ .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 7 ++ .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 7 ++ .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 7 ++ .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 7 ++ .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 7 ++ .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 7 ++ .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 7 ++ .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 7 ++ .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 7 ++ .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 35 files changed, 401 insertions(+), 8 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineOrder.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericProtector.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolClericThaumaturgeCantrip.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorArmor.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorWeapons.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 53e103c4bf..6477c74a59 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2599,6 +2599,8 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinition 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinition bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinition dec1968e-1879-5c1d-b8a5-52425ce251bd +FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinition e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 +FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinition 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinition 5fadeec3-0f9b-56d8-9bae-042897333f9a FeatureSetCollegeOfAudacityBonusProficiencies FeatureDefinitionFeatureSet FeatureDefinition 3d2c4b32-659d-5a5a-b4e4-d41030245b3b FeatureSetCollegeOfAudacityMasterfulWhirl FeatureDefinitionFeatureSet FeatureDefinition 014fff71-308f-53ef-8df8-8f9eb5d6b1db @@ -3041,6 +3043,7 @@ PointPoolBardMagicalSecrets18 FeatureDefinitionPointPool FeatureDefinition a0e74 PointPoolBardSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinition ddb6c131-8dc5-5d4f-bace-5ac90015601e PointPoolBattlebornAbilityScore FeatureDefinitionPointPool FeatureDefinition ed582e8e-721b-516a-9406-bb900f7dd6bc PointPoolBlessedWarrior FeatureDefinitionPointPool FeatureDefinition d21b1e64-da60-5bc8-b90b-8de6874d11d2 +PointPoolClericThaumaturgeCantrip FeatureDefinitionPointPool FeatureDefinition ab2e870d-2771-50c2-a550-e1aea0ca783c PointPoolCrystalWyrmkinInnateKnowledge FeatureDefinitionPointPool FeatureDefinition c50af733-f8f6-5645-a9fd-1757be3ba088 PointPoolDomainNatureCantrip FeatureDefinitionPointPool FeatureDefinition 9f0158e9-c393-5a45-af4b-3018b94255db PointPoolDomainNatureSkills FeatureDefinitionPointPool FeatureDefinition c174a89d-083e-5ff2-8577-c5be0255339a @@ -4169,6 +4172,8 @@ ProficiencyBorrowedKnowledgeStealth FeatureDefinitionProficiency FeatureDefiniti ProficiencyBorrowedKnowledgeSurvival FeatureDefinitionProficiency FeatureDefinition f803f7ad-298d-5c3b-a8f9-252c97bca790 ProficiencyCasterFightingArmor FeatureDefinitionProficiency FeatureDefinition 55d4a882-ee48-5f70-91dc-ba26d9729a07 ProficiencyCasterFightingWeapon FeatureDefinitionProficiency FeatureDefinition 048afc36-2db9-5969-8143-0110731e6175 +ProficiencyClericProtectorArmor FeatureDefinitionProficiency FeatureDefinition 321449b2-8359-5a1a-a2a1-42139dc4277d +ProficiencyClericProtectorWeapons FeatureDefinitionProficiency FeatureDefinition 2de0232a-e05b-5a44-9816-89149a5f1e2b ProficiencyCollegeOfAudacityArmor FeatureDefinitionProficiency FeatureDefinition 9ef315d4-a8cb-56a7-9af1-815ddfcadc3d ProficiencyCollegeOfAudacityScimitar FeatureDefinitionProficiency FeatureDefinition dbcdccfc-ab6c-58df-9385-cabffde3d258 ProficiencyCollegeOfThespianFightingStyle FeatureDefinitionProficiency FeatureDefinition 6db1feee-9ed0-5c15-b85d-9c8088a7d884 @@ -5599,6 +5604,8 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet dec1968e-1879-5c1d-b8a5-52425ce251bd +FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 +FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 5fadeec3-0f9b-56d8-9bae-042897333f9a FeatureSetCollegeOfAudacityBonusProficiencies FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 3d2c4b32-659d-5a5a-b4e4-d41030245b3b FeatureSetCollegeOfAudacityMasterfulWhirl FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 014fff71-308f-53ef-8df8-8f9eb5d6b1db @@ -5954,6 +5961,7 @@ PointPoolBardMagicalSecrets18 FeatureDefinitionPointPool FeatureDefinitionPointP PointPoolBardSkillPointsMulticlass FeatureDefinitionPointPool FeatureDefinitionPointPool ddb6c131-8dc5-5d4f-bace-5ac90015601e PointPoolBattlebornAbilityScore FeatureDefinitionPointPool FeatureDefinitionPointPool ed582e8e-721b-516a-9406-bb900f7dd6bc PointPoolBlessedWarrior FeatureDefinitionPointPool FeatureDefinitionPointPool d21b1e64-da60-5bc8-b90b-8de6874d11d2 +PointPoolClericThaumaturgeCantrip FeatureDefinitionPointPool FeatureDefinitionPointPool ab2e870d-2771-50c2-a550-e1aea0ca783c PointPoolCrystalWyrmkinInnateKnowledge FeatureDefinitionPointPool FeatureDefinitionPointPool c50af733-f8f6-5645-a9fd-1757be3ba088 PointPoolDomainNatureCantrip FeatureDefinitionPointPool FeatureDefinitionPointPool 9f0158e9-c393-5a45-af4b-3018b94255db PointPoolDomainNatureSkills FeatureDefinitionPointPool FeatureDefinitionPointPool c174a89d-083e-5ff2-8577-c5be0255339a @@ -7087,6 +7095,8 @@ ProficiencyBorrowedKnowledgeStealth FeatureDefinitionProficiency FeatureDefiniti ProficiencyBorrowedKnowledgeSurvival FeatureDefinitionProficiency FeatureDefinitionProficiency f803f7ad-298d-5c3b-a8f9-252c97bca790 ProficiencyCasterFightingArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 55d4a882-ee48-5f70-91dc-ba26d9729a07 ProficiencyCasterFightingWeapon FeatureDefinitionProficiency FeatureDefinitionProficiency 048afc36-2db9-5969-8143-0110731e6175 +ProficiencyClericProtectorArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 321449b2-8359-5a1a-a2a1-42139dc4277d +ProficiencyClericProtectorWeapons FeatureDefinitionProficiency FeatureDefinitionProficiency 2de0232a-e05b-5a44-9816-89149a5f1e2b ProficiencyCollegeOfAudacityArmor FeatureDefinitionProficiency FeatureDefinitionProficiency 9ef315d4-a8cb-56a7-9af1-815ddfcadc3d ProficiencyCollegeOfAudacityScimitar FeatureDefinitionProficiency FeatureDefinitionProficiency dbcdccfc-ab6c-58df-9385-cabffde3d258 ProficiencyCollegeOfThespianFightingStyle FeatureDefinitionProficiency FeatureDefinitionProficiency 6db1feee-9ed0-5c15-b85d-9c8088a7d884 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineOrder.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineOrder.json new file mode 100644 index 0000000000..d3078e3cff --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineOrder.json @@ -0,0 +1,41 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:FeatureSetClericProtector:99affee5-0d24-56fd-95b5-70d66182aa8a", + "Definition:PointPoolClericThaumaturgeCantrip:ab2e870d-2771-50c2-a550-e1aea0ca783c" + ], + "mode": "Exclusion", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetClericDivineOrderTitle", + "description": "Feature/&FeatureSetClericDivineOrderDescription", + "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": "e4756ac4-4fa8-56d7-8a3d-4e605cd918b4", + "contentPack": 9999, + "name": "FeatureSetClericDivineOrder" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericProtector.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericProtector.json new file mode 100644 index 0000000000..d195c856a4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericProtector.json @@ -0,0 +1,41 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:ProficiencyClericProtectorArmor:321449b2-8359-5a1a-a2a1-42139dc4277d", + "Definition:ProficiencyClericProtectorWeapons:2de0232a-e05b-5a44-9816-89149a5f1e2b" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetClericProtectorTitle", + "description": "Feature/&FeatureSetClericProtectorDescription", + "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": "99affee5-0d24-56fd-95b5-70d66182aa8a", + "contentPack": 9999, + "name": "FeatureSetClericProtector" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolClericThaumaturgeCantrip.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolClericThaumaturgeCantrip.json new file mode 100644 index 0000000000..381ca46d1e --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPointPool/PointPoolClericThaumaturgeCantrip.json @@ -0,0 +1,39 @@ +{ + "$type": "FeatureDefinitionPointPool, Assembly-CSharp", + "poolType": "Cantrip", + "poolAmount": 1, + "restrictedChoices": [], + "uniqueChoices": false, + "spellListOverride": "Definition:SpellListCleric:e728ae4e4306da44983db43e2889e53b", + "ritualOnly": false, + "minSpellLevel": 0, + "maxSpellLevel": 0, + "extraSpellsTag": "Thaumaturge", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PointPoolClericThaumaturgeCantripTitle", + "description": "Feature/&PointPoolClericThaumaturgeCantripDescription", + "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": "ab2e870d-2771-50c2-a550-e1aea0ca783c", + "contentPack": 9999, + "name": "PointPoolClericThaumaturgeCantrip" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorArmor.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorArmor.json new file mode 100644 index 0000000000..c551241920 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorArmor.json @@ -0,0 +1,35 @@ +{ + "$type": "FeatureDefinitionProficiency, Assembly-CSharp", + "proficiencyType": "Armor", + "proficiencies": [ + "HeavyArmorCategory" + ], + "forbiddenItemTags": [], + "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": "321449b2-8359-5a1a-a2a1-42139dc4277d", + "contentPack": 9999, + "name": "ProficiencyClericProtectorArmor" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorWeapons.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorWeapons.json new file mode 100644 index 0000000000..365d21d3b4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionProficiency/ProficiencyClericProtectorWeapons.json @@ -0,0 +1,35 @@ +{ + "$type": "FeatureDefinitionProficiency, Assembly-CSharp", + "proficiencyType": "Weapon", + "proficiencies": [ + "MartialWeaponCategory" + ], + "forbiddenItemTags": [], + "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": "2de0232a-e05b-5a44-9816-89149a5f1e2b", + "contentPack": 9999, + "name": "ProficiencyClericProtectorWeapons" +} \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 80cde51b44..62cbe4952e 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -146,6 +146,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchClericChannelDivinity(); } + toggle = Main.Settings.EnableClericDivineOrder2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineOrder2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericDivineOrder2024 = toggle; + Tabletop2024Context.SwitchClericDivineOrder(); + } + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index 5d388c7f8a..af8a39474f 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -408,6 +408,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchClericChannelDivinity(); } + toggle = Main.Settings.EnableClericDivineOrder2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineOrder2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericDivineOrder2024 = toggle; + Tabletop2024Context.SwitchClericDivineOrder(); + } + toggle = Main.Settings.EnableClericToLearnDomainAtLevel3; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericToLearnDomainAtLevel3"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 19d87401b1..e28b618adc 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -1,7 +1,9 @@ -using System.Linq; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; +using System; +using System.Collections.Generic; +using System.Linq; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.Interfaces; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; @@ -11,6 +13,53 @@ namespace SolastaUnfinishedBusiness.Models; internal static partial class Tabletop2024Context { + private static readonly FeatureDefinitionPointPool PointPoolClericThaumaturgeCantrip = + FeatureDefinitionPointPoolBuilder + .Create("PointPoolClericThaumaturgeCantrip") + .SetGuiPresentation(Category.Feature) + .SetSpellOrCantripPool(HeroDefinitions.PointsPoolType.Cantrip, 1, SpellListDefinitions.SpellListCleric, + "Thaumaturge") + .AddCustomSubFeatures(new ModifyAbilityCheckThaumaturge()) + .AddToDB(); + + private static readonly FeatureDefinitionFeatureSet FeatureSetClericDivineOrder = FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetClericDivineOrder") + .SetGuiPresentation(Category.Feature) + .SetMode(FeatureDefinitionFeatureSet.FeatureSetMode.Exclusion) + .SetFeatureSet( + PointPoolClericThaumaturgeCantrip, + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetClericProtector") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet( + FeatureDefinitionProficiencyBuilder + .Create("ProficiencyClericProtectorArmor") + .SetGuiPresentationNoContent(true) + .SetProficiencies(RuleDefinitions.ProficiencyType.Armor, + EquipmentDefinitions.HeavyArmorCategory) + .AddToDB(), + FeatureDefinitionProficiencyBuilder + .Create("ProficiencyClericProtectorWeapons") + .SetGuiPresentationNoContent(true) + .SetProficiencies(RuleDefinitions.ProficiencyType.Weapon, + EquipmentDefinitions.MartialWeaponCategory) + .AddToDB()) + .AddToDB()) + .AddToDB(); + + internal static void SwitchClericDivineOrder() + { + Cleric.FeatureUnlocks + .RemoveAll(x => x.FeatureDefinition == FeatureSetClericDivineOrder); + + if (Main.Settings.EnablePaladinAbjureFoes2024) + { + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetClericDivineOrder, 1)); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchClericChannelDivinity() { if (Main.Settings.EnableClericChannelDivinity2024) @@ -18,14 +67,12 @@ internal static void SwitchClericChannelDivinity() AttributeModifierClericChannelDivinity.modifierValue = 2; AttributeModifierClericChannelDivinity.GuiPresentation.description = "Feature/&PaladinChannelDivinityDescription"; - Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(AttributeModifierClericChannelDivinityAdd, 18)); } else { AttributeModifierClericChannelDivinity.modifierValue = 1; AttributeModifierClericChannelDivinity.GuiPresentation.description = "Feature/&ClericChannelDivinityDescription"; - Cleric.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == AttributeModifierClericChannelDivinityAdd && x.Level == 18); } Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); @@ -95,4 +142,33 @@ internal static void SwitchClericDomainLearningLevel() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + + private sealed class ModifyAbilityCheckThaumaturge : IModifyAbilityCheck + { + public void MinRoll( + RulesetCharacter character, + int baseBonus, + string abilityScoreName, + string proficiencyName, + List advantageTrends, + List modifierTrends, + ref int rollModifier, ref int minRoll) + { + if (abilityScoreName is not AttributeDefinitions.Intelligence || + proficiencyName is not (SkillDefinitions.Arcana or SkillDefinitions.Religion)) + { + return; + } + + var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); + var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); + var modifier = Math.Max(wisMod, 1); + + rollModifier += modifier; + + modifierTrends.Add(new RuleDefinitions.TrendInfo(modifier, + RuleDefinitions.FeatureSourceType.CharacterFeature, + PointPoolClericThaumaturgeCantrip.Name, PointPoolClericThaumaturgeCantrip)); + } + } } diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 5002f533ea..6eb03c66a0 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -51,6 +51,7 @@ internal static void LateLoad() SwitchBardSuperiorInspiration(); SwitchBardWordsOfCreation(); SwitchClericChannelDivinity(); + SwitchClericDivineOrder(); SwitchClericDomainLearningLevel(); SwitchDruidMetalArmor(); SwitchDruidPrimalOrderAndRemoveMediumArmorProficiency(); diff --git a/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs index 73f8dd72b9..41cefeaedc 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterBuildingManagerPatcher.cs @@ -296,6 +296,7 @@ public static void Prefix([NotNull] CharacterBuildingManager __instance, [NotNul public static void Postfix(CharacterBuildingManager __instance, [NotNull] RulesetCharacterHero hero) { //PATCH: grants cantrip that for whatever reason vanilla has a hard time granting ;-) + GrantCantripFromCustomAcquiredPool(hero, "Thaumaturge"); GrantCantripFromCustomAcquiredPool(hero, "DomainNature"); GrantCantripFromCustomAcquiredPool(hero, "PactTome"); GrantCantripFromCustomAcquiredPool(hero, "PrimalOrder"); diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs index 2347dc4438..a24da7bfa8 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs @@ -1741,6 +1741,21 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool __instance.recoveredFeatures.Add(AttributeModifierPaladinChannelDivinity); } + + //PATCH: support for Clerics to regain one channel divinity usage at short rests + // ReSharper disable once InvertIf + if (Main.Settings.EnableClericChannelDivinity2024 && + restType == RestType.ShortRest && + __instance.GetClassLevel(Cleric) >= 2 && + __instance.UsedChannelDivinity > 0) + { + if (!simulate) + { + __instance.UsedChannelDivinity -= 1; + } + + __instance.recoveredFeatures.Add(AttributeModifierClericChannelDivinity); + } } [UsedImplicitly] diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index f33df19444..14e408f65b 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -287,6 +287,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableBarbarianRegainOneRageAtShortRest2024 { get; set; } public bool EnableBarbarianRelentlessRage2024 { get; set; } public bool EnableClericChannelDivinity2024 { get; set; } + public bool EnableClericDivineOrder2024 { get; set; } public bool EnableClericToLearnDomainAtLevel3 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } public bool EnableDruidPrimalOrder2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index e9fe94f9c3..e75874d46e 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -650,6 +650,9 @@ false false false + false + false + false false false false diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index 36b5dc9a29..6f0fb06800 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -692,6 +692,9 @@ true true true + true + true + true true true true @@ -712,8 +715,10 @@ true true true + true true true + true true true true @@ -1885,8 +1890,4 @@ false true true - 0 - false - false - false \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 16e5a3452c..d7e78ad859 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Verbesserung des brut Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Der zusätzliche Schaden, den Ihr Brutal Strike verursacht, erhöht sich auf 2d10. Darüber hinaus können Sie zwei verschiedene Brutal Strike-Effekte nutzen, wenn Sie Ihre Brutal Strike-Funktion verwenden. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Verbesserung des brutalen Schlags Feature/&FeatureSetBarbarianBrutalStrikeTitle=Brutaler Schlag +Feature/&FeatureSetClericDivineOrderDescription=Sie haben sich einer der folgenden heiligen Rollen Ihrer Wahl verschrieben. +Feature/&FeatureSetClericDivineOrderTitle=Göttliche Ordnung +Feature/&FeatureSetClericProtectorDescription=Durch die Ausbildung für den Kampf erlangen Sie Fertigkeiten im Umgang mit Kampfwaffen und werden mit schweren Rüstungen vertraut. +Feature/&FeatureSetClericProtectorTitle=Schutz Feature/&FeatureSetDruidPrimalOrderDescription=Du hast dich einer der folgenden heiligen Rollen deiner Wahl verschrieben.\n• Magier. Du kennst einen zusätzlichen Zauberspruch aus der Zauberliste des Druiden. Darüber hinaus gibt dir deine mystische Verbindung zur Natur einen Bonus auf deine Intelligenzprüfungen (Arkanes oder Natur). Der Bonus entspricht deinem Weisheitsmodifikator (mindestens + 1).\n• Wächter. Du bist für den Kampf ausgebildet und erlangst Kenntnisse im Umgang mit Kriegswaffen und im Umgang mit mittlerer Rüstung. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Du kennst einen zusätzlichen Zauberspruch aus der Zauberliste des Druiden. Außerdem verleiht dir deine mystische Verbindung zur Natur einen Bonus auf deine Intelligenzwürfe (Arkanes oder Natur). Der Bonus entspricht deinem Weisheitsmodifikator (mindestens + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Zauberer @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Wandern Feature/&PaladinChannelDivinityDescription=Sie können göttliche Energie direkt aus den Äußeren Ebenen kanalisieren und sie verwenden, um magische Effekte zu erzeugen. Sie können die Channel Divinity dieser Klasse zweimal verwenden. Sie erhalten eine der verbrauchten Anwendungen zurück, wenn Sie eine kurze Pause beenden, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Pause beenden. Sie erhalten eine zusätzliche Anwendung, wenn Sie Paladin-Level 11 erreichen. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Sie erlangen Kompetenz in einer anderen Fertigkeit Ihrer Wahl aus der Fertigkeitsliste, die Barbaren auf Stufe 1 zur Verfügung steht. Außerdem können Sie, wenn Sie einen der folgenden Fähigkeitstests nicht bestehen: Akrobatik, Einschüchterung, Wahrnehmung, Heimlichkeit oder Überleben, eine Wut-Verwendung aufwenden, um Ihren Stärkemodifikator zum Wurf hinzuzufügen, wodurch dieser möglicherweise stattdessen erfolgreich ist. Wenn Sie diese Fähigkeit verwenden, stellt Ihre Stärke eine Urkraft dar, die durch Sie fließt und Ihre Beweglichkeit, Haltung und Sinne schärft. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Ursprüngliches Wissen +Feature/&PointPoolClericThaumaturgeCantripDescription=Du kennst einen zusätzlichen Zauberspruch aus der Liste der Kleriker-Zauber. Außerdem verleiht dir deine mystische Verbindung zum Göttlichen einen Bonus auf deine Intelligenzwürfe (Arkanes oder Religion). Der Bonus entspricht deinem Weisheitsmodifikator (mindestens +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Thaumaturg Feature/&PointPoolRangerExpertiseDescription=Wählen Sie zwei Ihrer Fertigkeiten aus, in denen es Ihnen an Fachwissen mangelt. Sie erwerben Fachwissen in diesen Fertigkeiten. Feature/&PointPoolRangerExpertiseTitle=Sachverstand Feature/&PointPoolWizardScholarDescription=Während Sie Magie studiert haben, haben Sie sich auch auf ein akademisches Studienfach spezialisiert. Wählen Sie eine der folgenden Fähigkeiten, in denen Sie sich auskennen: Arkana, Geschichte, Ermittlung, Medizin, Natur oder Religion. Sie sind Experte in der gewählten Fähigkeit. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=Augenstil Stage/&SubclassSelectionStageDomainFeatures=Funktionen von Divine Domain Stage/&SubclassSelectionStageDomainHeader=Göttliche Domäne Tag/&PrimalOrderCantripSpecialTagTitle=Zauberspruch der Urordnung +Tag/&ThaumaturgeCantripSpecialTagTitle=Wundertäter-Cantrip ToolTip/&CheckBoxDefaultPartyTitle=Aktivieren Sie dieses Kontrollkästchen, um Ihre Standardgruppe festzulegen, wenn Sie neue Abenteuer beginnen oder benutzerdefinierte Orte testen. Sie können bis zu {0} Helden nach dem First-In/First-Out-Prinzip auswählen. Tooltip/&AdvancementByCasterLevelFormat=Auf den Charakterstufen 5, 11 und 17 Tooltip/&ChannelDivinityPortraitPoolFormat=Sie haben {0} von {1} Anwendungen von Channel Divinity.\nAlle Anwendungen werden nach einer kurzen oder langen Pause wiederhergestellt. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 7e84740384..501238e479 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Abbruchaktionen mit rechtem Mausklick a ModUi/&EnableCantripsTriggeringOnWarMagic=Erlaube Cantrips, um einen zusätzlichen Bonusangriff von Kriegsmagie auszulösen ModUi/&EnableCharactersOnFireToEmitLight=Charaktere, die brennen, sollten Licht ausstrahlen [Lichtwürfel, Feuerelementar, Feuernarr, Feuerfischadler, Feuerspinne und Familie der Feuerzustände] ModUi/&EnableClericChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] +ModUi/&EnableClericDivineOrder2024=Aktiviere Göttliche Ordnung auf Stufe 1 [Auswahl zwischen schwerer Rüstung/Kampfwaffen-Profi oder Bonus-Zauberspruch und einigen INT-Checks] ModUi/&EnableClericToLearnDomainAtLevel3=Aktivieren Sie Domäne auf Ebene 3 statt 1. ModUi/&EnableCustomPortraits=Aktivieren Sie Benutzerdefinierte Porträts ModUi/&EnableCustomPortraitsHelp=• Platzieren Sie Ihre benutzerdefinierten Porträts in den Unterordnern Personal oder PreGen, benannt nach dem Vornamen des Helden [z. B.: Anton, Celia, Nialla usw.]\n• Verwenden Sie PNG-Bilder mit einer Größe von 256 x 384 Pixeln und einer Transparenzebene [verwenden Sie GIMP für beste Ergebnisse] diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 64c4bf52ff..1f1875da72 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Brutal Strike Improve Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=The extra damage your Brutal Strike deals increases to 2d10. In addition, you can use two different Brutal Strike effects when you use your Brutal Strike feature. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Brutal Strike Improvement Feature/&FeatureSetBarbarianBrutalStrikeTitle=Brutal Strike +Feature/&FeatureSetClericDivineOrderDescription=You have dedicated yourself to one of the following sacred roles of your choice. +Feature/&FeatureSetClericDivineOrderTitle=Divine Order +Feature/&FeatureSetClericProtectorDescription=Trained for battle, you gain proficiency with Martial weapons and training with Heavy armor. +Feature/&FeatureSetClericProtectorTitle=Protector Feature/&FeatureSetDruidPrimalOrderDescription=You have dedicated yourself to one of the following sacred roles of your choice.\n• Magician. You know one extra cantrip from the Druid spell list. In addition, your mystical connection to nature gives you a bonus to your Intelligence (Arcana or Nature) checks. The bonus equals your Wisdom modifier (minimum + 1).\n• Warden. Trained for battle, you gain proficiency with Martial weapons and training with Medium Armor. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=You know one extra cantrip from the Druid spell list. In addition, your mystical connection to nature gives you a bonus to your Intelligence (Arcana or Nature) checks. The bonus equals your Wisdom modifier (minimum + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Magician @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Roving Feature/&PaladinChannelDivinityDescription=You can channel divine energy directly from the Outer Planes, using it to fuel magical effects. You can use this class's Channel Divinity twice. You regain one of its expended uses when you finish a Short Rest, and you regain all expended uses when you finish a Long Rest. You gain an additional use when you reach Paladin level 11. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=You gain proficiency in another skill of your choice from the skill list available to Barbarians at level 1. In addition, whenever you fail one of the following ability checks: Acrobatics, Intimidation, Perception, Stealth, or Survival, you can expend one Rage usage to add your Strength modifier to the roll, potentially causing it to succeed instead. When you use this ability, your Strength represents primal power coursing through you, honing your agility, bearing, and senses. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Primal Knowledge +Feature/&PointPoolClericThaumaturgeCantripDescription=You know one extra cantrip from the Cleric spell list. In addition, your mystical connection to the divine gives you a bonus to your Intelligence (Arcana or Religion) checks. The bonus equals your Wisdom modifier (minimum of +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Thaumaturge Feature/&PointPoolRangerExpertiseDescription=Choose two of your skill proficiencies with which you lack expertise. You gain expertise in those skills. Feature/&PointPoolRangerExpertiseTitle=Expertise Feature/&PointPoolWizardScholarDescription=While studying magic, you also specialized in an academic field of study. Choose one of the following skills in which you have proficiency: Arcana, History, Investigation, Medicine, Nature, or Religion. You have Expertise in the chosen skill. @@ -425,6 +431,7 @@ Stage/&IdentityMorphotypeEyeHeader=Eye Style Stage/&SubclassSelectionStageDomainFeatures=Divine Domain Features Stage/&SubclassSelectionStageDomainHeader=Divine Domain Tag/&PrimalOrderCantripSpecialTagTitle=Primal Order Cantrip +Tag/&ThaumaturgeCantripSpecialTagTitle=Thaumaturge Cantrip ToolTip/&CheckBoxDefaultPartyTitle=Check this box to set your default party when starting new adventures or testing custom locations. You can select up to {0} heroes in a first-in / first-out basis Tooltip/&AdvancementByCasterLevelFormat=At character levels 5, 11, and 17 Tooltip/&ChannelDivinityPortraitPoolFormat=You have {0} out of {1} uses of Channel Divinity.\nAll uses are restored on short or long rest. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index 156f91996a..b71869e81c 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Enable cancel actions with right mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Allow cantrips to trigger War Magic extra bonus attack ModUi/&EnableCharactersOnFireToEmitLight=Characters On Fire should emit light [Cube of Light, Fire Elemental, Fire Jester, Fire Osprey, Fire Spider, and on fire condition family] ModUi/&EnableClericChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] +ModUi/&EnableClericDivineOrder2024=Enable Divine Order at level 1 [choice between heavy armor/martial weapons prof. or bonus cantrip and some INT checks] ModUi/&EnableClericToLearnDomainAtLevel3=Enable Domain at level 3 instead of 1 ModUi/&EnableCustomPortraits=Enable Custom Portraits ModUi/&EnableCustomPortraitsHelp=• Place your custom portraits under subfolders Personal or PreGen, named after the hero first name [i.e.: Anton, Celia, Nialla, etc.]\n• Use PNG images, 256 x 384 pixels in size, with a transparency layer [use GIMP for best results] diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 2730b1f0e0..72fc8a8670 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Mejora de Brutal Stri Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=El daño adicional que inflige tu Golpe Brutal aumenta a 2d10. Además, puedes usar dos efectos de Golpe Brutal diferentes cuando usas tu característica Golpe Brutal. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Mejora de Brutal Strike Feature/&FeatureSetBarbarianBrutalStrikeTitle=Golpe brutal +Feature/&FeatureSetClericDivineOrderDescription=Te has dedicado a uno de los siguientes roles sagrados de tu elección. +Feature/&FeatureSetClericDivineOrderTitle=Orden Divina +Feature/&FeatureSetClericProtectorDescription=Entrenado para la batalla, adquirirás competencia con armas marciales y entrenamiento con armaduras pesadas. +Feature/&FeatureSetClericProtectorTitle=Protector Feature/&FeatureSetDruidPrimalOrderDescription=Te has dedicado a uno de los siguientes roles sagrados de tu elección.\n• Mago. Conoces un truco adicional de la lista de conjuros del Druida. Además, tu conexión mística con la naturaleza te otorga una bonificación a tus pruebas de Inteligencia (Arcana o Naturaleza). La bonificación es igual a tu modificador de Sabiduría (mínimo + 1).\n• Guardián. Entrenado para la batalla, obtienes competencia con armas marciales y entrenamiento con armaduras medianas. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Conoces un truco adicional de la lista de conjuros del druida. Además, tu conexión mística con la naturaleza te otorga una bonificación a tus pruebas de Inteligencia (Arcana o Naturaleza). La bonificación es igual a tu modificador de Sabiduría (mínimo + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Mago @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Errabundo Feature/&PaladinChannelDivinityDescription=Puedes canalizar energía divina directamente desde los Planos Exteriores y usarla para alimentar efectos mágicos. Puedes usar la habilidad Canalizar divinidad de esta clase dos veces. Recuperas uno de sus usos gastados cuando terminas un Descanso breve y recuperas todos los usos gastados cuando terminas un Descanso prolongado. Obtienes un uso adicional cuando alcanzas el nivel 11 de Paladín. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Obtienes competencia en otra habilidad de tu elección de la lista de habilidades disponibles para los bárbaros en el nivel 1. Además, siempre que fallas una de las siguientes pruebas de característica: Acrobacia, Intimidación, Percepción, Sigilo o Supervivencia, puedes gastar un uso de Furia para agregar tu modificador de Fuerza a la tirada, lo que potencialmente hace que tenga éxito en su lugar. Cuando usas esta habilidad, tu Fuerza representa el poder primordial que corre por tu cuerpo, perfeccionando tu agilidad, porte y sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conocimiento primordial +Feature/&PointPoolClericThaumaturgeCantripDescription=Conoces un truco adicional de la lista de conjuros del clérigo. Además, tu conexión mística con lo divino te otorga una bonificación a tus pruebas de Inteligencia (Arcana o Religión). La bonificación es igual a tu modificador de Sabiduría (mínimo de +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Taumaturgo Feature/&PointPoolRangerExpertiseDescription=Elige dos de tus habilidades en las que no eres experto. Ganarás experiencia en esas habilidades. Feature/&PointPoolRangerExpertiseTitle=Pericia Feature/&PointPoolWizardScholarDescription=Mientras estudiabas magia, también te especializaste en un campo académico de estudio. Elige una de las siguientes habilidades en las que tienes competencia: Arcanos, Historia, Investigación, Medicina, Naturaleza o Religión. Tienes Pericia en la habilidad elegida. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=Estilo de ojos Stage/&SubclassSelectionStageDomainFeatures=Características del Dominio Divino Stage/&SubclassSelectionStageDomainHeader=Dominio Divino Tag/&PrimalOrderCantripSpecialTagTitle=Truco de la Orden Primordial +Tag/&ThaumaturgeCantripSpecialTagTitle=Truco del trabajador maravilloso ToolTip/&CheckBoxDefaultPartyTitle=Marca esta casilla para configurar tu grupo predeterminado al iniciar nuevas aventuras o probar ubicaciones personalizadas. Puedes seleccionar hasta {0} héroes por orden de llegada Tooltip/&AdvancementByCasterLevelFormat=En los niveles de personaje 5, 11 y 17 Tooltip/&ChannelDivinityPortraitPoolFormat=Tienes {0} de {1} usos de Canalizar divinidad.\nTodos los usos se restauran con descansos cortos o prolongados. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 024bf03858..6501cf2b0e 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Habilitar acciones de cancelación con ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que los trucos activen un ataque adicional adicional de Magia de guerra ModUi/&EnableCharactersOnFireToEmitLight=Los personajes On Fire deben emitir luz [Cubo de luz, Elemental de fuego, Bufón de fuego, Águila pescadora de fuego, Araña de fuego y familia de condición en llamas] ModUi/&EnableClericChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] +ModUi/&EnableClericDivineOrder2024=Habilita Orden Divina en el nivel 1 [elección entre armadura pesada/armas marciales, truco profesional o adicional y algunas pruebas de INT] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Dominio en el nivel 3 en lugar del 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloca tus retratos personalizados en las subcarpetas Personal o PreGen, nombradas como el nombre del héroe [es decir: Anton, Celia, Nialla, etc.]\n• Usa imágenes PNG, de 256 x 384 píxeles de tamaño, con una capa de transparencia [usa GIMP para obtener mejores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index fb8b86f1c6..dbb7cf7e03 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Amélioration de la f Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Les dégâts supplémentaires infligés par votre Frappe brutale augmentent à 2d10. De plus, vous pouvez utiliser deux effets de Frappe brutale différents lorsque vous utilisez votre capacité Frappe brutale. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Amélioration des frappes brutales Feature/&FeatureSetBarbarianBrutalStrikeTitle=Grève brutale +Feature/&FeatureSetClericDivineOrderDescription=Vous vous êtes consacré à l’un des rôles sacrés suivants de votre choix. +Feature/&FeatureSetClericDivineOrderTitle=Ordre Divin +Feature/&FeatureSetClericProtectorDescription=Entraîné au combat, vous acquérez une maîtrise des armes martiales et une formation avec les armures lourdes. +Feature/&FeatureSetClericProtectorTitle=Protecteur Feature/&FeatureSetDruidPrimalOrderDescription=Vous vous êtes consacré à l'un des rôles sacrés suivants de votre choix.\n• Magicien. Vous connaissez un sort supplémentaire de la liste des sorts du Druide. De plus, votre connexion mystique avec la nature vous confère un bonus à vos tests d'Intelligence (Arcanes ou Nature). Le bonus est égal à votre modificateur de Sagesse (minimum + 1).\n• Gardien. Entraîné au combat, vous maîtrisez les armes martiales et vous vous entraînez aux armures intermédiaires. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Vous connaissez un sort supplémentaire de la liste des sorts du druide. De plus, votre connexion mystique avec la nature vous confère un bonus à vos tests d'Intelligence (Arcanes ou Nature). Le bonus est égal à votre modificateur de Sagesse (minimum + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Magicien @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Itinérant Feature/&PaladinChannelDivinityDescription=Vous pouvez canaliser l'énergie divine directement depuis les plans extérieurs, l'utilisant pour alimenter des effets magiques. Vous pouvez utiliser la canalisation de divinité de cette classe deux fois. Vous récupérez l'une de ses utilisations dépensées lorsque vous terminez un repos court, et vous récupérez toutes ses utilisations dépensées lorsque vous terminez un repos long. Vous obtenez une utilisation supplémentaire lorsque vous atteignez le niveau 11 de paladin. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Vous gagnez la maîtrise d'une autre compétence de votre choix dans la liste des compétences disponibles pour les barbares au niveau 1. De plus, chaque fois que vous échouez à l'un des tests de caractéristique suivants : Acrobaties, Intimidation, Perception, Discrétion ou Survie, vous pouvez dépenser une utilisation de Rage pour ajouter votre modificateur de Force au jet, ce qui peut potentiellement le faire réussir. Lorsque vous utilisez cette capacité, votre Force représente une puissance primitive qui vous traverse, perfectionnant votre agilité, votre allure et vos sens. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Connaissance primordiale +Feature/&PointPoolClericThaumaturgeCantripDescription=Vous connaissez un sort supplémentaire de la liste des sorts de Clerc. De plus, votre connexion mystique avec le divin vous confère un bonus à vos tests d'Intelligence (Arcanes ou Religion). Le bonus est égal à votre modificateur de Sagesse (minimum de +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Thaumaturge Feature/&PointPoolRangerExpertiseDescription=Choisissez deux de vos compétences dans lesquelles vous manquez d'expertise. Vous acquerrez une expertise dans ces compétences. Feature/&PointPoolRangerExpertiseTitle=Compétence Feature/&PointPoolWizardScholarDescription=Pendant que vous étudiez la magie, vous vous êtes également spécialisé dans un domaine d'études académiques. Choisissez l'une des compétences suivantes dans lesquelles vous avez une maîtrise : Arcanes, Histoire, Investigation, Médecine, Nature ou Religion. Vous avez une expertise dans la compétence choisie. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=Style des yeux Stage/&SubclassSelectionStageDomainFeatures=Caractéristiques du Domaine Divin Stage/&SubclassSelectionStageDomainHeader=Domaine Divin Tag/&PrimalOrderCantripSpecialTagTitle=Sort de l'Ordre Primaire +Tag/&ThaumaturgeCantripSpecialTagTitle=Thaumaturge Cantrip ToolTip/&CheckBoxDefaultPartyTitle=Cochez cette case pour définir votre groupe par défaut lorsque vous démarrez de nouvelles aventures ou testez des emplacements personnalisés. Vous pouvez sélectionner jusqu'à {0} héros selon le principe du premier entré/premier sorti Tooltip/&AdvancementByCasterLevelFormat=Aux niveaux de personnage 5, 11 et 17 Tooltip/&ChannelDivinityPortraitPoolFormat=Vous avez {0} utilisations sur {1} de Canalisation divine.\nToutes les utilisations sont restaurées lors d'un repos court ou long. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 320d8baf93..5c5085912b 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Activer les actions d'annulation avec u ModUi/&EnableCantripsTriggeringOnWarMagic=Autoriser les tours de passe-passe à déclencher une attaque bonus supplémentaire de Magie de guerre ModUi/&EnableCharactersOnFireToEmitLight=Les personnages En feu doivent émettre de la lumière [Cube de lumière, Élémentaire de feu, Bouffon de feu, Balbuzard pêcheur de feu, Araignée de feu et famille de conditions en feu] ModUi/&EnableClericChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] +ModUi/&EnableClericDivineOrder2024=Activer Ordre divin au niveau 1 [choix entre armure lourde/prof. armes martiales ou tour de passe-passe bonus et quelques tests d'INT] ModUi/&EnableClericToLearnDomainAtLevel3=Activer le Domaine au niveau 3 au lieu de 1 ModUi/&EnableCustomPortraits=Activer les portraits personnalisés ModUi/&EnableCustomPortraitsHelp=• Placez vos portraits personnalisés dans les sous-dossiers Personal ou PreGen, nommés d'après le prénom du héros [c'est-à-dire : Anton, Celia, Nialla, etc.]\n• Utilisez des images PNG, de 256 x 384 pixels, avec un calque de transparence [utilisez GIMP pour de meilleurs résultats] diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 5ba745136f..a0bc93e229 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Miglioramento del col Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Il danno extra inflitto dal tuo Brutal Strike aumenta a 2d10. Inoltre, puoi usare due diversi effetti di Brutal Strike quando usi la tua caratteristica Brutal Strike. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Miglioramento del colpo brutale Feature/&FeatureSetBarbarianBrutalStrikeTitle=Colpo brutale +Feature/&FeatureSetClericDivineOrderDescription=Ti sei dedicato a uno dei seguenti ruoli sacri, a tua scelta. +Feature/&FeatureSetClericDivineOrderTitle=Ordine divino +Feature/&FeatureSetClericProtectorDescription=Una volta addestrato per la battaglia, acquisirai competenza nell'uso delle armi da guerra e nell'uso delle armature pesanti. +Feature/&FeatureSetClericProtectorTitle=Protettore Feature/&FeatureSetDruidPrimalOrderDescription=Ti sei dedicato a uno dei seguenti ruoli sacri a tua scelta.\n• Mago. Conosci un trucchetto extra dalla lista degli incantesimi del Druido. Inoltre, la tua connessione mistica con la natura ti dà un bonus alle tue prove di Intelligenza (Arcano o Natura). Il bonus è pari al tuo modificatore di Saggezza (minimo + 1).\n• Guardiano. Addestrato per la battaglia, ottieni competenza con le armi da guerra e addestramento con le armature medie. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Conosci un trucchetto extra dalla lista degli incantesimi del Druido. Inoltre, la tua connessione mistica con la natura ti dà un bonus alle tue prove di Intelligenza (Arcano o Natura). Il bonus è pari al tuo modificatore di Saggezza (minimo + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Mago @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Vagabondare Feature/&PaladinChannelDivinityDescription=Puoi incanalare l'energia divina direttamente dagli Outer Planes, usandola per alimentare effetti magici. Puoi usare Channel Divinity di questa classe due volte. Recuperi uno dei suoi usi spesi quando finisci un Short Rest, e recuperi tutti gli usi spesi quando finisci un Long Rest. Ottieni un uso aggiuntivo quando raggiungi il livello 11 di Paladino. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Ottieni competenza in un'altra abilità a tua scelta dall'elenco delle abilità disponibili per i Barbari al livello 1. Inoltre, ogni volta che fallisci una delle seguenti prove di abilità: Acrobazia, Intimidazione, Percezione, Furtività o Sopravvivenza, puoi spendere un utilizzo di Rage per aggiungere il tuo modificatore di Strength al tiro, potenzialmente facendolo invece riuscire. Quando usi questa abilità, la tua Strength rappresenta il potere primordiale che scorre attraverso di te, affinando la tua agilità, il tuo portamento e i tuoi sensi. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conoscenza primordiale +Feature/&PointPoolClericThaumaturgeCantripDescription=Conosci un trucchetto extra dalla lista degli incantesimi del Chierico. Inoltre, la tua connessione mistica con il divino ti dà un bonus ai tuoi controlli di Intelligenza (Arcani o Religione). Il bonus è pari al tuo modificatore di Saggezza (minimo +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Taumaturgo Feature/&PointPoolRangerExpertiseDescription=Scegli due delle tue competenze di abilità in cui non hai esperienza. Acquisisci esperienza in quelle abilità. Feature/&PointPoolRangerExpertiseTitle=Competenza Feature/&PointPoolWizardScholarDescription=Mentre studiavi magia, ti sei anche specializzato in un campo di studio accademico. Scegli una delle seguenti abilità in cui hai competenza: Arcana, Storia, Investigazione, Medicina, Natura o Religione. Hai competenza nell'abilità scelta. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=Stile degli occhi Stage/&SubclassSelectionStageDomainFeatures=Caratteristiche del Dominio Divino Stage/&SubclassSelectionStageDomainHeader=Dominio divino Tag/&PrimalOrderCantripSpecialTagTitle=Trucchetto dell'Ordine Primordiale +Tag/&ThaumaturgeCantripSpecialTagTitle=Trucchetto del Taumaturgo ToolTip/&CheckBoxDefaultPartyTitle=Seleziona questa casella per impostare il tuo gruppo predefinito quando inizi nuove avventure o quando provi luoghi personalizzati. Puoi selezionare fino a {0} eroi in base al primo arrivato/primo uscito Tooltip/&AdvancementByCasterLevelFormat=Ai livelli dei personaggi 5, 11 e 17 Tooltip/&ChannelDivinityPortraitPoolFormat=Hai {0} utilizzi su {1} di Incanalare Divinità.\nTutti gli utilizzi vengono ripristinati con un riposo breve o lungo. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 7272af6320..74ed90b4eb 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Abilita l'annullamento delle azioni con ModUi/&EnableCantripsTriggeringOnWarMagic=Consenti ai trucchetti di attivare l'attacco bonus extra Magia di guerra ModUi/&EnableCharactersOnFireToEmitLight=I personaggi In fiamme dovrebbero emettere luce [Cubo di luce, Elementale di fuoco, Giullare di fuoco, Falco pescatore di fuoco, Ragno di fuoco e famiglia di condizioni in fiamme] ModUi/&EnableClericChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] +ModUi/&EnableClericDivineOrder2024=Abilita Ordine Divino al livello 1 [scelta tra armatura pesante/armi da guerra prof. o trucchetto bonus e alcuni controlli INT] ModUi/&EnableClericToLearnDomainAtLevel3=Abilita Dominio al livello 3 invece che 1 ModUi/&EnableCustomPortraits=Abilita Ritratti personalizzati ModUi/&EnableCustomPortraitsHelp=• Posiziona i tuoi ritratti personalizzati nelle sottocartelle Personale o PreGen, chiamate con il nome dell'eroe [ad esempio: Anton, Celia, Nialla, ecc.]\n• Utilizza immagini PNG, di dimensioni 256 x 384 pixel, con un livello di trasparenza [utilizza GIMP per risultati migliori] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 7cb836e5b2..97ba6b9a34 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=ブルータルスト Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Brutal Strike が与える追加ダメージは 2d10 に増加します。さらに、Brutal Strike 機能を使用するときに、2 つの異なる Brutal Strike 効果を使用できます。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=ブルータルストライクの改善 Feature/&FeatureSetBarbarianBrutalStrikeTitle=ブルータル・ストライク +Feature/&FeatureSetClericDivineOrderDescription=あなたは、あなたが選んだ以下の神聖な役割のうちの 1 つに身を捧げました。 +Feature/&FeatureSetClericDivineOrderTitle=神の秩序 +Feature/&FeatureSetClericProtectorDescription=戦闘の訓練を受け、格闘武器の熟練度と重装甲の訓練を習得します。 +Feature/&FeatureSetClericProtectorTitle=プロテクター Feature/&FeatureSetDruidPrimalOrderDescription=あなたは、あなたが選んだ以下の神聖な役割の 1 つに身を捧げています。\n• 魔術師。あなたはドルイド呪文リストから 1 つの追加の呪文を知っています。さらに、自然との神秘的なつながりにより、知力 (神秘または自然) チェックにボーナスが与えられます。ボーナスは、あなたの知恵修正値 (最小 + 1) に等しくなります。\n• 監視者。戦闘の訓練を受け、あなたは軍用武器の熟練度と中装の訓練を得ます。 Feature/&FeatureSetDruidPrimalOrderMagicianDescription=ドルイド呪文リストから追加の呪文を 1 つ知っています。さらに、自然との神秘的なつながりにより、知力 (秘術または自然) 判定にボーナスが与えられます。ボーナスは、あなたの知恵修正値 (最小 + 1) に等しくなります。 Feature/&FeatureSetDruidPrimalOrderMagicianTitle=マジシャン @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=ロービング Feature/&PaladinChannelDivinityDescription=外界から直接神聖なエネルギーを導き、魔法の効果を活性化することができます。このクラスの「チャネル ディヴィニティ」は 2 回使用できます。小休憩を終えると消費した使用回数が 1 回回復し、大休憩を終えると消費した使用回数がすべて回復します。パラディン レベル 11 に到達すると、使用回数が 1 回追加されます。 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=レベル 1 でバーバリアンが使用できるスキル リストから選択した別のスキルに習熟します。さらに、アクロバット、威圧、知覚、ステルス、または生存のいずれかの能力チェックに失敗するたびに、怒りの使用量を 1 回消費して、ロールに筋力修正値を追加し、代わりに成功させる可能性があります。この能力を使用するとき、筋力はあなたに流れる原始的な力を表し、敏捷性、態度、および感覚を磨きます。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始的な知識 +Feature/&PointPoolClericThaumaturgeCantripDescription=あなたはクレリック呪文リストから追加の呪文を 1 つ知っています。さらに、神との神秘的なつながりにより、知力 (神秘学または宗教) 判定にボーナスが与えられます。ボーナスはあなたの知恵修正値 (最低 +1) に等しくなります。 +Feature/&PointPoolClericThaumaturgeCantripTitle=魔術師 Feature/&PointPoolRangerExpertiseDescription=専門知識が不足しているスキルの熟練度を 2 つ選択します。それらのスキルの専門知識を獲得します。 Feature/&PointPoolRangerExpertiseTitle=専門知識 Feature/&PointPoolWizardScholarDescription=魔法を研究する一方で、学術研究の分野にも特化しました。熟練している以下のスキルのうち 1 つを選択してください: 神秘学、歴史、調査、医学、自然、宗教。選択したスキルに専門知識があります。 @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=アイスタイル Stage/&SubclassSelectionStageDomainFeatures=神の領域の特徴 Stage/&SubclassSelectionStageDomainHeader=神の領域 Tag/&PrimalOrderCantripSpecialTagTitle=原始秩序の呪文 +Tag/&ThaumaturgeCantripSpecialTagTitle=ワンダーワーカーキャントリップ ToolTip/&CheckBoxDefaultPartyTitle=新しい冒険を開始するとき、またはカスタムの場所をテストするときにデフォルトのパーティーを設定するには、このボックスをチェックします。先入れ先出し方式で最大 {0} 人のヒーローを選択できます Tooltip/&AdvancementByCasterLevelFormat=キャラクターレベル5、11、17の場合 Tooltip/&ChannelDivinityPortraitPoolFormat=チャンネル ディヴィニティの使用回数は {1} 回中 {0} 回です。\nすべての使用量は短時間または長期の休憩で回復します。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 010e923c9f..1154dbf7ed 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=マウスの右クリックでキャン ModUi/&EnableCantripsTriggeringOnWarMagic=呪文で戦争魔法の追加ボーナス攻撃を発動できるようにする ModUi/&EnableCharactersOnFireToEmitLight=On Fire のキャラクターは、[Cube of Light、Fire Elemental、Fire Jester、Fire Osprey、Fire Spider、および On Fire 状態ファミリー] を発するはずです。 ModUi/&EnableClericChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする +ModUi/&EnableClericDivineOrder2024=レベル 1 で 神聖な命令 を有効にする [重装甲/武術武器の熟練度またはボーナス キャントリップといくつかの INT チェックのいずれかを選択] ModUi/&EnableClericToLearnDomainAtLevel3=ドメインをレベル1ではなくレベル3で有効にする ModUi/&EnableCustomPortraits=カスタムポートレートを有効にする ModUi/&EnableCustomPortraitsHelp=• カスタムポートレートを、主人公のファーストネームにちなんで名付けたサブフォルダ Personal または PreGen に配置します [例: Anton、Celia、Nialla など]\n• 透明レイヤー付きの 256 x 384 ピクセルの PNG 画像を使用します [最良の結果を得るには GIMP を使用します] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 692c1be01e..1c6535d765 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=잔혹한 일격 개 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Brutal Strike가 입히는 추가 피해는 2d10으로 증가합니다. 게다가 Brutal Strike 기능을 사용할 때 두 가지 다른 Brutal Strike 효과를 사용할 수 있습니다. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=잔혹한 일격 개선 Feature/&FeatureSetBarbarianBrutalStrikeTitle=잔인한 일격 +Feature/&FeatureSetClericDivineOrderDescription=당신은 당신이 선택한 다음의 신성한 역할 중 하나에 헌신하였습니다. +Feature/&FeatureSetClericDivineOrderTitle=신성한 질서 +Feature/&FeatureSetClericProtectorDescription=전투 훈련을 받으면 무술 무기를 다루는 기술과 중갑옷을 다루는 기술을 습득합니다. +Feature/&FeatureSetClericProtectorTitle=보호자 Feature/&FeatureSetDruidPrimalOrderDescription=당신은 선택한 다음 신성한 역할 중 하나에 헌신했습니다.\n• 마법사. 당신은 드루이드 주문 목록에서 추가 주문 하나를 알고 있습니다. 게다가, 자연과의 신비로운 연결은 당신에게 지능(비전 또는 자연) 검사에 보너스를 제공합니다. 보너스는 당신의 지혜 수정치(최소 +1)와 같습니다.\n• 감시자. 전투를 위해 훈련받았으며, 당신은 무술 무기에 능숙해지고 중갑옷에 대한 훈련을 받습니다. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=드루이드 주문 목록에서 캔트립을 하나 더 알고 있습니다. 게다가 자연과의 신비로운 연결로 지능(아카나 또는 자연) 검사에 보너스를 받습니다. 보너스는 지혜 수정치(최소 + 1)와 같습니다. Feature/&FeatureSetDruidPrimalOrderMagicianTitle=마술사 @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=로빙 Feature/&PaladinChannelDivinityDescription=신성한 에너지를 외계에서 직접 전달하여 마법 효과를 강화할 수 있습니다. 이 직업의 신성 전달을 두 번 사용할 수 있습니다. 짧은 휴식을 마치면 소모된 사용 횟수 중 하나를 회복하고 긴 휴식을 마치면 소모된 사용 횟수를 모두 회복합니다. 팔라딘 레벨 11에 도달하면 추가 사용 횟수를 얻습니다. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=1레벨의 야만인이 사용할 수 있는 기술 목록에서 선택한 다른 기술에 능숙해집니다. 또한, 곡예, 위협, 지각, 은신 또는 생존 중 하나에서 실패할 때마다 분노 사용량을 하나 사용하여 힘 수정치를 굴림에 추가하여 대신 성공할 가능성이 있습니다. 이 능력을 사용할 때 힘은 당신을 통해 흐르는 원초적인 힘을 나타내며 민첩성, 자세, 감각을 연마합니다. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=원초적 지식 +Feature/&PointPoolClericThaumaturgeCantripDescription=당신은 성직자 주문 목록에서 하나의 추가 칸트립을 알고 있습니다. 게다가, 신과의 신비로운 연결은 당신에게 지능(비전 또는 종교) 검사에 보너스를 줍니다. 보너스는 당신의 지혜 수정치(최소 +1)와 같습니다. +Feature/&PointPoolClericThaumaturgeCantripTitle=마법사 Feature/&PointPoolRangerExpertiseDescription=전문성이 부족한 두 가지 기술 능력을 선택하세요. 그 기술에 대한 전문성을 얻게 됩니다. Feature/&PointPoolRangerExpertiseTitle=전문적 지식 Feature/&PointPoolWizardScholarDescription=마법을 공부하는 동안 당신은 학문적 연구 분야를 전문으로 했습니다. 당신이 능숙한 다음 기술 중 하나를 선택하세요: Arcana, History, Investigation, Medicine, Nature 또는 Religion. 당신은 선택한 기술에 전문성을 가지고 있습니다. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=아이 스타일 Stage/&SubclassSelectionStageDomainFeatures=Divine Domain 기능 Stage/&SubclassSelectionStageDomainHeader=신성한 도메인 Tag/&PrimalOrderCantripSpecialTagTitle=원시 주문 주문 +Tag/&ThaumaturgeCantripSpecialTagTitle=원더워커 캔트립 ToolTip/&CheckBoxDefaultPartyTitle=새로운 모험을 시작하거나 사용자 지정 위치를 테스트할 때 기본 파티를 설정하려면 이 상자를 선택하세요. 선입선출 방식으로 최대 {0}명의 영웅을 선택할 수 있습니다. Tooltip/&AdvancementByCasterLevelFormat=캐릭터 레벨 5, 11, 17에서 Tooltip/&ChannelDivinityPortraitPoolFormat=Channel Divinity를 {1}회 사용 중 {0}회 사용했습니다.\n짧거나 긴 휴식을 취하면 모든 사용이 복원됩니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index 0a825b3f21..dcb4f2dd5e 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=마우스 오른쪽 클릭으로 취소 ModUi/&EnableCantripsTriggeringOnWarMagic=주문이 전쟁 마법 추가 보너스 공격을 발동하도록 허용합니다. ModUi/&EnableCharactersOnFireToEmitLight=불타는 캐릭터는 빛을 내야 합니다. [빛의 큐브, 불의 정령, 불의 광대, 불의 물수리, 불의 거미, 불의 상태 패밀리] ModUi/&EnableClericChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 +ModUi/&EnableClericDivineOrder2024=레벨 1에서 신성한 질서 활성화 [중갑옷/무술 무기 전문가 또는 보너스 주문과 일부 INT 검사 중 선택] ModUi/&EnableClericToLearnDomainAtLevel3=1 대신 3 레벨에서 도메인을 활성화하세요. ModUi/&EnableCustomPortraits=사용자 정의 초상화 활성화 ModUi/&EnableCustomPortraitsHelp=• 영웅의 이름을 따서 Personal 또는 PreGen 하위 폴더에 사용자 지정 초상화를 넣습니다. [예: Anton, Celia, Nialla 등]\n• 투명 레이어가 있는 256 x 384픽셀 크기의 PNG 이미지를 사용합니다. [최상의 결과를 위해 GIMP를 사용하세요] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 8616ef896b..c55db7d32a 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Melhoria do Ataque Br Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=O dano extra que seu Brutal Strike causa aumenta para 2d10. Além disso, você pode usar dois efeitos diferentes de Brutal Strike quando usar sua habilidade Brutal Strike. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Melhoria do Ataque Brutal Feature/&FeatureSetBarbarianBrutalStrikeTitle=Ataque Brutal +Feature/&FeatureSetClericDivineOrderDescription=Você se dedicou a um dos seguintes papéis sagrados de sua escolha. +Feature/&FeatureSetClericDivineOrderTitle=Ordem Divina +Feature/&FeatureSetClericProtectorDescription=Treinado para a batalha, você ganha proficiência com armas marciais e treinamento com armaduras pesadas. +Feature/&FeatureSetClericProtectorTitle=Protetor Feature/&FeatureSetDruidPrimalOrderDescription=Você se dedicou a um dos seguintes papéis sagrados de sua escolha.\n• Mago. Você conhece um truque extra da lista de magias do Druida. Além disso, sua conexão mística com a natureza lhe dá um bônus em seus testes de Inteligência (Arcana ou Natureza). O bônus é igual ao seu modificador de Sabedoria (mínimo + 1).\n• Guardião. Treinado para a batalha, você ganha proficiência com armas Marciais e treinamento com Armadura Média. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Você conhece um truque extra da lista de magias de Druida. Além disso, sua conexão mística com a natureza lhe dá um bônus para seus testes de Inteligência (Arcana ou Natureza). O bônus é igual ao seu modificador de Sabedoria (mínimo + 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Mágico @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Itinerante Feature/&PaladinChannelDivinityDescription=Você pode canalizar energia divina diretamente dos Planos Exteriores, usando-a para abastecer efeitos mágicos. Você pode usar o Canalizar Divindade desta classe duas vezes. Você recupera um de seus usos gastos quando termina um Descanso Curto, e recupera todos os usos gastos quando termina um Descanso Longo. Você ganha um uso adicional quando atinge o nível 11 de Paladino. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Você ganha proficiência em outra perícia de sua escolha da lista de perícias disponível para Bárbaros no nível 1. Além disso, sempre que você falhar em um dos seguintes testes de habilidade: Acrobacia, Intimidação, Percepção, Furtividade ou Sobrevivência, você pode gastar um uso de Fúria para adicionar seu modificador de Força à rolagem, potencialmente fazendo com que ela seja bem-sucedida. Quando você usa essa habilidade, sua Força representa poder primordial fluindo através de você, aprimorando sua agilidade, porte e sentidos. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Conhecimento Primordial +Feature/&PointPoolClericThaumaturgeCantripDescription=Você conhece um truque extra da lista de magias de Clérigo. Além disso, sua conexão mística com o divino lhe dá um bônus em seus testes de Inteligência (Arcana ou Religião). O bônus é igual ao seu modificador de Sabedoria (mínimo de +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Taumaturgo Feature/&PointPoolRangerExpertiseDescription=Escolha duas de suas proficiências de habilidade com as quais você não tem expertise. Você ganha expertise nessas habilidades. Feature/&PointPoolRangerExpertiseTitle=Especialização Feature/&PointPoolWizardScholarDescription=Enquanto estudava magia, você também se especializou em um campo acadêmico de estudo. Escolha uma das seguintes perícias nas quais você tem proficiência: Arcana, História, Investigação, Medicina, Natureza ou Religião. Você tem Perícia na perícia escolhida. @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=Estilo dos olhos Stage/&SubclassSelectionStageDomainFeatures=Características do Domínio Divino Stage/&SubclassSelectionStageDomainHeader=Domínio Divino Tag/&PrimalOrderCantripSpecialTagTitle=Truque da Ordem Primordial +Tag/&ThaumaturgeCantripSpecialTagTitle=Truque do Wonderworker ToolTip/&CheckBoxDefaultPartyTitle=Marque esta caixa para definir seu grupo padrão ao iniciar novas aventuras ou testar locais personalizados. Você pode selecionar até {0} heróis em uma base de primeiro a entrar / primeiro a sair Tooltip/&AdvancementByCasterLevelFormat=Nos níveis de personagem 5, 11 e 17 Tooltip/&ChannelDivinityPortraitPoolFormat=Você tem {0} de {1} usos de Canalizar Divindade.\nTodos os usos são restaurados em descansos curtos ou longos. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 1cb18d7bc4..5a8029153c 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Habilitar ações de cancelamento com c ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que truques desencadeiem um ataque bônus extra de Magia de Guerra ModUi/&EnableCharactersOnFireToEmitLight=Personagens Em Chamas devem emitir luz [Cubo de Luz, Elemental de Fogo, Bobo da Corte de Fogo, Águia Pescadora de Fogo, Aranha de Fogo e família de condição em chamas] ModUi/&EnableClericChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] +ModUi/&EnableClericDivineOrder2024=Habilite Ordem Divina no nível 1 [escolha entre armadura pesada/prof. de armas marciais ou truque bônus e alguns testes de INT] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Domínio no nível 3 em vez de 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloque seus retratos personalizados em subpastas Pessoal ou PreGen, nomeadas com base no primeiro nome do herói [por exemplo: Anton, Celia, Nialla, etc.]\n• Use imagens PNG, com tamanho de 256 x 384 pixels, com uma camada de transparência [use o GIMP para obter melhores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 7ae4969114..2f522d3282 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Улучшенный Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Дополнительный урон от Жестокого удара увеличивается до 2d10. Кроме того, вы можете использовать два разных эффекта Жестокого удара, когда используете это умение. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Улучшенный жестокий удар Feature/&FeatureSetBarbarianBrutalStrikeTitle=Жестокий удар +Feature/&FeatureSetClericDivineOrderDescription=Вы посвятили себя одной из следующих священных ролей по вашему выбору. +Feature/&FeatureSetClericDivineOrderTitle=Божественный Порядок +Feature/&FeatureSetClericProtectorDescription=Пройдя подготовку к бою, вы приобретаете навыки владения боевым оружием и учитесь носить тяжелые доспехи. +Feature/&FeatureSetClericProtectorTitle=Защитник Feature/&FeatureSetDruidPrimalOrderDescription=Вы посвятили себя одной из следующих сакральных ролей по вашему выбору.\n• Маг. Вы знаете один дополнительный заговор из списка заклинаний Друида. Кроме того, ваша мистическая связь с природой даёт вам бонус к проверкам Интеллекта (Магия или Природа). Бонус равен вашему модификатору Мудрости (минимум 1).\n• Хранитель. Обучившись сражениям, вы получаете владения воинским оружием и средней бронёй. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Вы знаете один дополнительный заговор из списка заклинаний Друида. Кроме того, ваша мистическая связь с природой даёт вам бонус к проверкам Интеллекта (Магия или Природа). Бонус равен вашему модификатору Мудрости (минимум 1). Feature/&FeatureSetDruidPrimalOrderMagicianTitle=Маг @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=Ровинг Feature/&PaladinChannelDivinityDescription=Вы можете направлять божественную энергию напрямую из Внешних Планов, используя ее для подпитки магических эффектов. Вы можете использовать Channel Divinity этого класса дважды. Вы восстанавливаете одно из его использованных использований, когда заканчиваете Short Rest, и вы восстанавливаете все использованные использований, когда заканчиваете Long Rest. Вы получаете дополнительное использование, когда достигаете 11-го уровня Паладина. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Вы получаете владение дополнительным навыком по вашему выбору из списка навыков, доступных Варвару на 1-м уровне. Кроме того, каждый раз, когда вы проваливаете одну из следующих проверок характеристик: Акробатика, Запугивание, Восприятие, Скрытность или Выживание, вы можете потратить один заряд ярости, чтобы добавить к броску модификатор вашей Силы, что может привести к успеху. Когда вы используете эту способность, ваша Сила олицетворяет первобытную мощь, текущую через вас, совершенствуя вашу ловкость, стойкость и чувства. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Первобытное знание +Feature/&PointPoolClericThaumaturgeCantripDescription=Вы знаете один дополнительный фокус из списка заклинаний Священника. Кроме того, ваша мистическая связь с божественным дает вам бонус к проверкам Интеллекта (Магия или Религия). Бонус равен вашему модификатору Мудрости (минимум +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Тауматург Feature/&PointPoolRangerExpertiseDescription=Выберите два из ваших навыков, в которых вам не хватает опыта. Вы приобретаете опыт в этих навыках. Feature/&PointPoolRangerExpertiseTitle=Экспертиза Feature/&PointPoolWizardScholarDescription=Изучая магию, вы также специализировались в научной сфере исследований. Выберите один из следующих навыков, которым вы владеете: Магия, История, Расследование, Медицина, Природа или Религия. Вы получаете компетентность в выбранном навыке. @@ -425,6 +431,7 @@ Stage/&IdentityMorphotypeEyeHeader=Вид глаз Stage/&SubclassSelectionStageDomainFeatures=Особенности Божественного Домена Stage/&SubclassSelectionStageDomainHeader=Божественный Домен Tag/&PrimalOrderCantripSpecialTagTitle=Заговор Первобытного порядка +Tag/&ThaumaturgeCantripSpecialTagTitle=Заговор Чудотворца ToolTip/&CheckBoxDefaultPartyTitle=Отметьте этот пункт, чтобы задать группу по умолчанию для начала нового приключения или тестирования кастомных локаций. Вы можете выбрать вплоть до {0} персонажей по приципу первый на вход / первый на выход Tooltip/&AdvancementByCasterLevelFormat=На уровнях персонажа 5, 11 и 17. Tooltip/&ChannelDivinityPortraitPoolFormat=У вас {0} из {1} использований Божественного канала.\nВсе использования восстановятся после короткого или продолжительного отдыха. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index ded33656f9..037d2168a6 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Включить отмену дейс ModUi/&EnableCantripsTriggeringOnWarMagic=Разрешить срабатывание дополнительной бонусной атаки Боевой магии от заговоров ModUi/&EnableCharactersOnFireToEmitLight=Горящие персонажи должны излучать свет [Куб света, Огненный элементаль, Огненный балагур, Огненная скопа, Огненный паук, а также любые горящие существа] ModUi/&EnableClericChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] +ModUi/&EnableClericDivineOrder2024=Включить Божественный порядок на уровне 1 [выбор между тяжелой броней/боевым оружием или бонусным колдовством и некоторыми проверками ИНТ] ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты ModUi/&EnableCustomPortraitsHelp=• Поместите свои пользовательские портреты в подпапки Personal или PreGen с именами, соответствующими именам героев [т.е.: Антон, Селия, Ниалла и т. д.]\n• Используйте изображения размером 256 x 384 пикселей с прозрачным фоном [для достижения наилучших результатов используйте GIMP] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index dcbda25d7d..25192cdc6f 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=精通凶蛮打击 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=你的残酷打击造成的额外伤害增加到 2d10。此外,当你使用残酷打击功能时,你可以使用两种不同的残酷打击效果。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=精通凶蛮打击 Feature/&FeatureSetBarbarianBrutalStrikeTitle=凶蛮打击 +Feature/&FeatureSetClericDivineOrderDescription=您已选择将自己奉献给下列神圣角色之一。 +Feature/&FeatureSetClericDivineOrderTitle=神圣秩序 +Feature/&FeatureSetClericProtectorDescription=经过战斗训练,您可以熟练使用军用武器并接受重型盔甲的训练。 +Feature/&FeatureSetClericProtectorTitle=保护者 Feature/&FeatureSetDruidPrimalOrderDescription=您已将自己献身于以下您选择的神圣角色之一。\n• 魔法师。您从德鲁伊法术列表中多掌握一个法术。此外,您与自然的神秘联系为您的智力(奥术或自然)检定带来加值。加值等于您的智慧调整值(最小值 + 1)。\n• 守望者。您接受过战斗训练,熟练掌握军用武器并接受过中型盔甲训练。 Feature/&FeatureSetDruidPrimalOrderMagicianDescription=您从德鲁伊法术列表中多掌握一个法术。此外,您与自然的神秘联系为您的智力(奥术或自然)检定带来加值。加值等于您的智慧调整值(最小值 + 1)。 Feature/&FeatureSetDruidPrimalOrderMagicianTitle=魔术师 @@ -190,6 +194,8 @@ Feature/&MovementAffinityRangerRovingTitle=粗纱 Feature/&PaladinChannelDivinityDescription=您可以直接从外层位面引导神圣能量,用它来产生魔法效果。您可以使用此职业的神圣引导两次。完成短暂休息后,您可以恢复一次已消耗的使用次数,完成长时间休息后,您可以恢复所有已消耗的使用次数。当您达到圣骑士等级 11 时,您可以获得一次额外使用次数。 Feature/&PointPoolBarbarianPrimalKnowledgeDescription=你可以熟练掌握 1 级野蛮人技能列表中的另一项技能。此外,每当你未通过以下能力检定之一时:杂技、威吓、感知、隐身或生存,你可以消耗一次怒气值,将力量调整值添加到检定中,从而有可能导致检定成功。当你使用此能力时,你的力量代表着你体内流淌的原始力量,磨练你的敏捷、风度和感官。 Feature/&PointPoolBarbarianPrimalKnowledgeTitle=原始知识 +Feature/&PointPoolClericThaumaturgeCantripDescription=你从牧师法术列表中多掌握一个法术。此外,你与神灵的神秘联系为你的智力(奥术或宗教)检定带来加值。加值等于你的智慧调整值(最低为 +1)。 +Feature/&PointPoolClericThaumaturgeCantripTitle=魔术师 Feature/&PointPoolRangerExpertiseDescription=选择两项你不擅长的技能。你将在这些技能上获得专业知识。 Feature/&PointPoolRangerExpertiseTitle=专业知识 Feature/&PointPoolWizardScholarDescription=在学习魔法的同时,你还专攻了一个学术领域。选择以下一项你擅长的技能:奥术、历史、调查、医学、自然或宗教。你在所选技能上具有专长。 @@ -426,6 +432,7 @@ Stage/&IdentityMorphotypeEyeHeader=眼型 Stage/&SubclassSelectionStageDomainFeatures=神域特色 Stage/&SubclassSelectionStageDomainHeader=神域 Tag/&PrimalOrderCantripSpecialTagTitle=元始秩序戏法 +Tag/&ThaumaturgeCantripSpecialTagTitle=魔法师戏法 ToolTip/&CheckBoxDefaultPartyTitle=在开始新的冒险或测试自定义位置时,选中此框以设置你的默认队伍。你最多可以选择 {0} 个英雄,以先进先出的方式进行 Tooltip/&AdvancementByCasterLevelFormat=角色等级为 5、11 和 17 时 Tooltip/&ChannelDivinityPortraitPoolFormat=你有 {0} 次使用引导神力,共 {1} 次。\n所有使用次数都在短休或长休后恢复。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 10dcde1fc6..a38796082e 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=通过鼠标右键单击启用取消操 ModUi/&EnableCantripsTriggeringOnWarMagic=允许戏法触发战争魔法额外奖励攻击 ModUi/&EnableCharactersOnFireToEmitLight=着火的角色应该发光[光之立方体、火元素、火小丑、火鱼鹰、火蜘蛛和着火状态家族] ModUi/&EnableClericChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] +ModUi/&EnableClericDivineOrder2024=在 1 级启用神圣秩序 [在重型盔甲/军用武器专业或奖励戏法和一些 INT 检查之间进行选择] ModUi/&EnableClericToLearnDomainAtLevel3=在级别 3 而不是 1 启用 域 ModUi/&EnableCustomPortraits=启用自定义肖像 ModUi/&EnableCustomPortraitsHelp=• 将自定义肖像放在子文件夹 PersonalPreGen 下,并以英雄名字命名[例如:Anton、Celia、Nialla 等]\n• 使用 PNG 图像,大小为 256 x 384 像素,带有透明层[使用 GIMP 可获得最佳效果] From 189bd32b0f56ac293adcbce7d881ff23ff339d4a Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 19:01:23 -0800 Subject: [PATCH 28/42] add Cleric Divine Intervention 2024 skeleton --- .../Displays/ClassesDisplay.cs | 7 ++ .../Displays/GeneralDisplay.cs | 7 ++ .../Models/2024ClericContext.cs | 66 ++++++++++++++++++- .../Models/2024PaladinContext.cs | 11 +++- .../Models/Level20SubclassesContext.cs | 2 +- .../Models/Tabletop2024Context.cs | 1 + SolastaUnfinishedBusiness/Settings.cs | 1 + .../Subclasses/DomainDefiler.cs | 2 +- .../Subclasses/DomainNature.cs | 2 +- .../Subclasses/DomainTempest.cs | 2 +- .../Translations/de/Others-de.txt | 4 ++ .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 4 ++ .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 4 ++ .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 4 ++ .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 4 ++ .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 4 ++ .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 4 ++ .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 4 ++ .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 4 ++ .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 4 ++ .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 30 files changed, 144 insertions(+), 7 deletions(-) diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 62cbe4952e..d132e5a867 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -160,6 +160,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchClericDomainLearningLevel(); } + toggle = Main.Settings.EnableClericDivineIntervention2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericDivineIntervention2024 = toggle; + Tabletop2024Context.SwitchClericDivineIntervention(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index af8a39474f..d801e549e2 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -422,6 +422,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchClericDomainLearningLevel(); } + toggle = Main.Settings.EnableClericDivineIntervention2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericDivineIntervention2024 = toggle; + Tabletop2024Context.SwitchClericDivineIntervention(); + } + UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); UI.Label(); diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index e28b618adc..25b953cbff 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -47,12 +47,76 @@ internal static partial class Tabletop2024Context .AddToDB()) .AddToDB(); + private static readonly FeatureDefinitionFeatureSet FeatureSetClericDivineIntervention = + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetClericDivineIntervention") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + private static readonly FeatureDefinitionFeatureSet FeatureSetClericDivineInterventionImproved = + FeatureDefinitionFeatureSetBuilder + .Create("FeatureSetClericDivineInterventionImproved") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + internal static void SwitchClericDivineIntervention() + { + var divineInterventions = new[] + { + ("DomainBattle", "PowerClericDivineInterventionPaladin"), // + ("DomainDefiler", "PowerClericDivineInterventionPaladin"), // UB + ("DomainElementalCold", "PowerClericDivineInterventionWizard"), // + ("DomainElementalFire", "PowerClericDivineInterventionWizard"), // + ("DomainElementalLighting", "PowerClericDivineInterventionWizard"), // + ("DomainInsight", "PowerClericDivineInterventionCleric"), // + ("DomainLaw", "PowerClericDivineInterventionPaladin"), // + ("DomainLife", "PowerClericDivineInterventionCleric"), // + ("DomainMischief", "PowerClericDivineInterventionWizard"), // + ("DomainNature", "PowerClericDivineInterventionWizard"), // UB + ("DomainOblivion", "PowerClericDivineInterventionCleric"), // + ("DomainSmith", "PowerClericDivineInterventionPaladin"), // UB + ("DomainSun", "PowerClericDivineInterventionWizard"), // + ("DomainTempest", "PowerClericDivineInterventionPaladin") // UB + }; + + foreach (var (subclassName, powerName) in divineInterventions) + { + var subClass = GetDefinition(subclassName); + var power = GetDefinition(powerName); + + subClass.FeatureUnlocks.RemoveAll(x => + x.FeatureDefinition == power || + x.FeatureDefinition == FeatureSetClericDivineIntervention); + + subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineOrder2024 + ? new FeatureUnlockByLevel(FeatureSetClericDivineIntervention, 10) + : new FeatureUnlockByLevel(power, 10)); + } + + foreach (var (subclassName, powerName) in divineInterventions) + { + var subClass = GetDefinition(subclassName); + var improvementPowerName = powerName.Replace("Intervention", "InterventionImprovement"); + var improvementPower = GetDefinition(improvementPowerName); + + subClass.FeatureUnlocks.RemoveAll(x => + x.FeatureDefinition == improvementPower || + x.FeatureDefinition == FeatureSetClericDivineInterventionImproved); + + subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineOrder2024 + ? new FeatureUnlockByLevel(FeatureSetClericDivineInterventionImproved, 20) + : new FeatureUnlockByLevel(improvementPower, 20)); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchClericDivineOrder() { Cleric.FeatureUnlocks .RemoveAll(x => x.FeatureDefinition == FeatureSetClericDivineOrder); - if (Main.Settings.EnablePaladinAbjureFoes2024) + if (Main.Settings.EnableClericDivineOrder2024) { Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetClericDivineOrder, 1)); } diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 5f1f8d8ae5..dc543d88d3 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -5,6 +5,7 @@ using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; +using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.CustomUI; @@ -83,14 +84,16 @@ private static void LoadPaladinRestoringTouch() { PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); + var powers = new List(); + + // ReSharper disable once LoopCanBeConvertedToQuery foreach (var condition in RestoringTouchConditions) { var conditionTitle = condition.FormatTitle(); var title = "PowerPaladinRestoringTouchSubPowerTitle".Formatted(Category.Feature, conditionTitle); var description = "PowerPaladinRestoringTouchSubPowerDescription".Formatted(Category.Feature, conditionTitle); - - _ = FeatureDefinitionPowerSharedPoolBuilder + var power = FeatureDefinitionPowerSharedPoolBuilder .Create($"PowerPaladinRestoringTouch{condition.Name}") .SetGuiPresentation(title, description) .SetSharedPool(ActivationTime.NoCost, PowerPaladinRestoringTouch, 5) @@ -105,7 +108,11 @@ private static void LoadPaladinRestoringTouch() .Build()) .Build()) .AddToDB(); + + powers.Add(power); } + + PowerBundle.RegisterPowerBundle(PowerPaladinRestoringTouch, false, [.. powers]); } internal static void SwitchPaladinSpellCastingAtOne() diff --git a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs index 9250c55251..62dfb46173 100644 --- a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs @@ -32,7 +32,7 @@ internal static class Level20SubclassesContext { private const string Tag = "PowerClericImprovedDivineIntervention"; - internal static readonly FeatureDefinitionPower PowerClericDivineInterventionImprovementCleric = + private static readonly FeatureDefinitionPower PowerClericDivineInterventionImprovementCleric = FeatureDefinitionPowerBuilder .Create(PowerClericDivineInterventionCleric, "PowerClericDivineInterventionImprovementCleric") .SetOrUpdateGuiPresentation(Tag, Category.Feature) diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 6eb03c66a0..1c5de4a769 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -51,6 +51,7 @@ internal static void LateLoad() SwitchBardSuperiorInspiration(); SwitchBardWordsOfCreation(); SwitchClericChannelDivinity(); + SwitchClericDivineIntervention(); SwitchClericDivineOrder(); SwitchClericDomainLearningLevel(); SwitchDruidMetalArmor(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 14e408f65b..a5b6c2a256 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -287,6 +287,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableBarbarianRegainOneRageAtShortRest2024 { get; set; } public bool EnableBarbarianRelentlessRage2024 { get; set; } public bool EnableClericChannelDivinity2024 { get; set; } + public bool EnableClericDivineIntervention2024 { get; set; } public bool EnableClericDivineOrder2024 { get; set; } public bool EnableClericToLearnDomainAtLevel3 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Subclasses/DomainDefiler.cs b/SolastaUnfinishedBusiness/Subclasses/DomainDefiler.cs index f0d5e9669f..f2193e6bff 100644 --- a/SolastaUnfinishedBusiness/Subclasses/DomainDefiler.cs +++ b/SolastaUnfinishedBusiness/Subclasses/DomainDefiler.cs @@ -197,7 +197,7 @@ public DomainDefiler() actionAffinityDyingLightToggle, autoPreparedSpellsDyingLight) .AddFeaturesAtLevel(20, - Level20SubclassesContext.PowerClericDivineInterventionImprovementWizard) + Level20SubclassesContext.PowerClericDivineInterventionImprovementPaladin) .AddToDB(); } diff --git a/SolastaUnfinishedBusiness/Subclasses/DomainNature.cs b/SolastaUnfinishedBusiness/Subclasses/DomainNature.cs index bdb409da2f..340b15e7dc 100644 --- a/SolastaUnfinishedBusiness/Subclasses/DomainNature.cs +++ b/SolastaUnfinishedBusiness/Subclasses/DomainNature.cs @@ -247,7 +247,7 @@ public DomainNature() .AddFeaturesAtLevel(8, additionalDamageDivineStrike) .AddFeaturesAtLevel(10, PowerClericDivineInterventionWizard) .AddFeaturesAtLevel(17, featureSetMasterOfNature) - .AddFeaturesAtLevel(20, Level20SubclassesContext.PowerClericDivineInterventionImprovementCleric) + .AddFeaturesAtLevel(20, Level20SubclassesContext.PowerClericDivineInterventionImprovementWizard) .AddToDB(); } diff --git a/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs b/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs index 6f674a3853..d9c19d9cf2 100644 --- a/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs +++ b/SolastaUnfinishedBusiness/Subclasses/DomainTempest.cs @@ -269,7 +269,7 @@ public DomainTempest() .AddFeaturesAtLevel(8, additionalDamageDivineStrike) .AddFeaturesAtLevel(10, PowerClericDivineInterventionPaladin) .AddFeaturesAtLevel(17, featureSetStormborn) - .AddFeaturesAtLevel(20, Level20SubclassesContext.PowerClericDivineInterventionImprovementWizard) + .AddFeaturesAtLevel(20, Level20SubclassesContext.PowerClericDivineInterventionImprovementPaladin) .AddToDB(); } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index d7e78ad859..464f1d7990 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Verbesserung des brut Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Der zusätzliche Schaden, den Ihr Brutal Strike verursacht, erhöht sich auf 2d10. Darüber hinaus können Sie zwei verschiedene Brutal Strike-Effekte nutzen, wenn Sie Ihre Brutal Strike-Funktion verwenden. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Verbesserung des brutalen Schlags Feature/&FeatureSetBarbarianBrutalStrikeTitle=Brutaler Schlag +Feature/&FeatureSetClericDivineInterventionDescription=Sie können Ihre Gottheit oder Ihr Pantheon anrufen, damit sie in Ihrem Namen eingreifen. Als freie Aktion können Sie einen zusätzlichen Zauberplatz bis zur Stufe 5 erhalten. Sie können diese Funktion erst wieder verwenden, wenn Sie eine lange Pause beendet haben. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Sie können Ihre Gottheit oder Ihr Pantheon anrufen, damit sie in Ihrem Namen eingreifen. Als freie Aktion können Sie einen zusätzlichen Zauberplatz bis Stufe 9 erhalten. Sie können diese Funktion erst wieder verwenden, wenn Sie eine lange Pause beendet haben. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Verbesserte göttliche Intervention +Feature/&FeatureSetClericDivineInterventionTitle=Göttliche Intervention Feature/&FeatureSetClericDivineOrderDescription=Sie haben sich einer der folgenden heiligen Rollen Ihrer Wahl verschrieben. Feature/&FeatureSetClericDivineOrderTitle=Göttliche Ordnung Feature/&FeatureSetClericProtectorDescription=Durch die Ausbildung für den Kampf erlangen Sie Fertigkeiten im Umgang mit Kampfwaffen und werden mit schweren Rüstungen vertraut. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 501238e479..9bd5c1870f 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Abbruchaktionen mit rechtem Mausklick a ModUi/&EnableCantripsTriggeringOnWarMagic=Erlaube Cantrips, um einen zusätzlichen Bonusangriff von Kriegsmagie auszulösen ModUi/&EnableCharactersOnFireToEmitLight=Charaktere, die brennen, sollten Licht ausstrahlen [Lichtwürfel, Feuerelementar, Feuernarr, Feuerfischadler, Feuerspinne und Familie der Feuerzustände] ModUi/&EnableClericChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] +ModUi/&EnableClericDivineIntervention2024=Tauschen Sie Divine Intervention und Improved Divine Intervention gegen die Version 5e 2024 aus [Zauberplatz bis zu einem bestimmten Level erhalten] ModUi/&EnableClericDivineOrder2024=Aktiviere Göttliche Ordnung auf Stufe 1 [Auswahl zwischen schwerer Rüstung/Kampfwaffen-Profi oder Bonus-Zauberspruch und einigen INT-Checks] ModUi/&EnableClericToLearnDomainAtLevel3=Aktivieren Sie Domäne auf Ebene 3 statt 1. ModUi/&EnableCustomPortraits=Aktivieren Sie Benutzerdefinierte Porträts diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 1f1875da72..c01f042fc1 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Brutal Strike Improve Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=The extra damage your Brutal Strike deals increases to 2d10. In addition, you can use two different Brutal Strike effects when you use your Brutal Strike feature. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Brutal Strike Improvement Feature/&FeatureSetBarbarianBrutalStrikeTitle=Brutal Strike +Feature/&FeatureSetClericDivineInterventionDescription=You can call on your deity or pantheon to intervene on your behalf. As a free action, you can gain one additional spell slot up to level 5. You can't use this feature again until you finish a Long Rest. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=You can call on your deity or pantheon to intervene on your behalf. As a free action, you can gain one additional spell slot up to level 9. You can't use this feature again until you finish a Long Rest. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Improved Divine Intervention +Feature/&FeatureSetClericDivineInterventionTitle=Divine Intervention Feature/&FeatureSetClericDivineOrderDescription=You have dedicated yourself to one of the following sacred roles of your choice. Feature/&FeatureSetClericDivineOrderTitle=Divine Order Feature/&FeatureSetClericProtectorDescription=Trained for battle, you gain proficiency with Martial weapons and training with Heavy armor. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index b71869e81c..b930e211bc 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Enable cancel actions with right mouse ModUi/&EnableCantripsTriggeringOnWarMagic=Allow cantrips to trigger War Magic extra bonus attack ModUi/&EnableCharactersOnFireToEmitLight=Characters On Fire should emit light [Cube of Light, Fire Elemental, Fire Jester, Fire Osprey, Fire Spider, and on fire condition family] ModUi/&EnableClericChannelDivinity2024=Enable Channel Divinity 5e 2024 version [different usages] +ModUi/&EnableClericDivineIntervention2024=Swap Divine Intervention and Improved Divine Intervention with 5e 2024 version [gain spell slot up to a certain level] ModUi/&EnableClericDivineOrder2024=Enable Divine Order at level 1 [choice between heavy armor/martial weapons prof. or bonus cantrip and some INT checks] ModUi/&EnableClericToLearnDomainAtLevel3=Enable Domain at level 3 instead of 1 ModUi/&EnableCustomPortraits=Enable Custom Portraits diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 72fc8a8670..57cc8d5352 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Mejora de Brutal Stri Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=El daño adicional que inflige tu Golpe Brutal aumenta a 2d10. Además, puedes usar dos efectos de Golpe Brutal diferentes cuando usas tu característica Golpe Brutal. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Mejora de Brutal Strike Feature/&FeatureSetBarbarianBrutalStrikeTitle=Golpe brutal +Feature/&FeatureSetClericDivineInterventionDescription=Puedes invocar a tu deidad o panteón para que intervenga en tu nombre. Como acción gratuita, puedes obtener un espacio de conjuro adicional hasta el nivel 5. No puedes volver a usar esta característica hasta que termines un descanso prolongado. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Puedes invocar a tu deidad o panteón para que intervenga en tu nombre. Como acción gratuita, puedes obtener un espacio de conjuro adicional hasta el nivel 9. No puedes volver a usar esta característica hasta que termines un descanso prolongado. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Intervención divina mejorada +Feature/&FeatureSetClericDivineInterventionTitle=Intervención divina Feature/&FeatureSetClericDivineOrderDescription=Te has dedicado a uno de los siguientes roles sagrados de tu elección. Feature/&FeatureSetClericDivineOrderTitle=Orden Divina Feature/&FeatureSetClericProtectorDescription=Entrenado para la batalla, adquirirás competencia con armas marciales y entrenamiento con armaduras pesadas. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 6501cf2b0e..00586806ec 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Habilitar acciones de cancelación con ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que los trucos activen un ataque adicional adicional de Magia de guerra ModUi/&EnableCharactersOnFireToEmitLight=Los personajes On Fire deben emitir luz [Cubo de luz, Elemental de fuego, Bufón de fuego, Águila pescadora de fuego, Araña de fuego y familia de condición en llamas] ModUi/&EnableClericChannelDivinity2024=Habilitar Canal Divinidad versión 5e 2024 [usos diferentes] +ModUi/&EnableClericDivineIntervention2024=Intercambia Intervención divina e Intervención divina mejorada con la versión 5e 2024 [gana espacio de hechizo hasta cierto nivel] ModUi/&EnableClericDivineOrder2024=Habilita Orden Divina en el nivel 1 [elección entre armadura pesada/armas marciales, truco profesional o adicional y algunas pruebas de INT] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Dominio en el nivel 3 en lugar del 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index dbb7cf7e03..b9921d4481 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Amélioration de la f Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Les dégâts supplémentaires infligés par votre Frappe brutale augmentent à 2d10. De plus, vous pouvez utiliser deux effets de Frappe brutale différents lorsque vous utilisez votre capacité Frappe brutale. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Amélioration des frappes brutales Feature/&FeatureSetBarbarianBrutalStrikeTitle=Grève brutale +Feature/&FeatureSetClericDivineInterventionDescription=Vous pouvez faire appel à votre divinité ou à votre panthéon pour intervenir en votre faveur. Par une action libre, vous pouvez gagner un emplacement de sort supplémentaire jusqu'au niveau 5. Vous ne pouvez pas réutiliser cette fonctionnalité avant d'avoir terminé un repos long. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Vous pouvez faire appel à votre divinité ou à votre panthéon pour intervenir en votre faveur. Par une action libre, vous pouvez gagner un emplacement de sort supplémentaire jusqu'au niveau 9. Vous ne pouvez pas réutiliser cette fonctionnalité avant d'avoir terminé un repos long. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Intervention divine améliorée +Feature/&FeatureSetClericDivineInterventionTitle=Intervention divine Feature/&FeatureSetClericDivineOrderDescription=Vous vous êtes consacré à l’un des rôles sacrés suivants de votre choix. Feature/&FeatureSetClericDivineOrderTitle=Ordre Divin Feature/&FeatureSetClericProtectorDescription=Entraîné au combat, vous acquérez une maîtrise des armes martiales et une formation avec les armures lourdes. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 5c5085912b..f915bda1b6 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Activer les actions d'annulation avec u ModUi/&EnableCantripsTriggeringOnWarMagic=Autoriser les tours de passe-passe à déclencher une attaque bonus supplémentaire de Magie de guerre ModUi/&EnableCharactersOnFireToEmitLight=Les personnages En feu doivent émettre de la lumière [Cube de lumière, Élémentaire de feu, Bouffon de feu, Balbuzard pêcheur de feu, Araignée de feu et famille de conditions en feu] ModUi/&EnableClericChannelDivinity2024=Activer Channel Divinity 5e version 2024 [différentes utilisations] +ModUi/&EnableClericDivineIntervention2024=Échangez Intervention divine et Intervention divine améliorée avec la version 5e 2024 [gagne un emplacement de sort jusqu'à un certain niveau] ModUi/&EnableClericDivineOrder2024=Activer Ordre divin au niveau 1 [choix entre armure lourde/prof. armes martiales ou tour de passe-passe bonus et quelques tests d'INT] ModUi/&EnableClericToLearnDomainAtLevel3=Activer le Domaine au niveau 3 au lieu de 1 ModUi/&EnableCustomPortraits=Activer les portraits personnalisés diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index a0bc93e229..dc3611c622 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Miglioramento del col Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Il danno extra inflitto dal tuo Brutal Strike aumenta a 2d10. Inoltre, puoi usare due diversi effetti di Brutal Strike quando usi la tua caratteristica Brutal Strike. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Miglioramento del colpo brutale Feature/&FeatureSetBarbarianBrutalStrikeTitle=Colpo brutale +Feature/&FeatureSetClericDivineInterventionDescription=Puoi invocare la tua divinità o pantheon affinché intervenga in tuo favore. Come azione gratuita, puoi ottenere uno slot incantesimo aggiuntivo fino al livello 5. Non puoi usare di nuovo questa caratteristica finché non hai completato un Riposo Lungo. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Puoi invocare la tua divinità o pantheon affinché intervenga in tuo favore. Come azione gratuita, puoi ottenere uno slot incantesimo aggiuntivo fino al livello 9. Non puoi usare di nuovo questa caratteristica finché non hai completato un Riposo Lungo. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Intervento divino migliorato +Feature/&FeatureSetClericDivineInterventionTitle=Intervento divino Feature/&FeatureSetClericDivineOrderDescription=Ti sei dedicato a uno dei seguenti ruoli sacri, a tua scelta. Feature/&FeatureSetClericDivineOrderTitle=Ordine divino Feature/&FeatureSetClericProtectorDescription=Una volta addestrato per la battaglia, acquisirai competenza nell'uso delle armi da guerra e nell'uso delle armature pesanti. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 74ed90b4eb..f105b88eac 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Abilita l'annullamento delle azioni con ModUi/&EnableCantripsTriggeringOnWarMagic=Consenti ai trucchetti di attivare l'attacco bonus extra Magia di guerra ModUi/&EnableCharactersOnFireToEmitLight=I personaggi In fiamme dovrebbero emettere luce [Cubo di luce, Elementale di fuoco, Giullare di fuoco, Falco pescatore di fuoco, Ragno di fuoco e famiglia di condizioni in fiamme] ModUi/&EnableClericChannelDivinity2024=Abilita Canale Divinità versione 5e 2024 [usi diversi] +ModUi/&EnableClericDivineIntervention2024=Sostituisci Intervento divino e Intervento divino migliorato con la versione 5e 2024 [guadagna slot incantesimo fino a un certo livello] ModUi/&EnableClericDivineOrder2024=Abilita Ordine Divino al livello 1 [scelta tra armatura pesante/armi da guerra prof. o trucchetto bonus e alcuni controlli INT] ModUi/&EnableClericToLearnDomainAtLevel3=Abilita Dominio al livello 3 invece che 1 ModUi/&EnableCustomPortraits=Abilita Ritratti personalizzati diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 97ba6b9a34..ee1817bdbd 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=ブルータルスト Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Brutal Strike が与える追加ダメージは 2d10 に増加します。さらに、Brutal Strike 機能を使用するときに、2 つの異なる Brutal Strike 効果を使用できます。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=ブルータルストライクの改善 Feature/&FeatureSetBarbarianBrutalStrikeTitle=ブルータル・ストライク +Feature/&FeatureSetClericDivineInterventionDescription=神や万神殿にあなたに代わって介入するよう要請することができます。フリー アクションとして、レベル 5 まで追加の呪文スロットを 1 つ獲得できます。大休憩を終了するまで、この機能を再度使用することはできません。 +Feature/&FeatureSetClericDivineInterventionImprovedDescription=神や神々を召喚して、あなたに代わって介入させることができます。フリー アクションとして、レベル 9 まで追加の呪文スロットを 1 つ獲得できます。大休憩を終了するまで、この機能を再度使用することはできません。 +Feature/&FeatureSetClericDivineInterventionImprovedTitle=神の介入の改善 +Feature/&FeatureSetClericDivineInterventionTitle=神の介入 Feature/&FeatureSetClericDivineOrderDescription=あなたは、あなたが選んだ以下の神聖な役割のうちの 1 つに身を捧げました。 Feature/&FeatureSetClericDivineOrderTitle=神の秩序 Feature/&FeatureSetClericProtectorDescription=戦闘の訓練を受け、格闘武器の熟練度と重装甲の訓練を習得します。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 1154dbf7ed..851a8f177c 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=マウスの右クリックでキャン ModUi/&EnableCantripsTriggeringOnWarMagic=呪文で戦争魔法の追加ボーナス攻撃を発動できるようにする ModUi/&EnableCharactersOnFireToEmitLight=On Fire のキャラクターは、[Cube of Light、Fire Elemental、Fire Jester、Fire Osprey、Fire Spider、および On Fire 状態ファミリー] を発するはずです。 ModUi/&EnableClericChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする +ModUi/&EnableClericDivineIntervention2024=Divine Intervention と Improved Divine Intervention を 5e 2024 バージョン [特定のレベルまでの呪文スロットを獲得] と入れ替えます ModUi/&EnableClericDivineOrder2024=レベル 1 で 神聖な命令 を有効にする [重装甲/武術武器の熟練度またはボーナス キャントリップといくつかの INT チェックのいずれかを選択] ModUi/&EnableClericToLearnDomainAtLevel3=ドメインをレベル1ではなくレベル3で有効にする ModUi/&EnableCustomPortraits=カスタムポートレートを有効にする diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 1c6535d765..ae3d3adc5a 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=잔혹한 일격 개 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Brutal Strike가 입히는 추가 피해는 2d10으로 증가합니다. 게다가 Brutal Strike 기능을 사용할 때 두 가지 다른 Brutal Strike 효과를 사용할 수 있습니다. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=잔혹한 일격 개선 Feature/&FeatureSetBarbarianBrutalStrikeTitle=잔인한 일격 +Feature/&FeatureSetClericDivineInterventionDescription=신이나 판테온에 당신을 대신하여 개입해 달라고 요청할 수 있습니다. 무료 행동으로 최대 레벨 5까지 추가 주문 슬롯을 하나 얻을 수 있습니다. 긴 휴식을 마칠 때까지 이 기능을 다시 사용할 수 없습니다. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=신이나 판테온에 당신을 대신하여 개입해 달라고 요청할 수 있습니다. 무료 행동으로 최대 레벨 9까지 추가 주문 슬롯을 하나 얻을 수 있습니다. 긴 휴식을 마칠 때까지 이 기능을 다시 사용할 수 없습니다. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=개선된 신의 개입 +Feature/&FeatureSetClericDivineInterventionTitle=신의 개입 Feature/&FeatureSetClericDivineOrderDescription=당신은 당신이 선택한 다음의 신성한 역할 중 하나에 헌신하였습니다. Feature/&FeatureSetClericDivineOrderTitle=신성한 질서 Feature/&FeatureSetClericProtectorDescription=전투 훈련을 받으면 무술 무기를 다루는 기술과 중갑옷을 다루는 기술을 습득합니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index dcb4f2dd5e..aca0868239 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=마우스 오른쪽 클릭으로 취소 ModUi/&EnableCantripsTriggeringOnWarMagic=주문이 전쟁 마법 추가 보너스 공격을 발동하도록 허용합니다. ModUi/&EnableCharactersOnFireToEmitLight=불타는 캐릭터는 빛을 내야 합니다. [빛의 큐브, 불의 정령, 불의 광대, 불의 물수리, 불의 거미, 불의 상태 패밀리] ModUi/&EnableClericChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 +ModUi/&EnableClericDivineIntervention2024=신성한 개입과 개선된 신성 개입을 5e 2024 버전 [특정 레벨까지 주문 슬롯 획득]과 교환하세요. ModUi/&EnableClericDivineOrder2024=레벨 1에서 신성한 질서 활성화 [중갑옷/무술 무기 전문가 또는 보너스 주문과 일부 INT 검사 중 선택] ModUi/&EnableClericToLearnDomainAtLevel3=1 대신 3 레벨에서 도메인을 활성화하세요. ModUi/&EnableCustomPortraits=사용자 정의 초상화 활성화 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index c55db7d32a..903bb92391 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Melhoria do Ataque Br Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=O dano extra que seu Brutal Strike causa aumenta para 2d10. Além disso, você pode usar dois efeitos diferentes de Brutal Strike quando usar sua habilidade Brutal Strike. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Melhoria do Ataque Brutal Feature/&FeatureSetBarbarianBrutalStrikeTitle=Ataque Brutal +Feature/&FeatureSetClericDivineInterventionDescription=Você pode invocar sua divindade ou panteão para intervir em seu favor. Como uma ação livre, você pode ganhar um espaço de magia adicional até o nível 5. Você não pode usar esta habilidade novamente até terminar um Long Rest. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Você pode invocar sua divindade ou panteão para intervir em seu favor. Como uma ação livre, você pode ganhar um espaço de magia adicional até o nível 9. Você não pode usar esta habilidade novamente até terminar um Long Rest. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Intervenção Divina Melhorada +Feature/&FeatureSetClericDivineInterventionTitle=Intervenção Divina Feature/&FeatureSetClericDivineOrderDescription=Você se dedicou a um dos seguintes papéis sagrados de sua escolha. Feature/&FeatureSetClericDivineOrderTitle=Ordem Divina Feature/&FeatureSetClericProtectorDescription=Treinado para a batalha, você ganha proficiência com armas marciais e treinamento com armaduras pesadas. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 5a8029153c..3fa9bcd207 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Habilitar ações de cancelamento com c ModUi/&EnableCantripsTriggeringOnWarMagic=Permitir que truques desencadeiem um ataque bônus extra de Magia de Guerra ModUi/&EnableCharactersOnFireToEmitLight=Personagens Em Chamas devem emitir luz [Cubo de Luz, Elemental de Fogo, Bobo da Corte de Fogo, Águia Pescadora de Fogo, Aranha de Fogo e família de condição em chamas] ModUi/&EnableClericChannelDivinity2024=Habilitar Channel Divinity versão 5e 2024 [usos diferentes] +ModUi/&EnableClericDivineIntervention2024=Troque Intervenção Divina e Intervenção Divina Aprimorada pela versão 5e 2024 [ganhe espaço de magia até um certo nível] ModUi/&EnableClericDivineOrder2024=Habilite Ordem Divina no nível 1 [escolha entre armadura pesada/prof. de armas marciais ou truque bônus e alguns testes de INT] ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Domínio no nível 3 em vez de 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 2f522d3282..e37dea26b0 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Улучшенный Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Дополнительный урон от Жестокого удара увеличивается до 2d10. Кроме того, вы можете использовать два разных эффекта Жестокого удара, когда используете это умение. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Улучшенный жестокий удар Feature/&FeatureSetBarbarianBrutalStrikeTitle=Жестокий удар +Feature/&FeatureSetClericDivineInterventionDescription=Вы можете призвать свое божество или пантеон вмешаться от вашего имени. В качестве свободного действия вы можете получить один дополнительный слот заклинания до уровня 5. Вы не сможете использовать эту функцию снова, пока не закончите Длительный Отдых. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Вы можете призвать свое божество или пантеон, чтобы они вмешались от вашего имени. В качестве свободного действия вы можете получить один дополнительный слот заклинания до уровня 9. Вы не сможете использовать эту функцию снова, пока не закончите Длительный Отдых. +Feature/&FeatureSetClericDivineInterventionImprovedTitle=Улучшенное божественное вмешательство +Feature/&FeatureSetClericDivineInterventionTitle=Божественное Вмешательство Feature/&FeatureSetClericDivineOrderDescription=Вы посвятили себя одной из следующих священных ролей по вашему выбору. Feature/&FeatureSetClericDivineOrderTitle=Божественный Порядок Feature/&FeatureSetClericProtectorDescription=Пройдя подготовку к бою, вы приобретаете навыки владения боевым оружием и учитесь носить тяжелые доспехи. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 037d2168a6..cc1427fb3c 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=Включить отмену дейс ModUi/&EnableCantripsTriggeringOnWarMagic=Разрешить срабатывание дополнительной бонусной атаки Боевой магии от заговоров ModUi/&EnableCharactersOnFireToEmitLight=Горящие персонажи должны излучать свет [Куб света, Огненный элементаль, Огненный балагур, Огненная скопа, Огненный паук, а также любые горящие существа] ModUi/&EnableClericChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] +ModUi/&EnableClericDivineIntervention2024=Поменяйте Божественное вмешательство и Улучшенное божественное вмешательство с версией 5e 2024 [получить ячейку заклинания до определенного уровня] ModUi/&EnableClericDivineOrder2024=Включить Божественный порядок на уровне 1 [выбор между тяжелой броней/боевым оружием или бонусным колдовством и некоторыми проверками ИНТ] ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 25192cdc6f..7889624860 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -136,6 +136,10 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=精通凶蛮打击 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=你的残酷打击造成的额外伤害增加到 2d10。此外,当你使用残酷打击功能时,你可以使用两种不同的残酷打击效果。 Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=精通凶蛮打击 Feature/&FeatureSetBarbarianBrutalStrikeTitle=凶蛮打击 +Feature/&FeatureSetClericDivineInterventionDescription=您可以召唤您的神祇或万神殿来为您干预。作为自由行动,您可以获得一个最高等级 5 的额外法术位。在完成长时间休息之前,您无法再次使用此功能。 +Feature/&FeatureSetClericDivineInterventionImprovedDescription=您可以召唤您的神祇或万神殿来为您干预。作为自由行动,您可以获得一个最高等级 9 的额外法术位。在完成长时间休息之前,您无法再次使用此功能。 +Feature/&FeatureSetClericDivineInterventionImprovedTitle=增强神圣干预 +Feature/&FeatureSetClericDivineInterventionTitle=神圣干预 Feature/&FeatureSetClericDivineOrderDescription=您已选择将自己奉献给下列神圣角色之一。 Feature/&FeatureSetClericDivineOrderTitle=神圣秩序 Feature/&FeatureSetClericProtectorDescription=经过战斗训练,您可以熟练使用军用武器并接受重型盔甲的训练。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index a38796082e..257415863c 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -116,6 +116,7 @@ ModUi/&EnableCancelEditOnRightMouseClick=通过鼠标右键单击启用取消操 ModUi/&EnableCantripsTriggeringOnWarMagic=允许戏法触发战争魔法额外奖励攻击 ModUi/&EnableCharactersOnFireToEmitLight=着火的角色应该发光[光之立方体、火元素、火小丑、火鱼鹰、火蜘蛛和着火状态家族] ModUi/&EnableClericChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] +ModUi/&EnableClericDivineIntervention2024=将神圣干预和改进的神圣干预与 5e 2024 版本交换[获得法术位达到一定等级] ModUi/&EnableClericDivineOrder2024=在 1 级启用神圣秩序 [在重型盔甲/军用武器专业或奖励戏法和一些 INT 检查之间进行选择] ModUi/&EnableClericToLearnDomainAtLevel3=在级别 3 而不是 1 启用 域 ModUi/&EnableCustomPortraits=启用自定义肖像 From c4479ed856d94cb656d62b8ed503ee88645093f4 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 19:04:39 -0800 Subject: [PATCH 29/42] update diagnostics --- ...esentation-InvalidSyntaxTranslation-en.txt | 10 + .../UnfinishedBusinessBlueprints/Assets.txt | 10 + .../FeatureSetClericDivineIntervention.json | 38 ++++ ...reSetClericDivineInterventionImproved.json | 38 ++++ .../SpellPowerPaladinRestoringTouch.json | 199 ++++++++++++++++++ ...PaladinRestoringTouchConditionBlinded.json | 193 +++++++++++++++++ ...PaladinRestoringTouchConditionCharmed.json | 193 +++++++++++++++++ ...adinRestoringTouchConditionFrightened.json | 193 +++++++++++++++++ ...ladinRestoringTouchConditionParalyzed.json | 193 +++++++++++++++++ ...PaladinRestoringTouchConditionStunned.json | 193 +++++++++++++++++ 10 files changed, 1260 insertions(+) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouch.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionBlinded.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionCharmed.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionFrightened.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionParalyzed.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionStunned.json diff --git a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt index 9dd7532ebe..d001a32837 100644 --- a/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt +++ b/Diagnostics/CE-Definitions-GuiPresentation-InvalidSyntaxTranslation-en.txt @@ -1651,6 +1651,16 @@ SpellPowerMetamagicTransmutedSpellDamagePoison Title='Poison Damage'. SpellPowerMetamagicTransmutedSpellDamagePoison Description='Replace the magic effect damage type with Poison Damage.'. SpellPowerMetamagicTransmutedSpellDamageThunder Title='Thunder Damage'. SpellPowerMetamagicTransmutedSpellDamageThunder Description='Replace the magic effect damage type with Thunder Damage.'. +SpellPowerPaladinRestoringTouchConditionBlinded Title='Restoring Touch: Blinded'. +SpellPowerPaladinRestoringTouchConditionBlinded Description='When you use Lay On Hands on a creature, you can also remove Blinded. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +SpellPowerPaladinRestoringTouchConditionCharmed Title='Restoring Touch: Charmed'. +SpellPowerPaladinRestoringTouchConditionCharmed Description='When you use Lay On Hands on a creature, you can also remove Charmed. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +SpellPowerPaladinRestoringTouchConditionFrightened Title='Restoring Touch: Frightened'. +SpellPowerPaladinRestoringTouchConditionFrightened Description='When you use Lay On Hands on a creature, you can also remove Frightened. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +SpellPowerPaladinRestoringTouchConditionParalyzed Title='Restoring Touch: Paralyzed'. +SpellPowerPaladinRestoringTouchConditionParalyzed Description='When you use Lay On Hands on a creature, you can also remove Paralyzed. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. +SpellPowerPaladinRestoringTouchConditionStunned Title='Restoring Touch: Stunned'. +SpellPowerPaladinRestoringTouchConditionStunned Description='When you use Lay On Hands on a creature, you can also remove Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands.'. SpellPowerPathOfTheWildMagicWildSurgeAura Title='Wild Surge: Aura'. SpellPowerPathOfTheWildMagicWildSurgeAura Description='Until your rage ends, you gain a +1 bonus to AC, and while within 10 feet of you, your allies gain the same bonus.'. SpellPowerPathOfTheWildMagicWildSurgeBolt Title='Wild Surge: Bolt'. diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 6477c74a59..58cf72b578 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2599,6 +2599,8 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinition 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinition bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinition dec1968e-1879-5c1d-b8a5-52425ce251bd +FeatureSetClericDivineIntervention FeatureDefinitionFeatureSet FeatureDefinition c4635fe8-eb61-50e3-9578-261eda5f7749 +FeatureSetClericDivineInterventionImproved FeatureDefinitionFeatureSet FeatureDefinition 2693d1e9-cdb2-5677-8be0-2e26ef7ca36a FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinition e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinition 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinition 5fadeec3-0f9b-56d8-9bae-042897333f9a @@ -5604,6 +5606,8 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet dec1968e-1879-5c1d-b8a5-52425ce251bd +FeatureSetClericDivineIntervention FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet c4635fe8-eb61-50e3-9578-261eda5f7749 +FeatureSetClericDivineInterventionImproved FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 2693d1e9-cdb2-5677-8be0-2e26ef7ca36a FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 5fadeec3-0f9b-56d8-9bae-042897333f9a @@ -12840,6 +12844,12 @@ SpellPowerMetamagicTransmutedSpellDamageThunder SpellDefinition SpellDefinition SpellPowerMoonlitScionFullMoon SpellDefinition SpellDefinition d1888f0d-bfe5-5242-a6a0-7bb3999a1c8b SpellPowerMoonlitScionLunarCloak SpellDefinition SpellDefinition 08e742cb-f47c-552f-a210-93d779c0cfdf SpellPowerMoonlitScionNewMoon SpellDefinition SpellDefinition 20c91da7-234f-5a5e-96ed-8f340e0b2526 +SpellPowerPaladinRestoringTouch SpellDefinition SpellDefinition cc24522f-40af-5d77-a816-520a8301a6f8 +SpellPowerPaladinRestoringTouchConditionBlinded SpellDefinition SpellDefinition d9893a22-8bb5-5ec5-8b8b-8908d2668405 +SpellPowerPaladinRestoringTouchConditionCharmed SpellDefinition SpellDefinition 6cf527b4-b996-5a67-8fc8-a98207564ca9 +SpellPowerPaladinRestoringTouchConditionFrightened SpellDefinition SpellDefinition 783cc713-ad08-53bd-be98-fad816c2c2fe +SpellPowerPaladinRestoringTouchConditionParalyzed SpellDefinition SpellDefinition 83a5e148-1210-5aa8-9261-57a905e3fe65 +SpellPowerPaladinRestoringTouchConditionStunned SpellDefinition SpellDefinition 2702bf5a-83b5-591d-be74-16bcc719ef47 SpellPowerPathOfTheBeastBestialSoul SpellDefinition SpellDefinition 45f67905-6864-55bc-bf0b-2d9e84eb6170 SpellPowerPathOfTheBeastBestialSoulHare SpellDefinition SpellDefinition 4072493a-bf63-5704-86d7-cb5d68fc1ac2 SpellPowerPathOfTheBeastBestialSoulSnake SpellDefinition SpellDefinition 82fdaa32-4a6a-5ec4-b579-7c4476a1db05 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json new file mode 100644 index 0000000000..6e4680a9ba --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json @@ -0,0 +1,38 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetClericDivineInterventionTitle", + "description": "Feature/&FeatureSetClericDivineInterventionDescription", + "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": "c4635fe8-eb61-50e3-9578-261eda5f7749", + "contentPack": 9999, + "name": "FeatureSetClericDivineIntervention" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json new file mode 100644 index 0000000000..70d5c68446 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json @@ -0,0 +1,38 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetClericDivineInterventionImprovedTitle", + "description": "Feature/&FeatureSetClericDivineInterventionImprovedDescription", + "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": "2693d1e9-cdb2-5677-8be0-2e26ef7ca36a", + "contentPack": 9999, + "name": "FeatureSetClericDivineInterventionImproved" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouch.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouch.json new file mode 100644 index 0000000000..050eee2e6a --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouch.json @@ -0,0 +1,199 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [ + "Definition:SpellPowerPaladinRestoringTouchConditionFrightened:783cc713-ad08-53bd-be98-fad816c2c2fe", + "Definition:SpellPowerPaladinRestoringTouchConditionBlinded:d9893a22-8bb5-5ec5-8b8b-8908d2668405", + "Definition:SpellPowerPaladinRestoringTouchConditionCharmed:6cf527b4-b996-5a67-8fc8-a98207564ca9", + "Definition:SpellPowerPaladinRestoringTouchConditionParalyzed:83a5e148-1210-5aa8-9261-57a905e3fe65", + "Definition:SpellPowerPaladinRestoringTouchConditionStunned:2702bf5a-83b5-591d-be74-16bcc719ef47" + ], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerPaladinRestoringTouchTitle", + "description": "Feature/&PowerPaladinRestoringTouchDescription", + "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": "cc24522f-40af-5d77-a816-520a8301a6f8", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouch" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionBlinded.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionBlinded.json new file mode 100644 index 0000000000..b1800ced1f --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionBlinded.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Blinded", + "description": "When you use Lay On Hands on a creature, you can also remove Blinded. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "d9893a22-8bb5-5ec5-8b8b-8908d2668405", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouchConditionBlinded" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionCharmed.json new file mode 100644 index 0000000000..e49666cbd0 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionCharmed.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Charmed", + "description": "When you use Lay On Hands on a creature, you can also remove Charmed. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "6cf527b4-b996-5a67-8fc8-a98207564ca9", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouchConditionCharmed" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionFrightened.json new file mode 100644 index 0000000000..0a1ff43727 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionFrightened.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Frightened", + "description": "When you use Lay On Hands on a creature, you can also remove Frightened. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "783cc713-ad08-53bd-be98-fad816c2c2fe", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouchConditionFrightened" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionParalyzed.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionParalyzed.json new file mode 100644 index 0000000000..759f460335 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionParalyzed.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Paralyzed", + "description": "When you use Lay On Hands on a creature, you can also remove Paralyzed. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "83a5e148-1210-5aa8-9261-57a905e3fe65", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouchConditionParalyzed" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionStunned.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionStunned.json new file mode 100644 index 0000000000..0b339fb28d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerPaladinRestoringTouchConditionStunned.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Restoring Touch: Stunned", + "description": "When you use Lay On Hands on a creature, you can also remove Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands.", + "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": "2702bf5a-83b5-591d-be74-16bcc719ef47", + "contentPack": 9999, + "name": "SpellPowerPaladinRestoringTouchConditionStunned" +} \ No newline at end of file From 13529b62ac197eac52d798b3a6941e4e54368b56 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 19:05:18 -0800 Subject: [PATCH 30/42] minor tweaks --- .../CharacterSubclassDefinition/DomainDefiler.json | 2 +- .../CharacterSubclassDefinition/DomainNature.json | 2 +- .../CharacterSubclassDefinition/DomainTempest.json | 2 +- SolastaUnfinishedBusiness/DataMiner/BlueprintExporter.cs | 4 ++-- SolastaUnfinishedBusiness/DataViewer/ReflectionFieldCache.cs | 2 +- SolastaUnfinishedBusiness/DataViewer/UnsafeForceCast.cs | 2 +- .../Subclasses/Builders/EldritchVersatility.cs | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainDefiler.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainDefiler.json index a5887a44b2..7edbf53154 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainDefiler.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainDefiler.json @@ -53,7 +53,7 @@ }, { "$type": "FeatureUnlockByLevel, Assembly-CSharp", - "featureDefinition": "Definition:PowerClericDivineInterventionImprovementWizard:e0410025-6a51-589f-9dc3-ecf95d055f7c", + "featureDefinition": "Definition:PowerClericDivineInterventionImprovementPaladin:11d90029-4c67-591e-8e69-f6d52b78d522", "level": 20 } ], diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainNature.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainNature.json index 00932aaefb..7cbe6d7712 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainNature.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainNature.json @@ -43,7 +43,7 @@ }, { "$type": "FeatureUnlockByLevel, Assembly-CSharp", - "featureDefinition": "Definition:PowerClericDivineInterventionImprovementCleric:d463d058-27db-559b-bf57-65c39d3150bb", + "featureDefinition": "Definition:PowerClericDivineInterventionImprovementWizard:e0410025-6a51-589f-9dc3-ecf95d055f7c", "level": 20 } ], diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainTempest.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainTempest.json index ef9d9b14a0..072717a0dc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainTempest.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/DomainTempest.json @@ -43,7 +43,7 @@ }, { "$type": "FeatureUnlockByLevel, Assembly-CSharp", - "featureDefinition": "Definition:PowerClericDivineInterventionImprovementWizard:e0410025-6a51-589f-9dc3-ecf95d055f7c", + "featureDefinition": "Definition:PowerClericDivineInterventionImprovementPaladin:11d90029-4c67-591e-8e69-f6d52b78d522", "level": 20 } ], diff --git a/SolastaUnfinishedBusiness/DataMiner/BlueprintExporter.cs b/SolastaUnfinishedBusiness/DataMiner/BlueprintExporter.cs index df8702af66..08599f16f2 100644 --- a/SolastaUnfinishedBusiness/DataMiner/BlueprintExporter.cs +++ b/SolastaUnfinishedBusiness/DataMiner/BlueprintExporter.cs @@ -73,7 +73,7 @@ internal static void ExportBlueprints( // ReSharper disable once SuggestBaseTypeForParameter private static IEnumerator ExportMany( int exportId, - IReadOnlyList baseDefinitions, + BaseDefinition[] baseDefinitions, Dictionary baseDefinitionsMap, Dictionary baseDefinitionAndCopy, bool exportOriginalCopy, @@ -115,7 +115,7 @@ private static IEnumerator ExportMany( yield return null; - var total = baseDefinitions.Count; + var total = baseDefinitions.Length; // Blueprints/definitions for (var i = 0; i < total; i++) diff --git a/SolastaUnfinishedBusiness/DataViewer/ReflectionFieldCache.cs b/SolastaUnfinishedBusiness/DataViewer/ReflectionFieldCache.cs index 3bc6d3acdc..c79722714a 100644 --- a/SolastaUnfinishedBusiness/DataViewer/ReflectionFieldCache.cs +++ b/SolastaUnfinishedBusiness/DataViewer/ReflectionFieldCache.cs @@ -13,7 +13,7 @@ internal static partial class ReflectionCache [NotNull] private static CachedField GetFieldCache(string name) { - object cache = default; + object cache = null; if (FieldCache.TryGetValue(typeof(T), name, out var weakRef)) { diff --git a/SolastaUnfinishedBusiness/DataViewer/UnsafeForceCast.cs b/SolastaUnfinishedBusiness/DataViewer/UnsafeForceCast.cs index 5b8ddc93f5..4c8c8b2665 100644 --- a/SolastaUnfinishedBusiness/DataViewer/UnsafeForceCast.cs +++ b/SolastaUnfinishedBusiness/DataViewer/UnsafeForceCast.cs @@ -9,7 +9,7 @@ internal static class UnsafeForceCast internal static Func GetDelegate() { - Func cache = default; + Func cache = null; if (Cache.TryGetValue(typeof(TInput), typeof(TOutput), out var weakRef)) { diff --git a/SolastaUnfinishedBusiness/Subclasses/Builders/EldritchVersatility.cs b/SolastaUnfinishedBusiness/Subclasses/Builders/EldritchVersatility.cs index dfe4b8996a..98fbdc2c33 100644 --- a/SolastaUnfinishedBusiness/Subclasses/Builders/EldritchVersatility.cs +++ b/SolastaUnfinishedBusiness/Subclasses/Builders/EldritchVersatility.cs @@ -1515,7 +1515,7 @@ public IEnumerator OnActionFinishedByMe(CharacterAction action) var invocation = rulesetCharacter.Invocations.Find(invocation => !invocation.Active && invocation.invocationDefinition.Name == InvocationName); - if (invocation != default(RulesetInvocation) && + if (invocation != null && supportCondition.StrPowerPriority.Contains("BlastEmpowerTitle")) { invocation.Toggle(); From a2719ae0e40ca11a31d93e39f52a4a6517baaa07 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 15 Dec 2024 20:42:26 -0800 Subject: [PATCH 31/42] add Cleric Sear Undead 2024 --- .../UnfinishedBusinessBlueprints/Assets.txt | 1 + .../FeatureClericSearUndead.json | 30 +++++++ .../Api/DatabaseHelper-RELEASE.cs | 11 ++- .../Displays/ClassesDisplay.cs | 7 ++ .../Displays/GeneralDisplay.cs | 7 ++ .../Models/2024ClericContext.cs | 90 ++++++++++++++++--- .../Models/Level20Context.cs | 16 ++-- .../Models/Tabletop2024Context.cs | 1 + SolastaUnfinishedBusiness/Settings.cs | 1 + .../Translations/de/Others-de.txt | 2 + .../Translations/de/Settings-de.txt | 1 + .../Translations/en/Others-en.txt | 2 + .../Translations/en/Settings-en.txt | 1 + .../Translations/es/Others-es.txt | 2 + .../Translations/es/Settings-es.txt | 1 + .../Translations/fr/Others-fr.txt | 2 + .../Translations/fr/Settings-fr.txt | 1 + .../Translations/it/Others-it.txt | 2 + .../Translations/it/Settings-it.txt | 1 + .../Translations/ja/Others-ja.txt | 2 + .../Translations/ja/Settings-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 2 + .../Translations/ko/Settings-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 2 + .../Translations/pt-BR/Settings-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 2 + .../Translations/ru/Settings-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 2 + .../Translations/zh-CN/Settings-zh-CN.txt | 1 + 29 files changed, 171 insertions(+), 23 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureClericSearUndead.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 58cf72b578..6caef44a89 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2402,6 +2402,7 @@ FeatureCircleOfTheCosmosNovaStar FeatureDefinitionFeatureSet FeatureDefinition 1 FeatureCircleOfTheLifeRevitalizingBoon FeatureDefinition FeatureDefinition 36cafccc-8902-5d01-9ca2-cd8c6ddccc9a FeatureCircleOfTheLifeVerdancy FeatureDefinition FeatureDefinition 0b1ba759-565f-5cf6-9bbc-e144b4566b90 FeatureCircleOfTheWildfireEnhancedBond FeatureDefinition FeatureDefinition c41572b7-6619-5c07-9014-eec83427f394 +FeatureClericSearUndead FeatureDefinition FeatureDefinition 107081f2-ba4b-5b2d-9329-8705b2c3f963 FeatureCollegeOfEleganceEvasiveFootwork FeatureDefinition FeatureDefinition 283399c1-2184-5ef0-8344-ed5527356844 FeatureCollegeOfValianceCaptivatingPresence FeatureDefinition FeatureDefinition 7a0346fa-529d-5770-81fe-ac044d310f4e FeatureCollegeOfValianceSteadfastInspiration FeatureDefinition FeatureDefinition 6bfab326-6ffd-5f6a-8715-57cfbf834405 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureClericSearUndead.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureClericSearUndead.json new file mode 100644 index 0000000000..90f3238bf1 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureClericSearUndead.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureClericSearUndeadTitle", + "description": "Feature/&FeatureClericSearUndeadDescription", + "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": "107081f2-ba4b-5b2d-9329-8705b2c3f963", + "contentPack": 9999, + "name": "FeatureClericSearUndead" +} \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 4c2fb238ca..0a9f0ff13a 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -1167,7 +1167,7 @@ internal static FeatureDefinitionAttackModifier internal static class FeatureDefinitionAttributeModifiers { internal static FeatureDefinitionAttributeModifier AttributeModifierClericChannelDivinity { get; } = - GetDefinition("AttributeModifierClericChannelDivinity"); + GetDefinition("AttributeModifierClericChannelDivinity"); internal static FeatureDefinitionAttributeModifier AttributeModifierPaladinChannelDivinity { get; } = GetDefinition("AttributeModifierPaladinChannelDivinity"); @@ -1938,6 +1938,15 @@ internal static class FeatureDefinitionPowers internal static FeatureDefinitionPower PowerClericDivineInterventionWizard { get; } = GetDefinition("PowerClericDivineInterventionWizard"); + internal static FeatureDefinitionPower PowerClericTurnUndead { get; } = + GetDefinition("PowerClericTurnUndead"); + + internal static FeatureDefinitionPower PowerClericTurnUndead5 { get; } = + GetDefinition("PowerClericTurnUndead5"); + + internal static FeatureDefinitionPower PowerClericTurnUndead11 { get; } = + GetDefinition("PowerClericTurnUndead11"); + internal static FeatureDefinitionPower PowerClericTurnUndead14 { get; } = GetDefinition("PowerClericTurnUndead14"); diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index d132e5a867..4366aa46d7 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -160,6 +160,13 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchClericDomainLearningLevel(); } + toggle = Main.Settings.EnableClericSearUndead2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericSearUndead2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericSearUndead2024 = toggle; + Tabletop2024Context.SwitchClericSearUndead(); + } + toggle = Main.Settings.EnableClericDivineIntervention2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index d801e549e2..a7aff07f62 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -422,6 +422,13 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchClericDomainLearningLevel(); } + toggle = Main.Settings.EnableClericSearUndead2024; + if (UI.Toggle(Gui.Localize("ModUi/&EnableClericSearUndead2024"), ref toggle, UI.AutoWidth())) + { + Main.Settings.EnableClericSearUndead2024 = toggle; + Tabletop2024Context.SwitchClericSearUndead(); + } + toggle = Main.Settings.EnableClericDivineIntervention2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) { diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 25b953cbff..2fc2d85610 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -1,6 +1,8 @@ using System; +using System.Collections; using System.Collections.Generic; using System.Linq; +using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.Interfaces; @@ -8,6 +10,8 @@ using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; namespace SolastaUnfinishedBusiness.Models; @@ -35,14 +39,12 @@ internal static partial class Tabletop2024Context FeatureDefinitionProficiencyBuilder .Create("ProficiencyClericProtectorArmor") .SetGuiPresentationNoContent(true) - .SetProficiencies(RuleDefinitions.ProficiencyType.Armor, - EquipmentDefinitions.HeavyArmorCategory) + .SetProficiencies(ProficiencyType.Armor, EquipmentDefinitions.HeavyArmorCategory) .AddToDB(), FeatureDefinitionProficiencyBuilder .Create("ProficiencyClericProtectorWeapons") .SetGuiPresentationNoContent(true) - .SetProficiencies(RuleDefinitions.ProficiencyType.Weapon, - EquipmentDefinitions.MartialWeaponCategory) + .SetProficiencies(ProficiencyType.Weapon, EquipmentDefinitions.MartialWeaponCategory) .AddToDB()) .AddToDB()) .AddToDB(); @@ -59,6 +61,38 @@ internal static partial class Tabletop2024Context .SetGuiPresentation(Category.Feature) .AddToDB(); + private static readonly FeatureDefinition FeatureClericSearUndead = FeatureDefinitionBuilder + .Create("FeatureClericSearUndead") + .SetGuiPresentation(Category.Feature) + .AddCustomSubFeatures(new MagicEffectBeforeHitConfirmedOnEnemySearUndead()) + .AddToDB(); + + internal static void SwitchClericSearUndead() + { + Cleric.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == FeatureClericSearUndead || + x.FeatureDefinition == PowerClericTurnUndead5 || + x.FeatureDefinition == PowerClericTurnUndead11 || + x.FeatureDefinition == PowerClericTurnUndead14 || + x.FeatureDefinition == Level20Context.PowerClericTurnUndead17); + + if (Main.Settings.EnableClericSearUndead2024) + { + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureClericSearUndead, 5)); + } + else + { + Cleric.FeatureUnlocks.AddRange( + new FeatureUnlockByLevel(PowerClericTurnUndead5, 5), + new FeatureUnlockByLevel(PowerClericTurnUndead11, 11), + new FeatureUnlockByLevel(PowerClericTurnUndead14, 14), + new FeatureUnlockByLevel(Level20Context.PowerClericTurnUndead17, 17)); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal static void SwitchClericDivineIntervention() { var divineInterventions = new[] @@ -88,9 +122,10 @@ internal static void SwitchClericDivineIntervention() x.FeatureDefinition == power || x.FeatureDefinition == FeatureSetClericDivineIntervention); - subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineOrder2024 - ? new FeatureUnlockByLevel(FeatureSetClericDivineIntervention, 10) - : new FeatureUnlockByLevel(power, 10)); + subClass.FeatureUnlocks.Add( + Main.Settings.EnableClericDivineIntervention2024 + ? new FeatureUnlockByLevel(FeatureSetClericDivineIntervention, 10) + : new FeatureUnlockByLevel(power, 10)); } foreach (var (subclassName, powerName) in divineInterventions) @@ -103,7 +138,7 @@ internal static void SwitchClericDivineIntervention() x.FeatureDefinition == improvementPower || x.FeatureDefinition == FeatureSetClericDivineInterventionImproved); - subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineOrder2024 + subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineIntervention2024 ? new FeatureUnlockByLevel(FeatureSetClericDivineInterventionImproved, 20) : new FeatureUnlockByLevel(improvementPower, 20)); } @@ -207,6 +242,37 @@ internal static void SwitchClericDomainLearningLevel() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal sealed class MagicEffectBeforeHitConfirmedOnEnemySearUndead : IMagicEffectBeforeHitConfirmedOnEnemy + { + public IEnumerator OnMagicEffectBeforeHitConfirmedOnEnemy( + GameLocationBattleManager battleManager, + GameLocationCharacter attacker, + GameLocationCharacter defender, + ActionModifier actionModifier, + RulesetEffect rulesetEffect, + List actualEffectForms, + bool firstTarget, + bool criticalHit) + { + if (rulesetEffect.SourceDefinition != PowerClericTurnUndead) + { + yield break; + } + + var rulesetAttacker = attacker.RulesetCharacter; + var wisdom = rulesetAttacker.TryGetAttributeValue(AttributeDefinitions.Wisdom); + var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); + var diceNumber = Math.Max(wisMod, 1); + var effectForm = EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.Negates) + .SetDamageForm(DamageTypeRadiant, diceNumber, DieType.D8) + .Build(); + + actualEffectForms.Insert(0, effectForm); + } + } + private sealed class ModifyAbilityCheckThaumaturge : IModifyAbilityCheck { public void MinRoll( @@ -214,8 +280,8 @@ public void MinRoll( int baseBonus, string abilityScoreName, string proficiencyName, - List advantageTrends, - List modifierTrends, + List advantageTrends, + List modifierTrends, ref int rollModifier, ref int minRoll) { if (abilityScoreName is not AttributeDefinitions.Intelligence || @@ -230,8 +296,8 @@ proficiencyName is not (SkillDefinitions.Arcana or SkillDefinitions.Religion)) rollModifier += modifier; - modifierTrends.Add(new RuleDefinitions.TrendInfo(modifier, - RuleDefinitions.FeatureSourceType.CharacterFeature, + modifierTrends.Add(new TrendInfo(modifier, + FeatureSourceType.CharacterFeature, PointPoolClericThaumaturgeCantrip.Name, PointPoolClericThaumaturgeCantrip)); } } diff --git a/SolastaUnfinishedBusiness/Models/Level20Context.cs b/SolastaUnfinishedBusiness/Models/Level20Context.cs index 4a2c061aa5..9432cad0b4 100644 --- a/SolastaUnfinishedBusiness/Models/Level20Context.cs +++ b/SolastaUnfinishedBusiness/Models/Level20Context.cs @@ -159,6 +159,10 @@ internal static class Level20Context .AddCustomSubFeatures(new ModifyAdditionalDamageRangerFoeSlayer2024()) .AddToDB(); + internal static readonly FeatureDefinitionPower PowerClericTurnUndead17 = FeatureDefinitionPowerBuilder + .Create(PowerClericTurnUndead14, "PowerClericTurnUndead17") + .AddToDB(); + internal static void Load() { BarbarianLoad(); @@ -298,18 +302,10 @@ private static void BardLoad() private static void ClericLoad() { - var effectPowerClericTurnUndead17 = new EffectDescription(); - - effectPowerClericTurnUndead17.Copy(PowerClericTurnUndead14.EffectDescription); - effectPowerClericTurnUndead17.EffectForms[0].KillForm.challengeRating = 4; - - var powerClericTurnUndead17 = FeatureDefinitionPowerBuilder - .Create(PowerClericTurnUndead14, "PowerClericTurnUndead17") - .SetEffectDescription(effectPowerClericTurnUndead17) - .AddToDB(); + PowerClericTurnUndead17.EffectDescription.EffectForms[0].KillForm.challengeRating = 4; Cleric.FeatureUnlocks.AddRange( - new FeatureUnlockByLevel(powerClericTurnUndead17, 17), + new FeatureUnlockByLevel(PowerClericTurnUndead17, 17), new FeatureUnlockByLevel(AttributeModifierClericChannelDivinityAdd, 18), new FeatureUnlockByLevel(FeatureSetAbilityScoreChoice, 19) ); diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 1c5de4a769..1cffaba2dc 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -54,6 +54,7 @@ internal static void LateLoad() SwitchClericDivineIntervention(); SwitchClericDivineOrder(); SwitchClericDomainLearningLevel(); + SwitchClericSearUndead(); SwitchDruidMetalArmor(); SwitchDruidPrimalOrderAndRemoveMediumArmorProficiency(); SwitchDruidWeaponProficiency(); diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index a5b6c2a256..e32bb05fe3 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -289,6 +289,7 @@ public class Settings : UnityModManager.ModSettings public bool EnableClericChannelDivinity2024 { get; set; } public bool EnableClericDivineIntervention2024 { get; set; } public bool EnableClericDivineOrder2024 { get; set; } + public bool EnableClericSearUndead2024 { get; set; } public bool EnableClericToLearnDomainAtLevel3 { get; set; } public bool EnableDruidMetalArmor2024 { get; set; } public bool EnableDruidPrimalOrder2024 { get; set; } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 464f1d7990..ebb861af3c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Als Teil der Bonusaktion, Feature/&FeatureBarbarianInstinctivePounceTitle=Instinktiver Sprung Feature/&FeatureBardSuperiorInspiration2024Description=Wenn Sie die Initiative ergreifen, erhalten Sie verbrauchte Anwendungen der Bardischen Inspiration zurück, bis Sie zwei haben, wenn Sie weniger haben. Feature/&FeatureBardSuperiorInspiration2024Title=Überlegene Inspiration +Feature/&FeatureClericSearUndeadDescription=Wenn Sie Untote vertreiben verwenden, können Sie eine Anzahl von W8 würfeln, die Ihrem Weisheitsmodifikator entspricht (mindestens 1W8), und die Würfelergebnisse addieren. Jeder Untote, der seinen Rettungswurf gegen diese Verwendung von Untote vertreiben nicht schafft, erleidet Strahlungsschaden in Höhe der Gesamtsumme der Würfelergebnisse. +Feature/&FeatureClericSearUndeadTitle=Untote versengen 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. diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index 9bd5c1870f..de42bb820c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Charaktere, die brennen< ModUi/&EnableClericChannelDivinity2024=Aktivieren Sie Channel Divinity 5e 2024 Version [verschiedene Verwendungen] ModUi/&EnableClericDivineIntervention2024=Tauschen Sie Divine Intervention und Improved Divine Intervention gegen die Version 5e 2024 aus [Zauberplatz bis zu einem bestimmten Level erhalten] ModUi/&EnableClericDivineOrder2024=Aktiviere Göttliche Ordnung auf Stufe 1 [Auswahl zwischen schwerer Rüstung/Kampfwaffen-Profi oder Bonus-Zauberspruch und einigen INT-Checks] +ModUi/&EnableClericSearUndead2024=Aktiviere Untote versengen, um Untote zerstören auf Level 5 zu ersetzen. ModUi/&EnableClericToLearnDomainAtLevel3=Aktivieren Sie Domäne auf Ebene 3 statt 1. ModUi/&EnableCustomPortraits=Aktivieren Sie Benutzerdefinierte Porträts ModUi/&EnableCustomPortraitsHelp=• Platzieren Sie Ihre benutzerdefinierten Porträts in den Unterordnern Personal oder PreGen, benannt nach dem Vornamen des Helden [z. B.: Anton, Celia, Nialla usw.]\n• Verwenden Sie PNG-Bilder mit einer Größe von 256 x 384 Pixeln und einer Transparenzebene [verwenden Sie GIMP für beste Ergebnisse] diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index c01f042fc1..e664f9acf3 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=As part of the bonus actio Feature/&FeatureBarbarianInstinctivePounceTitle=Instinctive Pounce Feature/&FeatureBardSuperiorInspiration2024Description=When you roll Initiative, you regain expended uses of Bardic Inspiration until you have two if you have fewer that that. Feature/&FeatureBardSuperiorInspiration2024Title=Superior Inspiration +Feature/&FeatureClericSearUndeadDescription=Whenever you use Turn Undead, you can roll a number of d8s equal to your Wisdom modifier (minimum of 1d8) and add the rolls together. Each Undead that fails its saving throw against that use of Turn Undead takes Radiant damage equal to the roll's total. +Feature/&FeatureClericSearUndeadTitle=Sear Undead 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. diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index b930e211bc..63d7f22596 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Characters On FireChannel Divinity 5e 2024 version [different usages] ModUi/&EnableClericDivineIntervention2024=Swap Divine Intervention and Improved Divine Intervention with 5e 2024 version [gain spell slot up to a certain level] ModUi/&EnableClericDivineOrder2024=Enable Divine Order at level 1 [choice between heavy armor/martial weapons prof. or bonus cantrip and some INT checks] +ModUi/&EnableClericSearUndead2024=Enable Sear Undead to replace Destroy Undead at level 5 ModUi/&EnableClericToLearnDomainAtLevel3=Enable Domain at level 3 instead of 1 ModUi/&EnableCustomPortraits=Enable Custom Portraits ModUi/&EnableCustomPortraitsHelp=• Place your custom portraits under subfolders Personal or PreGen, named after the hero first name [i.e.: Anton, Celia, Nialla, etc.]\n• Use PNG images, 256 x 384 pixels in size, with a transparency layer [use GIMP for best results] diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 57cc8d5352..7975433166 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Como parte de la acción a Feature/&FeatureBarbarianInstinctivePounceTitle=Salto instintivo Feature/&FeatureBardSuperiorInspiration2024Description=Cuando tiras Iniciativa, recuperas los usos gastados de Inspiración bárdica hasta que tengas dos si tienes menos que eso. Feature/&FeatureBardSuperiorInspiration2024Title=Inspiración superior +Feature/&FeatureClericSearUndeadDescription=Siempre que uses Expulsar no-muertos, puedes tirar una cantidad de d8 igual a tu modificador de Sabiduría (un mínimo de 1d8) y sumar las tiradas. Cada no-muerto que falle su tirada de salvación contra ese uso de Expulsar no-muertos recibe daño radiante igual al total de la tirada. +Feature/&FeatureClericSearUndeadTitle=Quemar a los no muertos 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. diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 00586806ec..bd9b3aa299 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Los personajes On FireCanal Divinidad versión 5e 2024 [usos diferentes] ModUi/&EnableClericDivineIntervention2024=Intercambia Intervención divina e Intervención divina mejorada con la versión 5e 2024 [gana espacio de hechizo hasta cierto nivel] ModUi/&EnableClericDivineOrder2024=Habilita Orden Divina en el nivel 1 [elección entre armadura pesada/armas marciales, truco profesional o adicional y algunas pruebas de INT] +ModUi/&EnableClericSearUndead2024=Habilita Quemar no muertos para reemplazar Destruir no muertos en el nivel 5 ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Dominio en el nivel 3 en lugar del 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloca tus retratos personalizados en las subcarpetas Personal o PreGen, nombradas como el nombre del héroe [es decir: Anton, Celia, Nialla, etc.]\n• Usa imágenes PNG, de 256 x 384 píxeles de tamaño, con una capa de transparencia [usa GIMP para obtener mejores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index b9921d4481..2431e37df9 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Dans le cadre de l'action Feature/&FeatureBarbarianInstinctivePounceTitle=Bond instinctif Feature/&FeatureBardSuperiorInspiration2024Description=Lorsque vous lancez Initiative, vous récupérez les utilisations dépensées d'Inspiration bardique jusqu'à ce que vous en ayez deux si vous en avez moins. Feature/&FeatureBardSuperiorInspiration2024Title=Inspiration supérieure +Feature/&FeatureClericSearUndeadDescription=À chaque fois que vous utilisez Repousser les morts-vivants, vous pouvez lancer un nombre de d8 égal à votre modificateur de Sagesse (minimum de 1d8) et additionner les résultats. Chaque mort-vivant qui rate son jet de sauvegarde contre cette utilisation de Repousser les morts-vivants subit des dégâts radiants égaux au total du jet. +Feature/&FeatureClericSearUndeadTitle=Brûler les morts-vivants 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. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index f915bda1b6..ad9beab15a 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Les personnages En feuChannel Divinity 5e version 2024 [différentes utilisations] ModUi/&EnableClericDivineIntervention2024=Échangez Intervention divine et Intervention divine améliorée avec la version 5e 2024 [gagne un emplacement de sort jusqu'à un certain niveau] ModUi/&EnableClericDivineOrder2024=Activer Ordre divin au niveau 1 [choix entre armure lourde/prof. armes martiales ou tour de passe-passe bonus et quelques tests d'INT] +ModUi/&EnableClericSearUndead2024=Activez Sear Undead pour remplacer Destroy Undead au niveau 5 ModUi/&EnableClericToLearnDomainAtLevel3=Activer le Domaine au niveau 3 au lieu de 1 ModUi/&EnableCustomPortraits=Activer les portraits personnalisés ModUi/&EnableCustomPortraitsHelp=• Placez vos portraits personnalisés dans les sous-dossiers Personal ou PreGen, nommés d'après le prénom du héros [c'est-à-dire : Anton, Celia, Nialla, etc.]\n• Utilisez des images PNG, de 256 x 384 pixels, avec un calque de transparence [utilisez GIMP pour de meilleurs résultats] diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index dc3611c622..b90c60c69d 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Come parte dell'azione bon Feature/&FeatureBarbarianInstinctivePounceTitle=Balzo istintivo Feature/&FeatureBardSuperiorInspiration2024Description=Quando tiri per l'Iniziativa, recuperi gli usi spesi di Ispirazione Bardica finché non ne hai due, se ne hai meno. Feature/&FeatureBardSuperiorInspiration2024Title=Ispirazione superiore +Feature/&FeatureClericSearUndeadDescription=Ogni volta che usi Turn Undead, puoi tirare un numero di d8 pari al tuo modificatore di Saggezza (minimo 1d8) e sommare i tiri. Ogni Non-morto che fallisce il tiro salvezza contro quell'uso di Turn Undead subisce danni Radianti pari al totale del tiro. +Feature/&FeatureClericSearUndeadTitle=Brucia i non morti 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. diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index f105b88eac..bf916d61b3 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=I personaggi In fiammeCanale Divinità versione 5e 2024 [usi diversi] ModUi/&EnableClericDivineIntervention2024=Sostituisci Intervento divino e Intervento divino migliorato con la versione 5e 2024 [guadagna slot incantesimo fino a un certo livello] ModUi/&EnableClericDivineOrder2024=Abilita Ordine Divino al livello 1 [scelta tra armatura pesante/armi da guerra prof. o trucchetto bonus e alcuni controlli INT] +ModUi/&EnableClericSearUndead2024=Abilita Brucia Non Morti per sostituire Distruggi Non Morti al livello 5 ModUi/&EnableClericToLearnDomainAtLevel3=Abilita Dominio al livello 3 invece che 1 ModUi/&EnableCustomPortraits=Abilita Ritratti personalizzati ModUi/&EnableCustomPortraitsHelp=• Posiziona i tuoi ritratti personalizzati nelle sottocartelle Personale o PreGen, chiamate con il nome dell'eroe [ad esempio: Anton, Celia, Nialla, ecc.]\n• Utilizza immagini PNG, di dimensioni 256 x 384 pixel, con un livello di trasparenza [utilizza GIMP per risultati migliori] diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index ee1817bdbd..ee9edc3cf6 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=怒り状態に入るた Feature/&FeatureBarbarianInstinctivePounceTitle=本能的な飛びかかり Feature/&FeatureBardSuperiorInspiration2024Description=イニシアティブをロールすると、消費したバード インスピレーションの使用回数が 2 回になるまで回復します (2 回未満の場合)。 Feature/&FeatureBardSuperiorInspiration2024Title=優れたインスピレーション +Feature/&FeatureClericSearUndeadDescription=「アンデッド退治」を使用するときはいつでも、あなたの「知恵」修正値に等しい数の d8 をロールし (最低 1d8)、ロールを合計することができます。「アンデッド退治」の使用に対するセーヴィング スローに失敗した各アンデッドは、ロールの合計に等しい光輝ダメージを受けます。 +Feature/&FeatureClericSearUndeadTitle=アンデッドを焼く Feature/&FeatureEldritchMasterDescription=魔法の狡猾な特徴を使用すると、消費した契約魔法の呪文スロットがすべて回復します。 Feature/&FeatureEldritchMasterTitle=エルドリッチマスター Feature/&FeatureFighterStudiedAttacksDescription=あなたは敵を観察し、行う攻撃から学びます。クリーチャーに対して攻撃ロールを行って失敗した場合、次のターンの終了前にそのクリーチャーに対する次の攻撃ロールにアドバンテージを得ます。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 851a8f177c..a3efa6c6dd 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=On Fire のキ ModUi/&EnableClericChannelDivinity2024=Channel Divinity 5e 2024 バージョン [さまざまな使用法] を有効にする ModUi/&EnableClericDivineIntervention2024=Divine Intervention と Improved Divine Intervention を 5e 2024 バージョン [特定のレベルまでの呪文スロットを獲得] と入れ替えます ModUi/&EnableClericDivineOrder2024=レベル 1 で 神聖な命令 を有効にする [重装甲/武術武器の熟練度またはボーナス キャントリップといくつかの INT チェックのいずれかを選択] +ModUi/&EnableClericSearUndead2024=レベル 5 で アンデッドの焼却 を アンデッドの破壊 と置き換えます ModUi/&EnableClericToLearnDomainAtLevel3=ドメインをレベル1ではなくレベル3で有効にする ModUi/&EnableCustomPortraits=カスタムポートレートを有効にする ModUi/&EnableCustomPortraitsHelp=• カスタムポートレートを、主人公のファーストネームにちなんで名付けたサブフォルダ Personal または PreGen に配置します [例: Anton、Celia、Nialla など]\n• 透明レイヤー付きの 256 x 384 ピクセルの PNG 画像を使用します [最良の結果を得るには GIMP を使用します] diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index ae3d3adc5a..210bd5ca3d 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=분노 상태에 돌입하 Feature/&FeatureBarbarianInstinctivePounceTitle=본능적 습격 Feature/&FeatureBardSuperiorInspiration2024Description=주도권을 굴릴 때, 바드 영감의 소모한 사용 횟수를 회복합니다. 소모한 사용 횟수가 두 개보다 적다면 다시 두 개를 사용할 수 있습니다. Feature/&FeatureBardSuperiorInspiration2024Title=뛰어난 영감 +Feature/&FeatureClericSearUndeadDescription=Turn Undead를 사용할 때마다 지혜 수정치(최소 1d8)와 같은 수의 d8을 굴리고 굴린 결과를 합산할 수 있습니다. Turn Undead 사용에 대한 세이빙 스로우에 실패한 각 언데드는 굴린 결과와 같은 양의 Radiant 피해를 입습니다. +Feature/&FeatureClericSearUndeadTitle=언데드를 태우다 Feature/&FeatureEldritchMasterDescription=마법의 교활함 기능을 사용하면 소모한 팩트 마법 주문 슬롯을 모두 회복합니다. Feature/&FeatureEldritchMasterTitle=엘드리치 마스터 Feature/&FeatureFighterStudiedAttacksDescription=당신은 상대방을 연구하고 당신이 하는 모든 공격에서 배웁니다. 만약 당신이 생물에 대한 공격 굴림을 하고 실패하면, 당신은 다음 턴이 끝나기 전에 그 생물에 대한 다음 공격 굴림에서 이점을 얻습니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index aca0868239..1a1d51d5c0 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=불타는 캐릭 ModUi/&EnableClericChannelDivinity2024=채널 디비니티 5e 2024 버전 [다른 용도]을 활성화하세요 ModUi/&EnableClericDivineIntervention2024=신성한 개입과 개선된 신성 개입을 5e 2024 버전 [특정 레벨까지 주문 슬롯 획득]과 교환하세요. ModUi/&EnableClericDivineOrder2024=레벨 1에서 신성한 질서 활성화 [중갑옷/무술 무기 전문가 또는 보너스 주문과 일부 INT 검사 중 선택] +ModUi/&EnableClericSearUndead2024=레벨 5에서 ​​언데드 파괴를 대체하기 위해 언데드 태우기를 활성화합니다. ModUi/&EnableClericToLearnDomainAtLevel3=1 대신 3 레벨에서 도메인을 활성화하세요. ModUi/&EnableCustomPortraits=사용자 정의 초상화 활성화 ModUi/&EnableCustomPortraitsHelp=• 영웅의 이름을 따서 Personal 또는 PreGen 하위 폴더에 사용자 지정 초상화를 넣습니다. [예: Anton, Celia, Nialla 등]\n• 투명 레이어가 있는 256 x 384픽셀 크기의 PNG 이미지를 사용합니다. [최상의 결과를 위해 GIMP를 사용하세요] diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 903bb92391..430335c82d 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Como parte da ação bônu Feature/&FeatureBarbarianInstinctivePounceTitle=Ataque Instintivo Feature/&FeatureBardSuperiorInspiration2024Description=Ao rolar Iniciativa, você recupera os usos gastos de Inspiração Bárdica até que você tenha dois, se tiver menos que isso. Feature/&FeatureBardSuperiorInspiration2024Title=Inspiração Superior +Feature/&FeatureClericSearUndeadDescription=Sempre que você usar Turn Undead, você pode rolar um número de d8s igual ao seu modificador de Sabedoria (mínimo de 1d8) e somar as rolagens. Cada Undead que falhar em seu teste de resistência contra esse uso de Turn Undead recebe dano Radiante igual ao total da rolagem. +Feature/&FeatureClericSearUndeadTitle=Sear Morto-Vivo 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. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 3fa9bcd207..eddbbdafb2 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Personagens Em ChamasChannel Divinity versão 5e 2024 [usos diferentes] ModUi/&EnableClericDivineIntervention2024=Troque Intervenção Divina e Intervenção Divina Aprimorada pela versão 5e 2024 [ganhe espaço de magia até um certo nível] ModUi/&EnableClericDivineOrder2024=Habilite Ordem Divina no nível 1 [escolha entre armadura pesada/prof. de armas marciais ou truque bônus e alguns testes de INT] +ModUi/&EnableClericSearUndead2024=Habilitar Catar Mortos-Vivos para substituir Destruir Mortos-Vivos no nível 5 ModUi/&EnableClericToLearnDomainAtLevel3=Habilitar Domínio no nível 3 em vez de 1 ModUi/&EnableCustomPortraits=Habilitar Retratos personalizados ModUi/&EnableCustomPortraitsHelp=• Coloque seus retratos personalizados em subpastas Pessoal ou PreGen, nomeadas com base no primeiro nome do herói [por exemplo: Anton, Celia, Nialla, etc.]\n• Use imagens PNG, com tamanho de 256 x 384 pixels, com uma camada de transparência [use o GIMP para obter melhores resultados] diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index e37dea26b0..dcda98bfbb 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Частью бонусн Feature/&FeatureBarbarianInstinctivePounceTitle=Инстинктивный бросок Feature/&FeatureBardSuperiorInspiration2024Description=Когда вы совершаете бросок инициативы, вы восстанавливаете потраченные кости Бардовского вдохновения до максимального количества в две кости, если у вас их меньше. Feature/&FeatureBardSuperiorInspiration2024Title=Превосходное вдохновение +Feature/&FeatureClericSearUndeadDescription=Всякий раз, когда вы используете Изгнание нежити, вы можете бросить количество d8, равное вашему модификатору Мудрости (минимум 1d8), и сложить броски вместе. Каждая Нежить, которая провалила свой спасбросок против этого использования Изгнания нежити, получает урон от Радианта, равный общему результату броска. +Feature/&FeatureClericSearUndeadTitle=Иссушить нежить Feature/&FeatureEldritchMasterDescription=Когда вы используете своё умение Магическая хитрость, вы восстанавливаете все потраченные ячейки заклинаний Магии договора. Feature/&FeatureEldritchMasterTitle=Таинственный мастер Feature/&FeatureFighterStudiedAttacksDescription=Вы изучаете своих противников и извлекаете уроки из каждой своей атаки. Если вы совершаете бросок атаки против существа и промахиваетесь, следующий бросок атаки против этого существа вы совершаете с преимуществом до конца вашего следующего хода. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index cc1427fb3c..fa2ac2228d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=Горящие ModUi/&EnableClericChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] ModUi/&EnableClericDivineIntervention2024=Поменяйте Божественное вмешательство и Улучшенное божественное вмешательство с версией 5e 2024 [получить ячейку заклинания до определенного уровня] ModUi/&EnableClericDivineOrder2024=Включить Божественный порядок на уровне 1 [выбор между тяжелой броней/боевым оружием или бонусным колдовством и некоторыми проверками ИНТ] +ModUi/&EnableClericSearUndead2024=Включите Sear Undead вместо Destroy Undead на уровне 5. ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты ModUi/&EnableCustomPortraitsHelp=• Поместите свои пользовательские портреты в подпапки Personal или PreGen с именами, соответствующими именам героев [т.е.: Антон, Селия, Ниалла и т. д.]\n• Используйте изображения размером 256 x 384 пикселей с прозрачным фоном [для достижения наилучших результатов используйте GIMP] diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 7889624860..9e14a6c3e5 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -110,6 +110,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=作为进入愤怒状态 Feature/&FeatureBarbarianInstinctivePounceTitle=本能的猛扑 Feature/&FeatureBardSuperiorInspiration2024Description=当你掷主动权时,如果你拥有的吟游诗人灵感少于两次,你将重新获得已消耗的吟游诗人灵感,直到你拥有两次。 Feature/&FeatureBardSuperiorInspiration2024Title=卓越灵感 +Feature/&FeatureClericSearUndeadDescription=每当你使用驱散亡灵时,你可以掷出与你的感知调整值相等的 d8 数(最少 1d8),然后将掷出的数相加。每个在对抗驱散亡灵的豁免检定中失败的亡灵都会受到等于掷出的总数的辐射伤害。 +Feature/&FeatureClericSearUndeadTitle=灼烧亡灵 Feature/&FeatureEldritchMasterDescription=当你使用“魔法狡诈”功能时,你将恢复所有已消耗的“契约魔法”法术位。 Feature/&FeatureEldritchMasterTitle=邪术大师 Feature/&FeatureFighterStudiedAttacksDescription=你研究对手并从每次攻击中学习。如果你对某个生物进行攻击检定但未命中,那么在下一回合结束前,你对该生物的下一次攻击检定将获得优势。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 257415863c..ad6a00a7ec 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -118,6 +118,7 @@ ModUi/&EnableCharactersOnFireToEmitLight=着火的角色 ModUi/&EnableClericChannelDivinity2024=启用 Channel Divinity 5e 2024 版本 [不同用法] ModUi/&EnableClericDivineIntervention2024=将神圣干预和改进的神圣干预与 5e 2024 版本交换[获得法术位达到一定等级] ModUi/&EnableClericDivineOrder2024=在 1 级启用神圣秩序 [在重型盔甲/军用武器专业或奖励戏法和一些 INT 检查之间进行选择] +ModUi/&EnableClericSearUndead2024=在 5 级时启用 Sear Undead 来替代 Destroy Undead ModUi/&EnableClericToLearnDomainAtLevel3=在级别 3 而不是 1 启用 域 ModUi/&EnableCustomPortraits=启用自定义肖像 ModUi/&EnableCustomPortraitsHelp=• 将自定义肖像放在子文件夹 PersonalPreGen 下,并以英雄名字命名[例如:Anton、Celia、Nialla 等]\n• 使用 PNG 图像,大小为 256 x 384 像素,带有透明层[使用 GIMP 可获得最佳效果] From 1f450b0b2c0b3551d4c50eeafe18c06ff7adc28d Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 10:55:28 -0800 Subject: [PATCH 32/42] minor tweaks on Cleric and Paladin 2024 settings --- .../Models/2024ClericContext.cs | 89 +++++++++++-------- .../Models/2024PaladinContext.cs | 7 +- .../Models/Tabletop2024Context.cs | 1 + .../Patches/RulesetCharacterPatcher.cs | 67 ++++++++------ .../Translations/de/Others-de.txt | 1 + .../Translations/en/Others-en.txt | 1 + .../Translations/es/Others-es.txt | 1 + .../Translations/fr/Others-fr.txt | 1 + .../Translations/it/Others-it.txt | 1 + .../Translations/ja/Others-ja.txt | 1 + .../Translations/ko/Others-ko.txt | 1 + .../Translations/pt-BR/Others-pt-BR.txt | 1 + .../Translations/ru/Others-ru.txt | 1 + .../Translations/zh-CN/Others-zh-CN.txt | 1 + 14 files changed, 107 insertions(+), 67 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 2fc2d85610..8d87c519b0 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -1,7 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; +using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -64,9 +64,20 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinition FeatureClericSearUndead = FeatureDefinitionBuilder .Create("FeatureClericSearUndead") .SetGuiPresentation(Category.Feature) - .AddCustomSubFeatures(new MagicEffectBeforeHitConfirmedOnEnemySearUndead()) .AddToDB(); + private static readonly EffectForm SearUndeadDamageForm = EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.Negates) + .SetDamageForm(DamageTypeRadiant, 0, DieType.D8) + .Build(); + + private static void LoadClericSearUndead() + { + PowerClericTurnUndead.EffectDescription.EffectForms.Insert(0, SearUndeadDamageForm); + PowerClericTurnUndead.AddCustomSubFeatures(new ModifyEffectDescriptionPowerTurnUndead()); + } + internal static void SwitchClericSearUndead() { Cleric.FeatureUnlocks @@ -118,14 +129,17 @@ internal static void SwitchClericDivineIntervention() var subClass = GetDefinition(subclassName); var power = GetDefinition(powerName); - subClass.FeatureUnlocks.RemoveAll(x => - x.FeatureDefinition == power || - x.FeatureDefinition == FeatureSetClericDivineIntervention); + Cleric.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == FeatureSetClericDivineIntervention); + subClass.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == power); - subClass.FeatureUnlocks.Add( - Main.Settings.EnableClericDivineIntervention2024 - ? new FeatureUnlockByLevel(FeatureSetClericDivineIntervention, 10) - : new FeatureUnlockByLevel(power, 10)); + if (Main.Settings.EnableClericDivineIntervention2024) + { + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetClericDivineIntervention, 10)); + } + else + { + subClass.FeatureUnlocks.Add(new FeatureUnlockByLevel(power, 10)); + } } foreach (var (subclassName, powerName) in divineInterventions) @@ -134,13 +148,17 @@ internal static void SwitchClericDivineIntervention() var improvementPowerName = powerName.Replace("Intervention", "InterventionImprovement"); var improvementPower = GetDefinition(improvementPowerName); - subClass.FeatureUnlocks.RemoveAll(x => - x.FeatureDefinition == improvementPower || - x.FeatureDefinition == FeatureSetClericDivineInterventionImproved); + Cleric.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == FeatureSetClericDivineInterventionImproved); + subClass.FeatureUnlocks.RemoveAll(x => x.FeatureDefinition == improvementPower); - subClass.FeatureUnlocks.Add(Main.Settings.EnableClericDivineIntervention2024 - ? new FeatureUnlockByLevel(FeatureSetClericDivineInterventionImproved, 20) - : new FeatureUnlockByLevel(improvementPower, 20)); + if (Main.Settings.EnableClericDivineIntervention2024) + { + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureSetClericDivineInterventionImproved, 20)); + } + else + { + subClass.FeatureUnlocks.Add(new FeatureUnlockByLevel(improvementPower, 20)); + } } Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); @@ -165,7 +183,7 @@ internal static void SwitchClericChannelDivinity() { AttributeModifierClericChannelDivinity.modifierValue = 2; AttributeModifierClericChannelDivinity.GuiPresentation.description = - "Feature/&PaladinChannelDivinityDescription"; + "Feature/&ClericChannelDivinityExtendedDescription"; } else { @@ -242,34 +260,33 @@ internal static void SwitchClericDomainLearningLevel() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - internal sealed class MagicEffectBeforeHitConfirmedOnEnemySearUndead : IMagicEffectBeforeHitConfirmedOnEnemy + internal sealed class ModifyEffectDescriptionPowerTurnUndead : IModifyEffectDescription { - public IEnumerator OnMagicEffectBeforeHitConfirmedOnEnemy( - GameLocationBattleManager battleManager, - GameLocationCharacter attacker, - GameLocationCharacter defender, - ActionModifier actionModifier, - RulesetEffect rulesetEffect, - List actualEffectForms, - bool firstTarget, - bool criticalHit) + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) { - if (rulesetEffect.SourceDefinition != PowerClericTurnUndead) + return definition == PowerClericTurnUndead; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + if (!Main.Settings.EnableClericSearUndead2024) { - yield break; + effectDescription.EffectForms.Remove(SearUndeadDamageForm); + + return effectDescription; } - var rulesetAttacker = attacker.RulesetCharacter; - var wisdom = rulesetAttacker.TryGetAttributeValue(AttributeDefinitions.Wisdom); + var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); var diceNumber = Math.Max(wisMod, 1); - var effectForm = EffectFormBuilder - .Create() - .HasSavingThrow(EffectSavingThrowType.Negates) - .SetDamageForm(DamageTypeRadiant, diceNumber, DieType.D8) - .Build(); - actualEffectForms.Insert(0, effectForm); + SearUndeadDamageForm.DamageForm.diceNumber = diceNumber; + + return effectDescription; } } diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index dc543d88d3..b88a6fe5d1 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -12,6 +12,7 @@ using SolastaUnfinishedBusiness.Interfaces; using SolastaUnfinishedBusiness.Properties; using static RuleDefinitions; +using static FeatureDefinitionAttributeModifier; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; @@ -26,8 +27,7 @@ internal static partial class Tabletop2024Context FeatureDefinitionAttributeModifierBuilder .Create("AttributeModifierPaladinChannelDivinity11") .SetGuiPresentationNoContent(true) - .SetModifier(FeatureDefinitionAttributeModifier.AttributeModifierOperation.Additive, - AttributeDefinitions.ChannelDivinityNumber) + .SetModifier(AttributeModifierOperation.Additive, AttributeDefinitions.ChannelDivinityNumber, 1) .AddToDB(); private static readonly FeatureDefinitionPower PowerPaladinAbjureFoes = FeatureDefinitionPowerBuilder @@ -55,6 +55,7 @@ internal static partial class Tabletop2024Context .AddToDB(), ConditionForm.ConditionOperation.Add) .Build()) + .SetCasterEffectParameters(PowerClericTurnUndead) .Build()) .AddCustomSubFeatures(new ModifyEffectDescriptionPowerPaladinAbjureFoes()) .AddToDB(); @@ -163,7 +164,7 @@ internal static void SwitchPaladinRestoringTouch() x.FeatureDefinition == PowerPaladinCleansingTouch); Paladin.FeatureUnlocks.Add(Main.Settings.EnablePaladinRestoringTouch2024 - ? new FeatureUnlockByLevel(PowerPaladinAbjureFoes, 14) + ? new FeatureUnlockByLevel(PowerPaladinRestoringTouch, 14) : new FeatureUnlockByLevel(PowerPaladinCleansingTouch, 14)); Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index 1cffaba2dc..abe8749136 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -26,6 +26,7 @@ internal static void LateLoad() LoadBarbarianInstinctivePounce(); LoadBarbarianPersistentRage(); LoadBardCounterCharm(); + LoadClericSearUndead(); LoadFighterSecondWind(); LoadFighterStudiedAttacks(); LoadFighterTacticalProgression(); diff --git a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs index a24da7bfa8..00820660cd 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetCharacterPatcher.cs @@ -1649,14 +1649,28 @@ private static void SwitchBindChainPowers(RestType restType, RechargeRate rechar } [UsedImplicitly] - public static void Prefix(RestType restType) + public static void Prefix(RulesetCharacter __instance, RestType restType) { + // invert used channel divinity sign if any 2024 setting enabled and a short rest to avoid double dip + if (restType == RestType.ShortRest && + (Main.Settings.EnablePaladinChannelDivinity2024 || Main.Settings.EnableClericChannelDivinity2024)) + { + __instance.UsedChannelDivinity = -__instance.UsedChannelDivinity; + } + SwitchBindChainPowers(restType, RechargeRate.LongRest); } [UsedImplicitly] public static void Postfix(RulesetCharacter __instance, RestType restType, bool simulate) { + // put back used channel divinity sign if any 2024 setting enabled and a short rest to avoid double dip + if (restType == RestType.ShortRest && + (Main.Settings.EnablePaladinChannelDivinity2024 || Main.Settings.EnableClericChannelDivinity2024)) + { + __instance.UsedChannelDivinity = -__instance.UsedChannelDivinity; + } + SwitchBindChainPowers(restType, RechargeRate.BindChain); //PATCH: update usage for power pools @@ -1686,10 +1700,13 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool } //TODO: time to make this an interface to support scenarios like below + if (restType != RestType.ShortRest) + { + return; + } //PATCH: support for Barbarians to regain one rage point at short rests from level 7 if (Main.Settings.EnableBarbarianRegainOneRageAtShortRest2024 && - restType == RestType.ShortRest && __instance.GetClassLevel(Barbarian) >= 1 && __instance.UsedRagePoints > 0) { @@ -1704,23 +1721,17 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool } //PATCH: support for Fighters to regain one second wind usage at short rests - var fighterClassLevel = __instance.GetClassLevel(Fighter); - - // ReSharper disable once InvertIf - if (Main.Settings.EnableFighterSecondWind2024 && - restType == RestType.ShortRest && - fighterClassLevel >= 1) + if (Main.Settings.EnableFighterSecondWind2024 && __instance.GetClassLevel(Fighter) >= 1) { var usablePower = PowerProvider.Get(PowerFighterSecondWind, __instance); var maxUses = __instance.GetMaxUsesOfPower(usablePower); var remainingUses = __instance.GetRemainingUsesOfPower(usablePower); - if (remainingUses != maxUses) + if (remainingUses < maxUses) { if (!simulate) { - // cannot call RepayUse() here as a dynamic pool - usablePower.remainingUses++; + usablePower.remainingUses++; // cannot call RepayUse() here as a dynamic pool } __instance.recoveredFeatures.Add(PowerFighterSecondWind); @@ -1728,33 +1739,33 @@ public static void Postfix(RulesetCharacter __instance, RestType restType, bool } //PATCH: support for Paladins to regain one channel divinity usage at short rests - // ReSharper disable once InvertIf - if (Main.Settings.EnablePaladinChannelDivinity2024 && - restType == RestType.ShortRest && - __instance.GetClassLevel(Paladin) >= 3 && - __instance.UsedChannelDivinity > 0) + if (Main.Settings.EnablePaladinChannelDivinity2024 && __instance.GetClassLevel(Paladin) >= 3) { - if (!simulate) + if (__instance.UsedChannelDivinity > 0) { - __instance.UsedChannelDivinity -= 1; - } + if (!simulate) + { + __instance.UsedChannelDivinity -= 1; + } - __instance.recoveredFeatures.Add(AttributeModifierPaladinChannelDivinity); + __instance.recoveredFeatures.Add(AttributeModifierPaladinChannelDivinity); + } } //PATCH: support for Clerics to regain one channel divinity usage at short rests // ReSharper disable once InvertIf - if (Main.Settings.EnableClericChannelDivinity2024 && - restType == RestType.ShortRest && - __instance.GetClassLevel(Cleric) >= 2 && - __instance.UsedChannelDivinity > 0) + if (Main.Settings.EnableClericChannelDivinity2024 && __instance.GetClassLevel(Cleric) >= 2) { - if (!simulate) + // ReSharper disable once InvertIf + if (__instance.UsedChannelDivinity > 0) { - __instance.UsedChannelDivinity -= 1; - } + if (!simulate) + { + __instance.UsedChannelDivinity -= 1; + } - __instance.recoveredFeatures.Add(AttributeModifierClericChannelDivinity); + __instance.recoveredFeatures.Add(AttributeModifierClericChannelDivinity); + } } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index ebb861af3c..30a4daa5dd 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Reichlich Ki Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Du hast zwei der wichtigsten Worte der Schöpfung gemeistert: die Worte des Lebens und des Todes. Du hast daher immer die Zauber „Machtwort heilen“ und „Machtwort töten“ parat. Wenn du einen der Zauber wirkst, kannst du damit eine zweite Kreatur anvisieren, wenn sich diese innerhalb von 10 Fuß vom ersten Ziel befindet. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Welten der Schöpfung Feature/&BardExpertiseExtendedDescription=Wählen Sie zwei Ihrer Fertigkeiten aus. Ihr Fertigkeitsbonus wird für jeden Fähigkeitstest verdoppelt, bei dem Sie eine der gewählten Fertigkeiten verwenden. +Feature/&ClericChannelDivinityExtendedDescription=Sie können göttliche Energie direkt aus den Äußeren Ebenen kanalisieren, um magische Effekte zu erzeugen. Sie beginnen mit zwei solchen Effekten: Göttlicher Funke und Untote vertreiben. Sie können die Channel Divinity dieser Klasse zweimal verwenden. Sie erhalten eine der verbrauchten Anwendungen zurück, wenn Sie eine kurze Rast beenden, und Sie erhalten alle verbrauchten Anwendungen zurück, wenn Sie eine lange Rast beenden. Sie erhalten zusätzliche Anwendungen, wenn Sie bestimmte Klerikerstufen erreichen, die sich auf 3 auf der 6. Stufe und 4 auf der 18. Stufe erhöhen. Wenn ein Channel Divinity-Effekt einen Rettungswurf erfordert, entspricht der SG dem Zauberrettungs-SG der Zauberfunktion dieser Klasse. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Sie haben einen Vorteil bei Angriffswürfen gegen die Kreatur, die aktuell mit Ihrem Jägermal gekennzeichnet ist. Feature/&CombatAffinityRangerPreciseHunterTitle=Präziser Jäger diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index e664f9acf3..57f6d7e2c8 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Abundant Ki Feature/&AutoPreparedSpellsBardWordOfCreationDescription=You have mastered two of the prime Words of Creation: the words of life and death. You therefore always have the Power Word Heal and Power Word Kill spells prepared. When you cast either spell, you can target a second creature with it if the creature is within 10 feet of the first target. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Words of Creation Feature/&BardExpertiseExtendedDescription=Choose two of your skill proficiencies. Your proficiency bonus is doubled for any ability check you make that uses either of the chosen proficiencies. +Feature/&ClericChannelDivinityExtendedDescription=You can channel divine energy directly from the Outer Planes to fuel magical effects. You start with two such effects: Divine Spark and Turn Undead. You can use this class's Channel Divinity twice. You regain one of its expended uses when you finish a Short Rest, and you regain all expended uses when you finish a Long Rest. You gain additional uses when you reach certain Cleric levels, increasing to 3 at 6th level, and 4 at 18th level. If a Channel Divinity effect requires a saving throw, the DC equals the spell save DC from this class's Spellcasting feature. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=You have advantage on attack rolls against the creature currently marked by your Hunter's Mark. Feature/&CombatAffinityRangerPreciseHunterTitle=Precise Hunter diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 7975433166..9ea1c2f76a 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Ki abundante Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Has dominado dos de las palabras principales de la creación: las palabras de vida y muerte. Por lo tanto, siempre tienes preparados los hechizos Palabra de poder sanar y Palabra de poder matar. Cuando lanzas cualquiera de los hechizos, puedes seleccionar una segunda criatura con él si la criatura está a 10 pies o menos del primer objetivo. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mundos de la creación Feature/&BardExpertiseExtendedDescription=Elige dos de tus competencias de habilidad. Tu bonificación por competencia se duplica en cualquier prueba de habilidad que hagas que utilice cualquiera de las competencias elegidas. +Feature/&ClericChannelDivinityExtendedDescription=Puedes canalizar energía divina directamente desde los Planos Exteriores para alimentar efectos mágicos. Comienzas con dos de estos efectos: Chispa divina y Expulsar no-muertos. Puedes usar el efecto Canalizar divinidad de esta clase dos veces. Recuperas uno de sus usos gastados cuando terminas un Descanso breve y recuperas todos los usos gastados cuando terminas un Descanso prolongado. Obtienes usos adicionales cuando alcanzas ciertos niveles de clérigo, aumentando a 3 en el nivel 6 y a 4 en el nivel 18. Si un efecto de Canalizar divinidad requiere una tirada de salvación, la CD es igual a la CD de la tirada de salvación de conjuros del atributo Lanzamiento de conjuros de esta clase. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Tienes ventaja en las tiradas de ataque contra la criatura actualmente marcada por tu Marca del Cazador. Feature/&CombatAffinityRangerPreciseHunterTitle=Cazador preciso diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 2431e37df9..8fc23b84be 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Ki abondant Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Vous maîtrisez deux des principaux mots de la création : les mots de vie et de mort. Vous avez donc toujours les sorts Mot de pouvoir Soin et Mot de pouvoir Tuer prêts. Lorsque vous lancez l'un de ces sorts, vous pouvez cibler une seconde créature avec celui-ci si celle-ci se trouve à 3 mètres ou moins de la première cible. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mondes de la Création Feature/&BardExpertiseExtendedDescription=Choisissez deux de vos compétences de maîtrise. Votre bonus de maîtrise est doublé pour tout test de caractéristique que vous effectuez qui utilise l'une des compétences choisies. +Feature/&ClericChannelDivinityExtendedDescription=Vous pouvez canaliser l'énergie divine directement depuis les Plans Extérieurs pour alimenter des effets magiques. Vous commencez avec deux de ces effets : Étincelle divine et Repousser les morts-vivants. Vous pouvez utiliser Canalisation divine de cette classe deux fois. Vous récupérez l'une de ses utilisations dépensées lorsque vous terminez un Repos court, et vous récupérez toutes ses utilisations dépensées lorsque vous terminez un Repos long. Vous gagnez des utilisations supplémentaires lorsque vous atteignez certains niveaux de Clerc, augmentant à 3 au niveau 6 et à 4 au niveau 18. Si un effet de Canalisation divine nécessite un jet de sauvegarde, le DD est égal au DD de sauvegarde des sorts de la capacité Lancer de sorts de cette classe. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Vous bénéficiez d'un avantage sur les jets d'attaque contre la créature actuellement marquée par votre Marque du Chasseur. Feature/&CombatAffinityRangerPreciseHunterTitle=Chasseur précis diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index b90c60c69d..b4d8dac22e 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Ki abbondante Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Hai padroneggiato due delle principali Parole della Creazione: le parole di vita e di morte. Pertanto hai sempre pronti gli incantesimi Power Word Heal e Power Word Kill. Quando lanci uno dei due incantesimi, puoi bersagliare una seconda creatura con esso se la creatura si trova entro 10 piedi dal primo bersaglio. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mondi della creazione Feature/&BardExpertiseExtendedDescription=Scegli due delle tue competenze in abilità. Il tuo bonus di competenza è raddoppiato per ogni controllo di abilità che fai che usa una delle competenze scelte. +Feature/&ClericChannelDivinityExtendedDescription=Puoi incanalare l'energia divina direttamente dai Piani Esterni per alimentare effetti magici. Inizi con due di questi effetti: Scintilla Divina e Scaccia Non Morti. Puoi usare Canalizzare Divinità di questa classe due volte. Recuperi uno dei suoi usi spesi quando finisci un Riposo Breve e recuperi tutti gli usi spesi quando finisci un Riposo Lungo. Ottieni usi aggiuntivi quando raggiungi determinati livelli da Chierico, aumentando a 3 al 6° livello e a 4 al 18° livello. Se un effetto di Canalizzare Divinità richiede un tiro salvezza, la CD è uguale alla CD del tiro salvezza dell'incantesimo dalla caratteristica Incantesimi di questa classe. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Hai vantaggio sui tiri per colpire contro la creatura attualmente contrassegnata dal tuo Marchio del Cacciatore. Feature/&CombatAffinityRangerPreciseHunterTitle=Cacciatore preciso diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index ee9edc3cf6..b557fc6478 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=豊かな気 Feature/&AutoPreparedSpellsBardWordOfCreationDescription=あなたは創造の御言葉のうち、生命と死の御言葉の 2 つをマスターしました。そのため、あなたは常にパワー ワード ヒール呪文とパワー ワード キル呪文を準備しています。いずれかの呪文を唱えるときに、クリーチャーが最初のターゲットから 10 フィート以内にいる場合、2 番目のクリーチャーをその呪文でターゲットにすることができます。 Feature/&AutoPreparedSpellsBardWordOfCreationTitle=創造の世界 Feature/&BardExpertiseExtendedDescription=技能熟練度を 2 つ選択します。選択した熟練度のいずれかを使用する能力チェックでは、熟練度ボーナスが 2 倍になります。 +Feature/&ClericChannelDivinityExtendedDescription=外方次元界から神聖なエネルギーを直接導き、魔法の効果に役立てることができます。開始時には、そのような効果は 2 つあります: 神聖な火花とアンデッド退治。このクラスの「チャネル ディヴィニティ」は 2 回使用できます。小休憩を終えると消費した使用回数の 1 回分が回復し、大休憩を終えると消費した使用回数がすべて回復します。特定のクレリック レベルに達すると使用回数が増え、6 レベルで 3 回、18 レベルで 4 回に増えます。チャネル ディヴィニティ効果がセーヴィング スローを必要とする場合、DC はこのクラスの呪文発動機能の呪文セーヴ DC に等しくなります。 Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=あなたは、現在ハンターズ マークによってマークされているクリーチャーに対する攻撃ロールにアドバンテージを得ます。 Feature/&CombatAffinityRangerPreciseHunterTitle=精密ハンター diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index 210bd5ca3d..bc704d245f 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=풍부한 기 Feature/&AutoPreparedSpellsBardWordOfCreationDescription=당신은 창조의 두 가지 주요 단어, 즉 생명과 죽음의 단어를 마스터했습니다. 따라서 당신은 항상 파워 워드 힐과 파워 워드 킬 주문을 준비합니다. 두 주문을 시전할 때, 생물이 첫 번째 대상에서 10피트 이내에 있는 경우 두 번째 생물을 대상으로 지정할 수 있습니다. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=창조의 세계 Feature/&BardExpertiseExtendedDescription=두 가지 기술 숙련도를 선택하세요. 선택한 숙련도 중 하나를 사용하는 능력 검사에 대해 숙련도 보너스가 두 배가 됩니다. +Feature/&ClericChannelDivinityExtendedDescription=당신은 마법적 효과에 연료를 공급하기 위해 외계에서 직접 신성한 에너지를 전달할 수 있습니다. 당신은 두 가지 효과로 시작합니다: 신성한 불꽃과 언데드 돌리기. 당신은 이 직업의 채널 신성을 두 번 사용할 수 있습니다. 당신은 짧은 휴식을 마칠 때 소모된 사용 중 하나를 되찾고, 긴 휴식을 마칠 때 소모된 사용 모든 것을 되찾습니다. 당신은 특정 성직자 레벨에 도달하면 추가 사용을 얻고, 6레벨에서 3개, 18레벨에서 4개로 증가합니다. 채널 신성 효과에 세이빙 스로우가 필요한 경우, DC는 이 직업의 주문 시전 기능의 주문 세이브 DC와 같습니다. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=사냥꾼의 표식으로 현재 표시된 생물에 대한 공격 굴림에서 유리합니다. Feature/&CombatAffinityRangerPreciseHunterTitle=정확한 사냥꾼 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 430335c82d..2b07fdeb1a 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Ki abundante Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Você dominou duas das principais Palavras da Criação: as palavras de vida e morte. Portanto, você sempre tem as magias Palavra de Poder Cura e Palavra de Poder Matar preparadas. Quando você conjura qualquer uma das magias, você pode mirar em uma segunda criatura com ela se a criatura estiver a até 10 pés do primeiro alvo. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Mundos da Criação Feature/&BardExpertiseExtendedDescription=Escolha duas de suas proficiências de perícia. Seu bônus de proficiência é dobrado para qualquer teste de habilidade que você fizer que use qualquer uma das proficiências escolhidas. +Feature/&ClericChannelDivinityExtendedDescription=Você pode canalizar energia divina diretamente dos Planos Exteriores para alimentar efeitos mágicos. Você começa com dois desses efeitos: Divine Spark e Turn Undead. Você pode usar o Channel Divinity dessa classe duas vezes. Você recupera um de seus usos gastos quando termina um Short Rest, e recupera todos os usos gastos quando termina um Long Rest. Você ganha usos adicionais quando atinge certos níveis de Clérigo, aumentando para 3 no 6º nível e 4 no 18º nível. Se um efeito de Channel Divinity exigir um teste de resistência, a CD é igual à CD de resistência de magia da habilidade Spellcasting dessa classe. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Você tem vantagem em jogadas de ataque contra a criatura atualmente marcada pela sua Marca do Caçador. Feature/&CombatAffinityRangerPreciseHunterTitle=Caçador Preciso diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index dcda98bfbb..c5d8b3263d 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Обильная Ци Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Вы освоили два Слова Творения: слова жизни и смерти. Поэтому у вас всегда подготовлены заклинания Слово силы: Исцеление и Слово силы: Смерть. Когда вы накладываете любое из этих заклинаний, вы можете нацелить его на второе существо, если оно находится в пределах 10 футов от первой цели. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Слова творения Feature/&BardExpertiseExtendedDescription=Выберите 2 навыка из тех, которыми вы владеете. Ваш бонус мастерства для этих навыков удваивается. +Feature/&ClericChannelDivinityExtendedDescription=Вы можете направлять божественную энергию напрямую из Внешних Планов, чтобы подпитывать магические эффекты. Вы начинаете с двумя такими эффектами: Божественная Искра и Изгнание Нежити. Вы можете использовать Божественный канал этого класса дважды. Вы восстанавливаете одно из его потраченных использований, когда заканчиваете Короткий Отдых, и восстанавливаете все потраченные использования, когда заканчиваете Длительный Отдых. Вы получаете дополнительные использования, когда достигаете определенных уровней Священника, увеличиваясь до 3 на 6-м уровне и до 4 на 18-м уровне. Если эффект Божественного канала требует спасброска, DC равен DC спасброска от заклинания из особенности этого класса Spellcasting. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=Вы имеете преимущество при атаке против существа, отмеченного вашей Меткой Охотника. Feature/&CombatAffinityRangerPreciseHunterTitle=Точный Охотник diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 9e14a6c3e5..5634b2e7e7 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -100,6 +100,7 @@ Feature/&AttributeModifierMonkAbundantKiTitle=气量充沛 Feature/&AutoPreparedSpellsBardWordOfCreationDescription=您已掌握了两个主要的创世之语:生命之语和死亡之语。因此,您始终准备好强力之语治疗和强力之语杀戮法术。当您施放任一法术时,如果该生物距离第一个目标 10 英尺以内,则可以将其作为第二个生物的目标。 Feature/&AutoPreparedSpellsBardWordOfCreationTitle=创造世界 Feature/&BardExpertiseExtendedDescription=选择两项技能熟练度。使用所选熟练度之一进行的任何能力检定,您的熟练度奖励都会翻倍。 +Feature/&ClericChannelDivinityExtendedDescription=您可以直接从外层位面引导神圣能量来为魔法效果提供能量。您一开始就拥有两种这样的效果:神圣火花和驱散亡灵。您可以使用该职业的引导神圣能力两次。完成短暂休息后,您可以恢复其已消耗的使用次数之一,完成长时间休息后,您可以恢复所有已消耗的使用次数。当您达到某些牧师等级时,您可以获得额外的使用次数,在 6 级时增加到 3 次,在 18 级时增加到 4 次。如果引导神圣能力效果需要豁免检定,则 DC 等于该职业的施法功能的法术豁免 DC。 Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n Feature/&CombatAffinityRangerPreciseHunterDescription=你在对当前被你的猎人印记标记的生物进行攻击检定时具有优势。 Feature/&CombatAffinityRangerPreciseHunterTitle=精准猎人 From 1569cb2bed8fc6ad1fb05066987f3a1aecd6bf8f Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 17:32:19 -0800 Subject: [PATCH 33/42] rider clean up --- SolastaUnfinishedBusiness/Feats/RaceFeats.cs | 6 +++--- .../Interfaces/IActionFinishedByMe.cs | 2 +- SolastaUnfinishedBusiness/Models/2024RogueContext.cs | 6 +++--- .../Models/CustomConditionsContext.cs | 12 ++++++------ .../Spells/SpellBuildersLevel01.cs | 6 +++--- .../Subclasses/PathOfTheBeast.cs | 12 ++++++------ .../Subclasses/PathOfTheSavagery.cs | 6 +++--- .../Subclasses/PathOfTheWildMagic.cs | 12 ++++++------ 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/SolastaUnfinishedBusiness/Feats/RaceFeats.cs b/SolastaUnfinishedBusiness/Feats/RaceFeats.cs index 0d70882984..b4a17c4725 100644 --- a/SolastaUnfinishedBusiness/Feats/RaceFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/RaceFeats.cs @@ -1116,14 +1116,14 @@ private sealed class ActionFinishedByMeDwarvenFortitude( // ReSharper disable once SuggestBaseTypeForParameterInConstructor FeatureDefinition feature) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not CharacterActionDodge) + if (action is not CharacterActionDodge) { yield break; } - var attacker = characterAction.ActingCharacter; + var attacker = action.ActingCharacter; var rulesetAttacker = attacker.RulesetCharacter; var rulesetHero = rulesetAttacker.GetOriginalHero(); diff --git a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs index 1fca7c0580..3c4339026f 100644 --- a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs +++ b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs @@ -6,5 +6,5 @@ namespace SolastaUnfinishedBusiness.Interfaces; public interface IActionFinishedByMe { [UsedImplicitly] - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction); + public IEnumerator OnActionFinishedByMe(CharacterAction action); } diff --git a/SolastaUnfinishedBusiness/Models/2024RogueContext.cs b/SolastaUnfinishedBusiness/Models/2024RogueContext.cs index 097faf0887..95fcea3143 100644 --- a/SolastaUnfinishedBusiness/Models/2024RogueContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024RogueContext.cs @@ -669,14 +669,14 @@ private sealed class ActionFinishedByMeDazed( // ReSharper disable once SuggestBaseTypeForParameterInConstructor ConditionDefinition conditionDazedOnlyMovement) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not (CharacterActionMove or CharacterActionDash)) + if (action is not (CharacterActionMove or CharacterActionDash)) { yield break; } - var rulesetCharacter = characterAction.ActingCharacter.RulesetCharacter; + var rulesetCharacter = action.ActingCharacter.RulesetCharacter; rulesetCharacter.InflictCondition( conditionDazedOnlyMovement.Name, diff --git a/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs b/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs index f582b16686..9c51e08e07 100644 --- a/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs +++ b/SolastaUnfinishedBusiness/Models/CustomConditionsContext.cs @@ -466,19 +466,19 @@ public void OnConditionRemoved(RulesetCharacter target, RulesetCondition ruleset private sealed class ActionFinishedByMeTaunter : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { if (Gui.Battle == null) { yield break; } - if (characterAction is not CharacterActionMove or CharacterActionDash or CharacterActionAttack) + if (action is not CharacterActionMove or CharacterActionDash or CharacterActionAttack) { yield break; } - var actingCharacter = characterAction.ActingCharacter; + var actingCharacter = action.ActingCharacter; var targets = Gui.Battle.GetContenders(actingCharacter); foreach (var target in targets) @@ -508,14 +508,14 @@ public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) private sealed class CustomBehaviorTaunted : IActionFinishedByMe, IOnConditionAddedOrRemoved { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not CharacterActionMove or CharacterActionDash) + if (action is not CharacterActionMove or CharacterActionDash) { yield break; } - var actingCharacter = characterAction.ActingCharacter; + var actingCharacter = action.ActingCharacter; var rulesetCharacter = actingCharacter.RulesetCharacter; // need ToArray to avoid enumerator issues with RemoveCondition diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs index 80446abccb..d1d876799f 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs @@ -1621,12 +1621,12 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, private sealed class ActionFinishedByMeApproach(ConditionDefinition conditionApproach) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - var actingCharacter = characterAction.ActingCharacter; + var actingCharacter = action.ActingCharacter; var rulesetCharacter = actingCharacter.RulesetCharacter; - if (characterAction.ActionId != Id.TacticalMove || + if (action.ActionId != Id.TacticalMove || actingCharacter.MovingToDestination || !actingCharacter.IsMyTurn() || !rulesetCharacter.TryGetConditionOfCategoryAndType( diff --git a/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs b/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs index e7780a1882..6f652fbda0 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PathOfTheBeast.cs @@ -220,14 +220,14 @@ private static FeatureDefinition[] BuildPowerFormOfTheBeast() private class ActionFinishedByMeBeastForm(FeatureDefinitionPower powerPool) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not CharacterActionCombatRageStart) + if (action is not CharacterActionCombatRageStart) { yield break; } - var character = characterAction.ActingCharacter; + var character = action.ActingCharacter; var rulesetCharacter = character.RulesetCharacter; var usablePower = PowerProvider.Get(powerPool, rulesetCharacter); @@ -813,13 +813,13 @@ private static bool IsValidAttack( internal class PowerCallTheHuntHandler(FeatureDefinitionPower power) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - var character = characterAction.ActingCharacter; + var character = action.ActingCharacter; var rulesetCharacter = character.RulesetCharacter; var usablePower = PowerProvider.Get(power, rulesetCharacter); - if (characterAction is not CharacterActionCombatRageStart || + if (action is not CharacterActionCombatRageStart || rulesetCharacter.GetRemainingUsesOfPower(usablePower) == 0) { yield break; diff --git a/SolastaUnfinishedBusiness/Subclasses/PathOfTheSavagery.cs b/SolastaUnfinishedBusiness/Subclasses/PathOfTheSavagery.cs index db0b535a97..bf7728004b 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PathOfTheSavagery.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PathOfTheSavagery.cs @@ -256,14 +256,14 @@ public IEnumerator OnPhysicalAttackFinishedByMe( private sealed class ActionFinishedByMeWrathAndFury : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not CharacterActionRecklessAttack) + if (action is not CharacterActionRecklessAttack) { yield break; } - var rulesetCharacter = characterAction.ActingCharacter.RulesetCharacter; + var rulesetCharacter = action.ActingCharacter.RulesetCharacter; if (rulesetCharacter is not { IsDeadOrDyingOrUnconscious: false }) { diff --git a/SolastaUnfinishedBusiness/Subclasses/PathOfTheWildMagic.cs b/SolastaUnfinishedBusiness/Subclasses/PathOfTheWildMagic.cs index 9eb6c0c723..a0ecfb9e48 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PathOfTheWildMagic.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PathOfTheWildMagic.cs @@ -136,28 +136,28 @@ public PathOfTheWildMagic() private class WildSurgeAfterRage(WildSurgeHandler handler, ConditionDefinition conditionWildSurgeReroll) : IActionFinishedByMe { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) + public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (characterAction is not CharacterActionCombatRageStart) + if (action is not CharacterActionCombatRageStart) { yield break; } - characterAction.ActingCharacter.RulesetCharacter.InflictCondition( + action.ActingCharacter.RulesetCharacter.InflictCondition( conditionWildSurgeReroll.Name, DurationType.Minute, 1, TurnOccurenceType.EndOfTurn, AttributeDefinitions.TagEffect, - characterAction.ActingCharacter.RulesetCharacter.Guid, - characterAction.ActingCharacter.RulesetCharacter.CurrentFaction.Name, + action.ActingCharacter.RulesetCharacter.Guid, + action.ActingCharacter.RulesetCharacter.CurrentFaction.Name, 1, conditionWildSurgeReroll.Name, 0, 0, 0); - yield return handler.HandleWildSurge(characterAction.ActingCharacter); + yield return handler.HandleWildSurge(action.ActingCharacter); } } From fe098807b797743346a4cdb107bfe4e32b1a4d95 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 18:27:14 -0800 Subject: [PATCH 34/42] extract ActionFinishedByMeCheckBonusOrMainOrMove from Psychic Whip spell --- .../Interfaces/IActionFinishedByMe.cs | 81 ++++++ .../Spells/SpellBuildersLevel02.cs | 243 +++++------------- 2 files changed, 142 insertions(+), 182 deletions(-) diff --git a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs index 3c4339026f..006e190d83 100644 --- a/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs +++ b/SolastaUnfinishedBusiness/Interfaces/IActionFinishedByMe.cs @@ -1,5 +1,9 @@ using System.Collections; +using System.Collections.Generic; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using static RuleDefinitions; namespace SolastaUnfinishedBusiness.Interfaces; @@ -8,3 +12,80 @@ public interface IActionFinishedByMe [UsedImplicitly] public IEnumerator OnActionFinishedByMe(CharacterAction action); } + +public sealed class ActionFinishedByMeCheckBonusOrMainOrMove : IActionFinishedByMe +{ + private static readonly ConditionDefinition ConditionNoBonus = ConditionDefinitionBuilder + .Create("ConditionNoBonus") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures( + FeatureDefinitionActionAffinityBuilder + .Create("ActionAffinityNoBonus") + .SetGuiPresentationNoContent(true) + .SetAllowedActionTypes(bonus: false) + .AddToDB()) + .AddToDB(); + + private static readonly ConditionDefinition ConditionNoMove = ConditionDefinitionBuilder + .Create("ConditionNoMove") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures( + FeatureDefinitionActionAffinityBuilder + .Create("ActionAffinityNoMove") + .SetGuiPresentationNoContent(true) + .SetAllowedActionTypes(move: false) + .AddToDB()) + .AddToDB(); + + private static readonly ConditionDefinition ConditionNoMain = ConditionDefinitionBuilder + .Create("ConditionNoMain") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures( + FeatureDefinitionActionAffinityBuilder + .Create("ActionAffinityNoMain") + .SetGuiPresentationNoContent(true) + .SetAllowedActionTypes(false) + .AddToDB()) + .AddToDB(); + + public IEnumerator OnActionFinishedByMe(CharacterAction action) + { + var actionType = action.ActionType; + var actingCharacter = action.ActingCharacter; + + if (actionType == ActionDefinitions.ActionType.Move && + (action is not CharacterActionMoveStepBase || actingCharacter.MovingToDestination)) + { + yield break; + } + + var rulesetCharacter = actingCharacter.RulesetCharacter; + var conditions = actionType switch + { + ActionDefinitions.ActionType.Main => [ConditionNoMove, ConditionNoBonus], + ActionDefinitions.ActionType.Bonus => [ConditionNoMain, ConditionNoMove], + ActionDefinitions.ActionType.Move => [ConditionNoBonus, ConditionNoMain], + _ => new List() + }; + + foreach (var condition in conditions) + { + rulesetCharacter.InflictCondition( + condition.Name, + DurationType.Round, + 0, + TurnOccurenceType.EndOfTurn, + AttributeDefinitions.TagEffect, + rulesetCharacter.guid, + rulesetCharacter.CurrentFaction.Name, + 1, + condition.Name, + 0, + 0, + 0); + } + } +} diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs index 194ad1ee7c..0a71aecd4e 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel02.cs @@ -498,6 +498,67 @@ internal static SpellDefinition BuildWeb() #endregion + #region Psychic Whip + + internal static SpellDefinition BuildPsychicWhip() + { + const string NAME = "PsychicWhip"; + + var actionAffinityPsychicWhipNoReaction = FeatureDefinitionActionAffinityBuilder + .Create($"ActionAffinity{NAME}NoReaction") + .SetGuiPresentationNoContent(true) + .SetAllowedActionTypes(reaction: false) + .AddToDB(); + + var conditionPsychicWhipNoReaction = ConditionDefinitionBuilder + .Create(ConditionConfused, $"Condition{NAME}NoReaction") + .SetOrUpdateGuiPresentation(Category.Condition) + .SetPossessive() + .SetConditionType(ConditionType.Detrimental) + .SetFeatures(actionAffinityPsychicWhipNoReaction) + .AddToDB(); + + conditionPsychicWhipNoReaction.AddCustomSubFeatures(new ActionFinishedByMeCheckBonusOrMainOrMove()); + + var spell = SpellDefinitionBuilder + .Create(NAME) + .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.PsychicWhip, 128)) + .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment) + .SetSpellLevel(2) + .SetCastingTime(ActivationTime.Action) + .SetMaterialComponent(MaterialComponentType.None) + .SetSomaticComponent(false) + .SetVerboseComponent(true) + .SetVocalSpellSameType(VocalSpellSemeType.Defense) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Round, 1) + .SetTargetingData(Side.Enemy, RangeType.Distance, 18, TargetType.IndividualsUnique) + .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, + additionalTargetsPerIncrement: 1) + .SetSavingThrowData(false, AttributeDefinitions.Intelligence, true, + EffectDifficultyClassComputation.SpellCastingFeature) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetDamageForm(DamageTypePsychic, 3, DieType.D6) + .HasSavingThrow(EffectSavingThrowType.HalfDamage) + .Build(), + EffectFormBuilder + .Create() + .SetConditionForm(conditionPsychicWhipNoReaction, ConditionForm.ConditionOperation.Add) + .HasSavingThrow(EffectSavingThrowType.Negates) + .Build()) + .SetParticleEffectParameters(GravitySlam) + .Build()) + .AddToDB(); + + return spell; + } + + #endregion + #region Mirror Image internal static readonly ConditionDefinition ConditionMirrorImageMark = ConditionDefinitionBuilder @@ -761,188 +822,6 @@ internal static SpellDefinition BuildPetalStorm() #endregion - #region Psychic Whip - - internal static SpellDefinition BuildPsychicWhip() - { - const string NAME = "PsychicWhip"; - - var actionAffinityPsychicWhipNoBonus = FeatureDefinitionActionAffinityBuilder - .Create($"ActionAffinity{NAME}NoBonus") - .SetGuiPresentationNoContent(true) - .SetAllowedActionTypes(bonus: false) - .AddToDB(); - - var conditionPsychicWhipNoBonus = ConditionDefinitionBuilder - .Create($"Condition{NAME}NoBonus") - .SetGuiPresentationNoContent(true) - .SetSilent(Silent.WhenAddedOrRemoved) - .SetFeatures(actionAffinityPsychicWhipNoBonus) - .AddToDB(); - - var actionAffinityPsychicWhipNoMove = FeatureDefinitionActionAffinityBuilder - .Create($"ActionAffinity{NAME}NoMove") - .SetGuiPresentationNoContent(true) - .SetAllowedActionTypes(move: false) - .AddToDB(); - - var conditionPsychicWhipNoMove = ConditionDefinitionBuilder - .Create($"Condition{NAME}NoMove") - .SetGuiPresentationNoContent(true) - .SetSilent(Silent.WhenAddedOrRemoved) - .SetFeatures(actionAffinityPsychicWhipNoMove) - .AddToDB(); - - var actionAffinityPsychicWhipNoMain = FeatureDefinitionActionAffinityBuilder - .Create($"ActionAffinity{NAME}NoMain") - .SetGuiPresentationNoContent(true) - .SetAllowedActionTypes(false) - .AddToDB(); - - var conditionPsychicWhipNoMain = ConditionDefinitionBuilder - .Create($"Condition{NAME}NoMain") - .SetGuiPresentationNoContent(true) - .SetSilent(Silent.WhenAddedOrRemoved) - .SetFeatures(actionAffinityPsychicWhipNoMain) - .AddToDB(); - - var actionAffinityPsychicWhipNoReaction = FeatureDefinitionActionAffinityBuilder - .Create($"ActionAffinity{NAME}NoReaction") - .SetGuiPresentationNoContent(true) - .SetAllowedActionTypes(reaction: false) - .AddToDB(); - - var conditionPsychicWhipNoReaction = ConditionDefinitionBuilder - .Create(ConditionConfused, $"Condition{NAME}NoReaction") - .SetOrUpdateGuiPresentation(Category.Condition) - .SetPossessive() - .SetConditionType(ConditionType.Detrimental) - .SetFeatures(actionAffinityPsychicWhipNoReaction) - .AddToDB(); - - conditionPsychicWhipNoReaction.AddCustomSubFeatures(new ActionFinishedByMePsychicWhip( - conditionPsychicWhipNoBonus, - conditionPsychicWhipNoMain, - conditionPsychicWhipNoMove, - conditionPsychicWhipNoReaction)); - - var spell = SpellDefinitionBuilder - .Create(NAME) - .SetGuiPresentation(Category.Spell, Sprites.GetSprite(NAME, Resources.PsychicWhip, 128)) - .SetSchoolOfMagic(SchoolOfMagicDefinitions.SchoolEnchantment) - .SetSpellLevel(2) - .SetCastingTime(ActivationTime.Action) - .SetMaterialComponent(MaterialComponentType.None) - .SetSomaticComponent(false) - .SetVerboseComponent(true) - .SetVocalSpellSameType(VocalSpellSemeType.Defense) - .SetEffectDescription( - EffectDescriptionBuilder - .Create() - .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Distance, 18, TargetType.IndividualsUnique) - .SetEffectAdvancement(EffectIncrementMethod.PerAdditionalSlotLevel, - additionalTargetsPerIncrement: 1) - .SetSavingThrowData(false, AttributeDefinitions.Intelligence, true, - EffectDifficultyClassComputation.SpellCastingFeature) - .SetEffectForms( - EffectFormBuilder - .Create() - .SetDamageForm(DamageTypePsychic, 3, DieType.D6) - .HasSavingThrow(EffectSavingThrowType.HalfDamage) - .Build(), - EffectFormBuilder - .Create() - .SetConditionForm(conditionPsychicWhipNoReaction, ConditionForm.ConditionOperation.Add) - .HasSavingThrow(EffectSavingThrowType.Negates) - .Build()) - .SetParticleEffectParameters(GravitySlam) - .Build()) - .AddToDB(); - - return spell; - } - - private sealed class ActionFinishedByMePsychicWhip( - ConditionDefinition conditionNoBonus, - ConditionDefinition conditionNoMain, - ConditionDefinition conditionNoMove, - // ReSharper disable once SuggestBaseTypeForParameterInConstructor - ConditionDefinition conditionNoReaction) - : IActionFinishedByMe - { - public IEnumerator OnActionFinishedByMe(CharacterAction characterAction) - { - var actionType = characterAction.ActionType; - var conditions = new List(); - - // ReSharper disable once SwitchStatementMissingSomeEnumCasesNoDefault - switch (actionType) - { - case ActionDefinitions.ActionType.Main: - conditions.Add(conditionNoMove); - conditions.Add(conditionNoBonus); - break; - case ActionDefinitions.ActionType.Bonus: - conditions.Add(conditionNoMain); - conditions.Add(conditionNoMove); - break; - case ActionDefinitions.ActionType.Move: - conditions.Add(conditionNoBonus); - conditions.Add(conditionNoMain); - break; - } - - if (characterAction.ActingCharacter.RulesetCharacter is not - { IsDeadOrDyingOrUnconscious: false } rulesetCharacter) - { - yield break; - } - - if (!rulesetCharacter.TryGetConditionOfCategoryAndType( - AttributeDefinitions.TagEffect, - conditionNoReaction.Name, - out var activeCondition)) - { - yield break; - } - - var caster = EffectHelpers.GetCharacterByGuid(activeCondition.SourceGuid); - - if (caster is not { IsDeadOrDyingOrUnconscious: false }) - { - yield break; - } - - // game freezes when enemy tries to Dash so best we can do here is allow this exception on the spell - if (characterAction is CharacterActionDash) - { - conditions.Remove(conditionNoMove); - } - - if (characterAction.ActingCharacter.RulesetCharacter is - { IsDeadOrDyingOrUnconscious: false }) - { - conditions.ForEach(condition => - rulesetCharacter.InflictCondition( - condition.Name, - DurationType.Round, - 0, - TurnOccurenceType.EndOfSourceTurn, - AttributeDefinitions.TagEffect, - caster.guid, - caster.CurrentFaction.Name, - 1, - condition.Name, - 0, - 0, - 0)); - } - } - } - - #endregion - #region Shadowblade [NotNull] From d8fa8a64142e004b0f921dab520f8ae2a67d63c9 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 18:31:24 -0800 Subject: [PATCH 35/42] tweak Abjure Foes, and Restoring Touch --- .../Models/2024PaladinContext.cs | 124 +++++------------- .../Translations/de/Others-de.txt | 6 +- .../Translations/en/Others-en.txt | 6 +- .../Translations/es/Others-es.txt | 6 +- .../Translations/fr/Others-fr.txt | 6 +- .../Translations/it/Others-it.txt | 6 +- .../Translations/ja/Others-ja.txt | 6 +- .../Translations/ko/Others-ko.txt | 6 +- .../Translations/pt-BR/Others-pt-BR.txt | 6 +- .../Translations/ru/Others-ru.txt | 6 +- .../Translations/zh-CN/Others-zh-CN.txt | 6 +- 11 files changed, 43 insertions(+), 141 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index b88a6fe5d1..5e5e11a768 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -1,10 +1,7 @@ using System; -using System.Collections; using System.Collections.Generic; using System.Linq; -using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; -using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -30,6 +27,14 @@ internal static partial class Tabletop2024Context .SetModifier(AttributeModifierOperation.Additive, AttributeDefinitions.ChannelDivinityNumber, 1) .AddToDB(); + private static readonly ConditionDefinition ConditionFrightenedByAbjureFoes = ConditionDefinitionBuilder + .Create(ConditionDefinitions.ConditionFrightened, "ConditionFrightenedByAbjureFoes") + .SetParentCondition(ConditionDefinitions.ConditionFrightened) + .SetSpecialInterruptions(ConditionInterruption.Damaged) + .SetFeatures() + .AddCustomSubFeatures(new ActionFinishedByMeCheckBonusOrMainOrMove()) + .AddToDB(); + private static readonly FeatureDefinitionPower PowerPaladinAbjureFoes = FeatureDefinitionPowerBuilder .Create("PowerPaladinAbjureFoes") .SetGuiPresentation(Category.Feature, @@ -46,14 +51,7 @@ internal static partial class Tabletop2024Context EffectFormBuilder .Create() .HasSavingThrow(EffectSavingThrowType.Negates) - .SetConditionForm( - ConditionDefinitionBuilder - .Create(ConditionDefinitions.ConditionFrightened, "ConditionFrightenedByAbjureFoes") - .SetParentCondition(ConditionDefinitions.ConditionFrightened) - .SetSpecialInterruptions(ConditionInterruption.Damaged) - .SetFeatures() - .AddToDB(), - ConditionForm.ConditionOperation.Add) + .SetConditionForm(ConditionFrightenedByAbjureFoes, ConditionForm.ConditionOperation.Add) .Build()) .SetCasterEffectParameters(PowerClericTurnUndead) .Build()) @@ -63,13 +61,12 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerPaladinRestoringTouch = FeatureDefinitionPowerBuilder .Create("PowerPaladinRestoringTouch") .SetGuiPresentation(Category.Feature) - .SetUsesFixed(ActivationTime.NoCost, RechargeRate.HealingPool, 5) + .SetUsesFixed(ActivationTime.BonusAction, RechargeRate.HealingPool, 5) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) .Build()) - .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); private static readonly ConditionDefinition[] RestoringTouchConditions = @@ -83,8 +80,6 @@ internal static partial class Tabletop2024Context private static void LoadPaladinRestoringTouch() { - PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); - var powers = new List(); // ReSharper disable once LoopCanBeConvertedToQuery @@ -97,7 +92,7 @@ private static void LoadPaladinRestoringTouch() var power = FeatureDefinitionPowerSharedPoolBuilder .Create($"PowerPaladinRestoringTouch{condition.Name}") .SetGuiPresentation(title, description) - .SetSharedPool(ActivationTime.NoCost, PowerPaladinRestoringTouch, 5) + .SetSharedPool(ActivationTime.BonusAction, PowerPaladinRestoringTouch, 5) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -105,7 +100,7 @@ private static void LoadPaladinRestoringTouch() .SetEffectForms( EffectFormBuilder .Create() - .SetConditionForm(condition, ConditionForm.ConditionOperation.RemoveDetrimentalAll) + .SetConditionForm(condition, ConditionForm.ConditionOperation.Remove) .Build()) .Build()) .AddToDB(); @@ -149,27 +144,6 @@ internal static void SwitchPaladinSpellCastingAtOne() } } - internal static void SwitchPaladinLayOnHand() - { - PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHands2024 - ? ActivationTime.BonusAction - : ActivationTime.Action; - } - - internal static void SwitchPaladinRestoringTouch() - { - Paladin.FeatureUnlocks - .RemoveAll(x => - x.FeatureDefinition == PowerPaladinRestoringTouch || - x.FeatureDefinition == PowerPaladinCleansingTouch); - - Paladin.FeatureUnlocks.Add(Main.Settings.EnablePaladinRestoringTouch2024 - ? new FeatureUnlockByLevel(PowerPaladinRestoringTouch, 14) - : new FeatureUnlockByLevel(PowerPaladinCleansingTouch, 14)); - - Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); - } - internal static void SwitchPaladinAbjureFoes() { Paladin.FeatureUnlocks @@ -203,6 +177,27 @@ internal static void SwitchPaladinChannelDivinity() Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static void SwitchPaladinLayOnHand() + { + PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHands2024 + ? ActivationTime.BonusAction + : ActivationTime.Action; + } + + internal static void SwitchPaladinRestoringTouch() + { + Paladin.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == PowerPaladinRestoringTouch || + x.FeatureDefinition == PowerPaladinCleansingTouch); + + Paladin.FeatureUnlocks.Add(Main.Settings.EnablePaladinRestoringTouch2024 + ? new FeatureUnlockByLevel(PowerPaladinRestoringTouch, 14) + : new FeatureUnlockByLevel(PowerPaladinCleansingTouch, 14)); + + Paladin.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + private sealed class ModifyEffectDescriptionPowerPaladinAbjureFoes : IModifyEffectDescription { public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) @@ -225,57 +220,4 @@ public EffectDescription GetEffectDescription( return effectDescription; } } - - private sealed class PowerOrSpellFinishedByMeRestoringTouch : IPowerOrSpellFinishedByMe - { - public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) - { - if (!Main.Settings.EnablePaladinRestoringTouch2024) - { - yield break; - } - - var caster = action.ActingCharacter; - var rulesetCaster = caster.RulesetCharacter; - var target = action.ActionParams.TargetCharacters[0]; - var rulesetTarget = target.RulesetCharacter; - var usablePowerPool = PowerProvider.Get(PowerPaladinRestoringTouch, rulesetCaster); - - while (rulesetCaster.GetRemainingUsesOfPower(usablePowerPool) > 0) - { - var usablePowers = new List(); - - foreach (var condition in RestoringTouchConditions) - { - if (!rulesetTarget.HasConditionOfTypeOrSubType(condition.Name)) - { - continue; - } - - var power = GetDefinition( - $"PowerPaladinRestoringTouch{condition.Name}"); - var usablePower = PowerProvider.Get(power, rulesetCaster); - - usablePowers.Add(usablePower); - rulesetCaster.UsablePowers.Add(usablePower); - } - - if (usablePowers.Count == 0) - { - yield break; - } - - yield return caster.MyReactToSpendPowerBundle( - usablePowerPool, - [target], - caster, - "RestoringTouch"); - - foreach (var usablePower in usablePowers) - { - rulesetCaster.UsablePowers.Remove(usablePower); - } - } - } - } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 30a4daa5dd..4491a80959 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Sie können 1 Ki- Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Schritt des Windes Feature/&PowerMonkSuperiorDefenseDescription=Als freie Aktion können Sie 3 Ki-Punkte ausgeben, um sich 1 Minute lang oder bis Sie handlungsunfähig werden, perfekt gegen Schaden zu wappnen. Während dieser Zeit sind Sie gegen alle Schäden außer Machtschaden resistent. Feature/&PowerMonkSuperiorDefenseTitle=Überlegene Verteidigung -Feature/&PowerPaladinAbjureFoesDescription=Als Aktion können Sie eine Verwendung des Kanalgöttlichkeitszaubers dieser Klasse aufwenden, um Feinde mit Ehrfurcht zu überwältigen. Wenn Sie Ihr heiliges Symbol oder Ihre Waffe präsentieren, können Sie eine Anzahl von Kreaturen in Höhe Ihres Charisma-Modifikators (mindestens eine Kreatur) anvisieren, die Sie innerhalb von 60 Fuß um sich herum sehen können. Jedes Ziel muss einen Weisheitsrettungswurf bestehen oder sich 1 Minute lang im Zustand „Verängstigt“ befinden oder bis es Schaden nimmt. +Feature/&PowerPaladinAbjureFoesDescription=Als Aktion können Sie eine Verwendung des Kanalgöttlichkeitszaubers dieser Klasse aufwenden, um Feinde mit Ehrfurcht zu überwältigen. Wenn Sie Ihr Heiliges Symbol oder Ihre Waffe präsentieren, können Sie eine Anzahl von Kreaturen in Höhe Ihres Charisma-Modifikators (mindestens eine Kreatur) anvisieren, die Sie innerhalb von 60 Fuß um sich herum sehen können. Jedes Ziel muss einen Weisheitsrettungswurf bestehen oder für 1 Minute oder bis es Schaden nimmt den Zustand Verängstigt haben. Während ein Ziel auf diese Weise verängstigt ist, kann es in seinen Runden nur eines der folgenden Dinge tun: sich bewegen, eine Aktion ausführen oder eine Bonusaktion ausführen. Feature/&PowerPaladinAbjureFoesTitle=Feinde abschwören Feature/&PowerPaladinRestoringTouchDescription=Wenn Sie Handauflegen auf eine Kreatur anwenden, können Sie außerdem einen oder mehrere der folgenden Zustände von der Kreatur entfernen: Blindheit, Bezauberung, Taubheit, Angst, Lähmung oder Betäubung. Für jeden dieser Zustände, die Sie entfernen, müssen Sie 5 Trefferpunkte aus dem Heilungspool von Handauflegen aufwenden. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Wenn Sie Handauflegen auf eine Kreatur anwenden, können Sie auch {0} entfernen. Sie müssen 5 Trefferpunkte aus dem Heilungspool von Handauflegen aufwenden. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Sie können Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Sie können auf Sneak-Attack-Würfel verzichten, um einen zusätzlichen Effekt anzuwenden. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Listiger Schlag Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Listiger Schlag -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Sie können 5 Punkte aus Ihrem Heilungspool ausgeben, um einen schädlichen Zustand zu beseitigen. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Beseitigen Sie einen schädlichen Zustand. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Berührung wiederherstellen -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Berührung wiederherstellen Reaction/&ReactionSpendPowerBundleTitle=Macht ausgeben Reaction/&ReadiedAction{0}Description=Bereit {0} Reaction/&ReadiedAction{0}Title=Bereit {0} diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 57f6d7e2c8..ad78a2b0f9 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=You can spend 1 K Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Step of the Wind Feature/&PowerMonkSuperiorDefenseDescription=As a free action, you can spend 3 Ki Points to perfectly bolster yourself against harm for 1 minute or until you become incapacitated. During that time, you have resistance to all damage except Force damage. Feature/&PowerMonkSuperiorDefenseTitle=Superior Defense -Feature/&PowerPaladinAbjureFoesDescription=As an action, you can expend one use of this class's Channel Divinity to overwhelm foes with awe. As you present your Holy Symbol or weapon, you can target a number of creatures equal to your Charisma modifier (minimum of one creature) that you can see within 60 feet of yourself. Each target must succeed on a Wisdom saving throw or have the Frightened condition for 1 minute or until it takes any damage. +Feature/&PowerPaladinAbjureFoesDescription=As an action, you can expend one use of this class's Channel Divinity to overwhelm foes with awe. As you present your Holy Symbol or weapon, you can target a number of creatures equal to your Charisma modifier (minimum of one creature) that you can see within 60 feet of yourself. Each target must succeed on a Wisdom saving throw or have the Frightened condition for 1 minute or until it takes any damage. While Frightened in this way, a target can do only one of the following on its turns: move, take an action, or take a Bonus Action. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerPaladinRestoringTouchDescription=When you use Lay On Hands on a creature, you can also remove one or more of the following conditions from the creature: Blinded, Charmed, Deafened, Frightened, Paralyzed, or Stunned. You must expend 5 Hit Points from the healing pool of Lay On Hands for each of these conditions you remove. Feature/&PowerPaladinRestoringTouchSubPowerDescription=When you use Lay On Hands on a creature, you can also remove {0}. You must expend 5 Hit Points from the healing pool of Lay On Hands. @@ -353,10 +353,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=You can for Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=You can forgo Sneak Attack dice to apply an additional effect. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Cunning Strike Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Cunning Strike -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=You can spend 5 points from your healing pool to remove a detrimental condition. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remove a detrimental condition. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restoring Touch -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restoring Touch Reaction/&ReactionSpendPowerBundleTitle=Spend Power Reaction/&ReadiedAction{0}Description=Readied {0} Reaction/&ReadiedAction{0}Title=Readied {0} diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 9ea1c2f76a..bb30a472fa 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puedes gastar 1 p Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Paso del viento Feature/&PowerMonkSuperiorDefenseDescription=Como acción gratuita, puedes gastar 3 puntos Ki para reforzarte perfectamente contra el daño durante 1 minuto o hasta que quedes incapacitado. Durante ese tiempo, tienes resistencia a todo el daño excepto al daño de la Fuerza. Feature/&PowerMonkSuperiorDefenseTitle=Defensa superior -Feature/&PowerPaladinAbjureFoesDescription=Como acción, puedes gastar un uso de la habilidad Canalizar divinidad de esta clase para abrumar a los enemigos con asombro. Cuando presentes tu Símbolo Sagrado o tu arma, puedes seleccionar como objetivo una cantidad de criaturas igual a tu modificador de Carisma (un mínimo de una criatura) que puedas ver a 60 pies o menos de ti. Cada objetivo debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado durante 1 minuto o hasta que sufra algún daño. +Feature/&PowerPaladinAbjureFoesDescription=Como acción, puedes gastar un uso de la habilidad Canalizar divinidad de esta clase para abrumar a los enemigos con asombro. Cuando presentes tu Símbolo Sagrado o tu arma, puedes seleccionar como objetivo una cantidad de criaturas igual a tu modificador de Carisma (un mínimo de una criatura) que puedas ver a 60 pies o menos de ti. Cada objetivo debe superar una tirada de salvación de Sabiduría o tener la condición de Asustado durante 1 minuto o hasta que sufra algún daño. Mientras está Asustado de esta manera, un objetivo solo puede hacer una de las siguientes cosas en sus turnos: moverse, realizar una acción o realizar una Acción adicional. Feature/&PowerPaladinAbjureFoesTitle=Abjurar enemigos Feature/&PowerPaladinRestoringTouchDescription=Cuando usas Imposición de manos sobre una criatura, también puedes eliminar una o más de las siguientes condiciones de la criatura: cegada, encantada, ensordecedora, asustada, paralizada o aturdida. Debes gastar 5 puntos de vida de la reserva de sanación de Imposición de manos por cada una de estas condiciones que elimines. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Cuando usas Imposición de manos sobre una criatura, también puedes eliminar {0}. Debes gastar 5 puntos de vida de la reserva de sanación de Imposición de manos. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puedes renu Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puedes renunciar a los dados de Ataque Furtivo para aplicar un efecto adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Golpe astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Golpe astuto -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puedes gastar 5 puntos de tu reserva de curación para eliminar una condición perjudicial. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminar una condición perjudicial. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando el tacto -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando el tacto Reaction/&ReactionSpendPowerBundleTitle=Poder de gasto Reaction/&ReadiedAction{0}Description=Listo {0} Reaction/&ReadiedAction{0}Title=Listo {0} diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 8fc23b84be..8e6ae00deb 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Vous pouvez dépe Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Le pas du vent Feature/&PowerMonkSuperiorDefenseDescription=En tant qu'action libre, vous pouvez dépenser 3 points de Ki pour vous protéger parfaitement contre les dégâts pendant 1 minute ou jusqu'à ce que vous soyez neutralisé. Pendant ce temps, vous bénéficiez d'une résistance à tous les dégâts, sauf les dégâts de Force. Feature/&PowerMonkSuperiorDefenseTitle=Défense supérieure -Feature/&PowerPaladinAbjureFoesDescription=En tant qu'action, vous pouvez dépenser une utilisation de la capacité Canalisation de divinité de cette classe pour submerger vos ennemis de crainte. Lorsque vous présentez votre Symbole sacré ou votre arme, vous pouvez cibler un nombre de créatures égal à votre modificateur de Charisme (minimum d'une créature) que vous pouvez voir à 18 mètres ou moins de vous. Chaque cible doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayé pendant 1 minute ou jusqu'à ce qu'elle subisse des dégâts. +Feature/&PowerPaladinAbjureFoesDescription=En tant qu'action, vous pouvez dépenser une utilisation de Canalisation de divinité de cette classe pour submerger vos ennemis de crainte. Lorsque vous présentez votre Symbole sacré ou votre arme, vous pouvez cibler un nombre de créatures égal à votre modificateur de Charisme (minimum d'une créature) que vous pouvez voir à 18 mètres ou moins de vous. Chaque cible doit réussir un jet de sauvegarde de Sagesse ou avoir la condition Effrayé pendant 1 minute ou jusqu'à ce qu'elle subisse des dégâts. Tant qu'elle est Effrayée de cette manière, une cible ne peut faire qu'une des actions suivantes pendant ses tours : se déplacer, effectuer une action ou effectuer une action bonus. Feature/&PowerPaladinAbjureFoesTitle=Abjure Foes Feature/&PowerPaladinRestoringTouchDescription=Lorsque vous utilisez Imposition des mains sur une créature, vous pouvez également lui retirer une ou plusieurs des conditions suivantes : Aveuglement, Charmé, Sourd, Effrayé, Paralysé ou Étourdi. Vous devez dépenser 5 points de vie de la réserve de soins d'Imposition des mains pour chacune de ces conditions que vous supprimez. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Lorsque vous utilisez Imposition des mains sur une créature, vous pouvez également retirer {0}. Vous devez dépenser 5 points de vie de la réserve de soins d'Imposition des mains. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Vous pouvez Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Vous pouvez renoncer aux dés d'Attaque sournoise pour appliquer un effet supplémentaire. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Frappe rusée Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Frappe rusée -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Vous pouvez dépenser 5 points de votre réserve de soins pour supprimer une condition néfaste. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Supprimer une condition préjudiciable. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurer le toucher -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurer le toucher Reaction/&ReactionSpendPowerBundleTitle=Dépenser de l'énergie Reaction/&ReadiedAction{0}Description=Prêt {0} Reaction/&ReadiedAction{0}Title=Prêt {0} diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index b4d8dac22e..9febbb5978 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puoi spendere 1 p Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo del vento Feature/&PowerMonkSuperiorDefenseDescription=Come azione gratuita, puoi spendere 3 Punti Ki per rafforzarti perfettamente contro i danni per 1 minuto o finché non diventi inabile. Durante quel periodo, hai resistenza a tutti i danni, eccetto i danni da Forza. Feature/&PowerMonkSuperiorDefenseTitle=Difesa superiore -Feature/&PowerPaladinAbjureFoesDescription=Come azione, puoi spendere un uso di Channel Divinity di questa classe per sopraffare i nemici con timore reverenziale. Mentre presenti il ​​tuo Simbolo Sacro o la tua arma, puoi prendere di mira un numero di creature pari al tuo modificatore di Carisma (minimo una creatura) che puoi vedere entro 60 piedi da te. Ogni bersaglio deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato per 1 minuto o finché non subisce danni. +Feature/&PowerPaladinAbjureFoesDescription=Come azione, puoi spendere un uso di Channel Divinity di questa classe per sopraffare i nemici con timore reverenziale. Mentre presenti il ​​tuo Simbolo Sacro o la tua arma, puoi prendere di mira un numero di creature pari al tuo modificatore di Carisma (minimo una creatura) che puoi vedere entro 60 piedi da te. Ogni bersaglio deve superare un tiro salvezza su Saggezza o avere la condizione Spaventato per 1 minuto o finché non subisce danni. Mentre è Spaventato in questo modo, un bersaglio può fare solo una delle seguenti cose nei suoi turni: muoversi, compiere un'azione o compiere un'Azione Bonus. Feature/&PowerPaladinAbjureFoesTitle=Abiurare i nemici Feature/&PowerPaladinRestoringTouchDescription=Quando usi Lay On Hands su una creatura, puoi anche rimuovere una o più delle seguenti condizioni dalla creatura: Blinded, Charmed, Deafened, Frightened, Parlyzed o Stunned. Devi spendere 5 Punti Ferita dalla riserva di guarigione di Lay On Hands per ciascuna di queste condizioni che rimuovi. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Quando usi Imposizione delle Mani su una creatura, puoi anche rimuovere {0}. Devi spendere 5 Punti Ferita dalla riserva di guarigione di Imposizione delle Mani. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puoi rinunc Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puoi rinunciare ai dadi Attacco furtivo per applicare un effetto aggiuntivo. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Colpo astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Colpo astuto -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puoi spendere 5 punti dalla tua riserva di guarigione per rimuovere una condizione dannosa. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminare una condizione dannosa. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Ripristino del tocco -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Ripristino del tocco Reaction/&ReactionSpendPowerBundleTitle=Spendi potere Reaction/&ReadiedAction{0}Description=Preparato {0} Reaction/&ReadiedAction{0}Title=Preparato {0} diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index b557fc6478..423ed84d5f 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=1 気ポイント Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=風のステップ Feature/&PowerMonkSuperiorDefenseDescription=無料のアクションとして、3 Ki ポイントを消費して、1 分間または無力化されるまで、危害に対して完全に強化することができます。その間、あなたはフォースダメージを除くすべてのダメージに対する耐性を持ちます。 Feature/&PowerMonkSuperiorDefenseTitle=優れた防御力 -Feature/&PowerPaladinAbjureFoesDescription=アクションとして、このクラスのチャネル ディヴィニティを 1 回使用して、敵を畏怖で圧倒することができます。聖印または武器を提示すると、自分の周囲 60 フィート以内にいる、あなたの魅力修正値に等しい数のクリーチャー (最低 1 体) をターゲットにすることができます。各ターゲットは、知恵セーヴィング スローに成功するか、1 分間またはダメージを受けるまで恐怖状態になります。 +Feature/&PowerPaladinAbjureFoesDescription=アクションとして、このクラスのチャネル ディヴィニティを 1 回使用して、敵を畏怖で圧倒することができます。聖印または武器を提示すると、自分の 60 フィート以内にいる、あなたの魅力修正値に等しい数のクリーチャー (最低 1 体) をターゲットにすることができます。各ターゲットは、知恵セーヴィング スローに成功するか、1 分間またはダメージを受けるまで恐怖状態になる必要があります。このように恐怖状態になっている間、ターゲットは自分のターンに以下のいずれか 1 つしか実行できません: 移動する、アクションを実行する、またはボーナス アクションを実行する。 Feature/&PowerPaladinAbjureFoesTitle=敵をアブジュアする Feature/&PowerPaladinRestoringTouchDescription=クリーチャーに「レイ オン ハンズ」を使用すると、そのクリーチャーから、盲目、魅了、聴覚喪失、恐怖、麻痺、または気絶のいずれかの状態を 1 つ以上除去することもできます。除去する状態ごとに、「レイ オン ハンズ」の回復プールから 5 ヒット ポイントを消費する必要があります。 Feature/&PowerPaladinRestoringTouchSubPowerDescription=クリーチャーにレイ オン ハンズを使用するとき、{0} を削除することもできます。レイ オン ハンズの回復プールから 5 ヒット ポイントを消費する必要があります。 @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=追加の Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=追加の効果を適用するために、急襲のダイスを無視することができます。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡猾な攻撃 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡猾な攻撃 -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=回復プールから 5 ポイントを消費して、有害な状態を解除できます。 -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=有害な状態を除去します。 -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=タッチの回復 -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=タッチの回復 Reaction/&ReactionSpendPowerBundleTitle=電力を費やす Reaction/&ReadiedAction{0}Description=準備完了 {0} Reaction/&ReadiedAction{0}Title=準備完了 {0} diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index bc704d245f..a7ff01ab16 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=당신은 1 Ki Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=바람의 발걸음 Feature/&PowerMonkSuperiorDefenseDescription=무료 행동으로 3개의 Ki 포인트를 사용하여 1분 동안 또는 무력화될 때까지 피해로부터 자신을 완벽하게 강화할 수 있습니다. 그 동안 포스 데미지를 제외한 모든 데미지에 대한 저항력을 갖게 됩니다. Feature/&PowerMonkSuperiorDefenseTitle=우수한 방어력 -Feature/&PowerPaladinAbjureFoesDescription=행동으로, 이 클래스의 채널 신성 한 번을 사용하여 적을 경외감으로 압도할 수 있습니다. 신성한 상징이나 무기를 제시할 때, 자신의 카리스마 수정치와 같은 수의 생물(최소 한 마리의 생물)을 대상으로 삼을 수 있으며, 자신으로부터 60피트 이내에서 볼 수 있습니다. 각 대상은 지혜 구원 굴림에 성공해야 하며, 그렇지 않으면 1분 동안 또는 피해를 입을 때까지 공포 상태에 처해야 합니다. +Feature/&PowerPaladinAbjureFoesDescription=행동으로, 당신은 이 클래스의 채널 신성 한 번을 사용하여 경외감으로 적을 압도할 수 있습니다. 당신이 신성한 상징이나 무기를 제시할 때, 당신은 당신의 카리스마 수정치와 같은 수의 생물(최소 한 마리의 생물)을 당신으로부터 60피트 이내에서 볼 수 있는 대상으로 삼을 수 있습니다. 각 대상은 지혜 구원 굴림에 성공해야 하거나 1분 동안 또는 피해를 입을 때까지 공포 상태에 처해야 합니다. 이런 식으로 공포 상태에 처한 동안, 대상은 자신의 턴에 다음 중 하나만 할 수 있습니다: 이동, 행동 수행 또는 보너스 행동 수행. Feature/&PowerPaladinAbjureFoesTitle=적들을 버리다 Feature/&PowerPaladinRestoringTouchDescription=생물에 Lay On Hands를 사용할 때 생물에서 다음 조건 중 하나 이상을 제거할 수도 있습니다: 실명, 매혹, 귀머거리, 공포, 마비 또는 기절. 제거한 이러한 조건 각각에 대해 Lay On Hands의 치유 풀에서 5개의 생명력을 소모해야 합니다. Feature/&PowerPaladinRestoringTouchSubPowerDescription=생물에 Lay On Hands를 사용할 때, {0}도 제거할 수 있습니다. Lay On Hands의 치유 풀에서 5개의 생명력을 소모해야 합니다. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=추가 효 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=추가 효과를 적용하기 위해 몰래 공격 주사위를 사용할 수 있습니다. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=교활한 일격 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=교활한 일격 -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=치유 풀에서 5포인트를 사용하여 해로운 상태를 제거할 수 있습니다. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=유해한 조건을 제거합니다. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=터치를 회복하다 -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=터치를 회복하다 Reaction/&ReactionSpendPowerBundleTitle=소비 전력 Reaction/&ReadiedAction{0}Description=준비됨 {0} Reaction/&ReadiedAction{0}Title=준비됨 {0} diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 2b07fdeb1a..6be30ce67a 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Você pode gastar Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Passo do Vento Feature/&PowerMonkSuperiorDefenseDescription=Como uma ação livre, você pode gastar 3 Pontos de Ki para se reforçar perfeitamente contra dano por 1 minuto ou até ficar incapacitado. Durante esse tempo, você tem resistência a todo dano, exceto dano de Força. Feature/&PowerMonkSuperiorDefenseTitle=Defesa Superior -Feature/&PowerPaladinAbjureFoesDescription=Como uma ação, você pode gastar um uso de Canalizar Divindade desta classe para sobrepujar inimigos com admiração. Conforme você apresenta seu Símbolo Sagrado ou arma, você pode alvejar um número de criaturas igual ao seu modificador de Carisma (mínimo de uma criatura) que você possa ver a até 60 pés de você. Cada alvo deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Amedrontado por 1 minuto ou até que sofra qualquer dano. +Feature/&PowerPaladinAbjureFoesDescription=Como uma ação, você pode gastar um uso de Canalizar Divindade desta classe para sobrepujar inimigos com admiração. Conforme você apresenta seu Símbolo Sagrado ou arma, você pode alvejar um número de criaturas igual ao seu modificador de Carisma (mínimo de uma criatura) que você possa ver a até 60 pés de você. Cada alvo deve ser bem-sucedido em um teste de resistência de Sabedoria ou ter a condição Assustado por 1 minuto ou até que sofra qualquer dano. Enquanto Assustado dessa forma, um alvo pode fazer apenas uma das seguintes coisas em seus turnos: mover-se, realizar uma ação ou realizar uma Ação Bônus. Feature/&PowerPaladinAbjureFoesTitle=Abjurar Inimigos Feature/&PowerPaladinRestoringTouchDescription=Quando você usa Lay On Hands em uma criatura, você também pode remover uma ou mais das seguintes condições da criatura: Blinded, Charmed, Deafened, Frightened, Paralyzed ou Stunned. Você deve gastar 5 Pontos de Vida do pool de cura de Lay On Hands para cada uma dessas condições que você remover. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Quando você usa Lay On Hands em uma criatura, você também pode remover {0}. Você deve gastar 5 Pontos de Vida do pool de cura de Lay On Hands. @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Você pode Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Você pode abrir mão dos dados de Ataque Furtivo para aplicar um efeito adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Ataque astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Ataque astuto -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Você pode gastar 5 pontos do seu estoque de cura para remover uma condição prejudicial. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remova uma condição prejudicial. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando o toque -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando o toque Reaction/&ReactionSpendPowerBundleTitle=Gastar energia Reaction/&ReadiedAction{0}Description=Preparado {0} Reaction/&ReadiedAction{0}Title=Preparado {0} diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index c5d8b3263d..121a73543e 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Вы можете Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Поступь ветра Feature/&PowerMonkSuperiorDefenseDescription=Свободным действием вы можете потратить 3 очка ци, чтобы надёжно защитить себя от урона на 1 минуту или до тех пор, пока не станете недееспособны. В течение этого времени вы обладаете сопротивлением ко всему урону, кроме урона силовым полем. Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита -Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Божественного канала этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Святой символ или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Испуга в течение 1 минуты или пока не получит урон. +Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Channel Divinity этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Holy Symbol или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Frightened в течение 1 минуты или пока не получит какой-либо урон. Будучи Frightened таким образом, цель может сделать только одно из следующих действий в свой ход: переместиться, выполнить действие или выполнить Bonus Action. Feature/&PowerPaladinAbjureFoesTitle=Отречься от врагов Feature/&PowerPaladinRestoringTouchDescription=Когда вы используете Возложение рук на существо, вы также можете снять с существа одно или несколько из следующих состояний: Ослепление, Очарование, Оглушение, Испуг, Парализованность или Оглушение. Вы должны потратить 5 очков здоровья из запаса исцеления Возложения рук для каждого из этих состояний, которые вы снимаете. Feature/&PowerPaladinRestoringTouchSubPowerDescription=Когда вы используете Возложение рук на существо, вы также можете удалить {0}. Вы должны потратить 5 очков здоровья из лечебного запаса Возложения рук. @@ -353,10 +353,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Вы мож Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Вы можете отказаться от костей Скрытой атаки, чтобы применить дополнительный эффект. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Хитрый удар Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Хитрый удар -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Вы можете потратить 5 очков из своего пула исцеления, чтобы устранить пагубное состояние. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Устранить неблагоприятное состояние. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Восстановление осязания -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Восстановление осязания Reaction/&ReactionSpendPowerBundleTitle=Использовать силу Reaction/&ReadiedAction{0}Description=Подготовлен {0} Reaction/&ReadiedAction{0}Title=Подготовлен {0} diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index 5634b2e7e7..fdcf13f47e 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -226,7 +226,7 @@ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=在你的回合 Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=飞檐走壁 Feature/&PowerMonkSuperiorDefenseDescription=以一个自由动作,你可以花费 3 点气来完美地增强自己免受伤害,持续 1 分钟或直到你失能。在此期间,你对除力场伤害之外的所有伤害都有抗性。 Feature/&PowerMonkSuperiorDefenseTitle=无懈可击 -Feature/&PowerPaladinAbjureFoesDescription=作为一个动作,你可以花费一次该职业的神圣引导来让敌人感到敬畏。当你展示你的圣徽或武器时,你可以瞄准你在 60 英尺范围内看到的等于你的魅力调整值(至少一个生物)数量的生物。每个目标必须成功进行智慧豁免检定,否则会处于恐惧状态 1 分钟或直到受到任何伤害。 +Feature/&PowerPaladinAbjureFoesDescription=作为一个动作,你可以花费一次该职业的神圣引导来让敌人感到敬畏。当你展示你的圣徽或武器时,你可以瞄准你在 60 英尺范围内看到的等于你的魅力调整值数量的生物(至少一个生物)。每个目标必须成功进行感知豁免检定,否则会处于恐惧状态 1 分钟或直到受到任何伤害。当目标以这种方式受到恐惧时,他只能在其回合中执行以下其中一项操作:移动、采取行动或采取奖励行动。 Feature/&PowerPaladinAbjureFoesTitle=咒骂敌人 Feature/&PowerPaladinRestoringTouchDescription=当你对生物使用圣疗时,你还可以移除该生物的下列一种或多种状态:失明、魅惑、耳聋、惊恐、麻痹或昏迷。你必须从圣疗治疗池中消耗 5 点生命值来移除每种状态。 Feature/&PowerPaladinRestoringTouchSubPowerDescription=当你对生物使用圣疗术时,你还可以移除{0}。你必须从圣疗术治疗池中消耗 5 点生命值。 @@ -354,10 +354,6 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=你可以 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=你可以放弃偷袭骰来应用额外效果。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡诈打击 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡诈打击 -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=您可以从治疗池中花费 5 点来消除有害状况。 -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=消除有害状况。 -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=恢复触觉 -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=恢复触觉 Reaction/&ReactionSpendPowerBundleTitle=花费力量 Reaction/&ReadiedAction{0}Description=准备好 {0} Reaction/&ReadiedAction{0}Title=准备好 {0} From fdf10685a811ea19d04c76fbf54c74caac237fe1 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 21:28:26 -0800 Subject: [PATCH 36/42] tweak Cleric 2024 settings --- .../Displays/ClassesDisplay.cs | 2 + .../Displays/GeneralDisplay.cs | 2 + .../Models/2024ClericContext.cs | 143 ++++++++++++++---- .../Models/Tabletop2024Context.cs | 3 +- ...haracterStageDeitySelectionPanelPatcher.cs | 30 ++++ .../Translations/de/Others-de.txt | 9 ++ .../Translations/en/Others-en.txt | 9 ++ .../Translations/es/Others-es.txt | 9 ++ .../Translations/fr/Others-fr.txt | 9 ++ .../Translations/it/Others-it.txt | 9 ++ .../Translations/ja/Others-ja.txt | 9 ++ .../Translations/ko/Others-ko.txt | 9 ++ .../Translations/pt-BR/Others-pt-BR.txt | 9 ++ .../Translations/ru/Others-ru.txt | 9 ++ .../Translations/zh-CN/Others-zh-CN.txt | 9 ++ 15 files changed, 237 insertions(+), 33 deletions(-) diff --git a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs index 4366aa46d7..7e0f5bcd54 100644 --- a/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/ClassesDisplay.cs @@ -167,12 +167,14 @@ internal static void DisplayClasses() Tabletop2024Context.SwitchClericSearUndead(); } +#if false toggle = Main.Settings.EnableClericDivineIntervention2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableClericDivineIntervention2024 = toggle; Tabletop2024Context.SwitchClericDivineIntervention(); } +#endif UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); diff --git a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs index a7aff07f62..6980c45dbd 100644 --- a/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/GeneralDisplay.cs @@ -429,12 +429,14 @@ private static void DisplayTabletop2024() Tabletop2024Context.SwitchClericSearUndead(); } +#if false toggle = Main.Settings.EnableClericDivineIntervention2024; if (UI.Toggle(Gui.Localize("ModUi/&EnableClericDivineIntervention2024"), ref toggle, UI.AutoWidth())) { Main.Settings.EnableClericDivineIntervention2024 = toggle; Tabletop2024Context.SwitchClericDivineIntervention(); } +#endif UI.Label(); UI.Label("" + Gui.Localize("Class/&DruidTitle") + ":"); diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 8d87c519b0..5338f87988 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -3,6 +3,7 @@ using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; +using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.Interfaces; @@ -49,6 +50,7 @@ internal static partial class Tabletop2024Context .AddToDB()) .AddToDB(); +#if false private static readonly FeatureDefinitionFeatureSet FeatureSetClericDivineIntervention = FeatureDefinitionFeatureSetBuilder .Create("FeatureSetClericDivineIntervention") @@ -60,50 +62,118 @@ internal static partial class Tabletop2024Context .Create("FeatureSetClericDivineInterventionImproved") .SetGuiPresentation(Category.Feature) .AddToDB(); +#endif private static readonly FeatureDefinition FeatureClericSearUndead = FeatureDefinitionBuilder .Create("FeatureClericSearUndead") .SetGuiPresentation(Category.Feature) .AddToDB(); + private static readonly FeatureDefinitionPower PowerClericDivineSpark = FeatureDefinitionPowerBuilder + .Create("PowerClericDivineSpark") + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.Action, RechargeRate.ChannelDivinity) + .AddToDB(); + private static readonly EffectForm SearUndeadDamageForm = EffectFormBuilder .Create() .HasSavingThrow(EffectSavingThrowType.Negates) .SetDamageForm(DamageTypeRadiant, 0, DieType.D8) .Build(); + private static void LoadClericChannelDivinity() + { + var powerDivineSparkHeal = FeatureDefinitionPowerSharedPoolBuilder + .Create("PowerClericDivineSparkHeal") + .SetGuiPresentation(Category.Feature) + .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Ally, RangeType.Distance, 6, TargetType.IndividualsUnique) + .SetEffectForms( + EffectFormBuilder + .Create() + .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) + .SetHealingForm( + HealingComputation.Dice, 0, DieType.D8, 1, false, HealingCap.MaximumHitPoints) + .Build()) + .Build()) + .AddToDB(); + + var powerDivineSparkDamageNecrotic = FeatureDefinitionPowerSharedPoolBuilder + .Create("PowerClericDivineSparkDamageNecrotic") + .SetGuiPresentation(Category.Feature) + .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique) + .SetSavingThrowData(false, AttributeDefinitions.Constitution, true, + EffectDifficultyClassComputation.SpellCastingFeature) + .SetEffectForms( + EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.HalfDamage) + .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) + .SetDamageForm(DamageTypeNecrotic, 1, DieType.D8) + .Build()) + .Build()) + .AddToDB(); + + var powerDivineSparkDamageRadiant = FeatureDefinitionPowerSharedPoolBuilder + .Create("PowerClericDivineSparkDamageRadiant") + .SetGuiPresentation(Category.Feature) + .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Enemy, RangeType.Distance, 6, TargetType.IndividualsUnique) + .SetSavingThrowData(false, AttributeDefinitions.Constitution, true, + EffectDifficultyClassComputation.SpellCastingFeature) + .SetEffectForms( + EffectFormBuilder + .Create() + .HasSavingThrow(EffectSavingThrowType.HalfDamage) + .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) + .SetDamageForm(DamageTypeRadiant, 1, DieType.D8) + .Build()) + .Build()) + .AddToDB(); + + PowerBundle.RegisterPowerBundle(PowerClericDivineSpark, false, + powerDivineSparkHeal, powerDivineSparkDamageNecrotic, powerDivineSparkDamageRadiant); + } + private static void LoadClericSearUndead() { PowerClericTurnUndead.EffectDescription.EffectForms.Insert(0, SearUndeadDamageForm); PowerClericTurnUndead.AddCustomSubFeatures(new ModifyEffectDescriptionPowerTurnUndead()); } - internal static void SwitchClericSearUndead() + internal static void SwitchClericChannelDivinity() { Cleric.FeatureUnlocks - .RemoveAll(x => - x.FeatureDefinition == FeatureClericSearUndead || - x.FeatureDefinition == PowerClericTurnUndead5 || - x.FeatureDefinition == PowerClericTurnUndead11 || - x.FeatureDefinition == PowerClericTurnUndead14 || - x.FeatureDefinition == Level20Context.PowerClericTurnUndead17); + .RemoveAll(x => x.FeatureDefinition == PowerClericDivineSpark); - if (Main.Settings.EnableClericSearUndead2024) + if (Main.Settings.EnableClericChannelDivinity2024) { - Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureClericSearUndead, 5)); + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(PowerClericDivineSpark, 2)); + AttributeModifierClericChannelDivinity.modifierValue = 2; + AttributeModifierClericChannelDivinity.GuiPresentation.description = + "Feature/&ClericChannelDivinityExtendedDescription"; } else { - Cleric.FeatureUnlocks.AddRange( - new FeatureUnlockByLevel(PowerClericTurnUndead5, 5), - new FeatureUnlockByLevel(PowerClericTurnUndead11, 11), - new FeatureUnlockByLevel(PowerClericTurnUndead14, 14), - new FeatureUnlockByLevel(Level20Context.PowerClericTurnUndead17, 17)); + AttributeModifierClericChannelDivinity.modifierValue = 1; + AttributeModifierClericChannelDivinity.GuiPresentation.description = + "Feature/&ClericChannelDivinityDescription"; } Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } +#if false internal static void SwitchClericDivineIntervention() { var divineInterventions = new[] @@ -163,6 +233,7 @@ internal static void SwitchClericDivineIntervention() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } +#endif internal static void SwitchClericDivineOrder() { @@ -177,24 +248,6 @@ internal static void SwitchClericDivineOrder() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - internal static void SwitchClericChannelDivinity() - { - if (Main.Settings.EnableClericChannelDivinity2024) - { - AttributeModifierClericChannelDivinity.modifierValue = 2; - AttributeModifierClericChannelDivinity.GuiPresentation.description = - "Feature/&ClericChannelDivinityExtendedDescription"; - } - else - { - AttributeModifierClericChannelDivinity.modifierValue = 1; - AttributeModifierClericChannelDivinity.GuiPresentation.description = - "Feature/&ClericChannelDivinityDescription"; - } - - Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); - } - internal static void SwitchClericDomainLearningLevel() { var domains = DatabaseRepository.GetDatabase() @@ -260,6 +313,32 @@ internal static void SwitchClericDomainLearningLevel() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } + internal static void SwitchClericSearUndead() + { + Cleric.FeatureUnlocks + .RemoveAll(x => + x.FeatureDefinition == FeatureClericSearUndead || + x.FeatureDefinition == PowerClericTurnUndead5 || + x.FeatureDefinition == PowerClericTurnUndead11 || + x.FeatureDefinition == PowerClericTurnUndead14 || + x.FeatureDefinition == Level20Context.PowerClericTurnUndead17); + + if (Main.Settings.EnableClericSearUndead2024) + { + Cleric.FeatureUnlocks.Add(new FeatureUnlockByLevel(FeatureClericSearUndead, 5)); + } + else + { + Cleric.FeatureUnlocks.AddRange( + new FeatureUnlockByLevel(PowerClericTurnUndead5, 5), + new FeatureUnlockByLevel(PowerClericTurnUndead11, 11), + new FeatureUnlockByLevel(PowerClericTurnUndead14, 14), + new FeatureUnlockByLevel(Level20Context.PowerClericTurnUndead17, 17)); + } + + Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); + } + internal sealed class ModifyEffectDescriptionPowerTurnUndead : IModifyEffectDescription { public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) diff --git a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs index abe8749136..d63e89d155 100644 --- a/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs +++ b/SolastaUnfinishedBusiness/Models/Tabletop2024Context.cs @@ -26,6 +26,7 @@ internal static void LateLoad() LoadBarbarianInstinctivePounce(); LoadBarbarianPersistentRage(); LoadBardCounterCharm(); + LoadClericChannelDivinity(); LoadClericSearUndead(); LoadFighterSecondWind(); LoadFighterStudiedAttacks(); @@ -52,7 +53,7 @@ internal static void LateLoad() SwitchBardSuperiorInspiration(); SwitchBardWordsOfCreation(); SwitchClericChannelDivinity(); - SwitchClericDivineIntervention(); + // SwitchClericDivineIntervention(); SwitchClericDivineOrder(); SwitchClericDomainLearningLevel(); SwitchClericSearUndead(); diff --git a/SolastaUnfinishedBusiness/Patches/CharacterStageDeitySelectionPanelPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterStageDeitySelectionPanelPatcher.cs index 9820ad4300..78a3b8080a 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterStageDeitySelectionPanelPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterStageDeitySelectionPanelPatcher.cs @@ -1,6 +1,8 @@ using System.Diagnostics.CodeAnalysis; +using System.Linq; using HarmonyLib; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.Helpers; namespace SolastaUnfinishedBusiness.Patches; @@ -23,4 +25,32 @@ public static void Postfix([NotNull] CharacterStageDeitySelectionPanel __instanc } } } + + [HarmonyPatch(typeof(CharacterStageDeitySelectionPanel), nameof(CharacterStageDeitySelectionPanel.Refresh))] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class Refresh_Patch + { + [UsedImplicitly] + public static void Postfix([NotNull] CharacterStageDeitySelectionPanel __instance) + { + if (!Main.Settings.EnableClericToLearnDomainAtLevel3 || __instance.selectedDeity < 0) + { + return; + } + + var deity = __instance.compatibleDeities[__instance.selectedDeity]; + var alignment = DatabaseHelper.GetDefinition(deity.Alignment).FormatTitle(); + var domains = Gui.Localize("Screen/&DomainsTitle"); + var label = $"{alignment}\n\n{domains}\n"; + var finalText = deity.subclasses + .Select(DatabaseHelper.GetDefinition) + .Aggregate(label, + (current, subClass) => + current + + $"{subClass.FormatTitle()}\n{subClass.FormatDescription()}\n\n"); + + __instance.selectedDeityAlignment.Text = finalText; + } + } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 4491a80959..38e881e35c 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Dein Schlag hinterl Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Trennender Schlag Feature/&PowerBarbarianBrutalStrikeTitle=Brutaler Schlag Feature/&PowerBardCountercharmExtendedDescription=Sie können Musiknoten oder Machtwörter verwenden, um gedankenbeeinflussende Effekte zu unterbrechen. Wenn Sie oder eine Kreatur in einem Umkreis von 30 Fuß einen Rettungswurf gegen einen Effekt, der den Zustand „Bezaubert“ oder „Verängstigt“ auslöst, nicht schaffen, können Sie eine Reaktion ausführen, um den Rettungswurf zu wiederholen, und der neue Wurf hat einen Vorteil. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Nekrotik in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Göttlicher Funke: Nekrotisch +Feature/&PowerClericDivineSparkDamageRadiantDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Radiant in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Göttlicher Funke: Strahlend +Feature/&PowerClericDivineSparkDescription=Kanalisieren Sie Göttlichkeit, um Kreaturen im Umkreis von 6 Zellen, die Sie sehen können, zu heilen oder ihnen nekrotischen oder strahlenden Schaden zuzufügen, es sei denn, ihnen gelingt ein erfolgreicher Rettungswurf für Konstitution. +Feature/&PowerClericDivineSparkHealDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Stellen Sie die Trefferpunkte der Kreatur in Höhe dieser Summe wieder her. +Feature/&PowerClericDivineSparkHealTitle=Göttlicher Funke: Heilen +Feature/&PowerClericDivineSparkTitle=Göttlicher Funke Feature/&PowerHelpDescription=Sie können einer befreundeten Kreatur dabei helfen, eine Kreatur innerhalb von 1,5 m von Ihnen anzugreifen. Sie täuschen vor, lenken das Ziel ab oder schließen sich auf andere Weise zusammen, um den Angriff Ihres Verbündeten effektiver zu machen. Wenn Ihr Verbündeter das Ziel vor Ihrem nächsten Zug angreift, wird der erste Angriffswurf mit Vorteil ausgeführt. Feature/&PowerHelpTitle=Helfen Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Sie können 1 Ki-Punkt ausgeben, um in Ihrem Zug sowohl die Aktion „Ausklinken“ als auch die Aktion „Sprinten“ als Bonusaktion auszuführen, und Ihre Sprungdistanz wird für den Zug verdoppelt. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Zauberpunkte bis zur Hälf 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/&DomainsTitle=Domänen Screen/&EditorLocationSize3Title=Riesig [MODIFIZIERT] Screen/&EditorLocationSize4Title=Gigantisch [MODIFIZIERT] Screen/&MulticlassExtraSpellDescription=Sie kennen diesen Zauber aus anderen Repertoires. diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index ad78a2b0f9..2476f1bd5e 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Your blow leaves an Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Sundering Blow Feature/&PowerBarbarianBrutalStrikeTitle=Brutal Strike Feature/&PowerBardCountercharmExtendedDescription=You can use musical notes or words of power to disrupt mind-influencing effects. If you or a creature within 30 feet of you fails a saving throw against an effect that applies the Charmed or Frightened condition, you can take a Reaction to cause the save to be rerolled, and the new roll has Advantage. +Feature/&PowerClericDivineSparkDamageNecroticDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Necrotic equal to that total. On a successful save, the creature takes half as much damage. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Divine Spark: Necrotic +Feature/&PowerClericDivineSparkDamageRadiantDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Radiant equal to that total. On a successful save, the creature takes half as much damage. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Divine Spark: Radiant +Feature/&PowerClericDivineSparkDescription=Channel Divinity to heal or deal Necrotic or Radiant damage to creatures within 6 cells who can see you, unless they make a successful Constitution saving throw. +Feature/&PowerClericDivineSparkHealDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Restore Hit Points to the creature equal to that total. +Feature/&PowerClericDivineSparkHealTitle=Divine Spark: Heal +Feature/&PowerClericDivineSparkTitle=Divine Spark Feature/&PowerHelpDescription=You can aid a friendly creature in attacking a creature within 5 ft of you. You feint, distract the target, or in some other way team up to make your ally's attack more effective. If your ally attacks the target before your next turn, the first attack roll is made with advantage. Feature/&PowerHelpTitle=Help Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=You can spend 1 Ki point to take both the Disengage and Dash action as a bonus action on your turn, and your jump distance is doubled for the turn. @@ -403,6 +411,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recover sorcery points up 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/&DomainsTitle=Domains Screen/&EditorLocationSize3Title=Huge [MODDED] Screen/&EditorLocationSize4Title=Gargantuan [MODDED] Screen/&MulticlassExtraSpellDescription=You know this spell from other repertoire. diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index bb30a472fa..6f8cdeaa87 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Tu golpe deja una ab Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe desgarrador Feature/&PowerBarbarianBrutalStrikeTitle=Golpe brutal Feature/&PowerBardCountercharmExtendedDescription=Puedes usar notas musicales o palabras de poder para interrumpir los efectos que influyen en la mente. Si tú o una criatura a 30 pies de ti falla una tirada de salvación contra un efecto que aplica la condición de Encantado o Asustado, puedes realizar una Reacción para hacer que se repita la tirada de salvación y la nueva tirada tenga Ventaja. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura sufre una cantidad de daño necrótico igual a ese total. Si tiene éxito, la criatura sufre la mitad del daño. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Chispa divina: necrótica +Feature/&PowerClericDivineSparkDamageRadiantDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura recibe Radiante igual a ese total. Si tiene éxito, la criatura recibe la mitad del daño. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Chispa Divina: Radiante +Feature/&PowerClericDivineSparkDescription=Canaliza Divinidad para curar o infligir daño necrótico o radiante a criaturas dentro de 6 casillas que puedan verte, a menos que realicen una tirada de salvación de Constitución con éxito. +Feature/&PowerClericDivineSparkHealDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Restaura puntos de golpe a la criatura en una cantidad igual a ese total. +Feature/&PowerClericDivineSparkHealTitle=Chispa divina: sanar +Feature/&PowerClericDivineSparkTitle=Chispa divina Feature/&PowerHelpDescription=Puedes ayudar a una criatura amiga a atacar a una criatura que se encuentre a 5 pies de ti. Fintas, distraes al objetivo o de alguna otra forma te unes para hacer que el ataque de tu aliado sea más efectivo. Si tu aliado ataca al objetivo antes de tu siguiente turno, la primera tirada de ataque se realiza con ventaja. Feature/&PowerHelpTitle=Ayuda Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puedes gastar 1 punto Ki para realizar las acciones Desenganchar y Correr como acción adicional en tu turno, y tu distancia de salto se duplica durante ese turno. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupera puntos de hechice 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/&DomainsTitle=Dominios Screen/&EditorLocationSize3Title=Enorme [MODIFICADO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICADO] Screen/&MulticlassExtraSpellDescription=Conoces este hechizo de otro repertorio. diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 8e6ae00deb..afdd61ce64 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Votre coup laisse un Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Coup destructeur Feature/&PowerBarbarianBrutalStrikeTitle=Grève brutale Feature/&PowerBardCountercharmExtendedDescription=Vous pouvez utiliser des notes de musique ou des mots de pouvoir pour perturber les effets d'influence mentale. Si vous ou une créature à 9 mètres de vous ratez un jet de sauvegarde contre un effet qui applique la condition Charmé ou Effrayé, vous pouvez effectuer une Réaction pour que le jet de sauvegarde soit relancé, et le nouveau jet a l'Avantage. +Feature/&PowerClericDivineSparkDamageNecroticDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts nécrotiques égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Étincelle divine : Nécrotique +Feature/&PowerClericDivineSparkDamageRadiantDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts radieux égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Étincelle divine : rayonnante +Feature/&PowerClericDivineSparkDescription=Canalisez la Divinité pour soigner ou infliger des dégâts Nécrotiques ou Radieux aux créatures dans un rayon de 6 cases qui peuvent vous voir, à moins qu'elles ne réussissent un jet de sauvegarde de Constitution. +Feature/&PowerClericDivineSparkHealDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Restaurez un nombre de points de vie égal à ce total. +Feature/&PowerClericDivineSparkHealTitle=Étincelle divine : Guérison +Feature/&PowerClericDivineSparkTitle=Étincelle divine Feature/&PowerHelpDescription=Vous pouvez aider une créature alliée à attaquer une créature située à 1,50 m de vous. Vous feignez, distrayez la cible ou faites équipe d'une autre manière pour rendre l'attaque de votre allié plus efficace. Si votre allié attaque la cible avant votre prochain tour, le premier jet d'attaque est effectué avec avantage. Feature/&PowerHelpTitle=Aide Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Vous pouvez dépenser 1 point Ki pour effectuer à la fois l'action Désengagement et l'action Flèche en tant qu'action bonus pendant votre tour, et votre distance de saut est doublée pour le tour. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Récupérez des points de 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/&DomainsTitle=Domaines Screen/&EditorLocationSize3Title=Énorme [MODIFIÉ] Screen/&EditorLocationSize4Title=Gargantuesque [MODIFIÉ] Screen/&MulticlassExtraSpellDescription=Vous connaissez ce sort d'un autre répertoire. diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 9febbb5978..7327b368a4 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Il tuo colpo lascia Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Colpo dirompente Feature/&PowerBarbarianBrutalStrikeTitle=Colpo brutale Feature/&PowerBardCountercharmExtendedDescription=Puoi usare note musicali o parole di potere per interrompere gli effetti che influenzano la mente. Se tu o una creatura entro 30 piedi da te fallite un tiro salvezza contro un effetto che applica la condizione Charmed o Frightened, puoi usare una Reazione per far sì che il tiro salvezza venga ripetuto e il nuovo tiro ha Vantaggio. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Necrotico pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Scintilla divina: necrotica +Feature/&PowerClericDivineSparkDamageRadiantDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Radiant pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Scintilla divina: radiosa +Feature/&PowerClericDivineSparkDescription=Incanala la Divinità per curare o infliggere danni Necrotici o Radianti alle creature entro 6 caselle che possono vederti, a meno che non superino un tiro salvezza su Costituzione. +Feature/&PowerClericDivineSparkHealDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Ripristina Punti Ferita alla creatura pari a quel totale. +Feature/&PowerClericDivineSparkHealTitle=Scintilla divina: guarisci +Feature/&PowerClericDivineSparkTitle=Scintilla divina Feature/&PowerHelpDescription=Puoi aiutare una creatura amica ad attaccare una creatura entro 5 piedi da te. Fingi, distrai il bersaglio o fai squadra in qualche altro modo per rendere più efficace l'attacco del tuo alleato. Se il tuo alleato attacca il bersaglio prima del tuo turno successivo, il primo tiro di attacco viene effettuato con vantaggio. Feature/&PowerHelpTitle=Aiuto Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Puoi spendere 1 punto Ki per eseguire sia l'azione Disimpegno che quella Scatto come azione bonus durante il tuo turno, e la distanza del tuo salto raddoppia per quel turno. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupera punti stregoneria 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/&DomainsTitle=Domini Screen/&EditorLocationSize3Title=Enorme [MODIFICATO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICATO] Screen/&MulticlassExtraSpellDescription=Conosci questo incantesimo da un altro repertorio. diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 423ed84d5f..1710781135 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=あなたの打撃 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=サンダーブロウ Feature/&PowerBarbarianBrutalStrikeTitle=ブルータル・ストライク Feature/&PowerBardCountercharmExtendedDescription=音符や力の言葉を使って、精神に影響を与える効果を妨害することができます。あなたまたはあなたの 30 フィート以内のクリーチャーが魅了状態または恐怖状態を適用する効果に対するセーヴィング スローに失敗した場合、反応を行ってセーヴィングを再ロールすることができ、新しいロールにはアドバンテージが与えられます。 +Feature/&PowerClericDivineSparkDamageNecroticDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。クリーチャーに耐久力セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい壊死状態になります。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。 +Feature/&PowerClericDivineSparkDamageNecroticTitle=神の輝き:壊死 +Feature/&PowerClericDivineSparkDamageRadiantDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。クリーチャーに耐久力セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい光輝を得ます。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。 +Feature/&PowerClericDivineSparkDamageRadiantTitle=神の輝き:光り輝く +Feature/&PowerClericDivineSparkDescription=神性を発動して、6 セル以内にいる、あなたを見ることができるクリーチャーに、体質セーヴィング スローに成功しない限り、治癒するか、壊死性または光輝性のダメージを与えます。 +Feature/&PowerClericDivineSparkHealDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。その合計値に等しいヒット ポイントをクリーチャーに回復します。 +Feature/&PowerClericDivineSparkHealTitle=神の輝き:治癒 +Feature/&PowerClericDivineSparkTitle=神の火花 Feature/&PowerHelpDescription=味方のクリーチャーが自分から 5 フィート以内のクリーチャーを攻撃するのを助けることができます。フェイントをかけたり、ターゲットの気をそらしたり、その他の方法でチームを組んで味方の攻撃をより効果的にします。次のターンの前に味方がターゲットを攻撃した場合、最初の攻撃ロールは有利に行われます。 Feature/&PowerHelpTitle=ヘルプ Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=1 気ポイントを消費して、自分のターンにボーナス アクションとして離脱とダッシュの両方のアクションを実行でき、そのターンのジャンプ距離が 2 倍になります。 @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=ソーサリーポイン Rules/&TurnOccurenceEndOfSourceTurnFormat=ターンの終了元 Screen/&CharacterInspectionModeBattleUnlimitedTitle=1 ラウンドあたり無制限のインベントリ アクションを実行できます。 Screen/&ClassExtraSpellDescriptionFormat=この呪文は {0} クラスで知っていますね。 +Screen/&DomainsTitle=ドメイン Screen/&EditorLocationSize3Title=巨大な[MODD] Screen/&EditorLocationSize4Title=ガルガンチュアン [MODD] Screen/&MulticlassExtraSpellDescription=この呪文は他のレパートリーでもよく知られています。 diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index a7ff01ab16..bb198edba7 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=당신의 타격은 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=가르는 일격 Feature/&PowerBarbarianBrutalStrikeTitle=잔인한 일격 Feature/&PowerBardCountercharmExtendedDescription=음악적 음표나 힘의 말을 사용하여 정신에 영향을 미치는 효과를 방해할 수 있습니다. 당신이나 30피트 이내의 생물이 Charmed 또는 Frightened 조건을 적용하는 효과에 대한 세이빙 스로우에 실패하면, 당신은 반응을 취하여 세이브를 다시 굴릴 수 있으며, 새로운 굴림에는 이점이 있습니다. +Feature/&PowerClericDivineSparkDamageNecroticDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물이 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 괴사 피해를 입습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. +Feature/&PowerClericDivineSparkDamageNecroticTitle=신성한 불꽃: 괴사 +Feature/&PowerClericDivineSparkDamageRadiantDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물이 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 Radiant를 받습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. +Feature/&PowerClericDivineSparkDamageRadiantTitle=신성한 불꽃: 빛나다 +Feature/&PowerClericDivineSparkDescription=신성 주문을 사용해 6셀 이내의 당신을 볼 수 있는 생명체에게 치유나 괴사 또는 광휘 피해를 입힙니다. 단, 해당 생명체가 체력 구원 굴림에 성공하지 못하면 그렇습니다. +Feature/&PowerClericDivineSparkHealDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 더합니다. 그 총합과 같은 체력 포인트를 생물에게 회복합니다. +Feature/&PowerClericDivineSparkHealTitle=신성한 불꽃: 치유 +Feature/&PowerClericDivineSparkTitle=신성한 불꽃 Feature/&PowerHelpDescription=당신은 당신으로부터 5피트 내의 생물을 공격하는 아군 생물을 도울 수 있습니다. 당신은 가장하거나, 대상의 주의를 분산시키거나, 다른 방식으로 협력하여 아군의 공격을 더욱 효과적으로 만듭니다. 당신의 다음 턴 전에 당신의 동료가 목표물을 공격한다면, 첫 번째 공격 굴림이 유리하게 이루어집니다. Feature/&PowerHelpTitle=돕다 Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=당신은 1 Ki 포인트를 소비하여 당신의 턴에 보너스 액션으로 Disengage와 Dash 액션을 모두 취할 수 있으며, 점프 거리는 턴 동안 두 배가 됩니다. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=마법사 레벨의 절반 Rules/&TurnOccurenceEndOfSourceTurnFormat=턴의 최종 소스 Screen/&CharacterInspectionModeBattleUnlimitedTitle=라운드당 무제한으로 인벤토리 작업을 수행할 수 있습니다. Screen/&ClassExtraSpellDescriptionFormat=당신은 {0} 클래스에서 이 주문을 알고 있습니다. +Screen/&DomainsTitle=도메인 Screen/&EditorLocationSize3Title=거대한 [MODDED] Screen/&EditorLocationSize4Title=거대한 [MODDED] Screen/&MulticlassExtraSpellDescription=당신은 다른 레퍼토리에서 이 주문을 알고 있습니다. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 6be30ce67a..4b01002ec4 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Seu golpe deixa uma Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe de separação Feature/&PowerBarbarianBrutalStrikeTitle=Ataque Brutal Feature/&PowerBardCountercharmExtendedDescription=Você pode usar notas musicais ou palavras de poder para interromper efeitos de influência mental. Se você ou uma criatura a até 30 pés de você falhar em um teste de resistência contra um efeito que aplique a condição Encantado ou Amedrontado, você pode usar uma Reação para fazer com que o teste seja refeito, e o novo teste tem Vantagem. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Necrótico igual ao total. Em uma falha, a criatura recebe metade do dano. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Centelha Divina: Necrótica +Feature/&PowerClericDivineSparkDamageRadiantDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Radiante igual a esse total. Em uma falha, a criatura recebe metade do dano. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Centelha Divina: Radiante +Feature/&PowerClericDivineSparkDescription=Canalize Divindade para curar ou causar dano Necrótico ou Radiante a criaturas dentro de 6 células que possam ver você, a menos que elas façam um teste de resistência de Constituição bem-sucedido. +Feature/&PowerClericDivineSparkHealDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Restaure Pontos de Vida da criatura igual ao total. +Feature/&PowerClericDivineSparkHealTitle=Centelha Divina: Cura +Feature/&PowerClericDivineSparkTitle=Centelha Divina Feature/&PowerHelpDescription=Você pode ajudar uma criatura aliada a atacar uma criatura a até 5 pés de você. Você finge, distrai o alvo ou de alguma outra forma se junta para tornar o ataque do seu aliado mais efetivo. Se seu aliado atacar o alvo antes do seu próximo turno, a primeira jogada de ataque é feita com vantagem. Feature/&PowerHelpTitle=Ajuda Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Você pode gastar 1 ponto de Ki para realizar as ações Desvencilhar e Correr como uma ação bônus no seu turno, e sua distância de salto é dobrada no turno. @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Recupere pontos de feitiç 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/&DomainsTitle=Domínios Screen/&EditorLocationSize3Title=Enorme [MODIFICADO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICADO] Screen/&MulticlassExtraSpellDescription=Você conhece esse feitiço de outro repertório. diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 121a73543e..042a805672 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Ваш удар ос Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Раскалывающий удар Feature/&PowerBarbarianBrutalStrikeTitle=Жестокий удар Feature/&PowerBardCountercharmExtendedDescription=Вы получаете возможность использовать звуки или слова силы для разрушения воздействующих на разум эффектов. Если вы или существо в пределах 30 футов от вас проваливает спасбросок от эффекта, который накладывает состояния Очарованный или Испуганный, вы можете реакцией заставить повторить спасбросок, при этом новый бросок будет совершаться с преимуществом. +Feature/&PowerClericDivineSparkDamageNecroticDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Некротический урон, равный этому значению. При успешном спасброске существо получает половину урона. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Божественная Искра: Некротическая +Feature/&PowerClericDivineSparkDamageRadiantDescription=В качестве действия Магии бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок Телосложения. При провале спасброска существо получает Radiant, равный этому значению. При успешном спасброске существо получает половину урона. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Божественная Искра: Сияющая +Feature/&PowerClericDivineSparkDescription=Используйте Божественность, чтобы исцелить или нанести урон Некротической силой или Лучезарным уроном существам в радиусе 6 клеток, которые могут вас видеть, если только они не совершат успешный спасбросок Телосложения. +Feature/&PowerClericDivineSparkHealDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Восстановите очки здоровья существа, равные этому общему количеству. +Feature/&PowerClericDivineSparkHealTitle=Божественная Искра: Исцеление +Feature/&PowerClericDivineSparkTitle=Божественная Искра Feature/&PowerHelpDescription=Вы можете помочь дружественному существу атаковать другое существо, находящееся в пределах 5 футов от вас. Вы совершаете финт, отвлекаете цель или каким-то другим образом делаете атаку союзника более эффективной. Если ваш союзник атакует цель до начала вашего следующего хода, первый бросок атаки совершается с преимуществом. Feature/&PowerHelpTitle=Помощь Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Вы можете потратить 1 очко ци в свой ход, чтобы получить бонусным действием преимущества от действий Отход и Рывок одновременно. В этот ход дальность ваших прыжков удваивается. @@ -403,6 +411,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Восстановить Rules/&TurnOccurenceEndOfSourceTurnFormat=Конец источника хода Screen/&CharacterInspectionModeBattleUnlimitedTitle=Вы можете производить неограниченное количество действий с инвентарём в свой раунд. Screen/&ClassExtraSpellDescriptionFormat=Вам известно это заклинание от класса {0}. +Screen/&DomainsTitle=Домены Screen/&EditorLocationSize3Title=Огромный [Модифицировано] Screen/&EditorLocationSize4Title=Гигантский [Модифицировано] Screen/&MulticlassExtraSpellDescription=Вам известно это заклинание из другого репертуара. diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index fdcf13f47e..d9c3914396 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -220,6 +220,14 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=你的打击会在 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=粉碎殴击 Feature/&PowerBarbarianBrutalStrikeTitle=凶蛮打击 Feature/&PowerBardCountercharmExtendedDescription=你可以使用音符或充满力量的词语来破坏影响心灵的效果。如果你或你 30 英尺范围内的生物未能通过豁免检定来对抗施加魅惑或恐惧状态的效果,你可以做出反应来重新进行豁免检定,并且新的检定结果具有优势。 +Feature/&PowerClericDivineSparkDamageNecroticDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的坏死伤害。如果豁免成功,生物将受到一半的伤害。 +Feature/&PowerClericDivineSparkDamageNecroticTitle=神圣火花:坏死 +Feature/&PowerClericDivineSparkDamageRadiantDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的光辉。如果豁免成功,生物将受到一半的伤害。 +Feature/&PowerClericDivineSparkDamageRadiantTitle=神圣火花:光芒四射 +Feature/&PowerClericDivineSparkDescription=引导神力来治愈或对 6 个单元格内能够看见您的生物造成坏死性或辐射性伤害,除非他们成功进行了体质豁免检定。 +Feature/&PowerClericDivineSparkHealDescription=作为魔法动作,掷 1d8 并添加你的智慧修正值。为该生物恢复等于该总数的生命值。 +Feature/&PowerClericDivineSparkHealTitle=神圣火花:治愈 +Feature/&PowerClericDivineSparkTitle=神圣火花 Feature/&PowerHelpDescription=你可以帮助友方生物攻击距离你 5 尺以内的生物。你佯攻、分散目标的注意力,或以其他方式联合起来使你的盟友的攻击更有效。如果你的盟友在你的下一轮之前攻击目标,则第一次攻击检定具有优势。 Feature/&PowerHelpTitle=帮助 Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=在你的回合中,你可以花费 1 点气以一个附赠动作的形式来执行撤离和疾走行动作,同时使你该回合内的跳跃距离翻倍。 @@ -404,6 +412,7 @@ Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=恢复魔法点数,最 Rules/&TurnOccurenceEndOfSourceTurnFormat=来源回合结束 Screen/&CharacterInspectionModeBattleUnlimitedTitle=每轮您可以执行无限制的库存操作。 Screen/&ClassExtraSpellDescriptionFormat=你从 {0} 职业知道这个法术。 +Screen/&DomainsTitle=域 Screen/&EditorLocationSize3Title=巨型【已修改】 Screen/&EditorLocationSize4Title=超巨型【已修改】 Screen/&MulticlassExtraSpellDescription=你从其他法术表中知道这个法术。 From ec91930020031f79b7036f1504c97b6de9dba301 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 16 Dec 2024 21:36:21 -0800 Subject: [PATCH 37/42] update diagnostics --- .../UnfinishedBusinessBlueprints/Assets.txt | 34 +- ...cWhipNoMain.json => ConditionNoBonus.json} | 6 +- ...icWhipNoMove.json => ConditionNoMain.json} | 6 +- ...cWhipNoBonus.json => ConditionNoMove.json} | 6 +- ...NoMain.json => ActionAffinityNoBonus.json} | 6 +- ...pNoMove.json => ActionAffinityNoMain.json} | 6 +- ...NoBonus.json => ActionAffinityNoMove.json} | 6 +- ...ibuteModifierPaladinChannelDivinity11.json | 2 +- .../FeatureSetClericDivineIntervention.json | 38 -- ...reSetClericDivineInterventionImproved.json | 38 -- .../PowerClericDivineSpark.json | 202 ++++++++ .../PowerPaladinAbjureFoes.json | 2 +- .../PowerPaladinRestoringTouch.json | 2 +- .../PowerClericDivineSparkDamageNecrotic.json | 469 ++++++++++++++++++ .../PowerClericDivineSparkDamageRadiant.json | 469 ++++++++++++++++++ .../PowerClericDivineSparkHeal.json | 461 +++++++++++++++++ ...PaladinRestoringTouchConditionBlinded.json | 4 +- ...PaladinRestoringTouchConditionCharmed.json | 4 +- ...adinRestoringTouchConditionFrightened.json | 4 +- ...ladinRestoringTouchConditionParalyzed.json | 4 +- ...PaladinRestoringTouchConditionStunned.json | 4 +- .../SpellPowerClericDivineSpark.json | 197 ++++++++ ...lPowerClericDivineSparkDamageNecrotic.json | 193 +++++++ ...llPowerClericDivineSparkDamageRadiant.json | 193 +++++++ .../SpellPowerClericDivineSparkHeal.json | 193 +++++++ SolastaUnfinishedBusiness/Settings/empty.xml | 2 + 26 files changed, 2431 insertions(+), 120 deletions(-) rename Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/{ConditionPsychicWhipNoMain.json => ConditionNoBonus.json} (96%) rename Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/{ConditionPsychicWhipNoMove.json => ConditionNoMain.json} (96%) rename Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/{ConditionPsychicWhipNoBonus.json => ConditionNoMove.json} (96%) rename Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/{ActionAffinityPsychicWhipNoMain.json => ActionAffinityNoBonus.json} (92%) rename Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/{ActionAffinityPsychicWhipNoMove.json => ActionAffinityNoMain.json} (92%) rename Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/{ActionAffinityPsychicWhipNoBonus.json => ActionAffinityNoMove.json} (92%) delete mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json delete mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageNecrotic.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageRadiant.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkHeal.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 6caef44a89..627ca42912 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -1023,6 +1023,9 @@ ConditionMoonlitScionNewMoonNoCost ConditionDefinition ConditionDefinition c7828 ConditionMule ConditionDefinition ConditionDefinition bbb0c83b-8606-5e1c-896a-c542969ba582 ConditionMysticalCloakHigherPlane ConditionDefinition ConditionDefinition c78e05c0-8fe7-54aa-9f37-da1b221c3fd1 ConditionMysticalCloakLowerPlane ConditionDefinition ConditionDefinition 7ee4665f-89e5-58ea-9cf6-9f30501fd25e +ConditionNoBonus ConditionDefinition ConditionDefinition d8b8edc1-5dd0-5411-84ed-a9dc8812df44 +ConditionNoMain ConditionDefinition ConditionDefinition 6a5f3b31-8b4e-5b78-9013-a068e2721b2b +ConditionNoMove ConditionDefinition ConditionDefinition d42d1d14-3c4f-53f6-8c9a-262ce92d98ea ConditionNoxiousSpray ConditionDefinition ConditionDefinition dea928d6-cad1-564b-9edd-e65997ce09d4 ConditionOathOfAltruismAuraOfTheGuardian ConditionDefinition ConditionDefinition 4a66b77f-1f5d-5b37-ba7e-4d57922e2e0c ConditionOathOfAltruismExaltedProtector ConditionDefinition ConditionDefinition f4819269-6556-5736-bafa-ef91801127bc @@ -1101,9 +1104,6 @@ ConditionPatronMountainClingingStrength ConditionDefinition ConditionDefinition ConditionPounce ConditionDefinition ConditionDefinition f061d5c0-a474-56e6-985a-97a9427fa9d0 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 -ConditionPsychicWhipNoMove ConditionDefinition ConditionDefinition 33e1abaa-4b24-5a56-844b-432d68e40f5d ConditionPsychicWhipNoReaction ConditionDefinition ConditionDefinition f996f582-50f5-5a7d-8ca2-ff88a8b164ca ConditionRangerFeyWandererDreadfulStrikes ConditionDefinition ConditionDefinition e57b3920-17ee-55b9-9ef6-aeb86e99838d ConditionRangerGloomStalkerDreadAmbusher ConditionDefinition ConditionDefinition b15bade5-2eb3-5b0e-88b5-887b9ba96dcd @@ -1725,6 +1725,9 @@ ActionAffinityIrresistiblePerformance FeatureDefinitionActionAffinity FeatureDef ActionAffinityMartialGuardianCompellingStrike FeatureDefinitionActionAffinity FeatureDefinition ccbd571c-47a1-5915-95ee-f78e50539f19 ActionAffinityMartialGuardianVigilance FeatureDefinitionActionAffinity FeatureDefinition f6ac6c26-2020-59c7-8b1f-78831b915690 ActionAffinityMasterfulWhirlToggle FeatureDefinitionActionAffinity FeatureDefinition 1aa8d4ea-4e03-589b-91ef-4c6b8adaa679 +ActionAffinityNoBonus FeatureDefinitionActionAffinity FeatureDefinition 81e6f315-1513-5810-b767-72b81f41b175 +ActionAffinityNoMain FeatureDefinitionActionAffinity FeatureDefinition a942ee3e-3090-5af7-a44a-dad060d9abf4 +ActionAffinityNoMove FeatureDefinitionActionAffinity FeatureDefinition 1d1b87e9-0943-5208-a7e5-2c5a90b5b3f0 ActionAffinityNoxiousSpray FeatureDefinitionActionAffinity FeatureDefinition 92fce887-eee5-549c-a04c-a32422effb56 ActionAffinityOrcishFuryToggle FeatureDefinitionActionAffinity FeatureDefinition b813b4c4-7712-5653-b451-697868cb9b41 ActionAffinityOverChannelToggle FeatureDefinitionActionAffinity FeatureDefinition 5e3059e4-16fb-5d6d-93f1-643baa892a44 @@ -1746,9 +1749,6 @@ ActionAffinityPotionBonusAction FeatureDefinitionActionAffinity FeatureDefinitio ActionAffinityPowerAttackToggle FeatureDefinitionActionAffinity FeatureDefinition 662a830a-0f98-5adb-805a-0fe7f8ecf5d7 ActionAffinityPowerSurgeToggle FeatureDefinitionActionAffinity FeatureDefinition 61452ea0-047f-518a-92f1-349a78f77c3f ActionAffinityPressTheAdvantageToggle FeatureDefinitionActionAffinity FeatureDefinition 54e9367a-c1f0-537c-90c2-fa88d23e7d4d -ActionAffinityPsychicWhipNoBonus FeatureDefinitionActionAffinity FeatureDefinition 52bc1435-b0d7-5869-883b-4afe038cd8e8 -ActionAffinityPsychicWhipNoMain FeatureDefinitionActionAffinity FeatureDefinition 915ca36e-0a6f-5453-8c86-041c2430888f -ActionAffinityPsychicWhipNoMove FeatureDefinitionActionAffinity FeatureDefinition b6f650a8-c774-58bb-91c6-04f383fa7d54 ActionAffinityPsychicWhipNoReaction FeatureDefinitionActionAffinity FeatureDefinition ce74cb21-e747-5e10-aa1d-9e9554300f35 ActionAffinityRangerLightBearerWardingLight FeatureDefinitionActionAffinity FeatureDefinition 69becd6a-7466-5c23-8cfd-c598e65ca738 ActionAffinityRangerWildMasterAdvancedTraining FeatureDefinitionActionAffinity FeatureDefinition b47d5dfa-8941-5d6f-9b2f-cc5b380999e6 @@ -2600,8 +2600,6 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinition 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinition bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinition dec1968e-1879-5c1d-b8a5-52425ce251bd -FeatureSetClericDivineIntervention FeatureDefinitionFeatureSet FeatureDefinition c4635fe8-eb61-50e3-9578-261eda5f7749 -FeatureSetClericDivineInterventionImproved FeatureDefinitionFeatureSet FeatureDefinition 2693d1e9-cdb2-5677-8be0-2e26ef7ca36a FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinition e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinition 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinition 5fadeec3-0f9b-56d8-9bae-042897333f9a @@ -3209,6 +3207,10 @@ PowerCircleOfTheWildfireSummonSpiritDamage FeatureDefinitionPower FeatureDefinit PowerClericDivineInterventionImprovementCleric FeatureDefinitionPower FeatureDefinition d463d058-27db-559b-bf57-65c39d3150bb PowerClericDivineInterventionImprovementPaladin FeatureDefinitionPower FeatureDefinition 11d90029-4c67-591e-8e69-f6d52b78d522 PowerClericDivineInterventionImprovementWizard FeatureDefinitionPower FeatureDefinition e0410025-6a51-589f-9dc3-ecf95d055f7c +PowerClericDivineSpark FeatureDefinitionPower FeatureDefinition e665c38e-6f59-5bde-b5d6-1216b1882d0a +PowerClericDivineSparkDamageNecrotic FeatureDefinitionPowerSharedPool FeatureDefinition 7bb59396-ac5c-503b-ae8a-6ce89663ac87 +PowerClericDivineSparkDamageRadiant FeatureDefinitionPowerSharedPool FeatureDefinition 90f0c9bb-de14-5ebd-b1fe-68ff688c9231 +PowerClericDivineSparkHeal FeatureDefinitionPowerSharedPool FeatureDefinition 0553ede6-326c-54f4-b289-e0fe0fce4fde PowerClericTurnUndead17 FeatureDefinitionPower FeatureDefinition 99897e79-a7cf-59f2-9ebb-0e835fa832f9 PowerCollegeOfAudacityAudaciousWhirl FeatureDefinitionPower FeatureDefinition 6cbd417e-e3ae-591b-9a60-218423f41191 PowerCollegeOfAudacityDefensiveWhirl FeatureDefinitionPower FeatureDefinition f65588e2-f61c-5696-a8cc-37ae9b68d963 @@ -4483,6 +4485,9 @@ ActionAffinityIrresistiblePerformance FeatureDefinitionActionAffinity FeatureDef ActionAffinityMartialGuardianCompellingStrike FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity ccbd571c-47a1-5915-95ee-f78e50539f19 ActionAffinityMartialGuardianVigilance FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity f6ac6c26-2020-59c7-8b1f-78831b915690 ActionAffinityMasterfulWhirlToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 1aa8d4ea-4e03-589b-91ef-4c6b8adaa679 +ActionAffinityNoBonus FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 81e6f315-1513-5810-b767-72b81f41b175 +ActionAffinityNoMain FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity a942ee3e-3090-5af7-a44a-dad060d9abf4 +ActionAffinityNoMove FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 1d1b87e9-0943-5208-a7e5-2c5a90b5b3f0 ActionAffinityNoxiousSpray FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 92fce887-eee5-549c-a04c-a32422effb56 ActionAffinityOrcishFuryToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity b813b4c4-7712-5653-b451-697868cb9b41 ActionAffinityOverChannelToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 5e3059e4-16fb-5d6d-93f1-643baa892a44 @@ -4504,9 +4509,6 @@ ActionAffinityPotionBonusAction FeatureDefinitionActionAffinity FeatureDefinitio ActionAffinityPowerAttackToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 662a830a-0f98-5adb-805a-0fe7f8ecf5d7 ActionAffinityPowerSurgeToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 61452ea0-047f-518a-92f1-349a78f77c3f ActionAffinityPressTheAdvantageToggle FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 54e9367a-c1f0-537c-90c2-fa88d23e7d4d -ActionAffinityPsychicWhipNoBonus FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 52bc1435-b0d7-5869-883b-4afe038cd8e8 -ActionAffinityPsychicWhipNoMain FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 915ca36e-0a6f-5453-8c86-041c2430888f -ActionAffinityPsychicWhipNoMove FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity b6f650a8-c774-58bb-91c6-04f383fa7d54 ActionAffinityPsychicWhipNoReaction FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity ce74cb21-e747-5e10-aa1d-9e9554300f35 ActionAffinityRangerLightBearerWardingLight FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity 69becd6a-7466-5c23-8cfd-c598e65ca738 ActionAffinityRangerWildMasterAdvancedTraining FeatureDefinitionActionAffinity FeatureDefinitionActionAffinity b47d5dfa-8941-5d6f-9b2f-cc5b380999e6 @@ -5607,8 +5609,6 @@ FeatureSetCircleOfTheNightElementalForms FeatureDefinitionFeatureSet FeatureDefi FeatureSetCircleOfTheNightMonstrousForms FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 458071ae-49cb-5726-b74e-679b6ed3ee33 FeatureSetCircleOfTheWildfireCauterizingFlames FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet bb3d8057-32a0-5b5f-a6f1-9224c2f87822 FeatureSetCircleOfTheWildfireSummonSpirit FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet dec1968e-1879-5c1d-b8a5-52425ce251bd -FeatureSetClericDivineIntervention FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet c4635fe8-eb61-50e3-9578-261eda5f7749 -FeatureSetClericDivineInterventionImproved FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 2693d1e9-cdb2-5677-8be0-2e26ef7ca36a FeatureSetClericDivineOrder FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet e4756ac4-4fa8-56d7-8a3d-4e605cd918b4 FeatureSetClericProtector FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 99affee5-0d24-56fd-95b5-70d66182aa8a FeatureSetCollegeOfAudacityAudaciousWhirl FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 5fadeec3-0f9b-56d8-9bae-042897333f9a @@ -6145,6 +6145,10 @@ PowerCircleOfTheWildfireSummonSpiritDamage FeatureDefinitionPower FeatureDefinit PowerClericDivineInterventionImprovementCleric FeatureDefinitionPower FeatureDefinitionPower d463d058-27db-559b-bf57-65c39d3150bb PowerClericDivineInterventionImprovementPaladin FeatureDefinitionPower FeatureDefinitionPower 11d90029-4c67-591e-8e69-f6d52b78d522 PowerClericDivineInterventionImprovementWizard FeatureDefinitionPower FeatureDefinitionPower e0410025-6a51-589f-9dc3-ecf95d055f7c +PowerClericDivineSpark FeatureDefinitionPower FeatureDefinitionPower e665c38e-6f59-5bde-b5d6-1216b1882d0a +PowerClericDivineSparkDamageNecrotic FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7bb59396-ac5c-503b-ae8a-6ce89663ac87 +PowerClericDivineSparkDamageRadiant FeatureDefinitionPowerSharedPool FeatureDefinitionPower 90f0c9bb-de14-5ebd-b1fe-68ff688c9231 +PowerClericDivineSparkHeal FeatureDefinitionPowerSharedPool FeatureDefinitionPower 0553ede6-326c-54f4-b289-e0fe0fce4fde PowerClericTurnUndead17 FeatureDefinitionPower FeatureDefinitionPower 99897e79-a7cf-59f2-9ebb-0e835fa832f9 PowerCollegeOfAudacityAudaciousWhirl FeatureDefinitionPower FeatureDefinitionPower 6cbd417e-e3ae-591b-9a60-218423f41191 PowerCollegeOfAudacityDefensiveWhirl FeatureDefinitionPower FeatureDefinitionPower f65588e2-f61c-5696-a8cc-37ae9b68d963 @@ -12662,6 +12666,10 @@ SpellPowerCircleOfTheCosmosSwitchConstellationForm SpellDefinition SpellDefiniti SpellPowerCircleOfTheCosmosSwitchConstellationFormArcher SpellDefinition SpellDefinition b387bcf2-beff-5829-ae03-d6d36091ad61 SpellPowerCircleOfTheCosmosSwitchConstellationFormChalice SpellDefinition SpellDefinition 95bd99e1-581a-5cea-a172-78e661df452a SpellPowerCircleOfTheCosmosSwitchConstellationFormDragon SpellDefinition SpellDefinition 1397891c-0f1f-53dd-a104-de26b458390d +SpellPowerClericDivineSpark SpellDefinition SpellDefinition 5428f648-1394-5dc1-8c37-f9b4401663c3 +SpellPowerClericDivineSparkDamageNecrotic SpellDefinition SpellDefinition 8b50d5f5-678f-567c-a506-a264fcdd57bb +SpellPowerClericDivineSparkDamageRadiant SpellDefinition SpellDefinition 3623b4b1-a6f7-5235-be8a-b8cf94f4d2fd +SpellPowerClericDivineSparkHeal SpellDefinition SpellDefinition 0ef0238f-953e-51d4-a01c-d40b95a5f27a SpellPowerCollegeOfAudacityAudaciousWhirl SpellDefinition SpellDefinition f96604b4-cfcf-5074-8679-9bf1bfeb1db0 SpellPowerCollegeOfAudacityDefensiveWhirl SpellDefinition SpellDefinition a7aa8a20-6587-5e36-b0bf-a9aa9d0b7d1b SpellPowerCollegeOfAudacityMobileWhirl SpellDefinition SpellDefinition 5ddb314c-e9bc-5cfc-ac92-bf42a53ea3f9 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMain.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoBonus.json similarity index 96% rename from Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMain.json rename to Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoBonus.json index 4efd9af7ea..8f21453dfa 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMain.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoBonus.json @@ -4,7 +4,7 @@ "parentCondition": null, "conditionType": "Beneficial", "features": [ - "Definition:ActionAffinityPsychicWhipNoMain:915ca36e-0a6f-5453-8c86-041c2430888f" + "Definition:ActionAffinityNoBonus:81e6f315-1513-5810-b767-72b81f41b175" ], "allowMultipleInstances": false, "silentWhenAdded": true, @@ -151,7 +151,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "ccc00964-9d8a-5bbb-a5ea-102706e85f80", + "guid": "d8b8edc1-5dd0-5411-84ed-a9dc8812df44", "contentPack": 9999, - "name": "ConditionPsychicWhipNoMain" + "name": "ConditionNoBonus" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMove.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMain.json similarity index 96% rename from Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMove.json rename to Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMain.json index 16e4412fd2..efbddc7ba3 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoMove.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMain.json @@ -4,7 +4,7 @@ "parentCondition": null, "conditionType": "Beneficial", "features": [ - "Definition:ActionAffinityPsychicWhipNoMove:b6f650a8-c774-58bb-91c6-04f383fa7d54" + "Definition:ActionAffinityNoMain:a942ee3e-3090-5af7-a44a-dad060d9abf4" ], "allowMultipleInstances": false, "silentWhenAdded": true, @@ -151,7 +151,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "33e1abaa-4b24-5a56-844b-432d68e40f5d", + "guid": "6a5f3b31-8b4e-5b78-9013-a068e2721b2b", "contentPack": 9999, - "name": "ConditionPsychicWhipNoMove" + "name": "ConditionNoMain" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoBonus.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMove.json similarity index 96% rename from Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoBonus.json rename to Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMove.json index f0d216c00e..6039166300 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionPsychicWhipNoBonus.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionNoMove.json @@ -4,7 +4,7 @@ "parentCondition": null, "conditionType": "Beneficial", "features": [ - "Definition:ActionAffinityPsychicWhipNoBonus:52bc1435-b0d7-5869-883b-4afe038cd8e8" + "Definition:ActionAffinityNoMove:1d1b87e9-0943-5208-a7e5-2c5a90b5b3f0" ], "allowMultipleInstances": false, "silentWhenAdded": true, @@ -151,7 +151,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "35c585b6-2d9c-5fa4-8cec-8eeee7782805", + "guid": "d42d1d14-3c4f-53f6-8c9a-262ce92d98ea", "contentPack": 9999, - "name": "ConditionPsychicWhipNoBonus" + "name": "ConditionNoMove" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMain.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoBonus.json similarity index 92% rename from Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMain.json rename to Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoBonus.json index 8e098a58b1..8e95f7732a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMain.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoBonus.json @@ -1,8 +1,8 @@ { "$type": "FeatureDefinitionActionAffinity, Assembly-CSharp", "allowedActionTypes": [ - false, true, + false, true, true, true, @@ -42,7 +42,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "915ca36e-0a6f-5453-8c86-041c2430888f", + "guid": "81e6f315-1513-5810-b767-72b81f41b175", "contentPack": 9999, - "name": "ActionAffinityPsychicWhipNoMain" + "name": "ActionAffinityNoBonus" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMove.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMain.json similarity index 92% rename from Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMove.json rename to Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMain.json index b9b1722ca9..0a9659082b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoMove.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMain.json @@ -1,9 +1,9 @@ { "$type": "FeatureDefinitionActionAffinity, Assembly-CSharp", "allowedActionTypes": [ + false, true, true, - false, true, true, true @@ -42,7 +42,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "b6f650a8-c774-58bb-91c6-04f383fa7d54", + "guid": "a942ee3e-3090-5af7-a44a-dad060d9abf4", "contentPack": 9999, - "name": "ActionAffinityPsychicWhipNoMove" + "name": "ActionAffinityNoMain" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoBonus.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMove.json similarity index 92% rename from Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoBonus.json rename to Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMove.json index fd567c73ea..dfa106413d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityPsychicWhipNoBonus.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionActionAffinity/ActionAffinityNoMove.json @@ -2,8 +2,8 @@ "$type": "FeatureDefinitionActionAffinity, Assembly-CSharp", "allowedActionTypes": [ true, - false, true, + false, true, true, true @@ -42,7 +42,7 @@ "usedInValleyDLC": false }, "contentCopyright": "UserContent", - "guid": "52bc1435-b0d7-5869-883b-4afe038cd8e8", + "guid": "1d1b87e9-0943-5208-a7e5-2c5a90b5b3f0", "contentPack": 9999, - "name": "ActionAffinityPsychicWhipNoBonus" + "name": "ActionAffinityNoMove" } \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json index 92077603cc..26638eacae 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierPaladinChannelDivinity11.json @@ -2,7 +2,7 @@ "$type": "FeatureDefinitionAttributeModifier, Assembly-CSharp", "modifiedAttribute": "ChannelDivinityNumber", "modifierOperation": "Additive", - "modifierValue": 0, + "modifierValue": 1, "modifierAbilityScore": "Constitution", "situationalContext": "None", "minimum1": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json deleted file mode 100644 index 6e4680a9ba..0000000000 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineIntervention.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", - "featureSet": [], - "mode": "Union", - "ancestryDamageTypeMap": [], - "ancestryType": "Sorcerer", - "defaultSelection": 0, - "uniqueChoices": false, - "enumerateInDescription": false, - "hasRacialAffinity": false, - "guiPresentation": { - "$type": "GuiPresentation, Assembly-CSharp", - "hidden": false, - "title": "Feature/&FeatureSetClericDivineInterventionTitle", - "description": "Feature/&FeatureSetClericDivineInterventionDescription", - "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": "c4635fe8-eb61-50e3-9578-261eda5f7749", - "contentPack": 9999, - "name": "FeatureSetClericDivineIntervention" -} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json deleted file mode 100644 index 70d5c68446..0000000000 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetClericDivineInterventionImproved.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", - "featureSet": [], - "mode": "Union", - "ancestryDamageTypeMap": [], - "ancestryType": "Sorcerer", - "defaultSelection": 0, - "uniqueChoices": false, - "enumerateInDescription": false, - "hasRacialAffinity": false, - "guiPresentation": { - "$type": "GuiPresentation, Assembly-CSharp", - "hidden": false, - "title": "Feature/&FeatureSetClericDivineInterventionImprovedTitle", - "description": "Feature/&FeatureSetClericDivineInterventionImprovedDescription", - "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": "2693d1e9-cdb2-5677-8be0-2e26ef7ca36a", - "contentPack": 9999, - "name": "FeatureSetClericDivineInterventionImproved" -} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json new file mode 100644 index 0000000000..7c6a187c95 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json @@ -0,0 +1,202 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "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": "ChannelDivinity", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkTitle", + "description": "Feature/&PowerClericDivineSparkDescription", + "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": "e665c38e-6f59-5bde-b5d6-1216b1882d0a", + "contentPack": 9999, + "name": "PowerClericDivineSpark" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json index addbc4d389..96432b0733 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinAbjureFoes.json @@ -115,7 +115,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "0c917cd7e8916e448b142fc451e788a2", "m_SubObjectName": "", "m_SubObjectType": "" }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json index e09e733eeb..b3275719f5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json @@ -264,7 +264,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json new file mode 100644 index 0000000000..964575b658 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json @@ -0,0 +1,469 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 6, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": true, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Constitution", + "ignoreCover": true, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 10, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "DiceNumberByLevelTable", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [ + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 0, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 1, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 2, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 3, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 4, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 5, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 6, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 7, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 8, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 9, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 10, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 11, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 12, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 13, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 14, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 15, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 16, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 17, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 18, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 19, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 20, + "diceNumber": 3 + } + ], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": true, + "savingThrowAffinity": "HalfDamage", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageNecrotic", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "Action", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "ChannelDivinity", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkDamageNecroticTitle", + "description": "Feature/&PowerClericDivineSparkDamageNecroticDescription", + "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": "7bb59396-ac5c-503b-ae8a-6ce89663ac87", + "contentPack": 9999, + "name": "PowerClericDivineSparkDamageNecrotic" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json new file mode 100644 index 0000000000..2f38236ebb --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json @@ -0,0 +1,469 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 6, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": true, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Constitution", + "ignoreCover": true, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 10, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "DiceNumberByLevelTable", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [ + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 0, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 1, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 2, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 3, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 4, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 5, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 6, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 7, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 8, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 9, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 10, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 11, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 12, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 13, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 14, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 15, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 16, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 17, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 18, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 19, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 20, + "diceNumber": 3 + } + ], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": true, + "savingThrowAffinity": "HalfDamage", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageRadiant", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "Action", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "ChannelDivinity", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkDamageRadiantTitle", + "description": "Feature/&PowerClericDivineSparkDamageRadiantDescription", + "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": "90f0c9bb-de14-5ebd-b1fe-68ff688c9231", + "contentPack": 9999, + "name": "PowerClericDivineSparkDamageRadiant" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json new file mode 100644 index 0000000000..7f7df2837d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json @@ -0,0 +1,461 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 6, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "IndividualsUnique", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Healing", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [ + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 0, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 1, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 2, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 3, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 4, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 5, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 6, + "diceNumber": 0 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 7, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 8, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 9, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 10, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 11, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 12, + "diceNumber": 1 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 13, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 14, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 15, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 16, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 17, + "diceNumber": 2 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 18, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 19, + "diceNumber": 3 + }, + { + "$type": "DiceByRank, Assembly-CSharp", + "rank": 20, + "diceNumber": 3 + } + ], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "healingForm": { + "$type": "HealingForm, Assembly-CSharp", + "healingComputation": "Dice", + "diceNumber": 1, + "dieType": "D8", + "bonusHealing": 0, + "variablePool": false, + "healingCap": "MaximumHitPoints" + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "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": "ChannelDivinity", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkHealTitle", + "description": "Feature/&PowerClericDivineSparkHealDescription", + "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": "0553ede6-326c-54f4-b289-e0fe0fce4fde", + "contentPack": 9999, + "name": "PowerClericDivineSparkHeal" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json index 8de7fee57a..bb8029f2fe 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json @@ -80,7 +80,7 @@ "$type": "ConditionForm, Assembly-CSharp", "conditionDefinitionName": "ConditionBlinded", "conditionDefinition": "Definition:ConditionBlinded:0a89e8d8ad8f21649b744191035357b3", - "operation": "RemoveDetrimentalAll", + "operation": "Remove", "conditionsList": [], "applyToSelf": false, "forceOnSelf": false @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json index 1a2ec062a5..eeefbc7ddd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json @@ -80,7 +80,7 @@ "$type": "ConditionForm, Assembly-CSharp", "conditionDefinitionName": "ConditionCharmed", "conditionDefinition": "Definition:ConditionCharmed:b625b88863e83524ba652432379348a9", - "operation": "RemoveDetrimentalAll", + "operation": "Remove", "conditionsList": [], "applyToSelf": false, "forceOnSelf": false @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json index 24695e6069..601d8291ff 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json @@ -80,7 +80,7 @@ "$type": "ConditionForm, Assembly-CSharp", "conditionDefinitionName": "ConditionFrightened", "conditionDefinition": "Definition:ConditionFrightened:5cbaee42aac310e42a407fc59bf65515", - "operation": "RemoveDetrimentalAll", + "operation": "Remove", "conditionsList": [], "applyToSelf": false, "forceOnSelf": false @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json index 7c3d2e488b..8b6b6ae261 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json @@ -80,7 +80,7 @@ "$type": "ConditionForm, Assembly-CSharp", "conditionDefinitionName": "ConditionParalyzed", "conditionDefinition": "Definition:ConditionParalyzed:a775cb208dcfe8244bc724c2af40b4fa", - "operation": "RemoveDetrimentalAll", + "operation": "Remove", "conditionsList": [], "applyToSelf": false, "forceOnSelf": false @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json index eba88172a1..e997deebf7 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json @@ -80,7 +80,7 @@ "$type": "ConditionForm, Assembly-CSharp", "conditionDefinitionName": "ConditionStunned", "conditionDefinition": "Definition:ConditionStunned:126115c02838c1a4ca7d25682af5ddb0", - "operation": "RemoveDetrimentalAll", + "operation": "Remove", "conditionsList": [], "applyToSelf": false, "forceOnSelf": false @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "NoCost", + "activationTime": "BonusAction", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json new file mode 100644 index 0000000000..c7afdb75d6 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json @@ -0,0 +1,197 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [ + "Definition:SpellPowerClericDivineSparkHeal:0ef0238f-953e-51d4-a01c-d40b95a5f27a", + "Definition:SpellPowerClericDivineSparkDamageNecrotic:8b50d5f5-678f-567c-a506-a264fcdd57bb", + "Definition:SpellPowerClericDivineSparkDamageRadiant:3623b4b1-a6f7-5235-be8a-b8cf94f4d2fd" + ], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkTitle", + "description": "Feature/&PowerClericDivineSparkDescription", + "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": "5428f648-1394-5dc1-8c37-f9b4401663c3", + "contentPack": 9999, + "name": "SpellPowerClericDivineSpark" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageNecrotic.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageNecrotic.json new file mode 100644 index 0000000000..527c6dbae3 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageNecrotic.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkDamageNecroticTitle", + "description": "Feature/&PowerClericDivineSparkDamageNecroticDescription", + "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": "8b50d5f5-678f-567c-a506-a264fcdd57bb", + "contentPack": 9999, + "name": "SpellPowerClericDivineSparkDamageNecrotic" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageRadiant.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageRadiant.json new file mode 100644 index 0000000000..d4f3f40cff --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkDamageRadiant.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkDamageRadiantTitle", + "description": "Feature/&PowerClericDivineSparkDamageRadiantDescription", + "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": "3623b4b1-a6f7-5235-be8a-b8cf94f4d2fd", + "contentPack": 9999, + "name": "SpellPowerClericDivineSparkDamageRadiant" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkHeal.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkHeal.json new file mode 100644 index 0000000000..ffc8bf64d5 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSparkHeal.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerClericDivineSparkHealTitle", + "description": "Feature/&PowerClericDivineSparkHealDescription", + "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": "0ef0238f-953e-51d4-a01c-d40b95a5f27a", + "contentPack": 9999, + "name": "SpellPowerClericDivineSparkHeal" +} \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index e75874d46e..a57ca12c31 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -651,7 +651,9 @@ false false false + false false + false false false false From ed182e57e6d55c4ec9bba91ea95061d10e3d76e8 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Tue, 17 Dec 2024 07:25:30 -0800 Subject: [PATCH 38/42] tweak Paladin / Cleric settings --- .../Models/2024ClericContext.cs | 21 +++++- .../Models/2024PaladinContext.cs | 66 +++++++++++++++++- .../Properties/Resources.Designer.cs | 10 +++ .../Properties/Resources.resx | 5 ++ .../Resources/Powers/PowerDivineSpark.png | Bin 0 -> 25018 bytes .../Translations/de/Others-de.txt | 12 ++-- .../Translations/en/Others-en.txt | 12 ++-- .../Translations/es/Others-es.txt | 12 ++-- .../Translations/fr/Others-fr.txt | 12 ++-- .../Translations/it/Others-it.txt | 12 ++-- .../Translations/ja/Others-ja.txt | 12 ++-- .../Translations/ko/Others-ko.txt | 12 ++-- .../Translations/pt-BR/Others-pt-BR.txt | 12 ++-- .../Translations/ru/Others-ru.txt | 12 ++-- .../Translations/zh-CN/Others-zh-CN.txt | 12 ++-- 15 files changed, 177 insertions(+), 45 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerDivineSpark.png diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 5338f87988..e47eccef0f 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -6,13 +6,16 @@ using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; +using SolastaUnfinishedBusiness.Properties; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionSubclassChoices; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionAttributeModifiers; -using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; namespace SolastaUnfinishedBusiness.Models; @@ -71,7 +74,8 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerClericDivineSpark = FeatureDefinitionPowerBuilder .Create("PowerClericDivineSpark") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, + Sprites.GetSprite("PowerFarStep", Resources.PowerDivineSpark, 256, 128)) .SetUsesFixed(ActivationTime.Action, RechargeRate.ChannelDivinity) .AddToDB(); @@ -87,6 +91,7 @@ private static void LoadClericChannelDivinity() .Create("PowerClericDivineSparkHeal") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -94,10 +99,12 @@ private static void LoadClericChannelDivinity() .SetEffectForms( EffectFormBuilder .Create() + .SetBonusMode(AddBonusMode.AbilityBonus) .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) .SetHealingForm( HealingComputation.Dice, 0, DieType.D8, 1, false, HealingCap.MaximumHitPoints) .Build()) + .SetParticleEffectParameters(CureWounds) .Build()) .AddToDB(); @@ -105,6 +112,7 @@ private static void LoadClericChannelDivinity() .Create("PowerClericDivineSparkDamageNecrotic") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -114,10 +122,13 @@ private static void LoadClericChannelDivinity() .SetEffectForms( EffectFormBuilder .Create() + .SetBonusMode(AddBonusMode.AbilityBonus) .HasSavingThrow(EffectSavingThrowType.HalfDamage) .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) .SetDamageForm(DamageTypeNecrotic, 1, DieType.D8) .Build()) + .SetCasterEffectParameters(FalseLife) + .SetImpactEffectParameters(PowerWightLordRetaliate) .Build()) .AddToDB(); @@ -125,6 +136,7 @@ private static void LoadClericChannelDivinity() .Create("PowerClericDivineSparkDamageRadiant") .SetGuiPresentation(Category.Feature) .SetSharedPool(ActivationTime.Action, PowerClericDivineSpark) + .SetExplicitAbilityScore(AttributeDefinitions.Wisdom) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -134,10 +146,13 @@ private static void LoadClericChannelDivinity() .SetEffectForms( EffectFormBuilder .Create() + .SetBonusMode(AddBonusMode.AbilityBonus) .HasSavingThrow(EffectSavingThrowType.HalfDamage) .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) .SetDamageForm(DamageTypeRadiant, 1, DieType.D8) .Build()) + .SetCasterEffectParameters(ShadowArmor) + .SetImpactEffectParameters(PowerDomainBattleDecisiveStrike) .Build()) .AddToDB(); diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 5e5e11a768..675f71d378 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -1,7 +1,10 @@ using System; +using System.Collections; using System.Collections.Generic; using System.Linq; +using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; +using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -61,12 +64,13 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerPaladinRestoringTouch = FeatureDefinitionPowerBuilder .Create("PowerPaladinRestoringTouch") .SetGuiPresentation(Category.Feature) - .SetUsesFixed(ActivationTime.BonusAction, RechargeRate.HealingPool, 5) + .SetUsesFixed(ActivationTime.NoCost, RechargeRate.HealingPool, 5) .SetEffectDescription( EffectDescriptionBuilder .Create() .SetTargetingData(Side.Ally, RangeType.Distance, 12, TargetType.IndividualsUnique) .Build()) + .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) .AddToDB(); private static readonly ConditionDefinition[] RestoringTouchConditions = @@ -80,6 +84,8 @@ internal static partial class Tabletop2024Context private static void LoadPaladinRestoringTouch() { + PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); + var powers = new List(); // ReSharper disable once LoopCanBeConvertedToQuery @@ -92,7 +98,7 @@ private static void LoadPaladinRestoringTouch() var power = FeatureDefinitionPowerSharedPoolBuilder .Create($"PowerPaladinRestoringTouch{condition.Name}") .SetGuiPresentation(title, description) - .SetSharedPool(ActivationTime.BonusAction, PowerPaladinRestoringTouch, 5) + .SetSharedPool(ActivationTime.NoCost, PowerPaladinRestoringTouch, 5) .SetEffectDescription( EffectDescriptionBuilder .Create() @@ -182,6 +188,9 @@ internal static void SwitchPaladinLayOnHand() PowerPaladinLayOnHands.activationTime = Main.Settings.EnablePaladinLayOnHands2024 ? ActivationTime.BonusAction : ActivationTime.Action; + PowerPaladinNeutralizePoison.activationTime = Main.Settings.EnablePaladinLayOnHands2024 + ? ActivationTime.BonusAction + : ActivationTime.Action; } internal static void SwitchPaladinRestoringTouch() @@ -220,4 +229,57 @@ public EffectDescription GetEffectDescription( return effectDescription; } } + + private sealed class PowerOrSpellFinishedByMeRestoringTouch : IPowerOrSpellFinishedByMe + { + public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + if (!Main.Settings.EnablePaladinRestoringTouch2024) + { + yield break; + } + + var caster = action.ActingCharacter; + var rulesetCaster = caster.RulesetCharacter; + var target = action.ActionParams.TargetCharacters[0]; + var rulesetTarget = target.RulesetCharacter; + var usablePowerPool = PowerProvider.Get(PowerPaladinRestoringTouch, rulesetCaster); + + while (rulesetCaster.GetRemainingUsesOfPower(usablePowerPool) > 0) + { + var usablePowers = new List(); + + foreach (var condition in RestoringTouchConditions) + { + if (!rulesetTarget.HasConditionOfTypeOrSubType(condition.Name)) + { + continue; + } + + var power = GetDefinition( + $"PowerPaladinRestoringTouch{condition.Name}"); + var usablePower = PowerProvider.Get(power, rulesetCaster); + + usablePowers.Add(usablePower); + rulesetCaster.UsablePowers.Add(usablePower); + } + + if (usablePowers.Count == 0) + { + yield break; + } + + yield return caster.MyReactToSpendPowerBundle( + usablePowerPool, + [target], + caster, + "RestoringTouch"); + + foreach (var usablePower in usablePowers) + { + rulesetCaster.UsablePowers.Remove(usablePower); + } + } + } + } } diff --git a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs index ebfdf865eb..d76743755b 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs +++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs @@ -3212,6 +3212,16 @@ public static byte[] PowerDefileLife { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerDivineSpark { + get { + object obj = ResourceManager.GetObject("PowerDivineSpark", 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 e6e38ba814..03b938e407 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.resx +++ b/SolastaUnfinishedBusiness/Properties/Resources.resx @@ -177,6 +177,11 @@ PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerDivineSpark.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerHolyWeapon.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerDivineSpark.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerDivineSpark.png new file mode 100644 index 0000000000000000000000000000000000000000..971cd26403a0f912ab3585289ef3e6384ae26aa4 GIT binary patch literal 25018 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 VBXU1?ltBOh002ovPDHLkV1nN^YOw$S literal 0 HcmV?d00001 diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 38e881e35c..cabd45453e 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Dein Schlag hinterl Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Trennender Schlag Feature/&PowerBarbarianBrutalStrikeTitle=Brutaler Schlag Feature/&PowerBardCountercharmExtendedDescription=Sie können Musiknoten oder Machtwörter verwenden, um gedankenbeeinflussende Effekte zu unterbrechen. Wenn Sie oder eine Kreatur in einem Umkreis von 30 Fuß einen Rettungswurf gegen einen Effekt, der den Zustand „Bezaubert“ oder „Verängstigt“ auslöst, nicht schaffen, können Sie eine Reaktion ausführen, um den Rettungswurf zu wiederholen, und der neue Wurf hat einen Vorteil. -Feature/&PowerClericDivineSparkDamageNecroticDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Nekrotik in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Nekrotik in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. Sie würfeln einen zusätzlichen W8, wenn Sie Klerikerstufe 7 (2W8), 13 (3W8) und 18 (4W8) erreichen. Feature/&PowerClericDivineSparkDamageNecroticTitle=Göttlicher Funke: Nekrotisch -Feature/&PowerClericDivineSparkDamageRadiantDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Radiant in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. +Feature/&PowerClericDivineSparkDamageRadiantDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Zwingen Sie die Kreatur zu einem Konstitutionsrettungswurf. Bei einem misslungenen Rettungswurf erleidet die Kreatur Radiant in Höhe dieses Gesamtwerts. Bei einem erfolgreichen Rettungswurf erleidet die Kreatur nur halb so viel Schaden. Sie würfeln einen zusätzlichen W8, wenn Sie Klerikerstufe 7 (2W8), 13 (3W8) und 18 (4W8) erreichen. Feature/&PowerClericDivineSparkDamageRadiantTitle=Göttlicher Funke: Strahlend -Feature/&PowerClericDivineSparkDescription=Kanalisieren Sie Göttlichkeit, um Kreaturen im Umkreis von 6 Zellen, die Sie sehen können, zu heilen oder ihnen nekrotischen oder strahlenden Schaden zuzufügen, es sei denn, ihnen gelingt ein erfolgreicher Rettungswurf für Konstitution. -Feature/&PowerClericDivineSparkHealDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Stellen Sie die Trefferpunkte der Kreatur in Höhe dieser Summe wieder her. +Feature/&PowerClericDivineSparkDescription=Kanalisieren Sie Göttlichkeit, um Kreaturen innerhalb von 6 Zellen zu heilen oder ihnen nekrotischen oder strahlenden Schaden zuzufügen, es sei denn, ihnen gelingt ein erfolgreicher Rettungswurf für Konstitution. +Feature/&PowerClericDivineSparkHealDescription=Als magische Aktion würfeln Sie 1W8 und addieren Ihren Weisheitsmodifikator. Stellen Sie die Trefferpunkte der Kreatur in Höhe dieser Summe wieder her. Sie würfeln einen zusätzlichen W8, wenn Sie Klerikerstufe 7 (2W8), 13 (3W8) und 18 (4W8) erreichen. Feature/&PowerClericDivineSparkHealTitle=Göttlicher Funke: Heilen Feature/&PowerClericDivineSparkTitle=Göttlicher Funke Feature/&PowerHelpDescription=Sie können einer befreundeten Kreatur dabei helfen, eine Kreatur innerhalb von 1,5 m von Ihnen anzugreifen. Sie täuschen vor, lenken das Ziel ab oder schließen sich auf andere Weise zusammen, um den Angriff Ihres Verbündeten effektiver zu machen. Wenn Ihr Verbündeter das Ziel vor Ihrem nächsten Zug angreift, wird der erste Angriffswurf mit Vorteil ausgeführt. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Sie können Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Sie können auf Sneak-Attack-Würfel verzichten, um einen zusätzlichen Effekt anzuwenden. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Listiger Schlag Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Listiger Schlag +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Sie können 5 Punkte aus Ihrem Heilungspool ausgeben, um einen schädlichen Zustand zu beseitigen. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Beseitigen Sie einen schädlichen Zustand. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Berührung wiederherstellen +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Berührung wiederherstellen Reaction/&ReactionSpendPowerBundleTitle=Macht ausgeben Reaction/&ReadiedAction{0}Description=Bereit {0} Reaction/&ReadiedAction{0}Title=Bereit {0} diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 2476f1bd5e..2baf5ec9d2 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Your blow leaves an Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Sundering Blow Feature/&PowerBarbarianBrutalStrikeTitle=Brutal Strike Feature/&PowerBardCountercharmExtendedDescription=You can use musical notes or words of power to disrupt mind-influencing effects. If you or a creature within 30 feet of you fails a saving throw against an effect that applies the Charmed or Frightened condition, you can take a Reaction to cause the save to be rerolled, and the new roll has Advantage. -Feature/&PowerClericDivineSparkDamageNecroticDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Necrotic equal to that total. On a successful save, the creature takes half as much damage. +Feature/&PowerClericDivineSparkDamageNecroticDescription=As an action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Necrotic equal to that total. On a successful save, the creature takes half as much damage. You roll an additional d8 when you reach Cleric levels 7 (2d8), 13 (3d8), and 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Divine Spark: Necrotic -Feature/&PowerClericDivineSparkDamageRadiantDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Radiant equal to that total. On a successful save, the creature takes half as much damage. +Feature/&PowerClericDivineSparkDamageRadiantDescription=As an action, roll 1d8 and add your Wisdom modifier. Force the creature to make a Constitution saving throw. On a failed save, the creature takes Radiant equal to that total. On a successful save, the creature takes half as much damage. You roll an additional d8 when you reach Cleric levels 7 (2d8), 13 (3d8), and 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Divine Spark: Radiant -Feature/&PowerClericDivineSparkDescription=Channel Divinity to heal or deal Necrotic or Radiant damage to creatures within 6 cells who can see you, unless they make a successful Constitution saving throw. -Feature/&PowerClericDivineSparkHealDescription=As a Magic action, roll 1d8 and add your Wisdom modifier. Restore Hit Points to the creature equal to that total. +Feature/&PowerClericDivineSparkDescription=Channel Divinity to heal or deal Necrotic or Radiant damage to creatures within 6 cells, unless they make a successful Constitution saving throw. +Feature/&PowerClericDivineSparkHealDescription=As an action, roll 1d8 and add your Wisdom modifier. Restore Hit Points to the creature equal to that total. You roll an additional d8 when you reach Cleric levels 7 (2d8), 13 (3d8), and 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Divine Spark: Heal Feature/&PowerClericDivineSparkTitle=Divine Spark Feature/&PowerHelpDescription=You can aid a friendly creature in attacking a creature within 5 ft of you. You feint, distract the target, or in some other way team up to make your ally's attack more effective. If your ally attacks the target before your next turn, the first attack roll is made with advantage. @@ -361,6 +361,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=You can for Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=You can forgo Sneak Attack dice to apply an additional effect. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Cunning Strike Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Cunning Strike +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=You can spend 5 points from your healing pool to remove a detrimental condition. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remove a detrimental condition. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restoring Touch +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restoring Touch Reaction/&ReactionSpendPowerBundleTitle=Spend Power Reaction/&ReadiedAction{0}Description=Readied {0} Reaction/&ReadiedAction{0}Title=Readied {0} diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index 6f8cdeaa87..e032fe6ef6 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Tu golpe deja una ab Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe desgarrador Feature/&PowerBarbarianBrutalStrikeTitle=Golpe brutal Feature/&PowerBardCountercharmExtendedDescription=Puedes usar notas musicales o palabras de poder para interrumpir los efectos que influyen en la mente. Si tú o una criatura a 30 pies de ti falla una tirada de salvación contra un efecto que aplica la condición de Encantado o Asustado, puedes realizar una Reacción para hacer que se repita la tirada de salvación y la nueva tirada tenga Ventaja. -Feature/&PowerClericDivineSparkDamageNecroticDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura sufre una cantidad de daño necrótico igual a ese total. Si tiene éxito, la criatura sufre la mitad del daño. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Como acción mágica, tira 1d8 y añade tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura sufre una cantidad de daño necrótico igual a ese total. Si tiene éxito, la criatura sufre la mitad del daño. Tiras 1d8 adicionales cuando alcanzas los niveles de clérigo 7 (2d8), 13 (3d8) y 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Chispa divina: necrótica -Feature/&PowerClericDivineSparkDamageRadiantDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura recibe Radiante igual a ese total. Si tiene éxito, la criatura recibe la mitad del daño. +Feature/&PowerClericDivineSparkDamageRadiantDescription=Como acción mágica, tira 1d8 y añade tu modificador de Sabiduría. Obliga a la criatura a realizar una tirada de salvación de Constitución. Si falla, la criatura recibe Radiante igual a ese total. Si tiene éxito, la criatura recibe la mitad del daño. Tiras 1d8 adicional cuando alcanzas los niveles de clérigo 7 (2d8), 13 (3d8) y 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Chispa Divina: Radiante -Feature/&PowerClericDivineSparkDescription=Canaliza Divinidad para curar o infligir daño necrótico o radiante a criaturas dentro de 6 casillas que puedan verte, a menos que realicen una tirada de salvación de Constitución con éxito. -Feature/&PowerClericDivineSparkHealDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Restaura puntos de golpe a la criatura en una cantidad igual a ese total. +Feature/&PowerClericDivineSparkDescription=Canaliza Divinidad para curar o infligir daño necrótico o radiante a criaturas dentro de 6 casillas, a menos que superen una tirada de salvación de Constitución. +Feature/&PowerClericDivineSparkHealDescription=Como acción mágica, tira 1d8 y suma tu modificador de Sabiduría. Restaura puntos de golpe a la criatura en una cantidad igual a ese total. Tiras 1d8 adicional cuando alcanzas los niveles de clérigo 7 (2d8), 13 (3d8) y 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Chispa divina: sanar Feature/&PowerClericDivineSparkTitle=Chispa divina Feature/&PowerHelpDescription=Puedes ayudar a una criatura amiga a atacar a una criatura que se encuentre a 5 pies de ti. Fintas, distraes al objetivo o de alguna otra forma te unes para hacer que el ataque de tu aliado sea más efectivo. Si tu aliado ataca al objetivo antes de tu siguiente turno, la primera tirada de ataque se realiza con ventaja. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puedes renu Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puedes renunciar a los dados de Ataque Furtivo para aplicar un efecto adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Golpe astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Golpe astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puedes gastar 5 puntos de tu reserva de curación para eliminar una condición perjudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminar una condición perjudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando el tacto +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando el tacto Reaction/&ReactionSpendPowerBundleTitle=Poder de gasto Reaction/&ReadiedAction{0}Description=Listo {0} Reaction/&ReadiedAction{0}Title=Listo {0} diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index afdd61ce64..5b9bce468e 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Votre coup laisse un Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Coup destructeur Feature/&PowerBarbarianBrutalStrikeTitle=Grève brutale Feature/&PowerBardCountercharmExtendedDescription=Vous pouvez utiliser des notes de musique ou des mots de pouvoir pour perturber les effets d'influence mentale. Si vous ou une créature à 9 mètres de vous ratez un jet de sauvegarde contre un effet qui applique la condition Charmé ou Effrayé, vous pouvez effectuer une Réaction pour que le jet de sauvegarde soit relancé, et le nouveau jet a l'Avantage. -Feature/&PowerClericDivineSparkDamageNecroticDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts nécrotiques égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. +Feature/&PowerClericDivineSparkDamageNecroticDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts Nécrotiques égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. Vous lancez un d8 supplémentaire lorsque vous atteignez les niveaux de Prêtre 7 (2d8), 13 (3d8) et 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Étincelle divine : Nécrotique -Feature/&PowerClericDivineSparkDamageRadiantDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts radieux égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. +Feature/&PowerClericDivineSparkDamageRadiantDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Forcez la créature à effectuer un jet de sauvegarde de Constitution. En cas d'échec, la créature subit un total de dégâts de Radiance égal à ce total. En cas de réussite, la créature subit la moitié de ces dégâts. Vous lancez un d8 supplémentaire lorsque vous atteignez les niveaux de Clerc 7 (2d8), 13 (3d8) et 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Étincelle divine : rayonnante -Feature/&PowerClericDivineSparkDescription=Canalisez la Divinité pour soigner ou infliger des dégâts Nécrotiques ou Radieux aux créatures dans un rayon de 6 cases qui peuvent vous voir, à moins qu'elles ne réussissent un jet de sauvegarde de Constitution. -Feature/&PowerClericDivineSparkHealDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Restaurez un nombre de points de vie égal à ce total. +Feature/&PowerClericDivineSparkDescription=Canalisez la Divinité pour soigner ou infliger des dégâts Nécrotiques ou Radieux aux créatures dans un rayon de 6 cases, à moins qu'elles ne réussissent un jet de sauvegarde de Constitution. +Feature/&PowerClericDivineSparkHealDescription=En tant qu'action magique, lancez 1d8 et ajoutez votre modificateur de Sagesse. Restaurez un nombre de points de vie égal à ce total. Vous lancez un d8 supplémentaire lorsque vous atteignez les niveaux de clerc 7 (2d8), 13 (3d8) et 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Étincelle divine : Guérison Feature/&PowerClericDivineSparkTitle=Étincelle divine Feature/&PowerHelpDescription=Vous pouvez aider une créature alliée à attaquer une créature située à 1,50 m de vous. Vous feignez, distrayez la cible ou faites équipe d'une autre manière pour rendre l'attaque de votre allié plus efficace. Si votre allié attaque la cible avant votre prochain tour, le premier jet d'attaque est effectué avec avantage. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Vous pouvez Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Vous pouvez renoncer aux dés d'Attaque sournoise pour appliquer un effet supplémentaire. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Frappe rusée Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Frappe rusée +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Vous pouvez dépenser 5 points de votre réserve de soins pour supprimer une condition néfaste. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Supprimer une condition préjudiciable. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurer le toucher +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurer le toucher Reaction/&ReactionSpendPowerBundleTitle=Dépenser de l'énergie Reaction/&ReadiedAction{0}Description=Prêt {0} Reaction/&ReadiedAction{0}Title=Prêt {0} diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 7327b368a4..0dfc7064e1 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Il tuo colpo lascia Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Colpo dirompente Feature/&PowerBarbarianBrutalStrikeTitle=Colpo brutale Feature/&PowerBardCountercharmExtendedDescription=Puoi usare note musicali o parole di potere per interrompere gli effetti che influenzano la mente. Se tu o una creatura entro 30 piedi da te fallite un tiro salvezza contro un effetto che applica la condizione Charmed o Frightened, puoi usare una Reazione per far sì che il tiro salvezza venga ripetuto e il nuovo tiro ha Vantaggio. -Feature/&PowerClericDivineSparkDamageNecroticDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Necrotico pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Necrotico pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. Tiri un d8 aggiuntivo quando raggiungi i livelli di Chierico 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Scintilla divina: necrotica -Feature/&PowerClericDivineSparkDamageRadiantDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Radiant pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. +Feature/&PowerClericDivineSparkDamageRadiantDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Costringi la creatura a effettuare un tiro salvezza su Costituzione. Se fallisce il tiro salvezza, la creatura subisce Radiant pari a quel totale. Se riesce il tiro salvezza, la creatura subisce metà dei danni. Tiri un d8 aggiuntivo quando raggiungi i livelli di Chierico 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Scintilla divina: radiosa -Feature/&PowerClericDivineSparkDescription=Incanala la Divinità per curare o infliggere danni Necrotici o Radianti alle creature entro 6 caselle che possono vederti, a meno che non superino un tiro salvezza su Costituzione. -Feature/&PowerClericDivineSparkHealDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Ripristina Punti Ferita alla creatura pari a quel totale. +Feature/&PowerClericDivineSparkDescription=Incanala la Divinità per curare o infliggere danni Necrotici o Radianti alle creature entro 6 caselle, a meno che non superino un tiro salvezza su Costituzione. +Feature/&PowerClericDivineSparkHealDescription=Come azione di Magia, tira 1d8 e aggiungi il tuo modificatore di Saggezza. Ripristina Punti Ferita alla creatura pari a quel totale. Tiri un d8 aggiuntivo quando raggiungi i livelli Chierico 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Scintilla divina: guarisci Feature/&PowerClericDivineSparkTitle=Scintilla divina Feature/&PowerHelpDescription=Puoi aiutare una creatura amica ad attaccare una creatura entro 5 piedi da te. Fingi, distrai il bersaglio o fai squadra in qualche altro modo per rendere più efficace l'attacco del tuo alleato. Se il tuo alleato attacca il bersaglio prima del tuo turno successivo, il primo tiro di attacco viene effettuato con vantaggio. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Puoi rinunc Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Puoi rinunciare ai dadi Attacco furtivo per applicare un effetto aggiuntivo. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Colpo astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Colpo astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Puoi spendere 5 punti dalla tua riserva di guarigione per rimuovere una condizione dannosa. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Eliminare una condizione dannosa. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Ripristino del tocco +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Ripristino del tocco Reaction/&ReactionSpendPowerBundleTitle=Spendi potere Reaction/&ReadiedAction{0}Description=Preparato {0} Reaction/&ReadiedAction{0}Title=Preparato {0} diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index 1710781135..f10e3fc20e 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=あなたの打撃 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=サンダーブロウ Feature/&PowerBarbarianBrutalStrikeTitle=ブルータル・ストライク Feature/&PowerBardCountercharmExtendedDescription=音符や力の言葉を使って、精神に影響を与える効果を妨害することができます。あなたまたはあなたの 30 フィート以内のクリーチャーが魅了状態または恐怖状態を適用する効果に対するセーヴィング スローに失敗した場合、反応を行ってセーヴィングを再ロールすることができ、新しいロールにはアドバンテージが与えられます。 -Feature/&PowerClericDivineSparkDamageNecroticDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。クリーチャーに耐久力セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい壊死状態になります。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。 +Feature/&PowerClericDivineSparkDamageNecroticDescription=魔法アクションとして、1d8 をロールし、あなたの [知恵] 修正値を加えます。クリーチャーに [耐久力] セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい [壊死] 効果を受けます。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。クレリック レベル 7 (2d8)、13 (3d8)、18 (4d8) に達したときに、追加の d8 をロールします。 Feature/&PowerClericDivineSparkDamageNecroticTitle=神の輝き:壊死 -Feature/&PowerClericDivineSparkDamageRadiantDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。クリーチャーに耐久力セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい光輝を得ます。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。 +Feature/&PowerClericDivineSparkDamageRadiantDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。クリーチャーに耐久力セーヴィング スローを強制します。セーヴィングに失敗すると、クリーチャーはその合計値に等しい光輝を得ます。セーヴィングに成功すると、クリーチャーは半分のダメージを受けます。クレリック レベル 7 (2d8)、13 (3d8)、および 18 (4d8) に達すると、追加の d8 をロールします。 Feature/&PowerClericDivineSparkDamageRadiantTitle=神の輝き:光り輝く -Feature/&PowerClericDivineSparkDescription=神性を発動して、6 セル以内にいる、あなたを見ることができるクリーチャーに、体質セーヴィング スローに成功しない限り、治癒するか、壊死性または光輝性のダメージを与えます。 -Feature/&PowerClericDivineSparkHealDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。その合計値に等しいヒット ポイントをクリーチャーに回復します。 +Feature/&PowerClericDivineSparkDescription=神性を発動して、6 セル内のクリーチャーが耐久力セーヴィング スローに成功しない限り、クリーチャーを治癒するか、壊死性または光輝性のダメージを与えます。 +Feature/&PowerClericDivineSparkHealDescription=魔法アクションとして、1d8 をロールし、あなたの知恵修正値を加えます。その合計に等しいヒット ポイントをクリーチャーに回復します。クレリック レベル 7 (2d8)、13 (3d8)、および 18 (4d8) に達したときに、追加の d8 をロールします。 Feature/&PowerClericDivineSparkHealTitle=神の輝き:治癒 Feature/&PowerClericDivineSparkTitle=神の火花 Feature/&PowerHelpDescription=味方のクリーチャーが自分から 5 フィート以内のクリーチャーを攻撃するのを助けることができます。フェイントをかけたり、ターゲットの気をそらしたり、その他の方法でチームを組んで味方の攻撃をより効果的にします。次のターンの前に味方がターゲットを攻撃した場合、最初の攻撃ロールは有利に行われます。 @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=追加の Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=追加の効果を適用するために、急襲のダイスを無視することができます。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡猾な攻撃 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡猾な攻撃 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=回復プールから 5 ポイントを消費して、有害な状態を解除できます。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=有害な状態を除去します。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=タッチの回復 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=タッチの回復 Reaction/&ReactionSpendPowerBundleTitle=電力を費やす Reaction/&ReadiedAction{0}Description=準備完了 {0} Reaction/&ReadiedAction{0}Title=準備完了 {0} diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index bb198edba7..353c6299e4 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=당신의 타격은 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=가르는 일격 Feature/&PowerBarbarianBrutalStrikeTitle=잔인한 일격 Feature/&PowerBardCountercharmExtendedDescription=음악적 음표나 힘의 말을 사용하여 정신에 영향을 미치는 효과를 방해할 수 있습니다. 당신이나 30피트 이내의 생물이 Charmed 또는 Frightened 조건을 적용하는 효과에 대한 세이빙 스로우에 실패하면, 당신은 반응을 취하여 세이브를 다시 굴릴 수 있으며, 새로운 굴림에는 이점이 있습니다. -Feature/&PowerClericDivineSparkDamageNecroticDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물이 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 괴사 피해를 입습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. +Feature/&PowerClericDivineSparkDamageNecroticDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물에게 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 괴사 피해를 입습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. 성직자 레벨 7(2d8), 13(3d8), 18(4d8)에 도달하면 추가로 d8을 굴립니다. Feature/&PowerClericDivineSparkDamageNecroticTitle=신성한 불꽃: 괴사 -Feature/&PowerClericDivineSparkDamageRadiantDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물이 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 Radiant를 받습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. +Feature/&PowerClericDivineSparkDamageRadiantDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 생물에게 체질 구원 굴림을 하도록 강요합니다. 구원에 실패하면 생물은 그 합계와 같은 Radiant를 받습니다. 구원에 성공하면 생물은 절반의 피해를 입습니다. 성직자 레벨 7(2d8), 13(3d8), 18(4d8)에 도달하면 추가로 d8을 굴립니다. Feature/&PowerClericDivineSparkDamageRadiantTitle=신성한 불꽃: 빛나다 -Feature/&PowerClericDivineSparkDescription=신성 주문을 사용해 6셀 이내의 당신을 볼 수 있는 생명체에게 치유나 괴사 또는 광휘 피해를 입힙니다. 단, 해당 생명체가 체력 구원 굴림에 성공하지 못하면 그렇습니다. -Feature/&PowerClericDivineSparkHealDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 더합니다. 그 총합과 같은 체력 포인트를 생물에게 회복합니다. +Feature/&PowerClericDivineSparkDescription=신성 주문을 사용해 6셀 이내의 생명체에게 치유나 괴사 또는 광휘 피해를 입힙니다. 단, 생명체가 체력 구원 굴림에 성공하지 못하면 예외입니다. +Feature/&PowerClericDivineSparkHealDescription=마법 행동으로 1d8을 굴리고 지혜 수정치를 추가합니다. 그 총합과 같은 체력 포인트를 생물에게 회복합니다. 성직자 레벨 7(2d8), 13(3d8), 18(4d8)에 도달하면 추가로 d8을 굴립니다. Feature/&PowerClericDivineSparkHealTitle=신성한 불꽃: 치유 Feature/&PowerClericDivineSparkTitle=신성한 불꽃 Feature/&PowerHelpDescription=당신은 당신으로부터 5피트 내의 생물을 공격하는 아군 생물을 도울 수 있습니다. 당신은 가장하거나, 대상의 주의를 분산시키거나, 다른 방식으로 협력하여 아군의 공격을 더욱 효과적으로 만듭니다. 당신의 다음 턴 전에 당신의 동료가 목표물을 공격한다면, 첫 번째 공격 굴림이 유리하게 이루어집니다. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=추가 효 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=추가 효과를 적용하기 위해 몰래 공격 주사위를 사용할 수 있습니다. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=교활한 일격 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=교활한 일격 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=치유 풀에서 5포인트를 사용하여 해로운 상태를 제거할 수 있습니다. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=유해한 조건을 제거합니다. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=터치를 회복하다 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=터치를 회복하다 Reaction/&ReactionSpendPowerBundleTitle=소비 전력 Reaction/&ReadiedAction{0}Description=준비됨 {0} Reaction/&ReadiedAction{0}Title=준비됨 {0} diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index 4b01002ec4..ac03559cb3 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Seu golpe deixa uma Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Golpe de separação Feature/&PowerBarbarianBrutalStrikeTitle=Ataque Brutal Feature/&PowerBardCountercharmExtendedDescription=Você pode usar notas musicais ou palavras de poder para interromper efeitos de influência mental. Se você ou uma criatura a até 30 pés de você falhar em um teste de resistência contra um efeito que aplique a condição Encantado ou Amedrontado, você pode usar uma Reação para fazer com que o teste seja refeito, e o novo teste tem Vantagem. -Feature/&PowerClericDivineSparkDamageNecroticDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Necrótico igual ao total. Em uma falha, a criatura recebe metade do dano. +Feature/&PowerClericDivineSparkDamageNecroticDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Necrótico igual a esse total. Em uma sucesso, a criatura recebe metade do dano. Você rola um d8 adicional quando alcança os níveis de Clérigo 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Centelha Divina: Necrótica -Feature/&PowerClericDivineSparkDamageRadiantDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Radiante igual a esse total. Em uma falha, a criatura recebe metade do dano. +Feature/&PowerClericDivineSparkDamageRadiantDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Force a criatura a fazer um teste de resistência de Constituição. Em uma falha, a criatura recebe Radiante igual a esse total. Em uma sucesso, a criatura recebe metade do dano. Você rola um d8 adicional quando alcança os níveis de Clérigo 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Centelha Divina: Radiante -Feature/&PowerClericDivineSparkDescription=Canalize Divindade para curar ou causar dano Necrótico ou Radiante a criaturas dentro de 6 células que possam ver você, a menos que elas façam um teste de resistência de Constituição bem-sucedido. -Feature/&PowerClericDivineSparkHealDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Restaure Pontos de Vida da criatura igual ao total. +Feature/&PowerClericDivineSparkDescription=Canalize Divindade para curar ou causar dano Necrótico ou Radiante a criaturas dentro de 6 células, a menos que elas sejam bem-sucedidas em um teste de resistência de Constituição. +Feature/&PowerClericDivineSparkHealDescription=Como uma ação de Magia, role 1d8 e adicione seu modificador de Sabedoria. Restaure Pontos de Vida para a criatura igual a esse total. Você rola um d8 adicional quando alcança os níveis de Clérigo 7 (2d8), 13 (3d8) e 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Centelha Divina: Cura Feature/&PowerClericDivineSparkTitle=Centelha Divina Feature/&PowerHelpDescription=Você pode ajudar uma criatura aliada a atacar uma criatura a até 5 pés de você. Você finge, distrai o alvo ou de alguma outra forma se junta para tornar o ataque do seu aliado mais efetivo. Se seu aliado atacar o alvo antes do seu próximo turno, a primeira jogada de ataque é feita com vantagem. @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Você pode Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Você pode abrir mão dos dados de Ataque Furtivo para aplicar um efeito adicional. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Ataque astuto Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Ataque astuto +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Você pode gastar 5 pontos do seu estoque de cura para remover uma condição prejudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Remova uma condição prejudicial. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Restaurando o toque +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Restaurando o toque Reaction/&ReactionSpendPowerBundleTitle=Gastar energia Reaction/&ReadiedAction{0}Description=Preparado {0} Reaction/&ReadiedAction{0}Title=Preparado {0} diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index 042a805672..dcdc699427 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Ваш удар ос Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Раскалывающий удар Feature/&PowerBarbarianBrutalStrikeTitle=Жестокий удар Feature/&PowerBardCountercharmExtendedDescription=Вы получаете возможность использовать звуки или слова силы для разрушения воздействующих на разум эффектов. Если вы или существо в пределах 30 футов от вас проваливает спасбросок от эффекта, который накладывает состояния Очарованный или Испуганный, вы можете реакцией заставить повторить спасбросок, при этом новый бросок будет совершаться с преимуществом. -Feature/&PowerClericDivineSparkDamageNecroticDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Некротический урон, равный этому значению. При успешном спасброске существо получает половину урона. +Feature/&PowerClericDivineSparkDamageNecroticDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Некротический урон, равный этому значению. При успешном спасброске существо получает половину урона. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). Feature/&PowerClericDivineSparkDamageNecroticTitle=Божественная Искра: Некротическая -Feature/&PowerClericDivineSparkDamageRadiantDescription=В качестве действия Магии бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок Телосложения. При провале спасброска существо получает Radiant, равный этому значению. При успешном спасброске существо получает половину урона. +Feature/&PowerClericDivineSparkDamageRadiantDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Radiant, равный этому значению. При успешном спасброске существо получает половину урона. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). Feature/&PowerClericDivineSparkDamageRadiantTitle=Божественная Искра: Сияющая -Feature/&PowerClericDivineSparkDescription=Используйте Божественность, чтобы исцелить или нанести урон Некротической силой или Лучезарным уроном существам в радиусе 6 клеток, которые могут вас видеть, если только они не совершат успешный спасбросок Телосложения. -Feature/&PowerClericDivineSparkHealDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Восстановите очки здоровья существа, равные этому общему количеству. +Feature/&PowerClericDivineSparkDescription=Используйте Божественность, чтобы исцелить или нанести Некротический или Лучистый урон существам в радиусе 6 клеток, если только они не совершат успешный спасбросок Телосложения. +Feature/&PowerClericDivineSparkHealDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Восстановите очки здоровья существа, равные этому общему количеству. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). Feature/&PowerClericDivineSparkHealTitle=Божественная Искра: Исцеление Feature/&PowerClericDivineSparkTitle=Божественная Искра Feature/&PowerHelpDescription=Вы можете помочь дружественному существу атаковать другое существо, находящееся в пределах 5 футов от вас. Вы совершаете финт, отвлекаете цель или каким-то другим образом делаете атаку союзника более эффективной. Если ваш союзник атакует цель до начала вашего следующего хода, первый бросок атаки совершается с преимуществом. @@ -361,6 +361,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Вы мож Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Вы можете отказаться от костей Скрытой атаки, чтобы применить дополнительный эффект. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Хитрый удар Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Хитрый удар +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Вы можете потратить 5 очков из своего пула исцеления, чтобы устранить пагубное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Устранить неблагоприятное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Восстановление осязания +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Восстановление осязания Reaction/&ReactionSpendPowerBundleTitle=Использовать силу Reaction/&ReadiedAction{0}Description=Подготовлен {0} Reaction/&ReadiedAction{0}Title=Подготовлен {0} diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index d9c3914396..cb6b6b9663 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -220,12 +220,12 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=你的打击会在 Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=粉碎殴击 Feature/&PowerBarbarianBrutalStrikeTitle=凶蛮打击 Feature/&PowerBardCountercharmExtendedDescription=你可以使用音符或充满力量的词语来破坏影响心灵的效果。如果你或你 30 英尺范围内的生物未能通过豁免检定来对抗施加魅惑或恐惧状态的效果,你可以做出反应来重新进行豁免检定,并且新的检定结果具有优势。 -Feature/&PowerClericDivineSparkDamageNecroticDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的坏死伤害。如果豁免成功,生物将受到一半的伤害。 +Feature/&PowerClericDivineSparkDamageNecroticDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的坏死伤害。如果豁免成功,生物将受到一半的伤害。当你达到牧师等级 7(2d8)、13(3d8)和 18(4d8)时,你将额外掷一个 d8。 Feature/&PowerClericDivineSparkDamageNecroticTitle=神圣火花:坏死 -Feature/&PowerClericDivineSparkDamageRadiantDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的光辉。如果豁免成功,生物将受到一半的伤害。 +Feature/&PowerClericDivineSparkDamageRadiantDescription=作为魔法动作,掷 1d8 并添加你的智慧调整值。强制生物进行体质豁免检定。如果豁免失败,生物将受到等于该总数的光辉。如果豁免成功,生物将受到一半的伤害。当你达到牧师等级 7(2d8)、13(3d8)和 18(4d8)时,你将额外掷一个 d8。 Feature/&PowerClericDivineSparkDamageRadiantTitle=神圣火花:光芒四射 -Feature/&PowerClericDivineSparkDescription=引导神力来治愈或对 6 个单元格内能够看见您的生物造成坏死性或辐射性伤害,除非他们成功进行了体质豁免检定。 -Feature/&PowerClericDivineSparkHealDescription=作为魔法动作,掷 1d8 并添加你的智慧修正值。为该生物恢复等于该总数的生命值。 +Feature/&PowerClericDivineSparkDescription=引导神力来治疗或对 6 个细胞内的生物造成坏死性或辐射性伤害,除非他们成功进行了体质豁免检定。 +Feature/&PowerClericDivineSparkHealDescription=作为魔法动作,掷 1d8 并添加你的智慧修正值。恢复生物的生命值等于该总数。当你达到牧师等级 7(2d8)、13(3d8)和 18(4d8)时,你再掷一个 d8。 Feature/&PowerClericDivineSparkHealTitle=神圣火花:治愈 Feature/&PowerClericDivineSparkTitle=神圣火花 Feature/&PowerHelpDescription=你可以帮助友方生物攻击距离你 5 尺以内的生物。你佯攻、分散目标的注意力,或以其他方式联合起来使你的盟友的攻击更有效。如果你的盟友在你的下一轮之前攻击目标,则第一次攻击检定具有优势。 @@ -362,6 +362,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=你可以 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=你可以放弃偷袭骰来应用额外效果。 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=狡诈打击 Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=狡诈打击 +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=您可以从治疗池中花费 5 点来消除有害状况。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=消除有害状况。 +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=恢复触觉 +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=恢复触觉 Reaction/&ReactionSpendPowerBundleTitle=花费力量 Reaction/&ReadiedAction{0}Description=准备好 {0} Reaction/&ReadiedAction{0}Title=准备好 {0} From 767bdf210cf4591c0e2972964f5e255a6efad614 Mon Sep 17 00:00:00 2001 From: Dovel Date: Tue, 17 Dec 2024 19:16:47 +0300 Subject: [PATCH 39/42] update russian translation --- .../Translations/ru/Items-ru.txt | 2 +- .../Translations/ru/Others-ru.txt | 94 +++++++++---------- .../Translations/ru/Settings-ru.txt | 48 +++++----- .../ru-Unofficial/Feature-ru-Unofficial.txt | 14 +-- .../ru-Unofficial/Feedback-ru-Unofficial.txt | 4 +- .../ru-Unofficial/Modal-ru-Unofficial.txt | 2 +- 6 files changed, 82 insertions(+), 82 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt index 16bc8f0f88..b0924a32c8 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Items-ru.txt @@ -361,7 +361,7 @@ Item/&Katana+1UnidentifiedTitle=Качественная катана Item/&Katana+2Title=Катана +2 Item/&Katana+2UnidentifiedTitle=Великолепная катана Item/&Katana+3Title=Катана +3 -Item/&Katana+3UnidentifiedTitle=Превосходная Катана +Item/&Katana+3UnidentifiedTitle=Превосходная катана Item/&KatanaPrimedTitle=Подготовленная катана Item/&KatanaTitle=Катана Item/&KatanaTypeTitle=Катана diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index dcdc699427..63a1d1379e 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -100,10 +100,10 @@ Feature/&AttributeModifierMonkAbundantKiTitle=Обильная Ци Feature/&AutoPreparedSpellsBardWordOfCreationDescription=Вы освоили два Слова Творения: слова жизни и смерти. Поэтому у вас всегда подготовлены заклинания Слово силы: Исцеление и Слово силы: Смерть. Когда вы накладываете любое из этих заклинаний, вы можете нацелить его на второе существо, если оно находится в пределах 10 футов от первой цели. Feature/&AutoPreparedSpellsBardWordOfCreationTitle=Слова творения Feature/&BardExpertiseExtendedDescription=Выберите 2 навыка из тех, которыми вы владеете. Ваш бонус мастерства для этих навыков удваивается. -Feature/&ClericChannelDivinityExtendedDescription=Вы можете направлять божественную энергию напрямую из Внешних Планов, чтобы подпитывать магические эффекты. Вы начинаете с двумя такими эффектами: Божественная Искра и Изгнание Нежити. Вы можете использовать Божественный канал этого класса дважды. Вы восстанавливаете одно из его потраченных использований, когда заканчиваете Короткий Отдых, и восстанавливаете все потраченные использования, когда заканчиваете Длительный Отдых. Вы получаете дополнительные использования, когда достигаете определенных уровней Священника, увеличиваясь до 3 на 6-м уровне и до 4 на 18-м уровне. Если эффект Божественного канала требует спасброска, DC равен DC спасброска от заклинания из особенности этого класса Spellcasting. +Feature/&ClericChannelDivinityExtendedDescription=Вы получаете возможность направлять божественную энергию непосредственно из Внешних планов, используя её для подпитки магических эффектов. Вы начинаете с двумя такими эффектами: Божественная искра и Изгнание нежити. Вы можете использовать Божественный канал этого класса дважды. Вы восстанавливаете одно из его использований, когда завершаете короткий отдых, и восстанавливаете все использования, когда завершаете продолжительный отдых. При достижении более высоких уровней Жреца вы получаете дополнительные использования: их количество увеличивается до 3 на 6-м уровне и до 4 на 18-м. Некоторые эффекты «Божественного канала» требуют совершить спасбросок. Когда вы используете эффекты такого рода, Сл равна Сл спасброска от ваших заклинаний жреца. Feature/&CollegeHopeWanderingHealerSpellsDescription={0}\n\n -Feature/&CombatAffinityRangerPreciseHunterDescription=Вы имеете преимущество при атаке против существа, отмеченного вашей Меткой Охотника. -Feature/&CombatAffinityRangerPreciseHunterTitle=Точный Охотник +Feature/&CombatAffinityRangerPreciseHunterDescription=Вы совершаете с преимуществом броски атаки по существу, отмеченному вашей Меткой охотника. +Feature/&CombatAffinityRangerPreciseHunterTitle=Меткий охотник Feature/&EnhancedIndomitableResistanceDescription=Вы можете перебросить проваленный спасбросок с бонусом, равным вашему уровню Воина, и должны использовать новый результат. После этого вы можете повторно использовать это умение только после завершения продолжительного отдыха. Feature/&ExpandedSpellsDescription={0}\n\n Feature/&ExpandedSpellsTitle=Расширенные заклинания @@ -111,8 +111,8 @@ Feature/&FeatureBarbarianInstinctivePounceDescription=Частью бонусн Feature/&FeatureBarbarianInstinctivePounceTitle=Инстинктивный бросок Feature/&FeatureBardSuperiorInspiration2024Description=Когда вы совершаете бросок инициативы, вы восстанавливаете потраченные кости Бардовского вдохновения до максимального количества в две кости, если у вас их меньше. Feature/&FeatureBardSuperiorInspiration2024Title=Превосходное вдохновение -Feature/&FeatureClericSearUndeadDescription=Всякий раз, когда вы используете Изгнание нежити, вы можете бросить количество d8, равное вашему модификатору Мудрости (минимум 1d8), и сложить броски вместе. Каждая Нежить, которая провалила свой спасбросок против этого использования Изгнания нежити, получает урон от Радианта, равный общему результату броска. -Feature/&FeatureClericSearUndeadTitle=Иссушить нежить +Feature/&FeatureClericSearUndeadDescription=Каждый раз, когда вы используете Изгнание нежити, вы можете бросить количество костей d8, равное вашему модификатору Мудрости (минимум 1d8), и сложить броски вместе. Каждая нежить, провалившая спасбросок против этого Изгнания нежити, получает урон излучением, равный сумме бросков. +Feature/&FeatureClericSearUndeadTitle=Опаление нежити Feature/&FeatureEldritchMasterDescription=Когда вы используете своё умение Магическая хитрость, вы восстанавливаете все потраченные ячейки заклинаний Магии договора. Feature/&FeatureEldritchMasterTitle=Таинственный мастер Feature/&FeatureFighterStudiedAttacksDescription=Вы изучаете своих противников и извлекаете уроки из каждой своей атаки. Если вы совершаете бросок атаки против существа и промахиваетесь, следующий бросок атаки против этого существа вы совершаете с преимуществом до конца вашего следующего хода. @@ -127,11 +127,11 @@ Feature/&FeatureMonkBodyAndMindDescription=Вы развили свои тело Feature/&FeatureMonkBodyAndMindTitle=Тело и разум Feature/&FeatureMonkHeightenedMetabolismDescription=Ваши тренировки вывели ваши тело и разум на новый уровень. Ваши умения Шквал ударов, Терпеливая оборона и Поступь ветра получают следующие преимущества:\n• Шквал ударов: Когда вы используете Шквал ударов, вы наносите три безоружных удара вместо двух.\n• Терпеливая оборона: Когда вы используете Терпеливую оборону, вы получаете количество временных хитов, равное броску двух ваших костей боевых искусств.\n• Поступь ветра: Когда вы используете одно из действий с помощью Поступи ветра (Отход или Рывок), вы также получаете преимущества другого из них. Feature/&FeatureMonkHeightenedMetabolismTitle=Повышенный метаболизм -Feature/&FeatureRangerFoeSlayer2024Description=Кубик урона вашей Метки Охотника — d10, а не d6. -Feature/&FeatureRangerFoeSlayer2024Title=Убийцы врагов -Feature/&FeatureRangerRelentlessHunterDescription=Получение урона не может нарушить вашу концентрацию на Метке Охотника. -Feature/&FeatureRangerRelentlessHunterExtendedDescription=Вам не требуется концентрация на «Мете охотника». -Feature/&FeatureRangerRelentlessHunterTitle=Неумолимый охотник +Feature/&FeatureRangerFoeSlayer2024Description=Кость урона вашей Метки охотника становится равной d10 вместо d6. +Feature/&FeatureRangerFoeSlayer2024Title=Убийца врагов +Feature/&FeatureRangerRelentlessHunterDescription=Получение урона не может нарушить вашу концентрацию на Метке охотника. +Feature/&FeatureRangerRelentlessHunterExtendedDescription=Вам не требуется концентрация на Метке охотника. +Feature/&FeatureRangerRelentlessHunterTitle=Беспощадный охотник Feature/&FeatureSetAlternateMonkFlurryOfBlowsDescription=Вы можете потратить 1 очко ци, чтобы бонусным действием совершить два безоружных удара. Feature/&FeatureSetBarbarianBrutalStrikeDescription=Когда вы используете Безрассудную атаку, один из ваших бросков атаки, основанный на Силе, который вы совершаете до конца хода, наносит дополнительно 1d10 урона того же типа, что и оружие или Безоружный удар, вы также можете выбрать один из следующих эффектов, если попадаете:\n• Сильный удар. Цель отталкивается от вас на 15 футов.\n• Удар по сухожилиям. Скорость цели уменьшается на 15 футов до начала вашего следующего хода. Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Description=Вы отточили новые возможности яростной атаки. Теперь среди вариантов Жестокого удара есть следующие эффекты:\n• Ошеломляющий удар. Цель получает помеху на следующий спасбросок и не может совершать атаки по возможности до начала вашего следующего хода.\n• Раскалывающий удар. Ваш удар оставляет брешь в обороне существа до начала вашего следующего хода. Следующий бросок атаки по цели, совершённый существом, отличным от вас, получает бонус 1d10 к броскам атаки и урона. @@ -139,13 +139,13 @@ Feature/&FeatureSetBarbarianBrutalStrikeImprovement13Title=Улучшенный Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Description=Дополнительный урон от Жестокого удара увеличивается до 2d10. Кроме того, вы можете использовать два разных эффекта Жестокого удара, когда используете это умение. Feature/&FeatureSetBarbarianBrutalStrikeImprovement17Title=Улучшенный жестокий удар Feature/&FeatureSetBarbarianBrutalStrikeTitle=Жестокий удар -Feature/&FeatureSetClericDivineInterventionDescription=Вы можете призвать свое божество или пантеон вмешаться от вашего имени. В качестве свободного действия вы можете получить один дополнительный слот заклинания до уровня 5. Вы не сможете использовать эту функцию снова, пока не закончите Длительный Отдых. -Feature/&FeatureSetClericDivineInterventionImprovedDescription=Вы можете призвать свое божество или пантеон, чтобы они вмешались от вашего имени. В качестве свободного действия вы можете получить один дополнительный слот заклинания до уровня 9. Вы не сможете использовать эту функцию снова, пока не закончите Длительный Отдых. +Feature/&FeatureSetClericDivineInterventionDescription=Вы можете воззвать к своему божеству или пантеону, чтобы они вмешались от вашего имени. Свободным действием вы можете получить одну дополнительную ячейку заклинаний не выше 5-го уровня. Вы не можете использовать эту способность вновь, пока не закончите продолжительный отдых. +Feature/&FeatureSetClericDivineInterventionImprovedDescription=Вы можете воззвать к своему божеству или пантеону, чтобы они вмешались от вашего имени. Свободным действием вы можете получить одну дополнительную ячейку заклинаний вплоть до 9-го уровня. Вы не можете использовать эту способность вновь, пока не закончите продолжительный отдых. Feature/&FeatureSetClericDivineInterventionImprovedTitle=Улучшенное божественное вмешательство -Feature/&FeatureSetClericDivineInterventionTitle=Божественное Вмешательство +Feature/&FeatureSetClericDivineInterventionTitle=Божественное вмешательство Feature/&FeatureSetClericDivineOrderDescription=Вы посвятили себя одной из следующих священных ролей по вашему выбору. -Feature/&FeatureSetClericDivineOrderTitle=Божественный Порядок -Feature/&FeatureSetClericProtectorDescription=Пройдя подготовку к бою, вы приобретаете навыки владения боевым оружием и учитесь носить тяжелые доспехи. +Feature/&FeatureSetClericDivineOrderTitle=Божественный порядок +Feature/&FeatureSetClericProtectorDescription=Пройдя боевую подготовку, вы получаете владение воинским оружием и тяжёлыми доспехами Feature/&FeatureSetClericProtectorTitle=Защитник Feature/&FeatureSetDruidPrimalOrderDescription=Вы посвятили себя одной из следующих сакральных ролей по вашему выбору.\n• Маг. Вы знаете один дополнительный заговор из списка заклинаний Друида. Кроме того, ваша мистическая связь с природой даёт вам бонус к проверкам Интеллекта (Магия или Природа). Бонус равен вашему модификатору Мудрости (минимум 1).\n• Хранитель. Обучившись сражениям, вы получаете владения воинским оружием и средней бронёй. Feature/&FeatureSetDruidPrimalOrderMagicianDescription=Вы знаете один дополнительный заговор из списка заклинаний Друида. Кроме того, ваша мистическая связь с природой даёт вам бонус к проверкам Интеллекта (Магия или Природа). Бонус равен вашему модификатору Мудрости (минимум 1). @@ -154,9 +154,9 @@ Feature/&FeatureSetDruidPrimalOrderTitle=Первобытный порядок Feature/&FeatureSetDruidPrimalOrderWardenDescription=Обучившись сражениям, вы получаете владения воинским оружием и средней бронёй. Feature/&FeatureSetDruidPrimalOrderWardenTitle=Хранитель Feature/&FeatureSetRageExtendedDescription=В бою вы сражаетесь с первобытной свирепостью. В свой ход вы можете бонусным действием войти в состояние ярости. В состоянии ярости вы получаете следующие преимущества, если не носите тяжёлую броню:\n• Вы совершаете с преимуществом проверки и спасброски Силы.\n• Если вы совершаете рукопашную атаку оружием, используя Силу, вы получаете бонус к броску урона, изначально равный +2, этот урон растёт с уровнем.\n• Вы получаете сопротивление дробящему, колющему и рубящему урону.\n Ваша ярость длится 1 минуту. Она прекращается раньше, если вы потеряли сознание или если вы закончили свой ход, не получив урон или не атаковав враждебное по отношению к вам существо с момента окончания вашего прошлого хода.\n Вы начинаете с двумя использованиями Ярости, восстанавливающимися после продолжительного отдыха. На уровне 7 вы восстанавливаете одно использование Ярости после завершения короткого отдыха. -Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря путешествиям вы получаете следующие преимущества.\n• Экспертиза. Выберите один из навыков, которым вам не хватает мастерства. Вы получаете экспертизу в этом навыке.\n• Языки. Вы знаете 2 языка по своему выбору. +Feature/&FeatureSetRangerDeftExplorerDescription=Благодаря своим путешествиям, вы получаете следующие преимущества.\n• Компетентность. Выберите один из навыков, в котором у вас нет компетентности. Вы получаете компетентность в этом навыке.\n• Языки. Вы знаете 2 языка на ваш выбор. Feature/&FeatureSetRangerDeftExplorerTitle=Искусный исследователь -Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда есть заклинание «Метка охотника», которое вы можете применить дважды, не тратя слот заклинания, и вы восстановите все использованные использования этой способности, когда закончите Длительный отдых. Количество раз, когда вы можете применить заклинание без слота заклинания, увеличивается на определенных уровнях Рейнджера, увеличиваясь до 3 на 5-м уровне, 4 на 9-м уровне, 5 на 13-м уровне и 6 на 17-м уровне. +Feature/&FeatureSetRangerFavoredEnemyDescription=У вас всегда наготове заклинание Метка охотника. Вы можете наложить его дважды без затрат ячеек заклинаний, и вы восстанавливаете все использования этой способности, когда заканчиваете продолжительный отдых. Количество раз, которое вы можете наложить заклинание без затрат ячеек заклинаний, увеличивается на более высоких уровнях Следопыта: до 3 на 5-м уровне, до 4 на 9-м уровне, до 5 на 13-м уровне и до 6 на 17-м уровне. Feature/&FeatureSetRangerFavoredEnemyTitle=Избранный враг Feature/&FeatureSetSorcererSorceryIncarnateDescription=Если у вас не осталось использований Врождённого чародейства, вы можете использовать его, потратив 2 единицы чародейства бонусным действием при его активации. Feature/&FeatureSetSorcererSorceryIncarnateTitle=Воплощение чародейства @@ -196,15 +196,15 @@ Feature/&InvocationPoolSorcererDraconicChoiceLearnTitle=Наследие дра Feature/&MagicAffinityPatronExpandedSpellsDescription={0}\n\n Feature/&MonkAlternateUnarmoredMovementImprovedDescription=На 9-м уровне вы получаете возможность в свой ход перемещаться по вертикальным поверхностям, не падая во время движения. Feature/&MonkAlternateUnarmoredMovementImprovedTitle=Улучшенное движение без доспехов -Feature/&MovementAffinityRangerRovingDescription=Ваша скорость увеличивается на 10 футов, пока вы не носите тяжелую броню. У вас также есть скорость подъема, равная вашей скорости. -Feature/&MovementAffinityRangerRovingTitle=Ровинг -Feature/&PaladinChannelDivinityDescription=Вы можете направлять божественную энергию напрямую из Внешних Планов, используя ее для подпитки магических эффектов. Вы можете использовать Channel Divinity этого класса дважды. Вы восстанавливаете одно из его использованных использований, когда заканчиваете Short Rest, и вы восстанавливаете все использованные использований, когда заканчиваете Long Rest. Вы получаете дополнительное использование, когда достигаете 11-го уровня Паладина. +Feature/&MovementAffinityRangerRovingDescription=Ваша скорость увеличивается на 10 футов, пока вы не носите тяжёлые доспехи. Ваша скорость лазания также равна вашей скорости ходьбы. +Feature/&MovementAffinityRangerRovingTitle=Бродяга +Feature/&PaladinChannelDivinityDescription=Вы получаете возможность направлять божественную энергию непосредственно из Внешних планов, используя её для подпитки магических эффектов. Вы можете использовать Божественный канал этого класса дважды. Вы восстанавливаете одно из его использований, когда завершаете короткий отдых, и восстанавливаете все использования, когда завершаете продолжительный отдых. При получаете дополнительное использование при достижении 11-го уровня Паладина. Feature/&PointPoolBarbarianPrimalKnowledgeDescription=Вы получаете владение дополнительным навыком по вашему выбору из списка навыков, доступных Варвару на 1-м уровне. Кроме того, каждый раз, когда вы проваливаете одну из следующих проверок характеристик: Акробатика, Запугивание, Восприятие, Скрытность или Выживание, вы можете потратить один заряд ярости, чтобы добавить к броску модификатор вашей Силы, что может привести к успеху. Когда вы используете эту способность, ваша Сила олицетворяет первобытную мощь, текущую через вас, совершенствуя вашу ловкость, стойкость и чувства. Feature/&PointPoolBarbarianPrimalKnowledgeTitle=Первобытное знание -Feature/&PointPoolClericThaumaturgeCantripDescription=Вы знаете один дополнительный фокус из списка заклинаний Священника. Кроме того, ваша мистическая связь с божественным дает вам бонус к проверкам Интеллекта (Магия или Религия). Бонус равен вашему модификатору Мудрости (минимум +1). -Feature/&PointPoolClericThaumaturgeCantripTitle=Тауматург -Feature/&PointPoolRangerExpertiseDescription=Выберите два из ваших навыков, в которых вам не хватает опыта. Вы приобретаете опыт в этих навыках. -Feature/&PointPoolRangerExpertiseTitle=Экспертиза +Feature/&PointPoolClericThaumaturgeCantripDescription=Вы знаете один дополнительный заговор из списка заклинаний Жреца. Кроме того, ваша мистическая связь с божественным даёт вам бонус к проверкам Интеллекта (Магия или Религия). Бонус равен вашему модификатору Мудрости (минимум +1). +Feature/&PointPoolClericThaumaturgeCantripTitle=Чудотворец +Feature/&PointPoolRangerExpertiseDescription=Выберите два навыка, в которых у вас нет компетентности. Вы получаете компетентность в этих навыках. +Feature/&PointPoolRangerExpertiseTitle=Компетентность Feature/&PointPoolWizardScholarDescription=Изучая магию, вы также специализировались в научной сфере исследований. Выберите один из следующих навыков, которым вы владеете: Магия, История, Расследование, Медицина, Природа или Религия. Вы получаете компетентность в выбранном навыке. Feature/&PointPoolWizardScholarTitle=Учёный Feature/&PowerAfterRestIdentifyDescription=Опознайте все магические предметы в инвентаре. @@ -220,29 +220,29 @@ Feature/&PowerBarbarianBrutalStrikeSunderingBlowDescription=Ваш удар ос Feature/&PowerBarbarianBrutalStrikeSunderingBlowTitle=Раскалывающий удар Feature/&PowerBarbarianBrutalStrikeTitle=Жестокий удар Feature/&PowerBardCountercharmExtendedDescription=Вы получаете возможность использовать звуки или слова силы для разрушения воздействующих на разум эффектов. Если вы или существо в пределах 30 футов от вас проваливает спасбросок от эффекта, который накладывает состояния Очарованный или Испуганный, вы можете реакцией заставить повторить спасбросок, при этом новый бросок будет совершаться с преимуществом. -Feature/&PowerClericDivineSparkDamageNecroticDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Некротический урон, равный этому значению. При успешном спасброске существо получает половину урона. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). -Feature/&PowerClericDivineSparkDamageNecroticTitle=Божественная Искра: Некротическая -Feature/&PowerClericDivineSparkDamageRadiantDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Заставьте существо сделать спасбросок по Телосложению. При провале спасброска существо получает Radiant, равный этому значению. При успешном спасброске существо получает половину урона. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). -Feature/&PowerClericDivineSparkDamageRadiantTitle=Божественная Искра: Сияющая -Feature/&PowerClericDivineSparkDescription=Используйте Божественность, чтобы исцелить или нанести Некротический или Лучистый урон существам в радиусе 6 клеток, если только они не совершат успешный спасбросок Телосложения. -Feature/&PowerClericDivineSparkHealDescription=В качестве магического действия бросьте 1d8 и добавьте свой модификатор Мудрости. Восстановите очки здоровья существа, равные этому общему количеству. Вы бросаете дополнительный d8, когда достигаете уровней Клирика 7 (2d8), 13 (3d8) и 18 (4d8). -Feature/&PowerClericDivineSparkHealTitle=Божественная Искра: Исцеление -Feature/&PowerClericDivineSparkTitle=Божественная Искра +Feature/&PowerClericDivineSparkDamageNecroticDescription=Действием совершите бросок 1d8 и добавьте свой модификатор Мудрости. Вынудите существо совершить спасбросок Телосложения. При провале существо получает урон некротической энергией, равный итоговому результату. При успехе существо получает вдвое меньше урона. Вы бросаете дополнительную кость d8 при достижении 7-го (2d8), 13-го (3d8) и 18-го (4d8) уровней Жреца. +Feature/&PowerClericDivineSparkDamageNecroticTitle=Божественная искра: Некротический урон +Feature/&PowerClericDivineSparkDamageRadiantDescription=Действием совершите бросок 1d8 и добавьте свой модификатор Мудрости. Вынудите существо совершить спасбросок Телосложения. При провале существо получает урон излучением, равный итоговому результату. При успехе существо получает вдвое меньше урона. Вы бросаете дополнительную кость d8 при достижении 7-го (2d8), 13-го (3d8) и 18-го (4d8) уровней Жреца. +Feature/&PowerClericDivineSparkDamageRadiantTitle=Божественная искра: Урон излучением +Feature/&PowerClericDivineSparkDescription=Использовать Божественный канал для исцеления существ в пределах 30 футов или нанесения им урона некротической энергией или излучением. +Feature/&PowerClericDivineSparkHealDescription=Действием совершите бросок 1d8 и добавьте свой модификатор Мудрости. Восстановите хиты существа, равные итоговому результату. Вы бросаете дополнительную кость d8 при достижении 7-го (2d8), 13-го (3d8) и 18-го (4d8) уровней Жреца. +Feature/&PowerClericDivineSparkHealTitle=Божественная искра: Исцеление +Feature/&PowerClericDivineSparkTitle=Божественная искра Feature/&PowerHelpDescription=Вы можете помочь дружественному существу атаковать другое существо, находящееся в пределах 5 футов от вас. Вы совершаете финт, отвлекаете цель или каким-то другим образом делаете атаку союзника более эффективной. Если ваш союзник атакует цель до начала вашего следующего хода, первый бросок атаки совершается с преимуществом. Feature/&PowerHelpTitle=Помощь Feature/&PowerMonkStepOfTheWindHeightenedMetabolismDescription=Вы можете потратить 1 очко ци в свой ход, чтобы получить бонусным действием преимущества от действий Отход и Рывок одновременно. В этот ход дальность ваших прыжков удваивается. Feature/&PowerMonkStepOfTheWindHeightenedMetabolismTitle=Поступь ветра Feature/&PowerMonkSuperiorDefenseDescription=Свободным действием вы можете потратить 3 очка ци, чтобы надёжно защитить себя от урона на 1 минуту или до тех пор, пока не станете недееспособны. В течение этого времени вы обладаете сопротивлением ко всему урону, кроме урона силовым полем. Feature/&PowerMonkSuperiorDefenseTitle=Превосходная защита -Feature/&PowerPaladinAbjureFoesDescription=В качестве действия вы можете потратить одно использование Channel Divinity этого класса, чтобы сокрушить врагов благоговением. Когда вы демонстрируете свой Holy Symbol или оружие, вы можете нацелиться на количество существ, равное вашему модификатору Харизмы (минимум одно существо), которых вы можете видеть в пределах 60 футов от себя. Каждая цель должна преуспеть в спасброске Мудрости или иметь состояние Frightened в течение 1 минуты или пока не получит какой-либо урон. Будучи Frightened таким образом, цель может сделать только одно из следующих действий в свой ход: переместиться, выполнить действие или выполнить Bonus Action. -Feature/&PowerPaladinAbjureFoesTitle=Отречься от врагов -Feature/&PowerPaladinRestoringTouchDescription=Когда вы используете Возложение рук на существо, вы также можете снять с существа одно или несколько из следующих состояний: Ослепление, Очарование, Оглушение, Испуг, Парализованность или Оглушение. Вы должны потратить 5 очков здоровья из запаса исцеления Возложения рук для каждого из этих состояний, которые вы снимаете. -Feature/&PowerPaladinRestoringTouchSubPowerDescription=Когда вы используете Возложение рук на существо, вы также можете удалить {0}. Вы должны потратить 5 очков здоровья из лечебного запаса Возложения рук. -Feature/&PowerPaladinRestoringTouchSubPowerTitle=Восстановление прикосновения: {0} -Feature/&PowerPaladinRestoringTouchTitle=Восстановление осязания +Feature/&PowerPaladinAbjureFoesDescription=Основным действием вы можете потратить одно использование Божественного канала этого класса, чтобы повергнуть противника в трепет. Когда вы демонстрируете свой священный символ или оружие, вы можете выбрать в качестве цели количество существ, равное вашему модификатору Харизмы (минимум одно существо), которое вы можете видеть в пределах 60 футов. Каждая цель должна преуспеть в спасброске Мудрости или будет испугана на 1 минуту или пока не получит урон. Пока цель напугана подобным образом, она может делать в свой ход только одно из перечисленного: перемещаться, совершать действие или совершать бонусное действие. +Feature/&PowerPaladinAbjureFoesTitle=Отречение врагов +Feature/&PowerPaladinRestoringTouchDescription=Когда вы используете Наложение рук на существо, вы также можете снять с него одно или несколько из следующих состояний: Ослепление, Очарование, Глухота, Испуг, Паралич или Ошеломление. За каждое снятое состояние вы должны потратить 5 хитов из запаса исцеления Наложения рук. +Feature/&PowerPaladinRestoringTouchSubPowerDescription=Когда вы используете Наложение рук на существо, вы также можете снять {0}. Вы должны потратить 5 хитов из запаса исцеления Наложения рук. +Feature/&PowerPaladinRestoringTouchSubPowerTitle=Восстанавливающее касание: {0} +Feature/&PowerPaladinRestoringTouchTitle=Восстанавливающее касание Feature/&PowerRangerNatureShroudDescription=Вы обращаетесь к силам природы, чтобы они ненадолго скрыли вас от посторонних глаз. Бонусным действием вы можете магическим образом стать невидимым вместе со своим снаряжением, которое вы несёте или носите, до начала вашего следующего хода. Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости. Вы восстанавливаете все потраченные использования после окончания продолжительного отдыха. Feature/&PowerRangerNatureShroudTitle=Природная завеса -Feature/&PowerRangerTirelessDescription=Первобытные силы теперь помогают вам подпитываться в ваших путешествиях, предоставляя вам следующие преимущества. В качестве бонусного действия вы можете дать себе количество Временных очков здоровья, равное 1d8 плюс половина вашего уровня рейнджера (округленное вверх). Вы можете использовать эту функцию количество раз, равное вашему модификатору Мудрости (минимум один раз), и вы восстановите все потраченные использования, когда закончите Длительный отдых. +Feature/&PowerRangerTirelessDescription=Первобытные силы теперь помогают вам в ваших путешествиях, даруя следующие преимущества. Бонусным действием вы можете получить количество временных хитов, равное 1d8 плюс половина вашего уровня Следопыта ( с округлением вверх). Вы можете использовать это умение количество раз, равное вашему модификатору Мудрости (минимум один раз), и вы восстанавливаете все потраченные использования, когда заканчиваете продолжительный отдых. Feature/&PowerRangerTirelessTitle=Неутомимый Feature/&PowerRogueCunningStrikeDescription=Вы разработали хитрые способы использования Скрытой атаки. Когда вы наносите урон Скрытой атакой, вы можете отказаться от костей Скрытой атаки, чтобы добавить вместо этого дополнительные эффекты Хитрого удара. Feature/&PowerRogueCunningStrikeDisarmDescription=Цель должна преуспеть в спасброске Ловкости или получит помеху на все атаки до конца своего следующего хода. @@ -275,7 +275,7 @@ Feature/&PowerWarlockMagicalCunningDescription=Вы можете провест Feature/&PowerWarlockMagicalCunningTitle=Магическая хитрость Feature/&RelentlessRageExtendedDescription=Ваша ярость позволяет вам сражаться, несмотря на тяжелейшие раны. Если ваши хиты опускаются до 0, когда вы в состоянии ярости, и вы не умерли сразу, вы можете совершить спасбросок Телосложения Сл 10. При успехе ваши хиты вместо этого меняются до удвоенного значения вашего уровня Варвара. Каждый раз, когда вы используете это умение повторно, Сл спасброска повышается на 5. Когда вы закончите короткий либо продолжительный отдых, Сл снова равняется 10. Feature/&RogueSlipperyMindExtendedDescription=Вы увеличиваете силу мышления. Вы получаете владение спасбросками Мудрости и Харизмы. -Feature/&SenseRangerFeralSenses2024Description=Ваша связь с силами природы дарует вам способность «Слепое зрение» с радиусом действия 30 футов. +Feature/&SenseRangerFeralSenses2024Description=Ваша связь с силами природы дарует вам Слепое зрение в пределах 30 футов. Feature/&SenseRangerFeralSenses2024Title=Дикие чувства Feature/&ToolGainChoicesPluralDescription=Выберите {0} из этих инструментов: {1} Feature/&ToolGainChoicesSingleDescription=Выберите один из этих инструментов: {1} @@ -361,10 +361,10 @@ Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeDescription=Вы мож Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactDescription=Вы можете отказаться от костей Скрытой атаки, чтобы применить дополнительный эффект. Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeReactTitle=Хитрый удар Reaction/&ReactionSpendPowerBundlePowerRogueCunningStrikeTitle=Хитрый удар -Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Вы можете потратить 5 очков из своего пула исцеления, чтобы устранить пагубное состояние. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Устранить неблагоприятное состояние. -Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Восстановление осязания -Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Восстановление осязания +Reaction/&ReactionSpendPowerBundleRestoringTouchDescription=Вы можете потратить 5 хитов из своего запаса исцеления, чтобы снять пагубное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactDescription=Снять пагубное состояние. +Reaction/&ReactionSpendPowerBundleRestoringTouchReactTitle=Восстанавливающее касание +Reaction/&ReactionSpendPowerBundleRestoringTouchTitle=Восстанавливающее касание Reaction/&ReactionSpendPowerBundleTitle=Использовать силу Reaction/&ReadiedAction{0}Description=Подготовлен {0} Reaction/&ReadiedAction{0}Title=Подготовлен {0} @@ -410,12 +410,12 @@ Rules/&SituationalContext9015Format=Не носит брони, либо тол Rules/&SituationalContext9016Format=Не является источником эффекта с рукопашным оружием в одной из рук: Rules/&SituationalContext9017Format=Концентрируется на заклинании: Rules/&SituationalContext9018Format=Источник эффекта: -Rules/&SituationalContextTargetHasConditionFormat=Цель имеет состояние: +Rules/&SituationalContextTargetHasConditionFormat=Цель находится в состоянии: Rules/&SpellSlotFormRecoverSorceryHalfLevelDownFormat=Восстановить единицы чародейства до половины вашего уровня Чародея с округлением вниз Rules/&TurnOccurenceEndOfSourceTurnFormat=Конец источника хода Screen/&CharacterInspectionModeBattleUnlimitedTitle=Вы можете производить неограниченное количество действий с инвентарём в свой раунд. Screen/&ClassExtraSpellDescriptionFormat=Вам известно это заклинание от класса {0}. -Screen/&DomainsTitle=Домены +Screen/&DomainsTitle=Божественные домены Screen/&EditorLocationSize3Title=Огромный [Модифицировано] Screen/&EditorLocationSize4Title=Гигантский [Модифицировано] Screen/&MulticlassExtraSpellDescription=Вам известно это заклинание из другого репертуара. @@ -444,7 +444,7 @@ Spell/&SpareTheDyingExtendedDescription=Выберите существо в п Spell/&StoneskinExtendedDescription=Даёт сопротивление дробящему, рубящему и колющему урону. Spell/&TrueStrike2024Description=Руководствуясь вспышкой магического озарения, вы совершаете одну атаку оружием, выбранным в качестве материального компонента. Для бросков атаки и урона используется либо ваша заклинательная характеристика, либо Сила или Ловкость, в зависимости от того, что выше. Если атака попадает, то вместо обычного урона оружия она наносит урон излучением. Атака наносит дополнительный урон излучением при достижении 5-го (1d6), 11-го (2d6) и 17-го (3d6) уровней. Stage/&IdentityMorphotypeEyeHeader=Вид глаз -Stage/&SubclassSelectionStageDomainFeatures=Особенности Божественного Домена +Stage/&SubclassSelectionStageDomainFeatures=Умения Божественного Домена Stage/&SubclassSelectionStageDomainHeader=Божественный Домен Tag/&PrimalOrderCantripSpecialTagTitle=Заговор Первобытного порядка Tag/&ThaumaturgeCantripSpecialTagTitle=Заговор Чудотворца diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index fa2ac2228d..9ba5657ef4 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -6,7 +6,7 @@ ModUi/&AddCustomIconsToOfficialItems=Добавить кастомные зна ModUi/&AddDarknessPerceptiveToDarkRaces=Включить Восприятие тьмы для рас Тёмных эльфов, Тёмных кобольдов и Серых дварфов \n[даёт преимущество при проверках восприятия, когда персонаж не на свету или находится в магической темноте] ModUi/&AddDexModifierToEnemiesInitiativeRoll=Добавлять модификатор Ловкости к броскам Инициативы противников ModUi/&AddDruidPrimalOrderAndRemoveMediumArmorProficiency=Включить Первобытный порядок на уровне 1 и убрать Владение средней бронёй -ModUi/&AddHumanoidFavoredEnemyToRanger=Включить Гуманоидов в список предпочтительных противников [Необходим перезапуск] +ModUi/&AddHumanoidFavoredEnemyToRanger=Включить Гуманоидов в список избранных врагов [Необходим перезапуск] ModUi/&AddNewWeaponsAndRecipesToShops=Добавить новые оружия и рецепты в магазины [обмотки, алебарды, пики, длинные булавы, ручные арбалеты] [Необходим перезапуск] ModUi/&AddPaladinSmiteToggle=Добавить переключатель, чтобы позволить Паладинам использовать кару только при критах [полезно для уменьшения количества запросов на реакции] ModUi/&AddPickPocketableLoot=Добавить лута для кражи [рекомендуется, если черта Кража включена] @@ -115,11 +115,11 @@ ModUi/&EnableBetaContent=Включить бета-контент Боевой магии от заговоров ModUi/&EnableCharactersOnFireToEmitLight=Горящие персонажи должны излучать свет [Куб света, Огненный элементаль, Огненный балагур, Огненная скопа, Огненный паук, а также любые горящие существа] -ModUi/&EnableClericChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] -ModUi/&EnableClericDivineIntervention2024=Поменяйте Божественное вмешательство и Улучшенное божественное вмешательство с версией 5e 2024 [получить ячейку заклинания до определенного уровня] -ModUi/&EnableClericDivineOrder2024=Включить Божественный порядок на уровне 1 [выбор между тяжелой броней/боевым оружием или бонусным колдовством и некоторыми проверками ИНТ] -ModUi/&EnableClericSearUndead2024=Включите Sear Undead вместо Destroy Undead на уровне 5. -ModUi/&EnableClericToLearnDomainAtLevel3=Включить Домен на уровне 3 вместо 1 +ModUi/&EnableClericChannelDivinity2024=Включить версию Божественного канала из 5e 2024 [различные варианты использования] +ModUi/&EnableClericDivineIntervention2024=Заменить Божественное вмешательство и Улучшенное божественное вмешательство на версию из 5e 2024 [получить ячейку заклинания до определённого уровня] +ModUi/&EnableClericDivineOrder2024=Включить Божественный порядок на уровне 1 [выбор между тяжелыми доспехами/воинским оружием и бонусным заговором/некоторыми проверками ИНТ] +ModUi/&EnableClericSearUndead2024=Включить Опаление нежити вместо Уничтожения нежити на уровне 5 +ModUi/&EnableClericToLearnDomainAtLevel3=Включить Божественный домен на уровне 3 вместо 1 ModUi/&EnableCustomPortraits=Включить Пользовательские портреты ModUi/&EnableCustomPortraitsHelp=• Поместите свои пользовательские портреты в подпапки Personal или PreGen с именами, соответствующими именам героев [т.е.: Антон, Селия, Ниалла и т. д.]\n• Используйте изображения размером 256 x 384 пикселей с прозрачным фоном [для достижения наилучших результатов используйте GIMP] ModUi/&EnableDruidMetalArmor2024=Снять ограничения на Металлическую броню @@ -175,11 +175,11 @@ ModUi/&EnableOneDndSpareTheDyingSpell=Включить версию заклин ModUi/&EnableOneDndSpiderClimbSpell=Включить версию заклинания Паук из 5e 2024 [+1 цель за каждый дополнительный уровень ячейки заклинания] ModUi/&EnableOneDndStoneSkinSpell=Включить версию заклинания Каменная кожа из 5e 2024 [также даёт сопротивление магическому дробящему, рубящему и колющему урону] ModUi/&EnableOneDndTrueStrikeCantrip=Включить версию заговора Меткий удар из 5e 2024 [Необходим перезапуск]\n[для бросков атаки и урона используется ваша заклинательная характеристика, а также дополнительный урон излучением с 5-го уровня] -ModUi/&EnablePaladinAbjureFoes2024=Включить Отречение от врагов на уровне 9 -ModUi/&EnablePaladinChannelDivinity2024=Включить Channel Divinity 5e 2024 версии [различные варианты использования] -ModUi/&EnablePaladinLayOnHands2024=Включить Возложение рук 5e 2024 версия [бонусное действие] -ModUi/&EnablePaladinRestoringTouch2024=Включите Восстанавливающее прикосновение, чтобы заменить Очищающее прикосновение на уровне 14 -ModUi/&EnablePaladinSmite2024=Включить Divine Smite 5e 2024 версии [бонусное действие] +ModUi/&EnablePaladinAbjureFoes2024=Включить Отречение врагов на уровне 9 +ModUi/&EnablePaladinChannelDivinity2024=Включить версию Божественного канала из 5e 2024 [различные варианты использования] +ModUi/&EnablePaladinLayOnHands2024=Включить версию Наложения рук из 5e 2024 [бонусным действием] +ModUi/&EnablePaladinRestoringTouch2024=Включить Восстанавливающее касание вместо Очищающего касания на уровне 14 +ModUi/&EnablePaladinSmite2024=Включить версию Божественной кары из 5e 2024 [бонусным действием] ModUi/&EnablePaladinSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го ModUi/&EnablePcgRandom=Включить улучшенный алгоритм генерации случайных чисел [https://www.pcg-random.org] ModUi/&EnablePoisonsBonusAction2024=Включить нанесение Ядов на оружие бонусным действием @@ -187,18 +187,18 @@ ModUi/&EnablePotionsBonusAction2024=Включить использование ModUi/&EnablePreparedSpellsTables2024=Включить всем Заклинателям использовать новые таблицы подготовленных заклинаний [Бард, Жрец, Друид, Паладин, Следопыт, Чародей, Волшебник] ModUi/&EnableProneAction=Включить действие Упасть ничком [вы можете упасть ничком без затрат каких-либо действий] ModUi/&EnablePullPushOnVerticalDirection=Включить работу эффектов толкания и притяжения по вертикальным осям -ModUi/&EnableRangerDeftExplorer2024=Включите Ловкий исследователь на уровне 2 [получите одну экспертизу по навыкам рейнджера и выучите 2 языка] -ModUi/&EnableRangerExpertise2024=Включить Экспертизу на уровне 9 [получить две экспертизы по навыкам рейнджера] -ModUi/&EnableRangerFavoredEnemy2024=Поменять местами Избранного врага и Избранную местность с версией Избранного врага 5e 2024 -ModUi/&EnableRangerFeralSenses2024=Поменяйте Feral Senses на версию 5e 2024 [получите 30-футовое слепое зрение] -ModUi/&EnableRangerFoeSlayers2024=Поменяйте Убийцу врагов на версию 5e 2024 [увеличите кубик Метки охотника до d10] -ModUi/&EnableRangerNatureShroud2024=Включить умение Природная завеса на уровне 14 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода] -ModUi/&EnableRangerPreciseHunter2024=Включить Точный Охотник на уровне 17 [преимущество против существ, отмеченных Охотником] -ModUi/&EnableRangerRelentlessHunter2024=Включить Безжалостного охотника на уровне 13 [концентрация не теряется на Метке охотника] -ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Вместо этого уберите требования к концентрации из Hunter's Mark -ModUi/&EnableRangerRoving2024=Включить Roving на уровне 6 [получить 10 футов движения, когда не используется тяжелая броня, и ту же скорость подъема] +ModUi/&EnableRangerDeftExplorer2024=Включить Искусного исследователя на уровне 2 [получаете компетентность в одном из навыков Следопыта и узнаёте 2 языка] +ModUi/&EnableRangerExpertise2024=Включить Компетентность на уровне 9 [получаете компетентность в двух навыках Следопыта] +ModUi/&EnableRangerFavoredEnemy2024=Заменить Избранного врага и Исследователя природы на версию Избранного врага из 5e 2024 +ModUi/&EnableRangerFeralSenses2024=Заменить Дикие чувства на версию из 5e 2024 [получить слепое зрение на 30 футов] +ModUi/&EnableRangerFoeSlayers2024=Заменить Убийцу врагов на версию из 5e 2024 [увеличить кость Метки охотника до d10] +ModUi/&EnableRangerNatureShroud2024=Включить Природную завесу на уровне 14 [бонусным действием вы можете волшебным образом стать невидимым до начала следующего хода] +ModUi/&EnableRangerPreciseHunter2024=Включить Меткого охотника на уровне 17 [преимущество против существ, отмеченных Следопытом] +ModUi/&EnableRangerRelentlessHunter2024=Включить Беспощадного охотника на уровне 13 [концентрация не теряется на Метке охотника] +ModUi/&EnableRangerRelentlessHunter2024AsNoConcentration=+ Вместо этого убрать требования концентрации с Метки охотника +ModUi/&EnableRangerRoving2024=Включить Бродягу на уровне 6 [получить 10 футов скорости, если не используются тяжёлые доспехи, и скорость лазания равную скорости ходьбы] ModUi/&EnableRangerSpellCastingAtLevel1=Включить возможность наложения заклинаний на 1-м уровне вместо 2-го -ModUi/&EnableRangerTireless2024=Включите Неутомимый вместо Спрятаться на виду на уровне 10 [получить временные очки здоровья] +ModUi/&EnableRangerTireless2024=Включить Неутомимого вместо Маскировки на виду на уровне 10 [получить временные хиты] ModUi/&EnableRelearnSpells=Включить возможность выбирать заговоры или заклинания, уже известные из других источников ModUi/&EnableRespecAction=Включить возможность РЕСПЕКа после отдыха [не используйте РЕСПЕК в многопользовательских сессиях] ModUi/&EnableRitualOnAllCasters2024=Включить Ритуальное колдовство для всех заклинателей @@ -214,7 +214,7 @@ ModUi/&EnableSorcererInnateSorceryAndSorceryIncarnate2024=Включить Волшебное указание на уровне 5 ModUi/&EnableSorcererQuickenedAction=Включить действие Ускоренное заклинание, позволяющее накладывать заклинание основного действия с применением метамагии Ускоренного заклинания. ModUi/&EnableSorcererSorcerousRestoration2024=Включить Чародейское восстановление на уровне 5 -ModUi/&EnableSorcererToLearnOriginAtLevel3=Включить Origins на уровне 3 вместо 1 +ModUi/&EnableSorcererToLearnOriginAtLevel3=Включить Происхождение чародея на уровне 3 вместо 1 ModUi/&EnableSortingDungeonMakerAssets=Включить сортировку ассетов в редакторе Создателя Подземелий ModUi/&EnableSpeech=Включить речь в пользовательских кампаниях [только повествование и герои] ModUi/&EnableSpeechActorHelp=• Выберите актера @@ -326,7 +326,7 @@ ModUi/&RemoveBardMagicalSecret2024=Убрать Тайны маг ModUi/&RemoveBardSongOfRest2024=Убрать Песнь отдыха на уровне 2 ModUi/&RemoveBugVisualModels=Заменить паукообразные модельки в игре на медведеобразные [арахнофобия] [Необходим перезапуск] ModUi/&RemoveHumanoidFilterOnHideousLaughter=Убрать гуманоидный фильтр на Жуткий смех -ModUi/&RemoveRangerVanish2024=Удалить Исчезновение на уровне 14 +ModUi/&RemoveRangerVanish2024=Убрать Исчезновение на уровне 14 ModUi/&RemoveRecurringEffectOnEntangle=Применять эффект Опутывания только на время действия заклинания, а также принудительно совершать проверку Силы, чтобы вырваться из лоз ModUi/&RemoveRogueBlindSense2024=Убрать Слепое зрение на уровне 14 ModUi/&RemoveSchoolRestrictionsFromShadowCaster=Снять ограничения по школе заклинаний с Заклинателя теней diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feature-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feature-ru-Unofficial.txt index aa29a43491..a1e3fec95e 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feature-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feature-ru-Unofficial.txt @@ -1024,8 +1024,8 @@ Feature/&PowerPatronTreeExplosiveGrowthDescription=Начиная с 10-го у Feature/&PowerPatronTreeExplosiveGrowthTitle=Взрывной рост Feature/&PowerPeaksTerrorBreathCold_Description=Ужас вершин создаёт ледяной ветер, наносящий холодный урон. Feature/&PowerPeaksTerrorBreathCold_Title=Морозное дыхание -Feature/&PowerRangerHideInPlainSightDescription=Вы можете потратить 1 минуту на маскировку. После маскировки вы получаете +10 ЛОВ (скрытность), когда стоите у стены. Вы должны маскироваться повторно после каждого отдыха и перемещения в другую область. -Feature/&PowerRangerHideInPlainSightTitle=Скрыться на видном месте +Feature/&PowerRangerHideInPlainSightDescription=Вы можете потратить 1 минуту для создания персонального камуфляжа. Вы получаете бонус +10 к проверкам Ловкости (Скрытность), пока находитесь рядом со стеной. Вы должны маскироваться повторно после каждого отдыха и перемещения в другую область. +Feature/&PowerRangerHideInPlainSightTitle=Маскировка на виду Feature/&PowerRangerSwiftBladeUncatchableDescription=Начиная с 15-го уровня вы получаете невероятную увёртливость. Получив урон, вы можете отреагировать и стать невидимым до следующей своей атаки, сотворения заклинания или конца своего следующего хода. Количество использований этой возможности равно вашему бонусу мастерства. Оно восстанавливается после долгого отдыха. Feature/&PowerRangerSwiftBladeUncatchableTitle=Неуловимость Feature/&PowerReckless_Description=Броски атак ближнего боя выполняются с преимуществом, но враги тоже получают преимущество при бросках атаки по безудержному существу. @@ -1122,15 +1122,15 @@ Feature/&RangerArchetypeDescription=Выберите архетип следоп Feature/&RangerArchetypeTitle=Архетипы следопыта Feature/&RangerArmorProficiencyTitle=Мастерство ношения доспехов следопыта Feature/&RangerFavoredEnemyDescription=Даёт преимущество при проверках характеристик против существ этого типа и дополнительный урон против них, равный вашему уровню знания. -Feature/&RangerFavoredEnemyTitle=Главный враг +Feature/&RangerFavoredEnemyTitle=Избранный враг Feature/&RangerHunterEvasionDescription=При необходимости сделать спасбросок ловкости, чтобы получить половинный урон от эффекта вроде огненного дыхания красного дракона или заклинания «Разряд молнии», вы не получаете урона вообще при успешном спасброске и получаете только половину урона при провале спасброска. Feature/&RangerHunterEvasionTitle=Увёртливость Feature/&RangerHunterStandAgainstTheTideDescription=Если противник совершил атаку ближнего боя, но промахнулся, вы можете отреагировать и заставить его повторить эту же атаку против другого существа (кроме себя). Feature/&RangerHunterStandAgainstTheTideTitle=Против течения -Feature/&RangerNaturalExplorerByTypeDescription=Вы становитесь мастером жизни и передвижения на определённом типе ландшафта: {0}. -Feature/&RangerNaturalExplorerByTypeTitle=Природный исследователь: {0} -Feature/&RangerNaturalExplorerDescription=Вы становитесь мастером проживания и передвижения на определённом типе ландшафта. -Feature/&RangerNaturalExplorerTitle=Природный исследователь +Feature/&RangerNaturalExplorerByTypeDescription=Вы очень хорошо знакомы с одним видом природной среды и имеете большой опыт путешествий и выживания в регионах с таким климатом: {0}. +Feature/&RangerNaturalExplorerByTypeTitle=Исследователь природы: {0} +Feature/&RangerNaturalExplorerDescription=Вы очень хорошо знакомы с одним видом природной среды и имеете большой опыт путешествий и выживания в регионах с таким климатом. +Feature/&RangerNaturalExplorerTitle=Исследователь природы Feature/&RangerPrimevalAwarenessDescription=Обнаруживает поблизости присутствие определённых типов существ. Feature/&RangerPrimevalAwarenessTitle=Первобытное чутьё Feature/&RangerShadowTamerAtHomeInTheDarkDescription=Начиная с 15-го уровня вы владеете мастерством при спасбросках в тусклом свете или тьме. Если мастерство уже достигнуто, вы будете получать +1 при соответствующих бросках. diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt index cd95e7bb96..248f50ced2 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Feedback-ru-Unofficial.txt @@ -61,8 +61,8 @@ Feedback/&AdditionalDamageElementalAffinityFormat=Родство со стихи Feedback/&AdditionalDamageElementalAffinityLine={0} наносит дополнительный урон родством со стихиями, цель — противник {1} (+{2}) Feedback/&AdditionalDamageEnemyOfMagicFormat=Враг магии! Feedback/&AdditionalDamageEnemyOfMagicLine={0} является врагом магии и наносит больше урона (+{2}), цель — {1} -Feedback/&AdditionalDamageFavoredEnemyFormat=Главный враг! -Feedback/&AdditionalDamageFavoredEnemyLine={0} наносит дополнительный урон, цель — главный враг {1} (+{2}) +Feedback/&AdditionalDamageFavoredEnemyFormat=Избранный враг! +Feedback/&AdditionalDamageFavoredEnemyLine={0} наносит дополнительный урон, цель — избранный враг {1} (+{2}) Feedback/&AdditionalDamageFinisherFormat=Добивание Feedback/&AdditionalDamageFinisherLine={0} наносит дополнительно 1D6 урона раненым существам. Feedback/&AdditionalDamageGuardianFormat=Урон Стража! diff --git a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Modal-ru-Unofficial.txt b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Modal-ru-Unofficial.txt index 8bd531acdf..2d9460bb3f 100644 --- a/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Modal-ru-Unofficial.txt +++ b/SolastaUnfinishedBusiness/UnofficialTranslations/ru-Unofficial/Modal-ru-Unofficial.txt @@ -253,7 +253,7 @@ Modal/&ModioLoginSecurityCode=Введите код безопасности Modal/&ModioLoginTitle=Войдите, чтобы управлять модификациями Modal/&MonsterFilterAllTitle=Все монстры Modal/&MonsterListingCaption={0} концентрируется, чтобы почувствовать чудовищ поблизости… -Modal/&MonsterListingFavoredEnemyTitle=Главный враг +Modal/&MonsterListingFavoredEnemyTitle=Избранный враг Modal/&MonsterListingNotPerceivedTitle=Нет Modal/&MonsterListingPerceivedTitle=Присутствует Modal/&MultiplayerConnexionErrorDescription=Не удалось подключиться к многопользовательским сервисам Photon. Убедитесь в стабильности соединения и повторите попытку. From 431ec6ed53994ded3a8eb198a315ad40b2fa69fa Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Tue, 17 Dec 2024 15:07:54 -0800 Subject: [PATCH 40/42] tweak Restoring Touch and Divine Spark --- .../PowerClericDivineSpark.json | 2 +- .../PowerPaladinRestoringTouch.json | 2 +- .../PowerClericDivineSparkDamageNecrotic.json | 8 +-- .../PowerClericDivineSparkDamageRadiant.json | 8 +-- .../PowerClericDivineSparkHeal.json | 8 +-- ...PaladinRestoringTouchConditionBlinded.json | 2 +- ...PaladinRestoringTouchConditionCharmed.json | 2 +- ...adinRestoringTouchConditionFrightened.json | 2 +- ...ladinRestoringTouchConditionParalyzed.json | 2 +- ...PaladinRestoringTouchConditionStunned.json | 2 +- .../SpellPowerClericDivineSpark.json | 2 +- .../Models/2024ClericContext.cs | 60 +++++++++++++++---- .../Models/2024PaladinContext.cs | 21 ++++++- .../CursorLocationSelectTargetPatcher.cs | 42 ++++++++++--- .../Settings/zappastuff.xml | 2 + 15 files changed, 122 insertions(+), 43 deletions(-) diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json index 7c6a187c95..536fe412c8 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerClericDivineSpark.json @@ -179,7 +179,7 @@ "description": "Feature/&PowerClericDivineSparkDescription", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "6c1e944a-33eb-5e38-b221-c68b20b9b111", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json index b3275719f5..e09e733eeb 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerPaladinRestoringTouch.json @@ -264,7 +264,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json index 964575b658..f6b7745b2a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageNecrotic.json @@ -64,7 +64,7 @@ { "$type": "EffectForm, Assembly-CSharp", "formType": "Damage", - "addBonusMode": "None", + "addBonusMode": "AbilityBonus", "applyLevel": "DiceNumberByLevelTable", "levelType": "ClassLevel", "levelMultiplier": 1, @@ -229,7 +229,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "d68341b16cf6d4b40b5379cc787d5a7a", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -277,7 +277,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "5a9933a2c5cf40a4f9d2cc6906a0b9f6", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -429,7 +429,7 @@ "abilityScoreDetermination": "Explicit", "usesAbilityScoreName": "Charisma", "fixedUsesPerRecharge": 1, - "abilityScore": "Intelligence", + "abilityScore": "Wisdom", "attackHitComputation": "AbilityScore", "fixedAttackHit": 0, "abilityScoreBonusToAttack": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json index 2f38236ebb..6e966a7837 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkDamageRadiant.json @@ -64,7 +64,7 @@ { "$type": "EffectForm, Assembly-CSharp", "formType": "Damage", - "addBonusMode": "None", + "addBonusMode": "AbilityBonus", "applyLevel": "DiceNumberByLevelTable", "levelType": "ClassLevel", "levelMultiplier": 1, @@ -229,7 +229,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "295575c87e1cf7245be0e08840c7e148", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -277,7 +277,7 @@ }, "impactParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "6d989c439aa49474a8af0a13af540536", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -429,7 +429,7 @@ "abilityScoreDetermination": "Explicit", "usesAbilityScoreName": "Charisma", "fixedUsesPerRecharge": 1, - "abilityScore": "Intelligence", + "abilityScore": "Wisdom", "attackHitComputation": "AbilityScore", "fixedAttackHit": 0, "abilityScoreBonusToAttack": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json index 7f7df2837d..380fef8a85 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerClericDivineSparkHeal.json @@ -64,7 +64,7 @@ { "$type": "EffectForm, Assembly-CSharp", "formType": "Healing", - "addBonusMode": "None", + "addBonusMode": "AbilityBonus", "applyLevel": "No", "levelType": "ClassLevel", "levelMultiplier": 1, @@ -221,7 +221,7 @@ "$type": "EffectParticleParameters, Assembly-CSharp", "casterParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_AssetGUID": "34f0dc03c444b7d4b9cda7f2fedb34e6", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -245,7 +245,7 @@ }, "effectParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "ed804b962d30d5d4594418ac573ccc5e", "m_SubObjectName": "", "m_SubObjectType": "" }, @@ -421,7 +421,7 @@ "abilityScoreDetermination": "Explicit", "usesAbilityScoreName": "Charisma", "fixedUsesPerRecharge": 1, - "abilityScore": "Intelligence", + "abilityScore": "Wisdom", "attackHitComputation": "AbilityScore", "fixedAttackHit": 0, "abilityScoreBonusToAttack": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json index bb8029f2fe..3374058f58 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionBlinded.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json index eeefbc7ddd..551218a9ea 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionCharmed.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json index 601d8291ff..61c819892c 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionFrightened.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json index 8b6b6ae261..641509ae95 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionParalyzed.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json index e997deebf7..71341a3a5e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerPaladinRestoringTouchConditionStunned.json @@ -292,7 +292,7 @@ "delegatedToAction": false, "surrogateToSpell": null, "triggeredBySpecialMove": false, - "activationTime": "BonusAction", + "activationTime": "NoCost", "autoActivationRequiredTargetSenseType": "None", "autoActivationRequiredTargetCreatureTag": "", "autoActivationPowerTag": "", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json index c7afdb75d6..facaacb2f2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerClericDivineSpark.json @@ -174,7 +174,7 @@ "description": "Feature/&PowerClericDivineSparkDescription", "spriteReference": { "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", - "m_AssetGUID": "", + "m_AssetGUID": "6c1e944a-33eb-5e38-b221-c68b20b9b111", "m_SubObjectName": null, "m_SubObjectType": null }, diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index e47eccef0f..35663fee83 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -75,7 +75,7 @@ internal static partial class Tabletop2024Context private static readonly FeatureDefinitionPower PowerClericDivineSpark = FeatureDefinitionPowerBuilder .Create("PowerClericDivineSpark") .SetGuiPresentation(Category.Feature, - Sprites.GetSprite("PowerFarStep", Resources.PowerDivineSpark, 256, 128)) + Sprites.GetSprite("PowerDivineSpark", Resources.PowerDivineSpark, 256, 128)) .SetUsesFixed(ActivationTime.Action, RechargeRate.ChannelDivinity) .AddToDB(); @@ -100,7 +100,8 @@ private static void LoadClericChannelDivinity() EffectFormBuilder .Create() .SetBonusMode(AddBonusMode.AbilityBonus) - .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 1), (13, 2), (18, 3)) + // this doesn't seem to work with healing forms reason why the custom behavior + .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 2), (13, 3), (18, 4)) .SetHealingForm( HealingComputation.Dice, 0, DieType.D8, 1, false, HealingCap.MaximumHitPoints) .Build()) @@ -108,6 +109,9 @@ private static void LoadClericChannelDivinity() .Build()) .AddToDB(); + powerDivineSparkHeal.AddCustomSubFeatures( + new ModifyEffectDescriptionPowerDivineSparkHeal(powerDivineSparkHeal)); + var powerDivineSparkDamageNecrotic = FeatureDefinitionPowerSharedPoolBuilder .Create("PowerClericDivineSparkDamageNecrotic") .SetGuiPresentation(Category.Feature) @@ -354,7 +358,36 @@ internal static void SwitchClericSearUndead() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - internal sealed class ModifyEffectDescriptionPowerTurnUndead : IModifyEffectDescription + private sealed class ModifyEffectDescriptionPowerDivineSparkHeal(FeatureDefinitionPower powerDivineSparkHeal) + : IModifyEffectDescription + { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return definition == powerDivineSparkHeal; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + var level = character.GetClassLevel(Cleric); + var diceNumber = level switch + { + >= 18 => 4, + >= 13 => 3, + >= 7 => 2, + _ => 1 + }; + + effectDescription.EffectForms[0].HealingForm.diceNumber = diceNumber; + + return effectDescription; + } + } + + private sealed class ModifyEffectDescriptionPowerTurnUndead : IModifyEffectDescription { public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) { @@ -374,11 +407,9 @@ public EffectDescription GetEffectDescription( return effectDescription; } - var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); - var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); - var diceNumber = Math.Max(wisMod, 1); + var diceNumber = GetWisdomModifierMinimumOne(character); - SearUndeadDamageForm.DamageForm.diceNumber = diceNumber; + effectDescription.EffectForms[0].DamageForm.diceNumber = diceNumber; return effectDescription; } @@ -401,15 +432,20 @@ proficiencyName is not (SkillDefinitions.Arcana or SkillDefinitions.Religion)) return; } - var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); - var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); - var modifier = Math.Max(wisMod, 1); + var modifier = GetWisdomModifierMinimumOne(character); rollModifier += modifier; - modifierTrends.Add(new TrendInfo(modifier, - FeatureSourceType.CharacterFeature, + modifierTrends.Add(new TrendInfo(modifier, FeatureSourceType.CharacterFeature, PointPoolClericThaumaturgeCantrip.Name, PointPoolClericThaumaturgeCantrip)); } } + + private static int GetWisdomModifierMinimumOne(RulesetCharacter character) + { + var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); + var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); + + return Math.Max(wisMod, 1); + } } diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index 675f71d378..b45346143a 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -82,6 +82,9 @@ internal static partial class Tabletop2024Context ConditionDefinitions.ConditionStunned ]; + internal static readonly string[] RestoringTouchConditionNames = + RestoringTouchConditions.Select(c => c.Name).ToArray(); + private static void LoadPaladinRestoringTouch() { PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); @@ -239,6 +242,7 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, yield break; } + var aborted = false; var caster = action.ActingCharacter; var rulesetCaster = caster.RulesetCharacter; var target = action.ActionParams.TargetCharacters[0]; @@ -256,7 +260,7 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, continue; } - var power = GetDefinition( + var power = GetDefinition( $"PowerPaladinRestoringTouch{condition.Name}"); var usablePower = PowerProvider.Get(power, rulesetCaster); @@ -273,12 +277,25 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, usablePowerPool, [target], caster, - "RestoringTouch"); + "RestoringTouch", + reactionNotValidated: ReactionNotValidated); foreach (var usablePower in usablePowers) { rulesetCaster.UsablePowers.Remove(usablePower); } + + if (aborted) + { + yield break; + } + + continue; + + void ReactionNotValidated(ReactionRequestSpendBundlePower reactionRequest) + { + aborted = true; + } } } } diff --git a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs index ae2b063718..0aaf2cf783 100644 --- a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs @@ -9,6 +9,8 @@ using SolastaUnfinishedBusiness.Models; using UnityEngine; using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; namespace SolastaUnfinishedBusiness.Patches; @@ -139,6 +141,7 @@ public static void Prefix(params object[] parameters) public static void Postfix(CursorLocationSelectTarget __instance) { CursorMotionHelper.Activate(__instance); + if (!TryGetModifyTeleportEffectBehavior(__instance.ActionParams, out var modifyTeleportEffectBehavior)) { return; @@ -351,6 +354,7 @@ public static bool Prefix(CursorLocationSelectTarget __instance) bool canProceed; var enforceFullSelection = false; + if (__instance.actionParams is { RulesetEffect: RulesetEffectPower rulesetEffectPower }) { var filterTargetingCharacter = @@ -450,7 +454,9 @@ public static bool Prefix( return false; } - __instance.GameLocationSelectionService.SelectTarget(__instance.targetedCharacter); + var targetedCharacter = __instance.targetedCharacter; + + __instance.GameLocationSelectionService.SelectTarget(targetedCharacter); __instance.actionModifiersList.Add(__instance.actionModifier.Clone()); if (__instance.maxTargets > 0) @@ -500,8 +506,10 @@ public static bool Prefix( if (__instance.ActionParams.activeEffect is RulesetEffectPower rulesetEffect) { - if (rulesetEffect.PowerDefinition.RechargeRate == RechargeRate.HealingPool && - rulesetEffect.PowerDefinition.CostPerUse <= 0) + var powerDefinition = rulesetEffect.PowerDefinition; + + if (powerDefinition.RechargeRate == RechargeRate.HealingPool && + powerDefinition.CostPerUse <= 0) { if (__instance.effectDescription.EffectForms.Any(effectForm => effectForm.FormType == EffectForm.EffectFormType.Healing && @@ -510,12 +518,28 @@ public static bool Prefix( { flag3 = false; - var num = Mathf.Min(rulesetEffect.UsablePower.SpentPoints, - __instance.targetedCharacter.RulesetCharacter.MissingHitPoints); - - Gui.GuiService.GetScreen() - .ShowPower(rulesetEffect.PowerDefinition, 1, num, num, - rulesetEffect.UsablePower); + var rulesetTarget = targetedCharacter.RulesetCharacter; + var minValue = 1; + var maxValue = Mathf.Min( + rulesetEffect.UsablePower.SpentPoints, rulesetTarget.MissingHitPoints); + + //PATCH: support lay on hands special case + if (Main.Settings.EnablePaladinRestoringTouch2024 && + powerDefinition == PowerPaladinLayOnHands && + rulesetTarget.HasAnyConditionOfTypeOrSubType(Tabletop2024Context + .RestoringTouchConditionNames)) + { + var paladinLevel = rulesetTarget.GetClassLevel(Paladin); + + if (paladinLevel >= 14) + { + minValue = 0; + } + } + //END PATCH + + Gui.GuiService.GetScreen().ShowPower( + powerDefinition, minValue, maxValue, maxValue, rulesetEffect.UsablePower); } } } diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index 6f0fb06800..57274314b0 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -693,7 +693,9 @@ true true true + false true + true true true true From 110d91b8e9fb49953120ae6d874df4347cc6e2f8 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Tue, 17 Dec 2024 16:02:05 -0800 Subject: [PATCH 41/42] minor tweaks before release --- .../Models/2024ClericContext.cs | 39 ++------------- .../Models/2024PaladinContext.cs | 48 +++++-------------- .../CursorLocationSelectTargetPatcher.cs | 40 ++++------------ .../Subclasses/InnovationVitriolist.cs | 6 ++- 4 files changed, 32 insertions(+), 101 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs index 35663fee83..b4bbd3b7d9 100644 --- a/SolastaUnfinishedBusiness/Models/2024ClericContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024ClericContext.cs @@ -3,6 +3,7 @@ using System.Linq; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; +using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -100,18 +101,15 @@ private static void LoadClericChannelDivinity() EffectFormBuilder .Create() .SetBonusMode(AddBonusMode.AbilityBonus) - // this doesn't seem to work with healing forms reason why the custom behavior .SetDiceAdvancement(LevelSourceType.ClassLevel, 0, 20, (7, 2), (13, 3), (18, 4)) .SetHealingForm( HealingComputation.Dice, 0, DieType.D8, 1, false, HealingCap.MaximumHitPoints) .Build()) .SetParticleEffectParameters(CureWounds) .Build()) + .AddCustomSubFeatures(ClassHolder.Cleric) .AddToDB(); - powerDivineSparkHeal.AddCustomSubFeatures( - new ModifyEffectDescriptionPowerDivineSparkHeal(powerDivineSparkHeal)); - var powerDivineSparkDamageNecrotic = FeatureDefinitionPowerSharedPoolBuilder .Create("PowerClericDivineSparkDamageNecrotic") .SetGuiPresentation(Category.Feature) @@ -134,6 +132,7 @@ private static void LoadClericChannelDivinity() .SetCasterEffectParameters(FalseLife) .SetImpactEffectParameters(PowerWightLordRetaliate) .Build()) + .AddCustomSubFeatures(ClassHolder.Cleric) .AddToDB(); var powerDivineSparkDamageRadiant = FeatureDefinitionPowerSharedPoolBuilder @@ -158,6 +157,7 @@ private static void LoadClericChannelDivinity() .SetCasterEffectParameters(ShadowArmor) .SetImpactEffectParameters(PowerDomainBattleDecisiveStrike) .Build()) + .AddCustomSubFeatures(ClassHolder.Cleric) .AddToDB(); PowerBundle.RegisterPowerBundle(PowerClericDivineSpark, false, @@ -358,35 +358,6 @@ internal static void SwitchClericSearUndead() Cleric.FeatureUnlocks.Sort(Sorting.CompareFeatureUnlock); } - private sealed class ModifyEffectDescriptionPowerDivineSparkHeal(FeatureDefinitionPower powerDivineSparkHeal) - : IModifyEffectDescription - { - public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) - { - return definition == powerDivineSparkHeal; - } - - public EffectDescription GetEffectDescription( - BaseDefinition definition, - EffectDescription effectDescription, - RulesetCharacter character, - RulesetEffect rulesetEffect) - { - var level = character.GetClassLevel(Cleric); - var diceNumber = level switch - { - >= 18 => 4, - >= 13 => 3, - >= 7 => 2, - _ => 1 - }; - - effectDescription.EffectForms[0].HealingForm.diceNumber = diceNumber; - - return effectDescription; - } - } - private sealed class ModifyEffectDescriptionPowerTurnUndead : IModifyEffectDescription { public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) @@ -445,7 +416,7 @@ private static int GetWisdomModifierMinimumOne(RulesetCharacter character) { var wisdom = character.TryGetAttributeValue(AttributeDefinitions.Wisdom); var wisMod = AttributeDefinitions.ComputeAbilityScoreModifier(wisdom); - + return Math.Max(wisMod, 1); } } diff --git a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs index b45346143a..a192750ad5 100644 --- a/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs +++ b/SolastaUnfinishedBusiness/Models/2024PaladinContext.cs @@ -82,9 +82,6 @@ internal static partial class Tabletop2024Context ConditionDefinitions.ConditionStunned ]; - internal static readonly string[] RestoringTouchConditionNames = - RestoringTouchConditions.Select(c => c.Name).ToArray(); - private static void LoadPaladinRestoringTouch() { PowerPaladinLayOnHands.AddCustomSubFeatures(new PowerOrSpellFinishedByMeRestoringTouch()); @@ -249,53 +246,34 @@ public IEnumerator OnPowerOrSpellFinishedByMe(CharacterActionMagicEffect action, var rulesetTarget = target.RulesetCharacter; var usablePowerPool = PowerProvider.Get(PowerPaladinRestoringTouch, rulesetCaster); - while (rulesetCaster.GetRemainingUsesOfPower(usablePowerPool) > 0) + while (!aborted && rulesetCaster.GetRemainingUsesOfPower(usablePowerPool) > 0) { - var usablePowers = new List(); - - foreach (var condition in RestoringTouchConditions) - { - if (!rulesetTarget.HasConditionOfTypeOrSubType(condition.Name)) - { - continue; - } - - var power = GetDefinition( - $"PowerPaladinRestoringTouch{condition.Name}"); - var usablePower = PowerProvider.Get(power, rulesetCaster); - - usablePowers.Add(usablePower); - rulesetCaster.UsablePowers.Add(usablePower); - } - - if (usablePowers.Count == 0) + var usablePowers = RestoringTouchConditions + .Where(x => rulesetTarget.HasConditionOfTypeOrSubType(x.Name)) + .Select(x => + PowerProvider.Get( + GetDefinition($"PowerPaladinRestoringTouch{x.Name}"), + rulesetCaster)) + .ToArray(); + + if (usablePowers.Length == 0) { yield break; } + rulesetCaster.UsablePowers.AddRange(usablePowers); + yield return caster.MyReactToSpendPowerBundle( usablePowerPool, [target], caster, "RestoringTouch", - reactionNotValidated: ReactionNotValidated); + reactionNotValidated: _ => aborted = true); foreach (var usablePower in usablePowers) { rulesetCaster.UsablePowers.Remove(usablePower); } - - if (aborted) - { - yield break; - } - - continue; - - void ReactionNotValidated(ReactionRequestSpendBundlePower reactionRequest) - { - aborted = true; - } } } } diff --git a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs index 0aaf2cf783..567284fe91 100644 --- a/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CursorLocationSelectTargetPatcher.cs @@ -9,8 +9,6 @@ using SolastaUnfinishedBusiness.Models; using UnityEngine; using static RuleDefinitions; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; -using static SolastaUnfinishedBusiness.Api.DatabaseHelper.FeatureDefinitionPowers; namespace SolastaUnfinishedBusiness.Patches; @@ -454,9 +452,7 @@ public static bool Prefix( return false; } - var targetedCharacter = __instance.targetedCharacter; - - __instance.GameLocationSelectionService.SelectTarget(targetedCharacter); + __instance.GameLocationSelectionService.SelectTarget(__instance.targetedCharacter); __instance.actionModifiersList.Add(__instance.actionModifier.Clone()); if (__instance.maxTargets > 0) @@ -506,10 +502,8 @@ public static bool Prefix( if (__instance.ActionParams.activeEffect is RulesetEffectPower rulesetEffect) { - var powerDefinition = rulesetEffect.PowerDefinition; - - if (powerDefinition.RechargeRate == RechargeRate.HealingPool && - powerDefinition.CostPerUse <= 0) + if (rulesetEffect.PowerDefinition.RechargeRate == RechargeRate.HealingPool && + rulesetEffect.PowerDefinition.CostPerUse <= 0) { if (__instance.effectDescription.EffectForms.Any(effectForm => effectForm.FormType == EffectForm.EffectFormType.Healing && @@ -518,28 +512,12 @@ public static bool Prefix( { flag3 = false; - var rulesetTarget = targetedCharacter.RulesetCharacter; - var minValue = 1; - var maxValue = Mathf.Min( - rulesetEffect.UsablePower.SpentPoints, rulesetTarget.MissingHitPoints); - - //PATCH: support lay on hands special case - if (Main.Settings.EnablePaladinRestoringTouch2024 && - powerDefinition == PowerPaladinLayOnHands && - rulesetTarget.HasAnyConditionOfTypeOrSubType(Tabletop2024Context - .RestoringTouchConditionNames)) - { - var paladinLevel = rulesetTarget.GetClassLevel(Paladin); - - if (paladinLevel >= 14) - { - minValue = 0; - } - } - //END PATCH - - Gui.GuiService.GetScreen().ShowPower( - powerDefinition, minValue, maxValue, maxValue, rulesetEffect.UsablePower); + var num = Mathf.Min(rulesetEffect.UsablePower.SpentPoints, + __instance.targetedCharacter.RulesetCharacter.MissingHitPoints); + + Gui.GuiService.GetScreen() + .ShowPower(rulesetEffect.PowerDefinition, 1, num, num, + rulesetEffect.UsablePower); } } } diff --git a/SolastaUnfinishedBusiness/Subclasses/InnovationVitriolist.cs b/SolastaUnfinishedBusiness/Subclasses/InnovationVitriolist.cs index 122eb6a1f4..f4e7d29884 100644 --- a/SolastaUnfinishedBusiness/Subclasses/InnovationVitriolist.cs +++ b/SolastaUnfinishedBusiness/Subclasses/InnovationVitriolist.cs @@ -113,7 +113,8 @@ public InnovationVitriolist() .Build(), EffectFormBuilder.ConditionForm(conditionCorroded)) .Build()) - .AddCustomSubFeatures(ModifyPowerVisibility.Hidden) + // required as in a feature set + .AddCustomSubFeatures(ClassHolder.Inventor, ModifyPowerVisibility.Hidden) .AddToDB(); // Misery @@ -155,6 +156,7 @@ public InnovationVitriolist() .Build(), EffectFormBuilder.ConditionForm(conditionMiserable)) .Build()) + // required as in a feature set .AddCustomSubFeatures(ClassHolder.Inventor, ModifyPowerVisibility.Hidden) .AddToDB(); @@ -187,6 +189,7 @@ public InnovationVitriolist() .Build(), EffectFormBuilder.ConditionForm(ConditionDefinitions.ConditionPoisoned)) .Build()) + // required as in a feature set .AddCustomSubFeatures(ClassHolder.Inventor, ModifyPowerVisibility.Hidden) .AddToDB(); @@ -214,6 +217,7 @@ public InnovationVitriolist() .Build(), EffectFormBuilder.ConditionForm(ConditionDefinitions.ConditionHindered)) .Build()) + // required as in a feature set .AddCustomSubFeatures(ClassHolder.Inventor, ModifyPowerVisibility.Hidden) .AddToDB(); From 12c947d1ba1f7d6a19136b76deaf4cd703891aed Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Tue, 17 Dec 2024 16:55:04 -0800 Subject: [PATCH 42/42] prepare for `1.5.97.42` release --- SolastaUnfinishedBusiness/ChangelogHistory.txt | 4 ++-- SolastaUnfinishedBusiness/Info.json | 2 +- SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index f649039d91..0a94fd9b55 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,7 +1,7 @@ 1.5.97.42: -- added Cleric, Paladin, Ranger, and Sorcerer tabletop 2024 settings -- fixed custom models rendering, and off-hand Katanas +- added new Cleric, Paladin, Ranger, and Sorcerer tabletop 2024 settings +- fixed custom models rendering on map, and katana models size / texture KNOWN ISSUES: diff --git a/SolastaUnfinishedBusiness/Info.json b/SolastaUnfinishedBusiness/Info.json index 93d0b33938..65ebd3f278 100644 --- a/SolastaUnfinishedBusiness/Info.json +++ b/SolastaUnfinishedBusiness/Info.json @@ -1,7 +1,7 @@ { "Id": "SolastaUnfinishedBusiness", "DisplayName": "[Un] Finished Business", - "Version": "1.5.97.41", + "Version": "1.5.97.42", "GameVersion": "1.5.97", "ManagerVersion": "0.24.0", "AssemblyName": "SolastaUnfinishedBusiness.dll", diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj index 2678490c9a..117dc6a4c0 100644 --- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj +++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj @@ -3,7 +3,7 @@ 13 net481 - 1.5.97.41 + 1.5.97.42 https://github.com/SolastaMods/SolastaUnfinishedBusiness git Debug Install;Release Install