====== Vertigo Buff - Code References ====== ==== Java Classes ==== * **Main Class**: [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Vertigo.java|Vertigo.java]] * **Package**: com.watabou.pixeldungeon.actors.buffs * **Parent Class**: FlavourBuff * **Registration**: Registered in [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/mechanics/buffs/BuffFactory.java|BuffFactory.java]] ==== Java Class Content ==== package com.watabou.pixeldungeon.actors.buffs; import com.nyrds.pixeldungeon.ml.R; import com.nyrds.platform.util.StringsManager; import com.watabou.pixeldungeon.actors.Char; import com.watabou.pixeldungeon.items.rings.RingOfElements.Resistance; import com.watabou.pixeldungeon.sprites.CharSprite; import com.watabou.pixeldungeon.ui.BuffIndicator; public class Vertigo extends FlavourBuff { public static final float DURATION = 10f; @Override public int icon() { return BuffIndicator.VERTIGO; } public static float duration( Char ch ) { Resistance r = ch.buff( Resistance.class ); return r != null ? r.durationFactor() * DURATION : DURATION; } @Override public void attachVisual() { target.showStatus(CharSprite.NEGATIVE, StringsManager.getVar(R.string.Char_StaDizzy)); } } ==== JSON Configuration ==== This entity is implemented in Java, no JSON configuration exists ==== String Resources ==== Vertigo The lightheaded feeling makes it harder to walk straight! Everything is spinning around you! dizzy ==== Lua Scripts ==== This entity is implemented in Java, no Lua script exists ==== Code Implementation Details ==== This buff has the following properties based on the Java implementation: * **Duration**: 10f (DURATION constant) * **Duration Calculation**: Affected by Resistance (durationFactor() method) * **Visual Effect**: Shows "Dizzy" status message when attached (attachVisual method) * **Icon**: BuffIndicator.VERTIGO (icon ID 29) * **Buff Type**: Extends FlavourBuff * **Resistance**: Can be reduced by Ring of Elements Resistance * **Movement Effect**: Causes random movement when trying to walk to adjacent tiles (see Char.java) ==== Applied By ==== * **Spider Elite mobs**: 20% chance to apply when attacking * **Kusarigama weapon**: Applies 3-turn duration * **Dreamweed plant**: Applies 20-turn duration (Vertigo.DURATION * 2) * **Fadeleaf plant**: Applies 20-turn duration (Vertigo.DURATION * 2) * **Horror weapon enchantment**: Applies duration based on defender * **Wand of Amok**: Applies duration based on victim * **Scroll of Curse**: Can curse items to apply vertigo * **Miasma Gas**: Applies Vertigo.duration(ch) * **Confusion Gas**: Applies Vertigo.duration(ch) * **Hunger**: May apply when starving (Vertigo.duration(target)) ==== Immunities ==== * **Lich subclass**: Has immunity to Vertigo * **Enslaved Soul mob**: Has immunity type resistance ==== Sprite References ==== * **Buff Icon**: {{rpd:images:vertigo_buff.png|Vertigo Buff}} * **Buff Indicator ID**: 29 ==== Related Entities ==== * **Ring of Elements**: [[mr:ring_of_elements_item|ring_of_elements_item]] - Provides resistance * **Lich Subclass**: [[mr:lich_subclass|lich_subclass]] - Immune to vertigo * **English Page**: [[en:rpd:vertigo_buff|vertigo_buff]] * **Russian Page**: [[ru:rpd:vertigo_buff|vertigo_buff]] {{tag> rpd buffs debuffs status_effects disorientation}}