Baldur's Gate 3
0 of 0

File information

Last updated

Original upload

Created by

Majakale

Uploaded by

majakale

Virus scan

Safe to use

Tags for this mod

25 comments

  1. Domenicus7
    Domenicus7
    • premium
    • 119 kudos
    Hi, how do you find these? I'm wondering what vicar humbletoes' vendor list is

    EDIT : OK, humbletoes is LOW_StormshoreTabernacle_Guardian
    LOW_StormshoreTabernacle_Guardian
    more obviously LOW_VoicelessPenitent is probably the voiceless penitent in the undercity and LOW_Weaponsmith_Trade is dammon

    Finally, do you know how to remove items for treasure lists? I'm trying to move the amulet of the devout etc to humbletoes but so far I've only duplicated them into his trade inventory
    1. majakale
      majakale
      • member
      • 5 kudos
      I am not sure how to remove items. You might be able to create a mod and use the same table name, without the "merge" keyword and that might overwrite it... thus letting you specify what you want.
      I found the tags for them by exporting all the root template files as well as the stats files. Then i wrote code to parse the files and fill a database
  2. DimitriDark
    DimitriDark
    • supporter
    • 13 kudos
    Could anyone clarify for me: is 'LOW_Weaponsmith_Trade' the Act 3 version of Dammon?

    Neither the manual download nor cloud version of this file has it confirmed as Dammon, but if you follow the DEN_ and HAV_ naming conventions, is seems as though this would be Dammon. I've tried entering this for his loot table but not had success in the past. Likely user error and I should try again.

    Edit: Can confirm. 'LOW_Weaponsmith_Trade' is indeed Dammon once he survives his way to the lower city smithy.
    1. majakale
      majakale
      • member
      • 5 kudos
      Wow thanks for letting us know. I will update the cloud version to reflect that.
  3. Shiroyel
    Shiroyel
    • premium
    • 62 kudos
    Amazingly helpful 
    Still trying to figure out how to give a npc an item using this
    I see "SCL_DriderCaravan_DriderInventory"
    Thinking it's Kar'niss but he still just drops two items
    1. majakale
      majakale
      • member
      • 5 kudos
      Generally speaking, if a character or container's inventory has already been generated, then it is set. This means you have to modify the table before you encounter the npc or container. The only exception i am aware of is that a trader's stock can be regenerated by long resting or leveling. So, modify the table and then load a save that has not already encountered him. Outside of that, the association for that one i have not verified... which is why i didnt put his name in the npc column
    2. Shiroyel
      Shiroyel
      • premium
      • 62 kudos
      Hmm
      I'm probably getting something wrong then with the table.
      I've tried testing Kar'niss before summoning him with the lute and even long rested and no drops. Could it be a thing of having to go back to act one and then come into Act 2 because his party has been interacted with?
      That loot table may not actually be for him and might be an empty record.
    3. majakale
      majakale
      • member
      • 5 kudos
      I doubt you would need to go back to Act 1. Wouldn't really know though. I dont have a save near that point anymore (else i would give it a try real quick lol... i kind of went through a delete phase regrettably).

      All i can say for sure is I scrapped all of the root templates, i had access to, and could not find his. I even tried to manually find it for the handle h67bebf93g9096g4b47g81b6g7c3b3d553107... which according to the localization files, is his name. A character's associated treasure tables are listed as children nodes in the character's root template (either under TradeTreasures or just Treasures). But yeah none of the root templates listed that as an associated table. It is in the treasure table files thus it is in the spreadsheet (which was a result of scraping those).

      I guess another way to go about that is to try and find the treasure tables that have a moonlantern in them and work it through the process of elimination. Sorry i could not be of more help.

      Other then that it would be to check the obvious things... like that you put an I_  (or T_ for a treasure table) before the Stats name in the treasure table, for your object, and that you are merging in to it along with setting its output probability etc. sort of like:

      new treasuretable "SCL_DriderCaravan_DriderInventory"
      CanMerge 1
      new subtable "1,1"
      object category "I_MyThingStats",1,0,0,0,0,0,0,0
    4. Shiroyel
      Shiroyel
      • premium
      • 62 kudos
      It is a big help that you're responding
      I'm bouncing off ideas to figure out what it could be
      I tried with treasure table 



      The only moonlantern I can find in the treasure relates to when Gale gets the moonlantern

      I tried looking at the equipment file since I know this is him
      
      But I don't think editing this will do much, will it?
    5. majakale
      majakale
      • member
      • 5 kudos
      I wouldnt expect that the equipment reference would alter the loot table (which sucks cause i want to loot everything lol).
      Have you tried adding the object to a known location or npc other than that one? That would allow you to rule out issues with the object itself. Sometimes an invalid parent, an accidentally reused mapkey, or invalid xml can cause it to not appear in the game... but not actually cause errors nor crashes.
    6. Shiroyel
      Shiroyel
      • premium
      • 62 kudos
      I'm about to do that
      just adding it to a trader to see if its the item itself.
  4. Ooreeoo
    Ooreeoo
    • premium
    • 231 kudos
    This is extremely helpful, thank you for consolidating this information into one place
    1. majakale
      majakale
      • member
      • 5 kudos
      Glad you find it useful :). The version on google drive is a liitle more up to date. I put together a sqlite database of the scraped root templates and stat files too. I havent decided wether to upload that... not sure if anyone else would find that too useful
  5. zacxxx
    zacxxx
    • supporter
    • 0 kudos
    Nice :D
  6. VortexRPM
    VortexRPM
    • member
    • 1 kudos
    "Just a spreadsheet of the treasure tables i found in the sources (base, shared, gustav, patches... etc).

    I am still going through them and am nowhere closes to identifying all of them. It is a start... I will update the file as time goes on. I just wish that we could collaborate on a live document or something somewhere :(.

    If there is a place on the internet that this kind of thing belongs outside of Nexus, or if this exists somewhere else, let me know and i will remove it from here :)."


    I would consider adding an invite link to a google drive sheet version of the document and letting people at least comment on it. Or having a master that only you have access to so you can correct mistakes.
    1. majakale
      majakale
      • member
      • 5 kudos
      You are right. That is, perhaps, the best way to tackle this.
    2. Kkaras
      Kkaras
      • member
      • 6 kudos
      I've been trying to understand the table myself. Some parts are easy to understand, others are not so easy. Obviously drop rates isn't a part of this, but it could be used to tweak drop rates of certain items. I'm still trying to figure out the syntax. Some parts are easy to figure out, others not so easy.

      Understanding the table will help figure out drop location (or maybe correct / add locations for you)

      new treasuretable "Gold_Meager"
      new subtable "1,1;2,1;3,1;4,1"
      object category "I_OBJ_GoldCoin",1,0,0,0,0,0,0,0

      So, if I'm understanding this right, in plain English, this treasure table is called Gold_Meager. The only item that can drop from this table is Gold Coins (object category). The Subtable part is chances to drop items from the table (the math is a bit weird).

      Figure the better understood the table is, the easier it is for people to help create an accurate spreadsheet.
    3. majakale
      majakale
      • member
      • 5 kudos
      I am right there with you. That, of course, is assuming that someone, somewhere didn't put something like 

      new treasuretable "Gold_Meager"
      CanMerge 1
      new subtable "1,1"
      object category "I_CONS_FOOD_RoastedPig",1,0,0,0,0,0,0,0


      Which would then say put out a gold coin, from what you had, and a roasted pig.

      I am at the same point. I figured a fist step could be to figure out what the tables are and where they can be accessed in the game. Once that is done, then start to mess with them... since once you mess with an object it has what it has... or if you go to a trader, then it has what it has unless you level up or long rest or something...

      i have also seen:
      new subtable "-1"

      which i assume means always have it.

      but back to (which i think is how it is defined in the shared version of the treasure table)
      new treasuretable "Gold_Meager"
      new subtable "1,1;2,1;3,1;4,1"
      object category "I_OBJ_GoldCoin",1,0,0,0,0,0,0,0


      i wonder if this points to the first number grouping (1,1)
      object category "T_Gold_Meager",1,0,0,0,0,0,0,0
      and this the second  (2,1)
      object category "T_Gold_Meager",2,0,0,0,0,0,0,0

      or if those just modify the statistics...
    4. majakale
      majakale
      • member
      • 5 kudos
      I am definitely underthinking it

      new treasuretable "Gold_Pocket_Opulent"
      new subtable "20,1;25,1;30,1"
      object category "Gold",1,0,0,0,0,0,0,0


      new treasuretable "Gold_Pocket_Random"
      new subtable "1,1"
      object category "T_Empty",1,0,0,0,0,0,0,0
      object category "T_Gold_Meager",1,0,0,0,0,0,0,0
      object category "T_Gold_Pocket_Poor",3,0,0,0,0,0,0,0
      object category "T_Gold_Pocket_Modest",2,0,0,0,0,0,0,0
      object category "T_Gold_Pocket_Normal",1,0,0,0,0,0,0,0


      It looks like the first number in the grouping is the quantity. Maybe, the percentage is across the number of groupings. 1 grouping is 100%. 2 is 50% (one or the other)... 3 is 33% (one of the 3)?

      new subtable "20,1;25,1;30,1"
      quantity?
      weight in the calculation?

      (when there are entries like this new subtable "2,3;3,2;4,1", then one must question everything)

      And, i think, the refenced number, like
      object category "T_Gold_Pocket_Poor",3,0,0,0,0,0,0,0
      is either the number of times to roll that percentage or the multiplier of the result. It cannot be a reference to the grouping number... since there are calls to tables with a number that doesnt exist in those groupings or there aren't enough number of groupings for the number.

      And, the case with Gold_Pocket_Random is: if there are more entries below a subtable, it will choose one randomly. That if you want more different things returned at once, that will require more subtables.

      i need to stop rambling...
    5. majakale
      majakale
      • member
      • 5 kudos
      as in weight, i mean like if you had
      new subtable "2,3;3,2"

      is that the same as saying?
      new subtable "2,1;2,1;2,1;3,1;3,1"

      So 60% of the time return qty 2 and 40% of the time return qty 3

      i need to stop rambling
    6. majakale
      majakale
      • member
      • 5 kudos
      Ugh i am such an idiot. I will stop. I just remembered that this game is kind of based on DOS2... that being said, it looks like the treasure tables share the same kind of logic
      https://docs.larian.game/Treasure_Tables

      From that page:
      DropCount
      This entry tells the system how many items to choose from the ObjectCategory entry on the same line, and all lines below it with empty DropCount entries. This is a list of possibilities separated by a semicolon. The possibilities are formed as x,y where x is the amount of items that should be picked and y is the chance.

      • A negative integer like “-N” means that the Treasure Table uses exactly N instances of the ObjectCategory. This is known as a forced drop, and will ignore level restrictions to get N items if necessary.
      • A string of non-negative integers like “n_1,p_1;n_2,p_2;...;n_k,p_k” means that the ObjectCategory can be used n_1, n_2, ... or n_k times. Here, the number n_i will be used with probability p_i/(p_1+p_2+...+p_k). For example, “4,1;5,1;6,2” for “T_ST_ArmorMagic” means that the Treasure Table “ST_ArmorMagic” will be used 4 times with a probability of 1/4, 5 times with a probability of 1/4 and 6 times with a probability of 2/4. The probabilities are decreased when they are successfully rolled. In the example above, if the table rolls 4, then DropCount becomes 4,0;5,1;6,2 for the next roll, meaning that 4 has probability 0, 5 has 1/3 and 6 has 2/3. When all probabilities are zero, they are reset to default values. This way we safeguard against situations where a table with DropCount 0,98;1,2 will drop 1 item five times in a row due to sheer randomness.
    7. Kkaras
      Kkaras
      • member
      • 6 kudos
      As to your bit about merging items into an existing table, I'm not sure. Common sense says that how merging works, but sometimes programming language is not sensical! Best way to test that is find the table that drops stuff on the nautiloid and add to those tables. Great area for testing stuff. But, that's not your focus, this is more of a side tangent on understanding the file layout.

      The Drop Count section explains things, even if it is a bit wordy. Just requires a bit of math to understand the logic, that's all. The Object Category section goes into explaining what item on the table actually drops (the wiki really needs to be laid out better).

      Summary, it first rolls to determine loot and quantity. That's the Subtable.
      The ObjectCategory entries are what can drop.

      TLDR : Roll to determine loot(and quantity), then roll to see what loot they actually get!

      Well, it wasn't a waste of time going off on the tangent of drop rates as you can reference that page to help you build the spreadsheet! So, not a waste in that regard. Sadly, we've probably done the same work others have done. But, sometimes doing the work yourself can be productive as your brain ingrains the knowledge a bit faster that way. If there are guides about such files, I don't know where they are. And if they're video only then it may not be helpful for everyone. Especially if they're not in multiple languages.
    8. majakale
      majakale
      • member
      • 5 kudos
      The merging stuff totally works. That is how we can add items from our mods to existing treasure tables... have items appear in "the tutorial chest", etc.

      You are right though. Thinking about and looking for answers on the drop count stuff was worth it. Now we know, ish... yeah, they could have worded that a little better.
  7. Donasparagus
    Donasparagus
    • premium
    • 4 kudos
    this is certainly very useful for one or the other. good work
    1. majakale
      majakale
      • member
      • 5 kudos
      Thanks :)