@Override public ArrayList<String> actions( Hero hero ) { ArrayList<String> actions = super.actions( hero ); if (isEquipped( hero ) && level() < levelCap && !cursed) actions.add(AC_PRICK); return actions; }
@Override public ArrayList<String> actions( Hero hero ) { ArrayList<String> actions = super.actions( hero ); if (isEquipped( hero ) && level() < levelCap && !cursed) actions.add(AC_PRICK); return actions; }
@Override public String desc() { String desc = super.desc(); if (isEquipped (Dungeon.hero)){ desc += "\n\n"; if (cursed) desc += Messages.get(this, "desc_cursed"); else if (level() == 0) desc += Messages.get(this, "desc_1"); else if (level() < levelCap) desc += Messages.get(this, "desc_2"); else desc += Messages.get(this, "desc_3"); } return desc; }
@Override public String desc() { String desc = super.desc(); if (isEquipped (Dungeon.hero)){ desc += "\n\n"; if (cursed) desc += Messages.get(this, "desc_cursed"); else if (level() == 0) desc += Messages.get(this, "desc_1"); else if (level() < levelCap) desc += Messages.get(this, "desc_2"); else desc += Messages.get(this, "desc_3"); } return desc; }
@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_PRICK)){ int damage = 3*(level()*level()); if (damage > hero.HP*0.75) { GameScene.show( new WndOptions(Messages.titleCase(Messages.get(this, "name")), Messages.get(this, "prick_warn"), Messages.get(this, "yes"), Messages.get(this, "no")) { @Override protected void onSelect(int index) { if (index == 0) prick(Dungeon.hero); } } ); } else { prick(hero); } } }
@Override public void execute(Hero hero, String action ) { super.execute(hero, action); if (action.equals(AC_PRICK)){ int damage = 3*(level()*level()); if (damage > hero.HP*0.75) { GameScene.show( new WndOptions(Messages.titleCase(Messages.get(this, "name")), Messages.get(this, "prick_warn"), Messages.get(this, "yes"), Messages.get(this, "no")) { @Override protected void onSelect(int index) { if (index == 0) prick(Dungeon.hero); } } ); } else { prick(hero); } } }
private void prick(Hero hero){ int damage = 3*(level()*level()); Earthroot.Armor armor = hero.buff(Earthroot.Armor.class); if (armor != null) { damage = armor.absorb(damage); } damage -= hero.drRoll(); hero.sprite.operate( hero.pos ); hero.busy(); hero.spend(3f); GLog.w( Messages.get(this, "onprick") ); if (damage <= 0){ damage = 1; } else { Sample.INSTANCE.play(Assets.SND_CURSED); hero.sprite.emitter().burst( ShadowParticle.CURSE, 4+(damage/10) ); } hero.damage(damage, this); if (!hero.isAlive()) { Dungeon.fail( getClass() ); GLog.n( Messages.get(this, "ondeath") ); } else { upgrade(); } }
private void prick(Hero hero){ int damage = 3*(level()*level()); Earthroot.Armor armor = hero.buff(Earthroot.Armor.class); if (armor != null) { damage = armor.absorb(damage); } damage -= hero.drRoll(); hero.sprite.operate( hero.pos ); hero.busy(); hero.spend(3f); GLog.w( Messages.get(this, "onprick") ); if (damage <= 0){ damage = 1; } else { Sample.INSTANCE.play(Assets.SND_CURSED); hero.sprite.emitter().burst( ShadowParticle.CURSE, 4+(damage/10) ); } hero.damage(damage, this); if (!hero.isAlive()) { Dungeon.fail( getClass() ); GLog.n( Messages.get(this, "ondeath") ); } else { upgrade(); } }