====== Bat Mob - Code References ====== {{ rpd:images:bat_mob.png|Bat }} ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/mobs/Bat.java|Bat.java]] - Main mob class implementation (com.watabou.pixeldungeon.actors.mobs.Bat) ===== JSON Configuration ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/Bat.json|Bat.json]] - Sprite configuration ===== String Resources ===== English (values/strings_all.xml): vampire bat vampire bat Russian (values-ru/strings_all.xml): летучая мышь-вампир вампира ===== Lua Scripts ===== This entity is implemented in Java, no Lua script exists ===== Entity Mechanics ===== * **HP**: 30 (base) - Set via ''hp(ht(30))'' in constructor * **Defense Skill**: 15 - Set via ''baseDefenseSkill = 15'' * **Attack Skill**: 16 - Set via ''baseAttackSkill = 16'' * **Damage**: 6-12 - Set via ''dmgMin = 6'' and ''dmgMax = 12'' * **Defense (DR)**: 4 - Implemented in ''dr()'' method * **EXP for Kill**: 7 - Set via ''expForKill = 7'' * **Max Level**: 15 - Set via ''maxLvl = 15'' * **Speed**: 2.0 (flying, faster than normal) - Set via ''baseSpeed = 2f'' * **Flying**: true (immune to ground traps) - Set via ''flying = true'' * **Leech Resistance**: true (immune to lifesteal enchantments) - Added via ''addResistance(Leech.class)'' * **Loot**: Potion of Healing (12.5% drop chance) - Set via ''loot(PotionOfHealing.class, 0.125f)'' * **Special Ability**: Heals for damage dealt on attack (vampiric) - Implemented in ''attackProc(Char enemy, int damage)'' method via ''heal(damage, enemy)'' ===== Code Implementation Details ===== The Bat class extends ''Mob'' and implements vampiric behavior: // In Bat.java constructor public Bat() { hp(ht(30)); baseDefenseSkill = 15; baseAttackSkill = 16; baseSpeed = 2f; dmgMin = 6; dmgMax = 12; expForKill = 7; maxLvl = 15; flying = true; loot(PotionOfHealing.class, 0.125f); addResistance( Leech.class ); } // Defense rating @Override public int dr() { return 4; } // Vampiric attack - heals bat for damage dealt @Override public int attackProc(@NotNull Char enemy, int damage ) { heal(damage, enemy); return damage; } ===== Related mr: Entities ===== * [[mr:potion_of_healing_item|Potion of Healing]] - Possible drop (12.5% chance) * [[mr:leech_enchantment|Leech Enchantment]] - Bat has resistance to this enchantment * [[mr:healing_mechanic|Healing Mechanic]] - Bat uses healing mechanic for vampiric ability