mr:ice_elemental_mob
Table of Contents
Ice Elemental Mob - Code References
Java Classes
- RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/elementals/IceElemental.java
- Implements IDepthAdjustable interface for dungeon depth scaling
JSON Configuration
- RemixedDungeon/src/main/assets/spritesDesc/IceElemental.json - Sprite configuration
- RemixedDungeon/src/main/assets/levelsDesc/Bestiary.json - Spawn rate 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
- Extends Mob class and implements IDepthAdjustable interface
- Adjusts stats based on dungeon depth
- Immune to Roots, Paralysis, Stun, and ToxicGas
- Has 10% chance to slow enemies when attacking
- Drops Frozen Carpaccio with 10% probability
- Carcass chance is 0%
- Damage range: Min HP/6, Max HP/6
- Base attack skill calculated as baseDefenseSkill/3 + 1
- Base defense skill: depth * 2 + 1
- HP: depth * 10 + 1
- Experience for kill: depth + 1
- Max level: depth + 2
- Damage reduction: experience for kill value
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
- Registered in MobFactory.java at line 234: registerMobClass(IceElemental.class);
mr/ice_elemental_mob.txt · Last modified: by 127.0.0.1
