====== Berserker Subclass - Code References ====== ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/hero/HeroSubClass.java|HeroSubClass.java]] - Subclass definition * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Fury.java|Fury.java]] - Fury buff class ===== Full Java Class Content ===== **HeroSubClass.java - BERSERKER Definition:** // Enum definition (line 44) BERSERKER(R.string.HeroSubClass_NameBers, R.string.HeroSubClass_DescBers, "BerserkArmor") **Fury Buff Activation (from HeroSubClass.java):** @Override public int charGotDamage(int damage, NamedEntityKind src, Char target) { switch (this) { case BERSERKER: // Activate Fury when HP drops to 40% or below (Fury.LEVEL = 0.4f) if (0 < target.hp() && target.hp() <= target.ht() * Fury.LEVEL) { if (!target.hasBuff(BuffFactory.FURY)) { Buff.affect(target, BuffFactory.FURY); } } break; } return damage; } **Fury.java - Buff Implementation:** package com.watabou.pixeldungeon.actors.buffs; public class Fury extends Buff { // Fury activates when HP is at or below 40% of max HP public static final float LEVEL = 0.4f; @Override public boolean act() { // Detach Fury when HP rises above 40% if (target.hp() > target.ht() * LEVEL) { detach(); } spend(TICK * 10); return true; } @Override public int attackProc(Char attacker, Char defender, int damage) { // Double damage while in Fury state return damage * 2; } @Override public int icon() { return BuffIndicator.FURY; } } **Stats from code:** * Fury Activation Threshold: 40% of max HP (Fury.LEVEL = 0.4f) * Fury Damage Bonus: 2x (damage * 2) * Fury Duration: Persistent while HP <= 40% * Associated Armor: "BerserkArmor" ===== JSON Configuration ===== This entity is implemented in Java, no JSON configuration exists ===== String Resources ===== English (values/strings_all.xml): Berserker When severely wounded, the Berserker enters a state of wild Fury, significantly increasing his damage output. %s is enraged! ENRAGED Russian (values-ru/strings_all.xml): Берсерк Когда берсерк тяжело ранен, он впадает в состояние неистовства, значительно увеличивая свой урон. %s в ярости! ЯРОСТЬ ===== Lua Scripts ===== This entity is implemented in Java, no Lua script exists ===== Related mr Entities ===== * [[mr:warrior_class|Warrior (Class)]] - Parent class * [[mr:fury_buff|Fury (Buff)]] - Buff that powers Berserker * [[mr:berserker_armor_item|Berserker Armor (Item)]] - Special armor for Berserker * [[mr:gladiator_subclass|Gladiator (Subclass)]] - Alternative Warrior subclass