====== Yogs Teeth Mob - Code References ====== {{ rpd:images:yogs_teeth_mob.png|Yog's Teeth }} Machine-readable reference page for the Yogs Teeth mob entity in Remixed Dungeon. ==== Java Classes ==== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/guts/YogsTeeth.java|YogsTeeth.java]] - Main implementation ==== JSON Configuration ==== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/YogsTeeth.json|YogsTeeth.json]] - Sprite configuration ==== String Resources ==== English (values/strings_all.xml): yog's teeth Yog's teeth Russian (values-ru/strings_all.xml): пасть Йога пасть Йога ==== Lua Scripts ==== This entity is implemented in Java, no Lua script exists ==== Implementation Details ==== * **Package**: com.nyrds.pixeldungeon.mobs.guts * **Extends**: Mob (standard mob class) * **Location**: Yog's guts level (boss area) * **Behavior**: Boss mob with life drain, bleeding, and double damage procs ==== 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) ==== * **HP**: 350 * **Base Defense Skill**: 44 * **Base Attack Skill**: 46 * **Damage**: 50-80 * **Defense Rating**: 21 * **Exp for Kill**: 26 * **Can Be Pet**: false (cannot be tamed) ==== Resistances and Immunities ==== * **Toxic Gas**: Resistant * **Paralysis**: Immune * **Amok**: Immune * **Sleep**: Immune * **Terror**: Immune * **Burning**: Immune ==== Special Abilities ==== * **Beckon on Damage**: When damaged, all nearby mobs are beckoned to the player's position * **Life Drain**: 33% chance to heal for damage dealt * **Bleeding**: 33% chance to apply bleeding buff to target * **Double Damage**: 33% chance to deal double damage with special effect ==== 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] } } ==== Related mr Entities ==== * [[mr:yogs_eye_mob|Yog's Eye (Mob)]] * [[mr:yogs_heart_mob|Yog's Heart (Mob)]] * [[mr:yogs_brain_mob|Yog's Brain (Mob)]]