Jump to content

Swapping Armor and Weapon Models


Recommended Posts

I think you just need to change some values in the items.gamedatabundle file, inputing the values from the items you want. Take the Lovers Embrace, for example. 

 

{

"$type": "Game.GameData.WeaponGameData, Assembly-CSharp",

"DebugName": "Dagger_U_Lovers_Embrace",

"ID": "447483a9-d930-41a3-bcac-8a5bd0d6284e",

"Components": [{

"$type": "Game.GameData.ItemComponent, Assembly-CSharp",

"DisplayName": 3581,

"DescriptionText": 4949,

"FilterType": "Weapons",

"InventoryAudioEventListID": "6c78876c-24bb-427e-91ca-074651c68d91",

"IsQuestItem": "false",

"IsIngredient": "false",

"IsCurrency": "false",

"IsAdventuringItem": "false",

"CanSellForFullValue": "false",

"MaxStackSize": 1,

"NeverDropAsLoot": "false",

"CanBePickpocketed": "true",

"IsUnique": "true",

"Value": 35,

"IconTextureSmall": "gui/icons/items/weapons/dagger/dagger_01_s.png",

"IconTextureLarge": "gui/icons/items/weapons/dagger/dagger_01_l.png",

"PencilSketchTexture": "",

"InspectOnUseButton": [],

"IsPlaceholder": "false"

}, {

"$type": "Game.GameData.EquippableComponent, Assembly-CSharp",

"EquipmentType": "Dagger",

"EquipmentSlot": "AnyWeapon",

"AppearancePiece": {

"ModelVisualDataPath": "prefabs/items/appearance/weapons/dagger/a_dagger05.asset"

},

"ItemModsIDs": ["347d7fa5-ea9e-4c6e-9264-8e5999e3eaf3", "b420d957-6932-4b02-8e02-1393b07f390d", "cd902771-dbf6-40bb-896d-d36c2e95f04e"],

"OnEquipVisualEffects": [],

"RestrictedToClass": [],

"RestrictedToPlayer": "false",

"ProficientAbilityID": "8c37d2f5-2aa5-4906-a2b1-5bca96a0dce2",

"CannotUnequip": "false",

"ItemRendererPrefab": "prefabs/itemrenderers/genericitemrenderer.prefab",

"ItemModel": "",

"AnimationController": "",

"PaperdollOverrideRenderer": "",

"AttackSummonID": "00000000-0000-0000-0000-000000000000",

"CannotSheathe": "false",

"PropVisualEffects": []

}, {

"$type": "Game.GameData.WeaponComponent, Assembly-CSharp",

"Stance": "OneHanded",

"AnimationStanceID": "42de436a-5f52-4bc5-8310-076eb320abc4",

"StatusEffectsOnLaunchIDs": [],

"IsDisplayedWhenAlternate": "true",

"IsUniversalType": "false",

"AttackID": "afdf01d1-970c-4d0a-98a9-338a2f7052e9",

"NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63",

"ForceBackScabbard": "false",

"ScabbardAppearancePiece": {

"ModelVisualDataPath": "prefabs/items/appearance/weapons/dagger/a_dagger01_scabbard.asset"

},

"ScabbardRendererPrefab": "prefabs/itemrenderers/genericitemrenderer.prefab",

"ScabbardModel": "",

"AudioEventListID": "00000000-0000-0000-0000-000000000000"

}

]

}

Edited by TT1
  • Like 2
Link to comment
Share on other sites

I'll expand on TT1's post a little bit. It's pretty easy, but pretty tedious.

  1. Navigate to the game's gamedata folder (Example: C:\Games\Steam\steamapps\common\Pillars of Eternity II\PillarsOfEternityII_Data\exported\design\gamedata)
  2. Open items.gamedatabundle with your editor of choice (Example: Notepad++)
    1. These files are pretty large, so it can take awhile to open/edit them.
  3. Find (CTRL+F) the DebugName of the item whose appearance you want to use (example: "DebugName":"Sword_U_Watchers_Sword",)
  4. Sort through the array of item object data to find the appearance you want to use (example: "AppearancePiece":{"ModelVisualDataPath":"prefabs/items/appearance/weapons/sword/a_sword01_v02_watcher.asset"},)
  5. Copy the entire AppearancePiece line into a new file.
  6. Find (CTRL+F) the DebugName of the item whose appearance you want to replace (example: "DebugName":"Dagger_U_Lovers_Embrace",)
  7. Copy ALL of this item's object data into a second new file (it should look something like what TT1 posted).
  8. Sort through the second item's array of object data to find the appearance you want to replace (example: "AppearancePiece": {"ModelVisualDataPath": "prefabs/items/appearance/weapons/dagger/a_dagger05.asset"},).
  9. Replace the ModelVisualDataPath value in file #2 with the value copied in file #1 (step 4-5).
  10. Save file #2 as george_truman.gamedatabundle on your desktop (or somewhere else easy to find).
  11. Navigate to your override directory, or create an override directory if you do not have one (example: C:\Games\Steam\steamapps\common\Pillars of Eternity II\PillarsOfEternityII_Data\override).
  12. Create a new directory within your override directory named "george_truman model swaps"
  13. Copy the george_truman.gamedatabundle file into the "george_truman model swaps" directory
Edited by Shadowstrider
  • Like 4
Link to comment
Share on other sites

Would it be possible to change a weapon's actual base type, without changing its model, in the same way? For instance, turning Modwyr into a rapier?

 

Yep. I haven't played with weapons as much, so I don't know how this will play out. From what I know, using the example TT1 posted:

 

"EquipmentType": "Dagger",

"ProficientAbilityID": "8c37d2f5-2aa5-4906-a2b1-5bca96a0dce2",

 

You will need to find a rapier in the items data and confirm the correct values.

 

If you want the rapier animations, I think you have to change these:

"AnimationStanceID": "42de436a-5f52-4bc5-8310-076eb320abc4",

"AttackID": "afdf01d1-970c-4d0a-98a9-338a2f7052e9",

 

You can also apply visual effects. A simple one from the watcher's blade:

 

"OnEquipVisualEffects":[

{
"VisualEffect":"",
"AttachPoint":"EmissionMesh",
"EmissiveColor":{
"A":1,
"R":1,
"G":1,
"B":1
},
"EmissiveGlowScale":1
}
],
  • Like 3
Link to comment
Share on other sites

You can also apply visual effects. A simple one from the watcher's blade:

 

"OnEquipVisualEffects":[

{

"VisualEffect":"",

"AttachPoint":"EmissionMesh",

"EmissiveColor":{

"A":1,

"R":1,

"G":1,

"B":1

},

"EmissiveGlowScale":1

}

],

 

I tried adding this, but even in a new game it doesn't show on the weapon. Could I possibly have done something wrong? :(

 

post-51558-0-11412800-1528501970_thumb.jpg

  • Like 1

Aloth massages his temples, shaking his head.

Link to comment
Share on other sites

As I mentioned, I haven't played with item/weapon modification much. If I had to guess, the watcher's blade visual might actually be baked into the model, and the emissive color just sets some element's glow color. That's what I get for just grabbing a random example.

 

Try this:

 

"OnEquipVisualEffects": [{
"VisualEffect": "prefabs/effects/abilities/wizzard/fx_citzals_enchanted_armory_sword_wpn.prefab",
"AttachPoint""Fx_Bone_01",
"EmissiveColor": {
"A": 1,
"R": 0.8313726,
"G": 0.7764706,
"B": 1
},
"EmissiveGlowScale": 1
}],

 

I slapped that on to the model of the rapier (as well as Modwyr) from your screenshot, and I had a glowing weapons. Technically speaking this is the visual from Citzal's summoned greatsword, but it's pretty close to the visual of the watcher's blade.

 

You should be able to use any of these attach points. Since some items are using skeleton attach points (RightHand), it's probably safe to say you should be able to attach to any skeleton element.

"AttachPoint": "Fx_Bone_01",

"AttachPoint": "EmissionMesh",

"AttachPoint": "RightWeapon",

"AttachPoint": "RightHand",

 

Here is a list of some of the Visual Effects from the items.gamedatabundle. Since some of these appear to be ability vfx, it's probably safe to say you should be able to use any of the visual effects from the abilities.gamedatabundle as well.

"VisualEffect""prefabs/effects/abilities/wizzard/fx_citzals_enchanted_armory_sword_wpn.prefab",

"VisualEffect": "prefabs/effects/abilities/wizzard/fx_citzals_enchanted_armory_morningstar_wpn.prefab",

"VisualEffect": "prefabs/effects/abilities/druid/fx_great_sword_firebrand.prefab",

"VisualEffect": "prefabs/effects/abilities/wizzard/fx_citzals_spirit_lance_weapon.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_berath.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_eothas.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_magran_sword.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_skaen_club.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_skaen_stiletto.prefab",

"VisualEffect": "prefabs/effects/abilities/wizzard/fx_concelhauts_parasitic_staff_wpn.prefab",

"VisualEffect": "prefabs/effects/abilities/wizzard/fx_llengraths_warding_staff_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_hel_beckoning.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_torchflame_wpn_green_unique.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_torchflame_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_lantern_flame_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_candle_flame_prop.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_lethandrias_devotion.prefab",

"VisualEffect": "prefabs/effects/abilities/priest/fx_spiritual_weapon_gaun_lantern.prefab",

"VisualEffect": "prefabs/effects/abilities/chanter/fx_animated_great_sword_summon.prefab",

"VisualEffect": "prefabs/effects/abilities/chanter/fx_animated_pike_summon.prefab",

"VisualEffect": "prefabs/effects/abilities/chanter/fx_animated_wand_summon.prefab",

"VisualEffect": "prefabs/effects/abilities/chanter/fx_animated_war_bow_summon.prefab",

"VisualEffect": "prefabs/effects/abilities/cast/fx_cast_cipher_generic_head.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_engoliero_me_espir_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_sun_and_moon.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_magistrates_cudgel.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_thundercrack_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_animancers_sabre_blade_wpn.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_grave_calling.prefab",

"VisualEffect": "prefabs/effects/items/weapons/fx_blackbow_wpn.prefab",

Edited by Shadowstrider
  • Like 4
Link to comment
Share on other sites

I've been playing around a bit with the codes you provided, but I still can't seem to get a glowy rapier. Perhaps the effect does not load retroactively?

  • Like 1

Aloth massages his temples, shaking his head.

Link to comment
Share on other sites

I've been playing around a bit with the codes you provided, but I still can't seem to get a glowy rapier. Perhaps the effect does not load retroactively?

Post the full data object for the item you've created/modified and I'll take a look. I thought I used the rapier model you showed in the screenshot and had no issues.

  • Like 3
Link to comment
Share on other sites

Post the full data object for the item you've created/modified and I'll take a look. I thought I used the rapier model you showed in the screenshot and had no issues.

 

Here's what is in the items.gamedatabundle right now:

 

{
      "$type": "Game.GameData.WeaponGameData, Assembly-CSharp",
      "DebugName": "Rapier_U_Squids_Grasp",
      "ID": "a479821c-6fcf-43aa-823c-bcb7aed52697",
      "Components": [
        {
          "$type": "Game.GameData.ItemComponent, Assembly-CSharp",
          "DisplayName": 2519,
          "DescriptionText": 5087,
          "FilterType": "Weapons",
          "InventoryAudioEventListID": "88a07545-2f97-4451-a839-4fc61287ea65",
          "IsQuestItem": "false",
          "IsIngredient": "false",
          "IsCurrency": "false",
          "IsAdventuringItem": "false",
          "CanSellForFullValue": "false",
          "MaxStackSize": 1,
          "NeverDropAsLoot": "false",
          "CanBePickpocketed": "true",
          "IsUnique": "true",
          "Value": 35,
          "IconTextureSmall": "gui/icons/items/weapons/rapier/rapier_squids_grasp_s.png",
          "IconTextureLarge": "gui/icons/items/weapons/rapier/rapier_squids_grasp_l.png",
          "PencilSketchTexture": "",
          "InspectOnUseButton": [
            
          ],
          "IsPlaceholder": "false"
        },
        {
          "$type": "Game.GameData.EquippableComponent, Assembly-CSharp",
          "EquipmentType": "Rapier",
          "EquipmentSlot": "AnyWeapon",
          "AppearancePiece": {
            "ModelVisualDataPath": "prefabs/items/appearance/weapons/rapier/a_rapier04.asset"
          },
          "ItemModsIDs": [
            "460c7401-c1e5-40ca-b11a-1a4da4218378",
            "8b93c088-542b-46a8-a5a3-df0e74854157",
            "10cfc93a-a886-41fd-9e79-b891a7cbd40f",
            "e44c6684-44d3-4574-b9a1-881f0082be0b",
            "51e9359b-1056-4539-be54-d24c7a1d4c6c"
          ],
          "OnEquipVisualEffects": [
            {
              "VisualEffect": "prefabs/effects/abilities/wizzard/fx_citzals_enchanted_armory_sword_wpn.prefab",
              "AttachPoint": "Fx_Bone_01",
              "EmissiveColor": {
                "A": 1,
                "R": 0.8313726,
                "G": 0.7764706,
                "B": 1
              },
              "EmissiveGlowScale": 1
            }
          ]
  • Like 1

Aloth massages his temples, shaking his head.

Link to comment
Share on other sites

Well, this works for me. At-a-glance, you're definitely missing data, I'm not going to figure out exactly which pieces are needed, but this will work:

{
	"GameDataObjects": [
    {
		"$type": "Game.GameData.WeaponGameData, Assembly-CSharp",
		"DebugName": "Rapier_U_Squids_Grasp",
		"ID": "a479821c-6fcf-43aa-823c-bcb7aed52697",
		"Components": [{
			"$type": "Game.GameData.ItemComponent, Assembly-CSharp",
			"DisplayName": 2519,
			"DescriptionText": 5087,
			"FilterType": "Weapons",
			"InventoryAudioEventListID": "88a07545-2f97-4451-a839-4fc61287ea65",
			"IsQuestItem": "false",
			"IsIngredient": "false",
			"IsCurrency": "false",
			"IsAdventuringItem": "false",
			"CanSellForFullValue": "false",
			"MaxStackSize": 1,
			"NeverDropAsLoot": "false",
			"CanBePickpocketed": "true",
			"IsUnique": "true",
			"Value": 35,
			"IconTextureSmall": "gui/icons/items/weapons/rapier/rapier_squids_grasp_s.png",
			"IconTextureLarge": "gui/icons/items/weapons/rapier/rapier_squids_grasp_l.png",
			"PencilSketchTexture": "",
			"InspectOnUseButton": [],
			"IsPlaceholder": "false"
		},
		{
			"$type": "Game.GameData.EquippableComponent, Assembly-CSharp",
			"EquipmentType": "Rapier",
			"EquipmentSlot": "AnyWeapon",
			"AppearancePiece": {
				"ModelVisualDataPath": "prefabs/items/appearance/weapons/rapier/a_rapier04.asset"
			},
			"ItemModsIDs": ["460c7401-c1e5-40ca-b11a-1a4da4218378", "8b93c088-542b-46a8-a5a3-df0e74854157", "10cfc93a-a886-41fd-9e79-b891a7cbd40f", "e44c6684-44d3-4574-b9a1-881f0082be0b", "51e9359b-1056-4539-be54-d24c7a1d4c6c"],
			"OnEquipVisualEffects": [{
                "VisualEffect": "prefabs/effects/abilities/wizzard/fx_citzals_enchanted_armory_sword_wpn.prefab",
                "AttachPoint": "EmissionMesh",
                "EmissiveColor": {
                    "A": 1,
                    "R": 0.8313726,
                    "G": 0.7764706,
                    "B": 1
                    },
                "EmissiveGlowScale": 1
            }],
			"RestrictedToClass": [],
			"RestrictedToPlayer": "false",
			"ProficientAbilityID": "b30f7b22-17e9-4532-ad60-6ec50f921555",
			"CannotUnequip": "false",
			"ItemRendererPrefab": "prefabs/itemrenderers/genericitemrenderer.prefab",
			"ItemModel": "art/character/weapons/rapier/rapier01/w_rapier01.fbx",
			"AnimationController": "",
			"PaperdollOverrideRenderer": "",
			"AttackSummonID": "00000000-0000-0000-0000-000000000000",
			"CannotSheathe": "false",
			"PropVisualEffects": []
		},
		{
			"$type": "Game.GameData.WeaponComponent, Assembly-CSharp",
			"Stance": "OneHanded",
			"AnimationStanceID": "42de436a-5f52-4bc5-8310-076eb320abc4",
			"StatusEffectsOnLaunchIDs": [],
			"IsDisplayedWhenAlternate": "true",
			"IsUniversalType": "false",
			"AttackID": "e7f5c5ff-7a39-499c-8470-7b37aef78453",
			"NoiseLevelID": "15743f94-1026-40b0-8e13-a667b3f66f63",
			"ForceBackScabbard": "false",
			"ScabbardAppearancePiece": {
				"ModelVisualDataPath": "prefabs/items/appearance/weapons/rapier/a_rapier01_scabbard.asset"
			},
			"ScabbardRendererPrefab": "prefabs/itemrenderers/genericitemrenderer.prefab",
			"ScabbardModel": "",
			"AudioEventListID": "00000000-0000-0000-0000-000000000000"
		}]
	},
	]
}
  • Like 3
Link to comment
Share on other sites

 

Well, this works for me. At-a-glance, you're definitely missing data, I'm not going to figure out exactly which pieces are needed, but this will work:

 

Thanks for your help.

 

Just to confirm, the proper location of the file I'm editing should be:

 

PillarsofEternityII_Data > exported > design > gamedata

  • Like 1

Aloth massages his temples, shaking his head.

Link to comment
Share on other sites

Not exactly. While you can edit the files contained in PillarsofEternityII_Data > exported > design > gamedata, the more correct implementation would be to create a new file called YOURFILENAME.gamedatabundle and save it in PillarsofEternityII_Data > override > YOURFOLDERNAME.

 

Let's say you're naming your file cenics_sword.gamedatabundle and naming your folder cenics_sword, the file structure would look like this:

 

PillarsofEternityII_Data > override > cenics_sword > cenics_sword.gamedatabundle

 

If you want to be a real dreamer, you'd nest it further:

 

PillarsofEternityII_Data > override > cenics_sword > design > gamedata > cenics_sword.gamedatabundle

Edited by Shadowstrider
  • Like 4
Link to comment
Share on other sites

Shadowstrider, thanks for the well written explanation for how to make simple changes like that to a weapon.

 

As I had considered how to do that myself. I mean, I love the visuals of some weapons but am rather meh about their stats.

 

It's the whole squished format that makes trying to FIND the start and end of an "object" so painful at times.

Edited by KentDA
  • Like 1
Link to comment
Share on other sites

Shadowstrider, thanks for the well written explanation for how to make simple changes like that to a weapon.

 

As I had considered how to do that myself. I mean, I love the visuals of some weapons but am rather meh about their stats.

 

It's the whole squished format that makes trying to FIND the start and end of an "object" so painful at times.

You can use either of these websites to "beautify" the JSON:

 

https://www.freecodeformat.com/c-format.php

https://prettier.io/playground/

 

If you use prettier.io, you'll need to click "show options" in the bottom left, then select JSON from the parser dropdown. You can then copy and paste the entire .gamebundledata into the left-hand pane on either site, and after a few seconds it will parse the content in a more readable way on the right pane.

  • Like 1
Link to comment
Share on other sites

I wanna try to fix or redo this mod to have the proper icons (using this mod even other ranger companions icons are missing),

Anyone have some advice about the process that i should to follow (ofc if there is a way) ?

or also just change straight the models of the lyon companion but idk where i should look for it .

 

Thnks in advance

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hi guys! Trying to change the type of weapon for Eager Blade to the great sword had a problem. When you change the "AttackID", "Vehemence" enchantment stops working. Is it possible to fix this?

Edited by Rino90
  • Like 1
Link to comment
Share on other sites

  • 5 months later...

Hey sorry for necroing the tread but 

but i tried swaping weapon models for mordwyn and naga coral sword and i managed to swap icons for it but not the actual in game model, is it because its 2h and 1h or did i mess something up i changed 

I swapped 

IconTextureSmall
IconTextureLarge
AppearancePiece
ScabbardAppearancePiece 

afterwards i also tried to do the same thing with fine great sword ( to see if it works) and i managed to change just icons again with modes staying the same could it be because naga sword has no sheet??? or did i mess something up. 

Any input would be appreciated. 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Hello, I can't seem to find Vestments of Gaun at all in the item bundle. Anyone know if it is named differently and how would I find it?

I find it awful that it was not an upgradeable item, since it is the best looking robes in the whole game for monks (and perhaps priests).

 

Edit: nevermind, I Found it. It is under Xoti_armor or something. The precise line is listed as:

"AppearancePiece":{"ModelVisualDataPath":"prefabs/items/appearance/body/cl/cl26/a_cl26.asset"}

 

I also changed the icon image:
"IconTextureSmall":"gui/icons/items/armor/padded/padded_armor_xoti_s.png","IconTextureLarge":"gui/icons/items/armor/padded/padded_armor_xoti_l.png"

 

 

Edit 2: Another thing, I suggest anyone trying this to UNEQUIP the item being changed before quitting the game and opening the bundle. Also I tried to mess with pets (to get Nemnok early on) and ended up messing my save file (trial of iron) forever, so do be careful specially if you just have one save file. I had to delete it as every item in my inventory was gone and all my chars were naked forever... such is the curse of the gods, lolz
 

Edited by BRUNO NEVES OLIVEIRA
  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...