package common.entity.npc;

import common.attributes.Attributes;
import common.rng.Random;
import common.world.World;

public class EntityOrc extends EntityNPC {
	public EntityOrc(World worldIn) {
		super(worldIn);
	}

//	public boolean isAggressive() {
//		return true;
//	}
//
//	public boolean isPeaceful() {
//		return false;
//	}

	public boolean isAggressive(Class<? extends EntityNPC> clazz) {
		return clazz == EntityHuman.class || clazz == EntityElf.class || clazz == EntityWoodElf.class || clazz == EntityBloodElf.class
				|| clazz == EntityCultivator.class || clazz == EntityMage.class;
	}

//	public boolean isPeaceful(Class<? extends EntityNPC> clazz) {
//		return false;
//	}

//	public boolean canInfight(Alignment align) {
//		return true;
//	}
//
//	public boolean canMurder(Alignment align) {
//		return false;
//	}

//	public boolean canUseMagic() {
//		return false;
//	}

	public int getBaseHealth(Random rand) {
		return rand.range(22, 48);
	}

//	public int getBaseEnergy(Random rand) {
//		return 0;
//	}

    public float getHeightDeviationMin() {
    	return -0.1f;
    }

    public float getHeightDeviationMax() {
    	return 0.3f;
    }
    
    public float getSpeciesBaseSize() {
    	return 1.9f;
    }

	public Alignment getNaturalAlign() {
		return rand.pick(Alignment.CHAOTIC_EVIL, Alignment.EVIL);
	}
    
	public int getColor() {
		return 0x009400;
	}
    
//    public boolean canAmbush(EntityLiving entity) {
//    	return true;
//    }

    protected void applyEntityAttributes() {
        super.applyEntityAttributes();
        this.getEntityAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(4.0D);
    }
}
