Comments (29)
Just taking a look you'll want:
{
"_#ArrayMergeSettings": "Merge",
Code you're changing here
}
from wrathmodificationtemplate.
It should work fine without the merge bit.
Looks like you're making the same mistake I did when I first tried to do components. There needs to be a unique name field within each component. It can say pretty much whatever you want, each one just needs to be unique. There's a pretty detailed conversation in Issue #16 between me and ijuintekka where I'm learning this for the first time. Here's an example of what your patch could look like:
{
"Components": [
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AC",
"Value": 2,
"name": "Morale_AC_Buff"
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AdditionalAttackBonus",
"Value": 2,
"name": "Morale_Attack_Buff"
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AdditionalDamage",
"Value": 2,
"name": "Morale_Damage_Buff"
},
{
"$type": "3819276ccd091df42818bb86295941c1, SavingThrowBonusAgainstDescriptor",
"SpellDescriptor": "Fear",
"ModifierDescriptor": "Morale",
"Value": 2,
"name": "Morale_FearSave_Buff"
}
]
}
As a side note, you can preserve spacing formatting by highlighting the area and pressing CTRL-E before you post.
from wrathmodificationtemplate.
So I added a unique name to each component and it didn't work. I also added "_#ArrayMergeSettings": "Merge",
at the top but that didn't work either.
I know WittleWolfie's mod wiki mentions type id is needed to be added to components as well, but I don't know how to get the type id.
from wrathmodificationtemplate.
You already have the type id in there. That's what $type is. You used to need dnSpy to pull them but with the Owlcat blueprint files which I assume you used, they're much easier to reference.
from wrathmodificationtemplate.
Looking at the Power of Faith ability, I see the buff has five separate tiers, each with its own set of blueprints. Are you patching every tier, or at least making sure the tier you're patching is the one you're testing?
from wrathmodificationtemplate.
No I guess I'm talking about the context value? Here is the example on wittlewoflie's mod wiki for spell penetration:
"Components": [
{
"$type": "Kingmaker.Designers.Mechanics.Facts.SpellPenetrationBonus, Assembly-CSharp",
"Value": {
"$type": "Kingmaker.UnitLogic.Mechanics.ContextValue, Assembly-CSharp",
"Value": 2
},
"Descriptor": "UntypedStackable"
},
{
"$type": "Kingmaker.Designers.Mechanics.Recommendations.RecommendationRequiresSpellbook, Assembly-CSharp"
},
{
"$type": "Kingmaker.Blueprints.Classes.Prerequisites.PrerequisiteStatValue, Assembly-CSharp",
"Stat": "Intelligence",
"Value": 3
},
{
"$type": "Kingmaker.Designers.Mechanics.Facts.FeatureTagsComponent, Assembly-CSharp",
"FeatureTags": "Magic"
}
]
from wrathmodificationtemplate.
I couldn't tell you why he has that there, it has no type id in it, it's not doing anything. This is the actual spell penetration blueprint:
{
"AssetId": "ee7dc126939e4d9438357fbd5980d459",
"Data": {
"$type": "cb208b98ceacca84baee15dba53b1979, BlueprintFeature",
"PrototypeLink": "",
"m_Overrides": [
"$SpellPenetrationBonus$013b1561-d856-4978-a46e-cfed3da36d87",
"$PrerequisiteStatValue$da8d0bad-f9e1-4f9c-92ad-2814fe163f67"
],
"Components": [
{
"$type": "7a506f785235d39409ef96dd26903afb, SpellPenetrationBonus",
"name": "$SpellPenetrationBonus$013b1561-d856-4978-a46e-cfed3da36d87",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Value": {
"ValueType": "Simple",
"Value": 2,
"ValueRank": "Default",
"ValueShared": "Damage",
"Property": "None",
"m_CustomProperty": null
},
"Descriptor": "UntypedStackable",
"CheckFact": false,
"m_RequiredFact": null
},
{
"$type": "3eff78016821c464391135dd266415f8, RecommendationRequiresSpellbook",
"name": "$RecommendationRequiresSpellbook$667f9695-8593-483c-916c-83e358f7df41",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": []
},
{
"$type": "04406431439974e489cc8fdea779cf46, PrerequisiteStatValue",
"name": "$PrerequisiteStatValue$da8d0bad-f9e1-4f9c-92ad-2814fe163f67",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Group": "All",
"CheckInProgression": false,
"HideInUI": false,
"Stat": "Intelligence",
"Value": 3
},
{
"$type": "6d43a0c88e994d04bd2859978dec9337, FeatureTagsComponent",
"name": "$FeatureTagsComponent$d55fef94-dc39-4dcd-9648-a1015dc17b88",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"FeatureTags": "Magic"
}
],
"Comment": "",
"m_AllowNonContextActions": false,
"m_DisplayName": {
"m_Key": "0885a867-1b5a-400b-9135-e6f44aac6c05",
"m_OwnerString": "ee7dc126939e4d9438357fbd5980d459",
"m_OwnerPropertyPath": "m_DisplayName",
"m_JsonPath": "Strings/Mechanics/Blueprints/Feats/SpellPenetration_m_DisplayName.json",
"Shared": null
},
"m_Description": {
"m_Key": "cca9533b-3f02-472a-8b9b-d37fb42dada6",
"m_OwnerString": "ee7dc126939e4d9438357fbd5980d459",
"m_OwnerPropertyPath": "m_Description",
"m_JsonPath": "Strings/Mechanics/Blueprints/Feats/SpellPenetration_m_Description.json",
"Shared": null
},
"m_DescriptionShort": {
"m_Key": "",
"m_OwnerString": "",
"m_OwnerPropertyPath": "",
"m_JsonPath": "",
"Shared": null
},
"m_Icon": {
"guid": "bc1f3a0b73f66074e89c446418a15bc9",
"fileid": 21300000
},
"HideInUI": false,
"HideInCharacterSheetAndLevelUp": false,
"HideNotAvailibleInUI": false,
"DlcType": "None",
"Groups": [
"Feat",
"WizardFeat"
],
"Ranks": 1,
"ReapplyOnLevelUp": false,
"IsClassFeature": true,
"IsPrerequisiteFor": [
"!bp_1978c3f91cfbbc24b9c9b0d017f4beec",
"!bp_51b6b22ff184eef46a675449e837365d"
]
}
}
from wrathmodificationtemplate.
You've edited your original comment. That's not WrathTemplate format stuff anymore. That's similar to what blueprints look like when they've been extracted, as opposed to what you need to input to change them in this. I'm also pretty sure his guides are for if you're trying to make a UMM-installable mod through C# coding, not one of these.
from wrathmodificationtemplate.
well trying to to use WrathTemplate but nothing I did worked, so that is why I went looking for a guide and i guess i got even more confused. I just posted an example from that mod wiki because it did reference the WrathTemplate. I just don't know what I'm doing wrong.
from wrathmodificationtemplate.
The patch looks right. Post the zip to your whole mod.
from wrathmodificationtemplate.
from wrathmodificationtemplate.
Here is a copy of the patch pre-build
from wrathmodificationtemplate.
Try this, see if it does anything.
{
"Components": [
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AC",
"Value": 2,
"name": "Morale_AC_Buff"
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AdditionalAttackBonus",
"Value": 2,
"name": "Morale_Attack_Buff"
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"Descriptor": "Morale",
"Stat": "AdditionalDamage",
"Value": 2,
"name": "Morale_Damage_Buff"
},
{
"$type": "3819276ccd091df42818bb86295941c1, SavingThrowBonusAgainstDescriptor",
"SpellDescriptor": "Fear",
"ModifierDescriptor": "Morale",
"Value": 2,
"name": "Morale_FearSave_Buff",
"Bonus": {
"ValueType": "Simple",
"Value": 0,
"ValueRank": "Default",
"ValueShared": "Damage",
"Property": "None",
"m_CustomProperty": null
}
}
]
}
from wrathmodificationtemplate.
No that didn't work either.
from wrathmodificationtemplate.
Are you applying the patch to the game right? Can you give me a screenshot of your C:\Users\user\AppData\LocalLow\Owlcat Games\Pathfinder Wrath Of The Righteous
from wrathmodificationtemplate.
from wrathmodificationtemplate.
I think this is right
from wrathmodificationtemplate.
I'm at a loss at this point. @ijuintekka is probably the best bet for seeing what I'm missing.
from wrathmodificationtemplate.
Ok, thank you for trying to help me.
from wrathmodificationtemplate.
{
"_#ArrayMergeSettings": "Merge",
"Components": [
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$9be7c9ae-e5cc-40d7-b722-c2befaa089a1",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AC",
"Value": 2,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$73ee71d7-4280-4020-81dc-e6c0786569e2",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalAttackBonus",
"Value": 2,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$de355b0a-4861-462e-8018-c83e9e77f0bc",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalDamage",
"Value": 2,
"ScaleByBasicAttackBonus": false
},
{
"$type": "3819276ccd091df42818bb86295941c1, SavingThrowBonusAgainstDescriptor",
"name": "$SavingThrowBonusAgainstDescriptor$03870295-9ed6-4397-b29a-470f4adbb97a",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"SpellDescriptor": {
"m_IntValue": 32
},
"ModifierDescriptor": "Morale",
"Value": 2,
"Bonus": {
"ValueType": "Simple",
"Value": 0,
"ValueRank": "Default",
"ValueShared": "Damage",
"Property": "None",
"m_CustomProperty": null
},
"OnlyPositiveValue": false,
"m_DisablingFeature": null
}
],
}
This makes it work.
from wrathmodificationtemplate.
That worked!!! Thank you so much!
from wrathmodificationtemplate.
For tier 3-5 energy resistance and fortification is added to the buff. Can I just replace the morale bonuses or do I have to replace all the components?
from wrathmodificationtemplate.
You must replace everything. If you touch components, you've gotta recreate everything you don't change.
from wrathmodificationtemplate.
Ok
from wrathmodificationtemplate.
You must replace everything. If you touch components, you've gotta recreate everything you don't change.
"_#ArrayMergeSettings": "Merge"
allows you to use null
in place of components you don't want to change. "Concat"
allows you to add new components at the end of the Components
array.
from wrathmodificationtemplate.
That's potentially very useful. What does that look like in practice?
from wrathmodificationtemplate.
You can find example in BlueprintCharge.patch:
First component is skipped than three next components are modified. "_#Entries"
array allows you to apply different "_#ArrayMergeSettings"
to different arrays of original blueprint.
Blueprints patching works via Newtonsof.Json JObject.Merge
method:
originalBlueprint.Merge(patch, new JsonMergeSettings {MergeArrayHandling = MergeArrayHandling.Merge});
where originalBlueprint
and patch
are JObjects
.
You can create project with Newtonsoft.Json and check your patches without starting the game.
from wrathmodificationtemplate.
Ok so I didn't type this up right. I am trying to modify the morale bonus of PowerOfFaithTier3Buff and skip the energy resistance bonus, only the main character is getting the morale bonus and no energy resistance. My companions are not getting the buff at all.
Here is what I have:
{
"_#Entries":[
{
"_#ArrayMergeSettings": "Merge",
"Components": [
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$9be7c9ae-e5cc-40d7-b722-c2befaa089a1",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AC",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$73ee71d7-4280-4020-81dc-e6c0786569e2",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalAttackBonus",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$de355b0a-4861-462e-8018-c83e9e77f0bc",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalDamage",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "3819276ccd091df42818bb86295941c1, SavingThrowBonusAgainstDescriptor",
"name": "$SavingThrowBonusAgainstDescriptor$03870295-9ed6-4397-b29a-470f4adbb97a",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"SpellDescriptor": {
"m_IntValue": 32
},
"ModifierDescriptor": "Morale",
"Value": 3,
"Bonus": {
"ValueType": "Simple",
"Value": 0,
"ValueRank": "Default",
"ValueShared": "Damage",
"Property": "None",
"m_CustomProperty": null
},
"OnlyPositiveValue": false,
"m_DisablingFeature": null
},
null,
{
"$type": "28c478c0c3f715e43bef94a3a6f8b8bc, AddDamageResistanceEnergy",
"name": "$AddDamageResistanceEnergy$e72a39d6-7cb6-4724-8e14-2ea1f208aadc"
},
null,
{
"$type": "28c478c0c3f715e43bef94a3a6f8b8bc, AddDamageResistanceEnergy",
"name": "$AddDamageResistanceEnergy$2b25aa96-9745-4452-9573-de07cff0008d"
},
null,
{
"$type": "28c478c0c3f715e43bef94a3a6f8b8bc, AddDamageResistanceEnergy",
"name": "$AddDamageResistanceEnergy$2f781cff-c018-41c0-82c3-2e187a607180"
},
null,
{
"$type": "28c478c0c3f715e43bef94a3a6f8b8bc, AddDamageResistanceEnergy",
"name": "$AddDamageResistanceEnergy$7f45f68e-1696-462b-8fb0-f414b1a8ae54"
},
null,
{
"$type": "28c478c0c3f715e43bef94a3a6f8b8bc, AddDamageResistanceEnergy",
"name": "$AddDamageResistanceEnergy$a055d95f-e01f-4113-bcc5-95c5a6403170"
}
]
}
]
}
from wrathmodificationtemplate.
Nevermind, I see it was supposed to be
{
"_#Entries":[
{
"_#ArrayMergeSettings": "Merge",
"Components": [
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$9be7c9ae-e5cc-40d7-b722-c2befaa089a1",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AC",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$73ee71d7-4280-4020-81dc-e6c0786569e2",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalAttackBonus",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "a2844c135c0324e439072bd3cc2f9260, AddStatBonus",
"name": "$AddStatBonus$de355b0a-4861-462e-8018-c83e9e77f0bc",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"Descriptor": "Morale",
"Stat": "AdditionalDamage",
"Value": 3,
"ScaleByBasicAttackBonus": false
},
{
"$type": "3819276ccd091df42818bb86295941c1, SavingThrowBonusAgainstDescriptor",
"name": "$SavingThrowBonusAgainstDescriptor$03870295-9ed6-4397-b29a-470f4adbb97a",
"PrototypeLink": {
"guid": "",
"name": ""
},
"m_Overrides": [],
"SpellDescriptor": {
"m_IntValue": 32
},
"ModifierDescriptor": "Morale",
"Value": 3,
"Bonus": {
"ValueType": "Simple",
"Value": 0,
"ValueRank": "Default",
"ValueShared": "Damage",
"Property": "None",
"m_CustomProperty": null
},
"OnlyPositiveValue": false,
"m_DisablingFeature": null
},
null,
null,
null,
null,
null
]
}
]
}
from wrathmodificationtemplate.
Related Issues (20)
- Creating an entirely new soundset, rather than replacement? HOT 4
- Adding entirely new Music?
- Modifying Components HOT 1
- Adding New Blueprints HOT 51
- Companion Selection Choices Changing After Patching Selection Blueprint HOT 5
- Patching Blueprints After 1.1.1 HOT 3
- LocalizedName HOT 13
- Class Progression HOT 7
- Some blueprint patches no longer patching 1.1.1 HOT 16
- GUI Construction HOT 5
- Couple questions HOT 32
- Curious Blueprint Issue HOT 1
- Help in changing Holy blare enchantment to reference correct ability HOT 5
- ExtractBlueprintDirectReferences doesn't support WeakResourceLink HOT 4
- PatchMaterialShaders tries to load StreamingAssets/Bundles/shaders
- Struggling to get Mods Running for Some Users
- Weapons issue HOT 1
- Is it possible to change armor color?
- All mods broken in 2.0.0. Affected saves no longer load. HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wrathmodificationtemplate.