Jump to content

Making pets - need some help


Recommended Posts

Aaaand hello again, I'm still dumb.

I'm bringing back Pumpkin the cat from the first game, bc I refuse to believe she died and she's canon pet for my Watcher lol.

I've been trying to figure this out, and decided to edit an existing pet for practice. Thanks to this exercise, I've successfully learned to edit names, descriptions and icons (kinda). However, there's still quite a bit of stuff I have questions about. I've tried looking at some mods for an example, but it didn't help much.

1. IDs

What I mean is crap like this

"ID": "3156219f-c117-4ea8-a14d-c727cbc13321"

Where does it come from? How do I know what to put here for a new item? Right now I've edited an existing pet, so it didn't matter, but I need a new pet!

2. I need to add this cat to the game as a loot item. Probably to the shipwreck at Vilario's Rest, since she comes to Deadfire with the Watcher.

How do I do that?

3. Abilities and effects. Can't understand how they're supposed to look in the files. How do I make a new effect? Where's the actual stat?

I THINK I need itemmods.stringtableabilities.gamedatabundle + .stringtable and statuseffects.gamedatabundle + .stringtable. Not sure though.

Here's my little guinea pig. Name & description are fine, but my attempts to change the effect were ineffective.

20200824094744_1.png.a3aeb2f36f70c56b53e745a32f0b4d15.png

Thanks in advance, would be really cool if someone helped me.

Edited by Aldaroshka
I'm stupid
Link to comment
Share on other sites

1 hour ago, Aldaroshka said:

1. IDs

What I mean is crap like this

Yeah, that's a Guid. If you want to make a new object, you need to generate a new one or it will just override the original object.

1 hour ago, Aldaroshka said:

2. I need to add this cat to the game as a loot item. Probably to the shipwreck at Vilario's Rest, since she comes to Deadfire with the Watcher.

How do I do that?

Spoiler

{
	"GameDataObjects": [
		{
			"$type": "Game.GameData.ModScriptHookGameData, Assembly-CSharp",
			"DebugName": "GetOnMyLevel_ScriptHook",
			"ID": "c2900105-9d80-4dfb-9e5d-cceb0dd87f34",
			"Components": [
				{
					"$type": "Game.GameData.ModScriptHookComponent, Assembly-CSharp",
					"RunOnlyOnce": "false",
					"SucceedOnlyOnce": "true",
					"Script": {
						"Conditional": {
							"Operator": 0,
							"Components": [
								{
									"$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
									"Data": {
										"FullName": "Boolean IsInActiveScene(Guid)",
										"Parameters": [
											"c0d8cf7b-c976-4078-b94f-f043c62dc50e"
										]
									},
									"Not": false,
									"Operator": 0
								}
							]
						},
						"Scripts": [
							{
								"Data": {
									"FullName": "Void GiveItemsToObject(Guid, Guid, Int32)",
									"Parameters": [
										"c0d8cf7b-c976-4078-b94f-f043c62dc50e",
										"3156219f-c117-4ea8-a14d-c727cbc13321",
										"1"
									]
								},
								"Conditional": {
									"Operator": 0,
									"Components": []
								}
							}
						]
					}
				}
			]
		}
	]
}

 

The above ScriptHook will place the cat in the box right next to where you land on Vilario's Rest. Though you might need to walk into another area and back or quicksave/quickload the scene to make it trigger properly. You have to replace 3156219f-c117-4ea8-a14d-c727cbc13321 with the new Guid you generated.

1 hour ago, Aldaroshka said:

3. Abilities and effects. Can't understand how they're supposed to look in the files.

Which effect do you want to give it?

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

4 hours ago, Noqn said:

Yeah, that's a Guid. If you want to make a new object, you need to generate a new one or it will just override the original object.

Gotcha. I figured I need a new one, just didn't know how to get it 😄

 

4 hours ago, Noqn said:

The above ScriptHook will place the cat in the box right next to where you land on Vilario's Rest. Though you might need to walk into another area and back or quicksave/quickload the scene to make it trigger properly. You have to replace 3156219f-c117-4ea8-a14d-c727cbc13321 with the new Guid you generated.

Alrighy, thanks! I didn't even know what to search for. I'll try this.

Thanks for helping!

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

8 hours ago, Noqn said:

The above ScriptHook will place the cat in the box right next to where you land on Vilario's Rest

Thanks, it's working!

I did write a thing to drop the pet straight to inventory, but crate works better for RP

Edited by Aldaroshka
I'm stupid
  • Like 1
Link to comment
Share on other sites

I feel like I'm going nuts, I haven't even seen what you wrote there

4 hours ago, Noqn said:

Which effect do you want to give it?

Not sure tbh. Probably extra area of effect and maybe reduce armor recovery

 

(I'm so sorry for being so damn slow, hope I don't annoy you :D)

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

4 hours ago, Aldaroshka said:

I feel like I'm going nuts, I haven't even seen what you wrote there

I edited my comment right after I posted because I realized I was unclear, but you were too fast and got to read the original 😄

4 hours ago, Aldaroshka said:

Not sure tbh. Probably extra area of effect and maybe reduce armor recovery

Good picks! Something like this should work:

  1. Create a new ItemMod, preferably use one of the Mod_Pet_BACKER_ ItemMods as a template. Fix its DisplayName so that it shows up as "Pumpkin".
  2. Change its StatusEffectOnEquipIDs parameter to the Guid of the StatusEffects you want the Watcher/Owner to get. I guess you want one of these two:
    • Mod_Pet_BACKER_SE_ARRecovery (307d9a83-74ba-4af6-b680-2ce9fc6c1754)
    • Mod_Pet_BACKER_SE_AoESize (ab2ec447-f3b9-4263-87fd-d98caeb576d1)
  3. Create a new Ability for the Party wide effect. I'd use Pet_BACKER_Nalvi_PartyAbility as a template if you want party wide Armor Recovery or Pet_BACKER_Peter_PartyAbility if you want AoE size. The Description would have to be changed.
  4. Change the ItemMod's AbilitiesOnEquipIDs parameter to the Guid of the new Ability.
  5. Change Pumpkin's ItemModsIDs parameter to the new ItemMod's Guid.

If you want entire new effects, you could check out the other Mod_Pet_BACKER_SE_ effects and see how they work. You can read up on StatusEffects here: https://eternity.obsidian.net/game-data-formats/components#statuseffectcomponent

 

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Noqn said:

you were too fast

Reading and replying to edited comments is about the only thing I'm hella fast at 😄

4 minutes ago, Noqn said:
  • Create a new ItemMod, preferably use one of the Mod_Pet_BACKER_ ItemMods as a template. Fix its DisplayName so that it shows up as "Pumpkin".
  • Change its StatusEffectOnEquipIDs parameter to the Guid of the StatusEffects you want the Watcher/Owner to get. I guess you want one of these two:
    • Mod_Pet_BACKER_SE_ARRecovery (307d9a83-74ba-4af6-b680-2ce9fc6c1754)
    • Mod_Pet_BACKER_SE_AoESize (ab2ec447-f3b9-4263-87fd-d98caeb576d1)
  • Create a new Ability for the Party wide effect. I'd use Pet_BACKER_Nalvi_PartyAbility as a template if you want party wide Armor Recovery or Pet_BACKER_Peter_PartyAbility if you want AoE size. The Description would have to be changed.
  • Change the ItemMod's AbilitiesOnEquipIDs parameter to the Guid of the new Ability.
  • Change Pumpkin's ItemModsIDs parameter to the new ItemMod's Guid.

I was doing something similar by myself without any instructions just by searching up abilities Guids, but I got confused by them fast and everything resulted in a bunch of Missing Strings, even though I think I edited the .stringtable correctly. But I did change the ability to Peter's. It looked borked, but it was there 😄

Thank you for your help! I'll try again tomorrow, hopefully your instructions will help me avoid confusion

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Noqn said:

Something like this should work

Okay, so, I decided to try this before going to bed

It works. However! Can you spot a tiny problem? (It's not the mismatched descriptions, that's on purpose)

20200825003816_1.jpg.88c73f68c3335fd51b3942bd49ffd432.jpg

Resolve. Nalvi here has +1 resolve, which I'm not getting, so I reckon it's not tied to the other effect. I've tried to put some other effect instead, but it didn't work. Either I do things like I did before and like you wrote - and simply get Armor Rec, or I experiment and everything just goes completely blank with no effects and descriptions at all 🤡 Well, clearly I'm doing something wrong, but I don't know what 😄

Question. What is this "+1 Resolve"? How do I put that in as well? Do I have to put that in combination with Armor Rec, or can I have something else? Like that Area Size bonus?

I feel like I should be able to put whatever I want here, but I've got like a quarter of a brain cell working atm and I did something wrong while attempting this

20200825001607_1.jpg.193dafe8b66a1de0bdb9725a4d08e5c8.jpg

 

Thank you again for your assistance and patience 😄

 

I'm also quite proud of myself for figuring out the .stringtable stuff on my own 😄 Not that it's the most difficult challenge in this case, but still

Edited by Aldaroshka
  • Thanks 1
Link to comment
Share on other sites

Nalvi's Resolve effect is the part of the Pet bonus that only applies to the character that has the Pet equipped. (It's the effect that is specified in StatusEffectOnEquipIDs.)
It is completely separated from the Party Wide Ability (Armor Recovery) which is specified in AbilitiesOnEquipIDs. However in Nalvi's case (and maybe all pets), the Party Wide Ability's tooltip description also describes the "Owner"-exclusive effect, even though it is actually defined elsewhere.

If you want to change Pumpkin's "Owner"-exclusive effect specifically to Nalvi's Resolve Bonus, change the ItemMod's StatusEffectOnEquipIDs parameter to 13587cb0-b4a9-42f4-b185-4ec4efca6216, which is the Guid of Mod_Pet_BACKER_SE_Resolve. If you want the AoE bonus effect, then it would be ab2ec447-f3b9-4263-87fd-d98caeb576d1 (Mod_Pet_BACKER_SE_AoESize)

 

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

9 hours ago, Noqn said:

the Party Wide Ability's tooltip description also describes the "Owner"-exclusive effect, even though it is actually defined elsewhere

Yeah, it's a little bit confusing. When I played the game for the first time, I wasn't even sure how pets work 😄

It's done, thank you so much!

20200825113433_1.jpg.183106d9146e1f456e793d24e519cd91.jpg

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