User Tools

Site Tools


mr:terror_buff

Terror Buff - Code References

Terror Buff

Java Classes

Class Details

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.actors.mobs.Fraction;
import com.watabou.pixeldungeon.actors.mobs.Mob;
import com.watabou.pixeldungeon.sprites.CharSprite;
import com.watabou.pixeldungeon.ui.BuffIndicator;
 
import org.jetbrains.annotations.NotNull;
 
import com.nyrds.LuaInterface;
 
@LuaInterface
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

<!-- English strings -->
<string name="Char_StaFrightened">frightened</string>
<string name="TerrorBuff_Info">It looks like someone was very frightened.</string>
<string name="Mob_StaTerrorStatus2">%s is terrified of %s!</string>
 
<!-- Russian strings -->
<string name="Char_StaFrightened">испуган</string>
<string name="TerrorBuff_Info">Похоже, кто-то очень испугался.</string>
<string name="Mob_StaTerrorStatus2">%s в ужасе перед %s!</string>

String Resource References

  • English: RemixedDungeon/src/main/res/values/strings_all.xml
    1. Char_StaFrightened
    2. TerrorBuff_Info
    3. Mob_StaTerrorStatus2
  • Russian: RemixedDungeon/src/main/res/values-ru/strings_all.xml
    1. Char_StaFrightened
    2. TerrorBuff_Info
    3. Mob_StaTerrorStatus2

Lua Scripts

  • Roar.lua: Uses RPD.Buffs.Terror to apply terror effect
  • commonClasses.lua: Binds Terror class for Lua access
  • ChaosShieldLeft.lua: Includes Terror in random debuff list

Usage in Code

  • Immunity: Many mobs have immunity to Terror:
    1. IceGuardian, IceGuardianCore, Kobold (Ice Caves)
    2. 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
  • FlavourBuff (parent class)
  • BuffIndicator (icon system)
  • Horrified (AI handler for terrorized mobs)
  • CharSprite (visual status display)
  • Fraction (mob faction system)

String Resources

  • TerrorBuff_Name
  • TerrorBuff_Info
  • Char_StaFrightened
  • Mob_StaTerrorStatus2
mr/terror_buff.txt · Last modified: by 127.0.0.1