====== Shaman Armor Item - Code References ====== ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/armor/ShamanArmor.java|ShamanArmor.java]] - Main implementation class * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/armor/ElfArmor.java|ElfArmor.java]] - Parent class (ShamanArmor extends ElfArmor) * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/items/common/ItemFactory.java|ItemFactory.java]] - Item registration (line 295) ===== Class Implementation Details ===== package com.watabou.pixeldungeon.items.armor; public class ShamanArmor extends ElfArmor { public ShamanArmor() { name = StringsManager.getVar(R.string.ElfArmor_Name); image = 19; hasHelmet = true; coverHair = true; } @Override public boolean doEquip(@NotNull Char hero ) { if (hero.getSubClass() == HeroSubClass.SHAMAN) { return super.doEquip( hero ); } else { GLog.w(StringsManager.getVar(R.string.ElfArmor_NotElf)); return false; } } } ===== Key Properties ===== * **Image ID**: 19 (sprite index in armor atlas) * **Has Helmet**: true (armor includes a hood/helmet) * **Cover Hair**: true (helmet covers hero's hair) * **Restriction**: Can only be equipped by heroes with SHAMAN subclass * **Name Source**: R.string.ElfArmor_Name (shared with ElfArmor) * **Warning Message**: R.string.ElfArmor_NotElf (shown when non-Shaman tries to equip) * **Equipment Check**: doEquip() method validates HeroSubClass.SHAMAN before equipping ===== JSON Configuration ===== This entity is implemented in Java, no JSON configuration exists. ===== String Resources ===== [Armor name - shared with ElfArmor] [Warning message when non-Shaman tries to equip] ===== Lua Scripts ===== This entity is implemented in Java, no Lua script exists. ===== Related Entities ===== * [[mr:elf_class|Elf Class]] - Base class for Shaman subclass * [[mr:armor_kit_item|Armor Kit Item]] - Used to create Shaman Armor from regular armor * [[mr:elf_armor_item|Elf Armor]] - Parent class implementation ===== Usage in Code ===== * Created via Armor Kit transformation on any armor piece * Equipment restriction enforced in doEquip() method * Inherits all properties from base armor (level, upgrades, enchantments) * Part of the Elf class mastery system * Only equippable by heroes with HeroSubClass.SHAMAN