From 4984061659ddf44fcc9504aa50e284428a33e0de Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 7 Jun 2018 01:16:07 -0400 Subject: [PATCH] v0.7.0: lots of visual implementation --- core/src/main/assets/items.png | Bin 15737 -> 15692 bytes core/src/main/assets/terrain_features.png | Bin 13527 -> 13603 bytes .../actors/buffs/Adrenaline.java | 3 +- .../actors/buffs/Haste.java | 6 +- .../shatteredpixeldungeon/effects/Speck.java | 7 ++ .../items/scrolls/ScrollOfTeleportation.java | 2 +- .../items/scrolls/ScrollOfTransmutation.java | 1 - .../items/stones/StoneOfAggression.java | 12 ++- .../items/stones/StoneOfAvoidance.java | 12 ++- .../items/stones/StoneOfBlast.java | 3 +- .../items/stones/StoneOfBlink.java | 3 +- .../items/stones/StoneOfClairvoyance.java | 14 +++- .../items/stones/StoneOfDeepenedSleep.java | 5 +- .../items/stones/StoneOfDetectCurse.java | 6 +- .../items/stones/StoneOfFlock.java | 3 +- .../items/stones/StoneOfIntuition.java | 76 +++++++++--------- .../items/stones/StoneOfShock.java | 3 +- .../items/wands/WandOfRegrowth.java | 4 +- .../weapon/missiles/darts/AdrenalineDart.java | 3 +- .../plants/BlandfruitBush.java | 5 +- .../plants/Blindweed.java | 2 +- .../plants/Dreamfoil.java | 2 +- .../plants/Earthroot.java | 2 +- .../plants/Fadeleaf.java | 2 +- .../plants/Firebloom.java | 2 +- .../shatteredpixeldungeon/plants/Icecap.java | 2 +- .../plants/Rotberry.java | 2 +- .../plants/Sorrowmoss.java | 2 +- .../plants/Starflower.java | 2 +- .../plants/Stormvine.java | 2 +- .../plants/Sungrass.java | 2 +- .../plants/Swiftthistle.java | 11 +-- .../sprites/ItemSpriteSheet.java | 43 +++++----- 33 files changed, 128 insertions(+), 116 deletions(-) diff --git a/core/src/main/assets/items.png b/core/src/main/assets/items.png index 9e7f2d1b1b82e1716d99989ec76d489b50040155..de508f4cf30202da0a04de18c307c30adf548637 100644 GIT binary patch literal 15692 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

o+@oP zIPfiHUjNez!8ON$<63OJn5Lhh@b!vZ%N8rWhkiuGO`6}M7Vf1k_Q^uM!kT=m4xBlN@M{P|j8 z`R6C5gOHt$LQyjZb0udC35}f+%q`D2PKAr|9iLJ{$Z4+!5bgb)4S`t9)g%7FOzY+D zKH6<*VhSW$rta;tXCLD{b^CRLa~7Zb!YTCaiHho!wa32V%}qr{K__2SaS`pD)#D~+ zY+JElRqev&*#jo*kpZIvcrsK5c!@$1qoyTE8CQcBI@4E*m{1>Esrt!zMf0@}AaOw0Doy(vz#clRTs!$gflQc|I72ws%&0iJ2qMYz&8W@p1*&XQW%C4%a>c={m*ga5}IHzr+q^cTt zC`-n;2dcRpG@>qRTc6ex35LXNXTv8>j}~hwY*sUf!#-rKz~7RXjkgS-q=ow&s4SY1 zfD(s(llMhehv5j{?yS>q&jtcaH=&<9s$}<8N?7a3#r{>-IMJDIG;vUBBe)Ink6I58 zU^L+y>gQpv{`bcC74h!8?wkFEdNS)n>c_;-t+Gs@x69w5JzM-^Rb~sRW3RkhWltfT zbTTXVRyJeG9b+9185FvobzWGv!Cfw8kSMd?I}TKydBm(Fqe;(%rJbV%AJ3Q7ytySH z!e@L|+c3ii@%-}Mw9QD6&G1qMs3hrJidT#d2;?<}!{UUI|=?5H>V!a|D+csS{pSG95 zawgE`$zDmf7_(2Xk80BgHOccX8z5DhFZz@Z2zox;N0m^_QXWW$U=-qd*6GA;`-h+*S{ zn_IX_SSd?v$`|j;oB%##P{4`rQ|4R1)N5A7zU@}g5+T7`wo?~d`M**r3;7?%kR4W+ zGIqa67T@M`rYO-n8Kf==JHWzTI|_!U z9x3WPWB%SN*QvTfqaL+DAD@C#*ctf1;YQms7g3MxHod# z5%a7*oS{&gjHRO`c)6PVx2T^bFGcBP(^ZgSh@6a)OWR*U;zvf>ipCtw}bpaUR0-UBXEzwgrq8V9Iwog zRlh2iI~AO>t%9WSD(Z8AfxcAoU({vrDClgqf~3wt#SbvS@CByUbErhUMd4=Bt*6Z4 zZmrhc=ZeqDU*|4T^b3b0-GU_aQ!l6n|B>tL=UPeI4e7J_cQRHU`gRY-(8J}jkup@f zS=LaNb`3=e%A)JIhKlx|v3X2w)|O7CnsTBfnQ?ue&p>mO_mB%~wu^t{t*Nls&|v}$#c^$XuVDN8k9nQ>4c*URVQiKnT4RD871Q9pFSm~z$2p79v z7U)%?WNcAqOt-itcpBy1Tu%@ne4r18&xCbUajdV}?(w8Z#{Lh`(GuQh23-Oo?>`Mu zrYGz_rcazkT`wD80_byjft;9^5U2_OPl{@4u8)VV_9CwI=1jjcv(%XuD4x-PMV~sL zJy8GQ_dmTDbailO(m5jq7XlCtCIB6bj{W9EysYt(%uPU<2NE!mGX}1&gX@I71oJ+_r4D;m(TM&q31W~ z&kb?%r{`k8g8$he`kezKo&EAxhF;t6y~H#W$}u9~=mI^;7i%kh*tb@F*e|3$?2r;c z8aEbWS$s)`*18x ziwDa^O0!&zO!-Rl*J7{?9~#nH+XgPgF|se6g>qgIq+Z#Q$h}KI1_BQA+L#L~jq2vT z6j>f|9`e9-SNB8s`=&gn`%Jf{%PXupV|m0qM%@ zCt%?{onP0W!AG--*2Bm`7MFlr$yEV(__J@jAkh)saJ-9IJiZ zE9c-YDex}jSwhm*`91w0FyC`uJREqkZu9PVK@fy7BYI)m*JWs1aj3 zDXyPWIAEd0J60pGS9Oxx14eWzvQq=bpmT^8%boLe5t9jc2~J>zjeGo z*UNk7TU)b#!(`@(gHYFKJ63yJ>>?FI?8m|fVC3oM7wRPEs<&&}g&!ooGk(4VPHd?z zY}-+*avMw}e%<-e4kIY~JpUeCN(#f3tS-iMN^9%<;*BI`g;R(aTJ>h=q2YUgGAJxl zkeRz&47wzOv|8Nf%Unia8g)qI zTv=jb!dA(a=ec}+WZ_4Qr@5U^%}0SLkB*a!P*JTMI4(4n~f)gSn!P7`dFdCpo z5p|UWUu%;@ya4=#*l{p~JiWbRaue1_y9Ikliy#$w-_VVv4dq|>wag&UG4FAqBM@EV z%q6}?^#?OR!tAu)q#&%X1<@H98g?=|uB&S6*XzvD@`q`=y!_PNz4DzQAU^YA{1R=- z%W^tEcnt4--%ihKy7vE^(xFzNh)~A#~V=^H@zr zk%FO{!qLB?J&_4s<9C3yHPfiUv1`v*F)dwPRXLA>?9chvOw~6Cr`!vkp1+W9_envD zkrp*KP#kiqBL-pG3+Ug9R=-`{N&kzB)JfmhhM|2W%X@Tl(MwV4P7lj1F@a-8UIw}} zwcOp4vevSY!j~eIzu5vdt_;z4@ZM(H^XPB(iesS%u&uB&&A8YNdVm$Y#3Scy6siVP z@Y7^KvLudbh1GtPa`K5q=hj_-f0jP1DI9b4xEA<_ucptzOyG77uzy$%FFHSN|C-w_ zU|gBq>(IV_YO%RIm{d3IWyc zNkl$6*3_>68cVq}qeMZ%zbqpT5@wR7akBA5wc3LxClQFvys+M)$sBBE< zsuIA132^n_Cr_j+pix6&P3szE9ft{9)RW$7PLa&kW2U`NuyEp?UPA{fOj9S{{<`~2 zRrju>3W^8UIO%xyy2Z8i_`Yglm*>wg@hWYDo@+NQ2mlsKL?~E=J3O&^?`-EeAGD^V zh4iMO9C4A_IeLGX-}8>P4+$d2B0>#%gIoZT>s*`QcY+cNN4knhVXgqsRnssa?Q|2& zba6Oai{8HQz69C4SxgZ1tL#||dn>4nvEtVoPkpNW(l^V2Aw?E0wP@y0fO*fPk)Y`E zL1eZs&+*lZ3zeaamI-(pPb<5Z$(27<0k=Y}eIC;d)nb{4&t(GD0QN-T1zNRAaFFC6 z{p)L%ezixcX^Po=k!EyE>K{_&0++ziwL)QY5qnlShgPf*`kT|Ah_D=n*n7YLW?SGL z03#Pb#E@feevTlY1-R|N#L}A4Dt~I{Q*r4-_i-`p?4t`Of(oRd45&2^Uscthr+}}d zagDBpc+fo;ixihyVAWPd!34RmdpUTs+>uWd701zZaYhmyl8LckLp$RmZGirdVGYN+ zD(RGbbDE9v@?k4;0q$p+vt$S~|8xxSelo?2A>XUK02;9%oJsEreQJveAR(I2QWT6R zk@YU%*9hbt^Y@rn`&X`bg+XtPAY=C~y3;-Q!Ok3N571t5Lu!}IbDw=lb*0ET#kVT) z@8es?h^RdO`~%fg55S$1OpHIf-Ab9Q%i(ShKw{iFhoxXZB&)(|hKpC3_kNV-Rstgz z?r8OlSzW%;lVv^Qb=&(td55WTYzxH_3&@}rS`})YoKZFkqy=NNW6}h}esL-@H^Nt| zkXnL(`P}`5qQ-xfo`qs5#*AX62g;kChdg)1SR0C|SI5{@KoaX$BdRg}c{r=z0I{F0 zAO#=*dBg}Xyw;Kf>K_37U_x<=i}=e3lX7xAFajte%}uw{3~%a&7^H${hdu2kL8%-NfW@8@qnzZd!~>Ai7tUv9;@1JO zt@=|t>A(jWLV!PNpw=y9Uvp7iGnI33)E;TF$-9U>qoTiM1?m|`RRZ0$#0<{!_OSlT zbFZ8BA+b<4e8l0cl6fg3?VN^!sGRc>-3Ppd{81ZK7Q|CAz}xH;4OCDsxoJZ8DGwKk zAoqu0-mGg!)4y{7)P7C&(;%gF8*AG7Hto97-rv=~l`ju!ToLx&wgANz@)I8O-32g8 zR3Sg8SD{`#6X&Ve95A!$VMpN%{J;DGSbk3uMMhofler4m9oyw>`vi2?e(r|s>CENe zD0JDzoT@u&@~F^}4jM-3Kb;Bm7lw8NMG6G`%cjTd6lP=c^4n#-|+hl)mRu66v|`^DO+l@c>ypLg8rnI@Ji9_!hrx8gBO}I(Q@+4H>bau z1#tb!-i1d#{ea}Us(kh`_7|4QQ%?mk>N!^rSj47Pu+D7&vE zn5{b=yC@OGd;G5Z>4nSq$sLjfJH+hs*O$kHwttvyJqBIAXffGShFFQX2XtjS$LdU< zC+mpO1qabaLY)OUfGl(XLns?ppehyA8e*4Xb?-1EDL4vw7R3N`kOGY~$3*;Y8KY8G zQ3N|6K9B~_yImynrxg+Fw3l#W599$e2AjmhomUGFOzqZH2ePGD?=Nuw_Yah*p}9fX IEywWx52kqHod5s; literal 13527 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 I)ivV(05*x|x&QzG diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Adrenaline.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Adrenaline.java index 2ea1ee788..09a9a7d8a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Adrenaline.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Adrenaline.java @@ -31,8 +31,7 @@ public class Adrenaline extends FlavourBuff { @Override public int icon() { - //TODO - return BuffIndicator.IMMUNITY; + return BuffIndicator.AMOK; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Haste.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Haste.java index 169bfcb11..f460d9815 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Haste.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Haste.java @@ -31,13 +31,13 @@ public class Haste extends FlavourBuff { @Override public int icon() { - //TODO - return BuffIndicator.IMMUNITY; + return BuffIndicator.MOMENTUM; } @Override public void tintIcon(Image icon) { - greyIcon(icon, 5f, cooldown()); + icon.tint(1, 1, 0, 0.5f); + if (cooldown() < 5f) greyIcon(icon, 5f, cooldown()); } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java index bf0a8b24a..6ccdaae72 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/effects/Speck.java @@ -65,6 +65,7 @@ public class Speck extends Image { public static final int FORGE = 112; public static final int CONFUSION = 113; public static final int RED_LIGHT = 114; + public static final int CALM = 115; private static final int SIZE = 7; @@ -114,6 +115,9 @@ public class Speck extends Image { case DUST: frame( film.get( STEAM ) ); break; + case CALM: + frame( film.get( SCREAM ) ); + break; default: frame( film.get( type ) ); } @@ -198,6 +202,8 @@ public class Speck extends Image { lifespan = 1f; break; + case CALM: + color(0, 1, 1); case SCREAM: lifespan = 0.9f; break; @@ -376,6 +382,7 @@ public class Speck extends Image { scale.set( (float)(Math.sqrt( p < 0.5f ? p : 1 - p ) * 2) ); break; + case CALM: case SCREAM: am = (float)Math.sqrt( (p < 0.5f ? p : 1 - p) * 2f ); scale.set( p * 7 ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java index 17a0f2024..7be4f3854 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTeleportation.java @@ -71,6 +71,7 @@ public class ScrollOfTeleportation extends Scroll { //time isn't spent ((HeroSprite)curUser.sprite).read(); teleportToLocation(curUser, target); + GLog.i( Messages.get(ScrollOfTeleportation.class, "tele") ); } } @@ -95,7 +96,6 @@ public class ScrollOfTeleportation extends Scroll { Dungeon.observe(); GameScene.updateFog(); - //GLog.i( Messages.get(ScrollOfTeleportation.class, "tele") ); } public static void teleportHero(Hero hero ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java index 6a2ed268a..937ff2ede 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfTransmutation.java @@ -46,7 +46,6 @@ import com.watabou.utils.Random; public class ScrollOfTransmutation extends InventoryScroll { { - //TODO initials = 10; mode = WndBag.Mode.TRANMSUTABLE; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java index 19243406f..125b30913 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAggression.java @@ -21,29 +21,33 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones; +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.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 StoneOfAggression extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_KAUNAN; } @Override protected void activate(int cell) { + CellEmitter.center(cell).start( Speck.factory( Speck.SCREAM ), 0.3f, 3 ); + Sample.INSTANCE.play( Assets.SND_READ ); + for (int i : PathFinder.NEIGHBOURS9){ - //TODO visuals - Char ch = Actor.findChar( cell + i ); if (ch != null && ch.alignment == Char.Alignment.ENEMY){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java index aad4c191f..fbc2b380b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfAvoidance.java @@ -21,29 +21,33 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones; +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.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 { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_LAGUZ; } @Override protected void activate(int cell) { + CellEmitter.center(cell).start( Speck.factory( Speck.CALM ), 0.3f, 3 ); + Sample.INSTANCE.play( Assets.SND_READ ); + for (int i : PathFinder.NEIGHBOURS9){ - //TODO visuals - Char ch = Actor.findChar( cell + i ); if (ch != null && ch.alignment == Char.Alignment.ENEMY){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlast.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlast.java index 52292c3b7..cb220675d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlast.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlast.java @@ -27,8 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class StoneOfBlast extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_GYFU; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlink.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlink.java index b391ab422..195dc849c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlink.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfBlink.java @@ -27,8 +27,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class StoneOfBlink extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_SOWILO; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfClairvoyance.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfClairvoyance.java index 1ff2115f1..7c635e020 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfClairvoyance.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfClairvoyance.java @@ -21,12 +21,14 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones; +import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.effects.CheckedCell; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping; import com.shatteredpixel.shatteredpixeldungeon.mechanics.ShadowCaster; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; +import com.watabou.noosa.audio.Sample; import com.watabou.utils.Point; public class StoneOfClairvoyance extends Runestone { @@ -34,8 +36,7 @@ public class StoneOfClairvoyance extends Runestone { private static final int DIST = 8; { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_RAIDO; } @Override @@ -50,6 +51,7 @@ public class StoneOfClairvoyance extends Runestone { int sY = Math.max(0, c.y - DIST); int eY = Math.min(Dungeon.level.height()-1, c.y + DIST); + boolean noticed = false; for (int y = sY; y <= eY; y++){ int curr = y*Dungeon.level.width() + sX; for ( int x = sX; x <= eX; x++){ @@ -62,12 +64,18 @@ public class StoneOfClairvoyance extends Runestone { if (Dungeon.level.heroFOV[curr]) { GameScene.discoverTile( curr, Dungeon.level.map[curr] ); ScrollOfMagicMapping.discover( curr ); - + noticed = true; } } curr++; } } + + if (noticed) { + Sample.INSTANCE.play( Assets.SND_SECRET ); + } + + Sample.INSTANCE.play( Assets.SND_READ ); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepenedSleep.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepenedSleep.java index 81acfaa53..4c009b16d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepenedSleep.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepenedSleep.java @@ -36,8 +36,7 @@ import com.watabou.utils.PathFinder; public class StoneOfDeepenedSleep extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_NAUDIZ; } @Override @@ -45,7 +44,7 @@ public class StoneOfDeepenedSleep extends Runestone { for (int i : PathFinder.NEIGHBOURS9){ - CellEmitter.get(cell + i).start( Speck.factory( Speck.NOTE ), 0.3f, 5 ); + CellEmitter.get(cell + i).start( Speck.factory( Speck.NOTE ), 0.1f, 2 ); if (Actor.findChar(cell + i) != null) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDetectCurse.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDetectCurse.java index 0f4da63e3..f807db50f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDetectCurse.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDetectCurse.java @@ -28,20 +28,18 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag; public class StoneOfDetectCurse extends InventoryStone { - //TODO there should be a 'cursed known' visible status for items { mode = WndBag.Mode.EQUIPMENT; - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_ODAL; } @Override protected void onItemSelected(Item item) { item.cursedKnown = true; + useAnimation(); - //TODO visuals if (item.cursed){ GLog.w( Messages.get(this, "cursed") ); } else { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfFlock.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfFlock.java index a45c0c1ab..e4445aa96 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfFlock.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfFlock.java @@ -35,8 +35,7 @@ import com.watabou.utils.PathFinder; public class StoneOfFlock extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_BERKANAN; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfIntuition.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfIntuition.java index 7e96c9c92..2eed745a6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfIntuition.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfIntuition.java @@ -22,6 +22,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.stones; import com.shatteredpixel.shatteredpixeldungeon.Assets; +import com.shatteredpixel.shatteredpixeldungeon.effects.Identification; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfExperience; @@ -72,7 +73,6 @@ public class StoneOfIntuition extends InventoryStone { { mode = WndBag.Mode.UNIDED_POTION_OR_SCROLL; - //TODO image = ItemSpriteSheet.STONE_ISAZ; } @@ -83,47 +83,46 @@ public class StoneOfIntuition extends InventoryStone { } + //in order of their consumable icon + public static Class[] potions = new Class[]{ + PotionOfExperience.class, + PotionOfFrost.class, + PotionOfHaste.class, + PotionOfHealing.class, + PotionOfInvisibility.class, + PotionOfLevitation.class, + PotionOfLiquidFlame.class, + PotionOfMindVision.class, + PotionOfParalyticGas.class, + PotionOfPurity.class, + PotionOfStrength.class, + PotionOfToxicGas.class, + PotionOfMight.class + }; - public static class WndGuess extends Window { + public static Class[] scrolls = new Class[]{ + ScrollOfIdentify.class, + ScrollOfLullaby.class, + ScrollOfMagicMapping.class, + ScrollOfMirrorImage.class, + ScrollOfPsionicBlast.class, + ScrollOfRage.class, + ScrollOfRecharging.class, + ScrollOfRemoveCurse.class, + ScrollOfTeleportation.class, + ScrollOfTerror.class, + ScrollOfTransmutation.class, + ScrollOfUpgrade.class, + ScrollOfMagicalInfusion.class + }; + + static Class curGuess = null; + + public class WndGuess extends Window { private static final int WIDTH = 120; private static final int BTN_SIZE = 20; - //in order of their consumable icon - public static Class[] potions = new Class[]{ - PotionOfExperience.class, - PotionOfFrost.class, - PotionOfHaste.class, - PotionOfHealing.class, - PotionOfInvisibility.class, - PotionOfLevitation.class, - PotionOfLiquidFlame.class, - PotionOfMindVision.class, - PotionOfParalyticGas.class, - PotionOfPurity.class, - PotionOfStrength.class, - PotionOfToxicGas.class, - PotionOfMight.class - }; - - public static Class[] scrolls = new Class[]{ - ScrollOfIdentify.class, - ScrollOfLullaby.class, - ScrollOfMagicMapping.class, - ScrollOfMirrorImage.class, - ScrollOfPsionicBlast.class, - ScrollOfRage.class, - ScrollOfRecharging.class, - ScrollOfRemoveCurse.class, - ScrollOfTeleportation.class, - ScrollOfTerror.class, - ScrollOfTransmutation.class, - ScrollOfUpgrade.class, - ScrollOfMagicalInfusion.class - }; - - static Class curGuess = null; - public WndGuess(final Item item){ IconTitle titlebar = new IconTitle(); @@ -138,14 +137,15 @@ public class StoneOfIntuition extends InventoryStone { text.maxWidth( WIDTH ); add(text); - //TODO visuals final RedButton guess = new RedButton(""){ @Override protected void onClick() { super.onClick(); + useAnimation(); if (item.getClass() == curGuess){ item.identify(); GLog.p( Messages.get(WndGuess.class, "correct") ); + curUser.sprite.parent.add( new Identification( curUser.sprite.center().offset( 0, -16 ) ) ); } else { GLog.n( Messages.get(WndGuess.class, "incorrect") ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfShock.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfShock.java index 6e74349a9..cac85cb24 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfShock.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfShock.java @@ -33,8 +33,7 @@ import com.watabou.utils.PathFinder; public class StoneOfShock extends Runestone { { - //TODO - image = ItemSpriteSheet.STONE_TIWAZ; + image = ItemSpriteSheet.STONE_MANNAZ; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java index d768eed91..29a4dc92a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfRegrowth.java @@ -256,7 +256,7 @@ public class WandOfRegrowth extends Wand { public static class Dewcatcher extends Plant{ { - image = 12; + image = 13; } @Override @@ -290,7 +290,7 @@ public class WandOfRegrowth extends Wand { public static class Seedpod extends Plant{ { - image = 13; + image = 14; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/AdrenalineDart.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/AdrenalineDart.java index 68f0cfd19..d76f769f4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/AdrenalineDart.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/darts/AdrenalineDart.java @@ -29,8 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class AdrenalineDart extends TippedDart { { - //TODO - image = ItemSpriteSheet.BLINDING_DART; + image = ItemSpriteSheet.ADRENALINE_DART; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/BlandfruitBush.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/BlandfruitBush.java index d03722c97..11ee4459e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/BlandfruitBush.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/BlandfruitBush.java @@ -28,7 +28,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class BlandfruitBush extends Plant { { - image = 8; + image = 12; } @Override @@ -36,9 +36,10 @@ public class BlandfruitBush extends Plant { Dungeon.level.drop( new Blandfruit(), pos ).sprite.drop(); } + //This seed no longer drops, but has a sprite as it did drop prior to 0.7.0 public static class Seed extends Plant.Seed { { - image = ItemSpriteSheet.SEED_BLANDFRUIT; + image = ItemSpriteSheet.SEED_FADELEAF; plantClass = BlandfruitBush.class; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java index 43df1580e..dd59878bd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java @@ -36,7 +36,7 @@ import com.watabou.utils.Random; public class Blindweed extends Plant { { - image = 3; + image = 11; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Dreamfoil.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Dreamfoil.java index 3264dffca..26ff9c1ca 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Dreamfoil.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Dreamfoil.java @@ -41,7 +41,7 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; public class Dreamfoil extends Plant { { - image = 10; + image = 7; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Earthroot.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Earthroot.java index 96e56866e..af3130f65 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Earthroot.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Earthroot.java @@ -38,7 +38,7 @@ import com.watabou.utils.Bundle; public class Earthroot extends Plant { { - image = 5; + image = 8; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Fadeleaf.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Fadeleaf.java index 094db8b5f..898801134 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Fadeleaf.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Fadeleaf.java @@ -34,7 +34,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Fadeleaf extends Plant { { - image = 6; + image = 10; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Firebloom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Firebloom.java index c0eb18640..df422abb5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Firebloom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Firebloom.java @@ -32,7 +32,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Firebloom extends Plant { { - image = 0; + image = 1; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java index 037503882..1ab8cf863 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java @@ -31,7 +31,7 @@ import com.watabou.utils.PathFinder; public class Icecap extends Plant { { - image = 1; + image = 4; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java index 5a5672bd4..7e3df8d2a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java @@ -29,7 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Rotberry extends Plant { { - image = 7; + image = 0; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sorrowmoss.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sorrowmoss.java index b12d57673..7ec0e5407 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sorrowmoss.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sorrowmoss.java @@ -33,7 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Sorrowmoss extends Plant { { - image = 2; + image = 6; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Starflower.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Starflower.java index 2fb17ef47..b44e56833 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Starflower.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Starflower.java @@ -32,7 +32,7 @@ import com.watabou.utils.Random; public class Starflower extends Plant { { - image = 11; + image = 9; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Stormvine.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Stormvine.java index a1f34c31f..d2615e31f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Stormvine.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Stormvine.java @@ -30,7 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Stormvine extends Plant { { - image = 9; + image = 5; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java index 5f17151ca..eb3b1ccd1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java @@ -39,7 +39,7 @@ import com.watabou.utils.Bundle; public class Sungrass extends Plant { { - image = 4; + image = 3; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java index 5bc21527d..ea8fbca34 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java @@ -35,8 +35,7 @@ import com.watabou.utils.Bundle; public class Swiftthistle extends Plant { { - //TODO - image = 1; + image = 2; } @Override @@ -49,8 +48,7 @@ public class Swiftthistle extends Plant { public static class Seed extends Plant.Seed { { - //TODO - image = ItemSpriteSheet.SEED_FADELEAF; + image = ItemSpriteSheet.SEED_SWIFTTHISTLE; plantClass = Swiftthistle.class; } @@ -63,13 +61,12 @@ public class Swiftthistle extends Plant { @Override public int icon() { - //TODO - return BuffIndicator.IMMUNITY; + return BuffIndicator.SLOW; } @Override public void tintIcon(Image icon) { - FlavourBuff.greyIcon(icon, 4f, left); + if (left < 4) FlavourBuff.greyIcon(icon, 4f, left); } @Override 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 9d3a7eb23..0f9cbc9be 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -252,15 +252,16 @@ public class ItemSpriteSheet { public static final int TIPPED_DARTS = xy(1, 11); //16 slots public static final int ROT_DART = TIPPED_DARTS+0; public static final int INCENDIARY_DART = TIPPED_DARTS+1; - public static final int HOLY_DART = TIPPED_DARTS+2; - public static final int BLINDING_DART = TIPPED_DARTS+3; - public static final int HEALING_DART = TIPPED_DARTS+4; - public static final int CHILLING_DART = TIPPED_DARTS+5; - public static final int SHOCKING_DART = TIPPED_DARTS+6; - public static final int POISON_DART = TIPPED_DARTS+7; - public static final int SLEEP_DART = TIPPED_DARTS+8; - public static final int PARALYTIC_DART = TIPPED_DARTS+9; + public static final int ADRENALINE_DART = TIPPED_DARTS+2; + public static final int HEALING_DART = TIPPED_DARTS+3; + public static final int CHILLING_DART = TIPPED_DARTS+4; + public static final int SHOCKING_DART = TIPPED_DARTS+5; + public static final int POISON_DART = TIPPED_DARTS+6; + public static final int SLEEP_DART = TIPPED_DARTS+7; + public static final int PARALYTIC_DART = TIPPED_DARTS+8; + public static final int HOLY_DART = TIPPED_DARTS+9; public static final int DISPLACING_DART = TIPPED_DARTS+10; + public static final int BLINDING_DART = TIPPED_DARTS+11; static { for (int i = TIPPED_DARTS; i < TIPPED_DARTS+16; i++) assignItemRect(i, 15, 15); @@ -433,19 +434,19 @@ public class ItemSpriteSheet { assignItemRect(i, 10, 14); } - private static final int SEEDS = xy(1, 23); //16 slots - public static final int SEED_ROTBERRY = SEEDS+0; - public static final int SEED_FIREBLOOM = SEEDS+1; - public static final int SEED_STARFLOWER = SEEDS+2; - public static final int SEED_BLINDWEED = SEEDS+3; - public static final int SEED_SUNGRASS = SEEDS+4; - public static final int SEED_ICECAP = SEEDS+5; - public static final int SEED_STORMVINE = SEEDS+6; - public static final int SEED_SORROWMOSS = SEEDS+7; - public static final int SEED_DREAMFOIL = SEEDS+8; - public static final int SEED_EARTHROOT = SEEDS+9; - public static final int SEED_FADELEAF = SEEDS+10; - public static final int SEED_BLANDFRUIT = SEEDS+11; + private static final int SEEDS = xy(1, 23); //16 slots + public static final int SEED_ROTBERRY = SEEDS+0; + public static final int SEED_FIREBLOOM = SEEDS+1; + public static final int SEED_SWIFTTHISTLE = SEEDS+2; + public static final int SEED_SUNGRASS = SEEDS+3; + public static final int SEED_ICECAP = SEEDS+4; + public static final int SEED_STORMVINE = SEEDS+5; + public static final int SEED_SORROWMOSS = SEEDS+6; + public static final int SEED_DREAMFOIL = SEEDS+7; + public static final int SEED_EARTHROOT = SEEDS+8; + public static final int SEED_STARFLOWER = SEEDS+9; + public static final int SEED_FADELEAF = SEEDS+10; + public static final int SEED_BLINDWEED = SEEDS+11; static{ for (int i = SEEDS; i < SEEDS+16; i++) assignItemRect(i, 10, 10);