====== Deferred Damage Buff - Code References ====== {{ rpd:images:deferred_damage_buff.png|Deferred Damage Buff }} **Machine-readable reference page for the Deferred Damage buff entity.** ===== Entity Kind ===== Viscosity.DeferedDamage ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/items/armor/glyphs/Viscosity.java#L64-L120|Viscosity.java]] - The nested class implementing the buff (DeferedDamage) * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mechanics/buffs/BuffFactory.java|BuffFactory.java]] - Buff registration ===== Class Details ===== * **Full Class Name**: com.watabou.pixeldungeon.items.armor.glyphs.Viscosity.DeferedDamage * **Parent Class**: Buff * **Package**: com.watabou.pixeldungeon.items.armor.glyphs.Viscosity * **Type**: Nested static class (DeferedDamage - note spelling) * **Icon**: BuffIndicator.DEFERRED (ID 28) ===== Buff Properties ===== * **Buff Type**: Negative buff (debuff) * **Applied by**: [[en:rpd:glyph_of_viscosity_item|Glyph of Viscosity]] on armor * **Effect**: Delays received damage over time (1 damage per turn instead of all at once) * **Damage Processing**: Deals 1 damage per tick until all deferred damage is dealt * **Death from Buff**: If target dies from deferred damage, death is attributed to the glyph ===== Java Code Fragment ===== public static class DeferedDamage extends Buff { @Packable public int damage = 0; @Override public int icon() { return BuffIndicator.DEFERRED; } @Override public boolean act() { if (target.isAlive()) { target.damage( 1, this ); if (target == Dungeon.hero && !target.isAlive()) { Glyph glyph = new Viscosity(); Dungeon.fail( Utils.format( ResultDescriptions.getDescription(ResultDescriptions.Reason.GLYPH), glyph.name(), Dungeon.depth ) ); GLog.n(StringsManager.getVar(R.string.DeferedDamage_Killed_Txt), glyph.name() ); Badges.validateDeathFromGlyph(); } spend( TICK ); if (--damage <= 0) { detach(); } } else { detach(); } return true; } } ===== String Resources ===== Deferred Damage (%d) The pain has been turned into a slowing pain, lessening the damage taken at once.\nDamage left to receive %d %s killed you... Отложенный урон (%d) Боль заметно растянулась, что значительно уменьшило одновременно получаемый урон. \nУрона осталось получить %d %s убивает тебя... ===== Lua Scripts ===== This entity is implemented entirely in Java. No Lua script exists for this buff. ===== JSON Configuration ===== This entity is implemented entirely in Java. No JSON configuration exists for this buff. ===== Related mr: Entities ===== * [[mr:armor_glyphs|Armor Glyphs (Configuration)]] * [[mr:viscosity_glyph|Glyph of Viscosity]] ===== Notes ===== * The class name uses the spelling "DeferedDamage" (single 'r'), not "DeferredDamage" * The buff deals exactly 1 damage per tick regardless of the total deferred amount * If the target dies from deferred damage, it counts as being killed by the Viscosity glyph