User Tools

Site Tools


mr:shaman_subclass

Shaman Subclass - Code References

Shaman Subclass

Entity Information

  • Entity Kind: ShamanSubclass
  • Type: subclass
  • Namespace: rpd
  • Hero Class: ELF
  • Armor Class: ShamanArmor

Java Classes

Code Implementation

// File: RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/hero/HeroSubClass.java
public enum HeroSubClass implements CharModifier {
    // ...
    SHAMAN(R.string.HeroSubClass_NameShaman, R.string.HeroSubClass_DescShaman, "ShamanArmor"),
    // ...
 
    @Override
    public int attackProc(Char attacker, Char defender, int damage) {
        if (this == SHAMAN && attacker.getHero() != null) {
            Item weapon = attacker.getBelongings().weapon;
            if (weapon instanceof Wand && ((Wand) weapon).affectTarget()) {
                if (Random.Int(4) == 0) { // 25% chance
                    ((Wand) weapon).zapCell(defender.getPos(), defender, false);
                    return damage; // Don't consume charge
                }
            }
        }
        return super.attackProc(attacker, defender, damage);
    }
 
    @Override
    public int dewBonus() {
        if (this == SHAMAN) return 1;
        return super.dewBonus();
    }
}

Statistics

  • Wand Zap Chance: 25% (Random.Int(4) == 0)
  • Dew Bonus: +1
  • Armor Class: ShamanArmor
  • Parent Class: ELF

Special Abilities

  • Wand Melee: Can use wands as melee weapons (implemented in Wand.java)
  • Wand Zap on Hit: 25% chance to zap target with wand effect without consuming charge when attacking with wand equipped
  • Dew Bonus: +1 dew for enhanced mana recovery

String Resources

  • Name: R.string.HeroSubClass_NameShaman (“Shaman” / “Шаман”)
  • Description: R.string.HeroSubClass_DescShaman (“Elven Shamans can use wands as melee weapons. Successful hits have a chance to activate the wand's power on a target without using a charge.”)

String Resource Locations

Code References

Unlocking

The Shaman subclass can be unlocked by using a Tome of Mastery after defeating the second boss (Tengu). In code: TomeOfMastery.java

mr/shaman_subclass.txt · Last modified: by 127.0.0.1