v0.3.0: added wand of venom & venom gas

This commit is contained in:
Evan Debenham
2015-04-12 23:13:07 -04:00
parent d3852a392e
commit 4759cb8a55
9 changed files with 181 additions and 11 deletions
@@ -19,6 +19,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.potions;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ConfusionGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.StenchGas;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
import com.watabou.noosa.audio.Sample;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
@@ -58,7 +59,8 @@ public class PotionOfPurity extends Potion {
Dungeon.level.blobs.get( ToxicGas.class ),
Dungeon.level.blobs.get( ParalyticGas.class ),
Dungeon.level.blobs.get( ConfusionGas.class ),
Dungeon.level.blobs.get( StenchGas.class )
Dungeon.level.blobs.get( StenchGas.class ),
Dungeon.level.blobs.get( VenomGas.class )
};
for (int j=0; j < blobs.length; j++) {
@@ -34,7 +34,7 @@ public class WandOfPoison extends Wand {
{
name = "Wand of Poison";
image = ItemSpriteSheet.WAND_ACID;
image = ItemSpriteSheet.WAND_VENOM;
}
@Override
@@ -0,0 +1,55 @@
package com.shatteredpixel.shatteredpixeldungeon.items.wands;
import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Poison;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.noosa.audio.Sample;
import com.watabou.utils.Callback;
/**
* Created by Evan on 12/04/2015.
*/
public class WandOfVenom extends Wand {
{
name = "Wand of Venom";
//TODO: final sprite
image = ItemSpriteSheet.WAND_VENOM;
collisionProperties = Ballistica.STOP_TARGET | Ballistica.STOP_TERRAIN;
}
@Override
protected void onZap(Ballistica bolt) {
//TODO: final balancing
GameScene.add(Blob.seed(bolt.collisionPos, 40+20*level, VenomGas.class));
}
@Override
protected void fx(Ballistica bolt, Callback callback) {
//TODO: final visuals
MagicMissile.poison(curUser.sprite.parent, bolt.sourcePos, bolt.collisionPos, callback);
Sample.INSTANCE.play(Assets.SND_ZAP);
}
@Override
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
new Poison().proc(staff, attacker, defender, damage);
}
@Override
public String desc() {
return
"This wand has a purple body which opens to a shining green gem. " +
"A small amount of foul smelling gas leaks from the gem.\n\n" +
"This wand shoots a bolt which explodes into a cloud of vile venomous gas at a targeted location. " +
"Anything caught inside this cloud will constantly take damage, increasing with time.";
}
}