@Override public String statsDesc() { if (levelKnown) return Messages.get(this, "stats_desc", chargesPerCast(), min(), max()); else return Messages.get(this, "stats_desc", chargesPerCast(), min(0), max(0)); }
private void spreadFlames(int cell, float strength){ if (strength >= 0 && (Dungeon.level.passable[cell] || Dungeon.level.flamable[cell])){ affectedCells.add(cell); if (strength >= 1.5f) { visualCells.remove(cell); spreadFlames(cell + PathFinder.CIRCLE8[left(direction)], strength - 1.5f); spreadFlames(cell + PathFinder.CIRCLE8[direction], strength - 1.5f); spreadFlames(cell + PathFinder.CIRCLE8[right(direction)], strength - 1.5f); } else { visualCells.add(cell); } } else if (!Dungeon.level.passable[cell]) visualCells.add(cell); }
int maxDist = 2 + 2*chargesPerCast(); int dist = Math.min(bolt.dist, maxDist); spreadFlames(c + PathFinder.CIRCLE8[left(direction)], strength - 1); spreadFlames(c + PathFinder.CIRCLE8[direction], strength - 1); spreadFlames(c + PathFinder.CIRCLE8[right(direction)], strength - 1); } else { visualCells.add(c);
GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) ); processSoulMark(ch, chargesPerCast()); ch.damage(damageRoll(), this); Buff.affect( ch, Burning.class ).reignite( ch ); switch(chargesPerCast()){ case 1: break; //no effects
public int max(int lvl){ return (6+2*lvl) * chargesPerCast(); }
int maxDist = 2 + 2*chargesPerCast(); int dist = Math.min(bolt.dist, maxDist); spreadFlames(c + PathFinder.CIRCLE8[left(direction)], strength - 1); spreadFlames(c + PathFinder.CIRCLE8[direction], strength - 1); spreadFlames(c + PathFinder.CIRCLE8[right(direction)], strength - 1); } else { visualCells.add(c);
GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) ); processSoulMark(ch, chargesPerCast()); ch.damage(damageRoll(), this); Buff.affect( ch, Burning.class ).reignite( ch ); switch(chargesPerCast()){ case 1: break; //no effects
public int min(int lvl){ return (1+lvl) * chargesPerCast(); }
@Override public String statsDesc() { if (levelKnown) return Messages.get(this, "stats_desc", chargesPerCast(), min(), max()); else return Messages.get(this, "stats_desc", chargesPerCast(), min(0), max(0)); }
private void spreadFlames(int cell, float strength){ if (strength >= 0 && (Dungeon.level.passable[cell] || Dungeon.level.flamable[cell])){ affectedCells.add(cell); if (strength >= 1.5f) { visualCells.remove(cell); spreadFlames(cell + PathFinder.CIRCLE8[left(direction)], strength - 1.5f); spreadFlames(cell + PathFinder.CIRCLE8[direction], strength - 1.5f); spreadFlames(cell + PathFinder.CIRCLE8[right(direction)], strength - 1.5f); } else { visualCells.add(cell); } } else if (!Dungeon.level.passable[cell]) visualCells.add(cell); }
public int min(int lvl){ return (1+lvl) * chargesPerCast(); }
public int max(int lvl){ return (6+2*lvl) * chargesPerCast(); }