From 6967ed35869051fe65907304d4c4993aa3f49a47 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 31 Aug 2017 20:18:58 -0400 Subject: [PATCH] v0.6.2: added support for tinting buff icons --- core/src/main/assets/buffs.png | Bin 1096 -> 1107 bytes core/src/main/assets/large_buffs.png | Bin 2297 -> 2175 bytes .../actors/buffs/Berserk.java | 21 +++++++++++++----- .../actors/buffs/Buff.java | 5 +++++ .../actors/buffs/Combo.java | 11 +++++++++ .../ui/BuffIndicator.java | 11 ++++----- .../windows/WndHero.java | 1 + .../windows/WndInfoBuff.java | 1 + 8 files changed, 40 insertions(+), 10 deletions(-) diff --git a/core/src/main/assets/buffs.png b/core/src/main/assets/buffs.png index 6718ed28b709d1a0a7bf3a9c42f4fa5c8adc2f03..e3b509ff1f6ed967999846b3d225890607edc3e4 100644 GIT binary patch delta 863 zcmV-l1EBoK2-66VBmv}+B{~BD005C+tADaBC1d~q026dlPE-H?|NsC0|NsC0|NsC0 z|NsC00J44D2mk;B3rR#lRCobok!4~aF$hM-CktC0ch~zLupgn`hyCP*IPbWM=XpLV zP(meAV#O%`6#9UfiT*1O%A@k6u=1?DD6g-MlcZ^yh(N{+f!wnKMNvSYB%(5ms(-qv zt0-$fFORlv`47zCt2 z6r!R=h+;cLfI2HcgbNG<(eU{NH-7|f`GN(7{Qv?R0vFi#of+?cerul$dea7?AS~4g zRkIONBXKsqV2RQcoM2NYVSxmj(EtB`I>Uo)6e~!nAV0wat-5`PW_CL9SU zg24^<-%vpN-|Il*7DQ2`5>7cExdk$ifQAAhl<@K`fbr9q8FM2udd9%GHSP=m3!dC4 zjHU6*=o^lpbTIx3jAAk3@_Pw9h}rycHD5hazSzam}w|*9PZ!H0Nb)Gx5&Tb zG|2ZaV!tHM%d&k|}s1r&gNf<_1S`U0T?J8|v+*Q*Ah0~Gl1Es(&! z-+~g3z-U~<%z%-m>6iz`b(>HiNfHY9tmeTailPYxhABy$NLm(ff(dxmEt^DfKaM6T z4HyB%9MHOe23gI**GyRy$9mH7a7csCN+4+@Kmn3c3_L9h=rxnK9k2xKzxGSWY21SG pc>GDX;QBw)33LLTKqt@%`~e3)Z_dzPsI>q9002ovPDHLkV1mevfc^jg delta 851 zcmV-Z1FZbh2*?PKBmv=(B|4E}tAD9ve^~$k10qR8K~#7FWRV48z#t4otH8pv?ymR0 z;C{$_uf^>VybpXK2!aqP5@JCKS}?+cK%ZD^i5`U~;aPYQtnezl3D$aElBQ|G0-3cC z$O9)(6a@rIA}V85)lFR~-J)o<>Co9Zfxd^pFpPZugbxDqJhQ;EEKXqk6o1%QU}u5j zJkR5YK$3cimnOcCK^K8Mga9#7OmU2)YMfjv?FwzkTu5?#{4@?MfbYM+x~?LyL11?u z&gcJIAobkuTM-EJ90n1|M-(HehEduTEI^$TAVLHN96x+L!3}|%pI|}4`2YeNK15*O z5dz%*^}T(v&~YOOf~b^rsDCD$h-DD$NM>ecJOBSdsdC$slaCo+`xyF7Z4KXkLUSSk z3H;d$iaR(rnKpJU~42J?) zjs(6+pve723TXd%9XNFhq9{@c^PKD40vSj^Lje&=c=0WOQ8LO##eb+83FDhlGwKF_ z2H%=S%V--N#Ffpkiwxx6QVz9?4)!^&_#fzfD0f$?ZGra*r;wJ$;f6A572 zm{MTI`!fpyb0L9+1eW4M7h3ODJ179a1k@rN3k*f2I$F8asG1lh^!irTP+&LQKcNAp z-EMb^=DQ{hn(K{Nw|~jJeGphKx7+P<3Fjbz@fcXGf1Cr$}4HVP#EDuEy%YTPe_ zMx)DV>;*QhmR`1>0*eI=xF0ldT>#x6Km&UOIzQhI3CKVl(EgBs&MyI>4t(L837klv z*;E3pbxR3oe-N+)95@cA1=0#22++Vv$o-)MD#3^))P4#m0DpS~r#i6K69^qxh(ias zUNs0Ekid0sfdp=T3%YRR)GdHfHDGw}W4_@m+?^tUOeRBtQFX;PWTPm`Qs9p#*+^tF zPGo#6{GAIp!30LETQwV{KBS_or$I~sAOf=VbM*8;4BUf&2Gtb{zp6&5lwLmm^M?ix zl|bfH0u&%#=S0_=gWeEBZ+9-B^JR`ZU?RuD7;2xPbfj5CS dfj5CSfqy#UHM0m;t@;1}002ovPDHLkV1lw%ZkPZ7 diff --git a/core/src/main/assets/large_buffs.png b/core/src/main/assets/large_buffs.png index 27dca72ce635ea20e2975875f045aed062fae2af..71122c4e851dbd519422a92f4cf509642ba500c3 100644 GIT binary patch delta 1946 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 10) icon.hardlight(1f, 0f, 0f); + else if (count >= 8)icon.hardlight(1f, 0.8f, 0f); + else if (count >= 6)icon.hardlight(1f, 1f, 0f); + else if (count >= 4)icon.hardlight(0.8f, 1f, 0f); + else if (count >= 2)icon.hardlight(0f, 1f, 0f); + else icon.resetColor(); + } + @Override public String toString() { return Messages.get(this, "name"); @@ -68,6 +78,7 @@ public class Combo extends Buff implements ActionIndicator.Action { count++; comboTime = 4f; misses = 0; + BuffIndicator.refreshHero(); if (count >= 2) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java index 0e40cede3..1695d41f7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -83,9 +83,7 @@ public class BuffIndicator extends Component { public static final int BLESS = 37; public static final int RAGE = 38; public static final int SACRIFICE = 39; - public static final int ANGERED = 40; - public static final int EXHAUSTED = 41; - public static final int RECOVERING = 42; + public static final int BERSERK = 40; public static final int SIZE = 7; @@ -126,8 +124,8 @@ public class BuffIndicator extends Component { public synchronized void update() { super.update(); if (needsRefresh){ - layout(); needsRefresh = false; + layout(); } } @@ -201,6 +199,7 @@ public class BuffIndicator extends Component { public void updateIcon(){ icon.frame( film.get( buff.icon() ) ); + buff.tintIcon(icon); } @Override @@ -219,7 +218,9 @@ public class BuffIndicator extends Component { public static void refreshHero() { if (heroInstance != null) { - heroInstance.needsRefresh = true; + synchronized (heroInstance) { + heroInstance.needsRefresh = true; + } } } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java index dfda77c19..82b5dd9f7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndHero.java @@ -207,6 +207,7 @@ public class WndHero extends WndTabbed { icon = new Image( icons ); icon.frame( film.get( index ) ); + buff.tintIcon(icon); icon.y = this.y; add( icon ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java index abf1d9499..d970b1f41 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoBuff.java @@ -51,6 +51,7 @@ public class WndInfoBuff extends Window { Image buffIcon = new Image( icons ); buffIcon.frame( film.get(buff.icon()) ); + buff.tintIcon(buffIcon); titlebar.icon( buffIcon ); titlebar.label( Messages.titleCase(buff.toString()), Window.TITLE_COLOR );