@Override protected void evolve() { super.evolve(); Char ch; int cell; for (int i = area.left; i < area.right; i++) { for (int j = area.top; j < area.bottom; j++) { cell = i + j * Dungeon.level.width(); if (cur[cell] > 0 && (ch = Actor.findChar(cell)) != null) { if (!ch.immunities().contains(this.getClass())) Buff.prolong(ch, Paralysis.class, Paralysis.duration(ch) / 5); } } } }
public boolean checkOwner(Char owner) { if (!owner.isAlive() && owner instanceof Hero) { Dungeon.fail(Utils.format(ResultDescriptions.GLYPH, name())); GLog.n("%s killed you...", name()); Badges.validateDeathFromGlyph(); return true; } else { return false; } }
public static void appear(Char ch, int pos) { ch.sprite.interruptMotion(); ch.move(pos); ch.sprite.place(pos); if (ch.invisible == 0) { ch.sprite.alpha(0); ch.sprite.parent.add(new AlphaTweener(ch.sprite, 1, 0.4f)); } ch.sprite.emitter().start(Speck.factory(Speck.LIGHT), 0.2f, 3); Sample.INSTANCE.play(Assets.SND_TELEPORT); }