====== 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 }}