Jump to content

[Tutorial] Modding Basic Concepts


Recommended Posts

Yet this still has to be defined somewhere, it doesn't come out of nowhere. Deflection and armor rating maluses from Exposing vulnerabilities are not set to scale/receive bonus from any stat, because those status effect types are not defined as such.

what you stated is not correct,  duration is again changed from intellect bonus, while AR is not related to any stats.

Btw i have already explained to you that this isn't doable cuz is a general mechanic of the game, so the only way might be remove all the bonuses from stats , but that for sure  will totally unbalance the most of the mechanics.

EDIT

and Exposing vulnerabilities is a  hostile ability hence the bonus of deflection has not been applied cuz it's a positive bonus for player's characters and not for hostile effect (enemy malus)

 

Pillars_of_Eternity_II_Deadfire_Screensh

 

 

 

 

 

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

 

How would I create a new version of the Gipon Prudensco, with the same effects/enchantments of the Sharpshooter's Garb, and place it in a shop in Port Maje?

The short version is:

following peardox's first mod guide, create a new directory for your mod and a new .gamedatabundle file inside it.

In the game files, find Gipon Prudensco in items.gamedatabundle. Copy all the data into your gamedatabundle file.

Use the online UUID generator to replace the item ID (you can also just come up with a UUID yourself but don't use any letters after F)

Find the sharpshooter's garb in items.gamedatabundle. Copy everything in the square brackets after "ItemMods"- an itemmod is what the game calls an enchantment, or any property of an item.

Go back to your gamedatabundle and replace everything in the square brackets after "ItemMods" with what you just copied.

 

Voila, a new version of the Gipon Prudensco, with the same effects/enchantments of the Sharpshooter's Garb.

This doesn't include upgrades though. If you want to add those, search for the names of the enchantments you want in items.gamedatabundle, copy their IDs, and paste them into the ItemMods square brackets.

 

To add to a vendor, follow peardox's guide in the First Mod thread

 

So the upgrades are separate from those mods I copied? How do I find the same upgrades too?

Link to comment
Share on other sites

Find the name of the upgrades and search for them in the items.gamedatabundle. You should find itemmods with matching names. Just copy their IDs and paste into the square brackets after "ItemMods" on your item, good to go.

 

If you can't find the names of the upgrades then search in the items.gamedatabundle for:

 

"CanModifySpecificItemIDs": ["459a084e

 

There will be three results. A little under the above line each time you'll see "ItemModsToAddIDs". Copy the UUID after that and paste it into your item, all done

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...

If I stick something in override/<mymod>/gui/portraits/player/(fe)male what's the load order?

 

Basically I know thru exprerimentation that this stuff works but when I try to change the image things are less logical

 

So - we load base data, published mods that include gui elements then override

 

I'm using 33/111 as my PC, then as a test I duplicated + renamed all the files for a mod test resulting in 222 selectable images

 

I expected 33 dupe to appear at 144 (if my assumption on  load was correct) - it didn't

 

Are the images sorted by filename, perhaps? If so I'll simply give them very low numbers so they appear at the start.

 

I'll do a proper test on this tomoz and step thru every image to work the order out but can't be sure these will always be the rules

 

To explain this project will allow you to take a selfie and change you portrait to yourself

 

I'm also looking at using AI to apply style (like Prisma) to the selfie. This DOES cost me cash though so I will need to charge a small amount to cover my costs (really cheap)

 

I also plan to mod it so you can selfie the family and make them your companions :)

 

Been working on this for ages as the companies I'm working with are slow to respond

OK Fair warning has been applied

 

I'm gonna move the domain to https://perspak.com early Feb but will keep all content

 

There are reasons behind this move which basically boil down to unifying my release schedule

 

My friends are welcome to play (I'll set you up your own areas if you desire them)

 

Please note that this process is messy so may take a few weeks 

Link to comment
Share on other sites

  • 4 months later...
  • 2 months later...

Stupid question : how do you choose new Hexa ID when creating new GameDataObjects ?

How to avoid conflicts ?

If UUID generator is used, I suppose it means you don't ensure, but I suppose they are highly unlikey due to sheer probabilities..

Edit OK, UUID is universal this answers my own question.

Edited by Elric Galad
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Posting some advice I gave to a guy about starting to mod:

 

 

I plan on making more unique items but I plan on doing that after I finish all of the other classes so it will be way in the future.  Making items takes longer but it's actually easier (if you don't make upgrades) because you're usually just creating and adding status effects instead of making new abilities.

 

I think if you go on the deadfire modding forum at Obsidian it's easy enough to learn and I added tutorials on top of those already there.  The hardest part is just getting used to the code sections and knowing what parts can be used and what can't for each status effect (like when the attack filter is used, or how limited creating chained attacks are).  I would estimate after your first few items you really get the hang of it and it's very easy when you know of a similar ability that already exists.

 

One thing to watch out for is that some abilities just are not possible to remake, so when there is only one of them, be suspicious about it.  Circle of Protection, in my experience, can't be reproduced and altered, as an example.

 

My real aversion to creating items is because if an item is interesting enough and really changes the game, then I'd rather have it as an ability than just a unique item.

 

Another helpful warning would be about learning when effects apply based on the code, which is only learned through trial and error.  Weapon Attack Abilities have statuses that apply only once the ability is used, so you can't alter yourself or your enemy before the attack occurs!  Also, I constantly want to make something that stacks and then keeps stacking and refreshing the duration of all stacks, but this isn't possible and can only be closely achieved by using the Trigger section to add duration on events.  On that note, another limitation is your ability to effect yourself based on what the enemy is doing---it's very hard because you are always the target, or the enemy is always the target, so making an effect that occurs on you when the enemy does something that doesn't affect you is extremely hard.  Making custom keywords (easy) that then apply correctly (not so easy) is the way around most problems I can't solve.

 

Have a text file for tracking all of your text strings

 

String name, ability name, then a tag of what it's used for 

132193021, cool_ability, Ability Name

132193022, cool_ability, Ability Description

132193023, cool_ability, Status Effect for this ability

 

When you get spinning gears on the loading screen, it's because you don't have a text string or something like that!

 

Also, create a system for how you rename code that you copy.  Whenever I change the name of the code part, I then immediately change the GUID via https://www.uuidgenerator.net/guid

 

If you have two of the same GUIDs, it will overwrite and you won't know why it's not working!

 

I have a custom ring in the override file which I add my ability GUIDs to, so then it can be immediately tested when I restart the game with my new abilities added to the override folder

 

I use Visual Studio Code and it's super good to use

 

Don't forget that if you have one "," within the quote of the GUID instead of after it, that may be your problem but you'll have to find it without any warnings!  Only copy and paste very carefully, and always keep the punctuation carefully on the outside.  I made this mistake on an Item Tutorial thread on the modding forums and a guy corrected me.  Would have taken me days to figure it out that early in my coding experience!

 

Oh yeah, and use this website all the time:

 

https://eternity.obs...ts/enumerations

 

It's got all of the status effect types.  Learning what an "enumeration" is versus a "structure" or "component" is constantly confusing but you can eventually figure it out by clicking on the links on those sites.  The names aren't perfectly matched to the names in the code, so you just have to browse for figuring those concepts out, but you rarely need it.

 

Also keep in mind that you can use my 10000 icons mod for creating custom items and weapon art.  I use paint.net to change the image files.

 

Link to comment
Share on other sites

  • 1 month later...
  • 5 months later...
  • 1 year later...

OK...this and other tutorials are impossible to follow without a json formatter. I downloaded Visual Studio Code, however pressing shift alt f generates an error code that states that there I need to install a formatter...after trying for several hours to google information on what seems like a simple task, I have determined that, without knowing what I am doing, this is an impossible out of reach task for me to figure out.

I have done the diligence (also tried online tools and Notepad++). Can we get a step by step tutorial on how to convert the plaintext format of the ...export/data files to friendly (properly formatted) json?

Link to comment
Share on other sites

  • 2 weeks later...
On 9/11/2021 at 9:48 AM, Psyborg said:

OK...this and other tutorials are impossible to follow without a json formatter. I downloaded Visual Studio Code, however pressing shift alt f generates an error code that states that there I need to install a formatter...after trying for several hours to google information on what seems like a simple task, I have determined that, without knowing what I am doing, this is an impossible out of reach task for me to figure out.

I have done the diligence (also tried online tools and Notepad++). Can we get a step by step tutorial on how to convert the plaintext format of the ...export/data files to friendly (properly formatted) json?

I had this too. 

VS Code has the ability to use third party "extensions" - formatters are a type of extension used to make the "code" look legible to humans. Third party! So you have to download them separately. Here's how:

Launch VS Code.

On the left there should be 4 icons. Hover over each in turn - Explorer, Search, Run-and-Debug, Extensions. Click Extensions.

Now you see a list of installed/recommended ones. Ignore all that and type the name of JSON in the "Search Extensions in the Marketplace "box.

You can see a bunch of different extensions for JSON - you want a Formatter

The one I use is called "JSON Formatter" by Clemens Peters

 

Extra info:

FROM right-to-left In the bottom right corner of the VSCode window (the purple bar) is a Notifications Bell, a Tweet Feedback icon and then the format of the current document (select language mode). If you've done it right it should say JSON. IIRC You can also change it to JSON by clicking there.

 

Edited by Svartypops
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...