-
Posts
564 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Posts posted by peardox
-
-
I only test on release data - long time doing iOS + Droid proves checking on unreleased causes more issues than solved
I'm a Beta Backer anyway - tried it this week, go the Beta (no tests)
No 1.2 I can see
If this is privilaged info PM me
-
This is for a specific purpose
Instant chat / delayed chat (TimeZones)
Any dev is eligible if you want in
The URL is https://poe2.slack.com/
At the present this is invite only
This is in response to a Q one of my friends asked - how do we chat?
This, I consider, a good idea as Slack gives us both live chat, delayed chat and PM chat
The BAD news is that to OK you I need your email - if you wanna get into that group PM (here) me your email with a MOD the you've done (simply which one) and I'll set you up - Slack's rules not mine
It there's sufficient interest I'll open it up to reqs as well (no auth required)
- 2
-
Everything is fully explained in https://forums.obsidian.net/topic/103148-important-info-for-all-modders-adding-unique-items-to-the-game-via-vendors/ - I thought @ZapGunForHire's post made a better place for that explain (this one is also confusing)
Yes, I speak English (Mancunian style) - that means I am born and bread in the UK
I welcome any comments any thing I say that confuses people pointing out - kindly PM with the bit you don't understand.
I will edit my posts and fix the content if you have a valid point
You must remember that simply as you don't understand a point doesn't mean I'm wrong and if you pick up a mistake I'll happily fix the post.
I do write a lot of stuff daily, obviously I'm not perfect so some things will slip through
If you knew exactly what I'm doing... Only a few people do...
-
Actually I don't believe this to be anything to be doing with ReStock (the text don't appear anywhere)
If you've got TT1's Uniques installed REMOVE IT (put it back later, of course)
Take a save game from anywhere that ain't Neketaka, if you've not got one of those sail ANYWHERE [this is important ONLY if you have TT1's Uniques]
Save game, Quit to Desktop (!IMPORTANT)
Install TT1 Uniques and load you load your <Somewhere else / no TT1> save and go Back to Neketeka -> Wild Mare or load your TT1-less version
Go to Wild Mare
Look - Dead Parrot - gotbuy one, it vanishes from the list as it's a 1 sale unique
Save game, Quit to Desktop (!IMPORTANT)
[This step is only important if checking your own mods and you've not using a somewhere else save]
-------------------------------------------------------------------------------------------------------
Sail to Port Maje (travelling time is long - this is good)
Get off the ship @ PM Harbour
Rest for 26 hours
Get back on ship and go Back to Neketeka -> Wild Mare
-------------------------------------------------------------------------------------------------------
Go buy another Dead Parrot
Rest for 26 hours
Go buy another Dead Parrot
This is a known issue I've PMed Devs on@TT1 noted the 26 hour for stock to refill on Uniques, the biggest problem is, however...If you install a mod that affects a vendor that vendor's list appears to be cachedThe ONLY solution I've found is to sail to a completely diffo Island and sailing back again.With my "The Red Hand and friends" I pointed this out to the guy who couldn't get it working (Fair Trade actually removes the price barrier - oops)I've only seen this happen a few times so far, specifically when I was doing item modsI did another mod that altered a character's options but as override don't work there yet had to modify exported/design - this is something I believe OK as long as you don't publish for experimentationBasically the trick is to sail somewhere else then save andSave game, Quit to Desktop (!IMPORTANT)
Reload and go back then wait for 26 hours if you want anotherI've not done this fully to find out what works and don'tI can tell you, for a fact, that say you're in Neketeka with no Dead Parrots with the MOD installed and take a trip to other areas when you go back to Wild Mare there are STILL no Dead Parrots owing to what I believe to be CacheingRest for 26 hours
Go buy another Dead Parrot
For you're own MODs you'll wanna do the sail away stuff or use a save from somewhere else -
In the documentation, I noticed that some functions are using Guid like:
Boolean IsClassAccruedResourceCount(Guid, Guid, Operator, Int32)
But previously, I have seen the same function being used as:
Boolean IsClassAccruedResourceCount(Guid, CharacterClass, Operator, Int32)
Which makes me want to ask: When can we use enums to replace guids? (If it is still supported.)
Classically an ENUM is 1,2,3,4 etc for various types
A SET is 1,2,4,8 (each time doubling the previous value)
We therefore use DEFINE's to replace the one with the other
I noticed that lot in the DOCs - easy enough to automatically process but NOT to use in exported etc
This may sound pointless but it's not as it you pre-process a MOD you can replace the defines.
I have a process in mind that would auto-build most of the skeleton of a MOD
-
Cut + Paste clarification from Nexus - knew my math was right!
At the end of every month, the money Nexus Mods has decided to donate into the Donation Points pool will be converted into its DP equivalent. For example, a total donation money pool of $10,000 is the equivalent of 10,000,000 DP.
A script will then sum up the total unique downloads that each file page has received in that month, from mod authors who have opted into this scheme, and divide the total available DP amount by the total unique download amount for that month.
For example, if the total donation money pool is $10,000 (which is 10,000,000 DP) and the total unique download count is 5,000,000 then that means each unique download would be worth 2 DP. Ergo, a mod author who receives 25,000 unique downloads that month will receive 50,000 DP, which is the equivalent of $50 to redeem in our storefront, share with other users or donate to charity. -
This is something that I definetly want to see on my games
Some people want it the other way around:)
The Economy thread specifically asks for it
This will make a handful of people happy while the published mod makes lots of people happy
-
I'm gonna download every mod on Nexus
I have the ability to check for clashes - vendor clashes is my immediate target as they're the most likely ones.
I'll eventually be able to sanity check Mods (a friend made a slip the other day regarding a UUID I quickly spotted by hand for example) - the system I plan will basically remove that possibility.
This will be made public when I'm happy with it - you'll be able to check a new mod against everything else so see if someone's unwittingly treading on someone else's Mod
-
Done it
https://forums.obsidian.net/topic/103100-announce-fair-trade/
This version only does the original request
Something screwey was going on when I tried doubling everything
- 1
-
This one was a Forum Req
Big shout out to @ZapGunForHire for asking a question about factions which pointed me at the solution
Basically this one makes the economy model fairly level - you get full value for sales and buys are (roughly) cost price rather than the current 5x cost
https://www.nexusmods.com/pillarsofeternity2/mods/126
- 1
-
Hey, don't worry
Breaking things is how we learn what NOT to do
My job doesn't actually require me to do anything (apart from today and I'm doing it in the background for the moment - switching a server to a new box so backing up first)
I started modding POE2 about 2 1/2 weeks ago and just like you I was clueless at the start. Owing to my job being somewhat undemanding (I get paid whether I do anything or not) I've been able to spend all my time dissecting POE2 (apart from today when I have to do something I get paid for)
I've released six (6) mods so far and helped out on a Mod. Nothing major but useful stuff.
Stick with it and you'll be an ace in no time. The more you do this the more you understand.
I promised my next Howto would be about adding a conversation option to an NPC - this allows us to attach a sorta shop to any boring named NPC (I spent nearly a week trying to add a real shop - not possible)
After I've done that one I'll write up a basic howto create an item
-
Mind, if it's not possible to make an entirely new store/inn/whatever via a mod on our end quite yet, that's be good to know as well, Obsidian.
I'll write up my unreleased Waenglith Mod - with luck I'll get to do it today
The reason it's not released if I'm waiting for design/conversations to be moddable
What I can show is how to add an option to her that does something
Come to think of it I'll do FishMonger in Port Maje again as it don't matter much if you screw her up
The current issue is that as we have no way to mod conversations in override you HAVE to mod the main exported branch
You can't create a new shop but you CAN give people things (I had loads of Dead Parrot's before I managed to delete the data directory)
I've got a script file that makes it simple for me to build most of it with multi-lingual translations (I just pinched some text from other vendor stringtables)
I won't release a Mod based on these experiments but they are useful for local tests. As far as I'm concerned anything out of override is not a Mod (it's a hack)
When they fix convo modding exactly the same concept will apply to the modded convos so it's worth educating people in the methodology before they fix it.
Something I plan is the Chest Of Consumables - I'll stick it on a useless NPC (Captain Darmo in PM) not heard of him - see completely forgettable
There are prob 500 - 1,000 equally useless NPCs in POE2 that are worthy of doing useful things so when we get override this becomes a useful technique
-
Sorry, I know what I'm talking about so often forget that not everyone has the same skill set
That grep stuff after 'minute' means - in plain English
Find me every file in POE2 (I'm in a copy of the game on my server) that contains the text EntryCount but exclude anything that results in anything in exported (as there will be a huge number of them)
I did Backer stuff and chose GOG - that's why I have Galaxy*.* files (not seen a Steam version so unsure how it changes)
There are five (5) what appear to be game files that include EntryCount so even though it looks pointless it is in Obsidian's code somewhere by the look of it.
This is why I say that even if they ain't required stick them in and make them consistent anyway.
*.conversationbundle are a noteworty case as they're already a little screwed up so better safe than sorry
-
I'd stick NextEntry and EntryCount back in to be on the safe side
[8 minute grep time - sheesh]
grep -lr EntryCount | grep -v exportedGalaxyPeer64.dllGalaxyCSharpGlue.dllPillarsOfEternityII_Data/Managed/OEIFormats.dllPillarsOfEternityII_Data/Managed/Assembly-CSharp.dllPillarsOfEternityII_Data/Managed/System.dllPillarsOfEternityII_Data/Managed/Assembly-CSharp-firstpass.dllPillarsOfEternityII_Data/Managed/GalaxyCSharp.dllPillarsOfEternityII_Data/Plugins/GalaxyPeer64.dllPillarsOfEternityII_Data/Plugins/GalaxyCSharpGlue.dllPillarsOfEternityII_Data/Plugins/Galaxy64.dllPillarsOfEternityII_Data/Plugins/GalaxyPeer.dllGalaxy64.dll -
Thought I'd point this out as we're near deadline for this stuff
If you've released a Mod on Nexus they've got a reward scheme in place whereby @ the end of month they tally up your unique downloads then give you something back in the way of something they call DP (Donation Points?)
Anyway
Have a look at https://www.nexusmods.com/modrewards#/wallet/all/1 (it's linked from the main menu icon looks a bit like folders - it's the one between Settings and Inbox TRHS)
This will say 0DP for EVERYONE ATM as this only started earlier this month
Now go look at https://www.nexusmods.com/modrewards#/store/all/1 (it's linked from the DP page marked Visit Store)
That's what you get for your DP
The thing is that it looks like a load of Modders have completely missed this fact as some people I know here haven't marked themselves wanting any DP
Nexus Mods have pledged $6-10k PCM with a targeted $100k this year as payback to the Mod community. They also have a Patreon fund (not much in it yet) for donations from Mod junkies to donate to as well.
The rewards system is REALLY easy to overlook
Right at the bottom of the page in the middle you'll see a link called "Manage my mod rewards"
Click that then opt in all your mods
As there's no big pointers about this you've most likely missed this stuff as will have many other Modders from other games (this is actually good for us)
The pot of cash they have will be split amongst everyone who opts in. I understand it's split based on unique downloads in any given month (so do this ASAP to get included for the June payout)
The $10 Paypal credit for 10k DP seems quite a possibility now.
Their terms specifically say that Opted In Mods only qualify for a share.
So - in the unlikely event that I'm the only person who Opted In I'll get $6-10k this month (a huge number of DPs)
Taking myself as an example I've got six (6) mods with a current total downloads of 332
Let's be pessemistic and imagine the big Skyrim mods and everything else total 1,000,000 downloads I still get DP for my 332 which means I get 3,320 DP towards my 10,000 DP $10 PayPal credit (the math here is dependant on the cash set aside, the opt in numbers and their unique downloads - it'll change monthly)
So, my Modding friends, go opt in - you may get enough DP to pay for the expansion pack DLCs due end of next month (already pre-ordered mine)
-
OK
@ZapGunForHire found the right keys to alter the economy.
I've just done a mod (yet to publish it) that sets the economy flat so e.g. a Spyglass both buys and sells for 1,000 cp
As mentioned above different people want it balancing differently so I'll branch the version I have a few times.
I did a test where everything was free (that really sucked)
Normally Spyglass has a 1,000 sell and a 5,000 buy
Setting the multipliers to 2.0 got me a 10,000 Spyglass buy price
Got a little juggling to do but think I'll do flat (0.2), double (0.4 at a guess) and 10x (2.0) versions
The base economy is set for 5x
- 1
-
Turns out that setting all the multipliers to 0.2 yields a flat economy.
Baked in there's a 5x multiplier so 0.2 results in an 80% discount resulting in full value for sale or purchase of anything.
This solves an old req for a mod so I may as well publish it.
I'll credit you in the Mod (your 15 mins of fame has begun )
I did a version where the Multipliers were 0.0 but that looked really sucky - everything cost and sold for 0cp
- 1
-
Oh - that one
Been there, done it - it's not hard (just messy)
This crap requires a convo logic manipulation - you can't do a store but you can give items away with ease
Sadly this involves major hacks to the *conversationbundles and conversations/[language]/.../.../*stringtables
I had the same goal and this was the only surefire way to resolve it
I took Waenglith (Port Maje) and altered her so something silly - "Give me a kipper"
After numerous rounds I got her to give me something (anything)
I then extracted the translations of "Show me what you have" and did localised versions I assume to be correct.
At that point I was helping TT1 solve an issue with Dead Parrot so I hacked that down to level 1 and eventually solved his issue
After this I went back to Waenglith (near the square in Port Maje where you get Xoti) on a do or die sorta misson
I didn't die
Owing to a screw up I've lost the code but know how to do it
The problem is that ATM I have to write outside override - something I don't wanna do
I can show you a Waenglith mod that provides any item
I have SO many dead parrots now...
-
Yeah
I'm not gonna get through factions tonite anyway
As requed I wrote a howto [insert anything here] - actually, didn't you ask for this one?
Dunno, just know it was a good req worthy of an expain
BMac's just opened up the docs (I was at the end of the vendor doc at the time) - better go read them
-
First off I'd go grab my exported + fixed from [https://poe2.peardox.com/exported/]
These fix a load if bugs in exported
Now open up json/items.gamebundle.json
You'll see a load of JSON
Now - grab the bit you want - it's the LootList
I'm using the Fishmonger near the ship in Port Maje as an example so search for her DebugName or ID so you can pinch it
We are given this...
{ "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033", "Components": [ { "$type": "Game.GameData.LootListComponent, Assembly-CSharp", "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "OutputMode": "All", "Items": [ { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 3, "MaxCount": 4, "Weight": 1, "ItemID": "c9b3ab6f-4eec-4cab-aab7-2fd8d9770c4d", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 1, "MaxCount": 1, "Weight": 1, "ItemID": "c2caa441-4723-4573-9e62-8c6529142261", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } ] } ] },
Copy that lot into a decent text editor (Notepad++ if windows, TextWrangler if Mac and just about anything on Linux - I side on vim from console)
If you look carefully at the extract you'll notice there's a comma at the end - we don't want that, it will cause our Mod to fail so get rid of it (exactly the same file without the trailing comma is valid JSON, with it it's junk (don't blame me - I'm just telling you how this works(
Right, we've got her in place. We now need to pad her out so POE2 can see her
This is an extremely simple process...
At the VERY BEGINNING of the file add this ...
{ "GameDataObjects": [
Now add this to the VERY END of the file ...
] }
Congrats, you just created your first shop mod
Save it in overrides/testmod/design/gamedata/testmod.gamedatabundle
Assuming you've followed the instuctions accurately go see the fishmonger
Nothing has changed (we basically just copied her default)
Let's make this interesting and give her something else to sell ...
Go back to you testmod.gamedatabundle and modify it
WARNING - this is the easiest place to mess it all up
At the end of the file directly after LockedVisible: "false" }
It's that closing brace we're looking for
Add this, directly after the closing brace
, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }
Save your mod again and load the game again (you need to be completely out of game in order to test) - full reload is a must (bit of a pain I know)
Reload done?
Go to PM's fishwife and ask her what she's got
Attached you should see Defiant Apparel in her list if you did this correctly
Here's the complete mod in case you messed it up somewhere
{ "GameDataObjects": [ { "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033", "Components": [ { "$type": "Game.GameData.LootListComponent, Assembly-CSharp", "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "OutputMode": "All", "Items": [ { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 3, "MaxCount": 4, "Weight": 1, "ItemID": "c9b3ab6f-4eec-4cab-aab7-2fd8d9770c4d", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 1, "MaxCount": 1, "Weight": 1, "ItemID": "c2caa441-4723-4573-9e62-8c6529142261", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" }, { "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 6, "MaxCount": 8, "Weight": 1, "ItemID": "e253a1c6-5e1c-409a-8666-e27243f3b703", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } ] } ] } ] }
Please note that the entire file needs to be JSON-friendly
The comma I mentioned above is ABSOLUTELY REQUIRED for any sub-items but MUST NOT appear after the final one - this is bad JSON and your MOD won't load as a result.
OK - reload a game, go see the vendor - ooh, she's got something useful
I urge you to not use the vendor I use in this example - try to find another i.e. change
"DebugName": "Store_09_PM_Fishmonger", "ID": "101d4c38-674b-415d-bb1e-bd68846ef033",
To someone else - ideally use a STORE or VD DebugName as they're almost certain to work
So, for example
"$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_04_PD_Unas_Luxuries",
I know that one works, Unas is a vendor in Serpent Crown near the south entrypoint
Don't be lazy - go find your own!
Personally I'm using Eofania and know TT1 is using Wild Mare
If we clash over vendors everyone loses
Righto
- 2
-
OK think I know how this one works now
Mod time
See ya later
-
Bugger
Just opened factions and instantly found your references
My eyesight (I'm an old dude) is a bit dodgy - specs time - ooh - I can see again!
My intention is to write a private Mod and give it to you to re-work for publication
More info when I've played around
-
OK
Had a ****-load of other stuff to do (many posts etc)
Now I've got a bit of free time I'll have a proper look into yours
I'll let you do the release
-
This is a non-specific count list of everything in POE2
It identifies specific things
Everything in POE2 has a UUID
The purpose of this is to connect things
If xcnt > 0 then it's something you can change in the game
if xcnt = 0 you're out of luck
The same applies to gcnt but in a diffo way
if gcnt = 0 it's an orphan
if gcnt > 0 && xcnt > 0 it's something you can buy or negotiate for
There are rare occasions where gcnt = 0 + xcnt = 1
This signifies something worth looking deeper into and attaching to a shop somewhere as I did yesterday with "The Red Hand and Friends" (wish I'd ran this one up first in hindsight)
There are many upsides to what this makes available to the Mod dev if you know how to use it.
A simple example is we can use it to detect Mod clashes (must have posted that one in another thread)
By the same methods I use to grab UUIDs I can extract them from Mods so if a Peardox Mod interferes with a TT1 Mod (love the Dead Parrot) I can find out instantly - there's more I can do with all this stuff but need to finish extracting exported
- 1
Important info for all modders adding unique items to the game via vendors
in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
Posted · Edited by peardox
I'll go download the Beta again
I have explanations for your missing UUIDs as well but wanna double check first