Skip to content

Commit

Permalink
Merge pull request #1400 from SolastaMods/Dev
Browse files Browse the repository at this point in the history
1.3.57.3A
  • Loading branch information
ThyWoof authored Jun 15, 2022
2 parents d3436bc + f945666 commit 84c36fb
Show file tree
Hide file tree
Showing 25 changed files with 308 additions and 228 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@
"featureDefinition": "Definition:AttributeModifierElfAbilityScoreIncrease:122e862ec1d88c649b2d784db05233cd",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:AttributeModifierElfHighAbilityScoreIncrease:73c548582398b1f4cba312925b63348b",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:DarkelfMagic:0271c652-b4aa-4346-806d-9711e634271b",
Expand All @@ -35,24 +40,34 @@
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:FeatureSetElfFeyAncestry:c123d2bc2667e7641a5b5bc9fdd94512",
"featureDefinition": "Definition:ProficiencyElfWeaponTraining:d834d84ae89d67846af1a9262e0f62ff",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:PowerDarkelfFaerieFire:68c2a6d0-cbac-4185-bdf5-b0f5b22ef73a",
"featureDefinition": "Definition:FeatureSetElfFeyAncestry:c123d2bc2667e7641a5b5bc9fdd94512",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:PowerDarkelfDarkness:0c413f86-2fa8-4f3d-999a-89e6c7b5b14d",
"featureDefinition": "Definition:CastSpellElfHigh:af29de11ba0046743bc46559b557e32a",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:ProficiencyElfKeenSenses:531f0b2fe59517a45a4c0cd65cd7acda",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:FeatureSetElfHighLanguages:752c07b8faab19c43af3b28543d9f15d",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:MoveModeMove6:6f358015fcdb8e147a7cfef7e2506430",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:MoveModeMove6:6f358015fcdb8e147a7cfef7e2506430",
Expand Down Expand Up @@ -82,6 +97,16 @@
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:CampAffinityElfTrance:02e0f7bc4afeb2b43ab60ec0a048f5ae",
"level": 1
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:PowerDarkelfFaerieFire:68c2a6d0-cbac-4185-bdf5-b0f5b22ef73a",
"level": 3
},
{
"$type": "FeatureUnlockByLevel, Assembly-CSharp",
"featureDefinition": "Definition:PowerDarkelfDarkness:0c413f86-2fa8-4f3d-999a-89e6c7b5b14d",
"level": 5
}
],
"subRaces": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"hasShoveRoll": false,
"createdByCharacter": true,
"difficultyClassComputation": "SpellCastingFeature",
"savingThrowDifficultyAbility": "Charisma",
"savingThrowDifficultyAbility": "Wisdom",
"fixedSavingThrowDifficultyClass": 15,
"savingThrowAffinitiesBySense": [],
"savingThrowAffinitiesByFamily": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"hasShoveRoll": false,
"createdByCharacter": true,
"difficultyClassComputation": "SpellCastingFeature",
"savingThrowDifficultyAbility": "Charisma",
"savingThrowDifficultyAbility": "Wisdom",
"fixedSavingThrowDifficultyClass": 15,
"savingThrowAffinitiesBySense": [],
"savingThrowAffinitiesByFamily": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"targetConditionAsset": null,
"targetSide": "All",
"durationType": "Minute",
"durationParameter": 1,
"durationParameter": 10,
"endOfEffect": "EndOfTurn",
"hasSavingThrow": false,
"disableSavingThrowOnAllies": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@
"additionalTargetCellsPerIncrement": 0,
"additionalItemBonus": 0,
"additionalWeaponDie": 0,
"alteredDuration": -2
"alteredDuration": "Minutes_1_10_480_1440_Infinite"
},
"speedType": "Instant",
"speedParameter": 10.0,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@
"hasShoveRoll": false,
"createdByCharacter": true,
"difficultyClassComputation": "SpellCastingFeature",
"savingThrowDifficultyAbility": "Charisma",
"savingThrowDifficultyAbility": "Wisdom",
"fixedSavingThrowDifficultyClass": 15,
"savingThrowAffinitiesBySense": [],
"savingThrowAffinitiesByFamily": [],
Expand Down
2 changes: 1 addition & 1 deletion Diagnostics/NexusDescription.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ All settings start disabled by default. On first start the mod will display an w
[list=1]

[*][b]Bolgrif[/b]: Bolgrifs are half-giants living in the frozen highlands of Solasta. They are crafty, cautious, reclusive, distrust most humanoids except elves and prefer to live far from civilization in tight-knit clans. If pressed into battle, bolgrifs demonstrate formidable skills with weapons and nature magic.
[*][b]Darkelf[/b]: Darkelves are descendants of elves that have been changed over time by living in the inhospitable Badlands. Darkelves are largely nocturnal and have become adapted to living in ancient Badlands ruins, especially buried underground ruins. They tend to have dark skin and pale hair.
[*][b]DarkElf[/b]: Darkelves are descendants of elves that have been changed over time by living in the inhospitable Badlands. Darkelves are largely nocturnal and have become adapted to living in ancient Badlands ruins, especially buried underground ruins. They tend to have dark skin and pale hair.
[*][b]Gnome[/b]: A constant hum of busy activity pervades the warrens and neighborhoods where gnomes form their close-knit communities. Louder sounds punctuate the hum: a crunch of grinding gears here, a minor explosion there, a yelp of surprise or triumph, and especially bursts of laughter. Gnomes take delight in life, enjoying every moment of invention, exploration, investigation, creation, and play.
[/list]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using SolastaCommunityExpansion.Api.Infrastructure;

namespace SolastaCommunityExpansion.Builders.Features;

Expand Down Expand Up @@ -43,6 +44,10 @@ protected override void Initialise()
// The game throws an exception if there is no effect description.
Definition.effectDescription = new EffectDescription();
}
else
{
Definition.effectDescription = Definition.effectDescription.DeepCopy();
}
}

public TBuilder Configure(int usesPerRecharge, RuleDefinitions.UsesDetermination usesDetermination,
Expand All @@ -60,7 +65,7 @@ public TBuilder Configure(int usesPerRecharge, RuleDefinitions.UsesDetermination
Definition.proficiencyBonusToAttack = proficiencyBonusToAttack;
Definition.abilityScoreBonusToAttack = abilityScoreBonusToAttack;
Definition.abilityScore = abilityScore;
Definition.effectDescription = effectDescription;
Definition.effectDescription = effectDescription.DeepCopy();

return This();
}
Expand Down Expand Up @@ -95,7 +100,7 @@ public TBuilder Configure(int usesPerRecharge, RuleDefinitions.UsesDetermination

public TBuilder SetEffectDescription(EffectDescription effect)
{
Definition.effectDescription = effect;
Definition.effectDescription = effect.DeepCopy();
return This();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,86 +1,86 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SolastaCommunityExpansion.Api.Infrastructure;
using TA;
using UnityEngine;

namespace SolastaCommunityExpansion.Builders;

public abstract class MorphotypeElementDefinitionBuilder<TDefinition, TBuilder> : DefinitionBuilder<TDefinition, TBuilder>
public abstract class
MorphotypeElementDefinitionBuilder<TDefinition, TBuilder> : DefinitionBuilder<TDefinition, TBuilder>
where TDefinition : MorphotypeElementDefinition
where TBuilder : MorphotypeElementDefinitionBuilder<TDefinition, TBuilder>
{
public TBuilder SetBodyDecorationBlendFactor(float value)
{
Definition.bodyDecorationBlendFactor = value;
return This();
}
public TBuilder SetBodyDecorationType(GraphicsDefinitions.BodyDecorationType value)
{
Definition.bodyDecorationType = value;
return This();
}
public TBuilder SetCategory(MorphotypeElementDefinition.ElementCategory value)
{
Definition.category = value;
return This();
}

public TBuilder SetMainColor(UnityEngine.Color value)
public TBuilder SetBodyDecorationBlendFactor(float value)
{
Definition.bodyDecorationBlendFactor = value;
return This();
}

public TBuilder SetBodyDecorationType(GraphicsDefinitions.BodyDecorationType value)
{
Definition.bodyDecorationType = value;
return This();
}

public TBuilder SetCategory(MorphotypeElementDefinition.ElementCategory value)
{
Definition.category = value;
return This();
}

public TBuilder SetMainColor(Color value)
{
Definition.mainColor = value;
return This();
}

public TBuilder SetMinMaxValue(TA.RangedFloat value)
{
Definition.minMaxValue = value;
return This();
}

public TBuilder SetOriginAllowed(string[] value)
{
Definition.originAllowed = value;
return This();
}

public TBuilder SetPlayerSelectable(bool value)
{
Definition.playerSelectable = value;
return This();
}

public TBuilder SetReplaceEyeColorMask(bool value)
{
Definition.replaceEyeColorMask = value;
return This();
}

public TBuilder SetSecondColor(UnityEngine.Color value)
{
Definition.secondColor = value;
return This();
}

public TBuilder SetSubClassFilterMask(GraphicsDefinitions.MorphotypeSubclassFilterTag value)
{
Definition.subClassFilterMask = value;
return This();
}

public TBuilder SetThirdColor(UnityEngine.Color value)
{
Definition.thirdColor = value;
return This();
}
return This();
}

public TBuilder SetMinMaxValue(RangedFloat value)
{
Definition.minMaxValue = value;
return This();
}

public TBuilder SetOriginAllowed(string[] value)
{
Definition.originAllowed = value;
return This();
}

public TBuilder SetPlayerSelectable(bool value)
{
Definition.playerSelectable = value;
return This();
}

public TBuilder SetReplaceEyeColorMask(bool value)
{
Definition.replaceEyeColorMask = value;
return This();
}

public TBuilder SetSecondColor(Color value)
{
Definition.secondColor = value;
return This();
}

public TBuilder SetSubClassFilterMask(GraphicsDefinitions.MorphotypeSubclassFilterTag value)
{
Definition.subClassFilterMask = value;
return This();
}

public TBuilder SetThirdColor(Color value)
{
Definition.thirdColor = value;
return This();
}

public TBuilder SetSortOrder(int value)
{
Definition.guiPresentation.sortOrder = value;
return This();
}

#region Constructors

protected MorphotypeElementDefinitionBuilder(string name, Guid namespaceGuid) : base(name, namespaceGuid)
Expand All @@ -91,20 +91,23 @@ protected MorphotypeElementDefinitionBuilder(string name, string definitionGuid)
{
}

protected MorphotypeElementDefinitionBuilder(TDefinition original, string name, Guid namespaceGuid) : base(original, name,
protected MorphotypeElementDefinitionBuilder(TDefinition original, string name, Guid namespaceGuid) : base(original,
name,
namespaceGuid)
{
}

protected MorphotypeElementDefinitionBuilder(TDefinition original, string name, string definitionGuid) : base(original, name,
protected MorphotypeElementDefinitionBuilder(TDefinition original, string name, string definitionGuid) : base(
original, name,
definitionGuid)
{
}

#endregion
}

public class MorphotypeElementDefinitionBuilder : MorphotypeElementDefinitionBuilder<MorphotypeElementDefinition, MorphotypeElementDefinitionBuilder>
public class MorphotypeElementDefinitionBuilder : MorphotypeElementDefinitionBuilder<MorphotypeElementDefinition,
MorphotypeElementDefinitionBuilder>
{
#region Constructors

Expand All @@ -116,12 +119,14 @@ protected MorphotypeElementDefinitionBuilder(string name, string definitionGuid)
{
}

protected MorphotypeElementDefinitionBuilder(MorphotypeElementDefinition original, string name, Guid namespaceGuid) : base(original, name,
namespaceGuid)
protected MorphotypeElementDefinitionBuilder(MorphotypeElementDefinition original, string name, Guid namespaceGuid)
: base(original, name,
namespaceGuid)
{
}

protected MorphotypeElementDefinitionBuilder(MorphotypeElementDefinition original, string name, string definitionGuid) : base(original,
protected MorphotypeElementDefinitionBuilder(MorphotypeElementDefinition original, string name,
string definitionGuid) : base(original,
name, definitionGuid)
{
}
Expand Down
15 changes: 5 additions & 10 deletions SolastaCommunityExpansion/Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
CHANGES:

- Add Darkelf race [SilverGriffon]
- Fix Deadeye and Power Attack to not remove concentration from heroes
- Fix Hand Crossbows to leverage Archery fighting style
- Fix Scout Sentinel to remove summoned weapons on long rest
- Fix War Caster to account for bundled cantrips (i.e.: Produce Flame)

PATRONS:

- Use *Mod UI > Credits > Donations* if you can financially support
- Money to be spent on DeepL Pro, GitHub Personal, JetBrains, etc.
- Add support for races to grant features at levels > 1
- Improve DarkElf to grant features at levels 3 and 5
- Fix Chinese translations
- Fix DarkElf incorrectly changing other game blueprints
- Fix Shield Expert to benefit from Two Weapon fighting style
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ private static void BuildEldritchInvocationsSpellsToCantrips()
false,
false,
AttributeDefinitions.Charisma,
entry.Value.EffectDescription.DeepCopy(), // need to copy to avoid issues with the source spells
entry.Value.EffectDescription,
true)
.AddToDB();

Expand Down
Loading

0 comments on commit 84c36fb

Please sign in to comment.