v2.5.3: base bomb buffs:
- no longer bounce when thrown on chars - max dmg up by 50% (avg dmg up by 33%) - dmg no longer fades based on distance - cost down to 15 from 20 - description improved
This commit is contained in:
@@ -483,7 +483,7 @@ items.bombs.bomb.ac_lightthrow=LIGHT & THROW
|
|||||||
items.bombs.bomb.snuff_fuse=You quickly snuff the bomb's fuse.
|
items.bombs.bomb.snuff_fuse=You quickly snuff the bomb's fuse.
|
||||||
items.bombs.bomb.ondeath=The explosion kills you...
|
items.bombs.bomb.ondeath=The explosion kills you...
|
||||||
items.bombs.bomb.rankings_desc=Killed by an explosion
|
items.bombs.bomb.rankings_desc=Killed by an explosion
|
||||||
items.bombs.bomb.desc=A fairly hefty black powder bomb. An explosion from this would certainly do damage to anything nearby.
|
items.bombs.bomb.desc=A fairly hefty black powder bomb. An explosion from this bomb deals _%1$d-%2$d damage_ to anything adjacent to it, and will destroy some adjacent terrain or items.
|
||||||
items.bombs.bomb.desc_fuse=It looks like the fuse will take a couple rounds to burn down once it is lit.
|
items.bombs.bomb.desc_fuse=It looks like the fuse will take a couple rounds to burn down once it is lit.
|
||||||
items.bombs.bomb.desc_burning=The bomb's fuse is burning away, keep your distance or put it out!
|
items.bombs.bomb.desc_burning=The bomb's fuse is burning away, keep your distance or put it out!
|
||||||
items.bombs.bomb$doublebomb.name=two bombs
|
items.bombs.bomb$doublebomb.name=two bombs
|
||||||
|
|||||||
@@ -117,15 +117,7 @@ public class Bomb extends Item {
|
|||||||
if (!Dungeon.level.pit[ cell ] && lightingFuse) {
|
if (!Dungeon.level.pit[ cell ] && lightingFuse) {
|
||||||
Actor.addDelayed(fuse = createFuse().ignite(this), 2);
|
Actor.addDelayed(fuse = createFuse().ignite(this), 2);
|
||||||
}
|
}
|
||||||
if (Actor.findChar( cell ) != null && !(Actor.findChar( cell ) instanceof Hero) ){
|
super.onThrow( cell );
|
||||||
ArrayList<Integer> candidates = new ArrayList<>();
|
|
||||||
for (int i : PathFinder.NEIGHBOURS8)
|
|
||||||
if (Dungeon.level.passable[cell + i])
|
|
||||||
candidates.add(cell + i);
|
|
||||||
int newCell = candidates.isEmpty() ? cell : Random.element(candidates);
|
|
||||||
Dungeon.level.drop( this, newCell ).sprite.drop( cell );
|
|
||||||
} else
|
|
||||||
super.onThrow( cell );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -184,13 +176,7 @@ public class Bomb extends Item {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
int dmg = Random.NormalIntRange(5 + Dungeon.scalingDepth(), 10 + Dungeon.scalingDepth()*2);
|
int dmg = Random.NormalIntRange(4 + Dungeon.scalingDepth(), 12 + 3*Dungeon.scalingDepth());
|
||||||
|
|
||||||
//those not at the center of the blast take less damage
|
|
||||||
if (ch.pos != cell){
|
|
||||||
dmg = Math.round(dmg*0.67f);
|
|
||||||
}
|
|
||||||
|
|
||||||
dmg -= ch.drRoll();
|
dmg -= ch.drRoll();
|
||||||
|
|
||||||
if (dmg > 0) {
|
if (dmg > 0) {
|
||||||
@@ -239,15 +225,17 @@ public class Bomb extends Item {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int value() {
|
public int value() {
|
||||||
return 20 * quantity;
|
return 15 * quantity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String desc() {
|
public String desc() {
|
||||||
|
int depth = Dungeon.depth == -1 ? 1 : Dungeon.depth;
|
||||||
|
String desc = Messages.get(this, "desc", 4+depth, 12+3*depth);
|
||||||
if (fuse == null)
|
if (fuse == null)
|
||||||
return super.desc()+ "\n\n" + Messages.get(this, "desc_fuse");
|
return desc + "\n\n" + Messages.get(this, "desc_fuse");
|
||||||
else
|
else
|
||||||
return super.desc() + "\n\n" + Messages.get(this, "desc_burning");
|
return desc + "\n\n" + Messages.get(this, "desc_burning");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final String FUSE = "fuse";
|
private static final String FUSE = "fuse";
|
||||||
|
|||||||
Reference in New Issue
Block a user