Jump to content

peardox

Members
  • Posts

    564
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by peardox

  1. Just PMd them and while writing realised this was a good idea I started of with we the undersigned (acknowledging nobody I hadn't actually told a soul) While there are many issues we need addressed this one should be fairly simple for them to fix... Containers (not as boring as it sounds) I'll use Sanza as an example and some discussions I'm having with @ZapGunForHire [Deadfire] owns [Neketata] owns [Queen's Birth] owns [sanza's Map Emporium ] owns [Many things] I'll just take Sanza for illustration [sanza] owns - this bit is abstract... [sanza's Shop] which owns [bunch of items] [His kit] Kill him for the drops (don't do this one) [Faction] Which controls how friendly he is and if he's gonna give you a discount etc At present there is no way to link any of these things together unless you do extensive research of level* In exported it's be very cool to clearly identify Sanza's Shop as belonging to Sanza The only current way to do this is matching UUIDs In the @ZapGunForHire Q where he's trying to play with discounts the only way we currently have is to match UUIDs in level files I'll do a little research and let @ZapGunForHire in on what he wants so he can do a release. If you like my suggestion reply + like this post then next time I go to the Devs I can say we've got X asking for this and it's growing daily.
  2. See https://forums.obsidian.net/topic/103067-all-the-uuids-listed/ That abstracts this problem and explains it. Basically there will be no connection between the two other than level20 which in the post above I use as an example of Sanza and his shop. I read your post before writing that one so I give you a few personal clues in the thread. I've mentioned to the devs this disconnect - I think I'll push this one a little harder - the only way to currently find out the linkage is full analysis of 30Gb (takes 8 mins per query, hence the other post where I've done most of the 'homework') I can't CC a PM but basically what I'll be asking for is linkage so Sanza has Sanza's Shop which contains Spyglass etc and is a member of [some] faction where we can apply discounts. You doing the Economy mod then? I've not looked at factions properly yet but it's got some keys that obviously affect the economy
  3. I've just processed 1.1.1 to extract all the UUIDs (there's a post about it here note a very, very small SPOILER ALERT No actual spoilers, it's all very techie crap for the Mod community) The result of that work means I can now identify unavailable items 100% The Red Hand is encountered 6 times (most will be character interactions) but not within the level files etc making it a unique (possibly) obtainable in 1.1.1 - in fact we know it is obtainable, I add the possibly as there are a load of unused conversations. The conversations are the main problem - I can't tell yet whether you hit a particular result or not in a broken conversation chain - yep, there are orphans in dialogue as well; they were far easier to spot than today's stuff
  4. That was a lot quicker than I expected - 8 minutes to process 30G of stream decyphered content (someone fix the spell checker - decyphered is a word) What do we have here then? UUIDs are used extensively in POE2 (spell checker...) but there is a disconnect between the UUIDs that's resolved externally The file I've extracted lists every single UUID in POE2 and is JSON encoded for easy reference This involved stream decoding (some are way to big to read into memory) 52,293 files and yields 66,316 UUIDs. Not all the UUIDs are actually in exported - there is no reference between for example a vendor and his / her shop (big clue for @ZapGunForHire here re discounts) To give an example Sanza "DebugName": "CHA_03_VD_Sanza", "ID": "e86415a7-a98c-425a-ba4b-c4288d49435d", He's only in ... PillarsOfEternityII_Data/level20 PillarsOfEternityII_Data/exported/design/gamedata/characters.gamedatabundle PillarsOfEternityII_Data/assetbundles/characters.unity3d Now, his shop "DebugName": "Store_03_Cartographer", "ID": "1522b748-9761-4c17-981c-ebe76dfc5127", That's only in ... PillarsOfEternityII_Data/level20 PillarsOfEternityII_Data/exported/design/gamedata/items.gamedatabundle [That was a painful grep - took me about the same amount of time to stream-process the same files to extract every one] What we can tell from this is that level20 there is no direct connection between Sanza and his shop other than obfuscated in level20 @ZapGunForHire - you can now see why there's no direct connection between factions + a shop, you'll find that the discount is applied in some level file that we have no way of linking them together (it's a pain in the ass, I know) I previously did this the other way around for level* which allows for an method to work out what's where. Things get more complicated when we look at Sanza's actual location (level20 has a UUID) that's referenced in Queen's Berth and Netekaha - each are containers for something smaller (this is why I believe Mods not working from a loaded savegame happens - got a report of the uniques failing from a user this AM) OK... That's all the theory over Now to the data structure of the extracted file (it's JSON) This is Sanza "e86415a7-a98c-425a-ba4b-c4288d49435d": { "cnt": 3, "xcnt": 2, "gcnt": 1, "exported": 1 } cnt = total occurrances xcnt = count in exported gcnt = count outside exported If we take unavailable items gcnt will be zero and xcnt one or more So - something I know is unique from yesterday's mod ... "14d0fd5a-e08c-45ac-baf7-77418ce94d48": { "cnt": 2, "xcnt": 2, "gcnt": 0, "exported": 1 } [Wait for grep to locate it for me - BRB] I'll do this the other way around (take a known orphan) Grimoire_Arkemyr (who?) OK Arkemyr is a quest giver (kill him and you get his grimoire I guess) If you find a 1 cnt with an xcnt of 1 this is something orphaned Annoyingly the website won't be updated until I post this so gimme a few moments to link them together as I'm documenting it in forum The downloads can be found at http://poe2.ubu.peardox.com/exported/
  5. For those of you who missed the post on request I fixed and uploaded all the design folder to a server of mine last w/e https://poe2.peardox.com/exported/ The first bunch are one liners the second bunch are prettified JSON (even where it didn't need prettifying) The JSON ones expand to about 315M or so (so beware)
  6. I was running off a 1.1.0 UUID list I realised while writing the thing I need to be more specific in finding orphans so I've just copied 30G of data to my server for processing 1.1.1 As I said, this mod will be constantly moving it's targets as things get added I was informed that The Red Hand is actually available in 1.1.1 for example Gonna go regex out UUIDs from 30G in a while
  7. OK - which one in factions decides it? This is the output from a gamedatabundle analysis tool I wrote Array ( [0] => exported-1.1.1/design/gamedata/factions.gamedatabundle ) Types = 12 ChangeStrength - Game.GameData.ChangeStrengthGameData, Assembly-CSharp (3) - exported-1.1.1/design/gamedata/factions.gamedatabundle => ChangeStrengthComponent - Game.GameData.ChangeStrengthComponent, Assembly-CSharp (3) [5] => ReputationValue - integer(1) => DispositionValue - integer(1) => RelationshipValue - integer(1) => DisplayName - integer(4) => FormatString - integer(4) Deity - Game.GameData.DeityGameData, Assembly-CSharp (7) - exported-1.1.1/design/gamedata/factions.gamedatabundle => DeityComponent - Game.GameData.DeityComponent, Assembly-CSharp (7) [3] => DisplayName - integer(4) => PositiveDispositionsIDs - string(79) => NegativeDispositionsIDs - string(79) Disposition - Game.GameData.DispositionGameData, Assembly-CSharp (10) - exported-1.1.1/design/gamedata/factions.gamedatabundle => DispositionComponent - Game.GameData.DispositionComponent, Assembly-CSharp (10) [5] => DisplayName - integer(4) => Description - integer(2) => Ranks - string(20) => Icon - string(38) => CircularIcon - string(44) Faction - Game.GameData.FactionGameData, Assembly-CSharp (13) - exported-1.1.1/design/gamedata/factions.gamedatabundle => FactionComponent - Game.GameData.FactionComponent, Assembly-CSharp (13) [14] => DisplayName - integer(4) => IsMajorFaction - boolean(1) => Scale - integer(2) => GlossaryEntryID - string(36) => Positive - integer(1) => Negative - integer(1) => Icon - string(52) => IconRound - string(53) => FlagIcon - string(1) => FlagIconSmall - string(52) => FlagIconCombat - string(55) => HideFromReputationUI - boolean(1) => ReputationCanChangeRelationship - boolean(1) => ReputationScripts - string(336) MetaTeam - Game.GameData.MetaTeamGameData, Assembly-CSharp (5) - exported-1.1.1/design/gamedata/factions.gamedatabundle => MetaTeamComponent - Game.GameData.MetaTeamComponent, Assembly-CSharp (5) [1] => TeamListIDs - string(196) PaladinOrder - Game.GameData.PaladinOrderGameData, Assembly-CSharp (7) - exported-1.1.1/design/gamedata/factions.gamedatabundle => PaladinOrderComponent - Game.GameData.PaladinOrderComponent, Assembly-CSharp (7) [3] => DisplayName - integer(4) => PositiveDispositionsIDs - string(79) => NegativeDispositionsIDs - string(79) ReputationRank - Game.GameData.ReputationRankGameData, Assembly-CSharp (16) - exported-1.1.1/design/gamedata/factions.gamedatabundle => ReputationRankComponent - Game.GameData.ReputationRankComponent, Assembly-CSharp (16) [8] => Title - integer(2) => Rank - integer(1) => RankType - string(7) => PositiveValue - integer(1) => NegativeValue - integer(1) => ForceRelationChange - boolean(1) => CallFactionScripts - boolean(1) => VendorRatesID - string(36) ReputationThreshold - Game.GameData.ReputationThresholdGameData, Assembly-CSharp (2) - exported-1.1.1/design/gamedata/factions.gamedatabundle => ReputationThresholdComponent - Game.GameData.ReputationThresholdComponent, Assembly-CSharp (2) [2] => Axis - string( => Thresholds - string(22) ShipHostilit - Game.GameData.ShipHostilityManager, Assembly-CSharp (1) - exported-1.1.1/design/gamedata/factions.gamedatabundle => ShipHostilityManagerComponent - Game.GameData.ShipHostilityManagerComponent, Assembly-CSharp (1) [2] => FactionHostilitySets - string(5455) => CaptainOverrides - string(9777) Team - Game.GameData.TeamGameData, Assembly-CSharp (336) - exported-1.1.1/design/gamedata/factions.gamedatabundle => TeamComponent - Game.GameData.TeamComponent, Assembly-CSharp (336) [8] => FactionID - string(36) => DefaultRelationship - string( => TeamType - string(6) => HostileTeamsIDs - string(40) => NeutralTeamsIDs - string(157) => FriendlyTeamsIDs - string(274) => InjuredReputationChangeID - string(36) => MurderedReputationChangeID - string(36) Vendor - Game.GameData.VendorGameData, Assembly-CSharp (69) - exported-1.1.1/design/gamedata/factions.gamedatabundle => VendorComponent - Game.GameData.VendorComponent, Assembly-CSharp (69) [6] => VendorName - integer(3) => StoreIconPath - string(38) => PortraitPath - string(58) => StartingFactionID - string(36) => ConditionalRates - string(399) => LockedDescriptionString - integer(2) VendorRates - Game.GameData.VendorRatesGameData, Assembly-CSharp (10) - exported-1.1.1/design/gamedata/factions.gamedatabundle => VendorRatesComponent - Game.GameData.VendorRatesComponent, Assembly-CSharp (10) [3] => SellMultiplier - double(1) => BuyMultiplier - double(1) => InnMultiplier - double(1) 12 - 12 - 60 12 ctypes 'ChangeStrengthComponent', 'DeityComponent', 'DispositionComponent', 'FactionComponent', 'MetaTeamComponent', 'PaladinOrderComponent', 'ReputationRankComponent', 'ReputationThresholdComponent', 'ShipHostilityManagerComponent', 'TeamComponent', 'VendorComponent', 'VendorRatesComponent 12 ttypes 'ChangeStrength', 'Deity', 'Disposition', 'Faction', 'MetaTeam', 'PaladinOrder', 'ReputationRank', 'ReputationThreshold', 'ShipHostilit', 'Team', 'Vendor', 'VendorRates' I'm guessing ConditionalRates or one of the Multipliers
  8. Yeah I'm gonna clean my lists today and write some docs I based that bunch on 1.1.0 Gonna start a copy (it'll take a while)
  9. I've suggested (in another post) that we all stick to design + localised plus their folders The advantage of this is it becomes very clear how someone else's mod works For example I did some work on 'Dead Parrot' Had TT1 NOT used structured directories I'd have given up
  10. Got a busy day tomorrow so have to do some boring work so until that's done I'm AFK I will attempt to answer Zap's although I already know it not to be easy Let's take Sanza as an example. there is nothing linking Sanza to his shop - but it still works The trick here is finding the GUIDs This is gonna be painful - copy live to dummy (30 GB)
  11. My usual mode of operation is to use the Ubuntu stuff as I understand Debian a lot more than RedHat these days A small tip for you if on a Debian system sudo updatedb.mlocate You can now find any file on the system I don't wanna get heavily into Linux but suffice it to say that something like this (bear in mind that paths are diffo owing to my strucure) grep -irh "\"Type\"" exported-1.1.1/json/gamedata/gui.gamedatabundle.json | awk '{$1=$1};1' | sort | uniq That incantation results in this "Type": "Companion", "Type": "Generic", "Type": "Monument", "Type": "None", "Type": "Player", "Type": "TransitionDoor", "Type": "TransitionMap", "Type": "TransitionNormal", "Type": "UserNote",
  12. It's a LootList and quite easy to do Basically you have to find the LootList then add to it Here's the simplest example I can think of (not completed) { "GameDataObjects": [{ "$type": "Game.GameData.LootListGameData, Assembly-CSharp", "DebugName": "Store_09_PM_Eofania_BaseInventory", "ID": "0954daa7-cef5-4ffe-9a65-08abfbd618e8", "Components": [{ "$type": "Game.GameData.LootListComponent, Assembly-CSharp", "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "OutputMode": "All", "Items": [{ "Conditional": { "Operator": 0, "Components": [] }, "OutputChance": 1, "MinCount": 1, "MaxCount": 1, "Weight": 1, "ItemID": "cd94b3d3-58be-43fc-9519-ea1703a9314c", "LootListID": "00000000-0000-0000-0000-000000000000", "LockedVisible": "false" } All you have to do is add an extra to the list So, cd94b3d3-58be-43fc-9519-ea1703a9314c becomes an added thing This is EXACTLY how I did https://www.nexusmods.com/pillarsofeternity2/mods/125 Do you think I paid attention to the Q? (actually, I'm on this - shh) The goal of the mod was to get it in front of people, tidy it up later
  13. No, she's an existing vendor - just one I didn't think people would conflict with me She's actually got three slots so may use those for other things... There a a load of vendors over Deadfire I think we have to 'claim' our own and in my case Eofania was a sensible choice as even at Level 20 she's around There is another matter (before I lost it all as detailed elsewhere) that is noteworty We can do convo bundles (don't ask again) that add actions to the character As I say in another post - Windows... I lost everything - the cool thing is I know how to mod a NPC
  14. This one is always gonna be in beta I guess One of the most popular subjects is how to get "The Red Hand" The mod is, I admit, far from perfect but it works well https://www.nexusmods.com/pillarsofeternity2/mods/125/ Something I discovered today is that exported ain't a true reflection of what's available I'm gonna have to run over 30 Gb of data to sort this one out...
  15. A straight out moan - nothing too relevant... I just wrote a beta vendor mod for the whole 'The Red Hand' junk in main Last night I managed to delete my entire POE2 data so had to wait hour for a re-install (there was a lot of useful research in there) Six hours later (mediocre net speeds) I've got a fresh copy On finalising 'The Red Hand' I moved the mod to my POE2 WIP folder Guess what - it moved all of Data It's impossible to do this in Linux command (preferred tools) Miffed
  16. I'm basing this on in-game un-availables so drops are out I just dropped the list to Value > 500 which provided the 14 results listed above The easy gets are still good though so think - fine tuning comes later Just to get this thing out think I'll go with that lot (yeah, Kana's in it) Tomoz I'll do a deeper search fur un-referenced items At least you'll be legally able to get "The Red Hand" I'll give your list a go tomoz as well to see if I can stick them on her. The mod will be in a constant 'beta' as people come up with wishlists I'll add anything sensible to the store One thing to note is that if you buy an item and I remove that item from the store you'll retain the item (I'll have to try this out)
  17. Try these Prob a better list Acina's Tricorn Arkemyr's Grimoire Blackened Plate Helm Boltcatchers Cauldron Shard Defiant Apparel Fenan's Finery Iron-Clasped Grimoire Kana's Hat Onepahua's Strength Orishia The Iroccian Calendar (Rare) The Maker's Own Power The Red Hand Violet Redemption Wahaki Tua
  18. Rats - just tried a Bounty item Tears of Saint Makawo is lootable The list is going to be shorter
  19. I'm in the middle of MOD testing Before you ask, yes, you get The Red Hand plus 43 others (this number will drop a bit on release) Below is a list of items that appear to be un-referenced in the game This list is, I believe, inclusive of every Unique item unavailable in-game (minus a few such as character Uniques) The full list is far more extensive - there are 1,035 in total I have to expand my search to guarantee this list is correct Can avid players check this list to see if I've included anything stupid? I'm aware of Great Sword - tuning this takes time so a few (e.g. Great Sword) won't be in the final I'm placing the MOD on Eofania who can be found in Sātahuzi outside Port Maje I'll give everyone a shout on release... Aamiina's Legacy Acina's Tricorn Arkemyr's Grimoire Blackened Plate Armor Blackened Plate Helm Boltcatchers Cauldron Shard Chameleon's Touch Cloak of Berath Cloak of the Obsidian Order Cowl of the Piercing Gaze Defiant Apparel Deltro's Cage Devil of Caroc Breastplate Effort Endre's Flog of Obedience Fenan's Finery Fleshmender Gaun's Pledge Gipon Prudensco Great Sword Humility Ibis Iron-Clasped Grimoire Kana's Hat Lance of the Midwood Stag Nomad's Brigandine Onepahua's Strength Orishia Precognition Ring of the Solitary Wanderer Saint's War Armor Salve of Dissolution Sharpshooter's Garb Skullcrusher Soul Void Street Sweeper Tears of Saint Makawo The Iroccian Calendar (Rare) The Maker's Own Power The Red Hand Violet Redemption Wahaki Tua Wicked Beast
  20. Something I've been working on this week is automating reading design/gamedata - so far I've just about finished items.gamedatabundle. The others will be easier to process as I've now got all the basics sorted out. In a week or so I should have em all done - it's a laborious task but the goal is worth it. Once I've done that I should be able to take a set of mods and discover conflicts. I'm planning to make it public eventually so ppl can discover if their new mod conflicts with any existing ones
  21. All about UUIDs https://en.wikipedia.org/wiki/Universally_unique_identifier Type 4 is the safest
  22. We've been discussing that in Mods recently but I'll cross-post this for you... Can other ppl simply post directly to https://forums.obsidian.net/forum/131-pillars-of-eternity-ii-deadfire-modding-spoiler-warning/ For anything not specifically on-topic We're a nice bunch and willing to help
  23. I can tell you that The Red Hand is not available by any means I can discover. I've got a Waenglith test that gives me anything I want (manually editing for Mods) Yep, I'm a Modder - it's marked as SPOLIERS (not seen one in ages) - come visit us HERE (it's technical and boring to all but a few) - the thing is that if you make a sensible post there someone will eventually help you out. So, I'm still identifying the orphaned items (the ones you can't get) I've built up a huge amount of over this stuff, At the time of writing I only know what's NOT in-game (not if it's any good or now) I take it people are after Uniques? If the group can gimme a top 10/20 I'll write a Mod so you can buy them all. Please note that Modding is encouraged by Obsidian (I was asked recently if using a Mod would kill someones Achievements - the answer is no) Indeed, the Mod community are in contact with the Devs so we can further expand POE2.
  24. I just asked a Dev a similar Q Can we change SFX? The problem with VO is it'd sound amateur and prob always be English. I reckon the SFX would be a good idea - you only need one file. I mean, imaging TT1's Dead Parrot being equipped and saying 'Squawk' should be an achievable target (I've prob got a SFX in my library that'd work for a test)
  25. Posted a topic in general as it's only us who come here basically re-directing members to this specific thread. https://forums.obsidian.net/topic/103002-call-for-mod-translators/ Despite all our good intent it's very hard to get translations done Those of you who have offered are already Mod developers so this seemed a good idea. The concept is let's get some players who wanna use our mods to translate for us (there are a lot more of them than us) Dunno how well, if at all, this will work as that's a VERY busy forum so will prob get drowned out soon If a few Modders keep it alive, e.g. asking for a Spanish translation it will hopefully remain active and gain some traction.
×
×
  • Create New...