tcr/java/src/game/entity/npc/EntityBloodElf.java
2025-03-12 18:13:11 +01:00

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;
}
}