====== Senior Mob - Code References ======
{{ rpd:images:senior_mob.png|Senior Mob }}
===== Java Classes =====
* **Main Class**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Senior.java|Senior.java]]
* **Package**: com.watabou.pixeldungeon.actors.mobs
* **Parent Class**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Monk.java|Monk]]
* **Registration**: Registered in [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/common/MobFactory.java|MobFactory.java]]
===== 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 =====
This entity is implemented in Java, no Lua script exists
===== 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 Entities =====
* **Monk**: [[mr:monk_mob|monk_mob]] - Parent mob class
* **Stun Buff**: [[mr:stun_buff|stun_buff]] - Buff applied by Senior's special attack
* **English Page**: [[en:rpd:senior_mob|senior_mob]]
* **Russian Page**: [[ru:rpd:senior_mob|senior_mob]]
{{tag> rpd mobs monks mr}}