This module provides a shared core system for all TabletopTweaks mods, and and any third party mods wishing to use TabletopTweaks systems and utilities.
as the name states I would like to request a centralized method to be added that initializes the default parameters a BlueprintAnswer always requires to not be null to not crash the game:
public static BlueprintAnswer CreateAnswer(ModContextBase modContext, string name, Action<BlueprintAnswer> init = null) { var result = Helpers.CreateBlueprint<BlueprintAnswer>(modContext, name, bp => { bp.NextCue = new CueSelection() { Cues = new List<BlueprintCueBaseReference>(), Strategy = Strategy.First }; bp.ShowOnce = false; bp.ShowOnceCurrentDialog = false; bp.ShowCheck = new ShowCheck() { Type = StatType.Unknown, DC = 0 }; bp.Experience = DialogExperience.NoExperience; bp.DebugMode = false; bp.CharacterSelection = new CharacterSelection() { SelectionType = CharacterSelection.Type.Clear, ComparisonStats = new StatType[0] }; bp.ShowConditions = ActionFlow.EmptyCondition(); bp.SelectConditions = ActionFlow.EmptyCondition(); bp.RequireValidCue = false; bp.AddToHistory = true; bp.OnSelect = ActionFlow.DoNothing(); bp.FakeChecks = new CheckData[0]; bp.AlignmentShift = new AlignmentShift() { Direction = AlignmentShiftDirection.TrueNeutral, Value = 0, Description = new LocalizedString() }; }); init?.Invoke(result); return result; }
as the name states I would like to request a centralized method to be added that initializes the default parameters a BlueprintAnswer always requires to not be null to not crash the game:
public static BlueprintAnswer CreateAnswer(ModContextBase modContext, string name, Action<BlueprintAnswer> init = null) { var result = Helpers.CreateBlueprint<BlueprintAnswer>(modContext, name, bp => { bp.NextCue = new CueSelection() { Cues = new List<BlueprintCueBaseReference>(), Strategy = Strategy.First }; bp.ShowOnce = false; bp.ShowOnceCurrentDialog = false; bp.ShowCheck = new ShowCheck() { Type = StatType.Unknown, DC = 0 }; bp.Experience = DialogExperience.NoExperience; bp.DebugMode = false; bp.CharacterSelection = new CharacterSelection() { SelectionType = CharacterSelection.Type.Clear, ComparisonStats = new StatType[0] }; bp.ShowConditions = ActionFlow.EmptyCondition(); bp.SelectConditions = ActionFlow.EmptyCondition(); bp.RequireValidCue = false; bp.AddToHistory = true; bp.OnSelect = ActionFlow.DoNothing(); bp.FakeChecks = new CheckData[0]; bp.AlignmentShift = new AlignmentShift() { Direction = AlignmentShiftDirection.TrueNeutral, Value = 0, Description = new LocalizedString() }; }); init?.Invoke(result); return result; }