commie-saskia Posted May 7, 2019 Posted May 7, 2019 Hi, i'm a first timer on the forum and to modding pillars. So i tried adding Citzal's Spirit Lance to the cipher class because i love using it but was tired of having to pick a monk/wizard hybrid since it'd rather play a monk/cipher but didn't want to give up the lance. it's showing up in the ability tree but i can't click to unlock it during the level up screen and having been banging my head against the wall on the issue for a couple of hours and am out of ideas on how to fix it. here's the file adding it to the progression table { "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": "e7e3c07f-2c88-41d1-9100-19e9a6486d61", "RemoveAbilityID": "00000000-0000-0000-0000-000000000000", "Prerequisites": { "MinimumCharacterLevel": 1, "PowerLevelRequirement": { "ClassID": "acfd1303-4699-4939-91eb-6ac46d4af0bd", "MinimumPowerLevel": 1 }, "RequiresAbilityID": "00000000-0000-0000-0000-000000000000", "Conditional": { "Operator": 0, "Components": [] }, "VisibilityConditional": { "Operator": 0, "Components": [] }, "IsMutuallyExclusiveUpgrade": "true" } } ] } ] } ] } Am i missing something obvious here?
Phenomenum Posted May 8, 2019 Posted May 8, 2019 (edited) On 5/8/2019 at 12:39 AM, commie-saskia said: Am i missing something obvious here? Actually, yes. "PowerLevelRequirement": { "ClassID": "acfd1303-4699-4939-91eb-6ac46d4af0bd", "MinimumPowerLevel": 1 ClassID: "acfd1303-4699-4939-91eb-6ac46d4af0bd" - it's wizard class ID. You need to change this to "ccdc9675-e2a7-46fa-83e9-7a5368b56265" - cipher class ID. Good luck! Edited May 8, 2019 by Phenomenum Pillars of Eternity 1 - Russian Extended Localization Pillars of Eternity 2 - Deadfire Russian Localization Fix Pillars of Eternity 2 - Deadfire Community Patch
house2fly Posted May 8, 2019 Posted May 8, 2019 Yeah, the original spell is wizard only so you'll need to mod that too- just copy the spell data into your mod folder and make any needed changes. Simplest way would probably be to just change the ClassID to 00000000-0000-0000-0000-000000000000, which would make it so any class can use it- changing the ClassID to Cipher class would make it so wizards can't use it otherwise. If that doesn't work, you can also give your copy a new ID, make it cipher-only, and add that to the progression table
commie-saskia Posted May 9, 2019 Author Posted May 9, 2019 10 hours ago, Phenomenum said: ClassID: "acfd1303-4699-4939-91eb-6ac46d4af0bd" - it's wizard class ID. You need to change this to "ccdc9675-e2a7-46fa-83e9-7a5368b56265" - cipher class ID. That solved the problem of it not being unlockable but i still can't actually use the spell since it's stuck on "no uses left" 9 hours ago, house2fly said: Simplest way would probably be to just change the ClassID to 00000000-0000-0000-0000-000000000000, which would make it so any class can use it- changing the ClassID to Cipher class would make it so wizards can't use it otherwise. If that doesn't work, you can also give your copy a new ID, make it cipher-only, and add that to the progression table It is already a new ID, i tested it myself and wizards can still use the original spell since mine is a duplicate added to the cipher progression table that just used the "AddAbilityID" of the original spell. 9 hours ago, house2fly said: Yeah, the original spell is wizard only so you'll need to mod that too- just copy the spell data into your mod folder and make any needed changes. I'm guessing this is why now that the spell shows up and is unlockable it's stuck on "no uses left". The icon under spell indicates that it still uses "1 arcane" to activate. So i just have to make an edited duplicate of the original spell in a new file in my mod folder and edit the progression table to use that as the "AddAbilityID"?
commie-saskia Posted May 9, 2019 Author Posted May 9, 2019 (edited) 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 Edited May 9, 2019 by commie-saskia
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now