Enable automatically picking proper weapon for enemies and update codebase to latest BASE engine

This commit is contained in:
2022-08-19 14:38:05 +02:00
parent 9124f5c58a
commit ccd3e44130
5 changed files with 31 additions and 10 deletions

View File

@@ -25,6 +25,12 @@ public class Enemy extends Character implements NPC {
private AI ai = NoopAI.INSTANCE;
private final AnimationRunner dieAnimation;
@Getter
private MeleeWeapon meleeWeapon;
@Getter
private RangedWeapon rangedWeapon;
@Getter
private final String name;
@@ -42,9 +48,11 @@ public class Enemy extends Character implements NPC {
var rangedWeaponTemplate = template.getRangedWeapon();
if(meleeWeaponTemplate != null) {
setWeapon(new MeleeWeapon(context, runner.getMeleeWeaponDAO().find(meleeWeaponTemplate)));
} else if(rangedWeaponTemplate != null) {
setWeapon(new RangedWeapon(context, runner.getRangedWeaponDAO().find(rangedWeaponTemplate)));
this.meleeWeapon = new MeleeWeapon(context, runner.getMeleeWeaponDAO().find(meleeWeaponTemplate));
}
if(rangedWeaponTemplate != null) {
this.rangedWeapon = new RangedWeapon(context, runner.getRangedWeaponDAO().find(rangedWeaponTemplate));
}
this.dieAnimation = new SimpleAnimationRunner(template.getDieAnimation());