v0.6.3: reworked the wand of venom thematically, now wand of corrosion
This commit is contained in:
parent
fbb24e244a
commit
bf280cc426
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
@ -62,6 +62,19 @@ public class ShatteredPixelDungeon extends Game {
|
||||||
com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tomahawk.class,
|
com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tomahawk.class,
|
||||||
"com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tamahawk" );
|
"com.shatteredpixel.shatteredpixeldungeon.items.weapon.missiles.Tamahawk" );
|
||||||
|
|
||||||
|
com.watabou.utils.Bundle.addAlias(
|
||||||
|
com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion.class,
|
||||||
|
"com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfVenom" );
|
||||||
|
com.watabou.utils.Bundle.addAlias(
|
||||||
|
com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas.class,
|
||||||
|
"com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas" );
|
||||||
|
com.watabou.utils.Bundle.addAlias(
|
||||||
|
com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion.class,
|
||||||
|
"com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Venom" );
|
||||||
|
com.watabou.utils.Bundle.addAlias(
|
||||||
|
com.shatteredpixel.shatteredpixeldungeon.levels.traps.CorrosionTrap.class,
|
||||||
|
"com.shatteredpixel.shatteredpixeldungeon.levels.traps.VenomTrap" );
|
||||||
|
|
||||||
//v0.6.0
|
//v0.6.0
|
||||||
com.watabou.utils.Bundle.addAlias(
|
com.watabou.utils.Bundle.addAlias(
|
||||||
com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MassGraveRoom.Bones.class,
|
com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MassGraveRoom.Bones.class,
|
||||||
|
|
|
@ -32,6 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
|
||||||
|
@ -46,7 +47,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Speed;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Speed;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Venom;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
|
||||||
|
@ -551,12 +551,12 @@ public abstract class Char extends Actor {
|
||||||
UNDEAD,
|
UNDEAD,
|
||||||
DEMONIC,
|
DEMONIC,
|
||||||
INORGANIC ( new HashSet<Class>(),
|
INORGANIC ( new HashSet<Class>(),
|
||||||
new HashSet<Class>( Arrays.asList(Bleeding.class, ToxicGas.class, Poison.class, Venom.class) )),
|
new HashSet<Class>( Arrays.asList(Bleeding.class, ToxicGas.class, Poison.class) )),
|
||||||
BLOB_IMMUNE ( new HashSet<Class>(),
|
BLOB_IMMUNE ( new HashSet<Class>(),
|
||||||
new HashSet<Class>( Arrays.asList(Blob.class) )),
|
new HashSet<Class>( Arrays.asList(Blob.class) )),
|
||||||
FIERY ( new HashSet<Class>( Arrays.asList(WandOfFireblast.class)),
|
FIERY ( new HashSet<Class>( Arrays.asList(WandOfFireblast.class)),
|
||||||
new HashSet<Class>( Arrays.asList(Burning.class, Blazing.class))),
|
new HashSet<Class>( Arrays.asList(Burning.class, Blazing.class))),
|
||||||
ACIDIC ( new HashSet<Class>( Arrays.asList(ToxicGas.class)),
|
ACIDIC ( new HashSet<Class>( Arrays.asList(ToxicGas.class, Corrosion.class)),
|
||||||
new HashSet<Class>( Arrays.asList(Ooze.class))),
|
new HashSet<Class>( Arrays.asList(Ooze.class))),
|
||||||
ELECTRIC ( new HashSet<Class>( Arrays.asList(WandOfLightning.class, Shocking.class, Potential.class, Electricity.class)),
|
ELECTRIC ( new HashSet<Class>( Arrays.asList(WandOfLightning.class, Shocking.class, Potential.class, Electricity.class)),
|
||||||
new HashSet<Class>()),
|
new HashSet<Class>()),
|
||||||
|
|
|
@ -25,13 +25,13 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Venom;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.BlobEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
public class VenomGas extends Blob {
|
public class CorrosiveGas extends Blob {
|
||||||
|
|
||||||
private int strength = 0;
|
private int strength = 0;
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ public class VenomGas extends Blob {
|
||||||
cell = i + j*Dungeon.level.width();
|
cell = i + j*Dungeon.level.width();
|
||||||
if (cur[cell] > 0 && (ch = Actor.findChar( cell )) != null) {
|
if (cur[cell] > 0 && (ch = Actor.findChar( cell )) != null) {
|
||||||
if (!ch.isImmune(this.getClass()))
|
if (!ch.isImmune(this.getClass()))
|
||||||
Buff.affect(ch, Venom.class).set(2f, strength);
|
Buff.affect(ch, Corrosion.class).set(2f, strength);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,7 @@ public class VenomGas extends Blob {
|
||||||
public void use( BlobEmitter emitter ) {
|
public void use( BlobEmitter emitter ) {
|
||||||
super.use( emitter );
|
super.use( emitter );
|
||||||
|
|
||||||
emitter.pour( Speck.factory(Speck.VENOM), 0.4f );
|
emitter.pour( Speck.factory(Speck.CORROSION), 0.4f );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
|
@ -22,16 +22,6 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
package com.shatteredpixel.shatteredpixeldungeon.actors.buffs;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ConfusionGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Freezing;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ParalyticGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Regrowth;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.StenchGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Web;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
import com.watabou.noosa.Image;
|
import com.watabou.noosa.Image;
|
||||||
|
|
|
@ -27,10 +27,11 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
import com.watabou.noosa.Image;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
//FIXME do proper translation stuff for new text here in 0.6.3 (heromsg, ondeath, rankings_desc)
|
//FIXME do proper translation stuff for new text here in 0.6.3 (heromsg, ondeath, rankings_desc)
|
||||||
public class Venom extends Buff implements Hero.Doom {
|
public class Corrosion extends Buff implements Hero.Doom {
|
||||||
|
|
||||||
private float damage = 1;
|
private float damage = 1;
|
||||||
protected float left;
|
protected float left;
|
||||||
|
@ -60,11 +61,16 @@ public class Venom extends Buff implements Hero.Doom {
|
||||||
this.left = Math.max(duration, left);
|
this.left = Math.max(duration, left);
|
||||||
if (this.damage < damage) this.damage = damage;
|
if (this.damage < damage) this.damage = damage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int icon() {
|
public int icon() {
|
||||||
return BuffIndicator.POISON;
|
return BuffIndicator.POISON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tintIcon(Image icon) {
|
||||||
|
icon.hardlight(1f, 0.5f, 0f);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
@ -104,8 +110,6 @@ public class Venom extends Buff implements Hero.Doom {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDeath() {
|
public void onDeath() {
|
||||||
Badges.validateDeathFromPoison();
|
|
||||||
|
|
||||||
Dungeon.fail( getClass() );
|
Dungeon.fail( getClass() );
|
||||||
GLog.n(Messages.get(this, "ondeath"));
|
GLog.n(Messages.get(this, "ondeath"));
|
||||||
}
|
}
|
|
@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfElements;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||||
|
import com.watabou.noosa.Image;
|
||||||
import com.watabou.utils.Bundle;
|
import com.watabou.utils.Bundle;
|
||||||
|
|
||||||
public class Poison extends Buff implements Hero.Doom {
|
public class Poison extends Buff implements Hero.Doom {
|
||||||
|
@ -69,6 +70,11 @@ public class Poison extends Buff implements Hero.Doom {
|
||||||
return BuffIndicator.POISON;
|
return BuffIndicator.POISON;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void tintIcon(Image icon) {
|
||||||
|
icon.hardlight(0.6f, 0.2f, 0.6f);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return Messages.get(this, "name");
|
return Messages.get(this, "name");
|
||||||
|
|
|
@ -93,6 +93,5 @@ public class ToxicImbue extends Buff {
|
||||||
{
|
{
|
||||||
immunities.add( ToxicGas.class );
|
immunities.add( ToxicGas.class );
|
||||||
immunities.add( Poison.class );
|
immunities.add( Poison.class );
|
||||||
immunities.add( Venom.class );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,12 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.MysteryMeat;
|
import com.shatteredpixel.shatteredpixeldungeon.items.food.MysteryMeat;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.RegularLevel;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.RegularLevel;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room;
|
||||||
|
|
|
@ -24,7 +24,7 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
|
@ -117,7 +117,7 @@ public class MirrorImage extends NPC {
|
||||||
|
|
||||||
{
|
{
|
||||||
immunities.add( ToxicGas.class );
|
immunities.add( ToxicGas.class );
|
||||||
immunities.add( VenomGas.class );
|
immunities.add( CorrosiveGas.class );
|
||||||
immunities.add( Burning.class );
|
immunities.add( Burning.class );
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -22,9 +22,9 @@
|
||||||
package com.shatteredpixel.shatteredpixeldungeon.effects;
|
package com.shatteredpixel.shatteredpixeldungeon.effects;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.CorrosionParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.LeafParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.LeafParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PoisonParticle;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.RainbowParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.RainbowParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.ShadowParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||||
|
@ -52,7 +52,7 @@ public class MagicMissile extends Emitter {
|
||||||
public static final int MAGIC_MISSILE = 0;
|
public static final int MAGIC_MISSILE = 0;
|
||||||
public static final int FROST = 1;
|
public static final int FROST = 1;
|
||||||
public static final int FIRE = 2;
|
public static final int FIRE = 2;
|
||||||
public static final int POISON = 3;
|
public static final int CORROSION = 3;
|
||||||
public static final int FOLIAGE = 4;
|
public static final int FOLIAGE = 4;
|
||||||
public static final int FORCE = 5;
|
public static final int FORCE = 5;
|
||||||
public static final int BEACON = 6;
|
public static final int BEACON = 6;
|
||||||
|
@ -111,9 +111,9 @@ public class MagicMissile extends Emitter {
|
||||||
size( 4 );
|
size( 4 );
|
||||||
pour( FlameParticle.FACTORY, 0.01f );
|
pour( FlameParticle.FACTORY, 0.01f );
|
||||||
break;
|
break;
|
||||||
case POISON:
|
case CORROSION:
|
||||||
size( 3 );
|
size( 3 );
|
||||||
pour( PoisonParticle.MISSILE, 0.01f );
|
pour( CorrosionParticle.MISSILE, 0.01f );
|
||||||
break;
|
break;
|
||||||
case FOLIAGE:
|
case FOLIAGE:
|
||||||
size( 4 );
|
size( 4 );
|
||||||
|
|
|
@ -57,7 +57,7 @@ public class Speck extends Image {
|
||||||
public static final int RATTLE = 105;
|
public static final int RATTLE = 105;
|
||||||
public static final int JET = 106;
|
public static final int JET = 106;
|
||||||
public static final int TOXIC = 107;
|
public static final int TOXIC = 107;
|
||||||
public static final int VENOM = 108;
|
public static final int CORROSION = 108;
|
||||||
public static final int PARALYSIS = 109;
|
public static final int PARALYSIS = 109;
|
||||||
public static final int DUST = 110;
|
public static final int DUST = 110;
|
||||||
public static final int STENCH = 111;
|
public static final int STENCH = 111;
|
||||||
|
@ -106,7 +106,7 @@ public class Speck extends Image {
|
||||||
break;
|
break;
|
||||||
case JET:
|
case JET:
|
||||||
case TOXIC:
|
case TOXIC:
|
||||||
case VENOM:
|
case CORROSION:
|
||||||
case PARALYSIS:
|
case PARALYSIS:
|
||||||
case STENCH:
|
case STENCH:
|
||||||
case CONFUSION:
|
case CONFUSION:
|
||||||
|
@ -279,8 +279,8 @@ public class Speck extends Image {
|
||||||
lifespan = Random.Float( 1f, 3f );
|
lifespan = Random.Float( 1f, 3f );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VENOM:
|
case CORROSION:
|
||||||
hardlight( 0x8844FF );
|
hardlight( 0xAAAAAA );
|
||||||
angularSpeed = 30;
|
angularSpeed = 30;
|
||||||
angle = Random.Float( 360 );
|
angle = Random.Float( 360 );
|
||||||
lifespan = Random.Float( 1f, 3f );
|
lifespan = Random.Float( 1f, 3f );
|
||||||
|
@ -421,8 +421,8 @@ public class Speck extends Image {
|
||||||
scale.set( 1 + p );
|
scale.set( 1 + p );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VENOM:
|
case CORROSION:
|
||||||
hardlight( ColorMath.interpolate( 0x8844FF, 0x00FF00 , p ));
|
hardlight( ColorMath.interpolate( 0xAAAAAA, 0xFF8800 , p ));
|
||||||
case STENCH:
|
case STENCH:
|
||||||
am = (float)Math.sqrt( (p < 0.5f ? p : 1 - p) );
|
am = (float)Math.sqrt( (p < 0.5f ? p : 1 - p) );
|
||||||
scale.set( 1 + p );
|
scale.set( 1 + p );
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2017 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.effects.particles;
|
||||||
|
|
||||||
|
import com.watabou.noosa.particles.Emitter;
|
||||||
|
import com.watabou.noosa.particles.PixelParticle;
|
||||||
|
import com.watabou.utils.ColorMath;
|
||||||
|
import com.watabou.utils.Random;
|
||||||
|
|
||||||
|
public class CorrosionParticle extends PixelParticle {
|
||||||
|
|
||||||
|
public static final Emitter.Factory MISSILE = new Emitter.Factory() {
|
||||||
|
@Override
|
||||||
|
public void emit( Emitter emitter, int index, float x, float y ) {
|
||||||
|
((CorrosionParticle)emitter.recycle( CorrosionParticle.class )).resetMissile( x, y );
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean lightMode() {
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Emitter.Factory SPLASH = new Emitter.Factory() {
|
||||||
|
@Override
|
||||||
|
public void emit( Emitter emitter, int index, float x, float y ) {
|
||||||
|
((CorrosionParticle)emitter.recycle( CorrosionParticle.class )).resetSplash( x, y );
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public boolean lightMode() {
|
||||||
|
return false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
public CorrosionParticle() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
lifespan = 0.6f;
|
||||||
|
|
||||||
|
acc.set( 0, +30 );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetMissile( float x, float y ) {
|
||||||
|
revive();
|
||||||
|
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
|
||||||
|
left = lifespan;
|
||||||
|
|
||||||
|
speed.polar( -Random.Float( 3.1415926f ), Random.Float( 6 ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetSplash( float x, float y ) {
|
||||||
|
revive();
|
||||||
|
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
|
||||||
|
left = lifespan;
|
||||||
|
|
||||||
|
speed.polar( Random.Float( 3.1415926f ), Random.Float( 10, 20 ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
super.update();
|
||||||
|
// alpha: 1 -> 0; size: 1 -> 4
|
||||||
|
size( 4 - (am = left / lifespan) * 3 );
|
||||||
|
// color: 0xAAAAAA -> 0xFF8800
|
||||||
|
color( ColorMath.interpolate( 0xFF8800, 0xAAAAAA, am ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -96,7 +96,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfVenom;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
||||||
|
@ -252,7 +252,7 @@ public class Generator {
|
||||||
WandOfLightning.class,
|
WandOfLightning.class,
|
||||||
WandOfDisintegration.class,
|
WandOfDisintegration.class,
|
||||||
WandOfFireblast.class,
|
WandOfFireblast.class,
|
||||||
WandOfVenom.class,
|
WandOfCorrosion.class,
|
||||||
WandOfBlastWave.class,
|
WandOfBlastWave.class,
|
||||||
//WandOfLivingEarth.class,
|
//WandOfLivingEarth.class,
|
||||||
WandOfFrost.class,
|
WandOfFrost.class,
|
||||||
|
|
|
@ -26,7 +26,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.LockedFloor;
|
||||||
|
@ -643,7 +643,7 @@ public class DriedRose extends Artifact {
|
||||||
|
|
||||||
{
|
{
|
||||||
immunities.add( ToxicGas.class );
|
immunities.add( ToxicGas.class );
|
||||||
immunities.add( VenomGas.class );
|
immunities.add( CorrosiveGas.class );
|
||||||
immunities.add( Burning.class );
|
immunities.add( Burning.class );
|
||||||
immunities.add( ScrollOfPsionicBlast.class );
|
immunities.add( ScrollOfPsionicBlast.class );
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,13 +31,12 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Venom;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Shaman;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Warlock;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Warlock;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Yog;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Yog;
|
||||||
import com.watabou.utils.Random;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
@ -57,7 +56,7 @@ public class RingOfElements extends Ring {
|
||||||
RESISTS.add( Ooze.class );
|
RESISTS.add( Ooze.class );
|
||||||
RESISTS.add( Paralysis.class );
|
RESISTS.add( Paralysis.class );
|
||||||
RESISTS.add( Poison.class );
|
RESISTS.add( Poison.class );
|
||||||
RESISTS.add( Venom.class );
|
RESISTS.add( Corrosion.class );
|
||||||
RESISTS.add( Weakness.class );
|
RESISTS.add( Weakness.class );
|
||||||
|
|
||||||
RESISTS.add( ToxicGas.class );
|
RESISTS.add( ToxicGas.class );
|
||||||
|
|
|
@ -26,8 +26,10 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
import com.shatteredpixel.shatteredpixeldungeon.effects.MagicMissile;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.CorrosionParticle;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Venomous;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Venomous;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
import com.shatteredpixel.shatteredpixeldungeon.mechanics.Ballistica;
|
||||||
|
@ -38,7 +40,7 @@ import com.watabou.utils.Callback;
|
||||||
import com.watabou.utils.ColorMath;
|
import com.watabou.utils.ColorMath;
|
||||||
import com.watabou.utils.PathFinder;
|
import com.watabou.utils.PathFinder;
|
||||||
|
|
||||||
public class WandOfVenom extends Wand {
|
public class WandOfCorrosion extends Wand {
|
||||||
|
|
||||||
{
|
{
|
||||||
image = ItemSpriteSheet.WAND_VENOM;
|
image = ItemSpriteSheet.WAND_VENOM;
|
||||||
|
@ -48,9 +50,10 @@ public class WandOfVenom extends Wand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onZap(Ballistica bolt) {
|
protected void onZap(Ballistica bolt) {
|
||||||
Blob venomGas = Blob.seed(bolt.collisionPos, 50 + 10 * level(), VenomGas.class);
|
Blob corrosiveGas = Blob.seed(bolt.collisionPos, 50 + 10 * level(), CorrosiveGas.class);
|
||||||
((VenomGas)venomGas).setStrength(level()+1);
|
CellEmitter.center(bolt.collisionPos).burst( CorrosionParticle.SPLASH, 10 );
|
||||||
GameScene.add(venomGas);
|
((CorrosiveGas)corrosiveGas).setStrength(level()+1);
|
||||||
|
GameScene.add(corrosiveGas);
|
||||||
|
|
||||||
for (int i : PathFinder.NEIGHBOURS9) {
|
for (int i : PathFinder.NEIGHBOURS9) {
|
||||||
Char ch = Actor.findChar(bolt.collisionPos + i);
|
Char ch = Actor.findChar(bolt.collisionPos + i);
|
||||||
|
@ -68,7 +71,7 @@ public class WandOfVenom extends Wand {
|
||||||
protected void fx(Ballistica bolt, Callback callback) {
|
protected void fx(Ballistica bolt, Callback callback) {
|
||||||
MagicMissile.boltFromChar(
|
MagicMissile.boltFromChar(
|
||||||
curUser.sprite.parent,
|
curUser.sprite.parent,
|
||||||
MagicMissile.POISON,
|
MagicMissile.CORROSION,
|
||||||
curUser.sprite,
|
curUser.sprite,
|
||||||
bolt.collisionPos,
|
bolt.collisionPos,
|
||||||
callback);
|
callback);
|
||||||
|
@ -77,17 +80,17 @@ public class WandOfVenom extends Wand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
public void onHit(MagesStaff staff, Char attacker, Char defender, int damage) {
|
||||||
//acts like venomous enchantment
|
//TODO
|
||||||
new Venomous().proc(staff, attacker, defender, damage);
|
new Venomous().proc(staff, attacker, defender, damage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void staffFx(MagesStaff.StaffParticle particle) {
|
public void staffFx(MagesStaff.StaffParticle particle) {
|
||||||
particle.color( ColorMath.random( 0x8844FF, 0x00FF00) );
|
particle.color( ColorMath.random( 0xAAAAAA, 0xFF8800) );
|
||||||
particle.am = 0.6f;
|
particle.am = 0.6f;
|
||||||
particle.setLifespan( 1f );
|
particle.setLifespan( 1f );
|
||||||
particle.acc.set(0, 20);
|
particle.acc.set(0, 20);
|
||||||
particle.setSize( 0.5f, 2f);
|
particle.setSize( 0.5f, 3f );
|
||||||
particle.shuffleXY( 1f );
|
particle.shuffleXY( 1f );
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Chill;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Doom;
|
||||||
|
@ -49,7 +50,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SoulMark;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SoulMark;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Venom;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vertigo;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bee;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bee;
|
||||||
|
@ -113,7 +113,7 @@ public class WandOfCorruption extends Wand {
|
||||||
MAJOR_DEBUFFS.put(Charm.class, 0f);
|
MAJOR_DEBUFFS.put(Charm.class, 0f);
|
||||||
MAJOR_DEBUFFS.put(MagicalSleep.class, 0f);
|
MAJOR_DEBUFFS.put(MagicalSleep.class, 0f);
|
||||||
MAJOR_DEBUFFS.put(SoulMark.class, 0f);
|
MAJOR_DEBUFFS.put(SoulMark.class, 0f);
|
||||||
MAJOR_DEBUFFS.put(Venom.class, 0f);
|
MAJOR_DEBUFFS.put(Corrosion.class, 0f);
|
||||||
MAJOR_DEBUFFS.put(Frost.class, 0f);
|
MAJOR_DEBUFFS.put(Frost.class, 0f);
|
||||||
MAJOR_DEBUFFS.put(Doom.class, 0f);
|
MAJOR_DEBUFFS.put(Doom.class, 0f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRecharging;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorruption;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfDisintegration;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||||
|
@ -378,6 +379,7 @@ public class MagesStaff extends MeleeWeapon {
|
||||||
public boolean lightMode() {
|
public boolean lightMode() {
|
||||||
return !((wand instanceof WandOfDisintegration)
|
return !((wand instanceof WandOfDisintegration)
|
||||||
|| (wand instanceof WandOfCorruption)
|
|| (wand instanceof WandOfCorruption)
|
||||||
|
|| (wand instanceof WandOfCorrosion)
|
||||||
|| (wand instanceof WandOfRegrowth));
|
|| (wand instanceof WandOfRegrowth));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -89,7 +89,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfPrismaticLight;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfRegrowth;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfTransfusion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfVenom;
|
import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfCorrosion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.AssassinsBlade;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.BattleAxe;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.Dagger;
|
||||||
|
@ -191,7 +191,7 @@ public enum Catalog {
|
||||||
WANDS.seen.put( WandOfLightning.class, false);
|
WANDS.seen.put( WandOfLightning.class, false);
|
||||||
WANDS.seen.put( WandOfDisintegration.class, false);
|
WANDS.seen.put( WandOfDisintegration.class, false);
|
||||||
WANDS.seen.put( WandOfFireblast.class, false);
|
WANDS.seen.put( WandOfFireblast.class, false);
|
||||||
WANDS.seen.put( WandOfVenom.class, false);
|
WANDS.seen.put( WandOfCorrosion.class, false);
|
||||||
WANDS.seen.put( WandOfBlastWave.class, false);
|
WANDS.seen.put( WandOfBlastWave.class, false);
|
||||||
//WANDS.seen.put( WandOfLivingEarth.class, false);
|
//WANDS.seen.put( WandOfLivingEarth.class, false);
|
||||||
WANDS.seen.put( WandOfFrost.class, false);
|
WANDS.seen.put( WandOfFrost.class, false);
|
||||||
|
@ -334,6 +334,12 @@ public enum Catalog {
|
||||||
if (bundle.contains(CATALOGS)) {
|
if (bundle.contains(CATALOGS)) {
|
||||||
List<String> seen = Arrays.asList(bundle.getStringArray(CATALOGS));
|
List<String> seen = Arrays.asList(bundle.getStringArray(CATALOGS));
|
||||||
|
|
||||||
|
//pre-0.6.3 saves
|
||||||
|
//TODO should adjust this to tie into the bundling system's class array
|
||||||
|
if (seen.contains("WandOfVenom")){
|
||||||
|
WANDS.seen.put(WandOfCorrosion.class, true);
|
||||||
|
}
|
||||||
|
|
||||||
for (Catalog cat : values()) {
|
for (Catalog cat : values()) {
|
||||||
for (Class<? extends Item> item : cat.items()) {
|
for (Class<? extends Item> item : cat.items()) {
|
||||||
if (seen.contains(item.getSimpleName())) {
|
if (seen.contains(item.getSimpleName())) {
|
||||||
|
|
|
@ -38,7 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.PoisonDartTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.VenomTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.CorrosionTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
import com.shatteredpixel.shatteredpixeldungeon.tiles.DungeonTilemap;
|
||||||
|
@ -96,7 +96,7 @@ public class CavesLevel extends RegularLevel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Class<?>[] trapClasses() {
|
protected Class<?>[] trapClasses() {
|
||||||
return new Class[]{ BurningTrap.class, PoisonDartTrap.class, FrostTrap.class, StormTrap.class, VenomTrap.class,
|
return new Class[]{ BurningTrap.class, PoisonDartTrap.class, FrostTrap.class, StormTrap.class, CorrosionTrap.class,
|
||||||
GrippingTrap.class, ExplosiveTrap.class, RockfallTrap.class, GuardianTrap.class,
|
GrippingTrap.class, ExplosiveTrap.class, RockfallTrap.class, GuardianTrap.class,
|
||||||
ConfusionTrap.class, SummoningTrap.class, WarpingTrap.class,
|
ConfusionTrap.class, SummoningTrap.class, WarpingTrap.class,
|
||||||
PitfallTrap.class };
|
PitfallTrap.class };
|
||||||
|
|
|
@ -38,7 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.PitfallTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.VenomTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.CorrosionTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
|
@ -88,7 +88,7 @@ public class CityLevel extends RegularLevel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Class<?>[] trapClasses() {
|
protected Class<?>[] trapClasses() {
|
||||||
return new Class[]{ FrostTrap.class, StormTrap.class, VenomTrap.class, BlazingTrap.class, DisintegrationTrap.class,
|
return new Class[]{ FrostTrap.class, StormTrap.class, CorrosionTrap.class, BlazingTrap.class, DisintegrationTrap.class,
|
||||||
ExplosiveTrap.class, RockfallTrap.class, FlashingTrap.class, GuardianTrap.class, WeakeningTrap.class,
|
ExplosiveTrap.class, RockfallTrap.class, FlashingTrap.class, GuardianTrap.class, WeakeningTrap.class,
|
||||||
SummoningTrap.class, WarpingTrap.class, CursingTrap.class,
|
SummoningTrap.class, WarpingTrap.class, CursingTrap.class,
|
||||||
PitfallTrap.class, DisarmingTrap.class };
|
PitfallTrap.class, DisarmingTrap.class };
|
||||||
|
|
|
@ -40,7 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.traps.PitfallTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.RockfallTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.StormTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.SummoningTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.VenomTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.CorrosionTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WarpingTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.WeakeningTrap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
|
@ -100,7 +100,7 @@ public class HallsLevel extends RegularLevel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Class<?>[] trapClasses() {
|
protected Class<?>[] trapClasses() {
|
||||||
return new Class[]{ FrostTrap.class, StormTrap.class, VenomTrap.class, BlazingTrap.class, DisintegrationTrap.class,
|
return new Class[]{ FrostTrap.class, StormTrap.class, CorrosionTrap.class, BlazingTrap.class, DisintegrationTrap.class,
|
||||||
ExplosiveTrap.class, RockfallTrap.class, FlashingTrap.class, GuardianTrap.class, WeakeningTrap.class,
|
ExplosiveTrap.class, RockfallTrap.class, FlashingTrap.class, GuardianTrap.class, WeakeningTrap.class,
|
||||||
SummoningTrap.class, WarpingTrap.class, CursingTrap.class, GrimTrap.class,
|
SummoningTrap.class, WarpingTrap.class, CursingTrap.class, GrimTrap.class,
|
||||||
PitfallTrap.class, DisarmingTrap.class, DistortionTrap.class };
|
PitfallTrap.class, DisarmingTrap.class, DistortionTrap.class };
|
||||||
|
|
|
@ -23,24 +23,24 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.traps;
|
||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.VenomGas;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
|
|
||||||
public class VenomTrap extends Trap {
|
public class CorrosionTrap extends Trap {
|
||||||
|
|
||||||
{
|
{
|
||||||
color = VIOLET;
|
color = GREY;
|
||||||
shape = GRILL;
|
shape = GRILL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void activate() {
|
public void activate() {
|
||||||
|
|
||||||
VenomGas venomGas = Blob.seed(pos, 80 + 5 * Dungeon.depth, VenomGas.class);
|
CorrosiveGas corrosiveGas = Blob.seed(pos, 80 + 5 * Dungeon.depth, CorrosiveGas.class);
|
||||||
|
|
||||||
venomGas.setStrength(1+Dungeon.depth/4);
|
corrosiveGas.setStrength(1+Dungeon.depth/4);
|
||||||
|
|
||||||
GameScene.add(venomGas);
|
GameScene.add(corrosiveGas);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -20,7 +20,7 @@ actors.blobs.toxicgas.desc=A greenish cloud of toxic gas is swirling here.
|
||||||
actors.blobs.toxicgas.rankings_desc=Suffocated
|
actors.blobs.toxicgas.rankings_desc=Suffocated
|
||||||
actors.blobs.toxicgas.ondeath=You died from the toxic gas...
|
actors.blobs.toxicgas.ondeath=You died from the toxic gas...
|
||||||
|
|
||||||
actors.blobs.venomgas.desc=A cloud of foul acidic venom is swirling here.
|
actors.blobs.corrosivegas.desc=A cloud of deadly caustic gas is swirling here.
|
||||||
|
|
||||||
actors.blobs.waterofawareness.procced=As you take a sip, you feel the knowledge pours into your mind. Now you know everything about your equipped items. Also you sense all items on the level and know all its secrets.
|
actors.blobs.waterofawareness.procced=As you take a sip, you feel the knowledge pours into your mind. Now you know everything about your equipped items. Also you sense all items on the level and know all its secrets.
|
||||||
actors.blobs.waterofawareness.desc=Power of knowledge radiates from the water of this well. Take a sip from it to reveal all secrets of equipped items.
|
actors.blobs.waterofawareness.desc=Power of knowledge radiates from the water of this well. Take a sip from it to reveal all secrets of equipped items.
|
||||||
|
@ -217,11 +217,11 @@ actors.buffs.terror.desc=Terror is manipulative magic which forces its target in
|
||||||
actors.buffs.toxicimbue.name=Imbued with Toxicity
|
actors.buffs.toxicimbue.name=Imbued with Toxicity
|
||||||
actors.buffs.toxicimbue.desc=You are imbued with poisonous energy!\n\nAs you move around toxic gas will constantly billow forth from you, damaging your enemies. You are immune to toxic gas and poison for the duration of the effect.\n\nTurns of toxic imbue remaining: %s.
|
actors.buffs.toxicimbue.desc=You are imbued with poisonous energy!\n\nAs you move around toxic gas will constantly billow forth from you, damaging your enemies. You are immune to toxic gas and poison for the duration of the effect.\n\nTurns of toxic imbue remaining: %s.
|
||||||
|
|
||||||
actors.buffs.venom.name=Venomed
|
actors.buffs.corrosion.name=Corrosion
|
||||||
actors.buffs.venom.heromsg=You are envenomed!
|
actors.buffs.corrosion.heromsg=You are melting!
|
||||||
actors.buffs.venom.ondeath=You died from venom...
|
actors.buffs.corrosion.ondeath=You melt away...
|
||||||
actors.buffs.venom.rankings_desc=Succumbed to Venom
|
actors.buffs.corrosion.rankings_desc=Dissolved
|
||||||
actors.buffs.venom.desc=Venom is an extremely caustic and dangerous poison.\n\nUnlike poison, whose damage lowers over time, venom does increasing damage the longer it stays on a target.\n\nTurns of venom remaining: %1$s.\nCurrent venom damage: %2$d.
|
actors.buffs.corrosion.desc=Acidic gas melts away flesh, metal, and bone. Things which ordinarily shouldn't melt.\n\nCorrosion damage increases over time, as the target continues to melt away.\n\nTurns of corrosion remaining: %1$s.\nCurrent corrosion damage: %2$d.
|
||||||
|
|
||||||
actors.buffs.vertigo.name=Vertigo
|
actors.buffs.vertigo.name=Vertigo
|
||||||
actors.buffs.vertigo.desc=Walking in a straight line can be difficult when the whole world is spinning.\n\nWhile under the effects of vertigo, characters who attempt to move will go in a random direction, instead of the one they intended to go in.\n\nTurns of vertigo remaining: %s.
|
actors.buffs.vertigo.desc=Walking in a straight line can be difficult when the whole world is spinning.\n\nWhile under the effects of vertigo, characters who attempt to move will go in a random direction, instead of the one they intended to go in.\n\nTurns of vertigo remaining: %s.
|
||||||
|
|
|
@ -740,10 +740,10 @@ items.wands.wandoftransfusion.charged=Your staff is charged with the life energy
|
||||||
items.wands.wandoftransfusion.desc=A fairly plainly shaped wand, it stands out due to its magenta hue and pitch black gem at the tip.
|
items.wands.wandoftransfusion.desc=A fairly plainly shaped wand, it stands out due to its magenta hue and pitch black gem at the tip.
|
||||||
items.wands.wandoftransfusion.stats_desc=This wand will take some of your life energy and blast it at a target. This effect is very versatile: allies will be healed, enemies will be temporarily charmed, and hostile undead will take considerable damage. The life drain is significant though, using this wand will deal damage to you in addition to consuming charges.
|
items.wands.wandoftransfusion.stats_desc=This wand will take some of your life energy and blast it at a target. This effect is very versatile: allies will be healed, enemies will be temporarily charmed, and hostile undead will take considerable damage. The life drain is significant though, using this wand will deal damage to you in addition to consuming charges.
|
||||||
|
|
||||||
items.wands.wandofvenom.name=wand of venom
|
items.wands.wandofcorrosion.name=wand of corrosion
|
||||||
items.wands.wandofvenom.staff_name=staff of venom
|
items.wands.wandofcorrosion.staff_name=staff of corrosion
|
||||||
items.wands.wandofvenom.desc=This wand has a purple body which opens to a brilliant green gem.
|
items.wands.wandofcorrosion.desc=This wand has a ashen body which opens to a brilliant orange gem.
|
||||||
items.wands.wandofvenom.stats_desc=This wand shoots a bolt which explodes into a cloud of vile venomous gas at a targeted location. Anything caught inside this cloud will take continual damage, increasing with time.
|
items.wands.wandofcorrosion.stats_desc=This wand shoots a bolt which explodes into a cloud of highly corrosive gas at a targeted location. Anything caught inside this cloud will take continual damage, increasing with time.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -114,8 +114,8 @@ levels.traps.toxictrap.desc=Triggering this trap will set a cloud of toxic gas l
|
||||||
|
|
||||||
levels.traps.trap.rankings_desc=Killed by: %s
|
levels.traps.trap.rankings_desc=Killed by: %s
|
||||||
|
|
||||||
levels.traps.venomtrap.name=venom gas trap
|
levels.traps.corrosiontrap.name=corrosive gas trap
|
||||||
levels.traps.venomtrap.desc=Triggering this trap will set a cloud of deadly venom gas loose within the immediate area.
|
levels.traps.corrosiontrap.desc=Triggering this trap will set a cloud of deadly acidic gas loose within the immediate area.
|
||||||
|
|
||||||
levels.traps.warpingtrap.name=warping trap
|
levels.traps.warpingtrap.name=warping trap
|
||||||
levels.traps.warpingtrap.desc=Whatever triggers this trap will be warped to some other location on this floor.
|
levels.traps.warpingtrap.desc=Whatever triggers this trap will be warped to some other location on this floor.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user