Actual implementation found in:
Full class implementation:
package com.nyrds.pixeldungeon.items.guts; import com.nyrds.pixeldungeon.ml.R; import com.nyrds.pixeldungeon.mobs.guts.SpiritOfPain; import com.nyrds.platform.util.StringsManager; import com.watabou.pixeldungeon.actors.Char; import com.watabou.pixeldungeon.actors.mobs.Mob; import com.watabou.pixeldungeon.items.rings.Artifact; import com.watabou.pixeldungeon.items.rings.ArtifactBuff; import com.watabou.pixeldungeon.ui.BuffIndicator; public class HeartOfDarkness extends Artifact { public HeartOfDarkness() { imageFile = "items/artifacts.png"; image = 18; } @Override public boolean isIdentified() { return true; } @Override public ArtifactBuff buff() { return new HeartOfDarknessBuff(); } public static class HeartOfDarknessBuff extends ArtifactBuff { @Override public int icon() { return BuffIndicator.DARKVEIL; } @Override public String name() { return StringsManager.getVar(R.string.DarkVeilBuff_Name); } @Override public String desc() { return StringsManager.getVar(R.string.DarkVeilBuff_Info); } @Override public int defenceProc(Char defender, Char enemy, int damage) { int defenderPos = defender.getPos(); int spiritPos = defender.level().getEmptyCellNextTo(defenderPos); if (defender.level().cellValid(spiritPos)) { SpiritOfPain spirit = new SpiritOfPain(); spirit.setPos(spiritPos); Mob.makePet(spirit, defender.getId()); defender.level().spawnMob(spirit, 0, defenderPos); } return damage; } } }
The HeartOfDarknessBuff is automatically applied when the hero equips the Heart of Darkness artifact. Its primary function is:
<!-- English (values/strings_all.xml) --> <string name="DarkVeilBuff_Name">Dark veil</string> <string name="DarkVeilBuff_Info">A veil of darkness surrounds the owner, summoning a spirit every time damage is taken.</string> <!-- Russian (values-ru/strings_all.xml) --> <string name="DarkVeilBuff_Name">Тёмная вуаль</string> <string name="DarkVeilBuff_Info">Вуаль тьмы окружает владельца, призывая духа каждый раз при получении урона.</string>
None - This buff is implemented purely in Java without JSON configuration.
None - This buff is implemented purely in Java without Lua scripting.