Baldur's Gate 3

The only REL_SE file meant for configuration is REL_SE_Config.txt, if you don't use MCM. All other files are meant to be read and written by the script only.
Check the Documentation tab for the latest version of the config file. Either copy paste it to your config, or delete your current one, a new config will be made once a save is loaded.

Below is the explainations of what each configurable variables in the config file do:
*all rates assume you have given the value in percentage, so cosmetic=50 means it's 50/50 to drop, you can add decimals into them, maximum is 15, more can be added but the script round them to 15th anyway.

Dicesize / Dice size : determine the maximum number randomly generated, it's always between 1 and Dicesize
Cosmetic: the drop rate of items flagged as Cosmetic manually by users in Rilissimo's generator mod
Uncommon:  the drop rate of items flagged as Uncommon in Rilissimo's generator mod, automatic or manual
Rare: same as above, but with rare
Veryrare: same, with very rare
Legendary: same, with legendary
* Cosmetic drop rate is independent from the other 4, the mod by defaul gives you a 25% chance (total of uncommon to legendary) of getting anything whenever it is triggered, it can go up to 100 and beyond, with 100 being you're guaranteed to get 1 item, >100 your uncommon rate suffers.
*Example: 25 / 10 / 7.5 / 5 / 2.5 : you open a chest, you have (10+7.5+5+2.5) = 25% of getting at least an uncommon item, 75% of nothing. In addition to that, you have 25% of getting a cosmetic item.
100/ 50 / 25 / 25 / 25: you ((50+25*3) > 100) are guaranteed to have an item, but since their sum is above 100, your uncommon drop rate is only (100 - 25*3) = 25%, so you have an equal chance of getting an item of any tier, in additional to a guaranteed cosmetic item (100%)

MultiLootUniqueCount : set = x for x number of unique gear rolls per eligible container, will stop before x is reached if the roll fails
MultiLootCosmeticCount: same as above, but for cosmetic
IgnoreFail : set = 1 to ignore the fail check mentioned above, will make the mod roll until Count is reached
UniquePenalty : set > 0 to apply a stacking % penalty to drop rate for successive rolls
CosmeticPenalty :  same as above, but for cosmetic

Gachaprice / Rerolling price: If you are short on loot and high on cash, deposit <Gachaprice> amount of gold into a looted chest so you can spin that wheel of fortune again.
*The feature will not trigger unless: the chest has a special debuff preventing you from rerolling AND the chest has the exact amount of <Gachaprice> gold inside it. 
*The modder is a loot goblin himself, so he would never do this P2W shit. This is meant to be a joke feature, but it would 100% work, camp chest is excluded from this. 
*DO NOT ask me to link this feature to your bank account so you can crash Faerun economy.

Go Ham mode / AnyContainer : by default REL_SE filter objects so only certain chests can trigger the script. Enable this disables that filter, so ANY item considered as 'Container' by SE will trigger instead.
*Note that this is superceded by EnableChestSpecific if it's enabled.

Sacrifice / Enable Ritual: If enabled, you are able to trade <SacrificeCount / Number of required sacrifices> number of items of the same rarity for a guarantee chance to get an item of 1 tier higher. Sacrifice item must be non-camp clothes equipments. Doesn't work if you sacrifice legendary items.
To do so, find a chest with REL_SE buff denoting you've already looted it, deposit the exact number of needed items into the chest, close it, open it again.

enableAutoInjection / Loot Dispensing Aura: If enabled, REL_SE will automatically roll the dice on any and all eligible container affected by Auto Loot Aura status. I can't interfere with Auto Loot any more than that, so either you manually loot all of those potential drops, or you swiftly turn the aura off and on again so it picks up the generated stuffs.

UniqueCosmetic / Make cosmetic items unique : While this is enabled, any cosmetic item you loot will be permanently removed from the pool. Caution: disabling this option after looting cosmetic items will not bring them back.

ClearContent / Clear container equipment before looting : While this is enabled, any equippable items except story items will be removed from the container before REL_SE decides if you get a loot. 
*Caution: Any non-story equippable items, vanilla and modded,  will be removed, I didn't add a filter for quest items since AFAIK the only non-story unique item required to complete a quest is Segeant Thrinn's boots, and REL doesn't randomize that. Do inform me if the filter unintentionally removed something important.
This is for people wanting to have 100% unpredictable loot. Next update will have a default partial version of this, where if you get an item not by REL_SE but REL_SE has its record, the item will be automatically removed from the pool, to account for cases where you don't want all of your modded items randomized
ClearConsumables : same as above, but for consumables

Allow cosmetic in chests / EnableNormalCosmetic: enabled by default. With this off, no cosmetic item will spawn, unless the container is a wardrobe
Cosmetic rate penalty / CosmeticRatePenalty : Determine the reduction of cosmetic drop rate to anywhere other than wardrobe:
default is 25, meaning the drop rate is reduced by 25%, taken from general cosmetic rate. Set to 0 to disable. set to 100 to completely block cosmetic from appearing anywhere other than in wardrobes.
There are 3 wardrobe category, sorted from least to most likely to spawn cosmetic: Shabby Wardrobe, Wardrobe, and Mahogany Wardrobe, 
Cosmetic rate for Mahogany Wardrobe / Mahogany: 
Cosmetic rate for normal Wardrobe / NormalWardrobe
Cosmetic rate for Shabby Wardrobe / Shabby
*The options in this tab are superceded by Go Ham mode / AnyContainer. except general cosmetic rate

*The options below requires choosing Consumables Randomization in the generator to take effect in-game)
UsablePenalty / Rate penalty on chests: Rate penalty for consumables to spawn in chests, 0 means no penalty, 100 means 0 consumable drops in chests
PotionRepeatable, ScrollRepeatable, ArrowRepeatable: Enable multiple rolls per container opening for potions, scroll, arrow
PotionTotalCount, ScrollTotalCount, ArrowTotalCount: Set maximum number of multiple rolls
PotionPenalty, ScrollPenalty, ArrowPenalty: Set stacking rate penalty for each consecutive roll success
PotionHealingRate: Determine the rarity of healing potion, example: setting to 50 means there's 50% chance the generated potion to be a healing potion, 50% chance to be 1 of any other potion in the same tier.
* Healing potions are divided into 4 rarity categories: normal variant for common, greater for uncommon, superior for rare, supreme for very rare

Say you enable P_repeatable, set P_total_count = 3, P_rate_multiplier = 10, and P_common = 50 (assuming anything else is 0)
+ 1st roll you have 50% chance of receiving a common potion
+ if success, move to 2nd roll, you now have 50*(1-10/100)=45% chance for a common potion
+ if success again, move to 3rd roll, now with 45*(1-10/100)=40.5% chance
- generation over once 3rd roll is done or if the roll fails at any stage

I set book shelves and books to be possible triggers for scrolls, bottle racks for potions, and barrels for arrows. looting chests will trigger roll of 3 of them, with penalty depending on Usable_Penalty. Boss looting and mechants also get triggered, but without penalty
 
The logic order is as follows:
regardless of EnableChestSpecific being on or off:
If  EnableNormalCosmetic is off, and the container is not a wardrobe but a chest, and AnyContainer is off:
generate cosmetic with reduced rate
If the above is the same but the container is a wardrobe:
generate cosmetic with input rate depending on which type of wardrobe it is
If the container is not chest nor wardrobe and AnyContainer is off:
no loot
If AnyContainer is on:
cosmetic by general rate + unique loot

Trader Setting tab
Enable Trader Shuffle / RealEconomy: Enable to allow traders to switch items currently on sale with other times in REL_SE generation pool. Only unique items given to trader by REL_SE are affected by this. This doesn't affect sold items. By default will ignore items the traders originally has.
Enable Randomized Shuffle / RandomizedShuffle: By default shuffling will retain the rarity distribution of shuffled items( 4 uncommon, 3 rare go in, 4 uncommon, 3 rare go out), enabling this option will make the item draw random, according to the global rates scaled to 100%.
Long Rest shuffle amount / LongRestRate: How much of the total eligible items get shuffled, 100% means all of it, 0 means no shuffling on long rest, this is a chance-based setting, so 50% means most of the time 50% of the eligible items are expected to shuffle, it's not guaranteed, maybe more or less.
Short Rest shuffle amount / ShortRestRate: Same as above, but with Short Rest
Include original gear items / IncludeOrigins: Enabling this will include the items traders originally has into the shuffle list, they must still have unique tag to be eligible.
Include Sold Items / SoldShuffle : Same as above, but with items you sold too
Include Non-unique Items / NonUniqueShuffle: Disable the unique flag check, allowing any equippable item of uncommon rarity or higher to be shuffled, depending on the 2 settings above.
* This doesn't take effect until the first time you take a rest with the new version installed, only proc once per rest.
* Expect non-integrated mod items to be ignored by this, since they often don't have unique tags, REL-integrated items and vanilla non-common items (except the +x armor/weapons) are safe. Unless you include them too.
*Sold item shuffling has a conundrum: either no sold items, or yes sold items but whatever item shuffled out that you looted will be returned to generation pool, so you have a chance to find an item twice or more, but no 2 at the same time from REL_SE at any point. I can't find a way to tell items you sell to traders and items shuffled in apart.
* On the plus side you now have 2 ways to recycle useless gears: either use Sacrifice for a guaranteed chance of 1 gear in exchange for useless ones, or use Shuffling to have traders switch your sold items with another, but you have to buy it.

enableRandomizedChance / Drop rate randomization: set to 1 to allow randomization of the 5 drop chance above, up and down to the values min and max, doesn't work if the chance is 0
min: the lowest possible new rate, scaled by <drop rate>*(1+min), so if your min = -0.5 your lowest possible rate value is half the original
max: the highest possbile new rate, scaled by <drop rate>*(1+max), so if your max = 1 your highest possible rate value is double the original
*Example, you have 5% to get a legendary item, you enable this feature and set min=-0.5 and max=1, the new chance for a legendary item would be anywhere between 2.5% and 10%

enableScaling / Enable randomization scaling: scale the drop rates back so they always sum up to maxTotal below, set to 1 to enable
maxTotal / Sum for scale of randomized drop rates: the maximum allowed total chance that an item can drop, so if your random chances sum up to 150 and your maxTotal= 75, it will cut all chances by half, doesn't work on cosmetic rate
* note that with Scaling enabled some rates may go below your setup min or above your max.

EnableChestSpecific / Enable setting in Chest-based drop rates tab: set to 1 /tick to enable, the mod will adjust the drop chance of chests based on their name, currently sorted into 3 quality tier: poor, normal , good, adjustable below:
1cosmetic
2cosmetic
3cosmetic
1uncommon
2uncommon
3uncommon
1rare
2rare
3rare
1veryrare
2veryrare
3veryrare
1legendary
2legendary
3legendary

* 1 is poor, 2 is normal, 3 is good, you should get the pattern by now
*only support vanilla chests, or modded chests that use vanilla names

EnableWeightedTypeDrop / Enable Weighted Drop : set to 1 to enable,, your chance of getting a particular type of item is determined by the variables below:
*if a selected type doesn't have an item, the script will switch to another type randomly until it has found 1 on the same rarity tier
*if a selected rarity doesn't have an item, the script will go down 1 tier and repeat the search.
* by default if disabled: Items are divided into rarity tiers. Within a tier, there is no balance of which type an item can be pulled. That means if you have a total of 10 shields and 100 weapons distributed to REL_SE, the weapons are 10 times more likely to be picked compared to shields due to sheer number.

ringsrate / ring drop rate
amuletsrate
bootsrate
glovesrate
cloaksrate
hatsrate
shieldsrate
weaponsrate
narmorrate
clothesrate


Notice all of them add up to 100 by default, the total rate can go either way,but <100 or >100 your highest type rates suffers, similar to the example above


>Optional content, disabled by default<
EnableContinuum / Enable deity-based save scumming countermeasures: you get punished for save scumming to reroll for another item, the severity of the punishment is scaled linearly by the number of items you have rolled in the current save versus the number of items you have rolled in the save you're about to load. Not all of the punishments are scaled

EnableInsurance / Enable deity-based insurance policy: you get an insurance scam for deliberately dropping you total chance of getting an item in a chest to 20% or less. You receive a payout when you get nothing from a container/corpse. The magnitude of the insurance payout is scaled linearly by how much  you would go beyond 20% (15%, 10% or less). Not all of the payouts are scaled
*Notice that if you have used up a payout or done a long rest, reloading to a point before those will not trigger it again, unless you go back and open a chest for the first time again, assuming you also didn't get an item AND you received the same payout.

DisableMessageBox / Disable notifications: By default message boxes will appear when you trigger a punishment/payout to give context and clues of why you receive them, set to 1 to turn them off if they annoy you, or if you want to go in blind.

Article information

Added on

Edited on

Written by

mjthefirst

0 comments