My first impression is that this is pretty messy
I'm about to head off to bed, but one of the first things I see is related to efficiency / poor design
Area squire_spot = new Area(2980, 3339, 2975, 3344);
Area thurgo_spot = new Area(3001, 3143, 2995, 3146);
Area reldo_spot = new Area(3213, 3490, 3207, 3497);
You are creating a new Area every time the method is called, you should initialise them in the onStart or in a constructor, and then just call them by their variable name.
This increases the variables scope, and is better design for what you are doing in my opinion. http://www.javawithus.com/tutorial/scope-and-lifetime-of-variables
Area squires_spot;
@Override
public void onStart(){
squire_spot = new Area(2980, 3339, 2975, 3344);
}
Thats just a quick example, I'll drop back by tomorrow but I'm sure @Explv will have sorted you out by then.
As for any new scripter, feel free to add me on skype 'tommyhoogstra'
I'll offer you my free advice and opinions, but you need to be able to take constructive criticism well.