Search in sources :

Example 26 with PointF

use of com.watabou.utils.PointF in project pixel-dungeon-remix by NYRDS.

the class MagicMissile method reset.

public void reset(int from, int to, @Nullable Callback callback) {
    this.callback = callback;
    revive();
    PointF pf = DungeonTilemap.tileCenterToWorld(from);
    PointF pt = DungeonTilemap.tileCenterToWorld(to);
    x = pf.x;
    y = pf.y;
    width = 0;
    height = 0;
    PointF d = PointF.diff(pt, pf);
    PointF speed = new PointF(d).normalize().scale(SPEED);
    sx = speed.x;
    sy = speed.y;
    time = d.length() / SPEED;
}
Also used : PointF(com.watabou.utils.PointF)

Example 27 with PointF

use of com.watabou.utils.PointF in project pixel-dungeon by watabou.

the class Item method use.

public void use() {
    if (level > 0 && !isBroken()) {
        int threshold = (int) (maxDurability() * DURABILITY_WARNING_LEVEL);
        if (durability-- >= threshold && threshold > durability && levelKnown) {
            GLog.w(TXT_GONNA_BREAK, name());
        }
        if (isBroken()) {
            getBroken();
            if (levelKnown) {
                GLog.n(TXT_BROKEN, name());
                Dungeon.hero.interrupt();
                CharSprite sprite = Dungeon.hero.sprite;
                PointF point = sprite.center().offset(0, -16);
                if (this instanceof Weapon) {
                    sprite.parent.add(Degradation.weapon(point));
                } else if (this instanceof Armor) {
                    sprite.parent.add(Degradation.armor(point));
                } else if (this instanceof Ring) {
                    sprite.parent.add(Degradation.ring(point));
                } else if (this instanceof Wand) {
                    sprite.parent.add(Degradation.wand(point));
                }
                Sample.INSTANCE.play(Assets.SND_DEGRADE);
            }
        }
    }
}
Also used : Armor(com.watabou.pixeldungeon.items.armor.Armor) Ring(com.watabou.pixeldungeon.items.rings.Ring) PointF(com.watabou.utils.PointF) Wand(com.watabou.pixeldungeon.items.wands.Wand) CharSprite(com.watabou.pixeldungeon.sprites.CharSprite) Weapon(com.watabou.pixeldungeon.items.weapon.Weapon) MissileWeapon(com.watabou.pixeldungeon.items.weapon.missiles.MissileWeapon)

Example 28 with PointF

use of com.watabou.utils.PointF in project pixel-dungeon by watabou.

the class MagicMissile method reset.

public void reset(int from, int to, float velocity, Callback callback) {
    this.callback = callback;
    revive();
    PointF pf = DungeonTilemap.tileCenterToWorld(from);
    PointF pt = DungeonTilemap.tileCenterToWorld(to);
    x = pf.x;
    y = pf.y;
    width = 0;
    height = 0;
    PointF d = PointF.diff(pt, pf);
    PointF speed = new PointF(d).normalize().scale(velocity);
    sx = speed.x;
    sy = speed.y;
    time = d.length() / velocity;
}
Also used : PointF(com.watabou.utils.PointF)

Example 29 with PointF

use of com.watabou.utils.PointF in project pixel-dungeon by watabou.

the class BadgeBanner method highlight.

public static void highlight(Image image, int index) {
    PointF p = new PointF();
    switch(index) {
        case 0:
        case 1:
        case 2:
        case 3:
            p.offset(7, 3);
            break;
        case 4:
        case 5:
        case 6:
        case 7:
            p.offset(6, 5);
            break;
        case 8:
        case 9:
        case 10:
        case 11:
            p.offset(6, 3);
            break;
        case 12:
        case 13:
        case 14:
        case 15:
            p.offset(7, 4);
            break;
        case 16:
            p.offset(6, 3);
            break;
        case 17:
            p.offset(5, 4);
            break;
        case 18:
            p.offset(7, 3);
            break;
        case 20:
            p.offset(7, 3);
            break;
        case 21:
            p.offset(7, 3);
            break;
        case 22:
            p.offset(6, 4);
            break;
        case 23:
            p.offset(4, 5);
            break;
        case 24:
            p.offset(6, 4);
            break;
        case 25:
            p.offset(6, 5);
            break;
        case 26:
            p.offset(5, 5);
            break;
        case 27:
            p.offset(6, 4);
            break;
        case 28:
            p.offset(3, 5);
            break;
        case 29:
            p.offset(5, 4);
            break;
        case 30:
            p.offset(5, 4);
            break;
        case 31:
            p.offset(5, 5);
            break;
        case 32:
        case 33:
            p.offset(7, 4);
            break;
        case 34:
            p.offset(6, 4);
            break;
        case 35:
            p.offset(6, 4);
            break;
        case 36:
            p.offset(6, 5);
            break;
        case 37:
            p.offset(4, 4);
            break;
        case 38:
            p.offset(5, 5);
            break;
        case 39:
            p.offset(5, 4);
            break;
        case 40:
        case 41:
        case 42:
        case 43:
            p.offset(5, 4);
            break;
        case 44:
        case 45:
        case 46:
        case 47:
            p.offset(5, 5);
            break;
        case 48:
        case 49:
        case 50:
        case 51:
            p.offset(7, 4);
            break;
        case 52:
        case 53:
        case 54:
        case 55:
            p.offset(4, 4);
            break;
        case 56:
            p.offset(3, 7);
            break;
        case 57:
            p.offset(4, 5);
            break;
        case 58:
            p.offset(6, 4);
            break;
        case 59:
            p.offset(7, 4);
            break;
        case 60:
        case 61:
        case 62:
        case 63:
            p.offset(4, 4);
            break;
    }
    p.x *= image.scale.x;
    p.y *= image.scale.y;
    p.offset(-image.origin.x * (image.scale.x - 1), -image.origin.y * (image.scale.y - 1));
    p.offset(image.point());
    Speck star = new Speck();
    star.reset(0, p.x, p.y, Speck.DISCOVER);
    star.camera = image.camera();
    image.parent.add(star);
}
Also used : PointF(com.watabou.utils.PointF)

Example 30 with PointF

use of com.watabou.utils.PointF in project pixel-dungeon by watabou.

the class MissileSprite method reset.

public void reset(int from, int to, int image, Glowing glowing, Callback listener) {
    revive();
    view(image, glowing);
    this.callback = listener;
    point(DungeonTilemap.tileToWorld(from));
    PointF dest = DungeonTilemap.tileToWorld(to);
    PointF d = PointF.diff(dest, point());
    speed.set(d).normalize().scale(SPEED);
    if (image == 31 || image == 108 || image == 109 || image == 110) {
        angularSpeed = 0;
        angle = 135 - (float) (Math.atan2(d.x, d.y) / 3.1415926 * 180);
    } else {
        angularSpeed = image == 15 || image == 106 ? 1440 : 720;
    }
    PosTweener tweener = new PosTweener(this, dest, d.length() / SPEED);
    tweener.listener = this;
    parent.add(tweener);
}
Also used : PosTweener(com.watabou.noosa.tweeners.PosTweener) PointF(com.watabou.utils.PointF)

Aggregations

PointF (com.watabou.utils.PointF)56 Emitter (com.watabou.noosa.particles.Emitter)9 ScaleTweener (com.watabou.noosa.tweeners.ScaleTweener)5 Point (com.watabou.utils.Point)5 RectF (android.graphics.RectF)3 PosTweener (com.watabou.noosa.tweeners.PosTweener)3 ArrayList (java.util.ArrayList)2 Char (com.shatteredpixel.shatteredpixeldungeon.actors.Char)1 Lightning (com.shatteredpixel.shatteredpixeldungeon.effects.Lightning)1 Heap (com.shatteredpixel.shatteredpixeldungeon.items.Heap)1 Crossbow (com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Crossbow)1 Dart (com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.darts.Dart)1 Room (com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room)1 ConnectionRoom (com.shatteredpixel.shatteredpixeldungeon.levels.rooms.connection.ConnectionRoom)1 CharSprite (com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite)1 NoosaInputProcessor (com.watabou.input.NoosaInputProcessor)1 ColorBlock (com.watabou.noosa.ColorBlock)1 Image (com.watabou.noosa.Image)1 TextureFilm (com.watabou.noosa.TextureFilm)1 TouchArea (com.watabou.noosa.TouchArea)1