Spent some time roughing out the default behavior state for the stone throwing version of the basic enemy type. Mostly it’s just standing in place and watching for the player, but I also went ahead and kept in the basic versions ability to periodically look around, crouch, and/or turn. I need to create a throw animation for the actual attack before I can get it up and running, but I also need to write a function to detect what angle to throw the rocks at to hit the player. Because it will need to account for obstacles and occasionally arc the attack over them, this could be a bit tricky.
Basically, I guess, for each attack thrown at max speed there will be a range of angles that could hit the player. So maybe I can randomly pick one, then if that’s obstructed I can randomly scan up or down from there, and then once I reach the end in one direction I can go from the other. Well, that elides most of the actual challenges of programming the algorithm here, but it might be a good place to start.