mr:shadow_lord_mob
Table of Contents
Shadow Lord Mob - Code References
Java Classes
- Main Class: ShadowLord.java
- Package: com.nyrds.pixeldungeon.mobs.common
- Extends: Boss
- Implements: IZapper
- Author: DeadDie (created 13.02.2016)
- Related Classes:
- Boss.java (base class)
- ShadowLordLevel.java (dedicated level)
- Crystal.java (spawns crystals)
JSON Configuration
- Sprite Config: ShadowLord.json
- Bestiary: Bestiary.json (spawn configuration)
- Dungeon Config: Referenced in Dungeon.json
String Resources
<string name="ShadowLord_Name">Shadow Lord</string> <string name="ShadowLord_Intro">Intro dialogue when spawning minions</string> <string name="ShadowLord_Death">Death dialogue</string>
Lua Scripts
This entity is implemented in Java, no Lua script exists
Key Implementation Details
- HP/HT: 260 (set in constructor: hp(ht(260)))
- Base Defense Skill: 40
- Base Attack Skill: 30
- Damage Range: 30-40
- Damage Reduction: 40
- EXP for Kill: 60
- Drops: Scroll of Weapon Upgrade (guaranteed)
- Walking Type: ABSOLUTE
Special Abilities
- spawnShadow(): Spawns a Shadow mob next to the Shadow Lord using WandOfBlink.appear()
- spawnWraith(): Spawns 4 Wraiths at empty cells next to the Shadow Lord
- twistLevel(): Transforms the level by:
- Creating an empty level with LevelTools.makeEmptyLevel()
- Building a maze with LevelTools.buildShadowLordMaze() (6 iterations)
- Spawning a Crystal at a pedestal location
- Filling area with Darkness blob (5×5 area)
- canAttack(): Can attack targets within distance < 4 with clear Ballistica path
- fx(): Uses purpleLight magic missile with zap sound effect
- damage(): When damaged:
- Enters Fleeing state
- Blinks away from attacker using CharUtils.blinkAway()
- Calls twistLevel() to transform the arena
- Sets cooldown to 10 turns
- act(): Per-turn behavior:
- Decrements cooldown
- When fleeing and cooldown < 0: returns to Wandering state, spawns minions (70% Wraith, 30% Shadow)
- Heals from Darkness blobs at current position
- Takes 1 damage from Foliage blobs (with bone particle effect)
- die(): On death:
- Plays death dialogue
- Resets level with LevelTools.makeEmptyLevel()
- Unseals the level
- Validates SHADOW_LORD_SLAIN badge
Immunities and Resistances
- Inherits from Boss class
- Special interaction with Darkness (healing) and Foliage (damage) blobs
Code References
- Fleeing.java (AI state)
- Wandering.java (AI state)
- LevelTools.java (level manipulation)
- CharUtils.java (blink mechanics)
- Darkness.java (healing source)
- Foliage.java (damage source)
- Badges.java (badge validation)
mr/shadow_lord_mob.txt · Last modified: by 127.0.0.1
