v0.6.2: adjusted a few trap mechanics

- slightly boosted the damage of gripping and flashing traps
- cursing traps now always prefer to curse weapons and armor
- pitfall traps now check for walls specifically, not just solid terrain
This commit is contained in:
Evan Debenham 2017-10-12 01:05:03 -04:00
parent f3eab8a148
commit 4368408c79
4 changed files with 7 additions and 7 deletions

View File

@ -93,12 +93,12 @@ public class CursingTrap extends Trap {
KindofMisc misc1 = hero.belongings.misc1;
if (misc1 != null){
priorityCurse.add(misc1);
canCurse.add(misc1);
}
KindofMisc misc2 = hero.belongings.misc2;
if (misc2 != null){
priorityCurse.add(misc2);
canCurse.add(misc2);
}
Collections.shuffle(priorityCurse);

View File

@ -59,7 +59,7 @@ public class FlashingTrap extends Trap {
Char c = Actor.findChar( pos );
if (c != null) {
int damage = Math.max( 0, (Dungeon.depth) - c.drRoll() );
int damage = Math.max( 0, (4 + Dungeon.depth) - c.drRoll() );
Buff.affect( c, Bleeding.class ).set( damage );
Buff.prolong( c, Blindness.class, 10f );
Buff.prolong( c, Cripple.class, 20f );

View File

@ -57,7 +57,7 @@ public class GrippingTrap extends Trap {
Char c = Actor.findChar( pos );
if (c != null) {
int damage = Math.max( 0, (Dungeon.depth) - c.drRoll() );
int damage = Math.max( 0, (2 + Dungeon.depth) - c.drRoll() );
Buff.affect( c, Bleeding.class ).set( damage );
Buff.prolong( c, Cripple.class, Cripple.DURATION);
Wound.hit( c );

View File

@ -67,11 +67,11 @@ public class PitfallTrap extends Trap {
super.disarm();
int stateChanges = 0;
boolean curPassable = Dungeon.level.passable[pos + PathFinder.CIRCLE8[PathFinder.CIRCLE8.length-1]];
boolean curWall = Dungeon.level.map[pos + PathFinder.CIRCLE8[PathFinder.CIRCLE8.length-1]] == Terrain.WALL;
for (int i : PathFinder.CIRCLE8){
if (curPassable != Dungeon.level.passable[pos + i]){
if (curWall != (Dungeon.level.map[pos + i] == Terrain.WALL)){
stateChanges++;
curPassable = Dungeon.level.passable[pos + i];
curWall = Dungeon.level.map[pos + i] == Terrain.WALL;
}
}