package com.watabou.pixeldungeon.actors.mobs; import com.watabou.pixeldungeon.actors.Char; import com.watabou.pixeldungeon.actors.buffs.Buff; import com.watabou.pixeldungeon.actors.buffs.Stun; import com.watabou.utils.Callback; import com.watabou.utils.Random; import org.jetbrains.annotations.NotNull; public class Senior extends Monk { { spriteClass = "spritesDesc/Senior.json"; dmgMin = 12; dmgMax = 20; } @Override public int attackProc(@NotNull Char enemy, int damage ) { if (Random.Int( 10 ) == 0) { Buff.prolong( enemy, Stun.class, 1.1f ); } return super.attackProc( enemy, damage ); } @Override public boolean actMeleeAttack(Char enemy) { if (Random.Float() < 0.3f) { // Play kick animation with callback to trigger attack logic getSprite().playExtra("kick", new Callback() { @Override public void call() { // After kick animation completes, perform the actual attack if (isAlive()) { onAttackComplete(); } } }); getSprite().turnTo(getPos(), enemy.getPos()); spend(attackDelay()); return false; } else { return super.actMeleeAttack(enemy); } } }
This entity has JSON configuration for sprite:
<!-- English (values/strings_all.xml) --> <string name="Senior_Name">Senior</string> <string name="Senior_Name_Objective">Senior</string> <string name="Senior_Gender">0</string> <string name="Senior_Desc">A senior monk who moves fast and strikes with power.</string> <!-- Russian (values-ru/strings_all.xml) --> <string name="Senior_Name">Старший</string> <string name="Senior_Name_Objective">Старшего</string> <string name="Senior_Gender">0</string> <string name="Senior_Desc">Старший монах, который быстро передвигается и наносит мощные удары.</string>
This entity is implemented in Java, no Lua script exists