OK i tried copying the spell data and adding it to a new file with the necessary edits and a new GUID. Now it doesn't show up in the ability tree but it sorta shows up when you pick your initial cipher ability during character creation but something is... clearly wrong
Here's the edited spell
{
"$type": "Game.GameData.GenericAbilityGameData, Assembly-CSharp",
"DebugName": "Spirit_Lance",
"ID": "6d4838ae-b97b-4c94-8e45-3debfdbaaf8c",
"Components": [{
"$type": "Game.GameData.GenericAbilityComponent, Assembly-CSharp",
"KeywordsIDs": ["ad3de01a-e7a8-4a5e-9ec3-7d858d1ffea7"],
"DisplayName": 436,
"Description": 855,
"DescriptionTactical": -1,
"UpgradeDescriptions": [],
"UpgradedFromID": "00000000-0000-0000-0000-000000000000",
"Vocalization": "GenericSpellCast1",
"Icon": "gui/icons/abilities/wizard/citzal's_spirit_lance.png",
"UsageType": "PerEncounter",
"UsageValue": 1,
"AbilityClassID": "ccdc9675-e2a7-46fa-83e9-7a5368b56265",
"AbilityLevel": 1,
"IsPassive": "false",
"StackingRuleOverride": "Default",
"TriggerOnHit": "false",
"IsModal": "false",
"ModalGroupID": "00000000-0000-0000-0000-000000000000",
"IsCombatOnly": "true",
"IsNonCombatOnly": "false",
"HideFromUI": "false",
"HideFromCombatLog": "false",
"UniqueSet": "None",
"NoiseLevelID": "82bc1ce9-3a81-41ca-a61a-cc1f73a53de7",
"DurationOverride": 0,
"OverrideEmpower": "Default",
"ClearsOnMovement": "false",
"CannotActivateWhileInStealth": "false",
"CannotActivateWhileInvisible": "false",
"ActivationPrerequisites": {
"Conditional": {
"Operator": 0,
"Components": [{
"$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
"Data": {
"FullName": "Boolean HasStatusEffectType(Guid, StatusEffectType)",
"Parameters": ["7d150000-0000-0000-0000-000000000000",
"ChangeForm"],
"UnrealCall": "",
"FunctionHash": 998426332,
"ParameterHash": 413157789
},
"Not": true,
"Operator": 0
}]
}
},
"ApplicationPrerequisites": {
"Conditional": {
"Operator": 0,
"Components": []
}
},
"DeactivationPrerequisites": {
"Conditional": {
"Operator": 0,
"Components": []
}
},
"PowerLevelScaling": {
"ScalingType": "Default",
"BaseLevel": 0,
"LevelIncrement": 1,
"MaxLevel": 0,
"DamageAdjustment": 1,
"DurationAdjustment": 1,
"BounceCountAdjustment": 0,
"ProjectileCountAdjustment": 0,
"AccuracyAdjustment": 0,
"PenetrationAdjustment": 0
},
"StatusEffectKeywordsIDs": [],
"StatusEffectsIDs": [],
"VisualEffects": [],
"SelfMaterialReplacementID": "00000000-0000-0000-0000-000000000000",
"AttackID": "4a5ab49a-7ba0-4caa-be47-6f87eb94ec2e",
"AITargetingConditional": {
"Conditional": {
"Operator": 0,
"Components": []
},
"Scripts": []
},
"AudioEventListID": "f0c0847b-d661-4eb3-88da-36924e73f99e"
},
{
"$type": "Game.GameData.ProgressionUnlockableComponent, Assembly-CSharp"
}]
}
And here's the new progression table addition:
{
"GameDataObjects": [
{
"$type": "Game.GameData.BaseProgressionTableAppendGameData, Assembly-CSharp",
"DebugName": "Spirit_Lance",
"ID": "5ec6e46a-4e3f-4f78-affe-0d7477d3b97f",
"Components": [
{
"$type": "Game.GameData.BaseProgressionTableAppendComponent, Assembly-CSharp",
"BaseTableID": "12ba861c-8f31-45af-869f-e02a9a677484",
"AbilityUnlocks": [
{
"Note": "PL 1 Unlock - Spirit_Lance",
"Category": "General",
"UnlockStyle": "Unlock",
"ActivationObject": "Self",
"AddAbilityID": "6d4838ae-b97b-4c94-8e45-3debfdbaaf8c",
"RemoveAbilityID": "00000000-0000-0000-0000-000000000000",
"Prerequisites": {
"MinimumCharacterLevel": 1,
"PowerLevelRequirement": {
"ClassID": "ccdc9675-e2a7-46fa-83e9-7a5368b56265",
"MinimumPowerLevel": 1
},
"RequiresAbilityID": "00000000-0000-0000-0000-000000000000",
"Conditional": {
"Operator": 0,
"Components": []
},
"VisibilityConditional": {
"Operator": 0,
"Components": []
},
"IsMutuallyExclusiveUpgrade": "true"
}
}
]
}
]
}
]
}
Am i once again just missing something completely obvious here?
EDIT: Yea i was a dumbass again, the reason it was broken was that i had forgotten to write the "GameDataObjects": [{ at the start of the spell file
it works now