From e5701c4447364224c56a298a30c3488cd60d2c7c Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sat, 22 Sep 2018 17:39:00 -0400 Subject: [PATCH] v0.7.0: stone of avoidance is now stone of affection also adjusted charm logic. Charmed enemies will now try to find a new target Also removed some earlier beta conversion code also improved some brew and elixir sprites --- core/src/main/assets/items.png | Bin 18202 -> 18576 bytes .../shatteredpixeldungeon/actors/Char.java | 4 -- .../actors/buffs/Barrier.java | 10 ---- .../actors/mobs/Mob.java | 13 +++-- .../items/Generator.java | 4 +- .../items/scrolls/Scroll.java | 4 +- ...OfAvoidance.java => StoneOfAffection.java} | 46 +++--------------- .../sprites/ItemSpriteSheet.java | 2 +- .../messages/items/items.properties | 5 +- 9 files changed, 19 insertions(+), 69 deletions(-) rename core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/{StoneOfAvoidance.java => StoneOfAffection.java} (59%) diff --git a/core/src/main/assets/items.png b/core/src/main/assets/items.png index 4e002f7620cb341d3986a2e97055409a8320c0dc..44cc1786ec4e3d2e3c12f893371c84db881a6fec 100644 GIT binary patch literal 18576 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 I>zopr0L~_0g8%>k literal 18202 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 diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index 5807246f4..5aa29440b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -27,7 +27,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline; -import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bless; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; @@ -166,9 +165,6 @@ public abstract class Char extends Actor { //attempt to find the buff that may have given the shield ShieldBuff buff = buff(Brimstone.BrimstoneShield.class); if (buff != null) legacySHLD -= buff.shielding(); - //pre beta-2.0, remove for full release - buff = buff(Barrier.class); - if (buff != null) legacySHLD -= buff.shielding(); if (legacySHLD > 0){ BrokenSeal.WarriorShield buff2 = buff(BrokenSeal.WarriorShield.class); if (buff != null) buff2.supercharge(legacySHLD); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Barrier.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Barrier.java index c3e9414f2..6e48aaedb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Barrier.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Barrier.java @@ -25,7 +25,6 @@ import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.watabou.noosa.Image; -import com.watabou.utils.Bundle; public class Barrier extends ShieldBuff { @@ -59,15 +58,6 @@ public class Barrier extends ShieldBuff { else target.sprite.remove(CharSprite.State.SHIELDED); } - @Override - public void restoreFromBundle( Bundle bundle ) { - super.restoreFromBundle( bundle ); - if (bundle.contains("level")) { - //TODO pre beta-2.0, remove in full release - shielding = bundle.getInt("level"); - } - } - @Override public int icon() { return BuffIndicator.ARMOR; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java index 5d3261b3d..f822716f3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java @@ -31,6 +31,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Adrenaline; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation; @@ -50,7 +51,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.rings.Ring; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfAccuracy; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfWealth; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAggression; -import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAvoidance; import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; @@ -213,9 +213,8 @@ public abstract class Mob extends Char { //We are amoked and current enemy is the hero else if (buff( Amok.class ) != null && enemy == Dungeon.hero) newEnemy = true; - //We have avoidance and current enemy is what should be avoided - else if (buff(StoneOfAvoidance.Avoidance.class) != null - && buff(StoneOfAvoidance.Avoidance.class).object == enemy.id()) + //We are charmed and current enemy is what charmed us + else if (buff(Charm.class) != null && buff(Charm.class).object == enemy.id()) newEnemy = true; if ( newEnemy ) { @@ -266,9 +265,9 @@ public abstract class Mob extends Char { } - StoneOfAvoidance.Avoidance avoid = buff( StoneOfAvoidance.Avoidance.class ); - if (avoid != null){ - Char source = (Char)Actor.findById( avoid.object ); + Charm charm = buff( Charm.class ); + if (charm != null){ + Char source = (Char)Actor.findById( charm.object ); if (source != null && enemies.contains(source) && enemies.size() > 1){ enemies.remove(source); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java index 20d47f069..89bea45b2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Generator.java @@ -86,9 +86,9 @@ import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTerror; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade; import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone; +import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAffection; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAggression; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation; -import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAvoidance; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlast; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlink; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfClairvoyance; @@ -282,7 +282,7 @@ public class Generator { StoneOfAugmentation.class, //1 is sold in each shop StoneOfIntuition.class, //1 additional stone is also dropped on floors 1-3 StoneOfAggression.class, - StoneOfAvoidance.class, + StoneOfAffection.class, StoneOfBlast.class, StoneOfBlink.class, StoneOfClairvoyance.class, diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java index a38096519..e7e84ca2c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java @@ -32,9 +32,9 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Recipe; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.UnstableSpellbook; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ScrollOfAntiMagic; import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone; +import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAffection; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAggression; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation; -import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAvoidance; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlast; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlink; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfClairvoyance; @@ -278,7 +278,7 @@ public abstract class Scroll extends Item { stones.put(ScrollOfTeleportation.class, StoneOfBlink.class); amnts.put(ScrollOfTeleportation.class, 2); - stones.put(ScrollOfTerror.class, StoneOfAvoidance.class); + stones.put(ScrollOfTerror.class, StoneOfAffection.class); amnts.put(ScrollOfTerror.class, 3); stones.put(ScrollOfTransmutation.class, StoneOfAugmentation.class); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAffection.java similarity index 59% rename from core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java rename to core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAffection.java index 473cbbeac..f2d5c992c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAffection.java @@ -25,68 +25,34 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; -import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; -import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.watabou.noosa.audio.Sample; -import com.watabou.utils.Bundle; import com.watabou.utils.PathFinder; -public class StoneOfAvoidance extends Runestone { +public class StoneOfAffection extends Runestone { { - image = ItemSpriteSheet.STONE_AVOIDANCE; + image = ItemSpriteSheet.STONE_AFFECTION; } @Override protected void activate(int cell) { - CellEmitter.center(cell).start( Speck.factory( Speck.CALM ), 0.3f, 3 ); - Sample.INSTANCE.play( Assets.SND_READ ); + CellEmitter.center(cell).start( Speck.factory( Speck.HEART ), 0.2f, 5 ); + Sample.INSTANCE.play( Assets.SND_CHARMS ); for (int i : PathFinder.NEIGHBOURS9){ Char ch = Actor.findChar( cell + i ); if (ch != null && ch.alignment == Char.Alignment.ENEMY){ - Buff.prolong(ch, Avoidance.class, Avoidance.DURATION).object = curUser.id(); + Buff.prolong(ch, Charm.class, 10f).object = curUser.id(); } } } - public static class Avoidance extends FlavourBuff { - - public static final float DURATION = 10f; - - public int object = 0; - - private static final String OBJECT = "object"; - - { - type = buffType.NEGATIVE; - announced = true; - } - - @Override - public void storeInBundle( Bundle bundle ) { - super.storeInBundle(bundle); - bundle.put(OBJECT, object); - } - - @Override - public void restoreFromBundle( Bundle bundle ) { - super.restoreFromBundle( bundle ); - object = bundle.getInt( OBJECT ); - } - - @Override - public String toString() { - return Messages.get(this, "name"); - } - - } - } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java index 319067500..548334d84 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -450,7 +450,7 @@ public class ItemSpriteSheet { private static final int STONES = xy(1, 21); //16 slots public static final int STONE_AGGRESSION = STONES+0; public static final int STONE_AUGMENTATION = STONES+1; - public static final int STONE_AVOIDANCE = STONES+2; + public static final int STONE_AFFECTION = STONES+2; public static final int STONE_BLAST = STONES+3; public static final int STONE_BLINK = STONES+4; public static final int STONE_CLAIRVOYANCE = STONES+5; diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index c1a6f20b4..cdc9b675b 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -980,9 +980,8 @@ items.stones.stoneofaugmentation$wndaugment.defense=Defense items.stones.stoneofaugmentation$wndaugment.none=Remove Augmentation items.stones.stoneofaugmentation$wndaugment.cancel=Never mind -items.stones.stoneofavoidance.name=stone of avoidance -items.stones.stoneofavoidance.desc=When this stone is thrown near an enemy, it will afflict them with avoidance magic.\n\nAn enemy under the influence of avoidance will be forced to attack any of your allies instead of you, if any allies are nearby. -items.stones.stoneofavoidance$avoidance.name=Avoidance +items.stones.stoneofaffection.name=stone of affection +items.stones.stoneofaffection.desc=When this stone is thrown on an enemy, they will be temporarily charmed, and will attempt to target your allies instead of you. items.stones.stoneofblast.name=stone of blast items.stones.stoneofblast.desc=This runestone will instantly explode at the location it is thrown to. Just like a bomb, the explosion will deal damage to anything nearby.