-
Posts
564 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Blogs
Posts posted by peardox
-
-
We could sorely use a complete list of all console commands
The autoComplete for printInstance oei_hovered for example ain't enabled - just had an whoops with that one with a fellow Modder in our Slack (fortunately as I've written quite a lot in the Adding Items thread I was able to correct myself rapidly)
While I'm sure there are some commands in console that are rightly hidden the majority should be fine for us to be aware of.
We'd settle for an addition to the Docs pages or even a post here for now (sticky it if you chose this option)
A related question by one of my fellow Mods that remains unanswered is here...
- 2
-
@Phenomenum Go do the #poll in our Slack!
Trying to get some numbers together then gonna moan properlySame for everyone else in our Slack
-
We were asked to do something along these lines about three months ago and I ain't released a Mod in ages so...
The Pantry adds all Enchanting ingredients to the Fishmonger in Port Maje (patch 2.1.0+ required)All 84 hard to track down ingredients should now be available for your enchanting needshttps://www.nexusmods.com/pillarsofeternity2/mods/217
-
Hehehe
I'm on GOG but stuck the Steam stuff in anyway to see what happens
Answer - nothing (you get the Steam dialog but it don't do anything)
- 1
-
You must be running the game through Steam in order to upload mods to the Steam Workshop.
Well, got mine thru GOG
I know I'm not the only one of the ModDevs here.
This needs fixing
Been a member of both Steam + Gog for years, didn't know I was limiting my Mod options by chosing GOG
- 2
-
So if there's limited slots the mod lootlist would override the original one? Ie if I have 14 items and add them all to the pig it'll drop those 14 items and none of its original loot?
Regarding attack mode, do you mean when the enemy is officially "spotted" and autopause kicks in (if enabled)? That WOULD be a short window! But if that window is all you need to add loot to any NPC or creature in the game then that's plenty
I'm not sure if there's a race - I've tried this half a dozen times but the porky mod APPEARS to always win - I'm guessing that the ModScriptHook takes preference over a lootlist rewrite - Only @BMac nows for sure.
As the standard lootlist
"DebugName": "LL_Boar_Young", "ID": "310520c4-4ab8-401f-b7c8-79c3f4a91343",
Has a "OutputMode": "One_Random" we can replace it with a "OutputMode": "All" in our override
Add this one (it's in the attach) - make sure you don't have porky mod installed as they use the same ID for the lootlist.gamedatabundle (all the above do), load the porky save and, voila...
Now we get the pork as well as the added items
There IS however an apparent limit on loot from anything that ain't a shop of 14 items - ships appear to fill it up (no reason we can't use the same trick with everything)
The printInstance oei_hovered does work when you hit auto-pause (just checked). Maybe they've changed something? Maybe I just mis-typed the command in debug? Dunno.
I used the Boar as it's right at the start but it potentially works on ANY NPC
-
Second, you mention stores specifically but presumably this can be used with any object that contains loot? Ie if I want to add a unique weapon to the digsite dungeon at the start of the game all I'd need to do is go to that dungeon, find a suitable loot container, and PrintInstance to get the ID?
Relatedly, if you did this to a NPC, is it possible to add it to its LootList via the same means? This would make it so an NPC could drop a specific item on death, which I know a couple of people have been asking about.
(and would it be pickpocketable if so [some people might not like that, is why I ask, though it wouldn't matter for hostile NPCs as they can't be pickpocketed])
Even if it doesn't, this opens up a world of possibilities.
OK here's a well fed boar (they eat anything)
The savegame is in porky.zip, the other one's the loot
Getting the ID is tricky going on my attempts to get it - you need the target (Young Boar) to be visible but you need to NOT be in attack mode. There's a very short period between the Boar being visible and the auto-attack kicking in. Pause in that window and do a printInstance with your mouse over the Boar and you get it (c0d8cf7b-8f24-4bb2-b7d9-51ea73f897b8)
This one's exactly the same as the others above so read them for the skinny.
The changes are ...
1) the lootlist in pdx-unique-items.gamedatabundle has been shortened as there are only 14 slots on a pig
2) the attached trigger in lootlist.gamedatabundle now has the Boar's ID
3) The boar's normal drop is set to one_random and I've already given it six so the natural drop don't happen
If you load Mapper -> Porky the boar will wander into view after a few seconds, kill it to get the new lootlist rather than the usual Pork drop
- 3
-
I'm happy to announce that we have a new member
@Cassiopia is still learning Modding so we're helping out with his / her Modding learning curve
The BIG thing to us is that he / she does French properly (only Spanish to go)
We've also worked out another new technique that only applies to 2.1.0+
This one ain't a spoiler...
We can now add items to chests etc (I'll be trying NPCs in the AM before I go vanilla again)
This kind of ability gives us a lot of flexibility (it'll be cool if I can get NPCs modded using this technique)
This stuff is getting FUN again!We have many upcoming facilities owing to our ties with the Dev team - announcements when we get to explore them
- 1
-
OK - done @house2fly's version
This one uses a diffo save and a very small mod to the original lootlist.gamedatabundle above
If you load the savegame and cheat (console) PrintInstance oei_hovered you'll find it's ID is 05b7a207-5857-4a01-b62d-cd3345dc2c22
All we have to do is change lootlist.gamedatabundle to use this ID (twice!!!)
Note that all these Mods happily co-exist in 2.1b (don't test my theory though!)
If you read the above instructions it's exactly the same deal apart from this time you wanna load Mapper -> FirstBox (it's the first locked box I tend to come across in Sea Cave)
The box is locked but it's pickable - the playable has enough to do this (ain't there a console that unlocks everything?)
One last point is that players call console the Cheat, we actually rely on it when developing Mods
Look at the crappy character I gave you in this save! If there's something we can't afford from someone like this piece of junk we need to be able to givePlayerMoney 10000000 simply to test things out. We constantly use giveItem <ID> (Rant over)
So - here are the files - if you Mod this is extremely simple - no real need to read the rest
Where's the fun in that
OK - I recommend a clean override before you start
First install the savegave (see my initial message on this above)
Load the save and open the box - full of junkExit to desktop
Install the new mod in override and open the box again - cool, far better loot
I'm gonna try an NPC with the same lootlist tomorrow
I THINK we need a NAMED NPC to lootlist them ATM (may change my mind)
Tried the piggie before seacave, that one's harder but have changed it's lootlist
Problem is I can't printInstance the thing
Here are the files...
Housefly.zip is the savegame
-
Forgive the basic questions:
Would generating your lootlist into the object add your lootlist to the existing lootlist, or replace it? I presume it would just add, hence avoiding conflicts with mods?
Second, you mention stores specifically but presumably this can be used with any object that contains loot? Ie if I want to add a unique weapon to the digsite dungeon at the start of the game all I'd need to do is go to that dungeon, find a suitable loot container, and PrintInstance to get the ID?
This is very exciting news by the way!
Rats - forgot this one my Slack friend
I'll do a sample at the start of game that does an object attach as I think I understand this now
I'm not gonna Mod your mod, simply detail how to do what you ask (I'll use my Mod as I can permit myself to do this kinda stuff)
May try a character mod as well (simply to see if I can do it)
Now I have to reload 2.1b - arggh!
Shoulda thought this thru!
-
@Bmac has noted that there's a random unload of mods he's fixing for 2.1.0 Release
It's mentioned in some post here (someone else pointed it out)
If you do Slack you'll get more answers than I can give from memory
-
FYI
Our output will likely be less than usual until 2.1.0 reaches release
We're in contact with the OBS Devs and they listen to us, we're indirectly changing the game in a good way
There are some HUGE things from a Modding stand-point coming in 2.1.0 that make Mods more stable (spent the morning researching and testing this kinda thing)
On behalf of the team I wish to apologise in advance for any current delays in the modreq system
I'd explain why we are all waiting for 2.1.0 but this is a no-spoiler zone (and the answer requires some very specific spoilers)
Bear with us
In a non-spoiler example I know that some people can't get specific Mods to work. Well, 2.1.0 fixes a specific issue that can be applied to all Mods that add items to any Vendor - this is why we're not as active as usual...
- 3
-
You've been invited
Check your email
-
Did the Beta - takes AGES to get back to Vanilla so I do this as rarely as possible (currently on revert cycle)
Anyway
I had a go and answered my own question
https://forums.obsidian.net/topic/105275-tutorial-adding-items-to-a-store-v210-beta/?p=2094352
It's a slightly different in practice than how I read the docs etc first time so I posted a full example with break / work examples of savegames. As this one's for experienced Modder's I only put in the salient points (as nothing actually changes much anyway)
The next two posts in that thread clarify the situation resulting with the reason for this thread now being redundant
We can do exactly what we hoped
My todo list is rather long helping everyone else - plus the revert takes so long
-
Any chance of adding a copy log to clipboard
Maybe only if console active - maybe even a copytoclipboard console command?I know printinstance does this automatically but that's not the only time it's useful so such a feature is desirable and I imagine extremely easy at your end
-
Yeah - there's no remove option cos people will grief the modlist so only I have the ability to delete them (which I do manually)
Do the invite thing - read my Sig - we've got a lot of very helpful people and one / two / many of them will defo be able to fix your white icon issue whether it be with Art, Modding advice or whatever (we also translate text into six not-English languages - missing French + Spanish ATM)
-
I've now explored OpenInn
Go grab https://www.nexusmods.com/pillarsofeternity2/mods/111 and install
If you change lootlist.gamedatabundle in the above attachment and replace c164ad1a-fabc-4c50-9238-c86f2f8999ad with 1cf96a2c-466a-4246-b224-95648881beb0 (twice!!!) - this one's the same as OpenStore but has some extra stuff
We're now adding to The Wild Mare
I've got a save where TT1's Dead Parrot is shown - this may not be true for you so just use any Wild Mare you have to hand
I could EASILY now be 100% TT1's would appear by adding it to lootlist.gamedatabundle but that means modding his mod. I'm not doing that - his stuff is his stuff, anything posted by myself here is free for use though.
Wild Mare now has the stuff we stuck on Eofania earlier! If you've got TT1's loaded and a good save you've also got his stuff
Here are the additional lootlists you can play with...
exported/design/conversations/00_prototype/00_cv_himuihi.conversationbundleexported/design/conversations/00_prototype/00_cv_nairi.conversationbundleexported/design/conversations/03_neketaka_vailian_district/03_cv_gyntel.conversationbundleexported/design/conversations/05_neketaka_artisans_district/05_cv_bathhouse_owner.conversationbundleexported/design/conversations/06_neketaka_slums_district/06_cv_tender_toko.conversationbundleexported/design/conversations/09_port_maje/09_cv_port_maje_tavernkeeper.conversationbundleexported/design/conversations/16_wahaki_island/16_cv_wahaki_trader.conversationbundleexported/design/conversations/17_dunnage/17_cv_tavern_owner.conversationbundle -
As promised above here is a list of every conversationbundle that triggers an OpenStore[Arrgh - addition] Just discovered we've also got an OpenInn that triggers unmarked stores in conversationbundle files (there are eight) - investigating 1cf96a2c-466a-4246-b224-95648881beb0 (Wild Mare)At some point I'll link them to their characters but as a quick reference this is usefulIf you want to find a specific vendor then you simply need to find them in charaters.gamedatabundle. Using Eofania as an example again if you search for her you'll find she has this property..."SpeakerID": "6b043fd4-902e-48ef-af38-c92cd4b5c7e4"From the following list this one only crops up in /09_port_maje/09_cv_eofania.conversationbundle (grep or something similar really helps here)Check out that file and search for OpenStore and we get the ID we need to plug in to lootlist.gamedatabundleThese are all in exported/design/conversations/00_prototype/00_cv_himuihi.conversationbundle/00_prototype/00_cv_vektor.conversationbundle/03_neketaka_vailian_district/03_cv_sanza.conversationbundle/03_neketaka_vailian_district/03_cv_vd_vendor_armorer.conversationbundle/03_neketaka_vailian_district/03_cv_vd_vendor_cobbler.conversationbundle/03_neketaka_vailian_district/03_cv_vd_vendor_fishmonger.conversationbundle/03_neketaka_vailian_district/03_cv_vd_vendor_huntingandsundries.conversationbundle/03_neketaka_vailian_district/03_cv_vd_vendor_tailor.conversationbundle/03_neketaka_vailian_district/03_cv_zamar.conversationbundle/04_neketaka_palace_district/04_cv_vendor_general.conversationbundle/04_neketaka_palace_district/04_cv_vendor_pets.conversationbundle/05_neketaka_artisans_district/05_cv_fessina.conversationbundle/05_neketaka_artisans_district/05_cv_herbalist.conversationbundle/05_neketaka_artisans_district/05_cv_imp_store.conversationbundle/05_neketaka_artisans_district/05_cv_iolfr.conversationbundle/05_neketaka_artisans_district/05_cv_marihi.conversationbundle/05_neketaka_artisans_district/05_cv_vendor_drink.conversationbundle/05_neketaka_artisans_district/05_cv_vendor_food.conversationbundle/06_neketaka_slums_district/06_cv_fabrozzo.conversationbundle/06_neketaka_slums_district/06_cv_street_dealer.conversationbundle/06_neketaka_slums_district/06_cv_tender_toko.conversationbundle/06_neketaka_slums_district/06_cv_vendor_bm_aumaua.conversationbundle/06_neketaka_slums_district/06_cv_vendor_bm_orlan.conversationbundle/06_neketaka_slums_district/06_cv_zahak.conversationbundle/07_neketaka_temple_district/07_cv_dawnstar_vendor.conversationbundle/07_neketaka_temple_district/07_cv_vendor_temple.conversationbundle/07_neketaka_temple_district/07_cv_vendor_tiabo.conversationbundle/08_neketaka_rauatai_district/08_bs_lounge_server.conversationbundle/08_neketaka_rauatai_district/08_cv_orlan_peddler.conversationbundle/08_neketaka_rauatai_district/08_cv_sabormi.conversationbundle/08_neketaka_rauatai_district/08_cv_uto.conversationbundle/09_port_maje/09_bs_fishmonger.conversationbundle/09_port_maje/09_cv_eofania.conversationbundle/09_port_maje/09_cv_port_maje_tavernkeeper.conversationbundle/09_port_maje/09_cv_shady_merchant.conversationbundle/09_port_maje/09_cv_vendor_market_blessings.conversationbundle/09_port_maje/09_cv_vendor_market_trading_post.conversationbundle/09_port_maje/09_cv_vendor_market_weapons.conversationbundle/13_fort_deadlight/13_cv_deadlight_merchant_02.conversationbundle/13_fort_deadlight/13_cv_deadlight_merchant.conversationbundle/14_slaver_port/14_cv_aeldys_spy.conversationbundle/14_slaver_port/14_cv_merchant.conversationbundle/15_rdc_port/15_cv_fish_vendor_01.conversationbundle/15_rdc_port/15_cv_weapon_merchant_01.conversationbundle/16_wahaki_island/16_cv_wahaki_trader.conversationbundle/17_dunnage/17_cv_dimesa.conversationbundle/17_dunnage/17_cv_market_bartender.conversationbundle/17_dunnage/17_cv_market_food_vendor.conversationbundle/17_dunnage/17_cv_ramaso.conversationbundle/17_dunnage/17_cv_tavern_owner.conversationbundle/20_splintered_reef/20_cv_undead_barkeep.conversationbundle/26_uncharted_islands/26_cv_tama_watua.conversationbundle/28_drowned_barrows/28_cv_vendor_huntress.conversationbundle/generic/00_cv_debug_guy_random_encounters.conversationbundle/re_scripted_interactions/re_cv_generic_merchant.conversationbundle/re_scripted_interactions/re_cv_generic_slaver.conversationbundle
-
I just had a go at this and thought I'd share the results
Please note that this ONLY works with 2.1.0Beta or above (like the release when we get it)
First grab this https://www.nexusmods.com/pillarsofeternity2/mods/125
Then grab the attachments to this post
Extract savegames.zip into C:\Users\<Your Login User>\Saved Games\Pillars of Eternity II (or wherever it goes on Max / Linux)
The savegames have cheats enabled BTW so ignore the usual moan about missing junk. These saves are both having gone from the beach talking to Rinco + Savia (coulda skipped that bit) and headed straight for Eofania (nothing else), this is a good clean small save.
Next extract the NexusMods version into override (this version will break)
Start up POE2 and load Mapper -> Before Eofania then talk to her (you're stood next to her) and open her store - LOTS of added items
Now load After Eofania. The only difference between these saves is that in the second one I've already had a look at her inventory. Check her store - all Mod items are now missing
This is an issue we've been aware of since the game came out
If you check ...
override\pdx-unique-items\design\gamedata\pdx-unique-items.gamedatabundle you'll see a standard lootlist re-write
"DebugName": "Store_09_PM_Eofania_BaseInventory", "ID": "0954daa7-cef5-4ffe-9a65-08abfbd618e8",
Exit to Desktop
Delete the Nexus Mods version of pdx-unique-items in override and replace it with pdx-unique-items-additem (attached)
Repeat the above Eofania loads and now BOTH have the correct Modded itemlists
This fixes a big headache for all Modders who do lootlists
If you examine the gamedatabundle you'll see that all I've done is change the lootlist override so it now looks like this...
"DebugName": "Store_09_PM_Eofania_Peardox", "ID": "fd5c33c9-2e15-45bd-89f5-7b98562b31e9",
The ID is a new one and I changed the DebugName - that's the ONLY alteration to the mod - the payload happens in lootlist.gamedatabundle
This was a quick test - I should really have removed the original, pre-mod, items from the lootlist
Finally if you check lootlist.gamedatabundle you'll see I've taken BMac's example and replaced the IDs
Again I've changed DebugName and the IDs
The important ID is c164ad1a-fabc-4c50-9238-c86f2f8999ad, this is the store triggered by asking Eofania to show you her lootlist
First I've got ....
"Data": { "FullName": "Boolean IsInActiveScene(Guid)", "Parameters": [ "c164ad1a-fabc-4c50-9238-c86f2f8999ad" ]
This checks if Eofania's store is in the level which, in the case of the supplied savegames, it is
Then we've got this
"Data": { "FullName": "Void GenerateLootListInto(Guid, Guid)", "Parameters": [ "c164ad1a-fabc-4c50-9238-c86f2f8999ad", "fd5c33c9-2e15-45bd-89f5-7b98562b31e9" ] },
This adds our altered lootlist to Eofania's lootlist. You can have BOTH versions of the mod installed at the same time and the broken original is still broken but the new version fixes the bad one.
There are 56 conversations that trigger an OpenStore in exported/design/conversations, in this case I'm using 09_port_maje/09_cv_eofania.conversationbundle
Simply search for OpenStore in that file and you'll see that triggers c164ad1a-fabc-4c50-9238-c86f2f8999ad which in turn now has the new lootlist added to itAs far as I understand the OpenStore loads the original lootlist we can Mod in exported as that and the openstore ID both appear in level347 but this new scriptable alters the openstore to add our new items (if it's not exactly what happens it's close enough to the high-level version of what happens)The only thing you need to do to have free reign with any Store is to find it's OpenStore call
I'll post a list of where they occur later to make it easier for people to track the one you're interested in downOne VITAL point about this new very easy to add functionality is that we no longer need to worry about Vendor Clash when 2.1.0 hits release. For example @TT1 uses The Wild Mare for his Uniques. There is no concern over anyone adding new loot to that list using the new method (started tracking Vendor Clash a few weeks ago - pointless now). Actually, think I'll verify this by loading his Mod + change the Store to his one (I see no reason for it to fail)Using the lootlist.gamedatabundle example and making a minor change to your existing Mods makes for an easy and foolproof better way of making your Mod Items available
-
Not quite the lottery but close...
The chances (did the maths this time) are 4,194,304 to one that using my system you clash IDs
I was lazy on the maths last time - this time the exact odds are presented
Now take the number of modders - maybe 50, let's be generous + make it 80
This makes is one in 52,429 that I tread on my own toes
It has been requested that I assign number ranges to Mod Devs - yeah, of course this is do-able.
The question I'm asking here is as the chances of clashing are now extremely unlikely why bother?
Most of my friends hate control, oddly they're requesting it in this situation
While knowing who is using which IDs to avoid clash is beneficial to everyone I see no point in ID reservation - hell, if you want it I'll write it but the system works as-is (the chance of a clash of ranges is 2048k to one if you want 000 - 999)I DONT wanna be number police! I CANT be, if some pillock invades your space that's very easy.
Take the randomness and use it
I will finish with a note that I only hack myself (this one will be fun)
-
I've now analysed every Mod
I'm very happy to report that my system appears to be working
While I can find String Clash these are between members of our group who share so @Spherikal's Enhanced UI has a clash with @Kilay's Italian Mod, there is no actual clash here as both use the same stringtables @kilay provided to @spherikal
While not everyone is using this system it's definitely helping (Many modders are now using unlikely to clash ranges of numbers)
The analysis of all Mods will take a while, I've just done IDs - the next stage is to find references (this is rather complicated)
AND - I WANNA WRITE A DAMNED MOD!!!
Too much analysis - not enough Mod dev
-
Err - homepage now displays the modlist dude
Note that this may not ALWAYS be true as I’m playing with the layout of the site
-
Yep
I’ll try this out soon to confirm it works in beta
The concept is fairly simple - remove lootlist entries in a Mod and replace with add to lootlist - this is something I should be able to automate once I have the concepts worked out properly
I BELIEVE this will help us with the savegame issue as well as if we build from scratch each time - no issue
-
I did a convo Mod for endgame that teleports me back to Neketaka
This ONLY WORKED once - every subsequent try sticks me back in endgame
I presume there is some global I need to flick
There are very specific ideas for allowing the game to continue
Nothing I have in mind breaks the narrative, quite the reverse - it compounds it
The globals in mods mean I can finally expand the game the way I wanna expand it
Have to wait for 2.1.0 of course
Been planning this for MONTHS...
The "Feature Requests to Obsidian for Modding Deadfire" Thread
in Pillars of Eternity II: Deadfire: Modding (Spoiler Warning!)
Posted
A hover on Mod Manager
I have this text for the short description on Nexus for my latest (can't try Steam - GOG installed)...
"Adds all Enchanting ingredients to Fishmonger in Port Maje (patch 2.1.0+)"
In manifest.json I am forced to use...
"All enchanting ingredients are available"
Maybe an altDescription with more text for the hover?