====== Treacherous Spirit - Code References ======
{{ rpd:images:treacherousspirit_sprite.png|Treacherous Spirit }}
===== Java Classes =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/guts/TreacherousSpirit.java|TreacherousSpirit.java]] - Main mob implementation
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/guts/SpiritOfPain.java|SpiritOfPain.java]] - Summoned minion mob
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/java/com/nyrds/pixeldungeon/mobs/npc/AzuterronNPC.java|AzuterronNPC.java]] - Quest NPC that spawns Treacherous Spirit
===== Java Class Content =====
package com.nyrds.pixeldungeon.mobs.guts;
import com.nyrds.pixeldungeon.ai.MobAi;
import com.nyrds.pixeldungeon.ai.Wandering;
import com.nyrds.pixeldungeon.items.guts.HeartOfDarkness;
import com.watabou.pixeldungeon.Dungeon;
import com.watabou.pixeldungeon.actors.Char;
import com.watabou.pixeldungeon.actors.mobs.Mob;
import com.watabou.utils.Random;
import org.jetbrains.annotations.NotNull;
/**
* Created by DeadDie on 12.02.2016
*/
public class TreacherousSpirit extends Mob {
{
hp(ht(200));
baseDefenseSkill = 35;
baseAttackSkill = 35;
dmgMin = 30;
dmgMax = 45;
dr = 25;
expForKill = 45;
maxLvl = 30;
setState(MobAi.getStateByClass(Wandering.class));
collect( new HeartOfDarkness());
}
@Override
public int attackProc(@NotNull Char enemy, int damage ) {
//Summon proc
if (Random.Int(4) == 1){
int spiritPos = Dungeon.level.getEmptyCellNextTo(getPos());
if (Dungeon.level.cellValid(spiritPos)) {
SpiritOfPain spirit = new SpiritOfPain();
spirit.setPos(spiritPos);
Dungeon.level.spawnMob(spirit, 0,getPos());
}
}
return damage;
}
@Override
public boolean canBePet(){
return false;
}
}
===== Mob Stats (from Java code) =====
* **HP**: 200
* **Base Defense Skill**: 35
* **Base Attack Skill**: 35
* **Damage**: 30-45
* **Defense Rating**: 25
* **Experience for Kill**: 45
* **Max Level**: 30
* **AI State**: Wandering
* **Drops**: HeartOfDarkness (guaranteed via collect())
* **Special Ability**: 25% chance on attack to summon SpiritOfPain
===== JSON Configuration =====
* [[https://github.com/NYRDS/remixed-dungeon/blob/master/RemixedDungeon/src/main/assets/spritesDesc/TreacherousSpirit.json|TreacherousSpirit.json]] - Sprite configuration
===== String Resources =====
Treacherous spirit
masculine
Treacherous spirit
This monstrous creature looks like a cloud of living darkness. It's gigantic eye is stares at you, while pulsating with each movement you make.
===== String Resource IDs =====
* TreacherousSpirit_Name
* TreacherousSpirit_Gender
* TreacherousSpirit_Name_Objective
* TreacherousSpirit_Desc
===== Lua Scripts =====
* This entity is implemented in Java, no Lua script exists
===== Code Usage =====
* Spawned by AzuterronNPC during quest initiation
* Drops HeartOfDarkness item (collected automatically)
* Summons SpiritOfPain minions on attack (25% chance)
===== Related mr Entities =====
* [[mr:spirit_of_pain_mob|Spirit of Pain (Mob)]]
* [[mr:heart_of_darkness_item|Heart of Darkness (Item)]]
* [[mr:azuterron_npc|Azuterron NPC]]