61 lines
1.6 KiB
Java
Executable file
61 lines
1.6 KiB
Java
Executable file
package game.entity.npc;
|
|
|
|
import game.init.NameRegistry;
|
|
import game.rng.Random;
|
|
import game.world.World;
|
|
|
|
public class EntityBloodElf extends EntityNPC {
|
|
public EntityBloodElf(World worldIn) {
|
|
super(worldIn);
|
|
}
|
|
|
|
// public boolean isAggressive() {
|
|
// return this.alignment.evil && !this.alignment.lawful;
|
|
// }
|
|
//
|
|
// public boolean isPeaceful() {
|
|
// return false;
|
|
// }
|
|
|
|
public boolean isAggressive(Class<? extends EntityNPC> clazz) {
|
|
return (this.alignment.evil && !this.alignment.lawful) || clazz == EntityCultivator.class;
|
|
}
|
|
|
|
public boolean isPeaceful(Class<? extends EntityNPC> clazz) {
|
|
return !this.alignment.evil && clazz == EntityWoodElf.class;
|
|
}
|
|
|
|
// public boolean canInfight(Alignment align) {
|
|
// return this.alignment.chaotic;
|
|
// }
|
|
//
|
|
// public boolean canMurder(Alignment align) {
|
|
// return false;
|
|
// }
|
|
|
|
public boolean canUseMagic() {
|
|
return true;
|
|
}
|
|
|
|
// public int getBaseEnergy(Random rand) {
|
|
// return rand.range(12, 28);
|
|
// }
|
|
|
|
public int getBaseHealth(Random rand) {
|
|
return rand.range(24, 26);
|
|
}
|
|
|
|
public float getHeightDeviation(Random rand) {
|
|
return rand.frange(-0.1f, 0.3f);
|
|
}
|
|
|
|
public Alignment getNaturalAlign(Random rand) {
|
|
return rand.chance(50) ?
|
|
(rand.chance(8) ? (rand.chance(5) ? Alignment.CHAOTIC : Alignment.LAWFUL) : Alignment.NEUTRAL) :
|
|
(rand.chance(5) ? Alignment.EVIL : Alignment.LAWFUL_EVIL);
|
|
}
|
|
|
|
public NameRegistry getNameType() {
|
|
return NameRegistry.ELVEN;
|
|
}
|
|
}
|