// Path: src/game/DataBattle.java
// public static enum TileOverlay {
// 	None,	//no overlay
// 	Neg,	//red -		(neg)ative stuff
// 	Pos,	//blue -	(pos)itive stuff
// 	Mod,	//green - 	(mod)ification to the tile
// 	Sel,	//white - 	(sel)ection
// 	Move,	//box -		This is in movement range
// 	MoveTo,	//arrow -	(move to) here
// 	MoveToNorth,
// 	MoveToSouth,
// 	MoveToEast,
// 	MoveToWest
// }


import game.DataBattle.TileOverlay;
import java.util.*;
import util.*;
import java.awt.Color;
import java.awt.Image;
		public abstract void select(Agent src);
		public abstract int range();
		public abstract int damage();
		public abstract int minSize();
		public final String getName() {
			return mName;
		}
		public final String getDesc() {
			return mDesc;
		}
		public final void setName(String s) {
			mName = s;
		}
		public final void setDesc(String s) {
			mDesc = s;
		}
		private String mDesc = "";
		private String mName = "";
	}
	
	public static class AbilityDamageGeneric extends Ability {
		public AbilityDamageGeneric(String name, String desc, int range, int minsize, int dmg) {
			setName(name);
			setDesc(desc);
			mMinSize = minsize;
			mRange = range;
			mDamage = dmg;
		}
		public void select(Agent src) {
			if (src.getSize() >= mMinSize)
// Path: src/game/DataBattle.java
// public static enum TileOverlay {
// 	None,	//no overlay
// 	Neg,	//red -		(neg)ative stuff
// 	Pos,	//blue -	(pos)itive stuff
// 	Mod,	//green - 	(mod)ification to the tile
// 	Sel,	//white - 	(sel)ection
// 	Move,	//box -		This is in movement range
// 	MoveTo,	//arrow -	(move to) here
// 	MoveToNorth,
// 	MoveToSouth,
// 	MoveToEast,
// 	MoveToWest
// }


// Path: src/game/AgentInfo.java
import game.DataBattle.TileOverlay;
import java.util.*;
import util.*;
import java.awt.Color;
import java.awt.Image;

		public abstract void select(Agent src);
		public abstract int range();
		public abstract int damage();
		public abstract int minSize();
		public final String getName() {
			return mName;
		}
		public final String getDesc() {
			return mDesc;
		}
		public final void setName(String s) {
			mName = s;
		}
		public final void setDesc(String s) {
			mDesc = s;
		}
		private String mDesc = "";
		private String mName = "";
	}
	
	public static class AbilityDamageGeneric extends Ability {
		public AbilityDamageGeneric(String name, String desc, int range, int minsize, int dmg) {
			setName(name);
			setDesc(desc);
			mMinSize = minsize;
			mRange = range;
			mDamage = dmg;
		}
		public void select(Agent src) {
			if (src.getSize() >= mMinSize)
				src.getBoard().attackFlood(src.getPos(), mRange, TileOverlay.Neg);