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