Table of Contents

Yogs Teeth Mob - Code References

Yog's Teeth

Machine-readable reference page for the Yogs Teeth mob entity in Remixed Dungeon.

Java Classes

JSON Configuration

String Resources

English (values/strings_all.xml):

<string name="YogsTeeth_Name">yog's teeth</string>
<string name="YogsTeeth_Name_Objective">Yog's teeth</string>

Russian (values-ru/strings_all.xml):

<string name="YogsTeeth_Name">пасть Йога</string>
<string name="YogsTeeth_Name_Objective">пасть Йога</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists

Implementation Details

Code Fragment

package com.nyrds.pixeldungeon.mobs.guts;
 
import com.nyrds.pixeldungeon.effects.Devour;
import com.nyrds.pixeldungeon.mechanics.NamedEntityKind;
import com.nyrds.platform.audio.Sample;
import com.watabou.pixeldungeon.Assets;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.blobs.ToxicGas;
import com.watabou.pixeldungeon.actors.buffs.Amok;
import com.watabou.pixeldungeon.actors.buffs.Bleeding;
import com.watabou.pixeldungeon.actors.buffs.Buff;
import com.watabou.pixeldungeon.actors.buffs.Burning;
import com.watabou.pixeldungeon.actors.buffs.Paralysis;
import com.watabou.pixeldungeon.actors.buffs.Sleep;
import com.watabou.pixeldungeon.actors.buffs.Terror;
import com.watabou.pixeldungeon.actors.mobs.Mob;
import com.watabou.utils.Random;
 
import org.jetbrains.annotations.NotNull;
 
public class YogsTeeth extends Mob {
    {
        hp(ht(350));
        baseDefenseSkill = 44;
        baseAttackSkill  = 46;
        dmgMin = 50;
        dmgMax = 80;
        dr = 21;
 
        expForKill = 26;
 
        addResistance(ToxicGas.class);
 
        addImmunity(Paralysis.class);
        addImmunity(Amok.class);
        addImmunity(Sleep.class);
        addImmunity(Terror.class);
        addImmunity(Burning.class);
    }
 
    @Override
    public void damage(int dmg, @NotNull NamedEntityKind src) {
        for (Mob mob : level().mobs) {
            mob.beckon(getPos());
        }
 
        super.damage(dmg, src);
    }
 
    @Override
    public int attackProc(@NotNull Char enemy, int damage ) {
        //Life drain proc
        if (Random.Int(3) == 1){
            heal(damage, this);
        }
 
        //Bleeding proc
        if (Random.Int(3) == 1){
            Buff.affect(enemy, Bleeding.class).level(damage);
        }
 
        //Double damage proc
        if (Random.Int(3) == 1){
            Devour.hit(enemy);
            Sample.INSTANCE.play(Assets.SND_BITE);
            return damage*2;
        }
        return damage;
    }
 
    @Override
    public boolean canBePet() {
        return false;
    }
}

Stats (from Code)

Resistances and Immunities

Special Abilities

Sprite Configuration (from JSON)

{
   "texture" : "mobs/yogs_teeth.png",
   "width" : 20,
   "height" : 18,
   "idle" : {
      "fps" : 5,
      "looped" : true,
      "frames" : [0,1]
   },
   "run" : {
      "fps" : 15,
      "looped" : true,
      "frames" : [3,4,5,4]
   },
   "attack" : {
      "fps" : 12,
      "looped" : false,
      "frames" : [1,2,3]
   },
   "die" : {
      "fps" : 12,
      "looped" : false,
      "frames" : [6,7,8]
   }
}