Page 48 of 75

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 2:56 pm
by HakariTenrai
I've just realized that for some reason I'm no longer able to enter Oleg's trading post (where I did most of the "changing items" work)… I'm getting an error:

[Link]

Anyone here have any idea how to fix it, other than going back to a save before I started changing items?

(I realize that this isn't exactly the forum for Kingmaker bugs, but since I think it's related to me changing item GUID codes, I thought maybe someone might have an idea?)

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 3:56 pm
by wannabecheater
Hello~ for those who are adding feats manually via save file editing, i managed to finally duplicate Jaethal's undead traits.
Here is the pic with testing with cure light wounds scrolls + negative energy channeling.
Image

And here is the code:
Spoiler

Code: Select all

{
	"$id": "502",
	"$type": "Kingmaker.UnitLogic.Feature, Assembly-CSharp",
	"m_Context": {
		"$id": "503",
		"m_OwnerDescriptor": {
			"$ref": "5"
		},
		"m_CasterReference": {
			"m_UniqueId": "b7596841-43db-4b81-9419-bd33874b257a"
		},
		"m_Ranks": [0, 0, 0, 0, 0, 0, 0],
		"m_SharedValues": [0, 0, 0, 0, 0, 0],
		"m_Params": null,
		"AssociatedBlueprint": "34280596dd550074ca55bd15285451b3",
		"ParentContext": null,
		"m_MainTarget": null,
		"Params": {},
		"SpellDescriptor": "None",
		"SpellSchool": "None",
		"SpellLevel": 0,
		"Direction": {
			"$type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
			"x": 0.0,
			"y": 0.0,
			"z": 0.0
		}
	},
	"Blueprint": "34280596dd550074ca55bd15285451b3",
	"m_ComponentsData": [{
			"$id": "504",
			"ComponentName": "$AddClassLevels$9861307b-4fbf-498e-83f5-8cbb036ac94d",
			"m_Applied": true
		}, {
			"$id": "505",
			"ComponentName": "$AddFacts$927e2ec6-7a26-42b8-adec-71397a1a71e4",
			"m_AppliedFacts": {
				"$type": "System.Collections.Generic.List`1[[Kingmaker.Blueprints.Facts.Fact, Assembly-CSharp]], mscorlib",
				"$values": [{
						"$id": "506",
						"$type": "Kingmaker.UnitLogic.Feature, Assembly-CSharp",
						"m_Context": {
							"$id": "507",
							"m_OwnerDescriptor": {
								"$ref": "5"
							},
							"m_CasterReference": {
								"m_UniqueId": "b7596841-43db-4b81-9419-bd33874b257a"
							},
							"m_Ranks": [0, 0, 0, 0, 0, 0, 0],
							"m_SharedValues": [0, 0, 0, 0, 0, 0],
							"m_Params": null,
							"AssociatedBlueprint": "734a29b693e9ec346ba2951b27987e33",
							"ParentContext": null,
							"m_MainTarget": null,
							"Params": {},
							"SpellDescriptor": "None",
							"SpellSchool": "None",
							"SpellLevel": 0,
							"Direction": {
								"$type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
								"x": 0.0,
								"y": 0.0,
								"z": 0.0
							}
						},
						"Blueprint": "734a29b693e9ec346ba2951b27987e33",
						"m_ComponentsData": [{
								"$id": "508",
								"ComponentName": "$UndeadHealth$1503981b-ebd8-4b6d-829c-e5af8ca7a164"
							}, {
								"$id": "509",
								"ComponentName": "$AddFacts$6c1f8290-b2a9-4bc7-84af-511dbc33110e",
								"m_AppliedFacts": {
									"$type": "System.Collections.Generic.List`1[[Kingmaker.Blueprints.Facts.Fact, Assembly-CSharp]], mscorlib",
									"$values": [{
											"$id": "510",
											"$type": "Kingmaker.UnitLogic.Feature, Assembly-CSharp",
											"m_Context": {
												"$id": "511",
												"m_OwnerDescriptor": {
													"$ref": "5"
												},
												"m_CasterReference": {
													"m_UniqueId": "b7596841-43db-4b81-9419-bd33874b257a"
												},
												"m_Ranks": [0, 0, 0, 0, 0, 0, 0],
												"m_SharedValues": [0, 0, 0, 0, 0, 0],
												"m_Params": null,
												"AssociatedBlueprint": "8a75eb16bfff86949a4ddcb3dd2f83ae",
												"ParentContext": null,
												"m_MainTarget": null,
												"Params": {},
												"SpellDescriptor": "None",
												"SpellSchool": "None",
												"SpellLevel": 0,
												"Direction": {
													"$type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
													"x": 0.0,
													"y": 0.0,
													"z": 0.0
												}
											},
											"Blueprint": "8a75eb16bfff86949a4ddcb3dd2f83ae",
											"m_ComponentsData": [{
													"$id": "512",
													"ComponentName": "$AddConditionImmunity$e9468234-1521-4f8a-8d6d-610a35cf23c4"
												}, {
													"$id": "513",
													"ComponentName": "$AddConditionImmunity$1941b6f7-6098-4360-a258-889cddd02c2b"
												}, {
													"$id": "514",
													"ComponentName": "$AddConditionImmunity$ffa417e1-0295-440a-82fd-278c11fa28c6"
												}, {
													"$id": "515",
													"ComponentName": "$BuffDescriptorImmunity$eb929088-4f9e-4c60-92ee-89a0fa13d8f1"
												}, {
													"$id": "516",
													"ComponentName": "$BuffDescriptorImmunity$d4fb14f4-7d7b-45b3-ab7f-d7eb6f9f7a63"
												}, {
													"$id": "517",
													"ComponentName": "$DerivativeStatBonus$24891956-1323-478e-b0a4-b96472b79ad6"
												}, {
													"$id": "518",
													"ComponentName": "$AddConditionImmunity$af9970d7-30c1-490c-a87b-3327969b3343"
												}, {
													"$id": "519",
													"ComponentName": "$SpellImmunityToSpellDescriptor$c0976aae-8934-4994-9b1a-f5614f7d4f26"
												}, {
													"$id": "520",
													"ComponentName": "$SpellImmunityToSpellDescriptor$fb56d182-0078-4f5e-a1dd-5730215f7e72"
												}, {
													"$id": "521",
													"ComponentName": "$AddImmunityToAbilityScoreDamage$d886f4a4-2033-4ed0-bf23-14c29641d25b"
												}
											],
											"Rank": 1,
											"Source": null,
											"Param": null,
											"IgnorePrerequisites": true,
											"Owner": {
												"$ref": "5"
											},
											"Initialized": true,
											"Active": true,
											"SourceItem": null,
											"SourceCutscene": null
										}
									]
								}
							}
						],
						"Rank": 1,
						"Source": null,
						"Param": null,
						"IgnorePrerequisites": true,
						"Owner": {
							"$ref": "5"
						},
						"Initialized": true,
						"Active": true,
						"SourceItem": null,
						"SourceCutscene": null
					}, {
						"$id": "522",
						"$type": "Kingmaker.UnitLogic.Feature, Assembly-CSharp",
						"m_Context": {
							"$id": "523",
							"m_OwnerDescriptor": {
								"$ref": "5"
							},
							"m_CasterReference": {
								"m_UniqueId": "b7596841-43db-4b81-9419-bd33874b257a"
							},
							"m_Ranks": [0, 0, 0, 0, 0, 0, 0],
							"m_SharedValues": [0, 0, 0, 0, 0, 0],
							"m_Params": null,
							"AssociatedBlueprint": "9751e3c650fec96449961f21094af6eb",
							"ParentContext": null,
							"m_MainTarget": null,
							"Params": {},
							"SpellDescriptor": "None",
							"SpellSchool": "None",
							"SpellLevel": 0,
							"Direction": {
								"$type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
								"x": 0.0,
								"y": 0.0,
								"z": 0.0
							}
						},
						"Blueprint": "9751e3c650fec96449961f21094af6eb",
						"m_ComponentsData": [{
								"$id": "524",
								"ComponentName": "$DamageWithDescriptorRecievedTrigger$334a8f75-e152-44f3-b575-62e0d50dcd59"
							}
						],
						"Rank": 1,
						"Source": null,
						"Param": null,
						"IgnorePrerequisites": true,
						"Owner": {
							"$ref": "5"
						},
						"Initialized": true,
						"Active": true,
						"SourceItem": null,
						"SourceCutscene": null
					}, {
						"$id": "525",
						"$type": "Kingmaker.UnitLogic.Feature, Assembly-CSharp",
						"m_Context": {
							"$id": "526",
							"m_OwnerDescriptor": {
								"$ref": "5"
							},
							"m_CasterReference": {
								"m_UniqueId": "b7596841-43db-4b81-9419-bd33874b257a"
							},
							"m_Ranks": [0, 0, 0, 0, 0, 0, 0],
							"m_SharedValues": [0, 0, 0, 0, 0, 0],
							"m_Params": null,
							"AssociatedBlueprint": "1ed5fac73a4dc054d8411f24cf09d703",
							"ParentContext": null,
							"m_MainTarget": null,
							"Params": {},
							"SpellDescriptor": "None",
							"SpellSchool": "None",
							"SpellLevel": 0,
							"Direction": {
								"$type": "UnityEngine.Vector3, UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null",
								"x": 0.0,
								"y": 0.0,
								"z": 0.0
							}
						},
						"Blueprint": "1ed5fac73a4dc054d8411f24cf09d703",
						"m_ComponentsData": [{
								"$id": "527",
								"ComponentName": "$AddImmortality$be58f378-0d60-4fe4-a867-0fa55dc92519"
							}, {
								"$id": "528",
								"ComponentName": "$AreaDidLoadTrigger$b8a55a98-6fd1-4b0a-9c32-a522eb088095"
							}
						],
						"Rank": 1,
						"Source": null,
						"Param": null,
						"IgnorePrerequisites": true,
						"Owner": {
							"$ref": "5"
						},
						"Initialized": true,
						"Active": true,
						"SourceItem": null,
						"SourceCutscene": null
					}
				]
			}
		}
	],
	"Rank": 1,
	"Source": null,
	"Param": null,
	"IgnorePrerequisites": true,
	"Owner": {
		"$ref": "5"
	},
	"Initialized": true,
	"Active": true,
	"SourceItem": null,
	"SourceCutscene": null
}




Insert at END
{
	"$ref": "506"
}, {
	"$ref": "510"
}, {
	"$ref": "522"
}, {
	"$ref": "525"
}

Enjoy :3

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 4:37 pm
by neuronek
wannabecheater wrote:
Fri Oct 12, 2018 3:56 pm
Hello~ for those who are adding feats manually via save file editing, i managed to finally duplicate Jaethal's undead traits.
This is interesting, however for most people these identifiers will change, so basically Jaethal's passive is a feat + 4 references that need to be inserted under the owner descriptor of the character You wish to edit :)
ROOT.m_EntityData[0].Descriptor.m_Inventory.m_Items[93].m_Enchantments.m_Facts[0].m_CurrentContext.m_OwnerDescriptor
In this example facts I guess this would go here:
ROOT.m_EntityData[0].Descriptor.m_Inventory.m_Items[93].m_Enchantments.m_Facts[0].m_CurrentContext.m_OwnerDescriptor.Progression.Features.m_Facts

Great find! There's actually a save game edit thread You can find here that has a bunch of feats already :)
viewtopic.php?f=15&t=7995&start=15


@Niedzielan - I wonder if I'm the only one having this thing, with the v159 table I've noticed that map movement speed modifiers seem to only apply to part of the map, sounds like if You manage Your kingdom a bit and acquire new lands, then go back to the world map You'll move at the usual pace around Your capital.
Edit: Ah I see You also noticed this :D I'll check v160 out !

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 4:55 pm
by wannabecheater
Where is ROOT.m_EntityData[0].Descriptor.m_Inventory.m_Items[93].m_Enchantments.m_Facts[0].m_CurrentContext.m_OwnerDescriptor located?
Searching party.json turned up nothing ^__^;

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 9:24 pm
by Niedzielan
neuronek wrote:
Fri Oct 12, 2018 4:37 pm

@Niedzielan - I wonder if I'm the only one having this thing, with the v159 table I've noticed that map movement speed modifiers seem to only apply to part of the map, sounds like if You manage Your kingdom a bit and acquire new lands, then go back to the world map You'll move at the usual pace around Your capital.
Edit: Ah I see You also noticed this :D I'll check v160 out !
My 160 update has nothing to do with movement speed, it's literally game speed - like using Cheat Engine's speedhack, but directly modifying the game's speed modifier instead.

The map and kingdom movement speed modifiers are also in-game variables, not me doing any sort of fancy scripting. It may be that going back to the world map resets those modifiers, I haven't really taken a look at how they work.

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 10:16 pm
by astonerii
HakariTenrai wrote:
Fri Oct 12, 2018 2:56 pm
I've just realized that for some reason I'm no longer able to enter Oleg's trading post (where I did most of the "changing items" work)… I'm getting an error:

[Link]

Anyone here have any idea how to fix it, other than going back to a save before I started changing items?

(I realize that this isn't exactly the forum for Kingmaker bugs, but since I think it's related to me changing item GUID codes, I thought maybe someone might have an idea?)
Just pull Oleg's trading post out of an old save file and dump it into your current save file.

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 11:26 pm
by Dark.6083
Niedzielan wrote:
Fri Oct 12, 2018 9:24 pm
The map and kingdom movement speed modifiers are also in-game variables, not me doing any sort of fancy scripting. It may be that going back to the world map resets those modifiers, I haven't really taken a look at how they work.
Do you know what the difference is between those modifiers?

Re: Pathfinder: Kingmaker (Steam)

Posted: Fri Oct 12, 2018 11:33 pm
by Niedzielan
Dark.6083 wrote:
Fri Oct 12, 2018 11:26 pm
Niedzielan wrote:
Fri Oct 12, 2018 9:24 pm
The map and kingdom movement speed modifiers are also in-game variables, not me doing any sort of fancy scripting. It may be that going back to the world map resets those modifiers, I haven't really taken a look at how they work.
Do you know what the difference is between those modifiers?
Basically, if the area you're in is claimed by your kingdom, it uses the kingdom speed modifier. Otherwise it uses the normal speed modifier

relevant code:

Code: Select all

public static float GetRegionalModifier()
{
	if (KingdomState.Founded)
	{
		RegionId currentRegion = Game.Instance.Player.GlobalMap.CurrentRegion;
		RegionState region = KingdomState.Instance.GetRegion(currentRegion);
		bool? flag = (region != null) ? new bool?(region.IsClaimed) : null;
		if (flag != null && flag.Value)
		{
			return Game.Instance.Player.GlobalMap.KingdomSpeedModifier + 1f;
		}
	}
	return Game.Instance.Player.GlobalMap.SpeedModifier + 1f;
}

private static float CalcSpeedModifiers()
{
	float num = BlueprintRoot.Instance.GlobalMap.GetSpeedModifier(GlobalMapRules.Instance.CurrentNaturalSetting);
	num *= MapMovementController.GetEncumbranceModifier();
	return num * MapMovementController.GetRegionalModifier();
}

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 3:50 am
by neuronek
wannabecheater wrote:
Fri Oct 12, 2018 4:55 pm
Where is ROOT.m_EntityData[0].Descriptor.m_Inventory.m_Items[93].m_Enchantments.m_Facts[0].m_CurrentContext.m_OwnerDescriptor located?
Searching party.json turned up nothing ^__^;
Again, we have a dedicated thread for that :)

Anyways, useful tools:
Notepad++, JSTool plugin.

Steps:
Extract party.json,
JSTool Beautify party.json, (Ctrl+Alt+M in Notepad++)
Find the highest $id, I use git-bash for that along with a cute pipe: `grep -P '\"\$id.*' party.json | grep -oP '\d+' | sort -n | tail -n 5`
JSTool build a json file map, aka JSON Viewer (Ctrl+Alt+J in Notepad++)
Start searching from the top, look for the guid corresponding to the character You're interested in editing, here's a useful list under CharacterNames:
[Link]
And that's just for starters ... companions and main char spawn with a unique id of their own (they have a blueprint, but for all feats and such their "caster reference" will change every time You start a new game and acquire them. Also, the $id of the Owner object changes so You need to keep these two things in mind when editing feats, in my save Jaethal has the following caster reference (this doesn't seem to change between game saves): `c4b4f290-507b-42f2-bea2-cff91fb7e5fa`
Anyways, once You have all that and the highest $id, edit the feat that You wish to insert, modifying owner references with the Owner $id, caster guid reference with the guid of the companion You wish to edit. Please keep in mind that if the game sees identical $id numbers it will either remove the feat or fail to load the edited save.

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 4:24 am
by wannabecheater
neuronek wrote:
Sat Oct 13, 2018 3:50 am
wannabecheater wrote:
Fri Oct 12, 2018 4:55 pm
Where is ROOT.m_EntityData[0].Descriptor.m_Inventory.m_Items[93].m_Enchantments.m_Facts[0].m_CurrentContext.m_OwnerDescriptor located?
Searching party.json turned up nothing ^__^;
Again, we have a dedicated thread for that :)

Anyways, useful tools:
Notepad++, JSTool plugin.

Steps:
Extract party.json,
JSTool Beautify party.json, (Ctrl+Alt+M in Notepad++)
Find the highest $id, I use git-bash for that along with a cute pipe: `grep -P '\"\$id.*' party.json | grep -oP '\d+' | sort -n | tail -n 5`
JSTool build a json file map, aka JSON Viewer (Ctrl+Alt+J in Notepad++)
Start searching from the top, look for the guid corresponding to the character You're interested in editing, here's a useful list under CharacterNames:
[Link]
And that's just for starters ... companions and main char spawn with a unique id of their own (they have a blueprint, but for all feats and such their "caster reference" will change every time You start a new game and acquire them. Also, the $id of the Owner object changes so You need to keep these two things in mind when editing feats, in my save Jaethal has the following caster reference (this doesn't seem to change between game saves): `c4b4f290-507b-42f2-bea2-cff91fb7e5fa`
Anyways, once You have all that and the highest $id, edit the feat that You wish to insert, modifying owner references with the Owner $id, caster guid reference with the guid of the companion You wish to edit. Please keep in mind that if the game sees identical $id numbers it will either remove the feat or fail to load the edited save.
Hmm i already know that, but i was under the impression from what you said that those changing ids can be determined automatically via some sort of algorithm or function instead of manually checking in party.json ^^; For Jaethal's uniqueID, even that will change if you start a new game.

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 4:44 am
by HakariTenrai
astonerii wrote:
Fri Oct 12, 2018 10:16 pm
HakariTenrai wrote:
Fri Oct 12, 2018 2:56 pm
I've just realized that for some reason I'm no longer able to enter Oleg's trading post (where I did most of the "changing items" work)… I'm getting an error:

[Link]

Anyone here have any idea how to fix it, other than going back to a save before I started changing items?

(I realize that this isn't exactly the forum for Kingmaker bugs, but since I think it's related to me changing item GUID codes, I thought maybe someone might have an idea?)
Just pull Oleg's trading post out of an old save file and dump it into your current save file.
That actually sounds like something that would work... but I have no idea how to do that... my skills at editing the .json files have thus far been limited to changing the custom portraits, and modifying ability scores...

I have no idea what to look for code-wise, how much code to copy from a good save, or how much to paste over in the saves that have gone bad... :(

Man, I did not want to waste another 15 hours redoing the whole "explore the big-azz tree/kill (but not really) Tartuccio" , "elk temple", and "all of the little shit leading up to the stag boss fight" scenes again... :sigh:

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 8:07 am
by Theorac
HakariTenrai wrote:
Sat Oct 13, 2018 4:44 am
astonerii wrote:
Fri Oct 12, 2018 10:16 pm
Just pull Oleg's trading post out of an old save file and dump it into your current save file.
That actually sounds like something that would work... but I have no idea how to do that... my skills at editing the .json files have thus far been limited to changing the custom portraits, and modifying ability scores...
The save file for Oleg's trading post's external map is ead426a6c23d39548a670ee515d77df4.json and records the state of the area, including dropped items. The files for other rooms at Oleg's can be searched for using the same file number.

Try backing up the file in your current save and replace this with one from an older save. If its a dropped item outside the inn, this might do it.

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 10:48 am
by HakariTenrai
Theorac wrote:
Sat Oct 13, 2018 8:07 am
HakariTenrai wrote:
Sat Oct 13, 2018 4:44 am
astonerii wrote:
Fri Oct 12, 2018 10:16 pm
Just pull Oleg's trading post out of an old save file and dump it into your current save file.
That actually sounds like something that would work... but I have no idea how to do that... my skills at editing the .json files have thus far been limited to changing the custom portraits, and modifying ability scores...
The save file for Oleg's trading post's external map is ead426a6c23d39548a670ee515d77df4.json and records the state of the area, including dropped items. The files for other rooms at Oleg's can be searched for using the same file number.

Try backing up the file in your current save and replace this with one from an older save. If its a dropped item outside the inn, this might do it.
Thank you - I knew this was the right place to ask :) - With the advice from the both of you, I was able to figue it out (I copied all of the files with that code from my working save, and overwrote all of the ones from the broken save, now everything is working perfectly) :)

I am so glad that I found this forum... I got my items that I wanted, got my zooming-out ability, and fixed a gamebreaking bug with the help here... Thank you all :)

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 12:04 pm
by CannonFodder
Table 159 and 160 's RankUp Time Modifier does not work in game ver 1.07, does anyone have a clue?

Re: Pathfinder: Kingmaker (Steam)

Posted: Sat Oct 13, 2018 1:49 pm
by CaesarCzech
Question, did they fix their shit ? im still on 1.03 how should i proceed on updating this stuff ?