Given the result I'm honestly glad you decided to push this project to the fullest. It really start to come together well once you start getting the more complex shapes into your inventory.
As for the RNG issues with it, you don't necessarily have to guarrantee a wining hand for every monster, you can also add ways to stall out for the time you need to get the right gear, such as sacrificing resources you don't need to block the attack!
Additionally, you can fight off the most frustrating RNG patterns ( I got like 5 ice in a row to an ice immune enemy my first time for example.) by forcing the game to give you a different element every time by remembering the last one dropped. You can also push the game to choose elements that have been rarely dropping. Like by checking if Fire has even been dropped the last 10 times. There are lots of little ways to bias the RNG so that the worst cases don't actually happen like that.
Anyhow, really nice work! I'm happy with my 5800, I hope you keep making games!