Jump to content

ahungry's deletefier (make rare items rare again, restore that lost excitement!)

Recommended Posts

I love mega-mods - thousands more items/npcs etc., however even in my not-so-megamod installs, I notice my pack ratting gets to ridiculous proportions (hundreds of items in my bag of holding I'll never use).  In fact, the magical items become so plentiful, it feels more like I'm playing diablo 2 than AD&D.

I'm also a fan of item randomiser and recently came across "low magic world" which was _almost_ what I would like (however that seems to reduce power of existing items - I still want those powerful items, I just don't want Thalantyr to have a list of 100 of them).

With that said, this mod "ahungry deletefier" aims to go through stores, creatures, and areas, and delete (with a user specified percent) each item it comes across (in some cases, replacing with a basic item).

As it's random and relies on all other mods already being installed, it should be installed last in the install order (or if you have mods you don't want affected, prior to those mods - caveat: no clue if it'd cause problems with subsequent mod installs trying to assume an item of some type is present on some target).

I'm having a lot of fun playing with a >90% threshold - it makes it really special when an unidentified item drops off a monster (or is available in a shop - even the item shop mods with many rare items become exciting, as you never know what small handful of their large lists will be available).

My intent is that at endgame, some characters in the party may still be using basic weapons/armor! (although a 1% drop rate may not be enough for that, I may have to go a magnitude higher in the precision).

WARNING: This is alpha quality at best - it shouldn't break anything in a segfault manner (/knock on wood) but it's definitely possible some quest items could be missing (although I recently redid the code to work off a delete-list vs deleting it all and keeping a save-list).


If anyone tries it and you notice some mod weapons/armor are being missed by these checks, please report here with their item names and I'll add in to the checks.

Link to comment

I love this idea. i probably give it a try but I would only delete 80-90% of the items. Does it delete all items (incl. Potion, wands etc) or only items which the character can wear? What is with items which need to be forged. Does it delete those parts too and is each part randomized or all together ? (As example the pommel, hilt and blade of the equalizer).What about items you get through a quest? There are several mods which won't work without specific items.

Link to comment

Hello, mod idea seems cool, even if I would not enjoy it in my playthrough.

There is one line on your readme that makes it very interesting for me: 

From your post:  this mod "ahungry deletefier" aims to go through stores, creatures, and areas, and delete (with a user specified percent) each item it comes across (in some cases, replacing with a basic item).

If you released something to touch merely ToB, touching the generic mobs, so they don't all have a +3 sword, that would be really cool. So I'm looking for something that makes "common" people have less rare loot.

Link to comment
On 9/18/2022 at 2:33 AM, Guest Morgoth said:

something to touch merely ToB, touching the generic mobs, so they don't all have a +3 sword,

The aforementioned “Low Magic World” mod changes all generic +2 and +3 weapons into +1 weapons, without touching named weapons. (It doesn't affect unique/named items though!)

But that doesn’t modify creatures or stores. This seems really cool.

Edited by subtledoctor
Link to comment

Thanks for the words of encouragement all! 

Right now I'm iterating on each .cre, .sto, .are file and doing (roughly):

- If item name begins with "misc" or "book", do nothing (a lot of quest items are MISCxx, but definitely not all - Hull's sword is noticeably absent atm)

- On creatures: Try to match common prefixes (sw1h) and replace with a basic item like sw1h04 (long sword) so that the impacted mob still has it's proficiency matched up - for scrolls, just delete - for potions, 'downgrade' to basic healing potion (so other potions like antidote etc. become rare - Might and Guile alchemy feat really becomes valuable here)

- On stores/areas: Remove item entirely


I wanted to try to make it more granular and just target special items, but that'd make the install insanely slow if I had to do nested lookups based on item name (for each item name, check it's attributes for lore value or proficiency level etc.).  Maybe something I'll try in the future.

I'm also curating a list of unconventional item names (mod added things, like "BARDIC.itm" or DSSW1HD.itm) and trying to match up/remove them.

Likewise, I'll be adding the inverse - a list of quest items that should never be deleted.



Link to comment

I'm working on a lot of play-testing (there is a lot to do...) and trying to choose either "purge it all, whitelist some items", or "purge explicitly" approach - I may just make it a user option during install (I've already broken up the store purge, creature purge, and item purge into 3 separate components).

Currently "cleaning up" the mod vendor merchants is working how I would like (most the guys that appear with a huge inventory of +3 weapons outside FAI now have 1 to 3 weapons, vs 10+) - obviously this is "self inflicted" by installing all this with a megamod setup, but I like the variety!

My plan right now during play testing is to note (via the mod's whitelist regex) any special quest items as I play through my megamod install with the deletefier disabled (it seems easier to record significant items as I go along, vs trying to find the gaps while I play with the mod).

In early play-testing, I found a lot of early game quest items are weapons based (hull's sword, 2 daggers/rings) and I don't want to break all those quests (or any mod added ones).  it also sucked to be unable to de-petrify Branwen, as Zeke lost his scroll as well 😆

However, a vast amount of mod additions do not follow any type of convention matching the original (sw1h, sw2h etc.) - but totally customized names, so I think after I map out all the quest items I come across, I will probably focus most my play testing on the "purge it all, skip quest significant items".


Link to comment

I installed it, I chose to delete 85-90% of the items. My main concerns/take aways after a few hours play time:

- there almost no magic bolts or arrows left, which makes it very difficult to play a range character. I suggest not to delete it them at all in the stores.

- a lot of mods are not affected at all or only scrolls are deleted. So I play a game with a lot of magic mod items instead of a game with very few magic items

- a lack of potions in stores, I suggest not to delete potions at all

- I probably will only delete half of the scrolls in the future otherwise a mage is difficult to play and a sorcerer even more powerful compared to a mage than before

Biggest pros:

- finally I really need to take care of my finances, 

- until now none of the quest items were missing

- magic rings, amulets, shoes, belts etc. are really rare



Link to comment

Thanks for the feedback Rizzen!

I've been working on coming up with a more robust solution - to more fully encompass mod added items (beyond basic file name matching - of which, mostly I'm recording items as I play through, and I'm in the bg1 area still) - hopefully soon I'll have a solution that scans through all items, flags ones with an enchantment level + weapon/armor type, and _then_ go through and take care of just those.


Link to comment

I had to take a roundabout approach after starting this, and rethinking it some - I want to do what I mentioned on the preceding comment ("intelligently" find items).

I have my overdexer program capable of indexing items, so I could make a small program to query it and dump out a very large tp2 full of checks as items exist in my install (which would be a large majority of items). 

This wouldn't catch items in mods I don't have installed, so I still want to test the dynamic regex approach (where I iterate the .itm directory, check enchantment level, and for each one append to a regex that'd catch them, or build the references in an array, if I can find a way to do a big string array in weidu).

At that point, it'll run the same logic it does currently, using the dynamic list instead of the hand-built list - this should enable me to get all items, with perhaps a tiny amount of missed game impacting ones (are there any quests which require an item having an enchantment level?)

I diverged a little to build up the mod site (which should help me find mods to use) and played through bg1 since making this post - again, I feel the need for this mod, as my bottomless bag of holding is quite full 😆

Link to comment

@QuesterI just pushed a cool update - it'll have some more smarts around what items to remove - I noticed most (probably not all) quest items and miscellaneous story things like scrolls tend to have a very low "price" value (vendor price) - I made 50 the current cut off, so anything with an enchantment > 0 or a price > 50 will be affected by the deletion (and it still has my manual fixes in there to avoid snagging other quest items).

If people think it'd be a nice customization, I can make those both user inputs as well (the user could define the cut off price value - for instance, setting it to 200 means most level 1 and 2 spells would be available as drops/vendor purchases, while at a value of 50, only "identify" will be present).

I wanted to just use the enchantment value, but many mod items are +3 or stronger gear, yet have an enchantment value of 0 (at least, as far as armor is concerned).

I'm going to do some thorough play testing now!

Link to comment

The program is now checking the 0x18 bit0 "quest" bit - this should hopefully ensure critical story line quests aren't impacted by this tool (although I'm guessing for some things, like the antidote for Bessy the cow - are not flagged as quest/critical - this particular item has a manual bypass so the quest is doable, but no doubt as the warning notes -  some quests may not be, depending on how aggressively the deletefier settings are, and availability of the item to begin with).

Also per some responses here:

it does not seem like there is a consensus in this being used among various mods in the wild either (although the parsing of scripts that assume they can TakePartyItem() may be a reliable fallback).

I think it's in a good enough spot I can try a test run through the whole saga - I"m currently doing 100 gp cutoff, with a 95% deletion rate in store/area/creatures - I'll see how it goes 😃


Link to comment
25 minutes ago, ahungry said:

... although I'm guessing for some things, like the antidote for Bessy the cow - are not flagged as quest/critical - this particular item has a manual bypass so the quest is doable ...

Indeed. Taking that quest as an example, it's literally a normal antidote potion. Exactly the same as what you can buy from the priest of Oghma barely a screen away.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...