Table of Contents

Ice Elemental Mob - Code References

Java Classes

JSON Configuration

String Resources

<string name="IceElemental_Name">ice elemental</string>
<string name="IceElemental_Gender">masculine</string>
<string name="IceElemental_Desc">Among all the elementals that exist in the dungeon, ice elementals can hardly be considered powerful, but they can truly be called one of the most dangerous ones. The frost aura that emits from their bodies can slow down any enemy.</string>

Implementation Details

Lua Scripts

This entity is implemented in Java, no Lua script exists

Entity Kind

getEntityKind(): IceElemental

Full Class Content

package com.nyrds.pixeldungeon.mobs.elementals;
 
import com.nyrds.pixeldungeon.mobs.common.IDepthAdjustable;
import com.watabou.pixeldungeon.Dungeon;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.blobs.ToxicGas;
import com.watabou.pixeldungeon.actors.buffs.Buff;
import com.watabou.pixeldungeon.actors.buffs.Paralysis;
import com.watabou.pixeldungeon.actors.buffs.Roots;
import com.watabou.pixeldungeon.actors.buffs.Slow;
import com.watabou.pixeldungeon.actors.buffs.Stun;
import com.watabou.pixeldungeon.actors.hero.Hero;
import com.watabou.pixeldungeon.actors.mobs.Mob;
import com.watabou.pixeldungeon.items.food.FrozenCarpaccio;
import com.watabou.utils.Random;
 
import org.jetbrains.annotations.NotNull;
 
public class IceElemental extends Mob implements IDepthAdjustable {
 
	public IceElemental() {
		carcassChance = 0;
		adjustStats(Dungeon.depth);
 
		loot(new FrozenCarpaccio(), 0.1f);
	}
 
	public void adjustStats(int depth) {
		hp(ht(depth * 10 + 1));
		baseDefenseSkill = depth * 2 + 1;
		expForKill = depth + 1;
		maxLvl = depth + 2;
		dr = expForKill;
		baseAttackSkill = baseDefenseSkill / 3 + 1;
		dmgMin = hp()/6;
		dmgMax = hp()/6;
 
 
		addImmunity(Roots.class);
		addImmunity(Paralysis.class);
		addImmunity(Stun.class);
		addImmunity(ToxicGas.class);
	}
 
	@Override
	public int attackProc(@NotNull Char enemy, int damage) {
		//Buff proc
		if (Random.Int(3) == 1){
			if(enemy instanceof Hero) {
				Buff.prolong( enemy, Slow.class, 3 );
			}
		}
		return damage;
	}
}

Registration