====== Terror Buff - Code References ======
===== Java Classes =====
* Main Implementation: RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Terror.java
* AI Handler: RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/ai/Horrified.java
===== Class Details =====
package com.watabou.pixeldungeon.actors.buffs;
public class Terror extends FlavourBuff {
public static final float DURATION = 10f;
@Override
public int icon() {
return BuffIndicator.TERROR;
}
public static void recover(Char target) {
Terror terror = target.buff(Terror.class);
if (terror != null && terror.cooldown() < DURATION) {
target.remove(terror);
}
}
@Override
public boolean attachTo(@NotNull Char target) {
if(super.attachTo(target)) {
if(target instanceof Mob && target.fraction!=Fraction.NEUTRAL) {
Mob tgt = (Mob)target;
tgt.releasePet();
}
return true;
}
return false;
}
@Override
public void attachVisual() {
target.showStatus(CharSprite.NEGATIVE, StringsManager.getVar(R.string.Char_StaFrightened));
}
}
===== Key Methods =====
* **attachTo(Char target)**: Attaches the Terror buff to a character. If the target is a non-neutral Mob, releases any pet.
* **recover(Char target)**: Removes Terror buff if cooldown is less than DURATION (10f).
* **attachVisual()**: Shows "frightened" status message on the character sprite.
* **icon()**: Returns BuffIndicator.TERROR for the buff icon.
===== Constants =====
* **DURATION**: 10f (10 seconds default duration)
===== JSON Configuration =====
This entity does not have JSON configuration files. It is fully implemented in Java.
===== String Resources =====
frightened
It looks like someone was very frightened.
испуган
Похоже, кто-то очень испугался.
===== String Resource References =====
* English: RemixedDungeon/src/main/res/values/strings_all.xml
- Char_StaFrightened (line ~335)
- TerrorBuff_Info (line ~615)
* Russian: RemixedDungeon/src/main/res/values-ru/strings_all.xml
- Char_StaFrightened (line ~335)
===== Lua Scripts =====
This entity is implemented in Java, no Lua script exists.
===== Usage in Code =====
* **Immunity**: Many mobs have immunity to Terror:
- IceGuardian, IceGuardianCore, Kobold (Ice Caves)
- YogsHeart, YogsBrain, YogsEye, BurningFist, RottingFist (Guts)
* **AI Behavior**: The Horrified AI class handles terrorized mob behavior
* **Status Display**: Uses CharSprite.NEGATIVE for visual feedback
* **Pet Release**: Automatically releases pets when applied to non-neutral mobs
===== Related Classes =====
* FlavourBuff (parent class)
* BuffIndicator (icon system)
* Horrified (AI handler for terrorized mobs)
* CharSprite (visual status display)
* Fraction (mob faction system)
===== Source Code Links =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/watabou/pixeldungeon/actors/buffs/Terror.java|Terror.java]]
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/ai/Horrified.java|Horrified.java]]