Making the issue here because I can't make it where the apworld is, but this is an ap-side generation issue.
As stated in the title. Failure occurs during slot data. If you start_inventory_from_pool
an item, it gets taken out of the item pool. So when you try to use find_item("Magic Dagger", self.player).item
after you put the magic dagger in your start_inventory_from_pool list, this step will break it since it can't find the item (since it's not placed on any locations -- it's in your inventory already).
Would need some sort of rewrite to check that the item is actually in the pool, and then gen the hints based off of that.
The quick and easy way would be to check what stuff has been put in start_inventory_from_pool
and then take those out of the list, and fill in something like "Magic Dagger is in your pocket" or some joke hint.
Could do this by writing a helper function to check if the item is in the pool, if it is then return its location name and the player who has it, if it isn't then return "your pocket" and your own player slot. It would be the least intrusive this way, imo, and most likely would not require any changes on the mod-side.
I will probably try to work on this myself since I kinda introduced the issue in the first place.