====== Freerunner Subclass - Machine Reference ====== This page provides machine-readable reference data for the Freerunner hero subclass in Remixed Dungeon. ===== Overview ===== The Freerunner is one of two mastery paths available to the [[mr:rogue_class|Rogue]] hero class, specializing in evasion, speed, and mobility. The Freerunner excels at avoiding damage and moving quickly through the dungeon, making them highly survivable despite lower offensive capabilities. ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/hero/HeroSubClass.java|HeroSubClass.java]] - Enum definition for FREERUNNER subclass (line 48) * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/armor/FreeRunnerArmor.java|FreeRunnerArmor.java]] - Class armor for Freerunner subclass * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/armor/RogueArmor.java|RogueArmor.java]] - Parent class for Freerunner armor * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/TomeOfMastery.java|TomeOfMastery.java]] - Mastery selection for Freerunner (line 85) * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/windows/WndClass.java|WndClass.java]] - UI window for class selection (line 104) ===== JSON Configuration ===== This entity is implemented in Java as an enum constant, no dedicated JSON configuration file exists. The subclass is defined in the HeroSubClass enum with the following properties: * **Enum Constant**: FREERUNNER * **String Resource Keys**: HeroSubClass_NameFreR, HeroSubClass_DescFreR * **Armor Class**: "FreeRunnerArmor" ===== String Resources ===== freerunner The _Freerunner_ is harder to hit and moves faster than other heroes. Additional string resources for Rogue armor (used by Freerunner): Rogue armor This dark armor will allow the Rogue to use the "Smoke Bomb" ability. When wearing this armor, the Rogue can become invisible for a short time. Only rogues can use this armor! ===== Lua Scripts ===== This entity is implemented entirely in Java, no Lua scripts exist for the Freerunner subclass. ===== Implementation Details ===== * **Enum Name**: FREERUNNER (HeroSubClass.java line 48) * **Armor Class**: FreeRunnerArmor * **Parent Class**: Rogue hero class (freerunner is a subclass/mastery path of Rogue) * **Alternative Subclass**: [[mr:assassin_subclass|Assassin]] (the other Rogue mastery path) * **Special Ability**: Smoke Bomb (inherited from Rogue armor) - allows the Rogue to become invisible for a short time * **Passive Bonuses**: Increased evasion and movement speed * **Haste Level**: 0 (no built-in haste, unlike Scout subclass) ===== Code Behavior ===== From FreeRunnerArmor.java: * Only heroes with Rogue class can equip this armor * Other classes receive warning: "Only rogues can use this armor!" (R.string.RogueArmor_NotRogue) * Provides enhanced evasion and speed bonuses From TomeOfMastery.java: * Freerunner is one of two mastery choices available to Rogue class heroes * Selected at line 85: way2 = HeroSubClass.FREERUNNER From HeroSubClass.java: * No special attackProc() behavior (unlike Assassin which has surprise attack bonus) * No special defenceProc() behavior * Immunities and resistances loaded from JSON configuration if available ===== Related mr Entities ===== * [[mr:rogue_class|Rogue (Class)]] - Parent hero class * [[mr:assassin_subclass|Assassin (Subclass)]] - Alternative Rogue subclass * [[mr:freerunner_armor_item|Freerunner Armor (Item)]] - Class-specific armor * [[mr:tome_of_mastery_item|Tome of Mastery (Item)]] - Item used to select subclass * [[mr:rogue_armor_item|Rogue Armor (Item)]] - Base armor class for Freerunner armor