Mod Details

Pity Loot

Pity Loot 2.1.1

Created by  bakahashi

94.5K Downloads

SPT 3.11.4 Compatible

Increases the chances to find loot you need for Quests/Hideouts/Keys based on how long it has been since you first started looking. Has configurable odds and can work based on real world time or # of raids since beginning.

Latest Version 2.1.1
SPT 3.11.4

Updated May 3, 8:06 AM

Version Notes

minor fix to still recalculate pity when you succeed a raid and complete quest items but dont turn in the quest

This download is externally hosted.
Always scan for viruses.

Installation:

Extract the ZIP to your SPT installation folder.

For best compatibility, you should put this last in the mod order list so that it runs after any other mods you have that modify/add loot or loot probabilities.

Recommended Mods

I recommend MoreCheckmarks and KeysInLoot. For me, I used to hoard /every/ potential item i needed, and now I only look for what I need at the exact moment, which is what MoreCheckmarks helps with. For the others, they just make loot more interesting imo, and pity loot still helps make sure you find what you need.

Configuration
{
  "enabled": true,
  "debug": true,
  "trace": false, // Logs a LOT of stuff, will cause your game to lag when accepting/turning in hideouts/quests

  "appliesToQuests": true, // Whether or not to account for quest items in pity odds
  "appliesToHideout": true, // Whether or not to account for hideout upgrades in pity odds
  "increasesStack": true, // Whether or not drop rate increases stack
  // e.g. if two quests need the same item and are at 20% and 80% pity
  // with increasesStack = true, the pity odds are 100%, so drop rate is doubled
  // with increasesStack = false, it take the maximum of the increases, in this case 80%, and uses that

  "includeScavRaids": true, // whether or not to count Scav Raids as "increasePerRaid"
  "onlyIncreaseOnFailedRaids": true, // Don't increase pity when you extract successfully

  "includeKeys": true, // Whether or not to include quest keys (like rusty bloody key, or west wing 216) in pity system
  "keysAdditionalMultiplier": 2.5, // Additional multiplier on top of normal ones.
  // If a quest needs items and stuff behind a locked door, and the items are at 80% pity
  // The quest key would be at 200% pity (a 3x increase)

  "maxDropRateMultiplier": 10, // Max multiplier for items. E.g. at default 0.2 increase per raid,
  // after 45 (10-1 / 0.2) raids your loot rate would be 10x normal for that item

  "dropRateIncreaseType": "raid", // `raid` to use raid increase below, `time` to use per hour increase
  "dropRateIncreasePerRaid": 0.2, // Additive multiplier increase per raid (0.2 = 20%), 1 raid = 20%, 2 = 40%, etc.
  "dropRateIncreasePerHour": 0.05, // Same as above but for hours. 1hr = 5% increase, 1 day = 120%

  "appliesToWishlist": false, // set to true to enable
  "wishlistMultipliers": {
    // delete entries in here if you dont want multipliers to apply
    "tasks": 5.0, // This will give all items on the "tasks" wishlist 5x the chance to spawn
    "equipment": 5.0,
    "barter": 5.0,
    "hideout": 5.0,
    "other": 5.0
  },

  "excludeCollector": false // Whether or not to exclude the collector quest for bonus items
}
Explanation

For quests, tracks all the “Handover” quests you have (including custom traders), and will continue calculating pity until you have enough to turn the quest condition in. (this also accounts for find in raid items). For gunsmith quests, will automatically add drop chances for the items to Weapon Boxes + Wooden Crates if they are not already there.

For quest keys (if enabled) has a hardcoded list of keys you need for each quest. Keys have a higher pity multiplier by default, and for quests that can use multiple keys (e.g. lend lease part 1), will keep counting pity until you have /both/. If a key is missing from loot tables, will automatically add a spawn chance for it in jackets.

For hideouts, only starts tracking possible upgrades where you meet all the prerequisites, like needed other hideout area levels, trader loyalty levels, or skill progression levels. E.g. if you require Lavatory 3, Mechanic 3, and Endurance 5, it won’t start tracking pity levels until you meet all of those. Even though you can’t partially turn in items for hideout, will track each item separately. If you need 5 hoses and 5 nails, and you have 3 hoses and 10 nails, it will only give you pity odds for the hoses. If you sell/barter 7 nails, to only have 3, it’ll reinstate pity odds for them.

Example

Loot odds in SPT are roughly configured like so (Higher odds are more likely to show up in loot):

TechnicalCrate: Items: [Hose, Wires, Capacitors, Ledx], Odds: [1000, 5000, 3000, 10] Jacket: Items: [Dorm 220, Dorm 206, Marked room, West wing 216], Odds: [300, 200, 1, 50] Hoses will show up on average 1000/(1000+5000+3000+10) = 11% of the time, and West Wing 216 will show up 50/(300+200+1+50) = 9% of the time.

Now lets say you are on the default settings (seen below), and need Hoses for hideout, Hoses for quest A, and West Wing 216 for quest B. If you have /just/ started all of these, your pity odds are 0, so the odds are the same as above. If you have done 10 raids since you could build the hideout upgrade, 4 since you started quest A, and 10 since you started quest B, your new hose multipliers are (because increasesStack is on by default) 1+(10*.5 + 4*.5) = 8 and your new WW216 multipliers are (1+(10*.5))*2.5 = 15 (Because keys get an extra 2.5x bonus by default). This means hoses become 8x more likely to show up, WW216 becomes 15x more likely to show up, and Pity loot overwrites the loot tables to be:

TechnicalCrate: Items: [Hose, Wires, Capacitors, Ledx], Odds: [8000, 5000, 3000, 10] Jacket: Items: [Dorm 220, Dorm 206, Marked room, West wing 216], Odds: [300, 200, 1, 750] Hoses will show up on average 8000/(8000+5000+3000+10) = 50% of the time, and West Wing 216 will show up 750/(300+200+1+750) = 60% of the time.

Note: this is just an example, in practice there are hundreds/thousands of items in the loot table, and depending on how rare you original item is a 10x or even 100x increase still may not feel like a lot. You are always welcome to increase the dropRateIncreasePerRaid/Hour and maxDropRateMultiplier to something like 10 and 10000 respectively if you’re really stuck on a quest

Version 2.1.1
Download Mod Version
SPT 3.11.4
Latest Compatible SPT Version

20.5K Downloads

Created May 3, 8:06 AM

Updated May 3, 8:06 AM

Virus Total Results

minor fix to still recalculate pity when you succeed a raid and complete quest items but dont turn in the quest

Version 2.1.0
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

7.0K Downloads

Created Mar 24, 10:07 PM

Updated Mar 24, 10:07 PM

Virus Total Results

Allow creating static multipliers for wishlisted items via new config:

“appliesToWishlist”: false, // set to true to enable “wishlistMultipliers”: { // delete entries in here if you dont want multipliers to apply “tasks”: 5.0, “equipment”: 5.0, “barter”: 5.0, “hideout”: 5.0, “other”: 5.0 }, These multipliers override pity, so if an item is both pitied + you have a wishlist multiplier of 5x, only the 5x applies. The multiplier stays as long as the item is on your wishlist, even if you already have multiple copies of the item. Only counts items manually added to wishlist (not built-in ones for hideout and quests).

Version 2.0.1
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

1.5K Downloads

Created Mar 20, 6:41 AM

Updated Mar 20, 6:41 AM

Virus Total Results

Disable debug logs by default

Version 2.0.0
Download Mod Version
SPT 3.11.4
Latest Compatible SPT Version

1.1K Downloads

Created Mar 17, 10:25 PM

Updated Mar 17, 10:25 PM

Virus Total Results

Support 3.11

Partial fika support (doesn’t overwrite profiles any more, however only “main” profile will get pity updates and only their multiplier will apply)

Version 1.0.2
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

2.2K Downloads

Created Mar 2, 8:35 AM

Updated Mar 2, 8:35 AM

Virus Total Results

Only re-calculate loot pools for locations if pity has changed. This prevents the 1-2 second lag you get when opening inventory with some mods. (If you figure out which mods were causing this before please let me know. They are constantly pinging /client/locations every time you open inventory which seems inefficient)

Version 1.0.1
Download Mod Version
Unknown SPT Version
Latest Compatible SPT Version

351 Downloads

Created Mar 1, 5:22 PM

Updated Mar 1, 5:22 PM

Virus Total Results

Fix broken gunsmith part 22 quest

poneais

In mod description You have typo - not “hoses” but HORSES!

0 Likes
taka_qiao

Partial fika support (doesn’t overwrite profiles any more, however only “main” profile will get pity updates and only their multiplier will apply)

wat happens when im using headless client?

0 Likes
Steveismw

Hi, if I set “onlyIncreaseOnFailedRaids”: true, the “dropRateIncreasePerRaid” would only increase when I failed the raids. Would “dropRateIncreasePerHour” be the same that count the time I spent on failed raids or it still count for successfull ones? I partially use google translate so hope you understand me .

0 Likes
TROCH22

I cant get this mod to work. I had it running in 3.10, but now on 3.11 its a no-go. Does this mod conflict with Item Valuation mod (new mod i’m using in 3.11)? Trying to figure out why this mod wont work for me. I assume mod conflicts somewhere… maybe? I renamed pity loot folder to zzzbakahashi-pityloot. That should make it load last, yes?

0 Likes
SaintMellec

Have you considered letting the pity loot system apply to wishlist items?

0 Likes

Just released a version that does this, lemme know how it works!

0 Likes
scoats

Is there a way to lock PL to only proc “Pity loot location updates” once per raid? Every time I open any inventory, PL recalculates what’s needed, and stutters my game during raids. This seems redundant when loot tables have already been set for the instance.

I’ve posted this issue in the forum thread with an image of the console being flooded with PL messages.

1 Like

Having the same problem

0 Likes

hi can you post the full logs? i cannot reproduce on my install. a screenshot is not enough

1 Like

I gotchu bro I love you best mod on here

0 Likes

Posting on forum thread for Pity Loot

0 Likes

Actually i posted a new version that should fix the issue on my end. Basically, one of your client mods (idk which one, you have a lot) makes a call to /client/locations every time you open your inventory, which is meant to generate the dataset needed for spawning items/bots/quests/etc on locations. The mod doesn’t cache this, so its making way more calls than needed, ideally it should only be calling it once.

Regardless, i put failsafes for this in my code, so it caches it on my end. That way it shouldn’t recalculate the loot tables every time you open inventory, as long as your “pity” is the same as last time.

anyways try version 1.0.2 and let me know if that fixes it

1 Like

Fixed for me now after installing new version. I am too lazy to redo mi modding, testing with each mod so I’m glad its fixed. Thanks bakahashi.

0 Likes

It works!!

0 Likes
Riczter

Hey, is the 114 key for pharmacist included in the quest keys for pity loot?

0 Likes

yes

0 Likes
StoLeNRaCCooN

Finally I am able to find these heckin COFDMs XD

1 Like
MsDeni

Congrats on the feature

0 Likes
UnderdomeRiot

Hi Bakahashi.

PityLoot it’s compatible with FIKA?

Thanks for your time and your hard work! Really must mod!

0 Likes

i have no idea, never tried fika before! you should give it a test and lemme know what errors you get

0 Likes

Of course, I will try to generate a test set with 2 computers, forcing two different objects for each of the players.

Let’s see how it behaves.

Could you tell me a way to know the loot generated on the map? A kind of list.

Thank you

0 Likes

I sent you a private message.

0 Likes

This kind of works with Fika. There are no errors but each person that joins the server/starts a raid it overwrites the active quests and resets the chances if they don’t have the same quests. For this to work, if this idea will even work with Fika, it depends on if loot is generated by the player starting the raid.. but you would most likely need to track loot for each profile in the DB.

1 Like

Details