From e8832722423c1657c1bb0127074afad70b91b140 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 15 Apr 2016 11:13:52 -0400 Subject: [PATCH] v0.3.5: polish on the warrior's seal --- assets/items.png | Bin 13892 -> 14019 bytes .../actors/hero/HeroClass.java | 2 +- .../shatteredpixeldungeon/effects/Speck.java | 15 +++++--- .../items/BrokenSeal.java | 2 +- .../items/armor/Armor.java | 33 ++++++++++-------- .../messages/items/items.properties | 3 +- 6 files changed, 33 insertions(+), 22 deletions(-) diff --git a/assets/items.png b/assets/items.png index a24f95aeb2302042521ea8d586583c1776dd0004..c97dd983fe81a33c39a0712a4d21350d8cec708b 100644 GIT binary patch literal 14019 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 diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java index e5fa6d7f3..dc2d4dffa 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java @@ -109,7 +109,7 @@ public enum HeroClass { Dart darts = new Dart( 8 ); darts.identify().collect(); - new BrokenSeal().collect(); + hero.belongings.armor.affixSeal(new BrokenSeal()); Dungeon.quickslot.setSlot(0, darts); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java b/src/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java index d4b24526c..8c557395d 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java @@ -21,14 +21,12 @@ package com.shatteredpixel.shatteredpixeldungeon.effects; import android.annotation.SuppressLint; -import android.util.FloatMath; import android.util.SparseArray; - +import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.watabou.noosa.Game; import com.watabou.noosa.Image; import com.watabou.noosa.TextureFilm; import com.watabou.noosa.particles.Emitter; -import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.watabou.utils.ColorMath; import com.watabou.utils.PointF; import com.watabou.utils.Random; @@ -439,10 +437,18 @@ public class Speck extends Image { } public static Emitter.Factory factory( final int type ) { - return factory( type, false ); + return factory( type, false, 0 ); } public static Emitter.Factory factory( final int type, final boolean lightMode ) { + return factory( type, lightMode, 0 ); + } + + public static Emitter.Factory factory( final int type, final int tint ) { + return factory( type, false, tint ); + } + + public static Emitter.Factory factory( final int type, final boolean lightMode, final int tint ) { Emitter.Factory factory = factories.get( type ); @@ -452,6 +458,7 @@ public class Speck extends Image { public void emit ( Emitter emitter, int index, float x, float y ) { Speck p = (Speck)emitter.recycle( Speck.class ); p.reset( index, x, y, type ); + if (tint != 0 ) p.tint( tint ); } @Override public boolean lightMode() { diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java index ceec16cba..50736bda7 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java @@ -61,7 +61,7 @@ public class BrokenSeal extends Item { GLog.p(Messages.get(BrokenSeal.class, "affix")); Dungeon.hero.sprite.operate(Dungeon.hero.pos); Sample.INSTANCE.play(Assets.SND_UNLOCK); - armor.affixSigil((BrokenSeal)curItem); + armor.affixSeal((BrokenSeal)curItem); curItem.detach(Dungeon.hero.belongings.backpack); } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index 758970b78..a49b569fc 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -64,7 +64,7 @@ public class Armor extends EquipableItem { private int hitsToKnow = HITS_TO_KNOW; public Glyph glyph; - private boolean sigil; + private boolean seal; public Armor( int tier ) { @@ -75,14 +75,14 @@ public class Armor extends EquipableItem { private static final String UNFAMILIRIARITY = "unfamiliarity"; private static final String GLYPH = "glyph"; - private static final String SIGIL = "sigil"; + private static final String SEAL = "seal"; @Override public void storeInBundle( Bundle bundle ) { super.storeInBundle( bundle ); bundle.put( UNFAMILIRIARITY, hitsToKnow ); bundle.put( GLYPH, glyph ); - bundle.put( SIGIL, sigil ); + bundle.put( SEAL, seal); } @Override @@ -92,28 +92,28 @@ public class Armor extends EquipableItem { hitsToKnow = HITS_TO_KNOW; } inscribe((Glyph) bundle.get(GLYPH)); - sigil = bundle.getBoolean(SIGIL); - if (sigil) unique = true; + seal = bundle.getBoolean(SEAL); + if (seal) unique = true; } @Override public void reset() { super.reset(); - //armor can be kept in bones between runs, the sigil cannot. - sigil = false; + //armor can be kept in bones between runs, the seal cannot. + seal = false; } @Override public ArrayList actions(Hero hero) { ArrayList actions = super.actions(hero); - if (sigil) actions.add(AC_DETACH); + if (seal) actions.add(AC_DETACH); return actions; } @Override public void execute(Hero hero, String action) { - if (action.equals(AC_DETACH) && sigil){ - sigil = false; + if (action.equals(AC_DETACH) && seal){ + seal = false; BrokenSeal.WarriorShield sigilBuff = hero.buff(BrokenSeal.WarriorShield.class); if (sigilBuff != null) sigilBuff.setArmor(null); @@ -163,11 +163,11 @@ public class Armor extends EquipableItem { @Override public void activate(Char ch) { - if (sigil) Buff.affect(ch, BrokenSeal.WarriorShield.class).setArmor(this); + if (seal) Buff.affect(ch, BrokenSeal.WarriorShield.class).setArmor(this); } - public void affixSigil(BrokenSeal sigil){ - this.sigil = true; + public void affixSeal(BrokenSeal sigil){ + this.seal = true; if (sigil.level() > 0){ //doesn't override existing glyphs, but doesn't create one either upgrade(glyph != null); @@ -293,6 +293,8 @@ public class Armor extends EquipableItem { info += "\n\n" + Messages.get(Armor.class, "cursed_worn"); } else if (cursedKnown && cursed) { info += "\n\n" + Messages.get(Armor.class, "cursed"); + } else if (seal) { + info += "\n\n" + Messages.get(Armor.class, "seal_attached"); } return info; @@ -300,11 +302,11 @@ public class Armor extends EquipableItem { @Override public Emitter emitter() { - if (!sigil) return super.emitter(); + if (!seal) return super.emitter(); Emitter emitter = new Emitter(); emitter.pos(10f, 6f); emitter.fillTarget = false; - emitter.pour(Speck.factory( Speck.LIGHT ), 1f); + emitter.pour(Speck.factory( Speck.LIGHT, 0xFFCC0000 ), 0.6f); return emitter; } @@ -343,6 +345,7 @@ public class Armor extends EquipableItem { @Override public int price() { + if (seal) return 0; int price = 10 * (1 << (tier - 1)); if (glyph != null) { price *= 1.5; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/src/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index bc222f441..9df2a5d50 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/src/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -41,6 +41,7 @@ items.armor.armor.probably_too_heavy=Probably this armor is too heavy for you. items.armor.armor.inscribed=It is inscribed with a %s. items.armor.armor.cursed_worn=Because this armor is cursed, you are powerless to remove it. items.armor.armor.cursed=You can feel a malevolent magic lurking within this armor. +items.armor.armor.seal_attached=The Warrior's broken seal is attached to this armor. items.armor.armor$glyph.glyph=glyph items.armor.armor$glyph.killed=%s killed you... @@ -809,7 +810,7 @@ items.brokenseal.prompt=Select an armor items.brokenseal.unknown_armor=You must identify that armor first. items.brokenseal.degraded_armor=That armor is in too poor a condition. items.brokenseal.affix=You affix the sigil to your armor! -items.brokenseal.desc=A broken seal from the warrior's past.\n\nMORE STUFF NEEDED HERE. +items.brokenseal.desc=A wax seal, meant to be affixed to armor. The writing on its paper has long since faded, and it is broken down the middle. Through a bit of magic, the seal can be moved between armors, carrying over a single upgrade.\n\nA memento from his home, the seal helps the warrior persevere. While wearing the seal the warrior will slowly generate shielding ontop of his health based on the quality of his armor. items.dewdrop.name=dewdrop items.dewdrop.value=%+dHP