I strongly disagree.
Well; _distance_ calculation should be the responsibility of a point class, right. But with some static methods like "isInAreaOfEffect(AreaOfEffect area, Point reference)" you are going the wrong way.
Instances of ConeAreaOfEffect, Square..., Circle... should calculate that - discard the enumerations, polymorphism is the way to go. By using enumerations you end with ugly switch case statements.
If you add another area of effect, do you really want to change multiple code locations?
Never thought of that I agree here Polymorphism would be the best way. With my current code it was only working with circles I started to forget about Square, Cone and Beam. I'm going to take the advice about killing the enumerations. And Poly-morphing the different kind of AreaOfEffects.
This has been a good thread for me I am learning quite a bit from all of you. This is my first attempt at a real game. I've made Pong, Tic Tac Toe, Tetris. I've never had a program that was so complex as a roguelike. Truthfully I am walking into this blindly, I thought it was an easy game to program, but this has been a very fun experience so far.
Taffer