v0.6.3: reworked the wand of venom thematically, now wand of corrosion

This commit is contained in:
Evan Debenham 2018-02-01 02:27:15 -05:00 committed by Evan Debenham
parent fbb24e244a
commit bf280cc426
29 changed files with 192 additions and 83 deletions

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

View File

@ -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,

View File

@ -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>()),

View File

@ -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

View File

@ -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;

View File

@ -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;
@ -66,6 +67,11 @@ public class Venom extends Buff implements Hero.Doom {
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() {
return Messages.get(this, "name"); return Messages.get(this, "name");
@ -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"));
} }

View File

@ -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");

View File

@ -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 );
} }
} }

View File

@ -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;

View File

@ -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 );
} }
} }

View File

@ -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 );

View File

@ -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 );

View File

@ -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 ) );
}
}

View File

@ -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,

View File

@ -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 );
} }

View File

@ -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 );

View File

@ -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 );
} }

View File

@ -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);
} }

View File

@ -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));
} }
}; };

View File

@ -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())) {

View File

@ -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 };

View File

@ -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 };

View File

@ -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 };

View File

@ -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);
} }
} }

View File

@ -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.

View File

@ -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.

View File

@ -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.