Giter Site home page Giter Site logo

Comments (29)

FrozenDervish avatar FrozenDervish commented on August 14, 2024

Just taking a look you'll want:

{
"_#ArrayMergeSettings": "Merge",

     Code you're changing here

}

from wrathmodificationtemplate.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

The patch looks right. Post the zip to your whole mod.

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

Ok.
PowerOfFaithTier1Buff.zip

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

Here is a copy of the patch pre-build

Power of Faith.zip

from wrathmodificationtemplate.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

No that didn't work either.

from wrathmodificationtemplate.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

Screenshot 2
Screenshot 3
Screenshot 1

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

I think this is right

from wrathmodificationtemplate.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

I'm at a loss at this point. @ijuintekka is probably the best bet for seeing what I'm missing.

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

Ok, thank you for trying to help me.

from wrathmodificationtemplate.

FrozenDervish avatar FrozenDervish commented on August 14, 2024
{
"_#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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

That worked!!! Thank you so much!

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

You must replace everything. If you touch components, you've gotta recreate everything you don't change.

from wrathmodificationtemplate.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

Ok

from wrathmodificationtemplate.

hmmvot avatar hmmvot commented on August 14, 2024

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.

BurlyWurly avatar BurlyWurly commented on August 14, 2024

That's potentially very useful. What does that look like in practice?

from wrathmodificationtemplate.

hmmvot avatar hmmvot commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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.

Senior-Sam61 avatar Senior-Sam61 commented on August 14, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.