From 69c5c62596d8a166b000cea503ebb325e3196b67 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sat, 27 Jan 2024 22:15:02 -0800 Subject: [PATCH 01/24] moonlit WIP --- .../Subclasses/PatronMoonlitScion.cs | 352 ++++++++++++++++++ .../en/SubClasses/PatronMoonlitScion-en.txt | 24 ++ 2 files changed, 376 insertions(+) create mode 100644 SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs create mode 100644 SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs new file mode 100644 index 0000000000..292dca158f --- /dev/null +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -0,0 +1,352 @@ +using System.Collections; +using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Api; +using SolastaUnfinishedBusiness.Api.GameExtensions; +using SolastaUnfinishedBusiness.Behaviors; +using SolastaUnfinishedBusiness.Behaviors.Specific; +using SolastaUnfinishedBusiness.Builders; +using SolastaUnfinishedBusiness.Builders.Features; +using SolastaUnfinishedBusiness.CustomUI; +using SolastaUnfinishedBusiness.Interfaces; +using SolastaUnfinishedBusiness.Properties; +using SolastaUnfinishedBusiness.Validators; +using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellListDefinitions; + +namespace SolastaUnfinishedBusiness.Subclasses; + +[UsedImplicitly] +public sealed class PatronMoonlitScion : AbstractSubclass +{ + private const string Name = "MoonlitScion"; + + public PatronMoonlitScion() + { + // LEVEL 01 + + // Expanded Spell List + + var spellListMoonlit = SpellListDefinitionBuilder + .Create(SpellListWizard, $"SpellList{Name}") + .SetGuiPresentationNoContent(true) + .ClearSpells() + .SetSpellsAtLevel(1, FaerieFire, Sleep) + .SetSpellsAtLevel(2, MoonBeam, SeeInvisibility) + .SetSpellsAtLevel(3, Daylight, Slow) + .SetSpellsAtLevel(4, GreaterInvisibility, GuardianOfFaith) + .SetSpellsAtLevel(5, ConeOfCold, GreaterRestoration) + .FinalizeSpells(true, 9) + .AddToDB(); + + var magicAffinityMoonlitExpandedSpells = FeatureDefinitionMagicAffinityBuilder + .Create($"MagicAffinity{Name}ExpandedSpells") + .SetGuiPresentation("MagicAffinityPatronExpandedSpells", Category.Feature) + .SetExtendedSpellList(spellListMoonlit) + .AddToDB(); + + // Lunar Cloak + + var powerLunarCloak = FeatureDefinitionPowerBuilder + .Create($"Power{Name}LunarCloak") + .SetGuiPresentation(Category.Feature) + .SetUsesProficiencyBonus(ActivationTime.BonusAction) + .AddToDB(); + + var lightSourceForm = + FaerieFire.EffectDescription.GetFirstFormOfType(EffectForm.EffectFormType.LightSource); + + var powerLunarRadianceNoCost = FeatureDefinitionPowerBuilder + .Create($"Power{Name}LunarRadianceNoCost") + .SetGuiPresentation($"Power{Name}LunarRadiance", Category.Feature) + .SetUsesFixed(ActivationTime.NoCost) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) + .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8)) + .SetParticleEffectParameters(ShadowDagger) + .Build()) + .AddToDB(); + + var conditionFullMoonNoCost = ConditionDefinitionBuilder + .Create($"Condition{Name}FullMoonNoCost") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures(powerLunarRadianceNoCost) + .SetSpecialInterruptions(ConditionInterruption.AnyBattleTurnEnd) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + var powerLunarRadiance = FeatureDefinitionPowerBuilder + .Create($"Power{Name}LunarRadiance") + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.BonusAction) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) + .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8)) + .SetParticleEffectParameters(ShadowDagger) + .Build()) + .AddToDB(); + + var conditionFullMoon = ConditionDefinitionBuilder + .Create($"Condition{Name}FullMoon") + .SetGuiPresentation(Category.Condition) + .SetFeatures(powerLunarRadianceNoCost, powerLunarRadiance) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + powerLunarRadianceNoCost.AddCustomSubFeatures( + ValidatorsValidatePowerUse.InCombat, + new MagicEffectFinishedByMeNoCost(powerLunarRadiance, conditionFullMoonNoCost)); + + var powerFullMoon = FeatureDefinitionPowerSharedPoolBuilder + .Create($"Power{Name}FullMoon") + .SetGuiPresentation(Category.Feature) + .SetSharedPool(ActivationTime.BonusAction, powerLunarCloak) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Minute, 1) + .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) + .SetEffectForms( + EffectFormBuilder.ConditionForm(conditionFullMoon), + EffectFormBuilder.ConditionForm(conditionFullMoonNoCost), + EffectFormBuilder + .Create() + .SetLightSourceForm( + LightSourceType.Basic, 3, 3, + lightSourceForm.lightSourceForm.color, + lightSourceForm.lightSourceForm.graphicsPrefabReference) + .Build()) + .Build()) + .AddToDB(); + + var powerLunarChillNoCost = FeatureDefinitionPowerBuilder + .Create($"Power{Name}LunarChillNoCost") + .SetGuiPresentation($"Power{Name}LunarChill", Category.Feature) + .SetUsesFixed(ActivationTime.NoCost) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) + .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) + .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8)) + .SetParticleEffectParameters(ShadowDagger) + .Build()) + .AddToDB(); + + var conditionNewMoonNoCost = ConditionDefinitionBuilder + .Create($"Condition{Name}NewMoonNoCost") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures(powerLunarChillNoCost) + .SetSpecialInterruptions(ConditionInterruption.AnyBattleTurnEnd) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + var powerLunarChill = FeatureDefinitionPowerBuilder + .Create($"Power{Name}LunarChill") + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.BonusAction) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) + .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) + .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8)) + .SetParticleEffectParameters(ShadowDagger) + .Build()) + .AddToDB(); + + var conditionNewMoon = ConditionDefinitionBuilder + .Create($"Condition{Name}NewMoon") + .SetGuiPresentation(Category.Condition) + .SetFeatures(powerLunarChill) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + powerLunarChillNoCost.AddCustomSubFeatures( + ValidatorsValidatePowerUse.InCombat, + new MagicEffectFinishedByMeNoCost(powerLunarChill, conditionNewMoonNoCost)); + + var powerNewMoon = FeatureDefinitionPowerSharedPoolBuilder + .Create($"Power{Name}NewMoon") + .SetGuiPresentation(Category.Feature) + .SetSharedPool(ActivationTime.BonusAction, powerLunarCloak) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Minute, 1) + .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) + .SetEffectForms( + EffectFormBuilder.ConditionForm(conditionNewMoon), + EffectFormBuilder.ConditionForm(conditionNewMoonNoCost)) + .Build()) + .AddToDB(); + + var featureSetLunarCloak = FeatureDefinitionFeatureSetBuilder + .Create($"FeatureSet{Name}LunarCloak") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet(powerLunarCloak, powerFullMoon, powerNewMoon) + .AddToDB(); + + // LEVEL 06 + + // Midnight's Blessing + + var effectFormFullMoonMidnightBlessing = EffectFormBuilder.ConditionForm( + ConditionDefinitionBuilder + .Create($"Condition{Name}FullMoonMidnightBlessing") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures(DatabaseHelper.FeatureDefinitionDamageAffinitys.DamageAffinityRadiantResistance) + .AddToDB(), ConditionForm.ConditionOperation.Add, true, true); + + var effectFormNewMoonMidnightBlessing = EffectFormBuilder.ConditionForm( + ConditionDefinitionBuilder + .Create($"Condition{Name}NewMoonMidnightBlessing") + .SetGuiPresentationNoContent(true) + .SetSilent(Silent.WhenAddedOrRemoved) + .SetFeatures(DatabaseHelper.FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance) + .AddToDB(), ConditionForm.ConditionOperation.Add, true, true); + + var powerMidnightBlessing = FeatureDefinitionPowerBuilder + .Create($"Power{Name}MidnightBlessing") + .SetGuiPresentation(Category.Feature, MoonBeam) + .SetUsesFixed(ActivationTime.Action, RechargeRate.LongRest) + .SetEffectDescription( + EffectDescriptionBuilder + .Create(MoonBeam) + .AddEffectForms( + EffectFormBuilder + .Create() + .SetTempHpForm(6) + .Build()) + .Build()) + .AddToDB(); + + // LEVEL 10 + + // Lunar Embrace + + var featureLunarEmbrace = FeatureDefinitionBuilder + .Create($"Feature{Name}LunarEmbrace") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + + // LEVEL 14 + + var powerMoonlightGuise = FeatureDefinitionPowerBuilder + .Create($"Power{Name}MoonlightGuise") + .SetGuiPresentation(Category.Feature) + .SetUsesFixed(ActivationTime.Reaction) + .SetReactionContext(ExtraReactionContext.Custom) + .AddToDB(); + + // MAIN + + PowerBundle.RegisterPowerBundle(powerLunarCloak, false, powerFullMoon, powerNewMoon); + + powerLunarRadianceNoCost.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + powerLunarRadianceNoCost, effectFormFullMoonMidnightBlessing)); + powerLunarRadiance.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + powerLunarRadiance, effectFormFullMoonMidnightBlessing)); + powerLunarChillNoCost.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + powerLunarChillNoCost, effectFormNewMoonMidnightBlessing)); + powerLunarChill.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + powerLunarChill, effectFormNewMoonMidnightBlessing)); + + Subclass = CharacterSubclassDefinitionBuilder + .Create($"Patron{Name}") + .SetGuiPresentation(Category.Subclass, Sprites.GetSprite(Name, Resources.PatronMoonlit, 256)) + .AddFeaturesAtLevel(1, magicAffinityMoonlitExpandedSpells, featureSetLunarCloak) + .AddFeaturesAtLevel(6, powerMidnightBlessing) + .AddFeaturesAtLevel(10, featureLunarEmbrace) + .AddFeaturesAtLevel(14, powerMoonlightGuise) + .AddToDB(); + } + + internal override CharacterClassDefinition Klass => DatabaseHelper.CharacterClassDefinitions.Warlock; + + internal override CharacterSubclassDefinition Subclass { get; } + + internal override FeatureDefinitionSubclassChoice SubclassChoice => DatabaseHelper.FeatureDefinitionSubclassChoices + .SubclassChoiceWarlockOtherworldlyPatrons; + + // ReSharper disable once UnassignedGetOnlyAutoProperty + internal override DeityDefinition DeityDefinition { get; } + + private sealed class MagicEffectFinishedByMeNoCost( + FeatureDefinitionPower powerBonusAction, + // ReSharper disable once SuggestBaseTypeForParameterInConstructor + ConditionDefinition conditionFree) : IMagicEffectFinishedByMe + { + public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + var rulesetCharacter = action.ActingCharacter.RulesetCharacter; + var usablePower = PowerProvider.Get(powerBonusAction, rulesetCharacter); + + rulesetCharacter.UsePower(usablePower); + + if (rulesetCharacter.TryGetConditionOfCategoryAndType( + AttributeDefinitions.TagEffect, conditionFree.Name, out var activeCondition)) + { + rulesetCharacter.RemoveCondition(activeCondition); + } + + yield break; + } + } + + private sealed class ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + // ReSharper disable once SuggestBaseTypeForParameterInConstructor + FeatureDefinitionPower power, + EffectForm midnightBlessing) : IModifyEffectDescription + { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return definition == power; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + var levels = character.GetClassLevel(DatabaseHelper.CharacterClassDefinitions.Warlock); + + // midnight blessing + if (levels < 6) + { + return effectDescription; + } + + effectDescription.EffectForms.Add(midnightBlessing); + + // lunar embrace + if (levels < 10) + { + return effectDescription; + } + + var damageForm = effectDescription.FindFirstDamageForm(); + + if (damageForm == null) + { + return effectDescription; + } + + damageForm.diceNumber = 2; + + return effectDescription; + } + } +} diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt new file mode 100644 index 0000000000..46871d2512 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -0,0 +1,24 @@ +Condition/&ConditionMoonlitScionFullMoonDescription=Full Moon +Condition/&ConditionMoonlitScionFullMoonTitle=Full Moon +Condition/&ConditionMoonlitScionNewMoonDescription=New Moon +Condition/&ConditionMoonlitScionNewMoonTitle=New Moon +Feature/&FeatureMoonlitScionLunarEmbraceDescription=The damage of your Lunar Cloak increases to 2d8. In addition, whenever you conjure a cloak, you gain flying speed equal to your walking speed for the duration of the cloak. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Lunar Embrace +Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn.\nNew Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in nonmagical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Lunar Cloak +Feature/&PowerMoonlitScionFullMoonDescription=You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. +Feature/&PowerMoonlitScionFullMoonTitle=Full Moon +Feature/&PowerMoonlitScionLunarChillDescription=You can momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. +Feature/&PowerMoonlitScionLunarChillTitle=Lunar Chill +Feature/&PowerMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon\nNew Moon +Feature/&PowerMoonlitScionLunarCloakTitle=Lunar Cloak +Feature/&PowerMoonlitScionLunarRadianceDescription=You can momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. +Feature/&PowerMoonlitScionLunarRadianceTitle=Lunar Radiance +Feature/&PowerMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven’t already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute and taking damage cannot break your concentration for this spell. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Midnight Blessing +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Whenever a creature damages you, you can use your reaction to become invisible until the end of your next turn. You can use this feature once per short rest. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Moonlight Guise +Feature/&PowerMoonlitScionNewMoonDescription=You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in nonmagical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. +Feature/&PowerMoonlitScionNewMoonTitle=New Moon +Subclass/&PatronMoonlitScionDescription=Your patron is a spirit of the moon, an entity that embodies the cyclical nature of light and darkness. These spirits seek to maintain the power of the moon over the night sky while keeping profane powers that stalk the darkness at bay and task their warlocks with the same, granting them command over the powers of the moon and its effects. +Subclass/&PatronMoonlitScionTitle=The Moonlit From 633b9002b789037f25b226310e816d7c0ac1a379 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 08:02:47 -0800 Subject: [PATCH 02/24] gadgets should not enforce disadvantage under lighting and obscurement rules --- SolastaUnfinishedBusiness/ChangelogHistory.txt | 6 +++++- .../Models/LightingAndObscurementContext.cs | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 48c0c5c67d..45b0017ff0 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,4 +1,8 @@ -1.5.94.47: +1.5.94.48: + +- gadgets should not enforce disadvantage under lighting and obscurement rules + +1.5.94.47: - added Gameplay > Rules > 'Cold Resistance also grants immunity to chilled condition' - added Gameplay > Rules > 'Cold Immunity also grants immunity to chilled and frozen conditions' diff --git a/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs b/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs index 2af0c49b2b..f0a707bd9f 100644 --- a/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs +++ b/SolastaUnfinishedBusiness/Models/LightingAndObscurementContext.cs @@ -522,7 +522,7 @@ internal static bool MyIsCellPerceivedByCharacter( // gadgets cannot perceive anything if (sensor.RulesetActor is RulesetGadget) { - return true; + return false; } // let vanilla do the heavy lift on perception From 0695243bf5744b3833856b7a217c8cee1ba1c69e Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 08:53:20 -0800 Subject: [PATCH 03/24] improve 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' --- .../FeatDefinition/FeatFrostAdaptation.json | 2 - .../DamageAffinityOligathHotBlooded.json | 4 +- .../MonsterDefinition/RisenGhost.json | 3 +- .../WildShapeWaterElemental.json | 3 +- .../Api/DatabaseHelper-RELEASE.cs | 6 +++ .../ChangelogHistory.txt | 3 +- SolastaUnfinishedBusiness/Feats/OtherFeats.cs | 5 +- .../Models/SrdAndHouseRulesContext.cs | 53 +++++++++++++++++++ SolastaUnfinishedBusiness/Races/Oligath.cs | 5 +- .../Translations/de/Settings-de.txt | 2 +- .../Translations/en/Settings-en.txt | 2 +- .../Translations/es/Settings-es.txt | 2 +- .../Translations/fr/Settings-fr.txt | 2 +- .../Translations/it/Settings-it.txt | 2 +- .../Translations/ja/Settings-ja.txt | 2 +- .../Translations/ko/Settings-ko.txt | 2 +- .../Translations/pt-BR/Settings-pt-BR.txt | 2 +- .../Translations/ru/Settings-ru.txt | 2 +- .../Translations/zh-CN/Settings-zh-CN.txt | 2 +- 19 files changed, 78 insertions(+), 26 deletions(-) diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFrostAdaptation.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFrostAdaptation.json index 832cabc27d..68fb344bdc 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFrostAdaptation.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatDefinition/FeatFrostAdaptation.json @@ -13,8 +13,6 @@ "knownFeatsPrerequisite": [], "features": [ "Definition:AttributeModifierFeatFrostAdaptation:b499b6ea-17e6-583d-9532-b1bff792c577", - "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980", - "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a", "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd" ], "guiPresentation": { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/DamageAffinityOligathHotBlooded.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/DamageAffinityOligathHotBlooded.json index 50a5739a85..790b0cdc3d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/DamageAffinityOligathHotBlooded.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/DamageAffinityOligathHotBlooded.json @@ -1,9 +1,7 @@ { "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", "featureSet": [ - "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a", - "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", - "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980" + "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd" ], "mode": "Union", "ancestryDamageTypeMap": [], diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json index 3b7f1f606e..5dbca7d26b 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json @@ -68,8 +68,7 @@ "Definition:DamageAffinityAcidResistance:10a85b220b55a28479e26b695ba7392d", "Definition:DamageAffinityThunderResistance:510045c677352854ca27ebea37c85d02", "Definition:MoveModeMove8:4c110104739c99e4d920529a058ab2e2", - "Definition:ConditionAffinityHinderedByFrostImmunity:f0b82f8e00ab71b499cba40f950a034b", - "Definition:ConditionAffinityWeatherChilledInsteadOfFrozenImmunity:b63fc74bef7f98047b90c40a724a4f10" + "Definition:ConditionAffinityHinderedByFrostImmunity:f0b82f8e00ab71b499cba40f950a034b" ], "attackIterations": [ { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json index 6697a5025e..a89c1249d3 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json @@ -112,8 +112,7 @@ "Definition:DamageAffinityBludgeoningResistance:956f9745b15c6904d87322861723d5c7", "Definition:DamageAffinityColdImmunity:de8ec1fc795a48a41b7cece77d95bc1c", "Definition:DamageAffinityFireVulnerability:3f6fefd9cd5a7e442b3173bafed47822", - "Definition:PowerIceElementalBlizzard:7415e71a3e5e7ab45b5aaf24aa74f108", - "Definition:ConditionAffinityWeatherChilledInsteadOfFrozenImmunity:b63fc74bef7f98047b90c40a724a4f10" + "Definition:PowerIceElementalBlizzard:7415e71a3e5e7ab45b5aaf24aa74f108" ], "attackIterations": [ { diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 1e15ca8ac5..5b6b66e77c 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -1327,6 +1327,12 @@ internal static FeatureDefinitionConditionAffinity internal static FeatureDefinitionConditionAffinity ConditionAffinityWeatherChilledImmunity { get; } = GetDefinition("ConditionAffinityWeatherChilledImmunity"); + internal static FeatureDefinitionConditionAffinity ConditionAffinityWeatherChilledInsteadOfFrozenImmunity + { + get; + } = + GetDefinition("ConditionAffinityWeatherChilledInsteadOfFrozenImmunity"); + internal static FeatureDefinitionConditionAffinity ConditionAffinityWeatherFrozenImmunity { get; } = GetDefinition("ConditionAffinityWeatherFrozenImmunity"); } diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 45b0017ff0..68adab3bd2 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,6 +1,7 @@ 1.5.94.48: -- gadgets should not enforce disadvantage under lighting and obscurement rules +- fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules enabled +- improved 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' 1.5.94.47: diff --git a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs index 99749da7db..a73b87a498 100644 --- a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs @@ -167,6 +167,7 @@ private static FeatDefinitionWithPrerequisites BuildEldritchAdept() private static FeatDefinition BuildFrostAdaptation() { + // chilled and frozen immunities are handled by srd house rules now return FeatDefinitionBuilder .Create("FeatFrostAdaptation") .SetFeatures( @@ -176,9 +177,7 @@ private static FeatDefinition BuildFrostAdaptation() .SetModifier(AttributeModifierOperation.Additive, AttributeDefinitions.Constitution, 1) .AddToDB(), - FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance, - FeatureDefinitionConditionAffinitys.ConditionAffinityWeatherChilledImmunity, - FeatureDefinitionConditionAffinitys.ConditionAffinityWeatherFrozenImmunity) + FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance) .SetGuiPresentation(Category.Feat) .AddToDB(); } diff --git a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs index 6df4581f77..bc2c60d30b 100644 --- a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs +++ b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs @@ -536,6 +536,40 @@ private static void BuildConjureElementalInvisibleStalker() internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() { + foreach (var featureSet in DatabaseRepository.GetDatabase()) + { + if (Main.Settings.ColdResistanceAlsoGrantsImmunityToChilledCondition) + { + if (featureSet.FeatureSet.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance)) + { + featureSet.FeatureSet.TryAdd(ConditionAffinityWeatherChilledImmunity); + featureSet.FeatureSet.TryAdd(ConditionAffinityWeatherFrozenImmunity); + } + } + else + { + featureSet.FeatureSet.Remove(ConditionAffinityWeatherChilledImmunity); + featureSet.FeatureSet.Remove(ConditionAffinityWeatherFrozenImmunity); + } + + if (Main.Settings.ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition) + { + // ReSharper disable once InvertIf + if (featureSet.FeatureSet.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdImmunity)) + { + featureSet.FeatureSet.TryAdd(ConditionAffinityWeatherChilledImmunity); + featureSet.FeatureSet.TryAdd(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); + featureSet.FeatureSet.TryAdd(ConditionAffinityWeatherFrozenImmunity); + } + } + else + { + featureSet.FeatureSet.Remove(ConditionAffinityWeatherChilledImmunity); + featureSet.FeatureSet.Remove(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); + featureSet.FeatureSet.Remove(ConditionAffinityWeatherFrozenImmunity); + } + } + foreach (var monster in DatabaseRepository.GetDatabase()) { if (Main.Settings.ColdResistanceAlsoGrantsImmunityToChilledCondition) @@ -543,11 +577,13 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() if (monster.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance)) { monster.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); + monster.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); } } else { monster.Features.Remove(ConditionAffinityWeatherChilledImmunity); + monster.Features.Remove(ConditionAffinityWeatherFrozenImmunity); } if (Main.Settings.ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition) @@ -556,12 +592,14 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() if (monster.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdImmunity)) { monster.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); + monster.Features.TryAdd(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); monster.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); } } else { monster.Features.Remove(ConditionAffinityWeatherChilledImmunity); + monster.Features.Remove(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); monster.Features.Remove(ConditionAffinityWeatherFrozenImmunity); } } @@ -573,11 +611,13 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() if (condition.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance)) { condition.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); + condition.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); } } else { condition.Features.Remove(ConditionAffinityWeatherChilledImmunity); + condition.Features.Remove(ConditionAffinityWeatherFrozenImmunity); } if (Main.Settings.ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition) @@ -586,12 +626,14 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() if (condition.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdImmunity)) { condition.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); + condition.Features.TryAdd(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); condition.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); } } else { condition.Features.Remove(ConditionAffinityWeatherChilledImmunity); + condition.Features.Remove(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); condition.Features.Remove(ConditionAffinityWeatherFrozenImmunity); } } @@ -609,11 +651,16 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() { featureDefinition = ConditionAffinityWeatherChilledImmunity }); + item.staticProperties.TryAdd(new ItemPropertyDescription(itemProperty) + { + featureDefinition = ConditionAffinityWeatherFrozenImmunity + }); } } else { item.staticProperties.RemoveAll(x => x.FeatureDefinition == ConditionAffinityWeatherChilledImmunity); + item.staticProperties.RemoveAll(x => x.FeatureDefinition == ConditionAffinityWeatherFrozenImmunity); } if (Main.Settings.ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition) @@ -629,6 +676,10 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() featureDefinition = ConditionAffinityWeatherChilledImmunity }); item.staticProperties.TryAdd(new ItemPropertyDescription(itemProperty) + { + featureDefinition = ConditionAffinityWeatherChilledInsteadOfFrozenImmunity + }); + item.staticProperties.TryAdd(new ItemPropertyDescription(itemProperty) { featureDefinition = ConditionAffinityWeatherFrozenImmunity }); @@ -637,6 +688,8 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() else { item.staticProperties.RemoveAll(x => x.FeatureDefinition == ConditionAffinityWeatherChilledImmunity); + item.staticProperties.RemoveAll(x => + x.FeatureDefinition == ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); item.staticProperties.RemoveAll(x => x.FeatureDefinition == ConditionAffinityWeatherFrozenImmunity); } } diff --git a/SolastaUnfinishedBusiness/Races/Oligath.cs b/SolastaUnfinishedBusiness/Races/Oligath.cs index a087075615..6f3ed7740a 100644 --- a/SolastaUnfinishedBusiness/Races/Oligath.cs +++ b/SolastaUnfinishedBusiness/Races/Oligath.cs @@ -58,14 +58,13 @@ private static CharacterRaceDefinition BuildOligath() .SetProficiencies(ProficiencyType.Skill, SkillDefinitions.Athletics) .AddToDB(); + // chilled and frozen immunities are handled by srd house rules now var damageAffinityOligathHotBlooded = FeatureDefinitionFeatureSetBuilder .Create($"DamageAffinity{Name}HotBlooded") .SetGuiPresentation(Category.Feature) .SetMode(FeatureDefinitionFeatureSet.FeatureSetMode.Union) .AddFeatureSet( - FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance, - FeatureDefinitionConditionAffinitys.ConditionAffinityWeatherFrozenImmunity, - FeatureDefinitionConditionAffinitys.ConditionAffinityWeatherChilledImmunity) + FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance) .AddToDB(); var powerOligathStoneEndurance = BuildPowerOligathStoneEndurance(); diff --git a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt index a854fa5766..80db7a405f 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Settings-de.txt @@ -49,7 +49,7 @@ ModUi/&Character=Charakter ModUi/&CharactersPool=Zeichenpool ModUi/&Classes=Klassen ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Kälteimmunität gewährt auch Immunität gegen Kälte- und Frostbedingungen -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Kälteresistenz gewährt außerdem Immunität gegen Kältezustände +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Kälteresistenz gewährt außerdem Immunität gegen den gekühlten Zustand und reduziert den Zustand „gefroren“ auf „gekühlt“. ModUi/&Combat=Kampf: ModUi/&Crafting=Herstellung: ModUi/&CraftingHelp=. Drücken Sie die Taste, um Rezepte sofort auf der aktiven Gruppe zu lernen\n. Für Artikel, die zu Geschäften hinzugefügt werden, kann es erforderlich sein, dass die Gruppe den Standort verlässt und zurückkommt diff --git a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt index d5d380cf9a..cd21c13a4e 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Settings-en.txt @@ -49,7 +49,7 @@ ModUi/&Character=Character ModUi/&CharactersPool=Characters Pool ModUi/&Classes=Classes ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Cold Immunity also grants immunity to chilled and frozen conditions -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Cold Resistance also grants immunity to chilled condition +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled ModUi/&Combat=Combat: ModUi/&Crafting=Crafting: ModUi/&CraftingHelp=. Press the button to learn recipes instantly on the active party\n. Items added to stores might need the party to travel away from the location and come back diff --git a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt index 04f8283286..25cdceab23 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Settings-es.txt @@ -49,7 +49,7 @@ ModUi/&Character=Personaje ModUi/&CharactersPool=Grupo de personajes ModUi/&Classes=Clases ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Inmunidad al frío también otorga inmunidad al frío y al congelamiento. -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistencia al frío también otorga inmunidad a la condición de frío. +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistencia al frío también otorga inmunidad a la condición de frío y reduce la condición de congelado a frío. ModUi/&Combat=Combate: ModUi/&Crafting=Fabricación: ModUi/&CraftingHelp=. Presiona el botón para aprender recetas al instante en el grupo activo\n. Los artículos agregados a las tiendas pueden necesitar que el grupo se aleje de la ubicación y regrese diff --git a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt index 262806c2d2..d5d039440e 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Settings-fr.txt @@ -49,7 +49,7 @@ ModUi/&Character=Personnage ModUi/&CharactersPool=Groupe de personnages ModUi/&Classes=Classes ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=L'Immunité au froid confère également l'immunité au froid et au gel. -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=La Résistance au froid confère également l'immunité au froid. +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=La Résistance au froid confère également l'immunité au froid et réduit le gel au froid. ModUi/&Combat=Combat : ModUi/&Crafting=Artisanat : ModUi/&CraftingHelp=. Appuyez sur le bouton pour faire apprendre les recettes instantanément au groupe actif\n. Le rafraîchissement des stocks d'articles ajoutés aux magasins peut nécessiter que le groupe quitte puis revienne à la localité diff --git a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt index 232c8da347..e495f0d0af 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Settings-it.txt @@ -49,7 +49,7 @@ ModUi/&Character=Carattere ModUi/&CharactersPool=Pool di personaggi ModUi/&Classes=Classi ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Immunità al freddo garantisce anche l'immunità alle condizioni fredde e congelate -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistenza al freddo garantisce anche l'immunità alla condizione di freddo +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistenza al freddo garantisce inoltre l'immunità alla condizione di freddo e riduce il congelamento a freddo ModUi/&Combat=Combattimento: ModUi/&Crafting=Creazione: ModUi/&CraftingHelp=. Premi il pulsante per imparare le ricette all'istante sulla festa attiva\n. Gli articoli aggiunti ai negozi potrebbero richiedere che il gruppo si allontani dal luogo e ritorni diff --git a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt index 8ac6abdfcc..9a68cbe8b2 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Settings-ja.txt @@ -49,7 +49,7 @@ ModUi/&Character=キャラクター ModUi/&CharactersPool=キャラクタープール ModUi/&Classes=クラス ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=寒さに対する耐性は、冷蔵および冷凍状態に対する耐性も付与します。 -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=耐寒性により、低温状態に対する耐性も付与されます +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=耐寒性は、低温状態に対する免疫を付与し、凍結状態を冷却状態に軽減します。 ModUi/&Combat=戦闘: ModUi/&Crafting=クラフト: ModUi/&CraftingHelp=。ボタンを押すと、アクティブなパーティーでレシピを即座に学習できます\n。ストアにアイテムを追加するには、パーティがその場所から離れて戻ってくる必要がある場合があります diff --git a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt index a240b6deff..d2281df5ff 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Settings-ko.txt @@ -49,7 +49,7 @@ ModUi/&Character=캐릭터 ModUi/&CharactersPool=캐릭터 목록 ModUi/&Classes=클래스 ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=냉기 면역은 냉각 및 동결 조건에도 면역을 부여합니다. -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=냉기 저항은 냉각 상태에 대한 면역도 부여합니다. +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=냉기 저항은 또한 냉각 상태에 대한 면역을 부여하고 냉동에서 냉각으로 감소시킵니다. ModUi/&Combat=전투: ModUi/&Crafting=제작: ModUi/&CraftingHelp=. 버튼을 누르면 활성화된 파티에서 즉시 제작법을 배울 수 있습니다\n. 상점에 추가돼야 하는 아이템은 파티가 해당 위치를 떠났다가 다시 돌아와야 합니다 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt index 54b245effe..2440f82433 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Settings-pt-BR.txt @@ -49,7 +49,7 @@ ModUi/&Character=Personagem ModUi/&CharactersPool=Conjunto de Personagens ModUi/&Classes=Aulas ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Imunidade ao Frio também concede imunidade a condições de resfriamento e congelamento -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistência ao Frio também concede imunidade a condições de frio +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Resistência ao Frio também concede imunidade à condição de resfriado e reduz a condição de congelado a resfriado ModUi/&Combat=Combate: ModUi/&Crafting=Criação: ModUi/&CraftingHelp=. Pressione o botão para aprender receitas instantaneamente na parte ativa\n. Os itens adicionados às lojas podem exigir que o grupo se afaste do local e volte diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index c70f09f3fa..9e0d4428fb 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -49,7 +49,7 @@ ModUi/&Character=Персонаж ModUi/&CharactersPool=Пул персонажей ModUi/&Classes=Классы ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Иммунитет к холоду также дает иммунитет к охлаждению и замерзанию. -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление холоду также дает иммунитет к охлаждению. +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление холоду также дает иммунитет к охлаждению и снижает замерзание до состояния охлаждения. ModUi/&Combat=Бой: ModUi/&Crafting=Крафтинг: ModUi/&CraftingHelp=. Нажмите на кнопку, чтобы активная пати сразу изучила рецепты\n. Добавление предметов в магазины может потребовать, чтобы пати переместилась на другую локацию и обратно diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt index 01fe34e2d6..4e84b47b9d 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Settings-zh-CN.txt @@ -49,7 +49,7 @@ ModUi/&Character=特点 ModUi/&CharactersPool=角色池 ModUi/&Classes=职业 ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=寒冷免疫还赋予对寒冷和冰冻条件的免疫力 -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=耐寒性还可以增强对寒冷条件的免疫力 +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=耐寒性还可以增强对寒冷条件的免疫力,并将冷冻状态降低为冷冻状态 ModUi/&Combat=战斗: ModUi/&Crafting=制作: ModUi/&CraftingHelp=.按下按钮即可在当前队伍中立即学习配方\n。添加到商店的物品可能需要队伍离开该地点然后回来 From 6a06e7f63ef8c8e15fc1f98304492eca7753fe6c Mon Sep 17 00:00:00 2001 From: Dovel Date: Sun, 28 Jan 2024 19:55:20 +0300 Subject: [PATCH 04/24] update russian translation --- SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt | 4 ++-- .../Translations/ru/SubClasses/PathOfTheSpirits-ru.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index c70f09f3fa..44793ebc68 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -48,8 +48,8 @@ ModUi/&Changelog=Список изменений ModUi/&Character=Персонаж ModUi/&CharactersPool=Пул персонажей ModUi/&Classes=Классы -ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Иммунитет к холоду также дает иммунитет к охлаждению и замерзанию. -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление холоду также дает иммунитет к охлаждению. +ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Иммунитет к урону холодом также даёт иммунитет к состояниям охлаждения и замерзания +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление урону холодом также даёт иммунитет к состоянию охлаждения ModUi/&Combat=Бой: ModUi/&Crafting=Крафтинг: ModUi/&CraftingHelp=. Нажмите на кнопку, чтобы активная пати сразу изучила рецепты\n. Добавление предметов в магазины может потребовать, чтобы пати переместилась на другую локацию и обратно diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt index d1156a0de1..a1f4499937 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PathOfTheSpirits-ru.txt @@ -38,7 +38,7 @@ Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsEagleDescription=Когда вы Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsEagleTitle=Совершенный полёт орла Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsWolfDescription=Когда вы в ярости, вы получаете возможность совершать Толчок бонусным действием. Feature/&PowerPathOfTheSpiritsHonedAnimalAspectsWolfTitle=Совершенный удар волка -Feature/&PowerPathOfTheSpiritsWolfLeadershipDescription=Дух волка делает вас предводителем охотников. Когда вы в ярости, любой союзник в радиусе 5 футов совершаете с преимуществом броски атаки в ближнем бою. +Feature/&PowerPathOfTheSpiritsWolfLeadershipDescription=Дух волка делает вас предводителем охотников. Когда вы в ярости, любой союзник в радиусе 5 футов совершает с преимуществом броски атаки в ближнем бою. Feature/&PowerPathOfTheSpiritsWolfLeadershipTitle=Дух волка Subclass/&PathOfTheSpiritsDescription=Варвары, следующие по Пути духов, принимают духовное животное в качестве проводника, защитника и вдохновителя, который наполняет их сверхъестественной силой, подпитывая магическим топливом ярость варвара. Subclass/&PathOfTheSpiritsTitle=Путь духов From 4f03a31ca925f7c9a8c490afc434cea6b03e802f Mon Sep 17 00:00:00 2001 From: Dovel Date: Sun, 28 Jan 2024 19:59:25 +0300 Subject: [PATCH 05/24] update russian translation --- SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt index 44793ebc68..c261481aab 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Settings-ru.txt @@ -49,7 +49,7 @@ ModUi/&Character=Персонаж ModUi/&CharactersPool=Пул персонажей ModUi/&Classes=Классы ModUi/&ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition=Иммунитет к урону холодом также даёт иммунитет к состояниям охлаждения и замерзания -ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление урону холодом также даёт иммунитет к состоянию охлаждения +ModUi/&ColdResistanceAlsoGrantsImmunityToChilledCondition=Сопротивление урону холодом также даёт иммунитет к состоянию охлаждения, а состояние замерзания нивелирует до охлаждения ModUi/&Combat=Бой: ModUi/&Crafting=Крафтинг: ModUi/&CraftingHelp=. Нажмите на кнопку, чтобы активная пати сразу изучила рецепты\n. Добавление предметов в магазины может потребовать, чтобы пати переместилась на другую локацию и обратно From 360ad5ad89048f4d560faa64141f0b777d6d67b4 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 09:08:35 -0800 Subject: [PATCH 06/24] fix Circle of The Nights interaction with ArchDruid feature at level 20 --- .../ChangelogHistory.txt | 1 + .../Models/Level20Context.cs | 19 +++++++++++++------ .../Patches/ShapeOptionItemPatcher.cs | 9 +++++++-- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 68adab3bd2..aef27a6427 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,5 +1,6 @@ 1.5.94.48: +- fixed Circle of The Nights interaction with ArchDruid feature at level 20 - fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules enabled - improved 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' diff --git a/SolastaUnfinishedBusiness/Models/Level20Context.cs b/SolastaUnfinishedBusiness/Models/Level20Context.cs index 08b24c61f6..eea212102d 100644 --- a/SolastaUnfinishedBusiness/Models/Level20Context.cs +++ b/SolastaUnfinishedBusiness/Models/Level20Context.cs @@ -681,10 +681,7 @@ private sealed class ActionFinishedByMeArchDruid( { public IEnumerator OnActionFinishedByMe(CharacterAction action) { - if (action is not CharacterActionUsePower characterActionUsePower - || (characterActionUsePower.activePower.PowerDefinition != PowerFighterSecondWind - && characterActionUsePower.activePower.PowerDefinition != - CircleOfTheNight.PowerCircleOfTheNightWildShapeCombat)) + if (action is not CharacterActionUsePower actionUsePower) { yield break; } @@ -696,10 +693,20 @@ public IEnumerator OnActionFinishedByMe(CharacterAction action) yield break; } - var usablePower = PowerProvider.Get(PowerDruidWildShape, rulesetCharacter); + var power = actionUsePower.activePower.PowerDefinition == PowerDruidWildShape + ? PowerDruidWildShape + : actionUsePower.activePower.PowerDefinition == CircleOfTheNight.PowerCircleOfTheNightWildShapeCombat + ? CircleOfTheNight.PowerCircleOfTheNightWildShapeCombat + : null; - usablePower.Recharge(); + if (power == null) + { + yield break; + } + + var usablePower = PowerProvider.Get(power, rulesetCharacter); + usablePower.Recharge(); rulesetCharacter.LogCharacterUsedFeature(featureDefinition); } } diff --git a/SolastaUnfinishedBusiness/Patches/ShapeOptionItemPatcher.cs b/SolastaUnfinishedBusiness/Patches/ShapeOptionItemPatcher.cs index 08c18890fd..2d168f89b7 100644 --- a/SolastaUnfinishedBusiness/Patches/ShapeOptionItemPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/ShapeOptionItemPatcher.cs @@ -1,6 +1,7 @@ using System.Diagnostics.CodeAnalysis; using HarmonyLib; using JetBrains.Annotations; +using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Subclasses; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.CharacterClassDefinitions; @@ -31,8 +32,12 @@ public static void Postfix( } // special Circle of the Night that requires 2 shapes available on some forms - var isCircleOfTheNight = shapeDefinition.CreatureTags.Contains(CircleOfTheNight.Name); - var rulesetUsablePower = PowerProvider.Get(PowerDruidWildShape, rulesetCharacterHero); + var isCircleOfTheNight = shifter.GetSubclassLevel(Druid, CircleOfTheNight.Name) > 0; + var power = isCircleOfTheNight + ? CircleOfTheNight.PowerCircleOfTheNightWildShapeCombat + : PowerDruidWildShape; + + var rulesetUsablePower = PowerProvider.Get(power, rulesetCharacterHero); var hasAtLeastTwoShapes = shifter.GetRemainingUsesOfPower(rulesetUsablePower) > 1; var isShapeOptionAvailable = requiredLevel <= levels && (!isCircleOfTheNight || hasAtLeastTwoShapes); From 296ef8f2ccb0c5c69de3823935f99b26be843ccd Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 18:01:11 -0800 Subject: [PATCH 07/24] continue moonlit WIP --- .../Api/DatabaseHelper-RELEASE.cs | 3 + .../Behaviors/ForceGlobalUniqueEffects.cs | 3 +- .../Properties/Resources.Designer.cs | 30 ++ .../Properties/Resources.resx | 15 + .../Resources/Powers/PowerFullMoon.png | Bin 0 -> 24883 bytes .../Resources/Powers/PowerLunarCloak.png | Bin 0 -> 23645 bytes .../Resources/Powers/PowerNewMoon.png | Bin 0 -> 23647 bytes .../Subclasses/PatronMoonlitScion.cs | 318 ++++++++++++++---- .../Translations/en/Others-en.txt | 1 + .../en/SubClasses/PatronMoonlitScion-en.txt | 14 +- 10 files changed, 305 insertions(+), 79 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerFullMoon.png create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerLunarCloak.png create mode 100644 SolastaUnfinishedBusiness/Resources/Powers/PowerNewMoon.png diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index 5b6b66e77c..d0ca19dba1 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -1528,6 +1528,9 @@ internal static class FeatureDefinitionMovementAffinitys internal static FeatureDefinitionMovementAffinity MovementAffinityCarriedByWind { get; } = GetDefinition("MovementAffinityCarriedByWind"); + internal static FeatureDefinitionMovementAffinity MovementAffinityConditionFlyingAdaptive { get; } = + GetDefinition("MovementAffinityConditionFlyingAdaptive"); + internal static FeatureDefinitionMovementAffinity MovementAffinityConditionHindered { get; } = GetDefinition("MovementAffinityConditionHindered"); diff --git a/SolastaUnfinishedBusiness/Behaviors/ForceGlobalUniqueEffects.cs b/SolastaUnfinishedBusiness/Behaviors/ForceGlobalUniqueEffects.cs index b821354ab9..30603d8855 100644 --- a/SolastaUnfinishedBusiness/Behaviors/ForceGlobalUniqueEffects.cs +++ b/SolastaUnfinishedBusiness/Behaviors/ForceGlobalUniqueEffects.cs @@ -164,6 +164,7 @@ internal enum Group Familiar, GrenadierGrenadeMode, InventorSpellStoringItem, - WildMasterBeast + WildMasterBeast, + MoonlitNewAndFullMoon } } diff --git a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs index 5415944e05..56e8e43df7 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs +++ b/SolastaUnfinishedBusiness/Properties/Resources.Designer.cs @@ -2702,6 +2702,16 @@ public static byte[] PowerFocusedStrikes { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerFullMoon { + get { + object obj = ResourceManager.GetObject("PowerFullMoon", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -2802,6 +2812,16 @@ public static byte[] PowerLivingTempest { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerLunarCloak { + get { + object obj = ResourceManager.GetObject("PowerLunarCloak", resourceCulture); + return ((byte[])(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -2862,6 +2882,16 @@ public static byte[] PowerMedKit { } } + /// + /// Looks up a localized resource of type System.Byte[]. + /// + public static byte[] PowerNewMoon { + get { + object obj = ResourceManager.GetObject("PowerNewMoon", 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 0d47d6cdde..9e33c5afc8 100644 --- a/SolastaUnfinishedBusiness/Properties/Resources.resx +++ b/SolastaUnfinishedBusiness/Properties/Resources.resx @@ -335,6 +335,21 @@ PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerFullMoon.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + ../Resources/Powers/PowerNewMoon.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + ../Resources/Powers/PowerLunarCloak.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + ../Resources/Powers/PowerPerniciousCloak.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 diff --git a/SolastaUnfinishedBusiness/Resources/Powers/PowerFullMoon.png b/SolastaUnfinishedBusiness/Resources/Powers/PowerFullMoon.png new file mode 100644 index 0000000000000000000000000000000000000000..099364c2dd02045623186c730124f71a8573b12d GIT binary patch literal 24883 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 *p?xK(3rCQj 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 Z`v=zr8s)+<7vKN@002ovPDHLkV1iFN{^tMy literal 0 HcmV?d00001 diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index 292dca158f..a75d931ec5 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Linq; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; @@ -8,11 +9,13 @@ using SolastaUnfinishedBusiness.Builders.Features; using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; -using SolastaUnfinishedBusiness.Properties; using SolastaUnfinishedBusiness.Validators; +using static FeatureDefinitionAttributeModifier; using static RuleDefinitions; +using static SolastaUnfinishedBusiness.Api.DatabaseHelper; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper.SpellListDefinitions; +using Resources = SolastaUnfinishedBusiness.Properties.Resources; namespace SolastaUnfinishedBusiness.Subclasses; @@ -49,23 +52,53 @@ public PatronMoonlitScion() var powerLunarCloak = FeatureDefinitionPowerBuilder .Create($"Power{Name}LunarCloak") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation($"FeatureSet{Name}LunarCloak", Category.Feature, + Sprites.GetSprite("LunarCloak", Resources.PowerLunarCloak, 256, 128)) .SetUsesProficiencyBonus(ActivationTime.BonusAction) + .SetEffectDescription( + EffectDescriptionBuilder + .Create() + .SetDurationData(DurationType.Minute, 1) + .SetTargetingData(Side.Ally, RangeType.Self, 0, TargetType.Self) + .Build()) .AddToDB(); - var lightSourceForm = - FaerieFire.EffectDescription.GetFirstFormOfType(EffectForm.EffectFormType.LightSource); + // Lunar Radiance Debuff + + var conditionLunarRadianceEnemy = ConditionDefinitionBuilder + .Create($"Condition{Name}LunarRadianceEnemy") + .SetGuiPresentation($"Power{Name}LunarRadiance", Category.Feature, + ConditionDefinitions.ConditionLightSensitive) + .SetConditionType(ConditionType.Detrimental) + .SetPossessive() + .SetFeatures( + FeatureDefinitionAttributeModifierBuilder + .Create($"AttributeModifier{Name}LunarRadianceEnemy") + .SetGuiPresentation(Category.Feature) + .SetModifier(AttributeModifierOperation.Additive, AttributeDefinitions.ArmorClass, -1) + .AddToDB()) + .AddToDB(); + + conditionLunarRadianceEnemy.GuiPresentation.description = Gui.NoLocalization; + + // Lunar Radiance No Cost + + var spriteLunarRadiance = Sprites.GetSprite("LunarRadiance", Resources.PowerFullMoon, 256, 128); var powerLunarRadianceNoCost = FeatureDefinitionPowerBuilder .Create($"Power{Name}LunarRadianceNoCost") - .SetGuiPresentation($"Power{Name}LunarRadiance", Category.Feature) + .SetGuiPresentation($"Power{Name}LunarRadiance", Category.Feature, spriteLunarRadiance) .SetUsesFixed(ActivationTime.NoCost) + .SetUseSpellAttack() .SetEffectDescription( EffectDescriptionBuilder .Create() + .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) - .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8)) - .SetParticleEffectParameters(ShadowDagger) + .SetEffectForms( + EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8), + EffectFormBuilder.ConditionForm(conditionLunarRadianceEnemy)) + .SetParticleEffectParameters(FeatureDefinitionPowers.PowerTraditionLightBlindingFlash) .Build()) .AddToDB(); @@ -78,33 +111,48 @@ public PatronMoonlitScion() .AddCustomSubFeatures(new AddUsablePowersFromCondition()) .AddToDB(); + powerLunarRadianceNoCost.AddCustomSubFeatures( + ValidatorsValidatePowerUse.InCombat, + new MagicEffectFinishedByMeNoCost(conditionFullMoonNoCost)); + + // Lunar Radiance + var powerLunarRadiance = FeatureDefinitionPowerBuilder .Create($"Power{Name}LunarRadiance") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, spriteLunarRadiance) .SetUsesFixed(ActivationTime.BonusAction) + .SetUseSpellAttack() .SetEffectDescription( EffectDescriptionBuilder .Create() + .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) - .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8)) - .SetParticleEffectParameters(ShadowDagger) + .SetEffectForms( + EffectFormBuilder.DamageForm(DamageTypeRadiant, 1, DieType.D8), + EffectFormBuilder.ConditionForm(conditionLunarRadianceEnemy)) + .SetParticleEffectParameters(FeatureDefinitionPowers.PowerTraditionLightBlindingFlash) .Build()) .AddToDB(); var conditionFullMoon = ConditionDefinitionBuilder .Create($"Condition{Name}FullMoon") - .SetGuiPresentation(Category.Condition) - .SetFeatures(powerLunarRadianceNoCost, powerLunarRadiance) + .SetGuiPresentation($"Power{Name}FullMoon", Category.Feature, + ConditionDefinitions.ConditionProtectedInsideMagicCircle) + .SetPossessive() + .SetFeatures(powerLunarRadiance) .AddCustomSubFeatures(new AddUsablePowersFromCondition()) .AddToDB(); - powerLunarRadianceNoCost.AddCustomSubFeatures( - ValidatorsValidatePowerUse.InCombat, - new MagicEffectFinishedByMeNoCost(powerLunarRadiance, conditionFullMoonNoCost)); + conditionFullMoon.GuiPresentation.description = Gui.NoLocalization; + + // Full Moon + + var lightSourceForm = + FaerieFire.EffectDescription.GetFirstFormOfType(EffectForm.EffectFormType.LightSource); var powerFullMoon = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}FullMoon") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, hidden: true) .SetSharedPool(ActivationTime.BonusAction, powerLunarCloak) .SetEffectDescription( EffectDescriptionBuilder @@ -124,17 +172,34 @@ public PatronMoonlitScion() .Build()) .AddToDB(); + // Lunar Chill Debuff + + var conditionLunarChillEnemy = ConditionDefinitionBuilder + .Create(ConditionDefinitions.ConditionHindered_By_Frost, $"Condition{Name}LunarChillEnemy") + .SetOrUpdateGuiPresentation($"Power{Name}LunarChill", Category.Feature) + .SetPossessive() + .AddToDB(); + + conditionLunarChillEnemy.GuiPresentation.description = Gui.NoLocalization; + + // Lunar Chill No Cost + + var spriteLunarChill = Sprites.GetSprite("LunarChill", Resources.PowerNewMoon, 256, 128); + var powerLunarChillNoCost = FeatureDefinitionPowerBuilder .Create($"Power{Name}LunarChillNoCost") - .SetGuiPresentation($"Power{Name}LunarChill", Category.Feature) + .SetGuiPresentation($"Power{Name}LunarChill", Category.Feature, spriteLunarChill) .SetUsesFixed(ActivationTime.NoCost) + .SetUseSpellAttack() .SetEffectDescription( EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) - .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8)) - .SetParticleEffectParameters(ShadowDagger) + .SetEffectForms( + EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8), + EffectFormBuilder.ConditionForm(conditionLunarChillEnemy)) + .SetParticleEffectParameters(FeatureDefinitionPowers.PowerDomainElementalIceLance) .Build()) .AddToDB(); @@ -147,34 +212,45 @@ public PatronMoonlitScion() .AddCustomSubFeatures(new AddUsablePowersFromCondition()) .AddToDB(); + powerLunarChillNoCost.AddCustomSubFeatures( + ValidatorsValidatePowerUse.InCombat, + new MagicEffectFinishedByMeNoCost(conditionNewMoonNoCost)); + + // Lunar Chill + var powerLunarChill = FeatureDefinitionPowerBuilder .Create($"Power{Name}LunarChill") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, spriteLunarChill) .SetUsesFixed(ActivationTime.BonusAction) + .SetUseSpellAttack() .SetEffectDescription( EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetTargetingData(Side.Enemy, RangeType.RangeHit, 6, TargetType.IndividualsUnique) - .SetEffectForms(EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8)) - .SetParticleEffectParameters(ShadowDagger) + .SetEffectForms( + EffectFormBuilder.DamageForm(DamageTypeCold, 1, DieType.D8), + EffectFormBuilder.ConditionForm(conditionLunarChillEnemy)) + .SetParticleEffectParameters(FeatureDefinitionPowers.PowerDomainElementalIceLance) .Build()) .AddToDB(); var conditionNewMoon = ConditionDefinitionBuilder .Create($"Condition{Name}NewMoon") - .SetGuiPresentation(Category.Condition) + .SetGuiPresentation($"Power{Name}NewMoon", Category.Feature, + ConditionDefinitions.ConditionChildOfDarkness_DimLight) + .SetPossessive() .SetFeatures(powerLunarChill) - .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddCustomSubFeatures(new AddUsablePowersFromCondition(), new ForceLightingStateNewMoon()) .AddToDB(); - powerLunarChillNoCost.AddCustomSubFeatures( - ValidatorsValidatePowerUse.InCombat, - new MagicEffectFinishedByMeNoCost(powerLunarChill, conditionNewMoonNoCost)); + conditionNewMoon.GuiPresentation.description = Gui.NoLocalization; + + // New Moon var powerNewMoon = FeatureDefinitionPowerSharedPoolBuilder .Create($"Power{Name}NewMoon") - .SetGuiPresentation(Category.Feature) + .SetGuiPresentation(Category.Feature, hidden: true) .SetSharedPool(ActivationTime.BonusAction, powerLunarCloak) .SetEffectDescription( EffectDescriptionBuilder @@ -197,22 +273,20 @@ public PatronMoonlitScion() // Midnight's Blessing - var effectFormFullMoonMidnightBlessing = EffectFormBuilder.ConditionForm( + var conditionFullMoonMidnightBlessing = ConditionDefinitionBuilder - .Create($"Condition{Name}FullMoonMidnightBlessing") - .SetGuiPresentationNoContent(true) - .SetSilent(Silent.WhenAddedOrRemoved) - .SetFeatures(DatabaseHelper.FeatureDefinitionDamageAffinitys.DamageAffinityRadiantResistance) - .AddToDB(), ConditionForm.ConditionOperation.Add, true, true); - - var effectFormNewMoonMidnightBlessing = EffectFormBuilder.ConditionForm( + .Create(conditionFullMoon, $"Condition{Name}FullMoonMidnightBlessing") + .AddFeatures(FeatureDefinitionDamageAffinitys.DamageAffinityRadiantResistance) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + var conditionNewMoonMidnightBlessing = ConditionDefinitionBuilder - .Create($"Condition{Name}NewMoonMidnightBlessing") - .SetGuiPresentationNoContent(true) - .SetSilent(Silent.WhenAddedOrRemoved) - .SetFeatures(DatabaseHelper.FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance) - .AddToDB(), ConditionForm.ConditionOperation.Add, true, true); - + .Create(conditionNewMoon, $"Condition{Name}NewMoonMidnightBlessing") + .AddFeatures(FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance) + .AddCustomSubFeatures(new AddUsablePowersFromCondition(), new ForceLightingStateNewMoon()) + .AddToDB(); + var powerMidnightBlessing = FeatureDefinitionPowerBuilder .Create($"Power{Name}MidnightBlessing") .SetGuiPresentation(Category.Feature, MoonBeam) @@ -220,18 +294,43 @@ public PatronMoonlitScion() .SetEffectDescription( EffectDescriptionBuilder .Create(MoonBeam) - .AddEffectForms( - EffectFormBuilder - .Create() - .SetTempHpForm(6) - .Build()) + .SetEffectForms() .Build()) + .AddCustomSubFeatures(new MagicEffectFinishedByMeMidnightBlessing()) + .AddToDB(); + + var autoPreparedSpells = FeatureDefinitionAutoPreparedSpellsBuilder + .Create($"AutoPreparedSpells{Name}MidnightBlessing") + .SetGuiPresentation("ExpandedSpells", Category.Feature) + .SetAutoTag("Patron") + .SetPreparedSpellGroups(AutoPreparedSpellsGroupBuilder.BuildSpellGroup(2, MoonBeam)) + .SetSpellcastingClass(CharacterClassDefinitions.Warlock) + .AddToDB(); + + var featureSetMidnightBlessing = FeatureDefinitionFeatureSetBuilder + .Create($"FeatureSet{Name}MidnightBlessing") + .SetGuiPresentation(Category.Feature) + .SetFeatureSet(autoPreparedSpells, powerMidnightBlessing) .AddToDB(); // LEVEL 10 // Lunar Embrace + var conditionFullMoonLunarEmbrace = + ConditionDefinitionBuilder + .Create(conditionFullMoonMidnightBlessing, $"Condition{Name}FullMoonLunarEmbrace") + .AddFeatures(FeatureDefinitionMovementAffinitys.MovementAffinityConditionFlyingAdaptive) + .AddCustomSubFeatures(new AddUsablePowersFromCondition()) + .AddToDB(); + + var conditionNewMoonLunarEmbrace = + ConditionDefinitionBuilder + .Create(conditionNewMoonMidnightBlessing, $"Condition{Name}NewMoonLunarEmbrace") + .AddFeatures(FeatureDefinitionMovementAffinitys.MovementAffinityConditionFlyingAdaptive) + .AddCustomSubFeatures(new AddUsablePowersFromCondition(), new ForceLightingStateNewMoon()) + .AddToDB(); + var featureLunarEmbrace = FeatureDefinitionBuilder .Create($"Feature{Name}LunarEmbrace") .SetGuiPresentation(Category.Feature) @@ -247,53 +346,66 @@ public PatronMoonlitScion() .AddToDB(); // MAIN - + PowerBundle.RegisterPowerBundle(powerLunarCloak, false, powerFullMoon, powerNewMoon); + ForceGlobalUniqueEffects.AddToGroup( + ForceGlobalUniqueEffects.Group.MoonlitNewAndFullMoon, powerFullMoon, powerNewMoon); powerLunarRadianceNoCost.AddCustomSubFeatures( - new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( - powerLunarRadianceNoCost, effectFormFullMoonMidnightBlessing)); + new ModifyEffectDescriptionLunarRadianceOrLunarChill(powerLunarRadianceNoCost)); powerLunarRadiance.AddCustomSubFeatures( - new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( - powerLunarRadiance, effectFormFullMoonMidnightBlessing)); + new ModifyEffectDescriptionLunarRadianceOrLunarChill(powerLunarRadiance)); + powerFullMoon.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingOrLunarEmbrace( + powerFullMoon, conditionFullMoon, conditionFullMoonMidnightBlessing, conditionFullMoonLunarEmbrace)); powerLunarChillNoCost.AddCustomSubFeatures( - new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( - powerLunarChillNoCost, effectFormNewMoonMidnightBlessing)); + new ModifyEffectDescriptionLunarRadianceOrLunarChill(powerLunarChillNoCost)); powerLunarChill.AddCustomSubFeatures( - new ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( - powerLunarChill, effectFormNewMoonMidnightBlessing)); - + new ModifyEffectDescriptionLunarRadianceOrLunarChill(powerLunarChill)); + powerNewMoon.AddCustomSubFeatures( + new ModifyEffectDescriptionMidnightBlessingOrLunarEmbrace( + powerNewMoon, conditionNewMoon, conditionNewMoonMidnightBlessing, conditionNewMoonLunarEmbrace)); + Subclass = CharacterSubclassDefinitionBuilder .Create($"Patron{Name}") .SetGuiPresentation(Category.Subclass, Sprites.GetSprite(Name, Resources.PatronMoonlit, 256)) .AddFeaturesAtLevel(1, magicAffinityMoonlitExpandedSpells, featureSetLunarCloak) - .AddFeaturesAtLevel(6, powerMidnightBlessing) + .AddFeaturesAtLevel(6, featureSetMidnightBlessing) .AddFeaturesAtLevel(10, featureLunarEmbrace) .AddFeaturesAtLevel(14, powerMoonlightGuise) .AddToDB(); } - internal override CharacterClassDefinition Klass => DatabaseHelper.CharacterClassDefinitions.Warlock; + internal override CharacterClassDefinition Klass => CharacterClassDefinitions.Warlock; internal override CharacterSubclassDefinition Subclass { get; } - internal override FeatureDefinitionSubclassChoice SubclassChoice => DatabaseHelper.FeatureDefinitionSubclassChoices + internal override FeatureDefinitionSubclassChoice SubclassChoice => FeatureDefinitionSubclassChoices .SubclassChoiceWarlockOtherworldlyPatrons; // ReSharper disable once UnassignedGetOnlyAutoProperty internal override DeityDefinition DeityDefinition { get; } + // force an unlit lighting state + private sealed class ForceLightingStateNewMoon : IForceLightingState + { + public LocationDefinitions.LightingState GetLightingState( + GameLocationCharacter gameLocationCharacter, LocationDefinitions.LightingState lightingState) + { + return lightingState is LocationDefinitions.LightingState.Bright or LocationDefinitions.LightingState.Dim + ? LocationDefinitions.LightingState.Unlit + : lightingState; + } + } + + // remove the No Cost condition if the no cost power is used private sealed class MagicEffectFinishedByMeNoCost( - FeatureDefinitionPower powerBonusAction, // ReSharper disable once SuggestBaseTypeForParameterInConstructor ConditionDefinition conditionFree) : IMagicEffectFinishedByMe { public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) { var rulesetCharacter = action.ActingCharacter.RulesetCharacter; - var usablePower = PowerProvider.Get(powerBonusAction, rulesetCharacter); - - rulesetCharacter.UsePower(usablePower); if (rulesetCharacter.TryGetConditionOfCategoryAndType( AttributeDefinitions.TagEffect, conditionFree.Name, out var activeCondition)) @@ -305,10 +417,14 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, } } - private sealed class ModifyEffectDescriptionMidnightBlessingAndLunarEmbrace( + // replace lunar cloak conditions with midnight blessing or lunar embrace ones depending on hero level + private sealed class ModifyEffectDescriptionMidnightBlessingOrLunarEmbrace( // ReSharper disable once SuggestBaseTypeForParameterInConstructor FeatureDefinitionPower power, - EffectForm midnightBlessing) : IModifyEffectDescription + // ReSharper disable once SuggestBaseTypeForParameterInConstructor + ConditionDefinition conditionToReplace, + ConditionDefinition conditionMidnightBlessing, + ConditionDefinition conditionLunarEmbrace) : IModifyEffectDescription { public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) { @@ -321,15 +437,45 @@ public EffectDescription GetEffectDescription( RulesetCharacter character, RulesetEffect rulesetEffect) { - var levels = character.GetClassLevel(DatabaseHelper.CharacterClassDefinitions.Warlock); + var levels = character.GetClassLevel(CharacterClassDefinitions.Warlock); - // midnight blessing if (levels < 6) { return effectDescription; } - effectDescription.EffectForms.Add(midnightBlessing); + var effectForm = effectDescription.EffectForms.FirstOrDefault(x => + x.FormType == EffectForm.EffectFormType.Condition && + x.ConditionForm.ConditionDefinition == conditionToReplace); + + if (effectForm != null) + { + effectForm.ConditionForm.conditionDefinition = levels < 10 + ? conditionMidnightBlessing + : conditionLunarEmbrace; + } + + return effectDescription; + } + } + + // extend dice number on Lunar Radiance or Lunar Chill at level 10 onwards + private sealed class ModifyEffectDescriptionLunarRadianceOrLunarChill( + // ReSharper disable once SuggestBaseTypeForParameterInConstructor + FeatureDefinitionPower power) : IModifyEffectDescription + { + public bool IsValid(BaseDefinition definition, RulesetCharacter character, EffectDescription effectDescription) + { + return definition == power; + } + + public EffectDescription GetEffectDescription( + BaseDefinition definition, + EffectDescription effectDescription, + RulesetCharacter character, + RulesetEffect rulesetEffect) + { + var levels = character.GetClassLevel(CharacterClassDefinitions.Warlock); // lunar embrace if (levels < 10) @@ -345,8 +491,40 @@ public EffectDescription GetEffectDescription( } damageForm.diceNumber = 2; - + return effectDescription; } } + + private sealed class MagicEffectFinishedByMeMidnightBlessing : IMagicEffectFinishedByMe + { + public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, BaseDefinition baseDefinition) + { + var actingCharacter = action.ActingCharacter; + var rulesetCharacter = actingCharacter.RulesetCharacter; + var levels = rulesetCharacter.GetClassLevel(CharacterClassDefinitions.Warlock); + + rulesetCharacter.ReceiveTemporaryHitPoints( + levels, DurationType.Minute, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.guid); + + var actionParams = action.ActionParams.Clone(); + var slotLevel = levels switch + { + < 11 => 2, + < 13 => 6, + < 15 => 7, + < 17 => 8, + _ => 9 + }; + var effectSpell = ServiceRepository.GetService() + .InstantiateEffectSpell(rulesetCharacter, null, MoonBeam, slotLevel, false); + + actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.CastNoCost; + actionParams.RulesetEffect = effectSpell; + rulesetCharacter.SpellsCastByMe.TryAdd(effectSpell); + ServiceRepository.GetService()?.ExecuteAction(actionParams, null, true); + + yield break; + } + } } diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 3e0df337f1..677a42857b 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -207,6 +207,7 @@ Rules/&SituationalContext1014Format=Has shield in hands: Rules/&SituationalContext1015Format=Target doesn't have condition: Rules/&SituationalContext1016Format=Has simple or martial weapons in hand: Rules/&TurnOccurenceEndOfSourceTurnFormat=End Source of Turn +Screen/&PatronExtraSpellDescription=Patron Screen/&ClassExtraSpellDescriptionFormat=You know this spell from {0} class. Screen/&EditorLocationSize3Title=Huge [MODDED] Screen/&EditorLocationSize4Title=Gargantuan [MODDED] diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt index 46871d2512..b417fa1703 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -1,20 +1,18 @@ -Condition/&ConditionMoonlitScionFullMoonDescription=Full Moon -Condition/&ConditionMoonlitScionFullMoonTitle=Full Moon -Condition/&ConditionMoonlitScionNewMoonDescription=New Moon -Condition/&ConditionMoonlitScionNewMoonTitle=New Moon +Feature/&AttributeModifierPatronMoonlitScionLunarRadianceEnemyDescription=–1 penalty to AC +Feature/&AttributeModifierPatronMoonlitScionLunarRadianceEnemyTitle=Lunar Radiance Feature/&FeatureMoonlitScionLunarEmbraceDescription=The damage of your Lunar Cloak increases to 2d8. In addition, whenever you conjure a cloak, you gain flying speed equal to your walking speed for the duration of the cloak. Feature/&FeatureMoonlitScionLunarEmbraceTitle=Lunar Embrace -Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn.\nNew Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in nonmagical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. +Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you and gain the lunar radiance power. Make a melee spell attack. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn.\nNew Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in non-magical darkness instead, and gain the lunar chill power. Make a melee spell attack. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Lunar Cloak +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Midnight Blessing Feature/&PowerMoonlitScionFullMoonDescription=You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. Feature/&PowerMoonlitScionFullMoonTitle=Full Moon Feature/&PowerMoonlitScionLunarChillDescription=You can momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. Feature/&PowerMoonlitScionLunarChillTitle=Lunar Chill -Feature/&PowerMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon\nNew Moon -Feature/&PowerMoonlitScionLunarCloakTitle=Lunar Cloak Feature/&PowerMoonlitScionLunarRadianceDescription=You can momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. Feature/&PowerMoonlitScionLunarRadianceTitle=Lunar Radiance -Feature/&PowerMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven’t already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute and taking damage cannot break your concentration for this spell. +Feature/&PowerMoonlitScionMidnightBlessingDescription=You can cast Moonbeam as a power, once per long rest, without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. Feature/&PowerMoonlitScionMidnightBlessingTitle=Midnight Blessing Feature/&PowerMoonlitScionMoonlightGuiseDescription=Whenever a creature damages you, you can use your reaction to become invisible until the end of your next turn. You can use this feature once per short rest. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Moonlight Guise From fdf9c4d5f112c985f8d1a1db09932271e1e195bd Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 18:01:48 -0800 Subject: [PATCH 08/24] add IForceLightingState interface --- .../Interfaces/IForceLightingState.cs | 11 +++++++++ .../Patches/GameLocationCharacterPatcher.cs | 24 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 SolastaUnfinishedBusiness/Interfaces/IForceLightingState.cs diff --git a/SolastaUnfinishedBusiness/Interfaces/IForceLightingState.cs b/SolastaUnfinishedBusiness/Interfaces/IForceLightingState.cs new file mode 100644 index 0000000000..9545cca06a --- /dev/null +++ b/SolastaUnfinishedBusiness/Interfaces/IForceLightingState.cs @@ -0,0 +1,11 @@ +using JetBrains.Annotations; + +namespace SolastaUnfinishedBusiness.Interfaces; + +public interface IForceLightingState +{ + [UsedImplicitly] + LocationDefinitions.LightingState GetLightingState( + GameLocationCharacter gameLocationCharacter, + LocationDefinitions.LightingState lightingState); +} diff --git a/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs b/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs index ac3810f5c7..e52f87f9ff 100644 --- a/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/GameLocationCharacterPatcher.cs @@ -22,6 +22,30 @@ namespace SolastaUnfinishedBusiness.Patches; [UsedImplicitly] public static class GameLocationCharacterPatcher { + //PATCH: supports IForceLightingState + [HarmonyPatch(typeof(GameLocationCharacter), nameof(GameLocationCharacter.LightingState), MethodType.Getter)] + [SuppressMessage("Minor Code Smell", "S101:Types should be named in PascalCase", Justification = "Patch")] + [UsedImplicitly] + public static class LightingState_Getter_Patch + { + [UsedImplicitly] + public static bool Prefix( + GameLocationCharacter __instance, + ref LocationDefinitions.LightingState __result) + { + var modifiers = __instance.RulesetActor.GetSubFeaturesByType(); + + if (modifiers.Count == 0) + { + return true; + } + + __result = modifiers[0].GetLightingState(__instance, __result); + + return false; + } + } + //PATCH: supports `UseOfficialLightingObscurementAndVisionRules` //let ADV/DIS be handled elsewhere in `GLBM.CanAttack` if alternate lighting and obscurement rules in place [HarmonyPatch(typeof(GameLocationCharacter), nameof(GameLocationCharacter.ComputeLightingModifierForIlluminable))] From 8d7b49c7eff7ad614c15cb31e3b2b603d0f2b2f1 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 18:29:08 -0800 Subject: [PATCH 09/24] handle revised moonlit to QA --- Documentation/UnfinishedBusinessSubclasses.md | 36 ++----- .../Subclasses/PatronMoonlitScion.cs | 101 +++++++++++++++++- .../Translations/de/Others-de.txt | 2 + .../de/SubClasses/PatronMoonlitScion-de.txt | 26 +++++ .../Translations/en/Others-en.txt | 3 +- .../en/SubClasses/PatronMoonlitScion-en.txt | 8 +- .../Translations/es/Others-es.txt | 2 + .../es/SubClasses/PatronMoonlitScion-es.txt | 26 +++++ .../Translations/fr/Others-fr.txt | 2 + .../fr/SubClasses/PatronMoonlitScion-fr.txt | 26 +++++ .../Translations/it/Others-it.txt | 2 + .../it/SubClasses/PatronMoonlitScion-it.txt | 26 +++++ .../Translations/ja/Others-ja.txt | 2 + .../ja/SubClasses/PatronMoonlitScion-ja.txt | 26 +++++ .../Translations/ko/Others-ko.txt | 2 + .../ko/SubClasses/PatronMoonlitScion-ko.txt | 26 +++++ .../Translations/pt-BR/Others-pt-BR.txt | 2 + .../SubClasses/PatronMoonlitScion-pt-BR.txt | 26 +++++ .../Translations/ru/Others-ru.txt | 2 + .../ru/SubClasses/PatronMoonlitScion-ru.txt | 26 +++++ .../Translations/zh-CN/Others-zh-CN.txt | 2 + .../SubClasses/PatronMoonlitScion-zh-CN.txt | 26 +++++ 22 files changed, 371 insertions(+), 29 deletions(-) create mode 100644 SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt create mode 100644 SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt create mode 100644 SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt create mode 100644 SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt create mode 100644 SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt create mode 100644 SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt create mode 100644 SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt create mode 100644 SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt create mode 100644 SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt diff --git a/Documentation/UnfinishedBusinessSubclasses.md b/Documentation/UnfinishedBusinessSubclasses.md index da87073c4d..7337435be5 100644 --- a/Documentation/UnfinishedBusinessSubclasses.md +++ b/Documentation/UnfinishedBusinessSubclasses.md @@ -3318,50 +3318,36 @@ Your patron is a spirit of the moon, an entity that embodies the cyclical nature IV Greater Invisibility, Guardian of Faith - V Dominate Person, Mind Twist - - + V Cone of Cold, Greater Restoration -* Superior Sight -You can see perfectly in all lighting conditions and have blind sight up to 80 ft, allowing you to perceive enemies even through invisibility and magical darkness. -* Umbral Cloak +* Lunar Cloak -If you start your turn in natural darkness, you become invisible. Moving out of darkness, attacking or using any power or spell that does not only target yourself breaks the invisibility. +You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute: +Full Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you and gain the lunar radiance power. Make a melee spell attack. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. +New Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in non-magical darkness instead, and gain the lunar chill power. Make a melee spell attack. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. ### Level 6 -* Dark Moon - -You can cast Darkness a number of times per long rest equal to your proficiency bonus. - -* Full Moon +* Midnight Blessing -You can cast Daylight a number of times per long rest equal to your proficiency bonus. - -* Improved Umbral Cloak - -Umbral Cloak now works in dim light and magical darkness. +You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. ### Level 10 -* Dance of the Night Sky - -You can cast Fly on 4 targets once per day. - -* Moon Touched +* Lunar Embrace -You conjure the gravitational pull of the moon in a small area, causing creatures who fail a saving throw to float upwards. +The damage of your Lunar Cloak increases to 2d8. In addition, whenever you conjure a cloak, you gain flying speed equal to your walking speed for the duration of the cloak. ### Level 14 -* Light Control +* Moonlight Guise -Your control of moon light has increased to a new level. You can cast the spells Moonbeam and Faerie Fire at will. +Whenever a creature damages you, you can use your reaction to become invisible until the end of your next turn. You can use this feature once per short rest. diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index a75d931ec5..03a74860a7 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -1,4 +1,5 @@ using System.Collections; +using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api; @@ -291,6 +292,7 @@ public PatronMoonlitScion() .Create($"Power{Name}MidnightBlessing") .SetGuiPresentation(Category.Feature, MoonBeam) .SetUsesFixed(ActivationTime.Action, RechargeRate.LongRest) + .SetShowCasting(false) .SetEffectDescription( EffectDescriptionBuilder .Create(MoonBeam) @@ -341,10 +343,12 @@ public PatronMoonlitScion() var powerMoonlightGuise = FeatureDefinitionPowerBuilder .Create($"Power{Name}MoonlightGuise") .SetGuiPresentation(Category.Feature) - .SetUsesFixed(ActivationTime.Reaction) + .SetUsesFixed(ActivationTime.Reaction, RechargeRate.ShortRest) .SetReactionContext(ExtraReactionContext.Custom) .AddToDB(); + powerMoonlightGuise.AddCustomSubFeatures(new CustomBehaviorMoonlightGuise(powerMoonlightGuise)); + // MAIN PowerBundle.RegisterPowerBundle(powerLunarCloak, false, powerFullMoon, powerNewMoon); @@ -527,4 +531,99 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } } + + private sealed class CustomBehaviorMoonlightGuise( + FeatureDefinitionPower powerMoonlightGuise) + : IAttackBeforeHitConfirmedOnMe, IMagicalAttackBeforeHitConfirmedOnMe + { + public IEnumerator OnAttackBeforeHitConfirmedOnMe( + GameLocationBattleManager battle, + GameLocationCharacter attacker, + GameLocationCharacter defender, + ActionModifier attackModifier, + RulesetAttackMode attackMode, + bool rangedAttack, + AdvantageType advantageType, + List actualEffectForms, + RulesetEffect rulesetEffect, + bool firstTarget, + bool criticalHit) + { + if (rulesetEffect == null) + { + yield return HandleReaction(defender); + } + } + + public IEnumerator OnMagicalAttackBeforeHitConfirmedOnMe( + GameLocationCharacter attacker, + GameLocationCharacter defender, + ActionModifier magicModifier, + RulesetEffect rulesetEffect, + List actualEffectForms, + bool firstTarget, + bool criticalHit) + { + yield return HandleReaction(defender); + } + + private IEnumerator HandleReaction(GameLocationCharacter defender) + { + var gameLocationBattleManager = + ServiceRepository.GetService() as GameLocationBattleManager; + var gameLocationActionManager = + ServiceRepository.GetService() as GameLocationActionManager; + + if (gameLocationBattleManager is not { IsBattleInProgress: true } || gameLocationActionManager == null) + { + yield break; + } + + if (!defender.CanReact()) + { + yield break; + } + + var rulesetDefender = defender.RulesetCharacter; + + if (rulesetDefender.GetRemainingPowerCharges(powerMoonlightGuise) <= 0) + { + yield break; + } + + var reactionParams = + new CharacterActionParams(defender, (ActionDefinitions.Id)ExtraActionId.DoNothingReaction) + { + StringParameter = "MoonlightGuise" + }; + + var previousReactionCount = gameLocationActionManager.PendingReactionRequestGroups.Count; + var reactionRequest = new ReactionRequestSpendPower(reactionParams); + + gameLocationActionManager.AddInterruptRequest(reactionRequest); + + yield return gameLocationBattleManager.WaitForReactions( + defender, gameLocationActionManager, previousReactionCount); + + if (!reactionParams.ReactionValidated) + { + yield break; + } + + rulesetDefender.UpdateUsageForPower(powerMoonlightGuise, powerMoonlightGuise.CostPerUse); + rulesetDefender.InflictCondition( + ConditionInvisible, + DurationType.Round, + 1, + TurnOccurenceType.EndOfSourceTurn, + AttributeDefinitions.TagEffect, + rulesetDefender.Guid, + rulesetDefender.CurrentFaction.Name, + 1, + ConditionInvisible, + 0, + 0, + 0); + } + } } diff --git a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt index 3d5fe4c300..6dddcfb90d 100644 --- a/SolastaUnfinishedBusiness/Translations/de/Others-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/Others-de.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=Riesig [MODDIERT] Screen/&EditorLocationSize4Title=Gargantuan [MODDED] Screen/&MulticlassExtraSpellDescription=Sie kennen diesen Zauber aus anderem Repertoire. Screen/&MulticlassExtraSpellTitle=Mehrklassig +Screen/&PatronExtraSpellDescription=Schutzzauber +Screen/&PatronExtraSpellTitle=Patron Screen/&RaceExtraSpellDescription=Du kennst diesen Zauber aus deiner Herkunft. Screen/&RaceExtraSpellTitle=Erbe Screen/&RangerSpellDescription=Dieser Zauber wurde von Ihrem Ranger-Archetyp gewährt und gilt als Ihnen bekannt. diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt new file mode 100644 index 0000000000..3a622be0e5 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 Strafe für AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Mondstrahlung +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Der Schaden deines Mondumhangs erhöht sich auf 2W8. Wenn Sie außerdem einen Umhang beschwören, erhöhen Sie für die Dauer des Umhangs Ihre Fluggeschwindigkeit in Höhe Ihrer Gehgeschwindigkeit. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Mondumarmung +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Mit Ihrer Bonusaktion können Sie einen Umhang aus Licht oder Dunkelheit beschwören und erhalten so eine Minute lang einen der folgenden Vorteile:\nVollmond: Sie werfen helles Licht in einem Radius von 15 Fuß ab und gedämpftes Licht in weiteren 15 Fuß Umkreisen Sie Ihren Umkreis und gewinnen Sie die Mondstrahlungskraft. Führe einen Nahkampf-Zauberangriff aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und hat bis zum Ende deines nächsten Zuges einen Malus von -1 auf deine RK.\nNeumond: Du bist in nichtmagischer Dunkelheit verborgen. Wenn du dich auf ein Feld bewegst, auf dem schwaches oder helles Licht herrscht, befindest du dich stattdessen in nichtmagischer Dunkelheit und erhältst die Kraft der Mondkälte. Führe einen Nahkampf-Zauberangriff aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mondumhang +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sie sind resistent gegen Strahlungsschaden, während der Vollmond-Umhang aktiv ist, und Sie sind resistent gegen Kälteschaden, während der Neumond-Umhang aktiv ist. Sie lernen auch den Zauber „Mondstrahl“, falls Sie dies noch nicht getan haben. Du kannst es einmal pro langer Pause wirken, ohne einen Zauberslot auf deiner höchsten Slot-Stufe zu erweitern. Wenn du die 11. Stufe erreichst, kannst du ihn als Zauber der 6. Stufe, als Zauber der 7. Stufe auf der 13. Stufe, als Zauber der 8. Stufe auf der 15. Stufe und als 9. Stufe auf der 17. Stufe wirken. Wenn Sie „Mondstrahl“ auf diese Weise wirken, erhalten Sie eine Minute lang temporäre Trefferpunkte in Höhe Ihrer Hexenmeisterstufe. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Mitternachtssegen +Feature/&PowerMoonlitScionFullMoonDescription=Sie spenden helles Licht in einem Radius von 15 Fuß und gedämpftes Licht in einem weiteren Radius von 15 Fuß um Sie herum. Wenn du es beschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 9 Metern um dich herum mit Mondstrahlung zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und erleidet bis zum Ende Ihres nächsten Zuges einen Malus von -1 auf die RK. +Feature/&PowerMoonlitScionFullMoonTitle=Vollmond +Feature/&PowerMoonlitScionLunarChillDescription=Sie können die Reichweite Ihres Umhangs vorübergehend erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um Sie herum mit Mondkälte berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. +Feature/&PowerMoonlitScionLunarChillTitle=Mondkälte +Feature/&PowerMoonlitScionLunarRadianceDescription=Sie können die Reichweite Ihres Umhangs vorübergehend erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um Sie herum mit Mondstrahlung berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und erleidet bis zum Ende Ihres nächsten Zuges einen Malus von -1 auf die RK. +Feature/&PowerMoonlitScionLunarRadianceTitle=Mondstrahlung +Feature/&PowerMoonlitScionMidnightBlessingDescription=Du kannst Mondstrahl einmal pro langer Pause als Kraft wirken, ohne einen Zauberslot auf deiner höchsten Slot-Stufe zu erweitern. Wenn du die 11. Stufe erreichst, kannst du ihn als Zauber der 6. Stufe, als Zauber der 7. Stufe auf der 13. Stufe, als Zauber der 8. Stufe auf der 15. Stufe und als 9. Stufe auf der 17. Stufe wirken. Wenn Sie „Mondstrahl“ auf diese Weise wirken, erhalten Sie eine Minute lang temporäre Trefferpunkte in Höhe Ihrer Hexenmeisterstufe. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Mitternachtssegen +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Immer wenn eine Kreatur dir Schaden zufügt, kannst du deine Reaktion nutzen, um bis zum Ende deines nächsten Zuges unsichtbar zu werden. Sie können diese Funktion einmal pro kurzer Pause nutzen. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Mondscheingestalt +Feature/&PowerMoonlitScionNewMoonDescription=Du bist in nichtmagischer Dunkelheit verborgen. Wenn Sie sich auf ein Feld bewegen, auf dem schwaches oder helles Licht herrscht, wird davon ausgegangen, dass Sie sich stattdessen in nichtmagischer Dunkelheit befinden. Wenn du es heraufbeschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um dich herum mit Mondkälte zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. +Feature/&PowerMoonlitScionNewMoonTitle=Neumond +Reaction/&SpendPowerMoonlightGuiseDescription=Du kannst bis zum Ende deines nächsten Zuges unsichtbar werden. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Unsichtbar werden. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Mondscheingestalt +Reaction/&SpendPowerMoonlightGuiseTitle=Mondscheingestalt +Subclass/&PatronMoonlitScionDescription=Ihr Schutzpatron ist ein Geist des Mondes, ein Wesen, das die zyklische Natur von Licht und Dunkelheit verkörpert. Diese Geister versuchen, die Macht des Mondes über den Nachthimmel aufrechtzuerhalten, während sie gleichzeitig profane Kräfte, die die Dunkelheit verfolgen, in Schach halten und ihre Hexenmeister damit beauftragen, ihnen die Macht über die Kräfte des Mondes und seine Auswirkungen zu übertragen. +Subclass/&PatronMoonlitScionTitle=Der Mondschein diff --git a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt index 677a42857b..c044512530 100644 --- a/SolastaUnfinishedBusiness/Translations/en/Others-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/Others-en.txt @@ -207,12 +207,13 @@ Rules/&SituationalContext1014Format=Has shield in hands: Rules/&SituationalContext1015Format=Target doesn't have condition: Rules/&SituationalContext1016Format=Has simple or martial weapons in hand: Rules/&TurnOccurenceEndOfSourceTurnFormat=End Source of Turn -Screen/&PatronExtraSpellDescription=Patron Screen/&ClassExtraSpellDescriptionFormat=You know this spell from {0} class. Screen/&EditorLocationSize3Title=Huge [MODDED] Screen/&EditorLocationSize4Title=Gargantuan [MODDED] Screen/&MulticlassExtraSpellDescription=You know this spell from other repertoire. Screen/&MulticlassExtraSpellTitle=Multiclass +Screen/&PatronExtraSpellDescription=Patron Spells +Screen/&PatronExtraSpellTitle=Patron Screen/&RaceExtraSpellDescription=You know this spell from your heritage. Screen/&RaceExtraSpellTitle=Heritage Screen/&RangerSpellDescription=This spell has been granted by your Ranger archetype and is considered known to you. diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt index b417fa1703..7ec8055028 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -1,5 +1,5 @@ -Feature/&AttributeModifierPatronMoonlitScionLunarRadianceEnemyDescription=–1 penalty to AC -Feature/&AttributeModifierPatronMoonlitScionLunarRadianceEnemyTitle=Lunar Radiance +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 penalty to AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Lunar Radiance Feature/&FeatureMoonlitScionLunarEmbraceDescription=The damage of your Lunar Cloak increases to 2d8. In addition, whenever you conjure a cloak, you gain flying speed equal to your walking speed for the duration of the cloak. Feature/&FeatureMoonlitScionLunarEmbraceTitle=Lunar Embrace Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you and gain the lunar radiance power. Make a melee spell attack. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn.\nNew Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in non-magical darkness instead, and gain the lunar chill power. Make a melee spell attack. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. @@ -18,5 +18,9 @@ Feature/&PowerMoonlitScionMoonlightGuiseDescription=Whenever a creature damages Feature/&PowerMoonlitScionMoonlightGuiseTitle=Moonlight Guise Feature/&PowerMoonlitScionNewMoonDescription=You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in nonmagical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. Feature/&PowerMoonlitScionNewMoonTitle=New Moon +Reaction/&SpendPowerMoonlightGuiseDescription=You can become invisible until the end of your next turn. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Become invisible. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Moonlight Guise +Reaction/&SpendPowerMoonlightGuiseTitle=Moonlight Guise Subclass/&PatronMoonlitScionDescription=Your patron is a spirit of the moon, an entity that embodies the cyclical nature of light and darkness. These spirits seek to maintain the power of the moon over the night sky while keeping profane powers that stalk the darkness at bay and task their warlocks with the same, granting them command over the powers of the moon and its effects. Subclass/&PatronMoonlitScionTitle=The Moonlit diff --git a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt index a579990373..c42a7c5580 100644 --- a/SolastaUnfinishedBusiness/Translations/es/Others-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/Others-es.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=Enorme [MODIFICADO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICADO] Screen/&MulticlassExtraSpellDescription=Conoces este hechizo de otro repertorio. Screen/&MulticlassExtraSpellTitle=Multiclase +Screen/&PatronExtraSpellDescription=Hechizos de patrón +Screen/&PatronExtraSpellTitle=Patrón Screen/&RaceExtraSpellDescription=Conoces este hechizo por tu herencia. Screen/&RaceExtraSpellTitle=Herencia Screen/&RangerSpellDescription=Este hechizo ha sido otorgado por tu arquetipo Ranger y se considera conocido por ti. diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt new file mode 100644 index 0000000000..68b38faadc --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 penalización al AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Resplandor lunar +Feature/&FeatureMoonlitScionLunarEmbraceDescription=El daño de tu Capa Lunar aumenta a 2d8. Además, cada vez que conjuras una capa, obtienes una velocidad de vuelo igual a tu velocidad al caminar mientras dure la capa. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abrazo lunar +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puedes usar tu acción adicional para conjurar un manto de luz u oscuridad, obteniendo uno de los siguientes beneficios durante un minuto:\nLuna llena: arrojas luz brillante en un radio de 15 pies y luz tenue en un radio de 15 pies adicional. radio a tu alrededor y gana el poder del resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno.\nLuna nueva: estás oscurecido por una oscuridad no mágica. Si te mueves a una casilla que está en una luz tenue o brillante, se considera que estás en una oscuridad no mágica y obtienes el poder del frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Capa lunar +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Eres resistente al daño radiante mientras la capa de Luna Llena está activa y eres resistente al daño por frío mientras la capa de Luna Nueva está activa. También aprendes el hechizo Moon Beam si aún no lo has hecho. Puedes lanzarlo una vez por descanso prolongado sin expandir un espacio de hechizo en tu nivel de espacio más alto. Cuando alcanzas el nivel 11, puedes lanzarlo como un hechizo de nivel 6, como nivel 7 en el nivel 13, como nivel 8 en el nivel 15 y como nivel 9 en el nivel 17. Cuando lanzas Moon Beam de esta manera, obtienes puntos de vida temporales iguales a tu nivel de brujo durante un minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bendición de medianoche +Feature/&PowerMoonlitScionFullMoonDescription=Proyectas luz brillante en un radio de 15 pies y luz tenue en un radio adicional de 15 pies a tu alrededor. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos siguientes, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno. +Feature/&PowerMoonlitScionFullMoonTitle=Luna llena +Feature/&PowerMoonlitScionLunarChillDescription=Puedes extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. +Feature/&PowerMoonlitScionLunarChillTitle=Frío lunar +Feature/&PowerMoonlitScionLunarRadianceDescription=Puedes extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno. +Feature/&PowerMoonlitScionLunarRadianceTitle=Resplandor lunar +Feature/&PowerMoonlitScionMidnightBlessingDescription=Puedes lanzar Rayo de Luna como un poder, una vez por descanso prolongado, sin expandir un espacio de hechizo en tu nivel de espacio más alto. Cuando alcanzas el nivel 11, puedes lanzarlo como un hechizo de nivel 6, como nivel 7 en el nivel 13, como nivel 8 en el nivel 15 y como nivel 9 en el nivel 17. Cuando lanzas Moon Beam de esta manera, obtienes puntos de vida temporales iguales a tu nivel de brujo durante un minuto. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Bendición de medianoche +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Siempre que una criatura te dañe, puedes usar tu reacción para volverte invisible hasta el final de tu siguiente turno. Puede utilizar esta función una vez por breve descanso. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Disfraz de luz de luna +Feature/&PowerMoonlitScionNewMoonDescription=Estás oscurecido en una oscuridad no mágica. Si te mueves a una casilla que tiene luz tenue o brillante, se considera que estás en una oscuridad no mágica. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos posteriores, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. +Feature/&PowerMoonlitScionNewMoonTitle=Luna nueva +Reaction/&SpendPowerMoonlightGuiseDescription=Puedes volverte invisible hasta el final de tu próximo turno. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Volverse invisible. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Disfraz de luz de luna +Reaction/&SpendPowerMoonlightGuiseTitle=Disfraz de luz de luna +Subclass/&PatronMoonlitScionDescription=Tu patrón es un espíritu de la luna, una entidad que encarna la naturaleza cíclica de la luz y la oscuridad. Estos espíritus buscan mantener el poder de la luna sobre el cielo nocturno mientras mantienen a raya los poderes profanos que acechan en la oscuridad y encargan lo mismo a sus brujos, otorgándoles control sobre los poderes de la luna y sus efectos. +Subclass/&PatronMoonlitScionTitle=La luz de la luna diff --git a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt index 8a7554bc73..10936d2246 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/Others-fr.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=Très Grande [MODÉ] Screen/&EditorLocationSize4Title=Gigantesque [MODÉ] Screen/&MulticlassExtraSpellDescription=Vous connaissez ce sort d'un autre répertoire. Screen/&MulticlassExtraSpellTitle=Multiclasse +Screen/&PatronExtraSpellDescription=Sorts de mécène +Screen/&PatronExtraSpellTitle=Mécène Screen/&RaceExtraSpellDescription=Vous connaissez ce sort de votre héritage. Screen/&RaceExtraSpellTitle=Héritage Screen/&RangerSpellDescription=Ce sort a été accordé par votre archétype de Rôdeur et est considéré comme étant connu. diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt new file mode 100644 index 0000000000..05276e0955 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 pénalité à AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Radiance lunaire +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Les dégâts de votre Cape Lunaire augmentent à 2d8. De plus, chaque fois que vous invoquez une cape, vous gagnez une vitesse de vol égale à votre vitesse de marche pendant toute la durée de la cape. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Étreinte lunaire +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Vous pouvez utiliser votre action bonus pour invoquer un manteau de lumière ou d'obscurité, bénéficiant ainsi de l'un des avantages suivants pendant une minute :\nPleine Lune : vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon de 15 pieds supplémentaires. rayon autour de vous et gagnez le pouvoir de rayonnement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour.\nNouvelle Lune : vous êtes obscurci par des ténèbres non magiques. Si vous vous déplacez vers une tuile qui est dans une lumière faible ou vive, vous êtes considéré comme étant dans l'obscurité non magique et gagnez le pouvoir de refroidissement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Cape lunaire +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l’avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous atteignez le niveau 11, vous pouvez le lancer comme un sort de niveau 6, comme niveau 7 au niveau 13, comme niveau 8 au niveau 15 et comme niveau 9 au niveau 17. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste pendant une minute. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bénédiction de minuit +Feature/&PowerMoonlitScionFullMoonDescription=Vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon supplémentaire de 15 pieds autour de vous. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un rayonnement lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour. +Feature/&PowerMoonlitScionFullMoonTitle=Pleine lune +Feature/&PowerMoonlitScionLunarChillDescription=Vous pouvez momentanément étendre la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec le froid lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. +Feature/&PowerMoonlitScionLunarChillTitle=Froid lunaire +Feature/&PowerMoonlitScionLunarRadianceDescription=Vous pouvez momentanément étendre la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un rayonnement lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour. +Feature/&PowerMoonlitScionLunarRadianceTitle=Radiance lunaire +Feature/&PowerMoonlitScionMidnightBlessingDescription=Vous pouvez lancer Rayon de Lune comme pouvoir, une fois par repos long, sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous atteignez le niveau 11, vous pouvez le lancer comme un sort de niveau 6, comme niveau 7 au niveau 13, comme niveau 8 au niveau 15 et comme niveau 9 au niveau 17. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste pendant une minute. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Bénédiction de minuit +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Chaque fois qu'une créature vous blesse, vous pouvez utiliser votre réaction pour devenir invisible jusqu'à la fin de votre prochain tour. Vous pouvez utiliser cette fonctionnalité une fois par court repos. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Déguisement au clair de lune +Feature/&PowerMoonlitScionNewMoonDescription=Vous êtes obscurci dans une obscurité non magique. Si vous vous déplacez vers une tuile qui se trouve dans une lumière faible ou vive, vous êtes considéré comme étant dans une obscurité non magique. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un froid lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. +Feature/&PowerMoonlitScionNewMoonTitle=Nouvelle lune +Reaction/&SpendPowerMoonlightGuiseDescription=Vous pouvez devenir invisible jusqu'à la fin de votre prochain tour. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Deviens invisible. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Déguisement au clair de lune +Reaction/&SpendPowerMoonlightGuiseTitle=Déguisement au clair de lune +Subclass/&PatronMoonlitScionDescription=Votre patron est un esprit de la lune, une entité qui incarne la nature cyclique de la lumière et des ténèbres. Ces esprits cherchent à maintenir le pouvoir de la lune sur le ciel nocturne tout en gardant à distance les pouvoirs profanes qui traquent les ténèbres et chargent leurs sorciers de le faire, leur accordant ainsi le contrôle des pouvoirs de la lune et de leurs effets. +Subclass/&PatronMoonlitScionTitle=Le clair de lune diff --git a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt index 5f044b4551..cc914c143d 100644 --- a/SolastaUnfinishedBusiness/Translations/it/Others-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/Others-it.txt @@ -213,6 +213,8 @@ Screen/&EditorLocationSize3Title=Enorme [MODIFICATO] Screen/&EditorLocationSize4Title=Gigantesco [MODIFICATO] Screen/&MulticlassExtraSpellDescription=Conosci questo incantesimo da un altro repertorio. Screen/&MulticlassExtraSpellTitle=Multiclasse +Screen/&PatronExtraSpellDescription=Incantesimi patroni +Screen/&PatronExtraSpellTitle=Patrono Screen/&RaceExtraSpellDescription=Conosci questo incantesimo dalla tua eredità. Screen/&RaceExtraSpellTitle=Eredità Screen/&RangerSpellDescription=Questo incantesimo è stato concesso dal tuo archetipo Ranger ed è considerato noto a te. diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt new file mode 100644 index 0000000000..f972ba2738 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 penalità alla CA +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Radianza lunare +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Il danno del tuo Mantello Lunare aumenta a 2d8. Inoltre, ogni volta che evochi un mantello, guadagni velocità di volo pari alla tua velocità di cammino per la durata del mantello. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abbraccio Lunare +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puoi usare la tua azione bonus per evocare un mantello di luce o di oscurità, ottenendo uno dei seguenti benefici per un minuto:\nLuna piena: emetti luce intensa in un raggio di 15 piedi e luce fioca in un raggio aggiuntivo di 15 piedi raggio intorno a te e ottieni il potere della luminosità lunare. Effettua un attacco con incantesimo in mischia. Se colpisce, la creatura subisce 1d8 danni radiosi e ha una penalità di –1 alla CA fino alla fine del tuo turno successivo.\nLuna Nuova: sei oscurato nell'oscurità non magica. Se ti sposti su una tessera che è in condizioni di luce fioca o intensa, sei considerato invece in un'oscurità non magica e ottieni il potere del gelo lunare. Effettua un attacco con incantesimo in mischia. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mantello Lunare +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sei resistente ai danni radianti mentre il mantello della Luna Piena è attivo e sei resistente ai danni da freddo mentre il mantello della Luna Nuova è attivo. Impari anche l'incantesimo Moon Beam se non l'hai già fatto. Puoi lanciarlo una volta per riposo lungo senza espandere uno slot incantesimo al tuo livello di slot più alto. Quando raggiungi l'11° livello, puoi lanciarlo come incantesimo di 6° livello, di 7° livello al 13°, di 8° livello al 15° e di 9° livello al 17° livello. Quando lanci Moon Beam in questo modo, guadagni punti ferita temporanei pari al tuo livello da stregone per un minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Benedizione di mezzanotte +Feature/&PowerMoonlitScionFullMoonDescription=L'incantatore emette luce intensa in un raggio di 4,5 metri e luce fioca in un raggio aggiuntivo di 4,5 metri attorno a sé. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con radiosità lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni radiosi e ha penalità –1 alla CA fino alla fine del turno successivo dell'incantatore. +Feature/&PowerMoonlitScionFullMoonTitle=Luna piena +Feature/&PowerMoonlitScionLunarChillDescription=Puoi estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con gelo lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. +Feature/&PowerMoonlitScionLunarChillTitle=Freddo lunare +Feature/&PowerMoonlitScionLunarRadianceDescription=Puoi estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con la radiosità lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni radiosi e ha penalità –1 alla CA fino alla fine del turno successivo dell'incantatore. +Feature/&PowerMoonlitScionLunarRadianceTitle=Radianza lunare +Feature/&PowerMoonlitScionMidnightBlessingDescription=Puoi lanciare Raggio Lunare come potere, una volta per riposo lungo, senza espandere uno slot incantesimo al tuo livello di slot più alto. Quando raggiungi l'11° livello, puoi lanciarlo come incantesimo di 6° livello, di 7° livello al 13°, di 8° livello al 15° e di 9° livello al 17° livello. Quando lanci Moon Beam in questo modo, guadagni punti ferita temporanei pari al tuo livello da stregone per un minuto. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Benedizione di mezzanotte +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Ogni volta che una creatura ti danneggia, puoi usare la tua reazione per diventare invisibile fino alla fine del tuo turno successivo. Puoi usare questa capacità una volta per ogni riposo breve. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Veste al chiaro di luna +Feature/&PowerMoonlitScionNewMoonDescription=Sei oscurato nell'oscurità non magica. Se ti sposti su una tessera che si trova in condizioni di luce fioca o intensa, sei considerato invece nell'oscurità non magica. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con un gelo lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. +Feature/&PowerMoonlitScionNewMoonTitle=Nuova luna +Reaction/&SpendPowerMoonlightGuiseDescription=Puoi diventare invisibile fino alla fine del tuo prossimo turno. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Diventa invisibile. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Veste al chiaro di luna +Reaction/&SpendPowerMoonlightGuiseTitle=Veste al chiaro di luna +Subclass/&PatronMoonlitScionDescription=Il tuo protettore è uno spirito della luna, un'entità che incarna la natura ciclica della luce e dell'oscurità. Questi spiriti cercano di mantenere il potere della luna sul cielo notturno, tenendo a bada i poteri profani che infestano l'oscurità e incaricano i loro stregoni di fare lo stesso, garantendo loro il comando sui poteri della luna e sui suoi effetti. +Subclass/&PatronMoonlitScionTitle=Il chiaro di luna diff --git a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt index b3c5d211f7..7f1a891aa1 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/Others-ja.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=巨大な[MODD] Screen/&EditorLocationSize4Title=ガルガンチュアン [MODD] Screen/&MulticlassExtraSpellDescription=この呪文は他のレパートリーでもよく知られています。 Screen/&MulticlassExtraSpellTitle=マルチクラス +Screen/&PatronExtraSpellDescription=パトロンの呪文 +Screen/&PatronExtraSpellTitle=パトロン Screen/&RaceExtraSpellDescription=あなたは先祖からこの呪文を知っています。 Screen/&RaceExtraSpellTitle=遺産 Screen/&RangerSpellDescription=この呪文はあなたのレンジャーのアーキタイプによって付与されており、あなたは知っていると考えられています。 diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt new file mode 100644 index 0000000000..3571ee0d39 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=ACへのペナルティ-1 +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=月の輝き +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Lunar Cloak のダメージは 2d8 に増加します。さらに、マントを召喚するたびに、マントが持続している間、歩行速度と同じ飛行速度が得られます。 +Feature/&FeatureMoonlitScionLunarEmbraceTitle=月の抱擁 +Feature/&FeatureSetMoonlitScionLunarCloakDescription=ボーナス アクションを使用して、光または闇のマントを呼び出すことができ、1 分間以下のいずれかのメリットを得ることができます:\n満月: 半径 15 フィートで明るい光を放ち、さらに 15 フィートで薄暗い光を放ちます。あなたの周りの半径を拡大し、月の輝きパワーを獲得してください。近接呪文攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。\n新月: あなたは魔法ではない暗闇に覆われます。薄暗い光または明るい光のタイルに移動すると、魔法ではない暗闇にいるとみなされ、月の冷気の力を獲得します。近接呪文攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 +Feature/&FeatureSetMoonlitScionLunarCloakTitle=月のマント +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=満月のマントがアクティブな間は放射ダメージに耐性があり、新月のマントがアクティブな間は冷気ダメージに耐性があります。まだムーンビームの呪文を学習していない場合は、ムーンビームの呪文も学習します。最高のスロット レベルで呪文スロットを拡張せずに、長い休息ごとに 1 回唱えることができます。 11レベルに到達すると、6レベルの呪文として、13レベルでは7レベルの呪文として、15レベルでは8レベルの呪文として、17レベルでは9レベルの呪文として唱えることができます。この方法でムーン ビームをキャストすると、1 分間、ウォーロック レベルに等しい一時的なヒット ポイントを獲得します。 +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=ミッドナイト・ブレッシング +Feature/&PowerMoonlitScionFullMoonDescription=半径 15 フィートの範囲では明るい光が照射され、さらに半径 15 フィートの範囲では薄暗い光が照射されます。これを召喚すると、その後の各ターンのボーナス アクションとして、ボーナス アクションを使用してマントの到達範囲を一時的に延長し、月の輝きで 30 フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。 +Feature/&PowerMoonlitScionFullMoonTitle=満月 +Feature/&PowerMoonlitScionLunarChillDescription=マントの到達範囲を一時的に伸ばし、月のような冷気で 30 フィート以内の敵対的な生き物に触れることもできます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 +Feature/&PowerMoonlitScionLunarChillTitle=ルナーチル +Feature/&PowerMoonlitScionLunarRadianceDescription=マントの到達範囲を一時的に伸ばし、月の輝きで 30 フィート以内の敵対的な生き物に触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。 +Feature/&PowerMoonlitScionLunarRadianceTitle=月の輝き +Feature/&PowerMoonlitScionMidnightBlessingDescription=最高のスロット レベルで呪文スロットを拡張することなく、長い休息ごとに 1 回、ムーンビームをパワーとしてキャストできます。 11レベルに到達すると、6レベルの呪文として、13レベルでは7レベルの呪文として、15レベルでは8レベルの呪文として、17レベルでは9レベルの呪文として唱えることができます。この方法でムーン ビームをキャストすると、1 分間、ウォーロック レベルに等しい一時的なヒット ポイントを獲得します。 +Feature/&PowerMoonlitScionMidnightBlessingTitle=ミッドナイト・ブレッシング +Feature/&PowerMoonlitScionMoonlightGuiseDescription=クリーチャーがあなたにダメージを与えるたび、あなたはその反応を利用して次のターンの終わりまで透明になることができます。この機能は、短い休憩ごとに 1 回使用できます。 +Feature/&PowerMoonlitScionMoonlightGuiseTitle=ムーンライトガイズ +Feature/&PowerMoonlitScionNewMoonDescription=あなたは魔法ではない暗闇の中に隠れています。薄暗い、または明るい光のタイルに移動すると、魔法ではない暗闇にいると見なされます。あなたがそれを召喚するとき、そしてその後の各ターンのボーナスアクションとして、あなたはボーナスアクションを使用してマントの範囲を一時的に伸ばし、月の寒さで30フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 +Feature/&PowerMoonlitScionNewMoonTitle=新月 +Reaction/&SpendPowerMoonlightGuiseDescription=次のターンが終了するまで透明になることができます。 +Reaction/&SpendPowerMoonlightGuiseReactDescription=見えなくなる。 +Reaction/&SpendPowerMoonlightGuiseReactTitle=ムーンライトガイズ +Reaction/&SpendPowerMoonlightGuiseTitle=ムーンライトガイズ +Subclass/&PatronMoonlitScionDescription=あなたの守護者は月の精霊であり、光と闇の周期的な性質を体現する存在です。これらの精霊は、闇に忍び寄る不敬な力を寄せ付けずに夜空にかかる月の力を維持しようと努めており、彼らの魔法使いに月の力とその影響を制御する権限を与えるという同じ任務を与えています。 +Subclass/&PatronMoonlitScionTitle=月明かりに照らされて diff --git a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt index e1454af578..1c9eeff93d 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/Others-ko.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=거대 [MODDED] Screen/&EditorLocationSize4Title=초거대 [MODDED] Screen/&MulticlassExtraSpellDescription=이 주문이 다른 레퍼토리에 있다는 걸 압니다. Screen/&MulticlassExtraSpellTitle=멀티클래스 +Screen/&PatronExtraSpellDescription=후원자 주문 +Screen/&PatronExtraSpellTitle=후원자 Screen/&RaceExtraSpellDescription=당신은 당신의 유산에서 이 주문을 알고 있습니다. Screen/&RaceExtraSpellTitle=유산 Screen/&RangerSpellDescription=이 주문은 레인저 아키타입으로 받은 것으로, 이미 알고 있는 것으로 간주됩니다. diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt new file mode 100644 index 0000000000..0590d42856 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=AC에 –1 페널티 +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=달의 빛남 +Feature/&FeatureMoonlitScionLunarEmbraceDescription=달 망토의 피해가 2d8로 증가합니다. 또한, 망토를 소환할 때마다 망토가 지속되는 동안 걷는 속도와 동일한 비행 속도를 얻습니다. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=달의 포옹 +Feature/&FeatureSetMoonlitScionLunarCloakDescription=보너스 액션을 사용하여 빛이나 어둠의 망토를 불러일으킬 수 있으며 1분 동안 다음 혜택 중 하나를 얻을 수 있습니다.\n보름달: 15피트 반경에 밝은 빛을 비추고 추가 15피트 반경에 희미한 빛을 비춥니다. 당신 주위의 반경을 넓혀 달빛의 힘을 얻으세요. 근접 주문 공격을 가합니다. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다.\n초승달: 당신은 마법이 아닌 어둠에 가려집니다. 어둡거나 밝은 빛이 있는 타일로 이동하면 마법이 아닌 어둠 속에 있는 것으로 간주되어 달의 냉각 능력을 얻습니다. 근접 주문 공격을 가합니다. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=달의 망토 +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=보름달 망토가 활성화되어 있는 동안에는 복사 피해에 저항력이 있고, 초승달 망토가 활성화되어 있는 동안에는 냉기 피해에 저항력이 있습니다. 아직 배우지 않았다면 Moon Beam 주문도 배우게 됩니다. 가장 높은 슬롯 레벨에서 주문 슬롯을 확장하지 않고도 긴 휴식마다 한 번씩 시전할 수 있습니다. 11레벨에 도달하면 6레벨 주문으로, 13레벨에는 7레벨, 15레벨에는 8레벨, 17레벨에는 9레벨로 시전할 수 있습니다. 이런 식으로 Moon Beam을 시전하면 1분 동안 흑마법사 레벨과 동일한 임시 체력을 얻게 됩니다. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=자정의 축복 +Feature/&PowerMoonlitScionFullMoonDescription=당신은 당신 주변의 15피트 반경에 밝은 빛을 비추고 추가로 15피트 반경에 희미한 빛을 발산합니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 빛으로 당신으로부터 30피트 내의 적대적인 생물에 닿을 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다. +Feature/&PowerMoonlitScionFullMoonTitle=보름달 +Feature/&PowerMoonlitScionLunarChillDescription=순간적으로 망토의 범위를 확장하고 달의 냉기로 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. +Feature/&PowerMoonlitScionLunarChillTitle=달의 냉각 +Feature/&PowerMoonlitScionLunarRadianceDescription=순간적으로 망토의 범위를 확장하고 달의 빛으로 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다. +Feature/&PowerMoonlitScionLunarRadianceTitle=달의 빛남 +Feature/&PowerMoonlitScionMidnightBlessingDescription=가장 높은 슬롯 레벨에서 주문 슬롯을 확장하지 않고도 긴 휴식마다 한 번씩 Moonbeam을 파워로 시전할 수 있습니다. 11레벨에 도달하면 6레벨 주문으로, 13레벨에는 7레벨, 15레벨에는 8레벨, 17레벨에는 9레벨로 시전할 수 있습니다. 이런 식으로 Moon Beam을 시전하면 1분 동안 흑마법사 레벨과 동일한 임시 체력을 얻게 됩니다. +Feature/&PowerMoonlitScionMidnightBlessingTitle=자정의 축복 +Feature/&PowerMoonlitScionMoonlightGuiseDescription=생물이 당신에게 피해를 입힐 때마다 당신은 반응을 이용해 다음 턴이 끝날 때까지 투명 상태가 될 수 있습니다. 이 기능은 짧은 휴식마다 한 번씩 사용할 수 있습니다. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=달빛의 가면 +Feature/&PowerMoonlitScionNewMoonDescription=당신은 마법이 아닌 어둠 속에 가려져 있습니다. 어둡거나 밝은 빛이 있는 타일로 이동하면 대신 마법이 아닌 어둠 속에 있는 것으로 간주됩니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 냉기로 당신으로부터 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. +Feature/&PowerMoonlitScionNewMoonTitle=뉴 문 +Reaction/&SpendPowerMoonlightGuiseDescription=다음 턴이 끝날 때까지 투명 상태가 될 수 있습니다. +Reaction/&SpendPowerMoonlightGuiseReactDescription=보이지 않게 되십시오. +Reaction/&SpendPowerMoonlightGuiseReactTitle=달빛의 가면 +Reaction/&SpendPowerMoonlightGuiseTitle=달빛의 가면 +Subclass/&PatronMoonlitScionDescription=당신의 후원자는 빛과 어둠의 순환적 성격을 구현하는 존재인 달의 정령입니다. 이 영혼들은 밤하늘을 지배하는 달의 힘을 유지하는 동시에 어둠을 추적하는 불경한 힘을 유지하고 흑마법사에게 동일한 임무를 부여하여 달의 힘과 그 효과에 대한 명령권을 부여하려고 합니다. +Subclass/&PatronMoonlitScionTitle=달빛 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt index aa49450ad4..6c394f17f1 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/Others-pt-BR.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=Enorme [MODADO] Screen/&EditorLocationSize4Title=Gigantesco [MODDED] Screen/&MulticlassExtraSpellDescription=Você conhece este feitiço de outro repertório. Screen/&MulticlassExtraSpellTitle=Multiclasse +Screen/&PatronExtraSpellDescription=Feitiços de Patrono +Screen/&PatronExtraSpellTitle=Patrono Screen/&RaceExtraSpellDescription=Você conhece este feitiço de sua herança. Screen/&RaceExtraSpellTitle=Herança Screen/&RangerSpellDescription=Este feitiço foi concedido por seu arquétipo de Ranger e é considerado conhecido por você. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt new file mode 100644 index 0000000000..72c03e1dcb --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=–1 penalidade para CA +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Radiância Lunar +Feature/&FeatureMoonlitScionLunarEmbraceDescription=O dano do seu Manto Lunar aumenta para 2d8. Além disso, sempre que você conjurar uma capa, você ganha deslocamento de voo igual ao seu deslocamento de caminhada durante a duração da capa. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abraço Lunar +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Você pode usar sua ação bônus para conjurar um manto de luz ou escuridão, ganhando um dos seguintes benefícios por um minuto:\nLua Cheia: você emite luz brilhante em um raio de 4,5 metros e luz fraca em 4,5 metros adicionais raio ao seu redor e ganhe o poder do brilho lunar. Faça um ataque mágico corpo a corpo. Se acertar, a criatura sofre 1d8 de dano radiante e tem uma penalidade de -1 na CA até o final do seu próximo turno.\nLua Nova: Você está obscurecido por uma escuridão não mágica. Se você mover para um ladrilho com luz fraca ou brilhante, você será considerado como estando em uma escuridão não-mágica e ganhará o poder de resfriamento lunar. Faça um ataque mágico corpo a corpo. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Manto Lunar +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Você é resistente a danos radiantes enquanto o manto da Lua Cheia está ativo e é resistente a danos de frio enquanto o manto da Lua Nova está ativo. Você também aprende o feitiço Moon Beam, se ainda não o fez. Você pode lançá-lo uma vez por descanso longo sem expandir um slot de magia em seu nível de slot mais alto. Quando você atinge o 11º nível, você pode lançá-la como uma magia de 6º nível, como 7º nível no 13º, como 8º nível no 15º e 9º nível no 17º nível. Ao lançar Moon Beam dessa forma, você ganha pontos de vida temporários iguais ao seu nível de bruxo por um minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bênção da meia-noite +Feature/&PowerMoonlitScionFullMoonDescription=Você emite luz brilhante em um raio de 4,5 metros e luz fraca em um raio adicional de 4,5 metros ao seu redor. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com brilho lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano radiante e tem –1 de penalidade na CA até o final do seu próximo turno. +Feature/&PowerMoonlitScionFullMoonTitle=Lua cheia +Feature/&PowerMoonlitScionLunarChillDescription=Você pode estender momentaneamente o alcance do seu manto e tocar uma criatura hostil a até 9 metros de você com frio lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. +Feature/&PowerMoonlitScionLunarChillTitle=Frio Lunar +Feature/&PowerMoonlitScionLunarRadianceDescription=Você pode estender momentaneamente o alcance do seu manto e tocar uma criatura hostil a até 9 metros de você com brilho lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano radiante e tem –1 de penalidade na CA até o final do seu próximo turno. +Feature/&PowerMoonlitScionLunarRadianceTitle=Radiância Lunar +Feature/&PowerMoonlitScionMidnightBlessingDescription=Você pode lançar Moonbeam como um poder, uma vez por descanso longo, sem expandir um slot de magia em seu nível de slot mais alto. Quando você atinge o 11º nível, você pode lançá-la como uma magia de 6º nível, como 7º nível no 13º, como 8º nível no 15º e 9º nível no 17º nível. Ao lançar Moon Beam dessa forma, você ganha pontos de vida temporários iguais ao seu nível de bruxo por um minuto. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Bênção da meia-noite +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Sempre que uma criatura causar dano a você, você pode usar sua reação para ficar invisível até o final do seu próximo turno. Você pode usar esse recurso uma vez por descanso curto. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Traje do luar +Feature/&PowerMoonlitScionNewMoonDescription=Você está obscurecido pela escuridão não-mágica. Se você se mover para um ladrilho que esteja sob luz fraca ou brilhante, você será considerado em escuridão não-mágica. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com frio lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. +Feature/&PowerMoonlitScionNewMoonTitle=Lua Nova +Reaction/&SpendPowerMoonlightGuiseDescription=Você pode ficar invisível até o final do seu próximo turno. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Torne-se invisível. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Traje do luar +Reaction/&SpendPowerMoonlightGuiseTitle=Traje do luar +Subclass/&PatronMoonlitScionDescription=Seu patrono é um espírito da lua, uma entidade que incorpora a natureza cíclica da luz e das trevas. Esses espíritos procuram manter o poder da lua sobre o céu noturno, enquanto mantêm os poderes profanos que perseguem a escuridão sob controle e encarregam seus feiticeiros de fazer o mesmo, garantindo-lhes o comando sobre os poderes da lua e seus efeitos. +Subclass/&PatronMoonlitScionTitle=O luar diff --git a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt index f0c623da6e..bb1f9dfedf 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/Others-ru.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=Огромный [Модифицировано] Screen/&EditorLocationSize4Title=Гигантский [Модифицировано] Screen/&MulticlassExtraSpellDescription=Вам известно это заклинание из другого репертуара. Screen/&MulticlassExtraSpellTitle=Мультикласс +Screen/&PatronExtraSpellDescription=Заклинания покровителя +Screen/&PatronExtraSpellTitle=Покровитель Screen/&RaceExtraSpellDescription=Вам известно это заклинание из своего наследия. Screen/&RaceExtraSpellTitle=Наследие Screen/&RangerSpellDescription=Это заклинание досталось вам из архетипа Следопыта и считается известным вам. diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt new file mode 100644 index 0000000000..b7805b226e --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=-1 штраф к AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Лунное сияние +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Урон вашего Лунного плаща увеличивается до 2d8. Кроме того, каждый раз, когда вы создаете плащ, вы получаете скорость полета, равную скорости ходьбы, на время действия плаща. +Feature/&FeatureMoonlitScionLunarEmbraceTitle=Лунные объятия +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Вы можете использовать бонусное действие, чтобы сотворить покров света или тьмы, получая на одну минуту одно из следующих преимуществ:\nПолнолуние: вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов. радиус вокруг себя и получите силу лунного сияния. Совершите рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода.\nНоволуние: вы скрыты немагической тьмой. Если вы перейдете на плитку, освещенную тусклым или ярким светом, вместо этого считается, что вы находитесь в немагической темноте и получаете силу лунного холода. Совершите рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&FeatureSetMoonlitScionLunarCloakTitle=Лунный плащ +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы устойчивы к урону излучением, пока активен плащ Полнолуния, и устойчивы к урону холодом, пока активен плащ Новолуния. Вы также выучите заклинание «Лунный луч», если еще этого не сделали. Вы можете сотворить его один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы достигнете 11-го уровня, вы сможете использовать его как заклинание 6-го уровня, как 7-го уровня на 13-м, как 8-го уровня на 15-м и 9-го уровня на 17-м уровне. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Полуночное благословение +Feature/&PowerMoonlitScionFullMoonDescription=Вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов вокруг себя. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. +Feature/&PowerMoonlitScionFullMoonTitle=Полнолуние +Feature/&PowerMoonlitScionLunarChillDescription=Вы можете на мгновение расширить зону действия своего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&PowerMoonlitScionLunarChillTitle=Лунный холод +Feature/&PowerMoonlitScionLunarRadianceDescription=Вы можете на мгновение расширить зону действия своего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. +Feature/&PowerMoonlitScionLunarRadianceTitle=Лунное сияние +Feature/&PowerMoonlitScionMidnightBlessingDescription=Вы можете использовать Лунный луч как силу один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы достигнете 11-го уровня, вы сможете использовать его как заклинание 6-го уровня, как 7-го уровня на 13-м, как 8-го уровня на 15-м и 9-го уровня на 17-м уровне. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. +Feature/&PowerMoonlitScionMidnightBlessingTitle=Полуночное благословение +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Каждый раз, когда существо наносит вам урон, вы можете использовать свою реакцию, чтобы стать невидимым до конца вашего следующего хода. Вы можете использовать эту функцию один раз за короткий отдых. +Feature/&PowerMoonlitScionMoonlightGuiseTitle=Лунный облик +Feature/&PowerMoonlitScionNewMoonDescription=Вы скрыты немагической тьмой. Если вы перейдете на плитку, освещенную тусклым или ярким светом, вместо этого считается, что вы находитесь в немагической темноте. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&PowerMoonlitScionNewMoonTitle=Новолуние +Reaction/&SpendPowerMoonlightGuiseDescription=Вы можете стать невидимым до конца вашего следующего хода. +Reaction/&SpendPowerMoonlightGuiseReactDescription=Стать невидимым. +Reaction/&SpendPowerMoonlightGuiseReactTitle=Лунный облик +Reaction/&SpendPowerMoonlightGuiseTitle=Лунный облик +Subclass/&PatronMoonlitScionDescription=Ваш покровитель — дух луны, сущность, олицетворяющая цикличность света и тьмы. Эти духи стремятся сохранить власть луны над ночным небом, сдерживая при этом светские силы, преследующие тьму, и поручают то же самое своим колдунам, давая им возможность управлять силами луны и ее эффектами. +Subclass/&PatronMoonlitScionTitle=Лунный свет diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt index fa5d817a81..49d335aab4 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/Others-zh-CN.txt @@ -212,6 +212,8 @@ Screen/&EditorLocationSize3Title=巨型 [修改] Screen/&EditorLocationSize4Title=超巨型 [修改] Screen/&MulticlassExtraSpellDescription=你从其他法术表中知道这个咒语。 Screen/&MulticlassExtraSpellTitle=兼职 +Screen/&PatronExtraSpellDescription=守护神咒语 +Screen/&PatronExtraSpellTitle=赞助人 Screen/&RaceExtraSpellDescription=你从你的血脉传承中获得该法术。 Screen/&RaceExtraSpellTitle=血脉传承 Screen/&RangerSpellDescription=该法术已被你的游侠职业授予,并被视为你已知。 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt new file mode 100644 index 0000000000..29617c4268 --- /dev/null +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt @@ -0,0 +1,26 @@ +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=AC 受到 –1 点惩罚 +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=月光 +Feature/&FeatureMoonlitScionLunarEmbraceDescription=你的月亮斗篷的伤害增加到 2d8。此外,每当你召唤斗篷时,你在斗篷持续时间内获得的飞行速度等于你的行走速度。 +Feature/&FeatureMoonlitScionLunarEmbraceTitle=月之拥抱 +Feature/&FeatureSetMoonlitScionLunarCloakDescription=您可以使用奖励动作召唤光明或黑暗斗篷,获得以下好处之一,持续一分钟:\n满月:您在 15 英尺半径内发出明亮的光芒,并在另外 15 英尺半径内发出昏暗的光芒你周围的半径并获得月球辐射力。进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下一回合结束。\n新月:你被非魔法的黑暗所遮蔽。如果您移动到处于昏暗或明亮光线下的图块,您将被视为处于非魔法黑暗中,并获得月亮寒冷力量。进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 +Feature/&FeatureSetMoonlitScionLunarCloakTitle=月亮斗篷 +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=当满月斗篷激活时,你可以抵抗辐射伤害;当新月斗篷激活时,你可以抵抗寒冷伤害。如果您还没有学习月光法术,您也可以学习。你可以在每次长时间休息时施放一次,而无需在你的最高等级上扩展法术位。当你达到11级时,你可以将其作为6级法术施展,13级时作为7级法术施展,15级时作为8级法术施展,17级时作为9级法术施展。当你以这种方式施放月光时,你会获得相当于术士等级的临时生命值,持续一分钟。 +Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=午夜祝福 +Feature/&PowerMoonlitScionFullMoonDescription=您在 15 英尺半径范围内发出明亮的光线,并在您周围另外 15 英尺半径范围内发出昏暗的光线。当你召唤它时,作为你后续每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的覆盖范围,并用月光接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下回合结束。 +Feature/&PowerMoonlitScionFullMoonTitle=满月 +Feature/&PowerMoonlitScionLunarChillDescription=你可以暂时扩展你的斗篷的范围,并用月之寒气接触到你 30 英尺内的敌对生物。对它进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 +Feature/&PowerMoonlitScionLunarChillTitle=月寒 +Feature/&PowerMoonlitScionLunarRadianceDescription=你可以暂时扩展你的斗篷的覆盖范围,并用月光接触到你周围 30 英尺内的敌对生物。对它进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下回合结束。 +Feature/&PowerMoonlitScionLunarRadianceTitle=月光 +Feature/&PowerMoonlitScionMidnightBlessingDescription=你可以将月光作为一种力量施放,每次长时间休息一次,而无需在你的最高等级上扩展法术位。当你达到11级时,你可以将其作为6级法术施展,13级时作为7级法术施展,15级时作为8级法术施展,17级时作为9级法术施展。当你以这种方式施放月光时,你会获得相当于术士等级的临时生命值,持续一分钟。 +Feature/&PowerMoonlitScionMidnightBlessingTitle=午夜祝福 +Feature/&PowerMoonlitScionMoonlightGuiseDescription=每当一个生物对你造成伤害时,你可以利用你的反应来隐形,直到你的下一个回合结束。每次短暂休息时您可以使用此功能一次。 +Feature/&PowerMoonlitScionMoonlightGuiseTitle=月光伪装 +Feature/&PowerMoonlitScionNewMoonDescription=你被非魔法的黑暗所遮蔽。如果您移动到处于昏暗或明亮光线下的图块,您将被视为处于非魔法黑暗中。当你召唤它时,作为你随后每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的触及范围,并用月光之寒接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 +Feature/&PowerMoonlitScionNewMoonTitle=新月 +Reaction/&SpendPowerMoonlightGuiseDescription=你可以变得隐身,直到下一个回合结束。 +Reaction/&SpendPowerMoonlightGuiseReactDescription=变得隐形。 +Reaction/&SpendPowerMoonlightGuiseReactTitle=月光伪装 +Reaction/&SpendPowerMoonlightGuiseTitle=月光伪装 +Subclass/&PatronMoonlitScionDescription=你的守护神是月亮之灵,一个体现光明与黑暗循环本质的实体。这些神灵寻求维持夜空中月亮的力量,同时阻止那些追踪黑暗的亵渎力量,并赋予他们的术士同样的任务,让他们能够指挥月亮的力量及其影响。 +Subclass/&PatronMoonlitScionTitle=月光下 From 38c7c67e3b53a2e2a2305f2a5ccba2fc4f3193f7 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 18:30:06 -0800 Subject: [PATCH 10/24] update diagnostics --- .../UnfinishedBusinessBlueprints/Assets.txt | 45 ++ .../PatronMoonlitScion.json | 59 +++ .../ConditionMoonlitScionFullMoon.json | 292 ++++++++++++ ...itionMoonlitScionFullMoonLunarEmbrace.json | 294 ++++++++++++ ...nMoonlitScionFullMoonMidnightBlessing.json | 293 ++++++++++++ .../ConditionMoonlitScionFullMoonNoCost.json | 159 +++++++ .../ConditionMoonlitScionLunarChillEnemy.json | 292 ++++++++++++ ...nditionMoonlitScionLunarRadianceEnemy.json | 157 +++++++ .../ConditionMoonlitScionNewMoon.json | 292 ++++++++++++ ...ditionMoonlitScionNewMoonLunarEmbrace.json | 294 ++++++++++++ ...onMoonlitScionNewMoonMidnightBlessing.json | 293 ++++++++++++ .../ConditionMoonlitScionNewMoonNoCost.json | 159 +++++++ .../FeatureMoonlitScionLunarEmbrace.json | 30 ++ ...odifierMoonlitScionLunarRadianceEnemy.json | 37 ++ ...redSpellsMoonlitScionMidnightBlessing.json | 42 ++ .../FeatureSetMoonlitScionLunarCloak.json | 42 ++ ...eatureSetMoonlitScionMidnightBlessing.json | 41 ++ ...gicAffinityMoonlitScionExpandedSpells.json | 80 ++++ .../PowerMoonlitScionLunarChill.json | 390 ++++++++++++++++ .../PowerMoonlitScionLunarChillNoCost.json | 390 ++++++++++++++++ .../PowerMoonlitScionLunarCloak.json | 327 ++++++++++++++ .../PowerMoonlitScionLunarRadiance.json | 390 ++++++++++++++++ .../PowerMoonlitScionLunarRadianceNoCost.json | 390 ++++++++++++++++ .../PowerMoonlitScionMidnightBlessing.json | 327 ++++++++++++++ .../PowerMoonlitScionMoonlightGuise.json | 202 +++++++++ .../PowerMoonlitScionFullMoon.json | 421 ++++++++++++++++++ .../PowerMoonlitScionNewMoon.json | 382 ++++++++++++++++ .../SpellPowerMoonlitScionFullMoon.json | 193 ++++++++ .../SpellPowerMoonlitScionLunarCloak.json | 196 ++++++++ .../SpellPowerMoonlitScionNewMoon.json | 193 ++++++++ .../SpellListMoonlitScion.json | 101 +++++ 31 files changed, 6803 insertions(+) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronMoonlitScion.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonMidnightBlessing.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonNoCost.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarChillEnemy.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarRadianceEnemy.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonNoCost.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMoonlitScionLunarEmbrace.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierMoonlitScionLunarRadianceEnemy.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedSpellsMoonlitScionMidnightBlessing.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionLunarCloak.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionMidnightBlessing.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityMoonlitScionExpandedSpells.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChill.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChillNoCost.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarCloak.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMidnightBlessing.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMoonlightGuise.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionFullMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionNewMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionFullMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionLunarCloak.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionNewMoon.json create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListMoonlitScion.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 31e09395ab..81bd13d7b6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -505,6 +505,7 @@ PatronCelestial CharacterSubclassDefinition CharacterSubclassDefinition 79d24ec0 PatronEldritchSurge CharacterSubclassDefinition CharacterSubclassDefinition 44b58949-e390-5943-9e06-9a3ae4c97062 PatronElementalist CharacterSubclassDefinition CharacterSubclassDefinition 7c3276a4-64bf-50cb-a0e0-3d7d3465c64f PatronMoonlit CharacterSubclassDefinition CharacterSubclassDefinition 3481aafc-a5f4-5166-b383-faade5cb3d2f +PatronMoonlitScion CharacterSubclassDefinition CharacterSubclassDefinition e3c1e163-c7a3-5448-bd9e-5c35c4044470 PatronMountain CharacterSubclassDefinition CharacterSubclassDefinition 2b8e5a0a-8d94-5a55-8b78-2ab8382dcc7c PatronRiftWalker CharacterSubclassDefinition CharacterSubclassDefinition 6d245c2c-0dbe-574b-b793-e110f17980b1 PatronSoulBlade CharacterSubclassDefinition CharacterSubclassDefinition f67b75b9-d492-5b53-aae2-4a910e107db2 @@ -809,6 +810,16 @@ ConditionMirrorImage ConditionDefinition ConditionDefinition 603a3dca-096c-5339- ConditionMirrorImageMark ConditionDefinition ConditionDefinition bed55697-eb96-5c23-a01f-2a225137324d ConditionMonkEmptyBody ConditionDefinition ConditionDefinition e63f7a84-446c-5053-91f6-9ba2c2b2ef74 ConditionMoonlitMoonTouched ConditionDefinition ConditionDefinition 0ef54d68-3c33-5be7-a999-66aa1e65bcca +ConditionMoonlitScionFullMoon ConditionDefinition ConditionDefinition 7b7ade74-06c9-5289-89e8-71be143473dc +ConditionMoonlitScionFullMoonLunarEmbrace ConditionDefinition ConditionDefinition 435022b0-5c6e-5176-81c7-4fb13ec0f8ae +ConditionMoonlitScionFullMoonMidnightBlessing ConditionDefinition ConditionDefinition 9d2b7318-fba2-52ff-a21f-29249c75f46d +ConditionMoonlitScionFullMoonNoCost ConditionDefinition ConditionDefinition b6dec777-530f-582c-8acf-2e51ba982c6c +ConditionMoonlitScionLunarChillEnemy ConditionDefinition ConditionDefinition ae6e305c-2479-532e-b46b-fb2513b893f2 +ConditionMoonlitScionLunarRadianceEnemy ConditionDefinition ConditionDefinition 3b60ba91-cde8-5add-93bd-2ba20f5b38f2 +ConditionMoonlitScionNewMoon ConditionDefinition ConditionDefinition 72c6f503-e5e3-5908-ba19-187eec170ca1 +ConditionMoonlitScionNewMoonLunarEmbrace ConditionDefinition ConditionDefinition 963f9fcc-f686-50ab-895d-32906e40596f +ConditionMoonlitScionNewMoonMidnightBlessing ConditionDefinition ConditionDefinition ee47c8f5-2db4-5ffb-a015-4253b83577d1 +ConditionMoonlitScionNewMoonNoCost ConditionDefinition ConditionDefinition c78285b8-d8ae-562d-ab20-d19bed78953f ConditionMule ConditionDefinition ConditionDefinition bbb0c83b-8606-5e1c-896a-c542969ba582 ConditionMysticalCloakHigherPlane ConditionDefinition ConditionDefinition c78e05c0-8fe7-54aa-9f37-da1b221c3fd1 ConditionMysticalCloakLowerPlane ConditionDefinition ConditionDefinition 7ee4665f-89e5-58ea-9cf6-9f30501fd25e @@ -1597,6 +1608,7 @@ AttributeModifierMartialMountaineerPositionOfStrengthAura FeatureDefinitionAttri AttributeModifierMartialWarlordWisdomInitiative FeatureDefinitionAttributeModifier FeatureDefinition 202cec08-c66c-55fe-a920-34dc1ab2340e AttributeModifierMonkAbundantKi FeatureDefinitionAttributeModifier FeatureDefinition 7d85e97f-7eac-5312-a52d-dce830986119 AttributeModifierMonkKiPointsAddProficiencyBonus FeatureDefinitionAttributeModifier FeatureDefinition 87c4ce58-4094-57af-8437-1d1be2549977 +AttributeModifierMoonlitScionLunarRadianceEnemy FeatureDefinitionAttributeModifier FeatureDefinition a3c03755-23d2-517f-9ba9-2e33b1192ac0 AttributeModifierMysticalCloak FeatureDefinitionAttributeModifier FeatureDefinition 183eb2b1-b4e7-5ae4-aa58-ab81b74d5d57 AttributeModifierOathOfDemonHunterDivineCrossbow FeatureDefinitionAttributeModifier FeatureDefinition 8548ef4f-dbc7-56d9-a485-a85d65ed6994 AttributeModifierOathOfJugementFinalJudgementCaster FeatureDefinitionAttributeModifier FeatureDefinition b04df104-0bd1-5b2e-80bc-bbeae6352241 @@ -1662,6 +1674,7 @@ AutoPreparedSpellsInnovationArtillerist FeatureDefinitionAutoPreparedSpells Feat AutoPreparedSpellsInnovationVitriolist FeatureDefinitionAutoPreparedSpells FeatureDefinition 40a81433-cab3-524d-83fe-9dd96fe5dd11 AutoPreparedSpellsInnovationVivisectionist FeatureDefinitionAutoPreparedSpells FeatureDefinition bd66efa6-239e-570e-ac51-e1b020114599 AutoPreparedSpellsInnovationWeapon FeatureDefinitionAutoPreparedSpells FeatureDefinition dd309c08-cc5f-57c3-938e-82a0494a6c14 +AutoPreparedSpellsMoonlitScionMidnightBlessing FeatureDefinitionAutoPreparedSpells FeatureDefinition 63942c5a-ca5b-502d-9d96-180989f7aa25 AutoPreparedSpellsOathOfAltruism FeatureDefinitionAutoPreparedSpells FeatureDefinition f20c8cd2-1d92-5427-81a0-5fbc8a515199 AutoPreparedSpellsOathOfAncients FeatureDefinitionAutoPreparedSpells FeatureDefinition 8fa00b8b-be61-5e63-abf3-e250d27588da AutoPreparedSpellsOathOfDemonHunter FeatureDefinitionAutoPreparedSpells FeatureDefinition a8585c0c-4758-5b60-bd14-82cec3db5aa3 @@ -2030,6 +2043,7 @@ FeatureMonkWeaponSpecializationRapierType FeatureDefinitionProficiency FeatureDe FeatureMonkWeaponSpecializationScimitarType FeatureDefinitionProficiency FeatureDefinition 4433de5d-5d57-5b42-ab36-39353fd8ed3d FeatureMonkWeaponSpecializationShortbowType FeatureDefinitionProficiency FeatureDefinition 0b67a1cb-41b2-54db-a7be-2f18abc68efb FeatureMonkWeaponSpecializationWarhammerType FeatureDefinitionProficiency FeatureDefinition 2d4d980b-0923-525e-8c01-b3577c11c31b +FeatureMoonlitScionLunarEmbrace FeatureDefinition FeatureDefinition 2381fa64-8c3a-58ca-8218-c3c935e7aada FeatureOathOfAltruismDefensiveStrike FeatureDefinition FeatureDefinition 427dfc91-533d-545c-bd5d-8bc680579b9b FeatureOathOfAltruismSpiritualShielding FeatureDefinition FeatureDefinition 5ae7a4f1-d00d-5c43-8abc-94f37e7fa58e FeatureOathOfAncientsAuraWarding FeatureDefinition FeatureDefinition 2ef3deba-17c1-5e5f-850e-a0086036a39f @@ -2146,6 +2160,8 @@ FeatureSetMartialMountaineerPositionOfStrength FeatureDefinitionFeatureSet Featu FeatureSetMartialWarlordControlTheField FeatureDefinitionFeatureSet FeatureDefinition 2e06191a-9b34-532c-9dcf-82dd5127eab2 FeatureSetMartialWarlordCoordinatedAssault FeatureDefinitionFeatureSet FeatureDefinition 641e0134-f9c5-53f7-ab3f-e1feaffaea59 FeatureSetMartialWarlordPressTheAdvantage FeatureDefinitionFeatureSet FeatureDefinition 6baeb18a-023b-58c6-96f1-537427dea48b +FeatureSetMoonlitScionLunarCloak FeatureDefinitionFeatureSet FeatureDefinition 886aa625-0ca0-5394-a0b9-ebcd9aecae9a +FeatureSetMoonlitScionMidnightBlessing FeatureDefinitionFeatureSet FeatureDefinition 49540db8-74c4-5204-b92a-d0bc6a7c1c36 FeatureSetMoonlitSuperiorSight FeatureDefinitionFeatureSet FeatureDefinition d7e7a5fb-ec38-5bb0-842a-40ef8a96440f FeatureSetOathOfDemonHunterDemonSlayer FeatureDefinitionFeatureSet FeatureDefinition 68a091be-1372-59f6-b800-7f1ac4a78718 FeatureSetOathOfDreadAspectOfDreadDamageResistance FeatureDefinitionFeatureSet FeatureDefinition 39ffff33-e0de-539a-ae97-97b10c1b457e @@ -2397,6 +2413,7 @@ MagicAffinityInventorMagicItemSavant FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityInventorRituals FeatureDefinitionMagicAffinity FeatureDefinition 0cebf68d-34e4-508e-9976-177054f14c3f MagicAffinityInvocationEldritchMind FeatureDefinitionMagicAffinity FeatureDefinition 0bbce03e-e29f-5dbc-8940-193269538fce MagicAffinityMoonlitExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition b505fba2-6c0e-5e24-9c0a-fbf155c96bea +MagicAffinityMoonlitScionExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition 62150503-18fb-56b2-8c65-40ddab1868f9 MagicAffinityOathOfAltruismExaltedProtector FeatureDefinitionMagicAffinity FeatureDefinition 883d6afb-a6f3-58cf-a115-d416798f7f20 MagicAffinityPatronMountainExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinition 5887e8a6-4b93-5e34-a8b3-decc4d120d9c MagicAffinityRangerArcanist FeatureDefinitionMagicAffinity FeatureDefinition 4b70f6e4-c7bc-57fe-a53a-08a2b276036f @@ -2967,6 +2984,15 @@ PowerMoonlitDanceOfTheNightSky FeatureDefinitionPower FeatureDefinition c9beb955 PowerMoonlitDarkMoon FeatureDefinitionPower FeatureDefinition 1d03cf2d-7bdc-5489-babe-81bb5e3606a2 PowerMoonlitFullMoon FeatureDefinitionPower FeatureDefinition 6357d148-e552-5c54-b45e-b36dd261dbd7 PowerMoonlitMoonTouched FeatureDefinitionPower FeatureDefinition 51154ed4-df8c-5f32-a10c-560afdc94216 +PowerMoonlitScionFullMoon FeatureDefinitionPowerSharedPool FeatureDefinition 7e3adf79-55ac-52db-b8a4-b9b657246098 +PowerMoonlitScionLunarChill FeatureDefinitionPower FeatureDefinition e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2 +PowerMoonlitScionLunarChillNoCost FeatureDefinitionPower FeatureDefinition 5a788d03-6c02-5fa5-8fa6-8b5194b96395 +PowerMoonlitScionLunarCloak FeatureDefinitionPower FeatureDefinition 3fd46238-041d-5e31-a95f-f69f06c81351 +PowerMoonlitScionLunarRadiance FeatureDefinitionPower FeatureDefinition ed6aefbf-f397-58b4-88d1-56eed3dde91b +PowerMoonlitScionLunarRadianceNoCost FeatureDefinitionPower FeatureDefinition 06a43bac-bab6-596c-a01c-0cb6a57da804 +PowerMoonlitScionMidnightBlessing FeatureDefinitionPower FeatureDefinition 6becf9ef-3c12-5d97-a954-649916d91bf2 +PowerMoonlitScionMoonlightGuise FeatureDefinitionPower FeatureDefinition b16b851e-fbe6-5636-8f69-1c220baba6df +PowerMoonlitScionNewMoon FeatureDefinitionPowerSharedPool FeatureDefinition f3211da8-b00f-5b04-87f3-3bf152251fe3 PowerOathOfAltruismAuraOfTheGuardian FeatureDefinitionPower FeatureDefinition e2757560-390e-5633-99a5-aaeef4af6db7 PowerOathOfAltruismAuraOfTheGuardian18 FeatureDefinitionPower FeatureDefinition c71ab607-77da-5c55-9993-f20d38362b61 PowerOathOfAltruismExaltedProtector FeatureDefinitionPower FeatureDefinition 81792165-d00a-5139-b6ac-ce55a5902c38 @@ -3972,6 +3998,7 @@ MagicAffinityInventorMagicItemSavant FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityInventorRituals FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 0cebf68d-34e4-508e-9976-177054f14c3f MagicAffinityInvocationEldritchMind FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 0bbce03e-e29f-5dbc-8940-193269538fce MagicAffinityMoonlitExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity b505fba2-6c0e-5e24-9c0a-fbf155c96bea +MagicAffinityMoonlitScionExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 62150503-18fb-56b2-8c65-40ddab1868f9 MagicAffinityOathOfAltruismExaltedProtector FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 883d6afb-a6f3-58cf-a115-d416798f7f20 MagicAffinityPatronMountainExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 5887e8a6-4b93-5e34-a8b3-decc4d120d9c MagicAffinityRangerArcanist FeatureDefinitionMagicAffinity FeatureDefinitionAffinity 4b70f6e4-c7bc-57fe-a53a-08a2b276036f @@ -4153,6 +4180,7 @@ AttributeModifierMartialMountaineerPositionOfStrengthAura FeatureDefinitionAttri AttributeModifierMartialWarlordWisdomInitiative FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 202cec08-c66c-55fe-a920-34dc1ab2340e AttributeModifierMonkAbundantKi FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 7d85e97f-7eac-5312-a52d-dce830986119 AttributeModifierMonkKiPointsAddProficiencyBonus FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 87c4ce58-4094-57af-8437-1d1be2549977 +AttributeModifierMoonlitScionLunarRadianceEnemy FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier a3c03755-23d2-517f-9ba9-2e33b1192ac0 AttributeModifierMysticalCloak FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 183eb2b1-b4e7-5ae4-aa58-ab81b74d5d57 AttributeModifierOathOfDemonHunterDivineCrossbow FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier 8548ef4f-dbc7-56d9-a485-a85d65ed6994 AttributeModifierOathOfJugementFinalJudgementCaster FeatureDefinitionAttributeModifier FeatureDefinitionAttributeModifier b04df104-0bd1-5b2e-80bc-bbeae6352241 @@ -4219,6 +4247,7 @@ AutoPreparedSpellsInnovationArtillerist FeatureDefinitionAutoPreparedSpells Feat AutoPreparedSpellsInnovationVitriolist FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells 40a81433-cab3-524d-83fe-9dd96fe5dd11 AutoPreparedSpellsInnovationVivisectionist FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells bd66efa6-239e-570e-ac51-e1b020114599 AutoPreparedSpellsInnovationWeapon FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells dd309c08-cc5f-57c3-938e-82a0494a6c14 +AutoPreparedSpellsMoonlitScionMidnightBlessing FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells 63942c5a-ca5b-502d-9d96-180989f7aa25 AutoPreparedSpellsOathOfAltruism FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells f20c8cd2-1d92-5427-81a0-5fbc8a515199 AutoPreparedSpellsOathOfAncients FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells 8fa00b8b-be61-5e63-abf3-e250d27588da AutoPreparedSpellsOathOfDemonHunter FeatureDefinitionAutoPreparedSpells FeatureDefinitionAutoPreparedSpells a8585c0c-4758-5b60-bd14-82cec3db5aa3 @@ -4535,6 +4564,8 @@ FeatureSetMartialMountaineerPositionOfStrength FeatureDefinitionFeatureSet Featu FeatureSetMartialWarlordControlTheField FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 2e06191a-9b34-532c-9dcf-82dd5127eab2 FeatureSetMartialWarlordCoordinatedAssault FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 641e0134-f9c5-53f7-ab3f-e1feaffaea59 FeatureSetMartialWarlordPressTheAdvantage FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 6baeb18a-023b-58c6-96f1-537427dea48b +FeatureSetMoonlitScionLunarCloak FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 886aa625-0ca0-5394-a0b9-ebcd9aecae9a +FeatureSetMoonlitScionMidnightBlessing FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 49540db8-74c4-5204-b92a-d0bc6a7c1c36 FeatureSetMoonlitSuperiorSight FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet d7e7a5fb-ec38-5bb0-842a-40ef8a96440f FeatureSetOathOfDemonHunterDemonSlayer FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 68a091be-1372-59f6-b800-7f1ac4a78718 FeatureSetOathOfDreadAspectOfDreadDamageResistance FeatureDefinitionFeatureSet FeatureDefinitionFeatureSet 39ffff33-e0de-539a-ae97-97b10c1b457e @@ -4710,6 +4741,7 @@ MagicAffinityInventorMagicItemSavant FeatureDefinitionMagicAffinity FeatureDefin MagicAffinityInventorRituals FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 0cebf68d-34e4-508e-9976-177054f14c3f MagicAffinityInvocationEldritchMind FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 0bbce03e-e29f-5dbc-8940-193269538fce MagicAffinityMoonlitExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity b505fba2-6c0e-5e24-9c0a-fbf155c96bea +MagicAffinityMoonlitScionExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 62150503-18fb-56b2-8c65-40ddab1868f9 MagicAffinityOathOfAltruismExaltedProtector FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 883d6afb-a6f3-58cf-a115-d416798f7f20 MagicAffinityPatronMountainExpandedSpells FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 5887e8a6-4b93-5e34-a8b3-decc4d120d9c MagicAffinityRangerArcanist FeatureDefinitionMagicAffinity FeatureDefinitionMagicAffinity 4b70f6e4-c7bc-57fe-a53a-08a2b276036f @@ -5277,6 +5309,15 @@ PowerMoonlitDanceOfTheNightSky FeatureDefinitionPower FeatureDefinitionPower c9b PowerMoonlitDarkMoon FeatureDefinitionPower FeatureDefinitionPower 1d03cf2d-7bdc-5489-babe-81bb5e3606a2 PowerMoonlitFullMoon FeatureDefinitionPower FeatureDefinitionPower 6357d148-e552-5c54-b45e-b36dd261dbd7 PowerMoonlitMoonTouched FeatureDefinitionPower FeatureDefinitionPower 51154ed4-df8c-5f32-a10c-560afdc94216 +PowerMoonlitScionFullMoon FeatureDefinitionPowerSharedPool FeatureDefinitionPower 7e3adf79-55ac-52db-b8a4-b9b657246098 +PowerMoonlitScionLunarChill FeatureDefinitionPower FeatureDefinitionPower e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2 +PowerMoonlitScionLunarChillNoCost FeatureDefinitionPower FeatureDefinitionPower 5a788d03-6c02-5fa5-8fa6-8b5194b96395 +PowerMoonlitScionLunarCloak FeatureDefinitionPower FeatureDefinitionPower 3fd46238-041d-5e31-a95f-f69f06c81351 +PowerMoonlitScionLunarRadiance FeatureDefinitionPower FeatureDefinitionPower ed6aefbf-f397-58b4-88d1-56eed3dde91b +PowerMoonlitScionLunarRadianceNoCost FeatureDefinitionPower FeatureDefinitionPower 06a43bac-bab6-596c-a01c-0cb6a57da804 +PowerMoonlitScionMidnightBlessing FeatureDefinitionPower FeatureDefinitionPower 6becf9ef-3c12-5d97-a954-649916d91bf2 +PowerMoonlitScionMoonlightGuise FeatureDefinitionPower FeatureDefinitionPower b16b851e-fbe6-5636-8f69-1c220baba6df +PowerMoonlitScionNewMoon FeatureDefinitionPowerSharedPool FeatureDefinitionPower f3211da8-b00f-5b04-87f3-3bf152251fe3 PowerOathOfAltruismAuraOfTheGuardian FeatureDefinitionPower FeatureDefinitionPower e2757560-390e-5633-99a5-aaeef4af6db7 PowerOathOfAltruismAuraOfTheGuardian18 FeatureDefinitionPower FeatureDefinitionPower c71ab607-77da-5c55-9993-f20d38362b61 PowerOathOfAltruismExaltedProtector FeatureDefinitionPower FeatureDefinitionPower 81792165-d00a-5139-b6ac-ce55a5902c38 @@ -11033,6 +11074,9 @@ SpellPowerMartialWarlordCoveringStrike SpellDefinition SpellDefinition 7b64689f- SpellPowerMartialWarlordExploitOpening SpellDefinition SpellDefinition cb28ad2f-e933-5ee5-b982-5f08d2dcd954 SpellPowerMartialWarlordPredictAttack SpellDefinition SpellDefinition 55526548-fc5c-5d0d-8ecf-4329094d993d SpellPowerMartialWarlordPressTheAdvantage SpellDefinition SpellDefinition aa1da5fc-0c79-533a-afe3-e46cbb04a275 +SpellPowerMoonlitScionFullMoon SpellDefinition SpellDefinition d1888f0d-bfe5-5242-a6a0-7bb3999a1c8b +SpellPowerMoonlitScionLunarCloak SpellDefinition SpellDefinition 08e742cb-f47c-552f-a210-93d779c0cfdf +SpellPowerMoonlitScionNewMoon SpellDefinition SpellDefinition 20c91da7-234f-5a5e-96ed-8f340e0b2526 SpellPowerPatronEldritchSurgeVersatilitySwitchInt SpellDefinition SpellDefinition c25d184a-a9a2-59e5-8dbc-a96405a9bcdb SpellPowerPatronEldritchSurgeVersatilitySwitchNone SpellDefinition SpellDefinition bf61c4e2-1ba3-5712-9a12-ae1b12a6b613 SpellPowerPatronEldritchSurgeVersatilitySwitchPool SpellDefinition SpellDefinition 2e08fbf1-6344-5f2f-b67e-6973cbc068aa @@ -11154,6 +11198,7 @@ SpellListInventor SpellListDefinition SpellListDefinition 84923b43-712b-53d0-839 SpellListMalakh SpellListDefinition SpellListDefinition 8f56f03b-75ae-5234-897f-8cb88e63ef8a SpellListMartialArcaneArcherArcaneMagic SpellListDefinition SpellListDefinition 3278a5b0-8529-5def-a300-188ef7e9a900 SpellListMoonlit SpellListDefinition SpellListDefinition bdfc3b37-fe0a-5c86-b2bb-6fc73c82e6d5 +SpellListMoonlitScion SpellListDefinition SpellListDefinition 603cd97b-74e0-581b-95b4-0d5815080da0 SpellListOni SpellListDefinition SpellListDefinition c1ee4cd0-135c-513f-8fe3-4006e475e728 SpellListPatronMountain SpellListDefinition SpellListDefinition 7fd17df9-dafa-5e21-921d-309e1490a522 SpellListRiftWalker SpellListDefinition SpellListDefinition 53dc49e6-f8ba-5a3b-9328-ce48751b61b9 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronMoonlitScion.json b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronMoonlitScion.json new file mode 100644 index 0000000000..1da334b25c --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/CharacterSubclassDefinition/PatronMoonlitScion.json @@ -0,0 +1,59 @@ +{ + "$type": "CharacterSubclassDefinition, Assembly-CSharp", + "featureUnlocks": [ + { + "$type": "FeatureUnlockByLevel, Assembly-CSharp", + "featureDefinition": "Definition:MagicAffinityMoonlitScionExpandedSpells:62150503-18fb-56b2-8c65-40ddab1868f9", + "level": 1 + }, + { + "$type": "FeatureUnlockByLevel, Assembly-CSharp", + "featureDefinition": "Definition:FeatureSetMoonlitScionLunarCloak:886aa625-0ca0-5394-a0b9-ebcd9aecae9a", + "level": 1 + }, + { + "$type": "FeatureUnlockByLevel, Assembly-CSharp", + "featureDefinition": "Definition:FeatureSetMoonlitScionMidnightBlessing:49540db8-74c4-5204-b92a-d0bc6a7c1c36", + "level": 6 + }, + { + "$type": "FeatureUnlockByLevel, Assembly-CSharp", + "featureDefinition": "Definition:FeatureMoonlitScionLunarEmbrace:2381fa64-8c3a-58ca-8218-c3c935e7aada", + "level": 10 + }, + { + "$type": "FeatureUnlockByLevel, Assembly-CSharp", + "featureDefinition": "Definition:PowerMoonlitScionMoonlightGuise:b16b851e-fbe6-5636-8f69-1c220baba6df", + "level": 14 + } + ], + "personalityFlagOccurences": [], + "morphotypeSubclassFilterTag": "Default", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Subclass/&PatronMoonlitScionTitle", + "description": "Subclass/&PatronMoonlitScionDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "33ecb940-185c-54f9-99ea-eb05c49bdcd4", + "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": "e3c1e163-c7a3-5448-bd9e-5c35c4044470", + "contentPack": 9999, + "name": "PatronMoonlitScion" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoon.json new file mode 100644 index 0000000000..11e2f091d3 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoon.json @@ -0,0 +1,292 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:PowerMoonlitScionLunarRadiance:ed6aefbf-f397-58b4-88d1-56eed3dde91b" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionFullMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "fb9c96de68451564f9edc22a0a7b9de3", + "m_SubObjectName": "ConditionProtectedInsideMagicCircle", + "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "7b7ade74-06c9-5289-89e8-71be143473dc", + "contentPack": 9999, + "name": "ConditionMoonlitScionFullMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json new file mode 100644 index 0000000000..8116fdded3 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json @@ -0,0 +1,294 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:DamageAffinityRadiantResistance:8ea0757b1c53c0446a9d83a4f0c3ca4d", + "Definition:MovementAffinityConditionFlyingAdaptive:4f9ac82da0669a247bb79fb3858b6f64", + "Definition:PowerMoonlitScionLunarRadiance:ed6aefbf-f397-58b4-88d1-56eed3dde91b" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionFullMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "fb9c96de68451564f9edc22a0a7b9de3", + "m_SubObjectName": "ConditionProtectedInsideMagicCircle", + "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "435022b0-5c6e-5176-81c7-4fb13ec0f8ae", + "contentPack": 9999, + "name": "ConditionMoonlitScionFullMoonLunarEmbrace" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonMidnightBlessing.json new file mode 100644 index 0000000000..2d3781021d --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonMidnightBlessing.json @@ -0,0 +1,293 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:DamageAffinityRadiantResistance:8ea0757b1c53c0446a9d83a4f0c3ca4d", + "Definition:PowerMoonlitScionLunarRadiance:ed6aefbf-f397-58b4-88d1-56eed3dde91b" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionFullMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "fb9c96de68451564f9edc22a0a7b9de3", + "m_SubObjectName": "ConditionProtectedInsideMagicCircle", + "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "9d2b7318-fba2-52ff-a21f-29249c75f46d", + "contentPack": 9999, + "name": "ConditionMoonlitScionFullMoonMidnightBlessing" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonNoCost.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonNoCost.json new file mode 100644 index 0000000000..d5237ee5f9 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonNoCost.json @@ -0,0 +1,159 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:PowerMoonlitScionLunarRadianceNoCost:06a43bac-bab6-596c-a01c-0cb6a57da804" + ], + "allowMultipleInstances": false, + "silentWhenAdded": true, + "silentWhenRemoved": true, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [ + "AnyBattleTurnEnd" + ], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": null, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": null, + "coldParticleParameters": null, + "fireParticleParameters": null, + "lightningParticleParameters": null, + "poisonParticleParameters": null, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": false, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&NoContentTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "b6dec777-530f-582c-8acf-2e51ba982c6c", + "contentPack": 9999, + "name": "ConditionMoonlitScionFullMoonNoCost" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarChillEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarChillEnemy.json new file mode 100644 index 0000000000..b665a399c6 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarChillEnemy.json @@ -0,0 +1,292 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Detrimental", + "features": [ + "Definition:MovementAffinityConditionHindered:d8369308deca3fc47a6a9c3ab5518949" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": true, + "durationType": "Round", + "durationParameterDie": "D1", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarChillTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "57125544a666ad64195b2eddc133deb4", + "m_SubObjectName": "RayOfFrostConditionHindered", + "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": "ae6e305c-2479-532e-b46b-fb2513b893f2", + "contentPack": 9999, + "name": "ConditionMoonlitScionLunarChillEnemy" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarRadianceEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarRadianceEnemy.json new file mode 100644 index 0000000000..3dceafcdb4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionLunarRadianceEnemy.json @@ -0,0 +1,157 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Detrimental", + "features": [ + "Definition:AttributeModifierMoonlitScionLunarRadianceEnemy:a3c03755-23d2-517f-9ba9-2e33b1192ac0" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": null, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": null, + "coldParticleParameters": null, + "fireParticleParameters": null, + "lightningParticleParameters": null, + "poisonParticleParameters": null, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarRadianceTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "0af77d521f0cb8a4381f7316dc2e50e0", + "m_SubObjectName": "ConditionLightSensitive", + "m_SubObjectType": "UnityEngine.Sprite, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "3b60ba91-cde8-5add-93bd-2ba20f5b38f2", + "contentPack": 9999, + "name": "ConditionMoonlitScionLunarRadianceEnemy" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json new file mode 100644 index 0000000000..3a0b0eff08 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json @@ -0,0 +1,292 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionNewMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "528c4c4294a392f4ea92355a38238b31", + "m_SubObjectName": "ConditionChildOfDarkness", + "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": "72c6f503-e5e3-5908-ba19-187eec170ca1", + "contentPack": 9999, + "name": "ConditionMoonlitScionNewMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json new file mode 100644 index 0000000000..d4333223df --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json @@ -0,0 +1,294 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", + "Definition:MovementAffinityConditionFlyingAdaptive:4f9ac82da0669a247bb79fb3858b6f64", + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionNewMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "528c4c4294a392f4ea92355a38238b31", + "m_SubObjectName": "ConditionChildOfDarkness", + "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": "963f9fcc-f686-50ab-895d-32906e40596f", + "contentPack": 9999, + "name": "ConditionMoonlitScionNewMoonLunarEmbrace" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json new file mode 100644 index 0000000000..4daf64b3b8 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json @@ -0,0 +1,293 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + ], + "allowMultipleInstances": false, + "silentWhenAdded": false, + "silentWhenRemoved": false, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "coldParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "fireParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "lightningParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "poisonParticleParameters": { + "$type": "ConditionParticleParameters, Assembly-CSharp", + "startParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "particleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "endParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "recurrentEffectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + } + }, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": true, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionNewMoonTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "528c4c4294a392f4ea92355a38238b31", + "m_SubObjectName": "ConditionChildOfDarkness", + "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": "ee47c8f5-2db4-5ffb-a015-4253b83577d1", + "contentPack": 9999, + "name": "ConditionMoonlitScionNewMoonMidnightBlessing" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonNoCost.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonNoCost.json new file mode 100644 index 0000000000..c4980efc21 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonNoCost.json @@ -0,0 +1,159 @@ +{ + "$type": "ConditionDefinition, Assembly-CSharp", + "inDungeonEditor": false, + "parentCondition": null, + "conditionType": "Beneficial", + "features": [ + "Definition:PowerMoonlitScionLunarChillNoCost:5a788d03-6c02-5fa5-8fa6-8b5194b96395" + ], + "allowMultipleInstances": false, + "silentWhenAdded": true, + "silentWhenRemoved": true, + "silentWhenRefreshed": false, + "terminateWhenRemoved": false, + "specialDuration": false, + "durationType": "Hour", + "durationParameterDie": "D4", + "durationParameter": 1, + "forceTurnOccurence": false, + "turnOccurence": "EndOfTurn", + "specialInterruptions": [ + "AnyBattleTurnEnd" + ], + "interruptionRequiresSavingThrow": false, + "interruptionSavingThrowComputationMethod": "SaveOverride", + "interruptionSavingThrowAbility": "", + "interruptionDamageThreshold": 0, + "keepConditionIfSavingThrowSucceeds": false, + "interruptionSavingThrowAffinity": "None", + "conditionTags": [], + "recurrentEffectForms": [], + "cancellingConditions": [], + "additionalDamageWhenHit": false, + "additionalDamageTypeDetermination": "Specific", + "additionalDamageType": "", + "additionalDamageQuantity": "AbilityBonus", + "additionalDamageDieType": "D1", + "additionalDamageDieNumber": 1, + "additionalConditionWhenHit": false, + "additionalCondition": null, + "additionalConditionDurationType": "Round", + "additionalConditionDurationParameter": 1, + "additionalConditionTurnOccurenceType": "StartOfTurn", + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "recurrentEffectParticleReference": null, + "characterShaderReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "particlesBasedOnAncestryDamageType": false, + "ancestryType": "Sorcerer", + "acidParticleParameters": null, + "coldParticleParameters": null, + "fireParticleParameters": null, + "lightningParticleParameters": null, + "poisonParticleParameters": null, + "overrideCharacterShaderColors": false, + "firstCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "secondCharacterShaderColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "timeToWaitBeforeApplyingShader": 0.5, + "timeToWaitBeforeRemovingShader": 0.5, + "possessive": false, + "amountOrigin": "None", + "baseAmount": 0, + "additiveAmount": false, + "sourceAbilityBonusMinValue": 1, + "subsequentOnRemoval": null, + "subsequentHasSavingThrow": false, + "subsequentSavingThrowAbilityScore": "Constitution", + "subsequentVariableForDC": "FrenzyExhaustionDC", + "subsequentDCIncrease": 5, + "effectFormsOnRemoved": [], + "forceBehavior": false, + "addBehavior": false, + "fearSource": false, + "battlePackage": null, + "explorationPackage": null, + "removedFromTheGame": false, + "permanentlyRemovedIfExtraPlanar": false, + "refundReceivedDamageWhenRemoved": false, + "followSourcePosition": false, + "disolveCharacterOnDeath": false, + "disolveParameters": { + "$type": "GraphicsCharacterDefinitions+DisolveParameters, Assembly-CSharp", + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "colorWidth": 0.0, + "noiseScale": 5.0, + "hueScale": 0.0, + "vertexOffset": 0.0, + "curve": { + "$type": "UnityEngine.AnimationCurve, UnityEngine.CoreModule" + }, + "startAfterDeathAnimation": false, + "duration": 0.0 + }, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&NoContentTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "c78285b8-d8ae-562d-ab20-d19bed78953f", + "contentPack": 9999, + "name": "ConditionMoonlitScionNewMoonNoCost" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMoonlitScionLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMoonlitScionLunarEmbrace.json new file mode 100644 index 0000000000..441c16ae0b --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinition/FeatureMoonlitScionLunarEmbrace.json @@ -0,0 +1,30 @@ +{ + "$type": "FeatureDefinition, Assembly-CSharp", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureMoonlitScionLunarEmbraceTitle", + "description": "Feature/&FeatureMoonlitScionLunarEmbraceDescription", + "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": "2381fa64-8c3a-58ca-8218-c3c935e7aada", + "contentPack": 9999, + "name": "FeatureMoonlitScionLunarEmbrace" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierMoonlitScionLunarRadianceEnemy.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierMoonlitScionLunarRadianceEnemy.json new file mode 100644 index 0000000000..0b0d284cf8 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAttributeModifier/AttributeModifierMoonlitScionLunarRadianceEnemy.json @@ -0,0 +1,37 @@ +{ + "$type": "FeatureDefinitionAttributeModifier, Assembly-CSharp", + "modifiedAttribute": "ArmorClass", + "modifierOperation": "Additive", + "modifierValue": -1, + "modifierAbilityScore": "Constitution", + "situationalContext": "None", + "minimum1": false, + "useBonusFromCaster": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle", + "description": "Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription", + "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": "a3c03755-23d2-517f-9ba9-2e33b1192ac0", + "contentPack": 9999, + "name": "AttributeModifierMoonlitScionLunarRadianceEnemy" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedSpellsMoonlitScionMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedSpellsMoonlitScionMidnightBlessing.json new file mode 100644 index 0000000000..00d4611567 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionAutoPreparedSpells/AutoPreparedSpellsMoonlitScionMidnightBlessing.json @@ -0,0 +1,42 @@ +{ + "$type": "FeatureDefinitionAutoPreparedSpells, Assembly-CSharp", + "autopreparedTag": "Patron", + "autoPreparedSpellsGroups": [ + { + "$type": "FeatureDefinitionAutoPreparedSpells+AutoPreparedSpellsGroup, Assembly-CSharp", + "classLevel": 2, + "spellsList": [ + "Definition:MoonBeam:2888ca7e95be24447b669a33ccf80e9b" + ] + } + ], + "spellcastingClass": "Definition:Warlock:b493e1ccc3740f04da1b025bdcf39916", + "affinityRace": null, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&ExpandedSpellsTitle", + "description": "Feature/&ExpandedSpellsDescription", + "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": "63942c5a-ca5b-502d-9d96-180989f7aa25", + "contentPack": 9999, + "name": "AutoPreparedSpellsMoonlitScionMidnightBlessing" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionLunarCloak.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionLunarCloak.json new file mode 100644 index 0000000000..d312448ce9 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionLunarCloak.json @@ -0,0 +1,42 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:PowerMoonlitScionFullMoon:7e3adf79-55ac-52db-b8a4-b9b657246098", + "Definition:PowerMoonlitScionLunarCloak:3fd46238-041d-5e31-a95f-f69f06c81351", + "Definition:PowerMoonlitScionNewMoon:f3211da8-b00f-5b04-87f3-3bf152251fe3" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetMoonlitScionLunarCloakTitle", + "description": "Feature/&FeatureSetMoonlitScionLunarCloakDescription", + "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": "886aa625-0ca0-5394-a0b9-ebcd9aecae9a", + "contentPack": 9999, + "name": "FeatureSetMoonlitScionLunarCloak" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionMidnightBlessing.json new file mode 100644 index 0000000000..1a25e4a4f0 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionFeatureSet/FeatureSetMoonlitScionMidnightBlessing.json @@ -0,0 +1,41 @@ +{ + "$type": "FeatureDefinitionFeatureSet, Assembly-CSharp", + "featureSet": [ + "Definition:AutoPreparedSpellsMoonlitScionMidnightBlessing:63942c5a-ca5b-502d-9d96-180989f7aa25", + "Definition:PowerMoonlitScionMidnightBlessing:6becf9ef-3c12-5d97-a954-649916d91bf2" + ], + "mode": "Union", + "ancestryDamageTypeMap": [], + "ancestryType": "Sorcerer", + "defaultSelection": 0, + "uniqueChoices": false, + "enumerateInDescription": false, + "hasRacialAffinity": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetMoonlitScionMidnightBlessingTitle", + "description": "Feature/&FeatureSetMoonlitScionMidnightBlessingDescription", + "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": "49540db8-74c4-5204-b92a-d0bc6a7c1c36", + "contentPack": 9999, + "name": "FeatureSetMoonlitScionMidnightBlessing" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityMoonlitScionExpandedSpells.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityMoonlitScionExpandedSpells.json new file mode 100644 index 0000000000..7772b83236 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMagicAffinity/MagicAffinityMoonlitScionExpandedSpells.json @@ -0,0 +1,80 @@ +{ + "$type": "FeatureDefinitionMagicAffinity, Assembly-CSharp", + "preparedSpellModifier": "None", + "saveDCModifierType": "None", + "saveDCModifier": 0, + "spellAttackModifierType": "None", + "spellAttackModifier": 0, + "spellImmunities": [], + "maxSpellLevelImmunity": -1, + "concentrationAffinity": "None", + "overConcentrationThreshold": -1, + "castingAffinity": "Normal", + "spellcastingSuccessDC": 10, + "forceHalfDamageOnCantrips": false, + "cantripRetribution": false, + "forcedSavingThrowAffinity": "None", + "forcedSpellDefinition": null, + "impairedSpeech": false, + "somaticWithWeaponOrShield": false, + "somaticWithWeapon": false, + "canUseProficientWeaponAsFocus": false, + "rangeSpellNoProximityPenalty": false, + "targetSelfOverride": null, + "usesWarList": false, + "warListSlotBonus": 1, + "ritualCasting": "None", + "canLearnRitualScrolls": false, + "scribeAdvantageType": "None", + "scribeDurationMultiplier": 1.0, + "scribeCostMultiplier": 1.0, + "additionalScribedSpells": 0, + "additionalKnownSpellsCount": 0, + "warListSpells": [], + "counterspellAffinity": "None", + "spellsCounterAffinity": "None", + "extendedSpellList": "Definition:SpellListMoonlitScion:603cd97b-74e0-581b-95b4-0d5815080da0", + "addBonusToEffectSaveDC": "None", + "spellWithModifiedSaveDC": null, + "powerWithModifiedSaveDC": null, + "bonusToEffectSaveDC": 0, + "deviceTagsAutoIdentifying": [], + "autoIdentifyPossessedMagicalItems": false, + "ignoreClassRestrictionsOnMagicalItems": false, + "additionalSlots": [], + "metamagicOptions": [], + "preserveSlotRoll": false, + "preserveSlotThreshold": 20, + "preserveSlotLevelCap": 5, + "healingPerSpentSorceryPoint": 0, + "sorceryPointAlteredParticle": null, + "myselfFamilyRestrictions": [], + "otherCharacterFamilyRestrictions": [], + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&MagicAffinityPatronExpandedSpellsTitle", + "description": "Feature/&MagicAffinityPatronExpandedSpellsDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "62150503-18fb-56b2-8c65-40ddab1868f9", + "contentPack": 9999, + "name": "MagicAffinityMoonlitScionExpandedSpells" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChill.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChill.json new file mode 100644 index 0000000000..4d2fc745f4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChill.json @@ -0,0 +1,390 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "RangeHit", + "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": "Round", + "durationParameter": 1, + "endOfEffect": "EndOfSourceTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageCold", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionLunarChillEnemy", + "conditionDefinition": "Definition:ConditionMoonlitScionLunarChillEnemy:ae6e305c-2479-532e-b46b-fb2513b893f2", + "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": "6d4fa511dc2ad2c43bb20866b9461ca4", + "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": "4e6973760763b794ba6f722d9c2423b9", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "BonusAction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "AtWill", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": 9000, + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarChillTitle", + "description": "Feature/&PowerMoonlitScionLunarChillDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "8f5fc961-39d7-5abe-bd66-14d1f2b7a816", + "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": "e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2", + "contentPack": 9999, + "name": "PowerMoonlitScionLunarChill" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChillNoCost.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChillNoCost.json new file mode 100644 index 0000000000..d29a356cc2 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarChillNoCost.json @@ -0,0 +1,390 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "RangeHit", + "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": "Round", + "durationParameter": 1, + "endOfEffect": "EndOfSourceTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageCold", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionLunarChillEnemy", + "conditionDefinition": "Definition:ConditionMoonlitScionLunarChillEnemy:ae6e305c-2479-532e-b46b-fb2513b893f2", + "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": "6d4fa511dc2ad2c43bb20866b9461ca4", + "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": "4e6973760763b794ba6f722d9c2423b9", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "AtWill", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": 9000, + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarChillTitle", + "description": "Feature/&PowerMoonlitScionLunarChillDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "8f5fc961-39d7-5abe-bd66-14d1f2b7a816", + "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": "5a788d03-6c02-5fa5-8fa6-8b5194b96395", + "contentPack": 9999, + "name": "PowerMoonlitScionLunarChillNoCost" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarCloak.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarCloak.json new file mode 100644 index 0000000000..ba8fc6f9d4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarCloak.json @@ -0,0 +1,327 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Minute", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "BonusAction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "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": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&FeatureSetMoonlitScionLunarCloakTitle", + "description": "Feature/&FeatureSetMoonlitScionLunarCloakDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "abc96fb9-2b57-5cd9-9609-ee7e8d7f1720", + "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": "3fd46238-041d-5e31-a95f-f69f06c81351", + "contentPack": 9999, + "name": "PowerMoonlitScionLunarCloak" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json new file mode 100644 index 0000000000..352275f214 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json @@ -0,0 +1,390 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "RangeHit", + "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": "Round", + "durationParameter": 1, + "endOfEffect": "EndOfSourceTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageRadiant", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionLunarRadianceEnemy", + "conditionDefinition": "Definition:ConditionMoonlitScionLunarRadianceEnemy:3b60ba91-cde8-5add-93bd-2ba20f5b38f2", + "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": "", + "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": "7e4bb615fae08a14ab527ab661cd6cbf", + "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": "c403157f4552068439eefad683faff34", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "BonusAction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "AtWill", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": 9000, + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarRadianceTitle", + "description": "Feature/&PowerMoonlitScionLunarRadianceDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "de4513f2-7827-58cd-9b4b-b20a9d81a4fa", + "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": "ed6aefbf-f397-58b4-88d1-56eed3dde91b", + "contentPack": 9999, + "name": "PowerMoonlitScionLunarRadiance" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json new file mode 100644 index 0000000000..52e1bef115 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json @@ -0,0 +1,390 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "RangeHit", + "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": "Round", + "durationParameter": 1, + "endOfEffect": "EndOfSourceTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Damage", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "damageForm": { + "$type": "DamageForm, Assembly-CSharp", + "versatile": false, + "diceNumber": 1, + "dieType": "D8", + "overrideWithBardicInspirationDie": false, + "versatileDieType": "D1", + "bonusDamage": 0, + "damageType": "DamageRadiant", + "ancestryType": "Sorcerer", + "healFromInflictedDamage": "Never", + "hitPointsFloor": 0, + "forceKillOnZeroHp": false, + "specialDeathCondition": null, + "ignoreFlyingCharacters": false, + "ignoreCriticalDoubleDice": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionLunarRadianceEnemy", + "conditionDefinition": "Definition:ConditionMoonlitScionLunarRadianceEnemy:3b60ba91-cde8-5add-93bd-2ba20f5b38f2", + "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": "", + "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": "7e4bb615fae08a14ab527ab661cd6cbf", + "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": "c403157f4552068439eefad683faff34", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "NoCost", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "AtWill", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": 9000, + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionLunarRadianceTitle", + "description": "Feature/&PowerMoonlitScionLunarRadianceDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "de4513f2-7827-58cd-9b4b-b20a9d81a4fa", + "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": "06a43bac-bab6-596c-a01c-0cb6a57da804", + "contentPack": 9999, + "name": "PowerMoonlitScionLunarRadianceNoCost" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMidnightBlessing.json new file mode 100644 index 0000000000..baa8969d76 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMidnightBlessing.json @@ -0,0 +1,327 @@ +{ + "$type": "FeatureDefinitionPower, Assembly-CSharp", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Distance", + "rangeParameter": 12, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "CylinderWithDiameter", + "itemSelectionType": "Equiped", + "targetParameter": 3, + "targetParameter2": 8, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "OnTurnStart, OnEnter", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "All", + "durationType": "Minute", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": true, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Constitution", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 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": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 1, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "8406f9a9e5336d9409973b09f98dc308", + "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": "6a6ecd459fc2a72459654a37da053dfb", + "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": "LongRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": false, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionMidnightBlessingTitle", + "description": "Feature/&PowerMoonlitScionMidnightBlessingDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "3b67c7d25a304dd40bbc884c154a2498", + "m_SubObjectName": "MoonBeam", + "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": "6becf9ef-3c12-5d97-a954-649916d91bf2", + "contentPack": 9999, + "name": "PowerMoonlitScionMidnightBlessing" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMoonlightGuise.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMoonlightGuise.json new file mode 100644 index 0000000000..51cc711af4 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionMoonlightGuise.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": "Reaction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": 9000, + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "ShortRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&PowerMoonlitScionMoonlightGuiseTitle", + "description": "Feature/&PowerMoonlitScionMoonlightGuiseDescription", + "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": "b16b851e-fbe6-5636-8f69-1c220baba6df", + "contentPack": 9999, + "name": "PowerMoonlitScionMoonlightGuise" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionFullMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionFullMoon.json new file mode 100644 index 0000000000..617acaa7ed --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionFullMoon.json @@ -0,0 +1,421 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Minute", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionFullMoon", + "conditionDefinition": "Definition:ConditionMoonlitScionFullMoon:7b7ade74-06c9-5289-89e8-71be143473dc", + "operation": "Add", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionFullMoonNoCost", + "conditionDefinition": "Definition:ConditionMoonlitScionFullMoonNoCost:b6dec777-530f-582c-8acf-2e51ba982c6c", + "operation": "Add", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "LightSource", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "lightSourceForm": { + "$type": "LightSourceForm, Assembly-CSharp", + "lightSourceType": "Basic", + "brightRange": 3, + "dimAdditionalRange": 3, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 0.9778601, + "b": 0.78039217, + "a": 1.0 + }, + "graphicsPrefabReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "3e4cdebecc6e0db469720619529e3dc2", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + } + ], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "81560ac3813217d4d9fd281d5e73c234", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterSelfParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "casterQuickSpellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "targetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "effectSubTargetParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "zoneParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "beforeImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "impactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectImpactParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderCellEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "emissiveBorderSurfaceEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionStartParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "conditionEndParticleReference": { + "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": "", + "m_SubObjectType": "" + }, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "delegatedToAction": false, + "surrogateToSpell": null, + "triggeredBySpecialMove": false, + "activationTime": "BonusAction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "LongRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&PowerMoonlitScionFullMoonTitle", + "description": "Feature/&PowerMoonlitScionFullMoonDescription", + "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": "7e3adf79-55ac-52db-b8a4-b9b657246098", + "contentPack": 9999, + "name": "PowerMoonlitScionFullMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionNewMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionNewMoon.json new file mode 100644 index 0000000000..a47778151f --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerMoonlitScionNewMoon.json @@ -0,0 +1,382 @@ +{ + "$type": "FeatureDefinitionPowerSharedPool, SolastaUnfinishedBusiness", + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "None", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "CharacterOnly", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Ally", + "durationType": "Minute", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": true, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [ + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionNewMoon", + "conditionDefinition": "Definition:ConditionMoonlitScionNewMoon:72c6f503-e5e3-5908-ba19-187eec170ca1", + "operation": "Add", + "conditionsList": [], + "applyToSelf": false, + "forceOnSelf": false + }, + "hasFilterId": false, + "filterId": 0 + }, + { + "$type": "EffectForm, Assembly-CSharp", + "formType": "Condition", + "addBonusMode": "None", + "applyLevel": "No", + "levelType": "ClassLevel", + "levelMultiplier": 1, + "diceByLevelTable": [], + "createdByCharacter": true, + "createdByCondition": false, + "hasSavingThrow": false, + "savingThrowAffinity": "None", + "dcModifier": 0, + "canSaveToCancel": false, + "saveOccurence": "EndOfTurn", + "conditionForm": { + "$type": "ConditionForm, Assembly-CSharp", + "conditionDefinitionName": "ConditionMoonlitScionNewMoonNoCost", + "conditionDefinition": "Definition:ConditionMoonlitScionNewMoonNoCost:c78285b8-d8ae-562d-ab20-d19bed78953f", + "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": "BonusAction", + "autoActivationRequiredTargetSenseType": "None", + "autoActivationRequiredTargetCreatureTag": "", + "autoActivationPowerTag": "", + "triggeringPower": null, + "copyTargetingFromTriggeringPower": false, + "reactionContext": "None", + "damageTypes": [], + "reactionName": "", + "reactionActingCharacterParamIdx": 0, + "reactionAttackerParamIdx": -1, + "hasCastingFailure": false, + "castingSuccessComputation": "CasterLevel", + "canUseInDialog": false, + "disableIfConditionIsOwned": null, + "disableIfTargetConditionIsOwned": null, + "rechargeRate": "LongRest", + "costPerUse": 1, + "spellcastingFeature": null, + "usesDetermination": "Fixed", + "abilityScoreDetermination": "Explicit", + "usesAbilityScoreName": "Charisma", + "fixedUsesPerRecharge": 1, + "abilityScore": "Intelligence", + "attackHitComputation": "AbilityScore", + "fixedAttackHit": 0, + "abilityScoreBonusToAttack": false, + "proficiencyBonusToAttack": false, + "uniqueInstance": false, + "showCasting": true, + "shortTitleOverride": "", + "overriddenPower": null, + "includeBaseDescription": false, + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&PowerMoonlitScionNewMoonTitle", + "description": "Feature/&PowerMoonlitScionNewMoonDescription", + "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": "f3211da8-b00f-5b04-87f3-3bf152251fe3", + "contentPack": 9999, + "name": "PowerMoonlitScionNewMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionFullMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionFullMoon.json new file mode 100644 index 0000000000..90d104624b --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionFullMoon.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&PowerMoonlitScionFullMoonTitle", + "description": "Feature/&PowerMoonlitScionFullMoonDescription", + "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": "d1888f0d-bfe5-5242-a6a0-7bb3999a1c8b", + "contentPack": 9999, + "name": "SpellPowerMoonlitScionFullMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionLunarCloak.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionLunarCloak.json new file mode 100644 index 0000000000..4f8d4a7295 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionLunarCloak.json @@ -0,0 +1,196 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [ + "Definition:SpellPowerMoonlitScionFullMoon:d1888f0d-bfe5-5242-a6a0-7bb3999a1c8b", + "Definition:SpellPowerMoonlitScionNewMoon:20c91da7-234f-5a5e-96ed-8f340e0b2526" + ], + "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/&FeatureSetMoonlitScionLunarCloakTitle", + "description": "Feature/&FeatureSetMoonlitScionLunarCloakDescription", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "abc96fb9-2b57-5cd9-9609-ee7e8d7f1720", + "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": "08e742cb-f47c-552f-a210-93d779c0cfdf", + "contentPack": 9999, + "name": "SpellPowerMoonlitScionLunarCloak" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionNewMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionNewMoon.json new file mode 100644 index 0000000000..8e4e48bb9f --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SpellPowerMoonlitScionNewMoon.json @@ -0,0 +1,193 @@ +{ + "$type": "SpellDefinition, Assembly-CSharp", + "spellsBundle": false, + "subspellsList": [], + "compactSubspellsTooltip": false, + "implemented": true, + "schoolOfMagic": "SchoolEvocation", + "spellLevel": 0, + "ritual": false, + "uniqueInstance": false, + "castingTime": "Action", + "reactionContext": "None", + "ritualCastingTime": "Action", + "requiresConcentration": false, + "effectDescription": { + "$type": "EffectDescription, Assembly-CSharp", + "rangeType": "Self", + "rangeParameter": 0, + "halfDamageOnAMiss": false, + "hitAffinitiesByTargetTag": [], + "targetType": "Self", + "itemSelectionType": "Equiped", + "targetParameter": 1, + "targetParameter2": 2, + "emissiveBorder": "None", + "emissiveParameter": 1, + "requiresTargetProximity": false, + "targetProximityDistance": 6, + "targetExcludeCaster": false, + "canBePlacedOnCharacter": true, + "affectOnlyGround": false, + "targetFilteringMethod": "AllCharacterAndGadgets", + "targetFilteringTag": "No", + "requiresVisibilityForPosition": true, + "inviteOptionalAlly": false, + "slotTypes": [], + "recurrentEffect": "No", + "retargetAfterDeath": false, + "retargetActionType": "Bonus", + "poolFilterDiceNumber": 5, + "poolFilterDieType": "D8", + "trapRangeType": "Triggerer", + "targetConditionName": "", + "targetConditionAsset": null, + "targetSide": "Enemy", + "durationType": "Instantaneous", + "durationParameter": 1, + "endOfEffect": "EndOfTurn", + "hasSavingThrow": false, + "disableSavingThrowOnAllies": false, + "savingThrowAbility": "Dexterity", + "ignoreCover": false, + "grantedConditionOnSave": null, + "rollSaveOnlyIfRelevantForms": false, + "hasShoveRoll": false, + "createdByCharacter": false, + "difficultyClassComputation": "SpellCastingFeature", + "savingThrowDifficultyAbility": "Wisdom", + "fixedSavingThrowDifficultyClass": 15, + "savingThrowAffinitiesBySense": [], + "savingThrowAffinitiesByFamily": [], + "damageAffinitiesByFamily": [], + "advantageForEnemies": false, + "canBeDispersed": false, + "hasVelocity": false, + "velocityCellsPerRound": 2, + "velocityType": "AwayFromSourceOriginalPosition", + "restrictedCreatureFamilies": [], + "immuneCreatureFamilies": [], + "restrictedCharacterSizes": [], + "hasLimitedEffectPool": false, + "effectPoolAmount": 60, + "effectApplication": "All", + "effectFormFilters": [], + "effectForms": [], + "specialFormsDescription": "", + "effectAdvancement": { + "$type": "EffectAdvancement, Assembly-CSharp", + "effectIncrementMethod": "None", + "incrementMultiplier": 1, + "additionalTargetsPerIncrement": 0, + "additionalSubtargetsPerIncrement": 0, + "additionalDicePerIncrement": 0, + "additionalSpellLevelPerIncrement": 0, + "additionalSummonsPerIncrement": 0, + "additionalHPPerIncrement": 0, + "additionalTempHPPerIncrement": 0, + "additionalTargetCellsPerIncrement": 0, + "additionalItemBonus": 0, + "additionalWeaponDie": 0, + "alteredDuration": "None" + }, + "speedType": "Instant", + "speedParameter": 10.0, + "offsetImpactTimeBasedOnDistance": false, + "offsetImpactTimeBasedOnDistanceFactor": 0.1, + "offsetImpactTimePerTarget": 0.0, + "effectParticleParameters": { + "$type": "EffectParticleParameters, Assembly-CSharp", + "casterParticleReference": null, + "casterSelfParticleReference": null, + "casterQuickSpellParticleReference": null, + "targetParticleReference": null, + "effectParticleReference": null, + "effectSubTargetParticleReference": null, + "zoneParticleReference": null, + "beforeImpactParticleReference": null, + "impactParticleReference": null, + "activeEffectImpactParticleReference": null, + "activeEffectCellStartParticleReference": null, + "activeEffectCellParticleReference": null, + "activeEffectCellEndParticleReference": null, + "activeEffectSurfaceStartParticleReference": null, + "activeEffectSurfaceParticleReference": null, + "activeEffectSurfaceEndParticleReference": null, + "activeEffectSurfaceParticlePerIndex": "", + "activeEffectSurfaceParticlePerIndexCount": 0, + "emissiveBorderCellStartParticleReference": null, + "emissiveBorderCellParticleReference": null, + "emissiveBorderCellEndParticleReference": null, + "emissiveBorderSurfaceStartParticleReference": null, + "emissiveBorderSurfaceParticleReference": null, + "emissiveBorderSurfaceEndParticleReference": null, + "conditionStartParticleReference": null, + "conditionParticleReference": null, + "conditionEndParticleReference": null, + "forceApplyZoneParticle": false, + "applyEmissionColorOnWeapons": false, + "emissionColor": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "emissionColorFadeInDuration": 0.0, + "emissionColorFadeOutDuration": 0.0 + }, + "effectAIParameters": { + "$type": "EffectAIParameters, Assembly-CSharp", + "aoeScoreMultiplier": 1.0, + "cooldownForCaster": 0, + "cooldownForBattle": 0, + "sortingScoreMultiplier": 1.0, + "dynamicCooldown": false + }, + "animationMagicEffect": "Animation0", + "lightCounterDispellsEffect": false, + "hideSavingThrowAnimation": false + }, + "aiParameters": { + "$type": "SpellAIParameters, Assembly-CSharp", + "learnPriority": "Low", + "preparePriority": "Low" + }, + "concentrationAction": "None", + "verboseComponent": true, + "somaticComponent": true, + "materialComponentType": "Mundane", + "specificMaterialComponentTag": "Diamond", + "specificMaterialComponentCostGp": 100, + "specificMaterialComponentConsumed": true, + "terminateOnItemUnequip": false, + "displayConditionDuration": false, + "vocalSpellSemeType": "None", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&PowerMoonlitScionNewMoonTitle", + "description": "Feature/&PowerMoonlitScionNewMoonDescription", + "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": "20c91da7-234f-5a5e-96ed-8f340e0b2526", + "contentPack": 9999, + "name": "SpellPowerMoonlitScionNewMoon" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListMoonlitScion.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListMoonlitScion.json new file mode 100644 index 0000000000..3d38abe2a2 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellListDefinition/SpellListMoonlitScion.json @@ -0,0 +1,101 @@ +{ + "$type": "SpellListDefinition, Assembly-CSharp", + "hasCantrips": true, + "maxSpellLevel": 9, + "spellsByLevel": [ + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 0, + "spells": [] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 1, + "spells": [ + "Definition:FaerieFire:72b2d8c811efbb04e8d70c0a41f5d963", + "Definition:Sleep:9bfc9d5dc54cc2c4ab7e4baade97bf64" + ] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 2, + "spells": [ + "Definition:MoonBeam:2888ca7e95be24447b669a33ccf80e9b", + "Definition:SeeInvisibility:10c15ca8321632e42825254149dfb885" + ] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 3, + "spells": [ + "Definition:Daylight:73762817061cfec47b824d2f3a9fc3f6", + "Definition:Slow:ee93dd5046aabe14e90ba99da310fbb4" + ] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 4, + "spells": [ + "Definition:GreaterInvisibility:463d00efd5590394ab707875f866dfe7", + "Definition:GuardianOfFaith:9a2e9a322fd95a94197cfb894349d665" + ] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 5, + "spells": [ + "Definition:ConeOfCold:4014172b09c7b0347911d81077d7ba0c", + "Definition:GreaterRestoration:6131d7d4650604b44ad3c74b21cc3eb2" + ] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 6, + "spells": [] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 7, + "spells": [] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 8, + "spells": [] + }, + { + "$type": "SpellListDefinition+SpellsByLevelDuplet, Assembly-CSharp", + "level": 9, + "spells": [] + } + ], + "compositeSpellList": false, + "sourceSpellLists": [], + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": true, + "title": "Feature/&NoContentTitle", + "description": "Feature/&NoContentTitle", + "spriteReference": { + "$type": "UnityEngine.AddressableAssets.AssetReferenceSprite, Unity.Addressables", + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null + }, + "color": { + "$type": "UnityEngine.Color, UnityEngine.CoreModule", + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "symbolChar": "221E", + "sortOrder": 0, + "unusedInSolastaCOTM": false, + "usedInValleyDLC": false + }, + "contentCopyright": "UserContent", + "guid": "603cd97b-74e0-581b-95b4-0d5815080da0", + "contentPack": 9999, + "name": "SpellListMoonlitScion" +} \ No newline at end of file From 6801c164b7db4852d3aa6a6cd551013847d9e5c8 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 18:41:30 -0800 Subject: [PATCH 11/24] update credits and changelog --- .../ChangelogHistory.txt | 3 ++- .../Displays/CreditsDisplay.cs | 27 +++++++++---------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index aef27a6427..0783df2297 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,7 +1,8 @@ 1.5.94.48: +- added revised Patron Moonlit subclass [design by hiddenHax] - fixed Circle of The Nights interaction with ArchDruid feature at level 20 -- fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules enabled +- fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules - improved 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' 1.5.94.47: diff --git a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs index 36102723b0..15f9ff5d0f 100644 --- a/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs +++ b/SolastaUnfinishedBusiness/Displays/CreditsDisplay.cs @@ -24,32 +24,32 @@ internal static class CreditsDisplay "Roguish Acrobat, Roguish Arcane Scoundrel, Roguish Blade Caller, Roguish Duelist, Roguish Slayer, " + "College of Audacity, College of Guts, College of Life, College of Thespian, College of Valiance, " + "Circle of the Ancient Forest, Circle of the Eternal Grove, Wizard Bladedancer, Wizard Deadmaster, " + - "Sorcerous Field Manipulator, Sorcerous Forceblade, Sorcerous Sorr-Akkath, Oath of Dread, Oath of Hatred, Oath of Thunder, " + + "Sorcerous Field Manipulator, Sorcerous Forceblade, Sorcerous Sorr-Akkath, Oath of Dread, Oath of Thunder, " + "Path of the Elements, Path of the Reaver, Path of the Savagery, Path of the Yeoman, " + "Ranger Hellwalker, Ranger Lightbearer, Ranger Sky Warrior, Ranger Survivalist, Ranger Wildmaster, " + - "Martial Arcane Archer, Martial Defender, Martial Guardian, Martial Royal Knight, Martial Weapon Master, " + - "Way of the Discordance, Way of the Silhouette, Way of the Tempest, Way of Weal and Woe, Way of Zen Archery, " + + "Martial Arcane Archer, Martial Guardian, Martial Royal Knight, Martial Warlord, Martial Weapon Master, " + + "Patron Moonlit, Way of the Discordance, Way of the Silhouette, Way of the Tempest, Way of Weal and Woe, Way of Zen Archery, " + "Innovation Artillerist, Innovation Vitriolist, Innovation Vivisectionist, Patron Celestial, Patron Mountain, " + - "Level 20, Multiclass"), + "Lighting and Obscurement, Level 20, Multiclass"), ("TPABOBAP", "custom behaviors, game UI, infrastructure, gameplay, rules, quality of life, " + "feats, fighting styles, invocations, metamagic, spells, quality of life, " + "Innovation Armor, Innovation Grenadier, Innovation Weapon, " + "Patron Elementalist, Patron Moonlit, Patron Riftwalker, Patron Soulblade, " + - "Martial Tactician, Way of Distant Hand, Inventor, Multiclass"), + "Martial Tactician, Inventor, Multiclass"), ("ImpPhil", "api, builders, gameplay, rules, quality of life"), ("ChrisJohnDigital", "builders, gameplay, feats, fighting styles, Wizard Arcane Fighter, Wizard Spellmaster, Martial Spell Shield"), ("HiddenHax", - "QA, homebrew design [feats, spells, Circle of the Eternal Grove, " + - "College of Audacity, College of Thespian, College of Valiance, " + - "Path of the Elemental Fury, Path of the Reaver, Path of the Savagery, " + - "Oath of Dread, Roguish Arcane Scoundrel, Roguish Blade Caller, Roguish Duelist, Roguish Slayer, " + + "QA, sprites [spells, powers], homebrew design [feats, spells, Circle of the Eternal Grove, " + + "College of Audacity, College of Thespian, College of Valiance, Oath of Dread, " + + "Path of the Elemental Fury, Path of the Reaver, Path of the Savagery, Patron Moonlit, " + + "Roguish Arcane Scoundrel, Roguish Blade Caller, Roguish Duelist, Roguish Slayer, " + "Sorcerous Field Manipulator, Sorcerous Forceblade, Sorcerous Psion, Sorcerous Sorr-Akkath, " + - "Martial Guardian, Martial Weapon Master, " + + "Martial Guardian, Martial Warlord, Martial Weapon Master, " + "Way of the Discordance, Way of Dragon, Way of Tempest, Way of Zen Archery]"), ("DemonicDuck", @@ -58,7 +58,7 @@ internal static class CreditsDisplay ("Earandil", "homebrew design [Patron Mountain, Path of the Savagery, Path of the Yeoman, Ranger Sky Warrior, Ranger Survivalist]"), - ("Nd", "College of Harlequin, College of Wardancer, Martial Marshal, Roguish Opportunist, Roguish Raven"), + ("Nd", "College of Wardancer, Roguish Opportunist, Roguish Raven"), ("Haxermn", "spells, Domain Defiler, Domain Smith, Oath of Ancient, Oath of Hatred, Way of Dragon"), ("Otearaisu", "Battleborn, Malakh, Oligath, Oni, Wendigo, Wildling, Wyrmkin"), ("SilverGriffon", "gameplay, visuals, spells, Dark Elf, Draconic Kobold, Grey Dwarf, Sorcerous Divine Heart"), @@ -82,10 +82,7 @@ internal static class CreditsDisplay ("Thaladar", "sample portraits"), ("Taco", "sprites [fighting styles, powers, spells, subclasses], homebrew design [feats, Roguish Acrobat, Defiler Domain, Oath of Altruism]"), - - ("DubhHerder", - "quality of life, spells, homebrew design [Patron Elementalist, Patron Moonlit, Patron Riftwalker]"), - + ("DubhHerder", "quality of life, spells, homebrew design [Patron Elementalist, Patron Riftwalker]"), ("team-waldo", "official korean font and translations"), ("akintos", "korean translations"), ("Dovel", "russian and non-official russian translations"), From 9225887b020f4b2b0b4b2e58b816b7ca9f11371d Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 19:45:19 -0800 Subject: [PATCH 12/24] don't touch monsters on cold settings as they already have the proper set --- .../Models/SrdAndHouseRulesContext.cs | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs index bc2c60d30b..ded95d77c0 100644 --- a/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs +++ b/SolastaUnfinishedBusiness/Models/SrdAndHouseRulesContext.cs @@ -570,40 +570,6 @@ internal static void SwitchColdResistanceAndImmunityAlsoGrantsWeatherImmunity() } } - foreach (var monster in DatabaseRepository.GetDatabase()) - { - if (Main.Settings.ColdResistanceAlsoGrantsImmunityToChilledCondition) - { - if (monster.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdResistance)) - { - monster.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); - monster.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); - } - } - else - { - monster.Features.Remove(ConditionAffinityWeatherChilledImmunity); - monster.Features.Remove(ConditionAffinityWeatherFrozenImmunity); - } - - if (Main.Settings.ColdImmunityAlsoGrantsImmunityToChilledAndFrozenCondition) - { - // ReSharper disable once InvertIf - if (monster.Features.Contains(FeatureDefinitionDamageAffinitys.DamageAffinityColdImmunity)) - { - monster.Features.TryAdd(ConditionAffinityWeatherChilledImmunity); - monster.Features.TryAdd(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); - monster.Features.TryAdd(ConditionAffinityWeatherFrozenImmunity); - } - } - else - { - monster.Features.Remove(ConditionAffinityWeatherChilledImmunity); - monster.Features.Remove(ConditionAffinityWeatherChilledInsteadOfFrozenImmunity); - monster.Features.Remove(ConditionAffinityWeatherFrozenImmunity); - } - } - foreach (var condition in DatabaseRepository.GetDatabase()) { if (Main.Settings.ColdResistanceAlsoGrantsImmunityToChilledCondition) From 577c9f927603d175996e4f994e7514e30e292b19 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 19:55:53 -0800 Subject: [PATCH 13/24] fix touch powers and spells with range parameter greater than zero --- .../Feats/MeleeCombatFeats.cs | 2 +- SolastaUnfinishedBusiness/Feats/OtherFeats.cs | 4 ++-- .../FightingStyles/Merciless.cs | 2 +- .../FightingStyles/Torchbearer.cs | 2 +- .../Models/CharacterContext.cs | 2 +- .../Models/FixesContext.cs | 18 ++++++++++++++++-- SolastaUnfinishedBusiness/Races/Malakh.cs | 2 +- .../Spells/SpellBuildersCantrips.cs | 6 +++--- .../Spells/SpellBuildersLevel01.cs | 6 +++--- .../Spells/SpellBuildersLevel03.cs | 2 +- .../Spells/SpellBuildersLevel08.cs | 2 +- .../Spells/SpellBuildersLevel09.cs | 2 +- .../Subclasses/Builders/GambitsBuilders.cs | 2 +- .../Subclasses/WayOfTheDistantHand.cs | 12 ++++++------ 14 files changed, 39 insertions(+), 25 deletions(-) diff --git a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs index 20e6b1ef93..ba54da6e2d 100644 --- a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs @@ -1389,7 +1389,7 @@ private static FeatDefinition BuildFellHanded() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs index a73b87a498..468f1dfa5d 100644 --- a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs @@ -472,7 +472,7 @@ private static FeatDefinition BuildHealer() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder .Create() @@ -498,7 +498,7 @@ private static FeatDefinition BuildHealer() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering( TargetFilteringMethod.CharacterOnly, TargetFilteringTag.No, diff --git a/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs b/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs index 2e4edb206d..9357182af2 100644 --- a/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs +++ b/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs @@ -26,7 +26,7 @@ internal sealed class Merciless : AbstractFightingStyle .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.Cube) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.Cube) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetSavingThrowData( false, diff --git a/SolastaUnfinishedBusiness/FightingStyles/Torchbearer.cs b/SolastaUnfinishedBusiness/FightingStyles/Torchbearer.cs index 6e190d5c44..9bc667ab17 100644 --- a/SolastaUnfinishedBusiness/FightingStyles/Torchbearer.cs +++ b/SolastaUnfinishedBusiness/FightingStyles/Torchbearer.cs @@ -24,7 +24,7 @@ internal sealed class Torchbearer : AbstractFightingStyle .SetCanBePlacedOnCharacter(false) .SetDurationData(DurationType.Round, 3) .SetSpeed(SpeedType.Instant, 11f) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Models/CharacterContext.cs b/SolastaUnfinishedBusiness/Models/CharacterContext.cs index 37507a2949..0bc9029ed2 100644 --- a/SolastaUnfinishedBusiness/Models/CharacterContext.cs +++ b/SolastaUnfinishedBusiness/Models/CharacterContext.cs @@ -184,7 +184,7 @@ internal static class CharacterContext .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetDurationData(DurationType.Round, 1, TurnOccurenceType.EndOfSourceTurn) .SetEffectForms(EffectFormBuilder.ConditionForm(CustomConditionsContext.Distracted)) .Build()) diff --git a/SolastaUnfinishedBusiness/Models/FixesContext.cs b/SolastaUnfinishedBusiness/Models/FixesContext.cs index ca96e847af..209ad4e92c 100644 --- a/SolastaUnfinishedBusiness/Models/FixesContext.cs +++ b/SolastaUnfinishedBusiness/Models/FixesContext.cs @@ -29,7 +29,7 @@ internal static class FixesContext internal static void Load() { InitMagicAffinitiesAndCastSpells(); - FixMinorSpellIssues(); + FixMinorMagicEffectsIssues(); } internal static void LateLoad() @@ -405,8 +405,22 @@ private static void FixMeleeHitEffectsRange() } } - private static void FixMinorSpellIssues() + private static void FixMinorMagicEffectsIssues() { + // fix touch powers with range parameter greater than zero + foreach (var power in DatabaseRepository.GetDatabase() + .Where(x => x.EffectDescription.RangeType == RangeType.Touch)) + { + power.EffectDescription.rangeParameter = 0; + } + + // fix touch spells with range parameter greater than zero + foreach (var spell in DatabaseRepository.GetDatabase() + .Where(x => x.EffectDescription.RangeType == RangeType.Touch)) + { + spell.EffectDescription.rangeParameter = 0; + } + // fix raise dead spells adding a buff instead of debuff after raising from dead foreach (var affinityGroup in DatabaseRepository.GetDatabase() .Where(x => x.Name.Contains("ConditionBackFromDead")) diff --git a/SolastaUnfinishedBusiness/Races/Malakh.cs b/SolastaUnfinishedBusiness/Races/Malakh.cs index c28efa45cf..22248d31ae 100644 --- a/SolastaUnfinishedBusiness/Races/Malakh.cs +++ b/SolastaUnfinishedBusiness/Races/Malakh.cs @@ -89,7 +89,7 @@ private static CharacterRaceDefinition BuildMalakh() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .AddEffectForms( EffectFormBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs index f0875f0c17..878af485b3 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs @@ -558,7 +558,7 @@ internal static SpellDefinition BuildSunlightBlade() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetIgnoreCover() .SetEffectAdvancement(EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1) .SetEffectForms( @@ -692,7 +692,7 @@ internal static SpellDefinition BuildBoomingBlade() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetIgnoreCover() .SetEffectAdvancement( // this is needed for tooltip EffectIncrementMethod.CasterLevelTable, additionalDicePerIncrement: 1, incrementMultiplier: 1) @@ -800,7 +800,7 @@ internal static SpellDefinition BuildResonatingStrike() EffectDescriptionBuilder .Create() .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs index f4742e9b4f..5e946bcd05 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs @@ -302,7 +302,7 @@ internal static SpellDefinition BuildMule() var effectDescription = EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetDurationData(DurationType.Hour, 8) .SetParticleEffectParameters(ExpeditiousRetreat) .SetEffectForms( @@ -1593,7 +1593,7 @@ internal static SpellDefinition BuildThunderousSmite() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetSavingThrowData(false, AttributeDefinitions.Strength, false, EffectDifficultyClassComputation.SpellCastingFeature) .SetEffectForms( @@ -1720,7 +1720,7 @@ internal static SpellDefinition BuildGiftOfAlacrity() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Hour, 8) - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder .Create() diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs index 2cac11f3a2..7ea3495005 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs @@ -860,7 +860,7 @@ internal static SpellDefinition BuildLightningArrow() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetSavingThrowData(false, AttributeDefinitions.Dexterity, false, EffectDifficultyClassComputation.SpellCastingFeature) .SetEffectForms( diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel08.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel08.cs index 2d0bc75281..35d5c43072 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel08.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel08.cs @@ -33,7 +33,7 @@ internal static SpellDefinition BuildMindBlank() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Hour, 24) - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder.ConditionForm( ConditionDefinitionBuilder diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs index f09f2bcbd7..77a20401fb 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel09.cs @@ -34,7 +34,7 @@ internal static SpellDefinition BuildForesight() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Hour, 8) - .SetTargetingData(Side.Ally, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Ally, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetEffectForms( EffectFormBuilder.ConditionForm( ConditionDefinitionBuilder diff --git a/SolastaUnfinishedBusiness/Subclasses/Builders/GambitsBuilders.cs b/SolastaUnfinishedBusiness/Subclasses/Builders/GambitsBuilders.cs index e2e017cfb5..f8e2e4dae8 100644 --- a/SolastaUnfinishedBusiness/Subclasses/Builders/GambitsBuilders.cs +++ b/SolastaUnfinishedBusiness/Subclasses/Builders/GambitsBuilders.cs @@ -842,7 +842,7 @@ internal static void BuildGambits() .SetEffectDescription( EffectDescriptionBuilder .Create() - .SetTargetingData(Side.All, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.All, RangeType.Touch, 0, TargetType.IndividualsUnique) .ExcludeCaster() .SetSavingThrowData(true, AttributeDefinitions.Dexterity, false, EffectDifficultyClassComputation.AbilityScoreAndProficiency) diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheDistantHand.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheDistantHand.cs index ebda90e691..83ab0b33c0 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheDistantHand.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheDistantHand.cs @@ -65,7 +65,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, @@ -90,7 +90,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, @@ -115,7 +115,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, @@ -222,7 +222,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, @@ -265,7 +265,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, @@ -290,7 +290,7 @@ public WayOfTheDistantHand() EffectDescriptionBuilder .Create() .SetDurationData(DurationType.Round, 1) - .SetTargetingData(Side.Enemy, RangeType.Touch, 1, TargetType.IndividualsUnique) + .SetTargetingData(Side.Enemy, RangeType.Touch, 0, TargetType.IndividualsUnique) .SetTargetFiltering(TargetFilteringMethod.CharacterOnly) .SetSavingThrowData( true, From 38df3b002e2d2a074cecee4720ef59f750fc2e20 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 22:36:44 -0800 Subject: [PATCH 14/24] standardize CharacterActionParams usage --- .../GameLocationCharacterExtensions.cs | 6 +- .../ChangelogHistory.txt | 5 +- .../Classes/InventorClass.cs | 3 +- .../StopPowerConcentrationProvider.cs | 14 ++-- .../Feats/MeleeCombatFeats.cs | 20 +++--- SolastaUnfinishedBusiness/Feats/OtherFeats.cs | 31 +++++---- .../FightingStyles/Merciless.cs | 9 +-- .../Models/CharacterContext.cs | 24 ++++--- .../Models/FixesContext.cs | 14 ++-- .../Models/Level20SubclassesContext.cs | 15 +++-- .../Models/PowerBundleContext.cs | 18 ++--- .../Patches/RulesetActorPatcher.cs | 1 + .../Spells/SpellBuildersCantrips.cs | 16 ++--- .../Spells/SpellBuildersLevel01.cs | 35 +++++----- .../Spells/SpellBuildersLevel03.cs | 48 ++++++------- .../Subclasses/CollegeOfHarlequin.cs | 5 +- .../Subclasses/CollegeOfThespian.cs | 9 +-- .../Subclasses/InnovationArtillerist.cs | 19 +++--- .../Subclasses/MartialDefender.cs | 16 +++-- .../Subclasses/MartialRoyalKnight.cs | 5 +- .../Subclasses/OathOfThunder.cs | 20 +++--- .../Subclasses/PathOfTheYeoman.cs | 19 +++--- .../Subclasses/PatronCelestial.cs | 17 +++-- .../Subclasses/RangerLightBearer.cs | 19 +++--- .../Subclasses/RoguishArcaneScoundrel.cs | 16 +++-- .../Subclasses/RoguishBladeCaller.cs | 20 +++--- .../Subclasses/SorcerousFieldManipulator.cs | 18 ++--- .../Subclasses/SorcerousPsion.cs | 18 ++--- .../Subclasses/WayOfTheDiscordance.cs | 67 +++++++++++-------- .../Subclasses/WayOfTheSilhouette.cs | 8 +-- .../Subclasses/WayOfTheTempest.cs | 26 ++++--- 31 files changed, 310 insertions(+), 251 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs index cc3a97bca7..5be478bf57 100644 --- a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs +++ b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs @@ -385,16 +385,18 @@ internal static void BurnOneMainAttack(this GameLocationCharacter instance) if (!Main.Settings.EnableMonkDoNotRequireAttackActionForBonusUnarmoredAttack && rulesetCharacter.GetClassLevel(CharacterClassDefinitions.Monk) > 0) { - var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkMartialArts, rulesetCharacter); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkMartialArts, rulesetCharacter); var actionParams = new CharacterActionParams(instance, Id.SpendPower) { ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), - targetCharacters = { instance } + UsablePower = usablePower, + TargetCharacters = { instance } }; ServiceRepository.GetService() diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 0783df2297..80222a730d 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -1,8 +1,9 @@ 1.5.94.48: -- added revised Patron Moonlit subclass [design by hiddenHax] -- fixed Circle of The Nights interaction with ArchDruid feature at level 20 +- added revised Patron Moonlit subclass [design by HiddenHax] +- fixed Circle of The Nights interaction with Arch Druid feature at level 20 - fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules +- fixed vanilla powers and spells with range type touch and distance greater than zero [affects tooltips] - improved 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' 1.5.94.47: diff --git a/SolastaUnfinishedBusiness/Classes/InventorClass.cs b/SolastaUnfinishedBusiness/Classes/InventorClass.cs index ea6ddf63e0..2e726251fa 100644 --- a/SolastaUnfinishedBusiness/Classes/InventorClass.cs +++ b/SolastaUnfinishedBusiness/Classes/InventorClass.cs @@ -931,7 +931,8 @@ public IEnumerator OnFailedSavingTryAlterOutcome(GameLocationBattleManager battl StringParameter2 = FormatReactionDescription(action, attacker, defender, originalHelper), RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetOriginalHelper, usablePower, false) + .MyInstantiateEffectPower(rulesetOriginalHelper, usablePower, false), + UsablePower = usablePower }; var actionService = ServiceRepository.GetService(); var count = actionService.PendingReactionRequestGroups.Count; diff --git a/SolastaUnfinishedBusiness/CustomUI/StopPowerConcentrationProvider.cs b/SolastaUnfinishedBusiness/CustomUI/StopPowerConcentrationProvider.cs index 8630b04027..bf370eefd4 100644 --- a/SolastaUnfinishedBusiness/CustomUI/StopPowerConcentrationProvider.cs +++ b/SolastaUnfinishedBusiness/CustomUI/StopPowerConcentrationProvider.cs @@ -27,9 +27,6 @@ public void Stop(RulesetCharacter character) return; } - var usable = PowerProvider.Get(StopPower, character); - var implementationManagerService = - ServiceRepository.GetService() as RulesetImplementationManager; var locationCharacter = GameLocationCharacter.GetFromActor(character); if (locationCharacter == null) @@ -37,13 +34,18 @@ public void Stop(RulesetCharacter character) return; } + var implementationManagerService = + ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(StopPower, character); var actionParams = new CharacterActionParams(locationCharacter, ActionDefinitions.Id.PowerNoCost) { - SkipAnimationsAndVFX = true, - TargetCharacters = { locationCharacter }, ActionModifiers = { new ActionModifier() }, //CHECK: no need for AddAsActivePowerToSource - RulesetEffect = implementationManagerService.MyInstantiateEffectPower(character, usable, true) + RulesetEffect = implementationManagerService.MyInstantiateEffectPower(character, usablePower, true), + UsablePower = usablePower, + TargetCharacters = { locationCharacter }, + SkipAnimationsAndVFX = true }; ServiceRepository.GetService() diff --git a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs index ba54da6e2d..55a355ad5a 100644 --- a/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/MeleeCombatFeats.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Api.LanguageExtensions; @@ -1481,21 +1480,24 @@ public IEnumerator OnPhysicalAttackFinishedByMe( if (lowOutcome is RollOutcome.Success or RollOutcome.CriticalSuccess) { - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(_power, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange(defender); + + var usablePower = PowerProvider.Get(_power, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; var actionService = ServiceRepository.GetService(); // must enqueue actions whenever within an attack workflow otherwise game won't consume attack - actionService.ExecuteAction(actionParams, null, true); + actionService?.ExecuteAction(actionParams, null, true); } break; diff --git a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs index 468f1dfa5d..ca5a1beb7d 100644 --- a/SolastaUnfinishedBusiness/Feats/OtherFeats.cs +++ b/SolastaUnfinishedBusiness/Feats/OtherFeats.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; @@ -867,7 +866,7 @@ public IEnumerator OnActionFinishedByEnemy(CharacterAction action, GameLocationC yield break; } - yield return PoisonTarget(action, target.RulesetCharacter, action.ActingCharacter); + yield return PoisonTarget(target, action.ActingCharacter); } //Poison characters that I shove @@ -878,11 +877,11 @@ public IEnumerator OnActionFinishedByMe(CharacterAction action) yield break; } - var rulesetAttacker = action.ActingCharacter.RulesetCharacter; + var actingCharacter = action.ActingCharacter; foreach (var target in action.actionParams.TargetCharacters) { - yield return PoisonTarget(action, rulesetAttacker, target); + yield return PoisonTarget(actingCharacter, target); } } @@ -908,7 +907,7 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - yield return PoisonTarget(action, me.RulesetCharacter, target); + yield return PoisonTarget(me, target); } //Poison melee attacker @@ -933,11 +932,12 @@ public IEnumerator OnPhysicalAttackFinishedOnMe( yield break; } - yield return PoisonTarget(action, me.RulesetCharacter, attacker); + yield return PoisonTarget(me, attacker); } - private IEnumerator PoisonTarget(CharacterAction action, RulesetCharacter me, GameLocationCharacter target) + private IEnumerator PoisonTarget(GameLocationCharacter me, GameLocationCharacter target) { + var rulesetMe = me.RulesetCharacter; var rulesetTarget = target.RulesetCharacter; if (rulesetTarget is not { IsDeadOrDyingOrUnconscious: false }) @@ -945,15 +945,18 @@ private IEnumerator PoisonTarget(CharacterAction action, RulesetCharacter me, Ga yield break; } - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerPoisonousSkin, me); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(me, usablePower, false); - actionParams.TargetCharacters.SetRange(target); + + var usablePower = PowerProvider.Get(powerPoisonousSkin, rulesetMe); + var actionParams = new CharacterActionParams(me, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetMe, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { target } + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs b/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs index 9357182af2..211bc0ff32 100644 --- a/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs +++ b/SolastaUnfinishedBusiness/FightingStyles/Merciless.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; @@ -88,16 +87,18 @@ public IEnumerator HandleReducedToZeroHpByMe( var rulesetAttacker = attacker.RulesetCharacter; var proficiencyBonus = rulesetAttacker.TryGetAttributeValue(AttributeDefinitions.ProficiencyBonus); - var usablePower = PowerProvider.Get(PowerFightingStyleMerciless, rulesetAttacker); + var distance = _criticalHit ? proficiencyBonus : (proficiencyBonus + 1) / 2; + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - var distance = _criticalHit ? proficiencyBonus : (proficiencyBonus + 1) / 2; + + var usablePower = PowerProvider.Get(PowerFightingStyleMerciless, rulesetAttacker); var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, targetCharacters = Gui.Battle .GetContenders(attacker, isWithinXCells: distance) .Where(x => x.CanPerceiveTarget(attacker)) diff --git a/SolastaUnfinishedBusiness/Models/CharacterContext.cs b/SolastaUnfinishedBusiness/Models/CharacterContext.cs index 0bc9029ed2..3a3f7b4e14 100644 --- a/SolastaUnfinishedBusiness/Models/CharacterContext.cs +++ b/SolastaUnfinishedBusiness/Models/CharacterContext.cs @@ -1927,16 +1927,18 @@ public IEnumerator OnAttackBeforeHitConfirmedOnEnemy( yield break; } - var usablePower = PowerProvider.Get(powerRogueCunningStrike, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(powerRogueCunningStrike, rulesetAttacker); var reactionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.PowerNoCost) { StringParameter = powerRogueCunningStrike.Name, - TargetCharacters = { defender }, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false) + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } }; var previousReactionCount = manager.PendingReactionRequestGroups.Count; var reactionRequest = new ReactionRequestSpendBundlePower(reactionParams); @@ -2002,16 +2004,20 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); var rulesetAttacker = attacker.RulesetCharacter; - var usablePower = PowerProvider.Get(power, rulesetAttacker); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); + var usablePower = PowerProvider.Get(power, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Models/FixesContext.cs b/SolastaUnfinishedBusiness/Models/FixesContext.cs index 209ad4e92c..668ae317d2 100644 --- a/SolastaUnfinishedBusiness/Models/FixesContext.cs +++ b/SolastaUnfinishedBusiness/Models/FixesContext.cs @@ -680,12 +680,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); - var usablePower = - PowerProvider.Get(FeatureDefinitionPowers.PowerMonkStunningStrike, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; + + var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkStunningStrike, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; actionParams.RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); diff --git a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs index fa82beafe7..54bf315f18 100644 --- a/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/Level20SubclassesContext.cs @@ -1527,16 +1527,18 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, { var actingCharacter = action.ActingCharacter; var rulesetCharacter = actingCharacter.RulesetCharacter; - var usablePower = PowerProvider.Get(powerFortuneFavorTheBold, rulesetCharacter); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(powerFortuneFavorTheBold, rulesetCharacter); var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), - targetCharacters = { actingCharacter } + UsablePower = usablePower, + TargetCharacters = { actingCharacter } }; ServiceRepository.GetService() @@ -1929,16 +1931,17 @@ public IEnumerator HandleReducedToZeroHpByEnemy( 0, 0); - var usablePower = PowerProvider.Get(powerPhysicalPerfection, rulesetCharacter); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(powerPhysicalPerfection, rulesetCharacter); var actionParams = new CharacterActionParams(source, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), - targetCharacters = { source } + UsablePower = usablePower, + TargetCharacters = { source } }; ServiceRepository.GetService() diff --git a/SolastaUnfinishedBusiness/Models/PowerBundleContext.cs b/SolastaUnfinishedBusiness/Models/PowerBundleContext.cs index 9b418539c2..3da5a2909b 100644 --- a/SolastaUnfinishedBusiness/Models/PowerBundleContext.cs +++ b/SolastaUnfinishedBusiness/Models/PowerBundleContext.cs @@ -59,14 +59,16 @@ public override IEnumerator Execute( functor._powerUsed = false; ServiceRepository.GetService(); - var actionParams = new CharacterActionParams(fromActor, ActionDefinitions.Id.PowerMain); - - actionParams.TargetCharacters.Add(fromActor); - actionParams.ActionModifiers.Add(new ActionModifier()); - actionParams.RulesetEffect = implementationManagerService - .MyInstantiateEffectPower(fromActor.RulesetCharacter, usablePower, true) - .AddAsActivePowerToSource(); - actionParams.SkipAnimationsAndVFX = true; + var actionParams = new CharacterActionParams(fromActor, ActionDefinitions.Id.PowerMain) + { + ActionModifiers = { new ActionModifier() }, + RulesetEffect = implementationManagerService + .MyInstantiateEffectPower(fromActor.RulesetCharacter, usablePower, true) + .AddAsActivePowerToSource(), + UsablePower = usablePower, + TargetCharacters = { fromActor }, + SkipAnimationsAndVFX = true + }; ServiceRepository.GetService() .ExecuteAction(actionParams, functor.ActionExecuted, false); diff --git a/SolastaUnfinishedBusiness/Patches/RulesetActorPatcher.cs b/SolastaUnfinishedBusiness/Patches/RulesetActorPatcher.cs index d6437e0e3c..4d0d5705f5 100644 --- a/SolastaUnfinishedBusiness/Patches/RulesetActorPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/RulesetActorPatcher.cs @@ -197,6 +197,7 @@ public static void Postfix(RulesetActor __instance, RulesetCondition newConditio RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), + UsablePower = usablePower, targetCharacters = gameLocationCharacterService.AllValidEntities .Where(x => x.Side == effectDescription.TargetSide && diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs index 878af485b3..a8f0f23e50 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersCantrips.cs @@ -1,10 +1,8 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -964,16 +962,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); var usablePower = PowerProvider.Get(_powerResonatingStrike, rulesetCharacter); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.PowerNoCost; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePower, false); - actionParams.TargetCharacters.SetRange(_secondTarget); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.PowerNoCost) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { _secondTarget } + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs index 5e946bcd05..89ede8af6d 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel01.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Api.LanguageExtensions; @@ -1672,15 +1671,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerThunderousSmite, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); + var usablePower = PowerProvider.Get(powerThunderousSmite, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; var actionService = ServiceRepository.GetService(); @@ -1897,17 +1899,20 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var rulesetCharacter = action.ActingCharacter.RulesetCharacter; - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerSpikeBarrage, rulesetCharacter); + var rulesetAttacker = attacker.RulesetCharacter; + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePower, false); - actionParams.TargetCharacters.SetRange(targets); + var usablePower = PowerProvider.Get(powerSpikeBarrage, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = targets + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs index 7ea3495005..558d969b17 100644 --- a/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs +++ b/SolastaUnfinishedBusiness/Spells/SpellBuildersLevel03.cs @@ -1,10 +1,8 @@ using System.Collections; using System.Collections.Generic; using System.Linq; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; using SolastaUnfinishedBusiness.Builders.Features; @@ -688,24 +686,27 @@ public IEnumerator OnMagicEffectInitiatedByMe(CharacterActionMagicEffect action, yield break; } - var actionParams = action.ActionParams.Clone(); var attacker = action.ActingCharacter; var rulesetAttacker = attacker.RulesetCharacter; - var usablePower = PowerProvider.Get(powerExplode, rulesetAttacker); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange(Gui.Battle.AllContenders - .Where(x => - x.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } && - x != attacker && - !actionParams.TargetCharacters.Contains(x) && - attacker.IsWithinRange(x, 2)) - .ToList()); + var usablePower = PowerProvider.Get(powerExplode, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = Gui.Battle.AllContenders + .Where(x => + x.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } && + x != attacker && + !action.ActionParams.TargetCharacters.Contains(x) && + attacker.IsWithinRange(x, 2)) + .ToList() + }; // special case don't ExecuteAction on MagicEffectInitiated action.ResultingActions.Add(new CharacterActionSpendPower(actionParams)); @@ -1049,17 +1050,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( } // leap damage on enemies within 10 ft from target - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerLightningArrowLeap, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange( - battleManager.Battle.GetContenders(defender, false, isWithinXCells: 2)); + var usablePower = PowerProvider.Get(powerLightningArrowLeap, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = battleManager.Battle.GetContenders(defender, false, isWithinXCells: 2) + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/CollegeOfHarlequin.cs b/SolastaUnfinishedBusiness/Subclasses/CollegeOfHarlequin.cs index 832c0b5883..7894b1d467 100644 --- a/SolastaUnfinishedBusiness/Subclasses/CollegeOfHarlequin.cs +++ b/SolastaUnfinishedBusiness/Subclasses/CollegeOfHarlequin.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Behaviors; @@ -284,16 +283,16 @@ public IEnumerator HandleReducedToZeroHpByMe( var level = attacker.RulesetCharacter.GetClassLevel(CharacterClassDefinitions.Bard); var power = level >= 14 ? power14 : power6; - var usablePower = PowerProvider.Get(power, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + var usablePower = PowerProvider.Get(power, rulesetAttacker); var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, targetCharacters = targets }; diff --git a/SolastaUnfinishedBusiness/Subclasses/CollegeOfThespian.cs b/SolastaUnfinishedBusiness/Subclasses/CollegeOfThespian.cs index d6c520612f..2a6692d3f8 100644 --- a/SolastaUnfinishedBusiness/Subclasses/CollegeOfThespian.cs +++ b/SolastaUnfinishedBusiness/Subclasses/CollegeOfThespian.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Behaviors; @@ -305,17 +304,19 @@ public IEnumerator HandleReducedToZeroHpByMe( yield break; } - var implementationManagerService = - ServiceRepository.GetService() as RulesetImplementationManager; var classLevel = rulesetAttacker.GetClassLevel(CharacterClassDefinitions.Bard); var power = classLevel < 14 ? powerTerrificPerformance : powerImprovedTerrificPerformance; + + var implementationManagerService = + ServiceRepository.GetService() as RulesetImplementationManager; + var usablePower = PowerProvider.Get(power, rulesetAttacker); var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, targetCharacters = targets }; diff --git a/SolastaUnfinishedBusiness/Subclasses/InnovationArtillerist.cs b/SolastaUnfinishedBusiness/Subclasses/InnovationArtillerist.cs index bee330522b..efa0b2ecfc 100644 --- a/SolastaUnfinishedBusiness/Subclasses/InnovationArtillerist.cs +++ b/SolastaUnfinishedBusiness/Subclasses/InnovationArtillerist.cs @@ -5,7 +5,6 @@ using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -1050,14 +1049,15 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } + var actingCharacter = action.ActingCharacter; + var rulesetCharacter = actingCharacter.RulesetCharacter; + var selectedTarget = action.ActionParams.TargetCharacters[0]; + var targets = new List(); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - var actionParams = action.ActionParams.Clone(); - var rulesetCharacter = actionParams.ActingCharacter.RulesetCharacter; - var selectedTarget = actionParams.TargetCharacters[0]; - var targets = new List(); - var usablePower = PowerProvider.Get(_powerEldritchDetonation, rulesetCharacter); + var usablePower = PowerProvider.Get(_powerEldritchDetonation, rulesetCharacter); var effectPower = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false); @@ -1065,9 +1065,10 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, gameLocationTargetingService.CollectTargetsInLineOfSightWithinDistance( selectedTarget, effectPower.EffectDescription, targets, []); - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.PowerNoCost; - actionParams.RulesetEffect = effectPower; - actionParams.TargetCharacters.SetRange(targets); + var actionParams = new CharacterActionParams(actingCharacter, Id.SpendPower) + { + RulesetEffect = effectPower, UsablePower = usablePower, targetCharacters = targets + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/MartialDefender.cs b/SolastaUnfinishedBusiness/Subclasses/MartialDefender.cs index 8eda341f9d..f2e49af835 100644 --- a/SolastaUnfinishedBusiness/Subclasses/MartialDefender.cs +++ b/SolastaUnfinishedBusiness/Subclasses/MartialDefender.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; @@ -276,15 +275,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerAegisAssault, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); + var usablePower = PowerProvider.Get(powerAegisAssault, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs index 7b92a21f9f..9332b413a9 100644 --- a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs +++ b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs @@ -286,17 +286,18 @@ public IEnumerator OnFailedSavingTryAlterOutcome( yield break; } - var usablePower = PowerProvider.Get(Power, rulesetOriginalHelper); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + var usablePower = PowerProvider.Get(Power, rulesetOriginalHelper); var reactionParams = new CharacterActionParams(originalHelper, ActionDefinitions.Id.SpendPower) { StringParameter = ReactionName, StringParameter2 = FormatReactionDescription(action, attacker, defender, originalHelper), RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetOriginalHelper, usablePower, false) + .MyInstantiateEffectPower(rulesetOriginalHelper, usablePower, false), + UsablePower = usablePower }; var actionService = ServiceRepository.GetService(); var count = actionService.PendingReactionRequestGroups.Count; diff --git a/SolastaUnfinishedBusiness/Subclasses/OathOfThunder.cs b/SolastaUnfinishedBusiness/Subclasses/OathOfThunder.cs index 6a6f95ffa6..2430965efb 100644 --- a/SolastaUnfinishedBusiness/Subclasses/OathOfThunder.cs +++ b/SolastaUnfinishedBusiness/Subclasses/OathOfThunder.cs @@ -1,9 +1,7 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -373,19 +371,21 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } - var actionParams = action.ActionParams.Clone(); var attacker = action.ActingCharacter; var rulesetAttacker = attacker.RulesetCharacter; - var usablePower = PowerProvider.Get(powerBifrostDamage, rulesetAttacker); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange( - Gui.Battle.GetContenders(attacker, hasToPerceiveTarget: true, isWithinXCells: 2)); + var usablePower = PowerProvider.Get(powerBifrostDamage, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = Gui.Battle.GetContenders(attacker, hasToPerceiveTarget: true, isWithinXCells: 2) + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/PathOfTheYeoman.cs b/SolastaUnfinishedBusiness/Subclasses/PathOfTheYeoman.cs index f03d23d890..e81d16dd7d 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PathOfTheYeoman.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PathOfTheYeoman.cs @@ -1,9 +1,7 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -339,17 +337,18 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerMightyShot, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange( - battleManager.Battle.GetContenders(defender, false, isWithinXCells: 3)); + var usablePower = PowerProvider.Get(powerMightyShot, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = battleManager.Battle.GetContenders(defender, false, isWithinXCells: 3) + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronCelestial.cs b/SolastaUnfinishedBusiness/Subclasses/PatronCelestial.cs index 581dd3c0c5..6748c88e70 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronCelestial.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronCelestial.cs @@ -392,16 +392,19 @@ public IEnumerator HandleReducedToZeroHpByEnemy( rulesetCharacter.StabilizeAndGainHitPoints(hitPoints); - var actionParams = new CharacterActionParams(source, ActionDefinitions.Id.SpendPower); - var usablePower = PowerProvider.Get(powerSearingVengeance, rulesetCharacter); - var targets = gameLocationBattleService.Battle.GetContenders(source, isWithinXCells: 5); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePower, false); - actionParams.TargetCharacters.SetRange(targets); + var usablePower = PowerProvider.Get(powerSearingVengeance, rulesetCharacter); + var targets = gameLocationBattleService.Battle.GetContenders(source, isWithinXCells: 5); + var actionParams = new CharacterActionParams(source, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), + UsablePower = usablePower, + targetCharacters = targets + }; EffectHelpers.StartVisualEffect( source, source, HolyAura, EffectHelpers.EffectType.Effect); diff --git a/SolastaUnfinishedBusiness/Subclasses/RangerLightBearer.cs b/SolastaUnfinishedBusiness/Subclasses/RangerLightBearer.cs index bf8ff86a0c..187f4c9fe2 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RangerLightBearer.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RangerLightBearer.cs @@ -2,9 +2,7 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -412,17 +410,18 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, rulesetAttacker.UpdateUsageForPower(featureDefinitionPower, featureDefinitionPower.CostPerUse); - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(featureDefinitionPower, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange( - gameLocationBattleService.Battle.GetContenders(attacker, isWithinXCells: 5)); + var usablePower = PowerProvider.Get(featureDefinitionPower, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = gameLocationBattleService.Battle.GetContenders(attacker, isWithinXCells: 5) + }; // different follow up pattern [not adding to ResultingActions] as it doesn't work after a reaction ServiceRepository.GetService()?.ExecuteAction(actionParams, null, false); diff --git a/SolastaUnfinishedBusiness/Subclasses/RoguishArcaneScoundrel.cs b/SolastaUnfinishedBusiness/Subclasses/RoguishArcaneScoundrel.cs index c01eaaad44..3a4d753b66 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RoguishArcaneScoundrel.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RoguishArcaneScoundrel.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Builders; @@ -326,15 +325,18 @@ public IEnumerator OnActionFinishedByMe(CharacterAction action) actingCharacter.UsedSpecialFeatures.TryAdd(AdditionalDamageRogueSneakAttack.Name, 1); - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerArcaneBackslash, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); + var usablePower = PowerProvider.Get(powerArcaneBackslash, rulesetAttacker); + var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = action.ActionParams.TargetCharacters + }; // different follow up pattern [not adding to ResultingActions] ServiceRepository.GetService()?.ExecuteAction(actionParams, null, false); diff --git a/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs b/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs index f52af2b0a5..bb8ba14d2d 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs @@ -1,9 +1,7 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -367,17 +365,19 @@ private IEnumerator HandleHailOfBlades( rulesetAttacker.UpdateUsageForPower(powerHailOfBlades, powerHailOfBlades.CostPerUse); - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(powerHailOfBlades, rulesetAttacker); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange( - battleManager.Battle.GetContenders(attacker, hasToPerceiveTarget: true, isWithinXCells: 3)); + var usablePower = PowerProvider.Get(powerHailOfBlades, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = + battleManager.Battle.GetContenders(attacker, hasToPerceiveTarget: true, isWithinXCells: 3) + }; // different follow up pattern [not adding to ResultingActions] as it doesn't work after a reaction ServiceRepository.GetService()?.ExecuteAction(actionParams, null, false); diff --git a/SolastaUnfinishedBusiness/Subclasses/SorcerousFieldManipulator.cs b/SolastaUnfinishedBusiness/Subclasses/SorcerousFieldManipulator.cs index 78d3f59186..7c53de1f2a 100644 --- a/SolastaUnfinishedBusiness/Subclasses/SorcerousFieldManipulator.cs +++ b/SolastaUnfinishedBusiness/Subclasses/SorcerousFieldManipulator.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; @@ -312,18 +311,21 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } - var actionParams = action.ActionParams.Clone(); var attacker = action.ActingCharacter; var rulesetAttacker = attacker.RulesetCharacter; - var usablePower = PowerProvider.Get(powerApply, rulesetAttacker); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange(Gui.Battle.GetContenders(attacker, isWithinXCells: 2)); + var usablePower = PowerProvider.Get(powerApply, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = Gui.Battle.GetContenders(attacker, isWithinXCells: 2) + }; var actionService = ServiceRepository.GetService(); diff --git a/SolastaUnfinishedBusiness/Subclasses/SorcerousPsion.cs b/SolastaUnfinishedBusiness/Subclasses/SorcerousPsion.cs index a400189f6d..5ac797e82c 100644 --- a/SolastaUnfinishedBusiness/Subclasses/SorcerousPsion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/SorcerousPsion.cs @@ -4,7 +4,6 @@ using JetBrains.Annotations; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -395,16 +394,19 @@ public IEnumerator HandleReducedToZeroHpByEnemy( rulesetCharacter.ReceiveTemporaryHitPoints( tempHitPoints, DurationType.Minute, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.Guid); - var actionParams = new CharacterActionParams(source, ActionDefinitions.Id.SpendPower); - var usablePower = PowerProvider.Get(powerMindOverMatter, rulesetCharacter); - var targets = gameLocationBattleService.Battle.GetContenders(source, isWithinXCells: 2); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePower, false); - actionParams.TargetCharacters.SetRange(targets); + var usablePower = PowerProvider.Get(powerMindOverMatter, rulesetCharacter); + var targets = gameLocationBattleService.Battle.GetContenders(source, isWithinXCells: 2); + var actionParams = new CharacterActionParams(source, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), + UsablePower = usablePower, + targetCharacters = targets + }; EffectHelpers.StartVisualEffect( source, source, PowerPatronFiendDarkOnesBlessing, EffectHelpers.EffectType.Effect); diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheDiscordance.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheDiscordance.cs index dca3ddc573..353e63d89b 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheDiscordance.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheDiscordance.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; @@ -413,30 +412,35 @@ public IEnumerator OnPhysicalAttackFinishedByMe( yield break; } - SpendPower(action, rulesetAttacker, powerDiscordance); + SpendPower(attacker, defender, powerDiscordance); if (monkLevel >= TurmoilLevel && defender.RulesetCharacter is { IsDeadOrDyingOrUnconscious: false } && !defender.RulesetCharacter.HasConditionOfType(conditionHadTurmoil)) { - SpendPower(action, rulesetAttacker, powerTurmoil); + SpendPower(attacker, defender, powerTurmoil); } } private static void SpendPower( - CharacterAction action, - RulesetCharacter rulesetAttacker, + GameLocationCharacter attacker, + GameLocationCharacter defender, FeatureDefinitionPower featureDefinitionPower) { - var actionParams = action.ActionParams.Clone(); - var usablePower = PowerProvider.Get(featureDefinitionPower, rulesetAttacker); + var rulesetAttacker = attacker.RulesetCharacter; + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); + var usablePower = PowerProvider.Get(featureDefinitionPower, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { defender } + }; var actionService = ServiceRepository.GetService(); @@ -495,18 +499,21 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } - var rulesetCharacter = action.ActingCharacter.RulesetCharacter; + var actingCharacter = action.ActingCharacter; + var rulesetCharacter = actingCharacter.RulesetCharacter; + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - var actionParamsDiscordance = action.ActionParams.Clone(); var usablePowerDiscordance = PowerProvider.Get(powerDiscordance, rulesetCharacter); - - actionParamsDiscordance.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParamsDiscordance.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePowerDiscordance, false); - actionParamsDiscordance.TargetCharacters.SetRange(targets); + var actionParamsDiscordance = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetCharacter, usablePowerDiscordance, false), + UsablePower = usablePowerDiscordance, + targetCharacters = targets + }; var actionService = ServiceRepository.GetService(); @@ -530,14 +537,15 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } - var actionParamsTurmoil = action.ActionParams.Clone(); var usablePowerTurmoil = PowerProvider.Get(powerTurmoil, rulesetCharacter); - - actionParamsTurmoil.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParamsTurmoil.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetCharacter, usablePowerTurmoil, false); - actionParamsTurmoil.TargetCharacters.SetRange(targets); + var actionParamsTurmoil = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetCharacter, usablePowerTurmoil, false), + UsablePower = usablePowerTurmoil, + targetCharacters = targets + }; // must enqueue actions actionService.ExecuteAction(actionParamsTurmoil, null, true); @@ -603,16 +611,17 @@ public IEnumerator HandleReducedToZeroHpByMeOrAlly( rulesetAlly.KiPointsAltered?.Invoke(rulesetAlly, rulesetAlly.RemainingKiPoints); // temporarily heal - var usablePower = PowerProvider.Get(powerTidesOfChaos, rulesetAlly); var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; + + var usablePower = PowerProvider.Get(powerTidesOfChaos, rulesetAlly); var actionParams = new CharacterActionParams(ally, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetAlly, usablePower, false), - targetCharacters = { ally } + UsablePower = usablePower, + TargetCharacters = { ally } }; // must enqueue actions whenever within an attack workflow otherwise game won't consume attack diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs index 892766cc34..a1297eec10 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs @@ -4,7 +4,6 @@ using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; -using SolastaUnfinishedBusiness.Api.LanguageExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; using SolastaUnfinishedBusiness.Builders; @@ -476,14 +475,13 @@ public IEnumerator OnAttackBeforeHitConfirmedOnMe( var actionParams = new CharacterActionParams(me, ActionDefinitions.Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetMe, usablePower, false) + .MyInstantiateEffectPower(rulesetMe, usablePower, false), + UsablePower = usablePower, + TargetCharacters = { me } }; - actionParams.TargetCharacters.SetRange(me); - EffectHelpers.StartVisualEffect(me, attacker, FeatureDefinitionPowers.PowerGlabrezuGeneralShadowEscape_at_will, EffectHelpers.EffectType.Caster); ServiceRepository.GetService() diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs index 960041323e..ee80edb43a 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheTempest.cs @@ -407,22 +407,26 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, yield break; } - var actionParams = action.ActionParams.Clone(); var attacker = action.ActingCharacter; var rulesetAttacker = attacker.RulesetCharacter; - var usablePower = PowerProvider.Get(powerEyeOfTheStormLeap, rulesetAttacker); + var implementationManagerService = ServiceRepository.GetService() as RulesetImplementationManager; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower; - actionParams.RulesetEffect = implementationManagerService - //CHECK: no need for AddAsActivePowerToSource - .MyInstantiateEffectPower(rulesetAttacker, usablePower, false); - actionParams.TargetCharacters.SetRange(Gui.Battle.GetContenders(attacker) - .Where(x => - x.RulesetCharacter.AllConditions - .Any(y => y.ConditionDefinition == conditionEyeOfTheStorm && - y.SourceGuid == rulesetAttacker.Guid))); + var usablePower = PowerProvider.Get(powerEyeOfTheStormLeap, rulesetAttacker); + var actionParams = new CharacterActionParams(attacker, ActionDefinitions.Id.SpendPower) + { + RulesetEffect = implementationManagerService + //CHECK: no need for AddAsActivePowerToSource + .MyInstantiateEffectPower(rulesetAttacker, usablePower, false), + UsablePower = usablePower, + targetCharacters = Gui.Battle.GetContenders(attacker) + .Where(x => + x.RulesetCharacter.AllConditions + .Any(y => y.ConditionDefinition == conditionEyeOfTheStorm && + y.SourceGuid == rulesetAttacker.Guid)) + .ToList() + }; var actionService = ServiceRepository.GetService(); From ef16ab7f42653bcf1e010179781d5c59b1b8e9f7 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 22:41:31 -0800 Subject: [PATCH 15/24] extend ActionShouldKeepConcentration to CharacterActionDoNothing --- .../Patches/CharacterActionPatcher.cs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs index b7c9617c9b..b9b0f5c6f0 100644 --- a/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs +++ b/SolastaUnfinishedBusiness/Patches/CharacterActionPatcher.cs @@ -57,20 +57,13 @@ public static class Execute_Patch { private static bool ActionShouldKeepConcentration(CharacterAction action) { - var isProtectedUsePower = action is CharacterActionUsePower { activePower: not null } actionUsePower - && actionUsePower.activePower.PowerDefinition - .HasSubFeatureOfType(); + var isProtectedPower = + action is CharacterActionUsePower or CharacterActionSpendPower or CharacterActionDoNothing && + action.ActionParams.UsablePower != null && + action.ActionParams.UsablePower.PowerDefinition + .HasSubFeatureOfType(); - if (isProtectedUsePower) - { - return true; - } - - var isProtectedSpendPower = action is CharacterActionSpendPower { activePower: not null } actionSpendPower - && actionSpendPower.activePower.PowerDefinition - .HasSubFeatureOfType(); - - return isProtectedSpendPower; + return isProtectedPower; } [UsedImplicitly] From 260989df85b7175c59861c662f01bd2b9c310d38 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 22:42:00 -0800 Subject: [PATCH 16/24] remove redundant call to TerminatePower --- SolastaUnfinishedBusiness/Classes/InventorClass.cs | 10 +++++----- .../Subclasses/MartialRoyalKnight.cs | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/SolastaUnfinishedBusiness/Classes/InventorClass.cs b/SolastaUnfinishedBusiness/Classes/InventorClass.cs index 2e726251fa..b77edc6005 100644 --- a/SolastaUnfinishedBusiness/Classes/InventorClass.cs +++ b/SolastaUnfinishedBusiness/Classes/InventorClass.cs @@ -941,14 +941,14 @@ public IEnumerator OnFailedSavingTryAlterOutcome(GameLocationBattleManager battl yield return battleManager.WaitForReactions(originalHelper, actionService, count); - if (reactionParams.ReactionValidated) + if (!reactionParams.ReactionValidated) { - rulesetOriginalHelper.LogCharacterUsedPower(Power, indent: true); - rulesetOriginalHelper.UsePower(usablePower); // non fixed powers must be explicitly used on custom - action.RolledSaveThrow = TryModifyRoll(action, originalHelper, saveModifier); + yield break; } - reactionParams.RulesetEffect.Terminate(true); + rulesetOriginalHelper.LogCharacterUsedPower(Power, indent: true); + rulesetOriginalHelper.UsePower(usablePower); // non fixed powers must be explicitly used on custom + action.RolledSaveThrow = TryModifyRoll(action, originalHelper, saveModifier); } // ReSharper disable once SuggestBaseTypeForParameter diff --git a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs index 9332b413a9..1cb762aa72 100644 --- a/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs +++ b/SolastaUnfinishedBusiness/Subclasses/MartialRoyalKnight.cs @@ -306,14 +306,14 @@ public IEnumerator OnFailedSavingTryAlterOutcome( yield return battleManager.WaitForReactions(originalHelper, actionService, count); - if (reactionParams.ReactionValidated) + if (!reactionParams.ReactionValidated) { - rulesetOriginalHelper.LogCharacterUsedPower(Power, indent: true); - rulesetOriginalHelper.UsePower(usablePower); - action.RolledSaveThrow = TryModifyRoll(action, attacker, defender, saveModifier, hasHitVisual); + yield break; } - reactionParams.RulesetEffect.Terminate(true); + rulesetOriginalHelper.LogCharacterUsedPower(Power, indent: true); + rulesetOriginalHelper.UsePower(usablePower); + action.RolledSaveThrow = TryModifyRoll(action, attacker, defender, saveModifier, hasHitVisual); } private static bool ShouldTrigger( From 1b48d773156845714283a626f229ac1b45b44256 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 23:24:58 -0800 Subject: [PATCH 17/24] tweak Moonlit Midnight Blessing and Silhouette Darkness --- .../Api/DatabaseHelper-RELEASE.cs | 3 --- .../GameLocationCharacterExtensions.cs | 1 - .../Subclasses/PatronMoonlitScion.cs | 21 +++++++++++-------- .../Subclasses/WayOfTheSilhouette.cs | 11 +++++----- .../de/SubClasses/PatronMoonLit-de.txt | 2 +- .../de/SubClasses/PatronMoonlitScion-de.txt | 2 +- .../en/SubClasses/PatronMoonLit-en.txt | 2 +- .../en/SubClasses/PatronMoonlitScion-en.txt | 2 +- .../es/SubClasses/PatronMoonLit-es.txt | 2 +- .../es/SubClasses/PatronMoonlitScion-es.txt | 2 +- .../fr/SubClasses/PatronMoonLit-fr.txt | 2 +- .../fr/SubClasses/PatronMoonlitScion-fr.txt | 2 +- .../it/SubClasses/PatronMoonLit-it.txt | 2 +- .../it/SubClasses/PatronMoonlitScion-it.txt | 2 +- .../ja/SubClasses/PatronMoonLit-ja.txt | 2 +- .../ja/SubClasses/PatronMoonlitScion-ja.txt | 2 +- .../ko/SubClasses/PatronMoonLit-ko.txt | 2 +- .../ko/SubClasses/PatronMoonlitScion-ko.txt | 2 +- .../pt-BR/SubClasses/PatronMoonLit-pt-BR.txt | 2 +- .../SubClasses/PatronMoonlitScion-pt-BR.txt | 2 +- .../ru/SubClasses/PatronMoonLit-ru.txt | 2 +- .../ru/SubClasses/PatronMoonlitScion-ru.txt | 2 +- .../zh-CN/SubClasses/PatronMoonLit-zh-CN.txt | 2 +- .../SubClasses/PatronMoonlitScion-zh-CN.txt | 2 +- 24 files changed, 38 insertions(+), 38 deletions(-) diff --git a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs index d0ca19dba1..498fad6220 100644 --- a/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs +++ b/SolastaUnfinishedBusiness/Api/DatabaseHelper-RELEASE.cs @@ -19,7 +19,6 @@ internal static class ActionDefinitions { internal static ActionDefinition ActionSurge { get; } = GetDefinition("ActionSurge"); internal static ActionDefinition CastInvocation { get; } = GetDefinition("CastInvocation"); - internal static ActionDefinition CastNoCost { get; } = GetDefinition("CastNoCost"); internal static ActionDefinition DashBonus { get; } = GetDefinition("DashBonus"); internal static ActionDefinition DisengageMain { get; } = GetDefinition("DisengageMain"); internal static ActionDefinition FlurryOfBlows { get; } = GetDefinition("FlurryOfBlows"); @@ -28,10 +27,8 @@ internal static class ActionDefinitions GetDefinition("GrantBardicInspiration"); internal static ActionDefinition MetamagicToggle { get; } = GetDefinition("MetamagicToggle"); - internal static ActionDefinition PowerNoCost { get; } = GetDefinition("PowerNoCost"); internal static ActionDefinition Pushed { get; } = GetDefinition("Pushed"); internal static ActionDefinition RageStart { get; } = GetDefinition("RageStart"); - internal static ActionDefinition SpendPower { get; } = GetDefinition("SpendPower"); internal static ActionDefinition StepBack { get; } = GetDefinition("StepBack"); internal static ActionDefinition StunningStrikeToggle { get; } = diff --git a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs index 5be478bf57..b0095d5c08 100644 --- a/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs +++ b/SolastaUnfinishedBusiness/Api/GameExtensions/GameLocationCharacterExtensions.cs @@ -391,7 +391,6 @@ internal static void BurnOneMainAttack(this GameLocationCharacter instance) var usablePower = PowerProvider.Get(FeatureDefinitionPowers.PowerMonkMartialArts, rulesetCharacter); var actionParams = new CharacterActionParams(instance, Id.SpendPower) { - ActionDefinition = DatabaseHelper.ActionDefinitions.SpendPower, RulesetEffect = implementationManagerService //CHECK: no need for AddAsActivePowerToSource .MyInstantiateEffectPower(rulesetCharacter, usablePower, false), diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index 03a74860a7..616bdc5db5 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Behaviors; using SolastaUnfinishedBusiness.Behaviors.Specific; @@ -507,24 +506,28 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, var actingCharacter = action.ActingCharacter; var rulesetCharacter = actingCharacter.RulesetCharacter; var levels = rulesetCharacter.GetClassLevel(CharacterClassDefinitions.Warlock); - - rulesetCharacter.ReceiveTemporaryHitPoints( - levels, DurationType.Minute, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.guid); - - var actionParams = action.ActionParams.Clone(); var slotLevel = levels switch { - < 11 => 2, + < 7 => 3, + < 9 => 4, + < 11 => 5, < 13 => 6, < 15 => 7, < 17 => 8, _ => 9 }; + + rulesetCharacter.ReceiveTemporaryHitPoints( + levels, DurationType.Minute, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.guid); + var effectSpell = ServiceRepository.GetService() .InstantiateEffectSpell(rulesetCharacter, null, MoonBeam, slotLevel, false); - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.CastNoCost; - actionParams.RulesetEffect = effectSpell; + var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.CastNoCost) + { + RulesetEffect = effectSpell, positions = action.ActionParams.Positions + }; + rulesetCharacter.SpellsCastByMe.TryAdd(effectSpell); ServiceRepository.GetService()?.ExecuteAction(actionParams, null, true); diff --git a/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs b/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs index a1297eec10..49de38b88b 100644 --- a/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs +++ b/SolastaUnfinishedBusiness/Subclasses/WayOfTheSilhouette.cs @@ -1,7 +1,6 @@ using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; -using SolastaUnfinishedBusiness.Api; using SolastaUnfinishedBusiness.Api.GameExtensions; using SolastaUnfinishedBusiness.Api.Helpers; using SolastaUnfinishedBusiness.Behaviors; @@ -276,12 +275,14 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, { var actingCharacter = action.ActingCharacter; var rulesetCharacter = actingCharacter.RulesetCharacter; - var actionParams = action.ActionParams.Clone(); var effectSpell = ServiceRepository.GetService() - .InstantiateEffectSpell(rulesetCharacter, null, Darkness, -1, false); + .InstantiateEffectSpell(rulesetCharacter, null, Darkness, 2, false); + + var actionParams = new CharacterActionParams(actingCharacter, ActionDefinitions.Id.CastNoCost) + { + RulesetEffect = effectSpell, positions = action.ActionParams.Positions + }; - actionParams.ActionDefinition = DatabaseHelper.ActionDefinitions.CastNoCost; - actionParams.RulesetEffect = effectSpell; rulesetCharacter.SpellsCastByMe.TryAdd(effectSpell); ServiceRepository.GetService()?.ExecuteAction(actionParams, null, true); diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonLit-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonLit-de.txt index c90c393be2..407c26247e 100644 --- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonLit-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonLit-de.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Vollmond Feature/&PowerMoonlitMoonTouchedDescription=Sie beschwören die Anziehungskraft des Mondes in einem kleinen Bereich und lassen Kreaturen, denen ein Rettungswurf misslingt, nach oben schweben. Feature/&PowerMoonlitMoonTouchedTitle=Mond berührt Subclass/&PatronMoonlitDescription=Ihr Schutzpatron ist ein Geist des Mondes, ein Wesen, das die zyklische Natur von Licht und Dunkelheit verkörpert. Diese Geister versuchen, die Macht des Mondes über den Nachthimmel aufrechtzuerhalten, während sie gleichzeitig profane Kräfte, die die Dunkelheit verfolgen, in Schach halten und ihre Hexenmeister damit beauftragen, ihnen die Macht über die Kräfte des Mondes und seine Auswirkungen zu übertragen. -Subclass/&PatronMoonlitTitle=Der Mondschein +Subclass/&PatronMoonlitTitle=The Moonlit Uncut diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt index 3a622be0e5..7a0476b7d2 100644 --- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Der Schaden deines Mondumhan Feature/&FeatureMoonlitScionLunarEmbraceTitle=Mondumarmung Feature/&FeatureSetMoonlitScionLunarCloakDescription=Mit Ihrer Bonusaktion können Sie einen Umhang aus Licht oder Dunkelheit beschwören und erhalten so eine Minute lang einen der folgenden Vorteile:\nVollmond: Sie werfen helles Licht in einem Radius von 15 Fuß ab und gedämpftes Licht in weiteren 15 Fuß Umkreisen Sie Ihren Umkreis und gewinnen Sie die Mondstrahlungskraft. Führe einen Nahkampf-Zauberangriff aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und hat bis zum Ende deines nächsten Zuges einen Malus von -1 auf deine RK.\nNeumond: Du bist in nichtmagischer Dunkelheit verborgen. Wenn du dich auf ein Feld bewegst, auf dem schwaches oder helles Licht herrscht, befindest du dich stattdessen in nichtmagischer Dunkelheit und erhältst die Kraft der Mondkälte. Führe einen Nahkampf-Zauberangriff aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mondumhang -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sie sind resistent gegen Strahlungsschaden, während der Vollmond-Umhang aktiv ist, und Sie sind resistent gegen Kälteschaden, während der Neumond-Umhang aktiv ist. Sie lernen auch den Zauber „Mondstrahl“, falls Sie dies noch nicht getan haben. Du kannst es einmal pro langer Pause wirken, ohne einen Zauberslot auf deiner höchsten Slot-Stufe zu erweitern. Wenn du die 11. Stufe erreichst, kannst du ihn als Zauber der 6. Stufe, als Zauber der 7. Stufe auf der 13. Stufe, als Zauber der 8. Stufe auf der 15. Stufe und als 9. Stufe auf der 17. Stufe wirken. Wenn Sie „Mondstrahl“ auf diese Weise wirken, erhalten Sie eine Minute lang temporäre Trefferpunkte in Höhe Ihrer Hexenmeisterstufe. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sie sind resistent gegen Strahlungsschaden, während der Vollmond-Umhang aktiv ist, und Sie sind resistent gegen Kälteschaden, während der Neumond-Umhang aktiv ist. Sie lernen auch den Zauber „Mondstrahl“, falls Sie dies noch nicht getan haben. Du kannst es einmal pro langer Pause wirken, ohne einen Zauberslot auf deiner höchsten Slot-Stufe zu erweitern. Wenn Sie „Mondstrahl“ auf diese Weise wirken, erhalten Sie eine Minute lang temporäre Trefferpunkte in Höhe Ihrer Hexenmeisterstufe. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Mitternachtssegen Feature/&PowerMoonlitScionFullMoonDescription=Sie spenden helles Licht in einem Radius von 15 Fuß und gedämpftes Licht in einem weiteren Radius von 15 Fuß um Sie herum. Wenn du es beschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 9 Metern um dich herum mit Mondstrahlung zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und erleidet bis zum Ende Ihres nächsten Zuges einen Malus von -1 auf die RK. Feature/&PowerMoonlitScionFullMoonTitle=Vollmond diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonLit-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonLit-en.txt index 1393674715..8aa73aa7f2 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonLit-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonLit-en.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Full Moon Feature/&PowerMoonlitMoonTouchedDescription=You conjure the gravitational pull of the moon in a small area, causing creatures who fail a saving throw to float upwards. Feature/&PowerMoonlitMoonTouchedTitle=Moon Touched Subclass/&PatronMoonlitDescription=Your patron is a spirit of the moon, an entity that embodies the cyclical nature of light and darkness. These spirits seek to maintain the power of the moon over the night sky while keeping profane powers that stalk the darkness at bay and task their warlocks with the same, granting them command over the powers of the moon and its effects. -Subclass/&PatronMoonlitTitle=The Moonlit \ No newline at end of file +Subclass/&PatronMoonlitTitle=The Moonlit Uncut \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt index 7ec8055028..fe9ea16b0e 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=The damage of your Lunar Clo Feature/&FeatureMoonlitScionLunarEmbraceTitle=Lunar Embrace Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus action to conjure a cloak of light or darkness, gaining one of the following benefits for one minute:\nFull Moon: You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you and gain the lunar radiance power. Make a melee spell attack. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn.\nNew Moon: You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in non-magical darkness instead, and gain the lunar chill power. Make a melee spell attack. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Lunar Cloak -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Midnight Blessing Feature/&PowerMoonlitScionFullMoonDescription=You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. Feature/&PowerMoonlitScionFullMoonTitle=Full Moon diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonLit-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonLit-es.txt index bd64595c2c..f18efab71c 100644 --- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonLit-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonLit-es.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Luna llena Feature/&PowerMoonlitMoonTouchedDescription=Conjuras la atracción gravitatoria de la luna en un área pequeña, lo que hace que las criaturas que fallan una tirada de salvación floten hacia arriba. Feature/&PowerMoonlitMoonTouchedTitle=Luna tocada Subclass/&PatronMoonlitDescription=Tu patrón es un espíritu de la luna, una entidad que encarna la naturaleza cíclica de la luz y la oscuridad. Estos espíritus buscan mantener el poder de la luna sobre el cielo nocturno mientras mantienen a raya los poderes profanos que acechan en la oscuridad y les asignan a sus brujos la misma tarea, otorgándoles el control sobre los poderes de la luna y sus efectos. -Subclass/&PatronMoonlitTitle=El iluminado por la luna +Subclass/&PatronMoonlitTitle=El sin cortes iluminado por la luna diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt index 68b38faadc..ccc6b3c338 100644 --- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=El daño de tu Capa Lunar au Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abrazo lunar Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puedes usar tu acción adicional para conjurar un manto de luz u oscuridad, obteniendo uno de los siguientes beneficios durante un minuto:\nLuna llena: arrojas luz brillante en un radio de 15 pies y luz tenue en un radio de 15 pies adicional. radio a tu alrededor y gana el poder del resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno.\nLuna nueva: estás oscurecido por una oscuridad no mágica. Si te mueves a una casilla que está en una luz tenue o brillante, se considera que estás en una oscuridad no mágica y obtienes el poder del frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Capa lunar -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Eres resistente al daño radiante mientras la capa de Luna Llena está activa y eres resistente al daño por frío mientras la capa de Luna Nueva está activa. También aprendes el hechizo Moon Beam si aún no lo has hecho. Puedes lanzarlo una vez por descanso prolongado sin expandir un espacio de hechizo en tu nivel de espacio más alto. Cuando alcanzas el nivel 11, puedes lanzarlo como un hechizo de nivel 6, como nivel 7 en el nivel 13, como nivel 8 en el nivel 15 y como nivel 9 en el nivel 17. Cuando lanzas Moon Beam de esta manera, obtienes puntos de vida temporales iguales a tu nivel de brujo durante un minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Eres resistente al daño radiante mientras la capa de Luna Llena está activa y eres resistente al daño por frío mientras la capa de Luna Nueva está activa. También aprendes el hechizo Moon Beam si aún no lo has hecho. Puedes lanzarlo una vez por descanso prolongado sin expandir un espacio de hechizo en tu nivel de espacio más alto. Cuando lanzas Moon Beam de esta manera, obtienes puntos de vida temporales iguales a tu nivel de brujo durante un minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bendición de medianoche Feature/&PowerMoonlitScionFullMoonDescription=Proyectas luz brillante en un radio de 15 pies y luz tenue en un radio adicional de 15 pies a tu alrededor. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos siguientes, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno. Feature/&PowerMoonlitScionFullMoonTitle=Luna llena diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonLit-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonLit-fr.txt index 52744d85bd..2a1b2c547d 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonLit-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonLit-fr.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Pleine lune Feature/&PowerMoonlitMoonTouchedDescription=Vous invoquez l'attraction gravitationnelle de la lune dans une petite zone, ce qui fait flotter vers le haut les créatures qui échouent à un jet de sauvegarde. Feature/&PowerMoonlitMoonTouchedTitle=Lune touchée Subclass/&PatronMoonlitDescription=Votre patron est un esprit de la lune, une entité qui incarne la nature cyclique de la lumière et des ténèbres. Ces esprits cherchent à maintenir le pouvoir de la lune sur le ciel nocturne tout en gardant à distance les pouvoirs profanes qui traquent les ténèbres et en chargent leurs sorciers, leur accordant le contrôle des pouvoirs de la lune et de ses effets. -Subclass/&PatronMoonlitTitle=Le clair de lune +Subclass/&PatronMoonlitTitle=Le clair de lune non coupé diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt index 05276e0955..03749b4eee 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Les dégâts de votre Cape L Feature/&FeatureMoonlitScionLunarEmbraceTitle=Étreinte lunaire Feature/&FeatureSetMoonlitScionLunarCloakDescription=Vous pouvez utiliser votre action bonus pour invoquer un manteau de lumière ou d'obscurité, bénéficiant ainsi de l'un des avantages suivants pendant une minute :\nPleine Lune : vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon de 15 pieds supplémentaires. rayon autour de vous et gagnez le pouvoir de rayonnement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour.\nNouvelle Lune : vous êtes obscurci par des ténèbres non magiques. Si vous vous déplacez vers une tuile qui est dans une lumière faible ou vive, vous êtes considéré comme étant dans l'obscurité non magique et gagnez le pouvoir de refroidissement lunaire. Lancez une attaque de sort au corps à corps. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Cape lunaire -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l’avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous atteignez le niveau 11, vous pouvez le lancer comme un sort de niveau 6, comme niveau 7 au niveau 13, comme niveau 8 au niveau 15 et comme niveau 9 au niveau 17. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste pendant une minute. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l’avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste pendant une minute. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bénédiction de minuit Feature/&PowerMoonlitScionFullMoonDescription=Vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon supplémentaire de 15 pieds autour de vous. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un rayonnement lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour. Feature/&PowerMoonlitScionFullMoonTitle=Pleine lune diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonLit-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonLit-it.txt index 9c84a12117..7569d78425 100644 --- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonLit-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonLit-it.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Luna piena Feature/&PowerMoonlitMoonTouchedDescription=Evochi l'attrazione gravitazionale della luna in una piccola area, facendo fluttuare verso l'alto le creature che falliscono un tiro salvezza. Feature/&PowerMoonlitMoonTouchedTitle=Luna Toccata Subclass/&PatronMoonlitDescription=Il tuo protettore è uno spirito della luna, un'entità che incarna la natura ciclica della luce e dell'oscurità. Questi spiriti cercano di mantenere il potere della luna nel cielo notturno, tenendo a bada i poteri profani che inseguono l'oscurità e assegnano lo stesso compito ai loro stregoni, garantendo loro il comando sui poteri della luna e sui suoi effetti. -Subclass/&PatronMoonlitTitle=Il chiaro di luna +Subclass/&PatronMoonlitTitle=Il chiaro di luna non tagliato diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt index f972ba2738..51a5243c38 100644 --- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Il danno del tuo Mantello Lu Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abbraccio Lunare Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puoi usare la tua azione bonus per evocare un mantello di luce o di oscurità, ottenendo uno dei seguenti benefici per un minuto:\nLuna piena: emetti luce intensa in un raggio di 15 piedi e luce fioca in un raggio aggiuntivo di 15 piedi raggio intorno a te e ottieni il potere della luminosità lunare. Effettua un attacco con incantesimo in mischia. Se colpisce, la creatura subisce 1d8 danni radiosi e ha una penalità di –1 alla CA fino alla fine del tuo turno successivo.\nLuna Nuova: sei oscurato nell'oscurità non magica. Se ti sposti su una tessera che è in condizioni di luce fioca o intensa, sei considerato invece in un'oscurità non magica e ottieni il potere del gelo lunare. Effettua un attacco con incantesimo in mischia. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mantello Lunare -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sei resistente ai danni radianti mentre il mantello della Luna Piena è attivo e sei resistente ai danni da freddo mentre il mantello della Luna Nuova è attivo. Impari anche l'incantesimo Moon Beam se non l'hai già fatto. Puoi lanciarlo una volta per riposo lungo senza espandere uno slot incantesimo al tuo livello di slot più alto. Quando raggiungi l'11° livello, puoi lanciarlo come incantesimo di 6° livello, di 7° livello al 13°, di 8° livello al 15° e di 9° livello al 17° livello. Quando lanci Moon Beam in questo modo, guadagni punti ferita temporanei pari al tuo livello da stregone per un minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sei resistente ai danni radianti mentre il mantello della Luna Piena è attivo e sei resistente ai danni da freddo mentre il mantello della Luna Nuova è attivo. Impari anche l'incantesimo Moon Beam se non l'hai già fatto. Puoi lanciarlo una volta per riposo lungo senza espandere uno slot incantesimo al tuo livello di slot più alto. Quando lanci Moon Beam in questo modo, guadagni punti ferita temporanei pari al tuo livello da stregone per un minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Benedizione di mezzanotte Feature/&PowerMoonlitScionFullMoonDescription=L'incantatore emette luce intensa in un raggio di 4,5 metri e luce fioca in un raggio aggiuntivo di 4,5 metri attorno a sé. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con radiosità lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni radiosi e ha penalità –1 alla CA fino alla fine del turno successivo dell'incantatore. Feature/&PowerMoonlitScionFullMoonTitle=Luna piena diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonLit-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonLit-ja.txt index b19a92153a..9e120fb248 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonLit-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonLit-ja.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=満月 Feature/&PowerMoonlitMoonTouchedDescription=狭い範囲に月の引力を呼び起こし、セーヴィング スローに失敗したクリーチャーを上に浮き上がらせます。 Feature/&PowerMoonlitMoonTouchedTitle=月に触れた Subclass/&PatronMoonlitDescription=あなたの守護者は月の精霊であり、光と闇の周期的な性質を体現する存在です。これらの精霊は、闇に忍び寄る不敬な力を寄せ付けずに夜空にかかる月の力を維持しようと努めており、彼らの魔法使いに月の力とその影響を制御する権限を与えるという同じ任務を与えています。 -Subclass/&PatronMoonlitTitle=月明かりに照らされて +Subclass/&PatronMoonlitTitle=月明かりに照らされたノーカット diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt index 3571ee0d39..f10c9a284c 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Lunar Cloak のダメージ Feature/&FeatureMoonlitScionLunarEmbraceTitle=月の抱擁 Feature/&FeatureSetMoonlitScionLunarCloakDescription=ボーナス アクションを使用して、光または闇のマントを呼び出すことができ、1 分間以下のいずれかのメリットを得ることができます:\n満月: 半径 15 フィートで明るい光を放ち、さらに 15 フィートで薄暗い光を放ちます。あなたの周りの半径を拡大し、月の輝きパワーを獲得してください。近接呪文攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。\n新月: あなたは魔法ではない暗闇に覆われます。薄暗い光または明るい光のタイルに移動すると、魔法ではない暗闇にいるとみなされ、月の冷気の力を獲得します。近接呪文攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 Feature/&FeatureSetMoonlitScionLunarCloakTitle=月のマント -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=満月のマントがアクティブな間は放射ダメージに耐性があり、新月のマントがアクティブな間は冷気ダメージに耐性があります。まだムーンビームの呪文を学習していない場合は、ムーンビームの呪文も学習します。最高のスロット レベルで呪文スロットを拡張せずに、長い休息ごとに 1 回唱えることができます。 11レベルに到達すると、6レベルの呪文として、13レベルでは7レベルの呪文として、15レベルでは8レベルの呪文として、17レベルでは9レベルの呪文として唱えることができます。この方法でムーン ビームをキャストすると、1 分間、ウォーロック レベルに等しい一時的なヒット ポイントを獲得します。 +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=満月のマントがアクティブな間は放射ダメージに耐性があり、新月のマントがアクティブな間は冷気ダメージに耐性があります。まだムーンビームの呪文を学習していない場合は、ムーンビームの呪文も学習します。最高のスロット レベルで呪文スロットを拡張せずに、長い休息ごとに 1 回唱えることができます。この方法でムーン ビームをキャストすると、1 分間、ウォーロック レベルに等しい一時的なヒット ポイントを獲得します。 Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=ミッドナイト・ブレッシング Feature/&PowerMoonlitScionFullMoonDescription=半径 15 フィートの範囲では明るい光が照射され、さらに半径 15 フィートの範囲では薄暗い光が照射されます。これを召喚すると、その後の各ターンのボーナス アクションとして、ボーナス アクションを使用してマントの到達範囲を一時的に延長し、月の輝きで 30 フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。 Feature/&PowerMoonlitScionFullMoonTitle=満月 diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonLit-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonLit-ko.txt index a5e8e8ed3d..6d587dc8ae 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonLit-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonLit-ko.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=보름달 Feature/&PowerMoonlitMoonTouchedDescription=소규모 범위에 달의 인력을 형성해, 내성굴림에 실패한 크리쳐들을 위로 부양시킵니다. Feature/&PowerMoonlitMoonTouchedTitle=달의 손길 Subclass/&PatronMoonlitDescription=당신의 후원자는 달의 영으로, 자연 속 빛과 어둠의 순환을 체현한 존재입니다. 이 영들은 온 밤하늘에 달의 힘을 유지하는 동시에, 어둠의 사악한 힘을 막아내고, 달의 힘과 그 효과를 다룰 수 있는 능력을 선사합니다. -Subclass/&PatronMoonlitTitle=달빛 +Subclass/&PatronMoonlitTitle=문릿 언컷 diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt index 0590d42856..3daea61428 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=달 망토의 피해가 2d8 Feature/&FeatureMoonlitScionLunarEmbraceTitle=달의 포옹 Feature/&FeatureSetMoonlitScionLunarCloakDescription=보너스 액션을 사용하여 빛이나 어둠의 망토를 불러일으킬 수 있으며 1분 동안 다음 혜택 중 하나를 얻을 수 있습니다.\n보름달: 15피트 반경에 밝은 빛을 비추고 추가 15피트 반경에 희미한 빛을 비춥니다. 당신 주위의 반경을 넓혀 달빛의 힘을 얻으세요. 근접 주문 공격을 가합니다. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다.\n초승달: 당신은 마법이 아닌 어둠에 가려집니다. 어둡거나 밝은 빛이 있는 타일로 이동하면 마법이 아닌 어둠 속에 있는 것으로 간주되어 달의 냉각 능력을 얻습니다. 근접 주문 공격을 가합니다. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. Feature/&FeatureSetMoonlitScionLunarCloakTitle=달의 망토 -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=보름달 망토가 활성화되어 있는 동안에는 복사 피해에 저항력이 있고, 초승달 망토가 활성화되어 있는 동안에는 냉기 피해에 저항력이 있습니다. 아직 배우지 않았다면 Moon Beam 주문도 배우게 됩니다. 가장 높은 슬롯 레벨에서 주문 슬롯을 확장하지 않고도 긴 휴식마다 한 번씩 시전할 수 있습니다. 11레벨에 도달하면 6레벨 주문으로, 13레벨에는 7레벨, 15레벨에는 8레벨, 17레벨에는 9레벨로 시전할 수 있습니다. 이런 식으로 Moon Beam을 시전하면 1분 동안 흑마법사 레벨과 동일한 임시 체력을 얻게 됩니다. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=보름달 망토가 활성화되어 있는 동안에는 복사 피해에 저항력이 있고, 초승달 망토가 활성화되어 있는 동안에는 냉기 피해에 저항력이 있습니다. 아직 배우지 않았다면 Moon Beam 주문도 배우게 됩니다. 가장 높은 슬롯 레벨에서 주문 슬롯을 확장하지 않고도 긴 휴식마다 한 번씩 시전할 수 있습니다. 이런 식으로 Moon Beam을 시전하면 1분 동안 흑마법사 레벨과 동일한 임시 체력을 얻게 됩니다. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=자정의 축복 Feature/&PowerMoonlitScionFullMoonDescription=당신은 당신 주변의 15피트 반경에 밝은 빛을 비추고 추가로 15피트 반경에 희미한 빛을 발산합니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 빛으로 당신으로부터 30피트 내의 적대적인 생물에 닿을 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다. Feature/&PowerMoonlitScionFullMoonTitle=보름달 diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonLit-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonLit-pt-BR.txt index 8d76032976..bcb1c192f4 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonLit-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonLit-pt-BR.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Lua cheia Feature/&PowerMoonlitMoonTouchedDescription=Você conjura a atração gravitacional da lua em uma pequena área, fazendo com que as criaturas que falham em um teste de resistência flutuem para cima. Feature/&PowerMoonlitMoonTouchedTitle=Lua Tocada Subclass/&PatronMoonlitDescription=Seu patrono é um espírito da lua, uma entidade que incorpora a natureza cíclica da luz e da escuridão. Esses espíritos procuram manter o poder da lua sobre o céu noturno enquanto mantêm os poderes profanos que perseguem a escuridão à distância e encarregam seus feiticeiros com o mesmo, concedendo-lhes o comando sobre os poderes da lua e seus efeitos. -Subclass/&PatronMoonlitTitle=O luar +Subclass/&PatronMoonlitTitle=O luar sem cortes diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt index 72c03e1dcb..582cb877b5 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=O dano do seu Manto Lunar au Feature/&FeatureMoonlitScionLunarEmbraceTitle=Abraço Lunar Feature/&FeatureSetMoonlitScionLunarCloakDescription=Você pode usar sua ação bônus para conjurar um manto de luz ou escuridão, ganhando um dos seguintes benefícios por um minuto:\nLua Cheia: você emite luz brilhante em um raio de 4,5 metros e luz fraca em 4,5 metros adicionais raio ao seu redor e ganhe o poder do brilho lunar. Faça um ataque mágico corpo a corpo. Se acertar, a criatura sofre 1d8 de dano radiante e tem uma penalidade de -1 na CA até o final do seu próximo turno.\nLua Nova: Você está obscurecido por uma escuridão não mágica. Se você mover para um ladrilho com luz fraca ou brilhante, você será considerado como estando em uma escuridão não-mágica e ganhará o poder de resfriamento lunar. Faça um ataque mágico corpo a corpo. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Manto Lunar -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Você é resistente a danos radiantes enquanto o manto da Lua Cheia está ativo e é resistente a danos de frio enquanto o manto da Lua Nova está ativo. Você também aprende o feitiço Moon Beam, se ainda não o fez. Você pode lançá-lo uma vez por descanso longo sem expandir um slot de magia em seu nível de slot mais alto. Quando você atinge o 11º nível, você pode lançá-la como uma magia de 6º nível, como 7º nível no 13º, como 8º nível no 15º e 9º nível no 17º nível. Ao lançar Moon Beam dessa forma, você ganha pontos de vida temporários iguais ao seu nível de bruxo por um minuto. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Você é resistente a danos radiantes enquanto o manto da Lua Cheia está ativo e é resistente a danos de frio enquanto o manto da Lua Nova está ativo. Você também aprende o feitiço Moon Beam, se ainda não o fez. Você pode lançá-lo uma vez por descanso longo sem expandir um slot de magia em seu nível de slot mais alto. Ao lançar Moon Beam dessa forma, você ganha pontos de vida temporários iguais ao seu nível de bruxo por um minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bênção da meia-noite Feature/&PowerMoonlitScionFullMoonDescription=Você emite luz brilhante em um raio de 4,5 metros e luz fraca em um raio adicional de 4,5 metros ao seu redor. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com brilho lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano radiante e tem –1 de penalidade na CA até o final do seu próximo turno. Feature/&PowerMoonlitScionFullMoonTitle=Lua cheia diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt index 76dcca5453..36842fdd95 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Полная луна Feature/&PowerMoonlitMoonTouchedDescription=Вы вызываете гравитационное притяжение луны в небольшой области, заставляя существ, которые проваливают спасбросок, взлетать вверх. Feature/&PowerMoonlitMoonTouchedTitle=Тронутый луной Subclass/&PatronMoonlitDescription=Ваш покровитель - дух луны, сущность, воплощающая цикличность света и тьмы. Эти духи стремятся сохранить власть луны над ночным небом, удерживая в узде проклятые силы, несущие тьму, и поручают своим колдунам то же самое, наделяя их властью над силами луны и её эффектами. -Subclass/&PatronMoonlitTitle=Лунный свет +Subclass/&PatronMoonlitTitle=Лунный свет необрезанный diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt index b7805b226e..899c31e5ae 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=Урон вашего Лун Feature/&FeatureMoonlitScionLunarEmbraceTitle=Лунные объятия Feature/&FeatureSetMoonlitScionLunarCloakDescription=Вы можете использовать бонусное действие, чтобы сотворить покров света или тьмы, получая на одну минуту одно из следующих преимуществ:\nПолнолуние: вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов. радиус вокруг себя и получите силу лунного сияния. Совершите рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода.\nНоволуние: вы скрыты немагической тьмой. Если вы перейдете на плитку, освещенную тусклым или ярким светом, вместо этого считается, что вы находитесь в немагической темноте и получаете силу лунного холода. Совершите рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Лунный плащ -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы устойчивы к урону излучением, пока активен плащ Полнолуния, и устойчивы к урону холодом, пока активен плащ Новолуния. Вы также выучите заклинание «Лунный луч», если еще этого не сделали. Вы можете сотворить его один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы достигнете 11-го уровня, вы сможете использовать его как заклинание 6-го уровня, как 7-го уровня на 13-м, как 8-го уровня на 15-м и 9-го уровня на 17-м уровне. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы устойчивы к урону излучением, пока активен плащ Полнолуния, и устойчивы к урону холодом, пока активен плащ Новолуния. Вы также выучите заклинание «Лунный луч», если еще этого не сделали. Вы можете сотворить его один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Полуночное благословение Feature/&PowerMoonlitScionFullMoonDescription=Вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов вокруг себя. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. Feature/&PowerMoonlitScionFullMoonTitle=Полнолуние diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonLit-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonLit-zh-CN.txt index e4ce822a86..6d104d750b 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonLit-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonLit-zh-CN.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=月盈 Feature/&PowerMoonlitMoonTouchedDescription=你在一个小范围内召唤月球的引力,使豁免失败的生物向上漂浮。 Feature/&PowerMoonlitMoonTouchedTitle=潮汐引力 Subclass/&PatronMoonlitDescription=你的守护神是月之精灵,其承载着光明与黑暗的循环。这些精灵试图维持月亮对夜空的影响力,同时抵御潜伏在黑暗中的亵渎之力,并让他们的术士承担同样的任务,赋予他们掌控月亮及其效应的能力。 -Subclass/&PatronMoonlitTitle=月华 +Subclass/&PatronMoonlitTitle=月光下的未切割 diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt index 29617c4268..8c616d0a89 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt @@ -4,7 +4,7 @@ Feature/&FeatureMoonlitScionLunarEmbraceDescription=你的月亮斗篷的伤害 Feature/&FeatureMoonlitScionLunarEmbraceTitle=月之拥抱 Feature/&FeatureSetMoonlitScionLunarCloakDescription=您可以使用奖励动作召唤光明或黑暗斗篷,获得以下好处之一,持续一分钟:\n满月:您在 15 英尺半径内发出明亮的光芒,并在另外 15 英尺半径内发出昏暗的光芒你周围的半径并获得月球辐射力。进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下一回合结束。\n新月:你被非魔法的黑暗所遮蔽。如果您移动到处于昏暗或明亮光线下的图块,您将被视为处于非魔法黑暗中,并获得月亮寒冷力量。进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 Feature/&FeatureSetMoonlitScionLunarCloakTitle=月亮斗篷 -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=当满月斗篷激活时,你可以抵抗辐射伤害;当新月斗篷激活时,你可以抵抗寒冷伤害。如果您还没有学习月光法术,您也可以学习。你可以在每次长时间休息时施放一次,而无需在你的最高等级上扩展法术位。当你达到11级时,你可以将其作为6级法术施展,13级时作为7级法术施展,15级时作为8级法术施展,17级时作为9级法术施展。当你以这种方式施放月光时,你会获得相当于术士等级的临时生命值,持续一分钟。 +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=当满月斗篷激活时,你可以抵抗辐射伤害;当新月斗篷激活时,你可以抵抗寒冷伤害。如果您还没有学习月光法术,您也可以学习。你可以在每次长时间休息时施放一次,而无需在你的最高等级上扩展法术位。当你以这种方式施放月光时,你会获得相当于术士等级的临时生命值,持续一分钟。 Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=午夜祝福 Feature/&PowerMoonlitScionFullMoonDescription=您在 15 英尺半径范围内发出明亮的光线,并在您周围另外 15 英尺半径范围内发出昏暗的光线。当你召唤它时,作为你后续每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的覆盖范围,并用月光接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下回合结束。 Feature/&PowerMoonlitScionFullMoonTitle=满月 From 9958bffeee2288bf2fbaefdff5d73702c36702b0 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 23:48:48 -0800 Subject: [PATCH 18/24] tweak moonlit SFX and conditions tooltips --- Documentation/UnfinishedBusinessSubclasses.md | 2 +- SolastaUnfinishedBusiness/ChangelogHistory.txt | 2 +- .../Subclasses/PatronMoonlitScion.cs | 18 +++++++++++++++--- .../de/SubClasses/PatronMoonlitScion-de.txt | 2 ++ .../en/SubClasses/PatronMoonlitScion-en.txt | 2 ++ .../es/SubClasses/PatronMoonlitScion-es.txt | 2 ++ .../fr/SubClasses/PatronMoonlitScion-fr.txt | 2 ++ .../it/SubClasses/PatronMoonlitScion-it.txt | 2 ++ .../ja/SubClasses/PatronMoonlitScion-ja.txt | 2 ++ .../ko/SubClasses/PatronMoonlitScion-ko.txt | 2 ++ .../SubClasses/PatronMoonlitScion-pt-BR.txt | 2 ++ .../ru/SubClasses/PatronMoonlitScion-ru.txt | 2 ++ .../SubClasses/PatronMoonlitScion-zh-CN.txt | 2 ++ 13 files changed, 37 insertions(+), 5 deletions(-) diff --git a/Documentation/UnfinishedBusinessSubclasses.md b/Documentation/UnfinishedBusinessSubclasses.md index 7337435be5..6fecdb75a6 100644 --- a/Documentation/UnfinishedBusinessSubclasses.md +++ b/Documentation/UnfinishedBusinessSubclasses.md @@ -3333,7 +3333,7 @@ New Moon: You are obscured in non-magical darkness. If you move to a tile that i * Midnight Blessing -You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you reach 11th level, you can cast it as a 6th level spell, as 7th level on 13th, as 8th level on 15th and 9th level on 17th level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. +You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. ### Level 10 diff --git a/SolastaUnfinishedBusiness/ChangelogHistory.txt b/SolastaUnfinishedBusiness/ChangelogHistory.txt index 80222a730d..436e8e4be5 100644 --- a/SolastaUnfinishedBusiness/ChangelogHistory.txt +++ b/SolastaUnfinishedBusiness/ChangelogHistory.txt @@ -3,7 +3,7 @@ - added revised Patron Moonlit subclass [design by HiddenHax] - fixed Circle of The Nights interaction with Arch Druid feature at level 20 - fixed gadgets under attack rolls enforcing disadvantage with lighting and obscurement rules -- fixed vanilla powers and spells with range type touch and distance greater than zero [affects tooltips] +- fixed vanilla powers and spells with range type touch and distance greater than zero - improved 'Cold Resistance also grants immunity to chilled condition and reduces frozen to chilled' 1.5.94.47: diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index 616bdc5db5..ccde683e43 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -10,6 +10,7 @@ using SolastaUnfinishedBusiness.CustomUI; using SolastaUnfinishedBusiness.Interfaces; using SolastaUnfinishedBusiness.Validators; +using UnityEngine.AddressableAssets; using static FeatureDefinitionAttributeModifier; using static RuleDefinitions; using static SolastaUnfinishedBusiness.Api.DatabaseHelper; @@ -102,6 +103,9 @@ public PatronMoonlitScion() .Build()) .AddToDB(); + powerLunarRadianceNoCost.EffectDescription.effectParticleParameters.effectParticleReference = + new AssetReference(); + var conditionFullMoonNoCost = ConditionDefinitionBuilder .Create($"Condition{Name}FullMoonNoCost") .SetGuiPresentationNoContent(true) @@ -134,6 +138,8 @@ public PatronMoonlitScion() .Build()) .AddToDB(); + powerLunarRadiance.EffectDescription.effectParticleParameters.effectParticleReference = new AssetReference(); + var conditionFullMoon = ConditionDefinitionBuilder .Create($"Condition{Name}FullMoon") .SetGuiPresentation($"Power{Name}FullMoon", Category.Feature, @@ -318,17 +324,23 @@ public PatronMoonlitScion() // Lunar Embrace + var movementAffinityFullMoonLunarEmbrace = FeatureDefinitionMovementAffinityBuilder + .Create(FeatureDefinitionMovementAffinitys.MovementAffinityConditionFlyingAdaptive, + $"MovementAffinity{Name}FullMoonLunarEmbrace") + .SetGuiPresentation(Category.Feature) + .AddToDB(); + var conditionFullMoonLunarEmbrace = ConditionDefinitionBuilder .Create(conditionFullMoonMidnightBlessing, $"Condition{Name}FullMoonLunarEmbrace") - .AddFeatures(FeatureDefinitionMovementAffinitys.MovementAffinityConditionFlyingAdaptive) + .AddFeatures(movementAffinityFullMoonLunarEmbrace) .AddCustomSubFeatures(new AddUsablePowersFromCondition()) .AddToDB(); var conditionNewMoonLunarEmbrace = ConditionDefinitionBuilder .Create(conditionNewMoonMidnightBlessing, $"Condition{Name}NewMoonLunarEmbrace") - .AddFeatures(FeatureDefinitionMovementAffinitys.MovementAffinityConditionFlyingAdaptive) + .AddFeatures(movementAffinityFullMoonLunarEmbrace) .AddCustomSubFeatures(new AddUsablePowersFromCondition(), new ForceLightingStateNewMoon()) .AddToDB(); @@ -516,7 +528,7 @@ public IEnumerator OnMagicEffectFinishedByMe(CharacterActionMagicEffect action, < 17 => 8, _ => 9 }; - + rulesetCharacter.ReceiveTemporaryHitPoints( levels, DurationType.Minute, 1, TurnOccurenceType.StartOfTurn, rulesetCharacter.guid); diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt index 7a0476b7d2..bba27bb249 100644 --- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Mit Ihrer Bonusaktion könn Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mondumhang Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sie sind resistent gegen Strahlungsschaden, während der Vollmond-Umhang aktiv ist, und Sie sind resistent gegen Kälteschaden, während der Neumond-Umhang aktiv ist. Sie lernen auch den Zauber „Mondstrahl“, falls Sie dies noch nicht getan haben. Du kannst es einmal pro langer Pause wirken, ohne einen Zauberslot auf deiner höchsten Slot-Stufe zu erweitern. Wenn Sie „Mondstrahl“ auf diese Weise wirken, erhalten Sie eine Minute lang temporäre Trefferpunkte in Höhe Ihrer Hexenmeisterstufe. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Mitternachtssegen +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Du erhältst Fluggeschwindigkeit in Höhe deiner Gehgeschwindigkeit +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Mondumarmung Feature/&PowerMoonlitScionFullMoonDescription=Sie spenden helles Licht in einem Radius von 15 Fuß und gedämpftes Licht in einem weiteren Radius von 15 Fuß um Sie herum. Wenn du es beschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 9 Metern um dich herum mit Mondstrahlung zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Strahlungsschaden und erleidet bis zum Ende Ihres nächsten Zuges einen Malus von -1 auf die RK. Feature/&PowerMoonlitScionFullMoonTitle=Vollmond Feature/&PowerMoonlitScionLunarChillDescription=Sie können die Reichweite Ihres Umhangs vorübergehend erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um Sie herum mit Mondkälte berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt index fe9ea16b0e..7a5ee140c9 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=You can use your bonus acti Feature/&FeatureSetMoonlitScionLunarCloakTitle=Lunar Cloak Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=You are resistant to radiant damage while Full Moon cloak is active and you are resistant to cold damage while New Moon cloak is active. You also learn Moon Beam spell if you haven't already done so. You can cast it once per long rest without expanding a spell slot at your highest slot level. When you cast Moon Beam this way, you gain temporary hit points equal to your warlock level for one minute. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Midnight Blessing +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=You gain flying speed equal to your walking speed +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Lunar Embrace Feature/&PowerMoonlitScionFullMoonDescription=You shed bright light in a 15-foot radius and dim light in an additional 15-foot radius around you. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar radiance. Make a melee spell attack against it. On a hit, the creature takes 1d8 radiant damage and has a –1 penalty to AC until the end of your next turn. Feature/&PowerMoonlitScionFullMoonTitle=Full Moon Feature/&PowerMoonlitScionLunarChillDescription=You can momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt index ccc6b3c338..1714e6126f 100644 --- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puedes usar tu acción adic Feature/&FeatureSetMoonlitScionLunarCloakTitle=Capa lunar Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Eres resistente al daño radiante mientras la capa de Luna Llena está activa y eres resistente al daño por frío mientras la capa de Luna Nueva está activa. También aprendes el hechizo Moon Beam si aún no lo has hecho. Puedes lanzarlo una vez por descanso prolongado sin expandir un espacio de hechizo en tu nivel de espacio más alto. Cuando lanzas Moon Beam de esta manera, obtienes puntos de vida temporales iguales a tu nivel de brujo durante un minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bendición de medianoche +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Obtienes una velocidad de vuelo igual a tu velocidad al caminar. +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Abrazo lunar Feature/&PowerMoonlitScionFullMoonDescription=Proyectas luz brillante en un radio de 15 pies y luz tenue en un radio adicional de 15 pies a tu alrededor. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos siguientes, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un resplandor lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño radiante y tiene una penalización de -1 a la CA hasta el final de tu siguiente turno. Feature/&PowerMoonlitScionFullMoonTitle=Luna llena Feature/&PowerMoonlitScionLunarChillDescription=Puedes extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con un frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt index 03749b4eee..b0366665cb 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Vous pouvez utiliser votre Feature/&FeatureSetMoonlitScionLunarCloakTitle=Cape lunaire Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Vous êtes résistant aux dégâts radiants lorsque la cape de Pleine Lune est active et vous êtes résistant aux dégâts de froid lorsque la cape de Nouvelle Lune est active. Vous apprenez également le sort Moon Beam si vous ne l’avez pas déjà fait. Vous pouvez le lancer une fois par repos long sans étendre un emplacement de sort à votre niveau d'emplacement le plus élevé. Lorsque vous lancez Moon Beam de cette façon, vous gagnez des points de vie temporaires égaux à votre niveau de démoniste pendant une minute. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bénédiction de minuit +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Vous gagnez une vitesse de vol égale à votre vitesse de marche +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Étreinte lunaire Feature/&PowerMoonlitScionFullMoonDescription=Vous projetez une lumière vive dans un rayon de 15 pieds et une lumière tamisée dans un rayon supplémentaire de 15 pieds autour de vous. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un rayonnement lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts radiants et subit un malus de -1 à la CA jusqu'à la fin de votre prochain tour. Feature/&PowerMoonlitScionFullMoonTitle=Pleine lune Feature/&PowerMoonlitScionLunarChillDescription=Vous pouvez momentanément étendre la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec le froid lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt index 51a5243c38..b05022ecc5 100644 --- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Puoi usare la tua azione bo Feature/&FeatureSetMoonlitScionLunarCloakTitle=Mantello Lunare Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Sei resistente ai danni radianti mentre il mantello della Luna Piena è attivo e sei resistente ai danni da freddo mentre il mantello della Luna Nuova è attivo. Impari anche l'incantesimo Moon Beam se non l'hai già fatto. Puoi lanciarlo una volta per riposo lungo senza espandere uno slot incantesimo al tuo livello di slot più alto. Quando lanci Moon Beam in questo modo, guadagni punti ferita temporanei pari al tuo livello da stregone per un minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Benedizione di mezzanotte +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Ottieni una velocità di volo pari alla tua velocità di camminata +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Abbraccio Lunare Feature/&PowerMoonlitScionFullMoonDescription=L'incantatore emette luce intensa in un raggio di 4,5 metri e luce fioca in un raggio aggiuntivo di 4,5 metri attorno a sé. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con radiosità lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni radiosi e ha penalità –1 alla CA fino alla fine del turno successivo dell'incantatore. Feature/&PowerMoonlitScionFullMoonTitle=Luna piena Feature/&PowerMoonlitScionLunarChillDescription=Puoi estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con gelo lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt index f10c9a284c..2901fba38b 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=ボーナス アクショ Feature/&FeatureSetMoonlitScionLunarCloakTitle=月のマント Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=満月のマントがアクティブな間は放射ダメージに耐性があり、新月のマントがアクティブな間は冷気ダメージに耐性があります。まだムーンビームの呪文を学習していない場合は、ムーンビームの呪文も学習します。最高のスロット レベルで呪文スロットを拡張せずに、長い休息ごとに 1 回唱えることができます。この方法でムーン ビームをキャストすると、1 分間、ウォーロック レベルに等しい一時的なヒット ポイントを獲得します。 Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=ミッドナイト・ブレッシング +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=歩行速度と同じ飛行速度が得られます +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=月の抱擁 Feature/&PowerMoonlitScionFullMoonDescription=半径 15 フィートの範囲では明るい光が照射され、さらに半径 15 フィートの範囲では薄暗い光が照射されます。これを召喚すると、その後の各ターンのボーナス アクションとして、ボーナス アクションを使用してマントの到達範囲を一時的に延長し、月の輝きで 30 フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の放射ダメージを受け、次のターンの終了時まで AC に -1 のペナルティが与えられます。 Feature/&PowerMoonlitScionFullMoonTitle=満月 Feature/&PowerMoonlitScionLunarChillDescription=マントの到達範囲を一時的に伸ばし、月のような冷気で 30 フィート以内の敵対的な生き物に触れることもできます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt index 3daea61428..5a347a972e 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=보너스 액션을 사용 Feature/&FeatureSetMoonlitScionLunarCloakTitle=달의 망토 Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=보름달 망토가 활성화되어 있는 동안에는 복사 피해에 저항력이 있고, 초승달 망토가 활성화되어 있는 동안에는 냉기 피해에 저항력이 있습니다. 아직 배우지 않았다면 Moon Beam 주문도 배우게 됩니다. 가장 높은 슬롯 레벨에서 주문 슬롯을 확장하지 않고도 긴 휴식마다 한 번씩 시전할 수 있습니다. 이런 식으로 Moon Beam을 시전하면 1분 동안 흑마법사 레벨과 동일한 임시 체력을 얻게 됩니다. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=자정의 축복 +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=걷는 속도와 동일한 비행 속도를 얻습니다. +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=달의 포옹 Feature/&PowerMoonlitScionFullMoonDescription=당신은 당신 주변의 15피트 반경에 밝은 빛을 비추고 추가로 15피트 반경에 희미한 빛을 발산합니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 빛으로 당신으로부터 30피트 내의 적대적인 생물에 닿을 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 명중 시 생물은 1d8의 복사 피해를 입고 다음 턴이 끝날 때까지 AC에 -1 페널티를 받습니다. Feature/&PowerMoonlitScionFullMoonTitle=보름달 Feature/&PowerMoonlitScionLunarChillDescription=순간적으로 망토의 범위를 확장하고 달의 냉기로 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt index 582cb877b5..835c595147 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Você pode usar sua ação Feature/&FeatureSetMoonlitScionLunarCloakTitle=Manto Lunar Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Você é resistente a danos radiantes enquanto o manto da Lua Cheia está ativo e é resistente a danos de frio enquanto o manto da Lua Nova está ativo. Você também aprende o feitiço Moon Beam, se ainda não o fez. Você pode lançá-lo uma vez por descanso longo sem expandir um slot de magia em seu nível de slot mais alto. Ao lançar Moon Beam dessa forma, você ganha pontos de vida temporários iguais ao seu nível de bruxo por um minuto. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Bênção da meia-noite +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Você ganha deslocamento de vôo igual ao seu deslocamento de caminhada +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Abraço Lunar Feature/&PowerMoonlitScionFullMoonDescription=Você emite luz brilhante em um raio de 4,5 metros e luz fraca em um raio adicional de 4,5 metros ao seu redor. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com brilho lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano radiante e tem –1 de penalidade na CA até o final do seu próximo turno. Feature/&PowerMoonlitScionFullMoonTitle=Lua cheia Feature/&PowerMoonlitScionLunarChillDescription=Você pode estender momentaneamente o alcance do seu manto e tocar uma criatura hostil a até 9 metros de você com frio lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt index 899c31e5ae..96dfc5aedf 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=Вы можете испо Feature/&FeatureSetMoonlitScionLunarCloakTitle=Лунный плащ Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы устойчивы к урону излучением, пока активен плащ Полнолуния, и устойчивы к урону холодом, пока активен плащ Новолуния. Вы также выучите заклинание «Лунный луч», если еще этого не сделали. Вы можете сотворить его один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Полуночное благословение +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Вы получаете скорость полета, равную скорости ходьбы. +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Лунные объятия Feature/&PowerMoonlitScionFullMoonDescription=Вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов вокруг себя. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. Feature/&PowerMoonlitScionFullMoonTitle=Полнолуние Feature/&PowerMoonlitScionLunarChillDescription=Вы можете на мгновение расширить зону действия своего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt index 8c616d0a89..4f128417d4 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt @@ -6,6 +6,8 @@ Feature/&FeatureSetMoonlitScionLunarCloakDescription=您可以使用奖励动作 Feature/&FeatureSetMoonlitScionLunarCloakTitle=月亮斗篷 Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=当满月斗篷激活时,你可以抵抗辐射伤害;当新月斗篷激活时,你可以抵抗寒冷伤害。如果您还没有学习月光法术,您也可以学习。你可以在每次长时间休息时施放一次,而无需在你的最高等级上扩展法术位。当你以这种方式施放月光时,你会获得相当于术士等级的临时生命值,持续一分钟。 Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=午夜祝福 +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=你获得的飞行速度等于你的步行速度 +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=月之拥抱 Feature/&PowerMoonlitScionFullMoonDescription=您在 15 英尺半径范围内发出明亮的光线,并在您周围另外 15 英尺半径范围内发出昏暗的光线。当你召唤它时,作为你后续每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的覆盖范围,并用月光接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。一旦命中,该生物会受到 1d8 光辉伤害,并且 AC 受到 –1 惩罚,直到你的下回合结束。 Feature/&PowerMoonlitScionFullMoonTitle=满月 Feature/&PowerMoonlitScionLunarChillDescription=你可以暂时扩展你的斗篷的范围,并用月之寒气接触到你 30 英尺内的敌对生物。对它进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 From b361004c4b834187fb71a602d5d3310baed3ec56 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Sun, 28 Jan 2024 23:53:53 -0800 Subject: [PATCH 19/24] update collaterals --- .../UnfinishedBusinessBlueprints/Assets.txt | 2 + ...itionMoonlitScionFullMoonLunarEmbrace.json | 2 +- ...ditionMoonlitScionNewMoonLunarEmbrace.json | 2 +- ...inityMoonlitScionFullMoonLunarEmbrace.json | 56 +++++++++++++++++++ .../PowerFeatFellHandedAdvantage.json | 2 +- .../PowerFeatHealerMedKit.json | 2 +- .../PowerFeatHealerResuscitate.json | 2 +- .../PowerFightingStyleMerciless.json | 2 +- .../PowerFightingStyleTorchbearer.json | 2 +- .../FeatureDefinitionPower/PowerHelp.json | 2 +- .../PowerLightningArrowLeap.json | 2 +- .../PowerMalakhHealingTouch.json | 2 +- .../PowerMoonlitScionLunarRadiance.json | 6 +- .../PowerMoonlitScionLunarRadianceNoCost.json | 6 +- .../PowerResonatingStrike.json | 2 +- .../PowerThunderousSmiteThunderousSmite.json | 2 +- .../PowerWayOfSilhouetteDarkvision.json | 2 +- ...erWayOfTheDistantHandUpgradedDistract.json | 2 +- .../PowerWayOfTheDistantHandUpgradedPush.json | 2 +- ...erWayOfTheDistantHandZenArrowDistract.json | 2 +- ...PowerWayOfTheDistantHandZenArrowProne.json | 2 +- .../PowerWayOfTheDistantHandZenArrowPush.json | 2 +- ...OfTheDistantHandZenArrowUpgradedProne.json | 2 +- .../PowerGambitSwitchActivate.json | 2 +- ...ivisectionistEmergencyCureRemoveCurse.json | 2 +- ...tionistMasterEmergencyCureRemoveCurse.json | 2 +- .../MonsterDefinition/MonsterHezrou.json | 4 +- .../MonsterDefinition/MonsterMarilith.json | 4 +- .../MonsterDefinition/RisenGhost.json | 5 +- .../WildShapeWaterElemental.json | 5 +- .../SpellDefinition/BoomingBlade.json | 2 +- .../ElementalWeaponDamageAcid.json | 2 +- .../ElementalWeaponDamageCold.json | 2 +- .../ElementalWeaponDamageFire.json | 2 +- .../ElementalWeaponDamageLightning.json | 2 +- .../ElementalWeaponDamageThunder.json | 2 +- .../SpellDefinition/Foresight.json | 2 +- .../SpellDefinition/GiftOfAlacrity.json | 2 +- .../SpellDefinition/MindBlank.json | 2 +- .../SpellDefinition/Mule.json | 2 +- .../SpellDefinition/SunlightBlade.json | 2 +- SolastaUnfinishedBusiness/Settings/empty.xml | 7 +++ .../Settings/zappastuff.xml | 4 ++ 43 files changed, 122 insertions(+), 43 deletions(-) create mode 100644 Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityMoonlitScionFullMoonLunarEmbrace.json diff --git a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt index 81bd13d7b6..c939cca5cd 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt +++ b/Diagnostics/UnfinishedBusinessBlueprints/Assets.txt @@ -2440,6 +2440,7 @@ MovementAffinityInnovationArmorArmoredUp FeatureDefinitionMovementAffinity Featu MovementAffinityInnovationArmorInfiltratorMode FeatureDefinitionMovementAffinity FeatureDefinition 1e5e7453-c9fd-5999-914d-9f974adbac98 MovementAffinityMagnifyGravity FeatureDefinitionMovementAffinity FeatureDefinition b787a5a7-f7ee-5c8a-a4ce-8d730f3a7632 MovementAffinityMartialCommanderPeerlessCommander FeatureDefinitionMovementAffinity FeatureDefinition 6db0d47c-5d4e-5a9c-9bf8-afcf02389d17 +MovementAffinityMoonlitScionFullMoonLunarEmbrace FeatureDefinitionMovementAffinity FeatureDefinition 48f1f58f-ce9f-5544-93ea-ee439891ddf4 MovementAffinityMule FeatureDefinitionMovementAffinity FeatureDefinition 973f4592-055b-5472-850d-ca9107ae16a5 MovementAffinityOathOfThunderDivineBolt FeatureDefinitionMovementAffinity FeatureDefinition 83304832-5725-5899-b26a-7e8b59426f7e MovementAffinityPathOfTheYeomanBulwark FeatureDefinitionMovementAffinity FeatureDefinition 1abd8d9f-8be4-5121-a426-70125bc3d6d4 @@ -4767,6 +4768,7 @@ MovementAffinityInnovationArmorArmoredUp FeatureDefinitionMovementAffinity Featu MovementAffinityInnovationArmorInfiltratorMode FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 1e5e7453-c9fd-5999-914d-9f974adbac98 MovementAffinityMagnifyGravity FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity b787a5a7-f7ee-5c8a-a4ce-8d730f3a7632 MovementAffinityMartialCommanderPeerlessCommander FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 6db0d47c-5d4e-5a9c-9bf8-afcf02389d17 +MovementAffinityMoonlitScionFullMoonLunarEmbrace FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 48f1f58f-ce9f-5544-93ea-ee439891ddf4 MovementAffinityMule FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 973f4592-055b-5472-850d-ca9107ae16a5 MovementAffinityOathOfThunderDivineBolt FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 83304832-5725-5899-b26a-7e8b59426f7e MovementAffinityPathOfTheYeomanBulwark FeatureDefinitionMovementAffinity FeatureDefinitionMovementAffinity 1abd8d9f-8be4-5121-a426-70125bc3d6d4 diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json index 8116fdded3..9cdd3de636 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionFullMoonLunarEmbrace.json @@ -5,7 +5,7 @@ "conditionType": "Beneficial", "features": [ "Definition:DamageAffinityRadiantResistance:8ea0757b1c53c0446a9d83a4f0c3ca4d", - "Definition:MovementAffinityConditionFlyingAdaptive:4f9ac82da0669a247bb79fb3858b6f64", + "Definition:MovementAffinityMoonlitScionFullMoonLunarEmbrace:48f1f58f-ce9f-5544-93ea-ee439891ddf4", "Definition:PowerMoonlitScionLunarRadiance:ed6aefbf-f397-58b4-88d1-56eed3dde91b" ], "allowMultipleInstances": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json index d4333223df..5918382806 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json @@ -5,7 +5,7 @@ "conditionType": "Beneficial", "features": [ "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", - "Definition:MovementAffinityConditionFlyingAdaptive:4f9ac82da0669a247bb79fb3858b6f64", + "Definition:MovementAffinityMoonlitScionFullMoonLunarEmbrace:48f1f58f-ce9f-5544-93ea-ee439891ddf4", "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" ], "allowMultipleInstances": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityMoonlitScionFullMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityMoonlitScionFullMoonLunarEmbrace.json new file mode 100644 index 0000000000..d20c0246d6 --- /dev/null +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionMovementAffinity/MovementAffinityMoonlitScionFullMoonLunarEmbrace.json @@ -0,0 +1,56 @@ +{ + "$type": "FeatureDefinitionMovementAffinity, Assembly-CSharp", + "appliesToAllModes": true, + "moveMode": "Walk", + "baseSpeedAdditiveModifier": 0, + "additiveModifierAdvancement": "None", + "additiveModifierByLevelTable": [], + "forceMinimalBaseSpeed": false, + "minimalBaseSpeed": 6, + "baseSpeedMultiplicativeModifier": 1.0, + "minMaxMoves": 0, + "speedAddBase": false, + "fastClimber": false, + "expertClimber": false, + "canMoveOnWalls": false, + "canFlyWithWalkSpeed": true, + "enhancedJump": false, + "additionalJumpCells": 0, + "immuneDifficultTerrain": false, + "disableVault": false, + "disableDrop": false, + "disableJump": false, + "disableClimb": false, + "additionalFallThreshold": 0, + "encumbranceImmunity": false, + "heavyArmorImmunity": false, + "situationalContext": "None", + "additionalDashTag": "", + "guiPresentation": { + "$type": "GuiPresentation, Assembly-CSharp", + "hidden": false, + "title": "Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle", + "description": "Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription", + "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": "48f1f58f-ce9f-5544-93ea-ee439891ddf4", + "contentPack": 9999, + "name": "MovementAffinityMoonlitScionFullMoonLunarEmbrace" +} \ No newline at end of file diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatFellHandedAdvantage.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatFellHandedAdvantage.json index 6652b42fb9..c0196bfed7 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatFellHandedAdvantage.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatFellHandedAdvantage.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerMedKit.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerMedKit.json index 77b65ba975..3a778f79b4 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerMedKit.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerMedKit.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerResuscitate.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerResuscitate.json index 46370b3fe8..9858ef5bf6 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerResuscitate.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFeatHealerResuscitate.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleMerciless.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleMerciless.json index 0a49f906b8..d82e536820 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleMerciless.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleMerciless.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Cube", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleTorchbearer.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleTorchbearer.json index e54755dc8f..9b785d3230 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleTorchbearer.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerFightingStyleTorchbearer.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerHelp.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerHelp.json index e89780054b..60483f1e9e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerHelp.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerHelp.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerLightningArrowLeap.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerLightningArrowLeap.json index b23d6594fe..cd1857d36f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerLightningArrowLeap.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerLightningArrowLeap.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMalakhHealingTouch.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMalakhHealingTouch.json index 0814737ff4..eef05bdf19 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMalakhHealingTouch.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMalakhHealingTouch.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json index 352275f214..c7b75da9ed 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadiance.json @@ -174,9 +174,9 @@ }, "effectParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "7e4bb615fae08a14ab527ab661cd6cbf", - "m_SubObjectName": "", - "m_SubObjectType": "" + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null }, "effectSubTargetParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json index 52e1bef115..ba4e80bfb8 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerMoonlitScionLunarRadianceNoCost.json @@ -174,9 +174,9 @@ }, "effectParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", - "m_AssetGUID": "7e4bb615fae08a14ab527ab661cd6cbf", - "m_SubObjectName": "", - "m_SubObjectType": "" + "m_AssetGUID": "", + "m_SubObjectName": null, + "m_SubObjectType": null }, "effectSubTargetParticleReference": { "$type": "UnityEngine.AddressableAssets.AssetReference, Unity.Addressables", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerResonatingStrike.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerResonatingStrike.json index 17185c29d1..cb1a12ed07 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerResonatingStrike.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerResonatingStrike.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerThunderousSmiteThunderousSmite.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerThunderousSmiteThunderousSmite.json index 815167df0d..b1e4837971 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerThunderousSmiteThunderousSmite.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerThunderousSmiteThunderousSmite.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfSilhouetteDarkvision.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfSilhouetteDarkvision.json index c9f38de5a2..546c0e27f2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfSilhouetteDarkvision.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfSilhouetteDarkvision.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 6, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedDistract.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedDistract.json index d774c7e703..9b8706187d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedDistract.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedDistract.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedPush.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedPush.json index d36227a235..ac2ae0be41 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedPush.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandUpgradedPush.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowDistract.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowDistract.json index 2b49f6365e..c74fc9c5bb 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowDistract.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowDistract.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowProne.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowProne.json index 8a53a2abce..9f3670dc86 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowProne.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowProne.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowPush.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowPush.json index f90981412f..967ccea9d9 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowPush.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowPush.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowUpgradedProne.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowUpgradedProne.json index 2fae52defd..23f4aab8fe 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowUpgradedProne.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPower/PowerWayOfTheDistantHandZenArrowUpgradedProne.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerGambitSwitchActivate.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerGambitSwitchActivate.json index 7a3c06cb54..514c90872e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerGambitSwitchActivate.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerGambitSwitchActivate.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistEmergencyCureRemoveCurse.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistEmergencyCureRemoveCurse.json index 1d7b5de476..ece477d62a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistEmergencyCureRemoveCurse.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistEmergencyCureRemoveCurse.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 30, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistMasterEmergencyCureRemoveCurse.json b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistMasterEmergencyCureRemoveCurse.json index 675645b043..3760530585 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistMasterEmergencyCureRemoveCurse.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/FeatureDefinitionPowerSharedPool/PowerInnovationVivisectionistMasterEmergencyCureRemoveCurse.json @@ -3,7 +3,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 30, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterHezrou.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterHezrou.json index 21e85a38ae..a3882d41b2 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterHezrou.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterHezrou.json @@ -114,7 +114,9 @@ "Definition:SavingThrowAffinitySpellResistance:d6341ebb2cb967949b4426e31e993b86", "Definition:PowerHezrouStench:9bd06b9f9d549c148854037568f6c5d3", "Definition:PowerHezrouPoisonBolt:0f4e39d744cb27348b7825aa3ca0d408", - "Definition:ConditionAffinity_LairEffect_PalaceOfIceImmunity:af2de5103ebed1440a4e6bb8d43ea580" + "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980", + "Definition:ConditionAffinity_LairEffect_PalaceOfIceImmunity:af2de5103ebed1440a4e6bb8d43ea580", + "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a" ], "attackIterations": [ { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterMarilith.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterMarilith.json index ff84a7796b..bc07da1b95 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterMarilith.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/MonsterMarilith.json @@ -107,7 +107,9 @@ "Definition:PowerPhaseMarilithTeleport:bd5e55fd2ab911844ad1373ba9ac67e7", "Definition:PowerMarilithTail:eea9e36c449e37d41a1f52d338348566", "Definition:PowerMarilithParry:2e4f2a002e84b284ca55e171446f8cea", - "Definition:ConditionAffinity_LairEffect_PalaceOfIceImmunity:af2de5103ebed1440a4e6bb8d43ea580" + "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980", + "Definition:ConditionAffinity_LairEffect_PalaceOfIceImmunity:af2de5103ebed1440a4e6bb8d43ea580", + "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a" ], "attackIterations": [ { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json index 5dbca7d26b..36c2d43426 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/RisenGhost.json @@ -68,7 +68,10 @@ "Definition:DamageAffinityAcidResistance:10a85b220b55a28479e26b695ba7392d", "Definition:DamageAffinityThunderResistance:510045c677352854ca27ebea37c85d02", "Definition:MoveModeMove8:4c110104739c99e4d920529a058ab2e2", - "Definition:ConditionAffinityHinderedByFrostImmunity:f0b82f8e00ab71b499cba40f950a034b" + "Definition:ConditionAffinityHinderedByFrostImmunity:f0b82f8e00ab71b499cba40f950a034b", + "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980", + "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a", + "Definition:ConditionAffinityWeatherChilledInsteadOfFrozenImmunity:b63fc74bef7f98047b90c40a724a4f10" ], "attackIterations": [ { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json index a89c1249d3..21e1f79c57 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/MonsterDefinition/WildShapeWaterElemental.json @@ -112,7 +112,10 @@ "Definition:DamageAffinityBludgeoningResistance:956f9745b15c6904d87322861723d5c7", "Definition:DamageAffinityColdImmunity:de8ec1fc795a48a41b7cece77d95bc1c", "Definition:DamageAffinityFireVulnerability:3f6fefd9cd5a7e442b3173bafed47822", - "Definition:PowerIceElementalBlizzard:7415e71a3e5e7ab45b5aaf24aa74f108" + "Definition:PowerIceElementalBlizzard:7415e71a3e5e7ab45b5aaf24aa74f108", + "Definition:ConditionAffinityWeatherChilledImmunity:bc4e3a662c267ae498bb1f3c1d754980", + "Definition:ConditionAffinityWeatherFrozenImmunity:6eedca541acbb494fa8aea97c7ff074a", + "Definition:ConditionAffinityWeatherChilledInsteadOfFrozenImmunity:b63fc74bef7f98047b90c40a724a4f10" ], "attackIterations": [ { diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BoomingBlade.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BoomingBlade.json index f894ebcadf..251ba7bfe5 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BoomingBlade.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/BoomingBlade.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageAcid.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageAcid.json index 820018504a..c169e0a54e 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageAcid.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageAcid.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 12, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Item", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageCold.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageCold.json index 93ba7a47f8..95f205f1f8 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageCold.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageCold.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 12, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Item", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageFire.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageFire.json index 905c317eb6..f89c6657f8 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageFire.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageFire.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 12, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Item", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageLightning.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageLightning.json index a0b8498d6d..68d2704034 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageLightning.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageLightning.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 12, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Item", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageThunder.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageThunder.json index 93ecccb049..072a026be1 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageThunder.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/ElementalWeaponDamageThunder.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 12, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "Item", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Foresight.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Foresight.json index cf8d638f3a..735b6c31ff 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Foresight.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Foresight.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/GiftOfAlacrity.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/GiftOfAlacrity.json index eadf2b68fb..9e7889e3e3 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/GiftOfAlacrity.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/GiftOfAlacrity.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/MindBlank.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/MindBlank.json index 2b47238598..1a4b341e6d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/MindBlank.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/MindBlank.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Mule.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Mule.json index 52d679543a..84543fda6a 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Mule.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/Mule.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SunlightBlade.json b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SunlightBlade.json index 5b94585dec..add281195d 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SunlightBlade.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/SpellDefinition/SunlightBlade.json @@ -15,7 +15,7 @@ "effectDescription": { "$type": "EffectDescription, Assembly-CSharp", "rangeType": "Touch", - "rangeParameter": 1, + "rangeParameter": 0, "halfDamageOnAMiss": false, "hitAffinitiesByTargetTag": [], "targetType": "IndividualsUnique", diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index a69460640d..0714d2d2cf 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -215,6 +215,7 @@ CollegeOfHarlequin MartialMarshal MartialMartialDefender + PatronMoonlit RoguishRaven WayOfTheDistantHand @@ -416,6 +417,9 @@ false false false + false + false + 16 0 0 @@ -1071,4 +1075,7 @@ false false false + false + false + false \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index 678d96cdb6..9efe1666bd 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -215,6 +215,7 @@ CollegeOfHarlequin MartialMarshal MartialMartialDefender + PatronMoonlit RoguishRaven WayOfTheDistantHand @@ -508,6 +509,9 @@ false true true + true + true + 16 0 0 From 4bda1f59fc68b531f8adf1e9338d29461a609f65 Mon Sep 17 00:00:00 2001 From: Dovel Date: Mon, 29 Jan 2024 15:43:01 +0300 Subject: [PATCH 20/24] update russian translation --- .../ru/SubClasses/PatronMoonLit-ru.txt | 2 +- .../ru/SubClasses/PatronMoonlitScion-ru.txt | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt index 36842fdd95..63334904c3 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonLit-ru.txt @@ -17,4 +17,4 @@ Feature/&PowerMoonlitFullMoonTitle=Полная луна Feature/&PowerMoonlitMoonTouchedDescription=Вы вызываете гравитационное притяжение луны в небольшой области, заставляя существ, которые проваливают спасбросок, взлетать вверх. Feature/&PowerMoonlitMoonTouchedTitle=Тронутый луной Subclass/&PatronMoonlitDescription=Ваш покровитель - дух луны, сущность, воплощающая цикличность света и тьмы. Эти духи стремятся сохранить власть луны над ночным небом, удерживая в узде проклятые силы, несущие тьму, и поручают своим колдунам то же самое, наделяя их властью над силами луны и её эффектами. -Subclass/&PatronMoonlitTitle=Лунный свет необрезанный +Subclass/&PatronMoonlitTitle=Оригинальный Лунный свет diff --git a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt index 96dfc5aedf..0d9306cedd 100644 --- a/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt +++ b/SolastaUnfinishedBusiness/Translations/ru/SubClasses/PatronMoonlitScion-ru.txt @@ -1,28 +1,28 @@ -Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=-1 штраф к AC +Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyDescription=Штраф -1 к КД Feature/&AttributeModifierMoonlitScionLunarRadianceEnemyTitle=Лунное сияние -Feature/&FeatureMoonlitScionLunarEmbraceDescription=Урон вашего Лунного плаща увеличивается до 2d8. Кроме того, каждый раз, когда вы создаете плащ, вы получаете скорость полета, равную скорости ходьбы, на время действия плаща. +Feature/&FeatureMoonlitScionLunarEmbraceDescription=Урон вашего Лунного плаща увеличивается до 2d8. Кроме того каждый раз, когда вы призываете плащ, на время действия умения вы получаете скорость полёта, равную скорости ходьбы. Feature/&FeatureMoonlitScionLunarEmbraceTitle=Лунные объятия -Feature/&FeatureSetMoonlitScionLunarCloakDescription=Вы можете использовать бонусное действие, чтобы сотворить покров света или тьмы, получая на одну минуту одно из следующих преимуществ:\nПолнолуние: вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов. радиус вокруг себя и получите силу лунного сияния. Совершите рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода.\nНоволуние: вы скрыты немагической тьмой. Если вы перейдете на плитку, освещенную тусклым или ярким светом, вместо этого считается, что вы находитесь в немагической темноте и получаете силу лунного холода. Совершите рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&FeatureSetMoonlitScionLunarCloakDescription=Бонусным действием вы можете сотворить покров света или тьмы, получая на одну минуту одно из следующих преимуществ:\nПолнолуние: Вы излучаете яркий свет в пределах 15 футов и тусклый свет в пределах ещё 15 футов, а также получаете силу лунного сияния. Совершите рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и штраф -1 к КД до конца вашего следующего хода.\nНоволуние: Вы скрыты немагической тьмой. Если вы перемещаетесь на клетку в тусклом или ярком свете, вы вместо этого находитесь в естественной темноте. Также вы получаете силу лунного холода. Совершите рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится скованным до конца вашего следующего хода. Feature/&FeatureSetMoonlitScionLunarCloakTitle=Лунный плащ -Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы устойчивы к урону излучением, пока активен плащ Полнолуния, и устойчивы к урону холодом, пока активен плащ Новолуния. Вы также выучите заклинание «Лунный луч», если еще этого не сделали. Вы можете сотворить его один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. +Feature/&FeatureSetMoonlitScionMidnightBlessingDescription=Вы обладаете сопротивлением урону излучением, пока активен плащ Полнолуния, и сопротивлением урону холодом, пока активен плащ Новолуния. Вы также изучаете заклинание Лунный луч, если не сделали этого ранее. Один раз до продолжительного отдыха вы можете наложить это заклинание без затрат ячеек на самом высоком доступном вам уровне. Когда вы накладываете Лунный луч подобным образом, вы на одну минуту получаете временные хиты, равные вашему уровню Колдуна. Feature/&FeatureSetMoonlitScionMidnightBlessingTitle=Полуночное благословение -Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Вы получаете скорость полета, равную скорости ходьбы. +Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceDescription=Вы получаете скорость полёта, равную скорости ходьбы. Feature/&MovementAffinityMoonlitScionFullMoonLunarEmbraceTitle=Лунные объятия -Feature/&PowerMoonlitScionFullMoonDescription=Вы излучаете яркий свет в радиусе 15 футов и тусклый свет в радиусе дополнительных 15 футов вокруг себя. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. +Feature/&PowerMoonlitScionFullMoonDescription=Вы излучаете яркий свет в пределах 15 футов и тусклый свет в пределах ещё 15 футов. Когда вы призываете его, а также в каждый последующий ваш ход, вы можете бонусным действием на мгновение расширить досягаемость своего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите по нему рукопашную атаку заклинанием. При попадании существо получает 1d8 урона излучением и штраф -1 к КД до конца вашего следующего хода. Feature/&PowerMoonlitScionFullMoonTitle=Полнолуние -Feature/&PowerMoonlitScionLunarChillDescription=Вы можете на мгновение расширить зону действия своего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&PowerMoonlitScionLunarChillDescription=Вы можете на мгновение расширить досягаемость своего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите по нему рукопашную атаку заклинанием. При попадании существо получает 1d8 урона холодом и становится скованным до конца вашего следующего хода. Feature/&PowerMoonlitScionLunarChillTitle=Лунный холод -Feature/&PowerMoonlitScionLunarRadianceDescription=Вы можете на мгновение расширить зону действия своего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон излучением 1d8 и получает штраф -1 к КД до конца вашего следующего хода. +Feature/&PowerMoonlitScionLunarRadianceDescription=Вы можете на мгновение расширить досягаемость своего плаща и коснуться лунным сиянием враждебного существа в пределах 30 футов от вас. Совершите по нему рукопашную атаку заклинанием. При попадании существо получает 1d8 урона излучением и штраф -1 к КД до конца вашего следующего хода. Feature/&PowerMoonlitScionLunarRadianceTitle=Лунное сияние -Feature/&PowerMoonlitScionMidnightBlessingDescription=Вы можете использовать Лунный луч как силу один раз за длительный отдых, не расширяя ячейку заклинания на самом высоком уровне ячейки. Когда вы достигнете 11-го уровня, вы сможете использовать его как заклинание 6-го уровня, как 7-го уровня на 13-м, как 8-го уровня на 15-м и 9-го уровня на 17-м уровне. Когда вы применяете «Лунный луч» таким образом, вы получаете временные очки жизни, равные вашему уровню чернокнижника, на одну минуту. +Feature/&PowerMoonlitScionMidnightBlessingDescription=Вы можете накладывать Лунный луч в качестве способности один раз до продолжительного отдыха без затрат ячеек заклинаний на самом высоком доступном вам уровне. Когда вы достигаете 11-го уровня, вы сможете накладывать его как заклинание 6-го уровня, на 13-м - как заклинание 7-го уровня, на 15-м - как заклинание 8-го уровня, и на 17-м - как заклинание 9-го уровня. Когда вы накладываете Лунный луч подобным образом, вы на одну минуту получаете временные хиты, равные вашему уровню Колдуна. Feature/&PowerMoonlitScionMidnightBlessingTitle=Полуночное благословение -Feature/&PowerMoonlitScionMoonlightGuiseDescription=Каждый раз, когда существо наносит вам урон, вы можете использовать свою реакцию, чтобы стать невидимым до конца вашего следующего хода. Вы можете использовать эту функцию один раз за короткий отдых. +Feature/&PowerMoonlitScionMoonlightGuiseDescription=Когда существо наносит вам урон, вы можете реакцией стать невидимым до конца вашего следующего хода. Вы можете использовать эту способность один раз до короткого отдыха. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Лунный облик -Feature/&PowerMoonlitScionNewMoonDescription=Вы скрыты немагической тьмой. Если вы перейдете на плитку, освещенную тусклым или ярким светом, вместо этого считается, что вы находитесь в немагической темноте. Когда вы его вызываете, а также в качестве бонусного действия в каждом из ваших последующих ходов, вы можете использовать бонусное действие, чтобы на мгновение расширить зону действия вашего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите против него рукопашную атаку заклинанием. При попадании существо получает урон холодом 1d8 и становится заблокированным до конца вашего следующего хода. +Feature/&PowerMoonlitScionNewMoonDescription=Вы скрыты немагической тьмой. Если вы перемещаетесь на клетку в тусклом или ярком свете, вы вместо этого находитесь в естественной темноте. Когда вы призываете его, а также в каждый последующий ваш ход бонусным действием вы можете на мгновение расширить досягаемость своего плаща и коснуться лунным холодом враждебного существа в пределах 30 футов от вас. Совершите по нему рукопашную атаку заклинанием. При попадании существо получает 1d8 урона холодом и становится скованным до конца вашего следующего хода. Feature/&PowerMoonlitScionNewMoonTitle=Новолуние Reaction/&SpendPowerMoonlightGuiseDescription=Вы можете стать невидимым до конца вашего следующего хода. Reaction/&SpendPowerMoonlightGuiseReactDescription=Стать невидимым. Reaction/&SpendPowerMoonlightGuiseReactTitle=Лунный облик Reaction/&SpendPowerMoonlightGuiseTitle=Лунный облик -Subclass/&PatronMoonlitScionDescription=Ваш покровитель — дух луны, сущность, олицетворяющая цикличность света и тьмы. Эти духи стремятся сохранить власть луны над ночным небом, сдерживая при этом светские силы, преследующие тьму, и поручают то же самое своим колдунам, давая им возможность управлять силами луны и ее эффектами. +Subclass/&PatronMoonlitScionDescription=Ваш покровитель - дух луны, сущность, воплощающая цикличность света и тьмы. Эти духи стремятся сохранить власть луны над ночным небом, удерживая в узде проклятые силы, несущие тьму, и поручают своим колдунам то же самое, наделяя их властью над силами луны и её эффектами. Subclass/&PatronMoonlitScionTitle=Лунный свет From d48e578bbe7dfaa5c1131978873e68d4b536a416 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 29 Jan 2024 08:22:37 -0800 Subject: [PATCH 21/24] add darkvision 12 when new moon power is active --- .../ConditionDefinition/ConditionMoonlitScionNewMoon.json | 3 ++- .../ConditionMoonlitScionNewMoonLunarEmbrace.json | 3 ++- .../ConditionMoonlitScionNewMoonMidnightBlessing.json | 3 ++- SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs | 2 +- .../Translations/de/SubClasses/PatronMoonlitScion-de.txt | 2 +- .../Translations/en/SubClasses/PatronMoonlitScion-en.txt | 2 +- .../Translations/es/SubClasses/PatronMoonlitScion-es.txt | 2 +- .../Translations/fr/SubClasses/PatronMoonlitScion-fr.txt | 2 +- .../Translations/it/SubClasses/PatronMoonlitScion-it.txt | 2 +- .../Translations/ja/SubClasses/PatronMoonlitScion-ja.txt | 2 +- .../Translations/ko/SubClasses/PatronMoonlitScion-ko.txt | 2 +- .../Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt | 2 +- .../Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt | 2 +- 13 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json index 3a0b0eff08..7df1bc7743 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoon.json @@ -4,7 +4,8 @@ "parentCondition": null, "conditionType": "Beneficial", "features": [ - "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2", + "Definition:SenseDarkvision12:b7ab84f45ce51764ca9c430f745a6b4e" ], "allowMultipleInstances": false, "silentWhenAdded": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json index 5918382806..6b19a20c64 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonLunarEmbrace.json @@ -6,7 +6,8 @@ "features": [ "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", "Definition:MovementAffinityMoonlitScionFullMoonLunarEmbrace:48f1f58f-ce9f-5544-93ea-ee439891ddf4", - "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2", + "Definition:SenseDarkvision12:b7ab84f45ce51764ca9c430f745a6b4e" ], "allowMultipleInstances": false, "silentWhenAdded": false, diff --git a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json index 4daf64b3b8..dc9875622f 100644 --- a/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json +++ b/Diagnostics/UnfinishedBusinessBlueprints/ConditionDefinition/ConditionMoonlitScionNewMoonMidnightBlessing.json @@ -5,7 +5,8 @@ "conditionType": "Beneficial", "features": [ "Definition:DamageAffinityColdResistance:277b59ebffdc36946879acc4e946affd", - "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2" + "Definition:PowerMoonlitScionLunarChill:e5e8a27e-7f73-5ad8-8310-0d6a3e7d71d2", + "Definition:SenseDarkvision12:b7ab84f45ce51764ca9c430f745a6b4e" ], "allowMultipleInstances": false, "silentWhenAdded": false, diff --git a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs index ccde683e43..3fd8a1325c 100644 --- a/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs +++ b/SolastaUnfinishedBusiness/Subclasses/PatronMoonlitScion.cs @@ -246,7 +246,7 @@ public PatronMoonlitScion() .SetGuiPresentation($"Power{Name}NewMoon", Category.Feature, ConditionDefinitions.ConditionChildOfDarkness_DimLight) .SetPossessive() - .SetFeatures(powerLunarChill) + .SetFeatures(powerLunarChill, FeatureDefinitionSenses.SenseDarkvision12) .AddCustomSubFeatures(new AddUsablePowersFromCondition(), new ForceLightingStateNewMoon()) .AddToDB(); diff --git a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt index bba27bb249..a52753248b 100644 --- a/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt +++ b/SolastaUnfinishedBusiness/Translations/de/SubClasses/PatronMoonlitScion-de.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=Du kannst Mondstrahl einma Feature/&PowerMoonlitScionMidnightBlessingTitle=Mitternachtssegen Feature/&PowerMoonlitScionMoonlightGuiseDescription=Immer wenn eine Kreatur dir Schaden zufügt, kannst du deine Reaktion nutzen, um bis zum Ende deines nächsten Zuges unsichtbar zu werden. Sie können diese Funktion einmal pro kurzer Pause nutzen. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Mondscheingestalt -Feature/&PowerMoonlitScionNewMoonDescription=Du bist in nichtmagischer Dunkelheit verborgen. Wenn Sie sich auf ein Feld bewegen, auf dem schwaches oder helles Licht herrscht, wird davon ausgegangen, dass Sie sich stattdessen in nichtmagischer Dunkelheit befinden. Wenn du es heraufbeschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um dich herum mit Mondkälte zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. +Feature/&PowerMoonlitScionNewMoonDescription=Du bist in nicht-magischer Dunkelheit verborgen und erhältst Dunkelsicht bis zu 9 m. Wenn du dich auf ein Feld bewegst, auf dem schwaches oder helles Licht herrscht, befindest du dich stattdessen in nicht-magischer Dunkelheit. Wenn du es heraufbeschwörst, kannst du als Bonusaktion in jedem deiner folgenden Züge deine Bonusaktion nutzen, um die Reichweite deines Umhangs vorübergehend zu erweitern und eine feindliche Kreatur in einem Umkreis von 30 Fuß um dich herum mit Mondkälte zu berühren. Führe einen Nahkampf-Zauberangriff dagegen aus. Bei einem Treffer erleidet die Kreatur 1W8 Kälteschaden und ist bis zum Ende Ihres nächsten Zuges behindert. Feature/&PowerMoonlitScionNewMoonTitle=Neumond Reaction/&SpendPowerMoonlightGuiseDescription=Du kannst bis zum Ende deines nächsten Zuges unsichtbar werden. Reaction/&SpendPowerMoonlightGuiseReactDescription=Unsichtbar werden. diff --git a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt index 7a5ee140c9..fdd26f3c0f 100644 --- a/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt +++ b/SolastaUnfinishedBusiness/Translations/en/SubClasses/PatronMoonlitScion-en.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=You can cast Moonbeam as a Feature/&PowerMoonlitScionMidnightBlessingTitle=Midnight Blessing Feature/&PowerMoonlitScionMoonlightGuiseDescription=Whenever a creature damages you, you can use your reaction to become invisible until the end of your next turn. You can use this feature once per short rest. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Moonlight Guise -Feature/&PowerMoonlitScionNewMoonDescription=You are obscured in non-magical darkness. If you move to a tile that is in dim or bright light, you are considered to be in nonmagical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. +Feature/&PowerMoonlitScionNewMoonDescription=You are obscured in non-magical darkness, and gain Darkvision up to 30 ft. If you move to a tile that is in dim or bright light, you are considered to be in non-magical darkness instead. When you conjure it, and as a bonus action on each of your subsequent turns, you can use your bonus action to momentarily extend the reach of your cloak and touch a hostile creature within 30 feet of you with lunar chill. Make a melee spell attack against it. On a hit, the creature takes 1d8 cold damage and is hindered until the end of your next turn. Feature/&PowerMoonlitScionNewMoonTitle=New Moon Reaction/&SpendPowerMoonlightGuiseDescription=You can become invisible until the end of your next turn. Reaction/&SpendPowerMoonlightGuiseReactDescription=Become invisible. diff --git a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt index 1714e6126f..c6ca361b35 100644 --- a/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt +++ b/SolastaUnfinishedBusiness/Translations/es/SubClasses/PatronMoonlitScion-es.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=Puedes lanzar Rayo de Luna Feature/&PowerMoonlitScionMidnightBlessingTitle=Bendición de medianoche Feature/&PowerMoonlitScionMoonlightGuiseDescription=Siempre que una criatura te dañe, puedes usar tu reacción para volverte invisible hasta el final de tu siguiente turno. Puede utilizar esta función una vez por breve descanso. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Disfraz de luz de luna -Feature/&PowerMoonlitScionNewMoonDescription=Estás oscurecido en una oscuridad no mágica. Si te mueves a una casilla que tiene luz tenue o brillante, se considera que estás en una oscuridad no mágica. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos posteriores, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. +Feature/&PowerMoonlitScionNewMoonDescription=Estás oscurecido en una oscuridad no mágica y obtienes visión en la oscuridad hasta 30 pies. Si te mueves a una casilla que está en una luz tenue o brillante, se considera que estás en una oscuridad no mágica. Cuando lo conjuras, y como acción adicional en cada uno de tus turnos posteriores, puedes usar tu acción adicional para extender momentáneamente el alcance de tu capa y tocar a una criatura hostil a 30 pies de ti con frío lunar. Realiza un ataque de hechizo cuerpo a cuerpo contra él. Con un golpe, la criatura sufre 1d8 de daño por frío y queda obstaculizada hasta el final de tu siguiente turno. Feature/&PowerMoonlitScionNewMoonTitle=Luna nueva Reaction/&SpendPowerMoonlightGuiseDescription=Puedes volverte invisible hasta el final de tu próximo turno. Reaction/&SpendPowerMoonlightGuiseReactDescription=Volverse invisible. diff --git a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt index b0366665cb..86f8f6670e 100644 --- a/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt +++ b/SolastaUnfinishedBusiness/Translations/fr/SubClasses/PatronMoonlitScion-fr.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=Vous pouvez lancer Rayon d Feature/&PowerMoonlitScionMidnightBlessingTitle=Bénédiction de minuit Feature/&PowerMoonlitScionMoonlightGuiseDescription=Chaque fois qu'une créature vous blesse, vous pouvez utiliser votre réaction pour devenir invisible jusqu'à la fin de votre prochain tour. Vous pouvez utiliser cette fonctionnalité une fois par court repos. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Déguisement au clair de lune -Feature/&PowerMoonlitScionNewMoonDescription=Vous êtes obscurci dans une obscurité non magique. Si vous vous déplacez vers une tuile qui se trouve dans une lumière faible ou vive, vous êtes considéré comme étant dans une obscurité non magique. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un froid lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. +Feature/&PowerMoonlitScionNewMoonDescription=Vous êtes obscurci dans l'obscurité non magique et bénéficiez d'une vision dans le noir jusqu'à 30 pieds. Si vous vous déplacez vers une tuile qui est dans une lumière faible ou vive, vous êtes plutôt considéré comme étant dans l'obscurité non magique. Lorsque vous l'invoquez, et comme une action bonus à chacun de vos tours suivants, vous pouvez utiliser votre action bonus pour étendre momentanément la portée de votre cape et toucher une créature hostile à moins de 9 mètres de vous avec un froid lunaire. Lancez une attaque de sort au corps à corps contre lui. En cas de coup, la créature subit 1d8 dégâts de froid et est gênée jusqu'à la fin de votre prochain tour. Feature/&PowerMoonlitScionNewMoonTitle=Nouvelle lune Reaction/&SpendPowerMoonlightGuiseDescription=Vous pouvez devenir invisible jusqu'à la fin de votre prochain tour. Reaction/&SpendPowerMoonlightGuiseReactDescription=Deviens invisible. diff --git a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt index b05022ecc5..a2fba2ecbd 100644 --- a/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt +++ b/SolastaUnfinishedBusiness/Translations/it/SubClasses/PatronMoonlitScion-it.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=Puoi lanciare Raggio Lunar Feature/&PowerMoonlitScionMidnightBlessingTitle=Benedizione di mezzanotte Feature/&PowerMoonlitScionMoonlightGuiseDescription=Ogni volta che una creatura ti danneggia, puoi usare la tua reazione per diventare invisibile fino alla fine del tuo turno successivo. Puoi usare questa capacità una volta per ogni riposo breve. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Veste al chiaro di luna -Feature/&PowerMoonlitScionNewMoonDescription=Sei oscurato nell'oscurità non magica. Se ti sposti su una tessera che si trova in condizioni di luce fioca o intensa, sei considerato invece nell'oscurità non magica. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con un gelo lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. +Feature/&PowerMoonlitScionNewMoonDescription=Sei oscurato nell'oscurità non magica e ottieni Scurovisione fino a 9 metri. Se ti sposti su un esagono che è in luce fioca o intensa, sei considerato invece nell'oscurità non magica. Quando lo evochi, e come azione bonus in ciascuno dei tuoi turni successivi, puoi usare la tua azione bonus per estendere temporaneamente la portata del tuo mantello e toccare una creatura ostile entro 9 metri da te con un gelo lunare. Effettua un attacco con incantesimo in mischia contro di esso. Se colpisce, la creatura subisce 1d8 danni da freddo ed è ostacolata fino alla fine del turno successivo dell'incantatore. Feature/&PowerMoonlitScionNewMoonTitle=Nuova luna Reaction/&SpendPowerMoonlightGuiseDescription=Puoi diventare invisibile fino alla fine del tuo prossimo turno. Reaction/&SpendPowerMoonlightGuiseReactDescription=Diventa invisibile. diff --git a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt index 2901fba38b..b3c869c142 100644 --- a/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt +++ b/SolastaUnfinishedBusiness/Translations/ja/SubClasses/PatronMoonlitScion-ja.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=最高のスロット レ Feature/&PowerMoonlitScionMidnightBlessingTitle=ミッドナイト・ブレッシング Feature/&PowerMoonlitScionMoonlightGuiseDescription=クリーチャーがあなたにダメージを与えるたび、あなたはその反応を利用して次のターンの終わりまで透明になることができます。この機能は、短い休憩ごとに 1 回使用できます。 Feature/&PowerMoonlitScionMoonlightGuiseTitle=ムーンライトガイズ -Feature/&PowerMoonlitScionNewMoonDescription=あなたは魔法ではない暗闇の中に隠れています。薄暗い、または明るい光のタイルに移動すると、魔法ではない暗闇にいると見なされます。あなたがそれを召喚するとき、そしてその後の各ターンのボーナスアクションとして、あなたはボーナスアクションを使用してマントの範囲を一時的に伸ばし、月の寒さで30フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 +Feature/&PowerMoonlitScionNewMoonDescription=魔法ではない暗闇では視界が遮られ、最大 30 フィートの暗視が得られます。薄暗い光または明るい光のタイルに移動すると、代わりに魔法ではない暗闇にいると見なされます。あなたがそれを召喚するとき、そしてその後の各ターンのボーナスアクションとして、あなたはボーナスアクションを使用してマントの範囲を一時的に伸ばし、月の寒さで30フィート以内の敵対的なクリーチャーに触れることができます。それに対して近接魔法攻撃を行います。ヒットすると、クリーチャーは 1d8 の冷気ダメージを受け、次のターンの終了時まで行動が妨げられます。 Feature/&PowerMoonlitScionNewMoonTitle=新月 Reaction/&SpendPowerMoonlightGuiseDescription=次のターンが終了するまで透明になることができます。 Reaction/&SpendPowerMoonlightGuiseReactDescription=見えなくなる。 diff --git a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt index 5a347a972e..e32c41b0e6 100644 --- a/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt +++ b/SolastaUnfinishedBusiness/Translations/ko/SubClasses/PatronMoonlitScion-ko.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=가장 높은 슬롯 레 Feature/&PowerMoonlitScionMidnightBlessingTitle=자정의 축복 Feature/&PowerMoonlitScionMoonlightGuiseDescription=생물이 당신에게 피해를 입힐 때마다 당신은 반응을 이용해 다음 턴이 끝날 때까지 투명 상태가 될 수 있습니다. 이 기능은 짧은 휴식마다 한 번씩 사용할 수 있습니다. Feature/&PowerMoonlitScionMoonlightGuiseTitle=달빛의 가면 -Feature/&PowerMoonlitScionNewMoonDescription=당신은 마법이 아닌 어둠 속에 가려져 있습니다. 어둡거나 밝은 빛이 있는 타일로 이동하면 대신 마법이 아닌 어둠 속에 있는 것으로 간주됩니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 냉기로 당신으로부터 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. +Feature/&PowerMoonlitScionNewMoonDescription=당신은 비마법적 어둠 속에서 가려지고 최대 30피트까지 암흑시야를 얻습니다. 어둡거나 밝은 빛이 있는 타일로 이동하면 대신 비마법적 어둠 속에 있는 것으로 간주됩니다. 당신이 그것을 불러일으킬 때, 그리고 당신의 후속 턴마다 보너스 행동으로 당신은 보너스 행동을 사용하여 일시적으로 망토의 범위를 확장하고 달의 냉기로 당신으로부터 30피트 내의 적대적인 생물을 만질 수 있습니다. 그것에 대해 근접 주문 공격을 가하십시오. 적중 시 해당 생물은 1d8의 냉기 피해를 입고 다음 턴이 끝날 때까지 방해를 받습니다. Feature/&PowerMoonlitScionNewMoonTitle=뉴 문 Reaction/&SpendPowerMoonlightGuiseDescription=다음 턴이 끝날 때까지 투명 상태가 될 수 있습니다. Reaction/&SpendPowerMoonlightGuiseReactDescription=보이지 않게 되십시오. diff --git a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt index 835c595147..74cdd0d7b9 100644 --- a/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt +++ b/SolastaUnfinishedBusiness/Translations/pt-BR/SubClasses/PatronMoonlitScion-pt-BR.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=Você pode lançar Moonbea Feature/&PowerMoonlitScionMidnightBlessingTitle=Bênção da meia-noite Feature/&PowerMoonlitScionMoonlightGuiseDescription=Sempre que uma criatura causar dano a você, você pode usar sua reação para ficar invisível até o final do seu próximo turno. Você pode usar esse recurso uma vez por descanso curto. Feature/&PowerMoonlitScionMoonlightGuiseTitle=Traje do luar -Feature/&PowerMoonlitScionNewMoonDescription=Você está obscurecido pela escuridão não-mágica. Se você se mover para um ladrilho que esteja sob luz fraca ou brilhante, você será considerado em escuridão não-mágica. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com frio lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. +Feature/&PowerMoonlitScionNewMoonDescription=Você fica obscurecido pela escuridão não-mágica e ganha Visão no Escuro até 9 metros. Se você se mover para um ladrilho que esteja na penumbra ou na luz brilhante, você será considerado como estando na escuridão não-mágica. Quando você o conjura, e como uma ação bônus em cada um de seus turnos subsequentes, você pode usar sua ação bônus para estender momentaneamente o alcance de seu manto e tocar uma criatura hostil a até 9 metros de você com frio lunar. Faça um ataque mágico corpo a corpo contra ele. Se acertar, a criatura sofre 1d8 de dano de frio e fica prejudicada até o final do seu próximo turno. Feature/&PowerMoonlitScionNewMoonTitle=Lua Nova Reaction/&SpendPowerMoonlightGuiseDescription=Você pode ficar invisível até o final do seu próximo turno. Reaction/&SpendPowerMoonlightGuiseReactDescription=Torne-se invisível. diff --git a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt index 4f128417d4..503164a997 100644 --- a/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt +++ b/SolastaUnfinishedBusiness/Translations/zh-CN/SubClasses/PatronMoonlitScion-zh-CN.txt @@ -18,7 +18,7 @@ Feature/&PowerMoonlitScionMidnightBlessingDescription=你可以将月光作为 Feature/&PowerMoonlitScionMidnightBlessingTitle=午夜祝福 Feature/&PowerMoonlitScionMoonlightGuiseDescription=每当一个生物对你造成伤害时,你可以利用你的反应来隐形,直到你的下一个回合结束。每次短暂休息时您可以使用此功能一次。 Feature/&PowerMoonlitScionMoonlightGuiseTitle=月光伪装 -Feature/&PowerMoonlitScionNewMoonDescription=你被非魔法的黑暗所遮蔽。如果您移动到处于昏暗或明亮光线下的图块,您将被视为处于非魔法黑暗中。当你召唤它时,作为你随后每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的触及范围,并用月光之寒接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 +Feature/&PowerMoonlitScionNewMoonDescription=你在非魔法黑暗中被遮挡,并获得高达 30 英尺的黑暗视觉。如果你移动到处于昏暗或明亮光线下的图块,你将被视为处于非魔法黑暗中。当你召唤它时,作为你随后每个回合的奖励动作,你可以使用你的奖励动作暂时扩大你斗篷的触及范围,并用月光之寒接触你周围 30 英尺内的敌对生物。对它进行近战法术攻击。击中时,该生物会受到 1d8 点冰冷伤害,并受到阻碍,直到你的下一回合结束。 Feature/&PowerMoonlitScionNewMoonTitle=新月 Reaction/&SpendPowerMoonlightGuiseDescription=你可以变得隐身,直到下一个回合结束。 Reaction/&SpendPowerMoonlightGuiseReactDescription=变得隐形。 From 6706d21880cd714d13f5da82893917321ce7f651 Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 29 Jan 2024 08:22:56 -0800 Subject: [PATCH 22/24] minor tweaks --- .../Models/SubclassesContext.cs | 23 +++++++++++++++---- SolastaUnfinishedBusiness/Settings.cs | 10 +------- .../Subclasses/RoguishBladeCaller.cs | 3 +-- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs index 91e9d93b45..06d517e75e 100644 --- a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs @@ -11,29 +11,42 @@ namespace SolastaUnfinishedBusiness.Models; internal static class SubclassesContext { - internal static readonly SortedList Klasses = new(); + internal static readonly SortedList Klasses = []; - internal static readonly Dictionary KlassListContextTab = new(); + internal static readonly Dictionary KlassListContextTab = []; private static Dictionary DeityChoiceList { get; - } = new(); + } = []; private static Dictionary SubclassesChoiceList { get; - } = new(); + } = []; + + private static List DeprecatedSubsList { get; } = + [ + "CollegeOfHarlequin", + "MartialMarshal", + "MartialMartialDefender", + "PatronMoonlit", + "RoguishRaven", + "WayOfTheDistantHand" + ]; internal static void Load() { RegisterClassesContext(); + var finalDeprecatedList = + DeprecatedSubsList.RemoveAll(x => Main.Settings.DeprecatedSubsReenableList.Contains(x)); + foreach (var abstractSubClassInstance in typeof(AbstractSubclass) .Assembly.GetTypes() .Where(t => t.IsSubclassOf(typeof(AbstractSubclass)) && !t.IsAbstract) .Select(t => (AbstractSubclass)Activator.CreateInstance(t)) - .Where(t => !Main.Settings.DeprecatedSubsList.Contains(t.Subclass.Name))) + .Where(t => !DeprecatedSubsList.Contains(t.Subclass.Name))) { LoadSubclass(abstractSubClassInstance); } diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index 524ae9d6d9..b411b97c3e 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -59,15 +59,7 @@ public class Settings : UnityModManager.ModSettings public bool DisableStreamlinedMultiLevelUp { get; set; } = true; // change this at your own risk as these subclasses will be fully removed from mod in the near future - public String[] DeprecatedSubsList { get; set; } = - [ - "CollegeOfHarlequin", - "MartialMarshal", - "MartialMartialDefender", - "PatronMoonlit", - "RoguishRaven", - "WayOfTheDistantHand" - ]; + public List DeprecatedSubsReenableList { get; set; } public HashSet MonstersThatShouldHaveDarkvision { get; set; } = [ diff --git a/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs b/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs index bb8ba14d2d..0c2b84acd6 100644 --- a/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs +++ b/SolastaUnfinishedBusiness/Subclasses/RoguishBladeCaller.cs @@ -267,7 +267,7 @@ public IEnumerator OnPhysicalAttackFinishedByMe( // offer Hail of Blades if (rulesetAttacker.IsToggleEnabled((ActionDefinitions.Id)ExtraActionId.HailOfBladesToggle)) { - yield return HandleHailOfBlades(action, battleManager, attacker); + yield return HandleHailOfBlades(battleManager, attacker); } } @@ -328,7 +328,6 @@ public IEnumerator OnPhysicalAttackInitiatedByMe( } private IEnumerator HandleHailOfBlades( - CharacterAction action, GameLocationBattleManager battleManager, GameLocationCharacter attacker) { From cab37db5c78c1df4ea99b494e2d96d005be6c6ca Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 29 Jan 2024 09:35:15 -0800 Subject: [PATCH 23/24] review deprecated logic --- SolastaUnfinishedBusiness/Models/SubclassesContext.cs | 6 +++--- SolastaUnfinishedBusiness/Settings.cs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs index 06d517e75e..bb9af46c23 100644 --- a/SolastaUnfinishedBusiness/Models/SubclassesContext.cs +++ b/SolastaUnfinishedBusiness/Models/SubclassesContext.cs @@ -25,7 +25,7 @@ private static Dictionary DeprecatedSubsList { get; } = + private static IEnumerable DeprecatedSubsList { get; } = [ "CollegeOfHarlequin", "MartialMarshal", @@ -40,13 +40,13 @@ internal static void Load() RegisterClassesContext(); var finalDeprecatedList = - DeprecatedSubsList.RemoveAll(x => Main.Settings.DeprecatedSubsReenableList.Contains(x)); + DeprecatedSubsList.Where(x => !Main.Settings.DeprecatedSubsReenableList.Contains(x)); foreach (var abstractSubClassInstance in typeof(AbstractSubclass) .Assembly.GetTypes() .Where(t => t.IsSubclassOf(typeof(AbstractSubclass)) && !t.IsAbstract) .Select(t => (AbstractSubclass)Activator.CreateInstance(t)) - .Where(t => !DeprecatedSubsList.Contains(t.Subclass.Name))) + .Where(t => !finalDeprecatedList.Contains(t.Subclass.Name))) { LoadSubclass(abstractSubClassInstance); } diff --git a/SolastaUnfinishedBusiness/Settings.cs b/SolastaUnfinishedBusiness/Settings.cs index b411b97c3e..af8f04ac89 100644 --- a/SolastaUnfinishedBusiness/Settings.cs +++ b/SolastaUnfinishedBusiness/Settings.cs @@ -59,7 +59,7 @@ public class Settings : UnityModManager.ModSettings public bool DisableStreamlinedMultiLevelUp { get; set; } = true; // change this at your own risk as these subclasses will be fully removed from mod in the near future - public List DeprecatedSubsReenableList { get; set; } + public List DeprecatedSubsReenableList { get; set; } = []; public HashSet MonstersThatShouldHaveDarkvision { get; set; } = [ From 2afc513bbb3c9f766593f78731fa3842085f43fb Mon Sep 17 00:00:00 2001 From: ThyWolf Date: Mon, 29 Jan 2024 09:46:25 -0800 Subject: [PATCH 24/24] prepare for `1.5.94.48` release --- SolastaUnfinishedBusiness/Info.json | 2 +- SolastaUnfinishedBusiness/Settings/empty.xml | 12 +----------- SolastaUnfinishedBusiness/Settings/zappastuff.xml | 12 ++---------- .../SolastaUnfinishedBusiness.csproj | 2 +- 4 files changed, 5 insertions(+), 23 deletions(-) diff --git a/SolastaUnfinishedBusiness/Info.json b/SolastaUnfinishedBusiness/Info.json index 2d16a631d2..56e45d7ad0 100644 --- a/SolastaUnfinishedBusiness/Info.json +++ b/SolastaUnfinishedBusiness/Info.json @@ -1,7 +1,7 @@ { "Id": "SolastaUnfinishedBusiness", "DisplayName": "Unfinished Business [UB1]", - "Version": "1.5.94.47", + "Version": "1.5.94.48", "GameVersion": "1.5.94", "ManagerVersion": "0.24.0", "AssemblyName": "SolastaUnfinishedBusiness.dll", diff --git a/SolastaUnfinishedBusiness/Settings/empty.xml b/SolastaUnfinishedBusiness/Settings/empty.xml index 0714d2d2cf..ae9a61efab 100644 --- a/SolastaUnfinishedBusiness/Settings/empty.xml +++ b/SolastaUnfinishedBusiness/Settings/empty.xml @@ -211,14 +211,7 @@ true true true - - CollegeOfHarlequin - MartialMarshal - MartialMartialDefender - PatronMoonlit - RoguishRaven - WayOfTheDistantHand - + Adam_The_Twelth DLC3_Elven_07_Guard @@ -1075,7 +1068,4 @@ false false false - false - false - false \ No newline at end of file diff --git a/SolastaUnfinishedBusiness/Settings/zappastuff.xml b/SolastaUnfinishedBusiness/Settings/zappastuff.xml index 9efe1666bd..c6df3b94b2 100644 --- a/SolastaUnfinishedBusiness/Settings/zappastuff.xml +++ b/SolastaUnfinishedBusiness/Settings/zappastuff.xml @@ -1,6 +1,6 @@ - 0 + 29 0 0 false @@ -211,14 +211,7 @@ true true true - - CollegeOfHarlequin - MartialMarshal - MartialMartialDefender - PatronMoonlit - RoguishRaven - WayOfTheDistantHand - + Adam_The_Twelth DLC3_Elven_07_Guard @@ -948,7 +941,6 @@ PatronCelestial PatronEldritchSurge PatronElementalist - PatronMoonlit PatronMountain PatronRiftWalker PatronSoulBlade diff --git a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj index a61c4c3aee..fac77da3b4 100644 --- a/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj +++ b/SolastaUnfinishedBusiness/SolastaUnfinishedBusiness.csproj @@ -3,7 +3,7 @@ 12 net472 - 1.5.94.47 + 1.5.94.48 https://github.com/SolastaMods/SolastaUnfinishedBusiness git Debug Install;Release Install