v0.3.0c: trap refactor pt1, moved all traps to be instance based (not properly tied into level logic yet)
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||
@@ -25,10 +26,18 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Wound;
|
||||
import com.watabou.utils.Random;
|
||||
|
||||
public class GrippingTrap {
|
||||
|
||||
public static void trigger( int pos, Char c ) {
|
||||
|
||||
public class GrippingTrap extends Trap {
|
||||
|
||||
{
|
||||
name = "gripping trap";
|
||||
image = 6;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void activate() {
|
||||
|
||||
Char c = Actor.findChar( pos );
|
||||
|
||||
if (c != null) {
|
||||
int damage = Math.max( 0, (Dungeon.depth + 3) - Random.IntRange( 0, c.dr() / 2 ) );
|
||||
Buff.affect( c, Bleeding.class ).set( damage );
|
||||
@@ -37,6 +46,6 @@ public class GrippingTrap {
|
||||
} else {
|
||||
Wound.hit( pos );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user