Lukaszpg / PD2-Single-Player-Plus-mod

MIT License
19 stars 2 forks source link

D-Clone drops Cain's Wisdom instead of Anni #11

Closed nploskey closed 6 months ago

nploskey commented 6 months ago

It feels pretty bad to struggle through d-clone only to get a charm you have 8 copies of already.

nploskey commented 6 months ago

This is the first time that I have done d-clone on PlugY, so maybe the drop is also just broken there. I killed him twice and he dropped Cain's Wisdom both times.

I ended up hacking in a cube recipe to give myself 2 annis, and in figuring how to make that work, I found that the cube recipe output of "Annihilus" falls back to Cain's Wisdom if it fails the ilvl check. To make it work, I had to dig into UniqueItems.txt and drop the Anni's lvl from 130 to 80. Cube recipes cap out at 99 supposedly, so it was impossible to make them without modifying the item. Maybe there is something off in the d-clone's drop code that is causing that same fallback to happen.

nploskey commented 6 months ago

Did d-clone one last time with the Anni's lvl still set to 80 and that did not fix the drop. The charm dropped as ilvl 99, so it should have been good to go. My best guess is that the drop code is not specific to dropping "Annihilus", but instead the equivalent of "cm1,uni" and it is picking the the small charm that doesn't have rarity=0. I can't find a treasure class related to d-clone or find a relevant entry in Monstats.txt, so I have no idea where that data is. All just hardcoded?

Lukaszpg commented 6 months ago

Hey, thanks for the report, I will fix this. I think the drop from Diablo Clone is hardcoded.

Lukaszpg commented 6 months ago

If rarity of an item is 0, the game is going to set it to 1 anyway, as far as I know. As a bugfix I've set rarity of Annihilus to 255 and Cain's Wisdom to 0. It's only a workaround, but I've tried several solutions and it's the only one working, so one out of many, many D-clone kills may yield a Cain's Wisdom.

nploskey commented 6 months ago

Thanks for jumping on this. Those odds seem perfectly acceptable to me.

If you aren't 100% positive that rarity=0 turns into rarity=1, wouldn't it be safer to leave Cain's Wisdom at 1? I don't know exactly how this game does things, but typically, a drop weight of 0 within a category containing other non-zero drop weight items would mean the 0 item gets a 0% chance to drop. I just don't want you to unintentionally turn off Cain's Wisdom drops.

Lukaszpg commented 6 months ago

Cain's Wisdom should not drop, this item should only be obtainable via cube recipe. Any drops of this item are a bug.

nploskey commented 6 months ago

Woops. Sorry, I never noticed the recipe in the readme and just assumed the randomly dropped Cain's Wisdoms I was finding were intended.