[Lookup Anything] handle extra monster drops
Pathoschild opened this issue ยท 2 comments
Some monsters have extra drops defined by overriding Monster.getExtraDropItems
. Update Lookup Anything to handle those.
I've had a look through the game code to see how this might be done.
There's a fair few custom conditions for various monsters (bat and slimes look particularly complex).
I'm thinking it could be done by adding to data.json
. Something like this:
"MonsterExtraDropItems": [
{
"MonsterNames": [
"Mummy" // StardewValley.Monsters.Mummy..ctor
],
"ExtraDropItems": [
{
"ItemId": 485, // StardewValley.Monsters.Mummy.getExtraDropItems
"ItemType": "Item",
"MinDrop": 1,
"MaxDrop": 1,
"Probability": 0.002,
"Details": ""
}
]
},
{
"MonsterNames": [
"Wilderness Golem" // StardewValley.Monsters.RockGolem..ctor
],
"ExtraDropItems": [
{
"ItemId": 40, // StardewValley.Monsters.RockGolem.getExtraDropItems
"ItemType": "Hat",
"MinDrop": 1,
"MaxDrop": 1,
"Probability": 0.0001,
"Details": ""
},
{
"ItemId": 273, // StardewValley.Monsters.RockGolem.getExtraDropItems
"ItemType": "Item",
"MinDrop": 2,
"MaxDrop": 6,
"Probability": 0.0825,
"Details": "Only drops in Spring"
}
]
}
]
Yeah, the tricky thing is that extra monster drops are often based on a lot of conditions (e.g. your current mine level, whether you've reached the bottom, whether hard mode is enabled, etc), and I try to avoid predefining/hardcoding data whenever possible since it's much harder to maintain.