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:
Evan Debenham
2015-06-02 00:35:46 -04:00
parent 512c51dee1
commit 40c0d61dfa
15 changed files with 263 additions and 81 deletions
@@ -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 );
}
}
}