Here's an idea that came to mind (not unique, but can't remember which game I saw it in)
The idea is that when you kill an enemy with a specific weapon/skill/item, or when you're wearing specific armor, you have the chance to obtain some additional drops.
So for example, you're on a quest to hunt for pollen from some horrible man-eating plant.
But in order to receive the pollen, you must use a specific knife.
If the enemy is killed by that knife, it has a 50% chance of dropping pollen.
If the enemy was killed by anything else, there's 0% chance of dropping pollen.
Note that skill type matters. If I'm using the knife, then any "none" type skill should in theory be able to get the pollen, because they're still using the knife.
This pattern applies to items and skills as well.
Maybe a specific magic generates probability for monster 253 to drop a particular drop. Maybe if I use a specific item, monster 832 will drop something unique.
Like if I were catching bugs, I might use a "bug-catcher" on an insect, and if successful, I will receive a "bug token" as a reward.
Anyone tried implementing something like this?
How to approach the problem at all?
I'm thinking of having it specified in the enemy note box, indicating which skill/item/etc will add which drop to the drop list, and then building the system from there.
IMO The script should eventually only alter how the drop items are generated.
Hence, there should be no real need to override any methods. Additional attributes can be set to record how the enemy was killed and those attributes used to determine which drops to add to the drop pool for random generation