====== 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 =====
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)
===== JSON Configuration =====
This entity is implemented in Java, no JSON configuration exists.
===== String Resources =====
[Name]
[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:shaman_subclass|Shaman Subclass]] - Required subclass to equip this armor
* [[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