User Tools

Site Tools


mr:earth_elemental_mob

Earth Elemental Mob - Code References

This page contains raw code references and configuration excerpts for the Earth Elemental mob entity.

Entity Kind

* getEntityKind() value: EarthElemental

Java Implementation

* Class location: EarthElemental.java * Parent Class: Elemental * Interfaces: IDepthAdjustable

Code Fragments

Constructor:

public EarthElemental() {
	adjustStats(Dungeon.depth);
}

Stats adjustment:

@Override
public void adjustStats(int depth) {
	super.adjustStats(depth);
 
	hp(ht(depth * 10 + 1));
 
	baseDefenseSkill = depth / 2 + 1;
	baseAttackSkill = (baseDefenseSkill) / 2 + 1;
	dmgMin = ht() / 5;
	dmgMax = ht() / 5;
 
	dr = depth + 1;
	expForKill = depth + 1;
	maxLvl = depth + 2;
 
	// Add immunities
	addImmunity(Burning.class);
	addImmunity(ToxicGas.class);
	addImmunity(Stun.class);
	addImmunity(Paralysis.class);
	addImmunity(Roots.class);
	addImmunity(Bleeding.class);
}

Speed modification:

@Override
public float speed() {
	return level().getWater(pos) ? super.speed() * 0.5f : super.speed();
}

Attack processing with regrowth:

@Override
public int attackProc(Char enemy, int damage) {
	if (Random.Float() < 0.5f) {
		int cell = pos;
		var terrain = level().getTerrain(cell);
		if (terrain == Terrain.EMPTY ||
			terrain == Terrain.EMBERS ||
			terrain == Terrain.EMPTY_DECO ||
			terrain == Terrain.GRASS ||
			terrain == Terrain.HIGH_GRASS) {
 
			GameScene.add(Blob.seed(cell, 15, Regrowth.class).setStrength(Math.max(depth + 1, 10)));
		}
	}
	return super.attackProc(enemy, damage);
}

Kind calculation:

@Override
public int getKind() {
	return Math.min(depth / 5, 4);
}

Drop Information

@Override
protected Loot droppedLoot() {
	return Random.Float() < 0.1f ? new Earthroot.Seed() : null;
}

Configuration

* Spawn location: GRASS areas, defined in Bestiary.json as “GRASS”:{“EarthElemental”:1} * Entity Kind: EarthElemental

String Resources

* EarthElemental_Name: earth elemental * EarthElemental_Desc: A humanoid mass of living earth and stone, animated by primitive forces. </content>

mr/earth_elemental_mob.txt · Last modified: by 127.0.0.1