Interesting concept with the use of elements that affect enemies differently - Having some animations/sprite work when this happens would make it obvious on which enemy is affected and how long left (perhaps having sparks that lessen over time, ice/fire that gets smaller etc.)
The choice of weapons each wave is good and could have a range of weaponry. Having "unlocked" weapons saved in a JSON and loaded on game start could give the player the option to use old weapons (and perhaps have empty slots for yet to seen weapons so players have something to work towards).
Good work from a 2-man team!