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:
parent
f3eab8a148
commit
4368408c79
|
@ -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);
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user