User Tools

Site Tools


mr:senior_mob

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mr:senior_mob [2025/12/25 18:23] – auto lint fix Mikhaelmr:senior_mob [2026/09/28 18:24] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== 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 =====
 +<code java>
 +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);
 + }
 + }
 +}
 +</code>
 +
 +===== 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 =====
 +<code xml>
 +<!-- 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>
 +</code>
 +
 +===== 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}}