====== Senior Mob - Code References ======
{{ rpd:images:senior_mob.png|Senior Mob }}
===== Java Classes =====
* **Note**: Senior was migrated from Java (actors/mobs/Senior.java, deleted batch 17b) to Lua + JSON data.
* **Data Source**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/Senior.lua|Senior.lua]] (Lua script)
* **Sprite**: spritesDesc/Senior.json (JSON config)
* **Parent Concept**: Monk (now also data-driven, mobsDesc/Monk.json)
===== Java Class Content =====
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);
}
}
}
===== Key Properties from Code =====
* **HP**: Inherits from Monk parent class
* **Damage**: 12-20 (damage range)
* **Special Ability**: 10% chance to apply Stun buff for 1.1 seconds on attack
* **Animation**: 30% chance to play kick animation instead of normal attack
* **Sprite Configuration**: spritesDesc/Senior.json
* **Inheritance**: Extends Monk class
===== JSON Configuration =====
This entity has JSON configuration for sprite:
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/Senior.json|Senior.json]] - Sprite configuration
===== String Resources =====
Senior
Senior
0
A senior monk who moves fast and strikes with power.
Старший
Старшего
0
Старший монах, который быстро передвигается и наносит мощные удары.
===== Lua Scripts =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/scripts/mobs/Senior.lua|Senior.lua]] - Main behavior script (batch 17b migration)
===== Entity Kind =====
* getEntityKind(): Returns "Senior" (class name)
===== Additional Code References =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Monk.java|Monk.java]] - Parent mob class
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Stun.java|Stun.java]] - Stun buff applied by Senior
* Used in Badges.java to recognize Senior mob kills for rare mob badge
* Found in temple areas alongside other monk-type enemies
===== Related mr Entities =====
* [[mr:monk_mob|Monk (Mob)]] - Parent mob class
* [[mr:stun_buff|Stun (Buff)]] - Buff applied by Senior's special attack
{{tag> rpd mobs monks mr}}