Jump to content

Recommended Posts

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?

Capture.JPG

Link to post
Share on other sites
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 by Phenomenum
Link to post
Share on other sites

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

Link to post
Share on other sites
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"?

Link to post
Share on other sites

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

14124d1278376503e7d925d518ef287a.png


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 by commie-saskia
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...