mr:air_elemental_mob
Table of Contents
Air Elemental Mob - Code References
Java Classes
- AirElemental.java - Main mob implementation
- Mob.java - Base class
- IDepthAdjustable.java - Interface for depth-based stat adjustment
- Hunting.java - AI state used in movement logic
- WindGust.java - Spell used for special attack
- PotionOfLevitation.java - Loot drop item
- Bleeding.java - Buff immunity
- Ballistica.java - Pathfinding for attacks
JSON Configuration
- AirElemental.json - Sprite configuration
String Resources
- English: strings_all.xml - AirElemental_Name, AirElemental_Desc
- Russian: strings_all.xml - AirElemental_Name, AirElemental_Desc
- All languages: Search for “AirElemental_” in res/ directory
Lua Scripts
This entity is implemented in Java, no Lua script exists
Key Implementation Details
- Stats Adjustment: Stats scale with dungeon depth via adjustStats(int depth) method
- HP Formula: hp = depth * 3 + 1
- Defense Skill: baseDefenseSkill = depth * 2 + 1
- Attack Skill: baseAttackSkill = baseDefenseSkill * 2 + 1
- Experience: expForKill = depth + 1
- Max Level: maxLvl = depth + 2
- Damage Reduction: dr = expForKill / 5
- Damage Range: dmgMin = 0, dmgMax = ht() / 4
- Flying: Always flying (flying = true)
- Carcass Chance: 0 (no carcass drop)
- Loot: 10% chance to drop PotionOfLevitation
- Immunities: Immune to Bleeding buff
- Special Attack: Uses WindGust spell via zapProc() method
- Attack Range: Can attack at distance up to skillLevel cells
- Movement: Special getCloser() logic that combines approach and retreat behavior
mr/air_elemental_mob.txt · Last modified: by 127.0.0.1
