====== Zombie Gnoll Mob - Code References ====== {{ rpd:images:zombie_gnoll_mob.png|Zombie Gnoll }} ===== Java Classes ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/guts/ZombieGnoll.java|ZombieGnoll.java]] * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/common/MobFactory.java#L208|MobFactory.java]] - registration ===== Class Details ===== package com.nyrds.pixeldungeon.mobs.guts; import com.nyrds.pixeldungeon.mechanics.NamedEntityKind; import com.nyrds.pixeldungeon.ml.R; import com.nyrds.platform.audio.Sample; import com.nyrds.platform.util.StringsManager; import com.watabou.pixeldungeon.Assets; import com.watabou.pixeldungeon.actors.CharUtils; import com.watabou.pixeldungeon.actors.blobs.ToxicGas; import com.watabou.pixeldungeon.actors.buffs.Burning; import com.watabou.pixeldungeon.actors.buffs.Paralysis; import com.watabou.pixeldungeon.actors.mobs.Mob; import com.watabou.pixeldungeon.effects.CellEmitter; import com.watabou.pixeldungeon.effects.Speck; import com.watabou.pixeldungeon.items.Gold; import com.watabou.pixeldungeon.sprites.CharSprite; import com.watabou.pixeldungeon.utils.GLog; import com.watabou.utils.Random; import org.jetbrains.annotations.NotNull; /** * Created by DeadDie on 12.02.2016 */ public class ZombieGnoll extends Mob { { hp(ht(210)); baseDefenseSkill = 27; baseAttackSkill = 25; dmgMin = 15; dmgMax = 35; dr = 20; expForKill = 7; maxLvl = 35; loot(Gold.class, 0.02f); addImmunity(Paralysis.class); addImmunity(ToxicGas.class); } @Override public void die(@NotNull NamedEntityKind cause) { super.die(cause); if (Random.Int(100) > 65 && !cause.getEntityKind().equals(Burning.class.getSimpleName())){ resurrect(); CellEmitter.center(this.getPos()).start(Speck.factory(Speck.BONE), 0.3f, 3); Sample.INSTANCE.play(Assets.SND_DEATH); if (CharUtils.isVisible(this)) { getSprite().showStatus( CharSprite.NEGATIVE, StringsManager.getVar(R.string.Goo_StaInfo1)); GLog.n(StringsManager.getVar(R.string.ZombieGnoll_Info)); } } } } ===== Key Methods ===== * **die(NamedEntityKind cause)**: Overrides death behavior. Has 35% chance to resurrect unless killed by burning damage. ===== Constants ===== * **HP/HT**: 210 * **Defense Skill**: 27 * **Attack Skill**: 25 * **Damage**: 15-35 * **Armor (DR)**: 20 * **EXP**: 7 * **Max Level**: 35 * **Resurrection Chance**: 35% (unless killed by burning) ===== Immunities ===== * Paralysis * Toxic Gas ===== Drops ===== * Gold (2% chance) ===== JSON Configuration ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json#L50-L54|Bestiary.json]] - spawn rates on levels 26-30 ===== String Resources ===== gnoll-zombie Twisted, broken body of a zombie gnoll no longer resembles a humanoid or a hyena. All that's left is just a pile of rotten flesh and bones filled with malicious urge to kill and consume. Gnoll-zombie has risen from the dead! ===== String Resource References ===== * ZombieGnoll_Name * ZombieGnoll_Desc * ZombieGnoll_Info * ZombieGnoll_Gender * ZombieGnoll_Name_Objective ===== Lua Scripts ===== This entity is implemented in Java, no Lua script exists ===== Source Code Links ===== * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/guts/ZombieGnoll.java|ZombieGnoll.java]] * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/common/MobFactory.java|MobFactory.java]] * [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json|Bestiary.json]] {{tag> rpd mobs guts mr }}