From 46df3a1033143665b8c8fbff9f3c5c44839341de Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 1 Feb 2021 14:05:08 -0500 Subject: [PATCH] v0.9.2: redesigned the freerunner's main ability --- core/src/main/assets/interfaces/buffs.png | Bin 1292 -> 1302 bytes .../main/assets/interfaces/large_buffs.png | Bin 2631 -> 2669 bytes .../assets/messages/actors/actors.properties | 8 +- .../actors/buffs/Haste.java | 2 +- .../actors/buffs/Momentum.java | 130 ++++++++++++++---- .../actors/buffs/Stamina.java | 2 +- .../actors/hero/Hero.java | 6 +- .../items/armor/Armor.java | 2 +- .../ui/BuffIndicator.java | 3 +- 9 files changed, 118 insertions(+), 35 deletions(-) diff --git a/core/src/main/assets/interfaces/buffs.png b/core/src/main/assets/interfaces/buffs.png index cda8b5127ce1c5e7c7f1520cc5e4760f61dce6cb..e651df8ac52c6d45ce7c1717b6ea4e070c881bb0 100644 GIT binary patch delta 987 zcmV<110?*63YH46N&$bjNklag1mFG4uhp6a8l%m`CP`(abaR!o0pFNt$I@8U%8!AyCLDP?jYGDk7?kt(&%~ zt?STq&i6#rM}c90z&K9f{SpZR^E?NEWm%%Y`XR6dfjtNu=Xrk~-vrVuNs}xU0*mnn z3IzcU%8)TAw!zDdb+K`t{Ds2dBhxg7y-0rr)^&{n_XdGICcGc=mq3=pEHn$KqJV)W zPDBR9wgKy669lM#2hELE$Owf+D9vU56m z4b?_{*DHv?{qBFc=e`FC08F4%VhHgF>J+H!2)=W2eL{iCVMRw!tug}c{|n~M!1_k!XwhpY_fN&4~ff z;q028IW>K=V*)`MV3q>qk|=ZWGYOoFqvpkB^YVfMS(Z`YD$A}YaQ-rmcZCFU31H9} zP~e*P=Q;}92nh@&FdC1?qn#95J{SrBuz*^GRe?*I)iEKz)&nY5Wox+ zfq(?we+wk=@mr805SX=V*fKD+TCK_n6AVnl1an~a4a~mj8$`s{6)2D-2?es&gcEf> zi0Tw5)<_bBzVS-nfe*w73FH<~n0nmvg@Z@TIQ90M3p_~x0T5xMKoCqIW8GTyLTRT| zsMmjJzz8T701Eg~ub&|_US0{W1(>Iv_Y%P4>`@8mhXkIU|4_j8zK0tGI4Ce-;U}#^ zsiaS>S}f9FkpN^6H0jXzCK@3Z;Q$;0Vm*7j~%cM6S9B;@K!dL zkYnu@RIBU&gfqYgZb5DX%n8^i@Na?x3`QL=>VQ!Pj5=V{0RU%8Y0qbo;35D3002ov JPDHLkV1hO?vC9Ae delta 977 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 A^Z)<= delta 2351 zcmWktdpwkRAN~EFd1eeVG~+S}F>bXkxhr~YGef$lbr(tuZEcZAlBGP4K}lf}(yB|>_0Md>E)}a3^xHAem4ElKd|ZE8Q0Bf9oz|y5%nNW5*xubmAbL9T ze|yC<_xlcN{*UP#wSf0#nlP z(#F}hRpvaMF6lZe!kM2B=+u>@8Ev4c$(H-0dkKYK8FJz#lBU0NGHsI)=TKoO*)ER! zT`r)!BL2aZZ{koQg65k8?hYFl{vn$@r)H@?nLod!+YWkJT-E*R zL>UcS_EzKq^4A^Qrx>}IcYImM_cUJ(m9L33(a;mJTW1ctH)k_p3WnvmKz0Tp9HDMW zAf;f9P^WSAVgh}WNTncv@RTXhl3yaD@LwG1FY{rvG>*KzUBYUd(RFGdXQGMJ?2Jx) zX%Xe~-u2m2ow{f3S&eIEZUN_E!d&`EdrL5w{b-Msgl85%|H6`~m77c{Ve-%`4$4**+^JXD<~WNMVv6;!tk83^Xa|RQ|~&){pqjJ(K@+O z*Ff*sm7ziNxZy<%3jt*uajE^!Xhj4N1EqHv=-L z#_%`>SDoI8SPOFUK&=i1bvboa@>GU;*_ zZyk=W^J6@FDVWl)3t~L`C}2!zXU5mEGgHaK)AI`ghM~4B&2YoWf}17v?O`6(N6kHX zCwI}Xz{7x>z;+cHY|$`NDUd9BV?qPNYzpbFHe>5IB;$Hoad?;@isKVzB2C%0O6rL~ zTgOVY-YXFae^`HoMT9nl<3VGEAo+Ye%8I^S8m`b~Kh9nIU@p>&_~)Od zQ!z2!?5Fk?fc)>?#bBBQ7rmD|{E7bOVrjl6KwI#eAMwl||9qE?l!w;>zI^;d-kfp5hELcvw8gPziOr)uLh(+8{y~|vd{?D_O#h7uI(ifRjEbz zirz?TFXwAIIJ%)YRF`FWxrXX~A@PlWk#e1NwEfY^ab}$RGfEZKZd&*ee z&=lFi>>74*pG?t}FK@JcyHvBzBL;>i;GW12@=vqpfa*^3Fdlkxs%%o{tnzsG@Ec{B zU`o;uYPTrZV$H@nktp{I$Y}oQqFpA(f%*StpvZmD!uxy z6`l?zt|?X#CEDCHEgYgH0yC+d9&heW*pKB}<<5L@)R&l{WM<(_^PY7DMx<8kc{U!1 zQ69J2ZoLTYBQot@dFj#iJ21Fussuo+ITXPaZ2NuOmxg)3LFun^$I_F{Jqlz*00$SmPg3EzuI=PeoFsxHy49Pw+NuCW>|(a5!`y?5{h z7CPdK{0?@Xy{_8QAR%-ZFY+-!uR~6n^Y3r?5@Ae)L>K&BL>#c;-x?Cv8B8LdTgS!R zrsYd_fKJ~=>_U%@`2*{LO*fPApfh|mENP#!aKAEG`be##JuY-TqVN=s<>PPgC#{}c zeH129qB4VuHcW@dJmR&Lp&zz!=RatDWq~B4jae(+I& zTTMtG^>VQzJ0s#8c8^)19*>47W=QZltYIeXjO_3zx?^|$LAA~fbrFsJ6Ju^QS=ULR zg=n1h29(N9gsiTI8nqzJpH@d8|nrmJU8whIWE$+VO`EPksIvAlE;lBRg`a zoQKOfvC~a%jOCWv-8G z#(&q(Ms~JfSt!4p8SIUxuW2p&vQ|@goK{>g|gz3XW|*tDY$}ivUZr M)zf=pwL4$%f4?gs*8l(j diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index 525e7f301..591189a44 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -224,8 +224,12 @@ actors.buffs.magicimmune.desc=All magical effects have lost their hold on you, y actors.buffs.mindvision.name=Mind vision actors.buffs.mindvision.desc=Somehow you are able to see all creatures on this floor through your mind. It's a weird feeling.\n\nAll characters on this floor are visible to you as long as you have mind vision. Seeing a creature through mind vision counts as it being seen or nearby for the purposes of many magical effects.\n\nTurns of mind vision remaining: %s. -actors.buffs.momentum.name=Momentum -actors.buffs.momentum.desc=As he moves, the freerunner builds momentum, increasing his speed and ability to dodge.\n\nThe speed bonus is based purely on momentum, however the bonus to dodge is also affected by armor.\n\nThe freerunner will gain additional dodge from momentum for each excess point of strength he has over the requirements of his armor.\n\nCurrent momentum power: %d%%. +actors.buffs.momentum.momentum=Building Momentum +actors.buffs.momentum.running=Freerunning +actors.buffs.momentum.resting=Recovering +actors.buffs.momentum.momentum_desc=As he moves, the freerunner builds momentum, which he can spend to start freerunning.\n\nEach charge of momentum grants two turns of freerunning, and the freerunner can build up to 10 charges. Momentum is rapidly lost when the freerunner stops moving.\n\nCurrent momentum charge: %d. +actors.buffs.momentum.running_desc=As he moves, the freerunner builds momentum, which he can spend to start freerunning.\n\nWhile freerunning, the freerunner moves at double speed and gains bonus evasion based on his level.\n\nTurns remaining: %d. +actors.buffs.momentum.resting_desc=As he moves, the freerunner builds momentum, which he can spend to start freerunning.\n\nThe freerunner needs time to regain his stamina before building momentum again.\n\nTurns remaining: %d. actors.buffs.ooze.name=Caustic ooze actors.buffs.ooze.heromsg=Caustic ooze eats your flesh. Wash it away! 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 38929eaf4..2d0f95a83 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 @@ -35,7 +35,7 @@ public class Haste extends FlavourBuff { @Override public int icon() { - return BuffIndicator.MOMENTUM; + return BuffIndicator.HASTE; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Momentum.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Momentum.java index 35411ceef..9658128c8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Momentum.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Momentum.java @@ -21,48 +21,74 @@ package com.shatteredpixel.shatteredpixeldungeon.actors.buffs; +import com.shatteredpixel.shatteredpixeldungeon.Assets; +import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.ui.ActionIndicator; import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator; import com.watabou.noosa.Image; +import com.watabou.noosa.audio.Sample; import com.watabou.utils.Bundle; -public class Momentum extends Buff { +public class Momentum extends Buff implements ActionIndicator.Action { { type = buffType.POSITIVE; + + //acts before the hero + actPriority = HERO_PRIO+1; } - private int stacks = 0; - private int turnsSinceMove = 0; - + private int momentumStacks = 0; + private int freerunTurns = 0; + private int freerunCooldown = 0; + + private boolean movedLastTurn = true; + @Override public boolean act() { - turnsSinceMove++; - if (turnsSinceMove > 0){ - stacks = Math.max(0, stacks - turnsSinceMove); - if (stacks == 0) detach(); + if (freerunCooldown > 0){ + freerunCooldown--; } + if (freerunTurns > 0){ + freerunTurns--; + } else if (!movedLastTurn){ + momentumStacks = Math.min(momentumStacks -1, Math.round(momentumStacks * 0.667f)); + if (momentumStacks <= 0) { + ActionIndicator.clearAction(this); + if (freerunCooldown <= 0) detach(); + } + } + movedLastTurn = false; + spend(TICK); return true; } public void gainStack(){ - stacks = Math.min(stacks+1, 10); - turnsSinceMove = -1; + movedLastTurn = true; + if (freerunCooldown <= 0){ + postpone(target.cooldown()); + momentumStacks = Math.min(momentumStacks + 1, 10); + ActionIndicator.setAction(this); + } } - - public int stacks(){ - return stacks; + + public boolean freerunning(){ + return freerunTurns > 0; } public float speedMultiplier(){ - //1.33x speed at max stacks - return 1f + (stacks/30f); + return (freerunTurns > 0) ? 2 : 1; } - public int evasionBonus( int excessArmorStr ){ - //8 evasion, +2 evasion per excess str, at max stacks - return Math.round((0.8f + 0.2f*excessArmorStr) * stacks); + public int evasionBonus( int heroLvl, int excessArmorStr ){ + if (freerunTurns > 0) { + return heroLvl / 2; + //TODO also grant bonuses based on excess str with talent + } else { + return 0; + } } @Override @@ -72,38 +98,88 @@ public class Momentum extends Buff { @Override public void tintIcon(Image icon) { - icon.invert(); + if (freerunTurns > 0){ + icon.hardlight(1,1,0); + } else if (freerunCooldown > 0){ + icon.hardlight(0.5f,0.5f,1); + } else { + icon.hardlight(1f - (momentumStacks /10f),1,1f - (momentumStacks /10f)); + } } @Override public float iconFadePercent() { - return (10-stacks)/10f; + if (freerunTurns > 0){ + return (20 - freerunTurns) / 20f; + } else if (freerunCooldown > 0){ + return (freerunCooldown) / 50f; + } else { + return (10 - momentumStacks) / 10f; + } } @Override public String toString() { - return Messages.get(this, "name"); + if (freerunTurns > 0){ + return Messages.get(this, "running"); + } else if (freerunCooldown > 0){ + return Messages.get(this, "resting"); + } else { + return Messages.get(this, "momentum"); + } } @Override public String desc() { - return Messages.get(this, "desc", stacks*10); + if (freerunTurns > 0){ + return Messages.get(this, "running_desc", freerunTurns); + } else if (freerunCooldown > 0){ + return Messages.get(this, "resting_desc", freerunCooldown); + } else { + return Messages.get(this, "momentum_desc", momentumStacks); + } } private static final String STACKS = "stacks"; - private static final String TURNS_SINCE = "turnsSinceMove"; + private static final String FREERUN_TURNS = "freerun_turns"; + private static final String FREERUN_CD = "freerun_CD"; @Override public void storeInBundle(Bundle bundle) { super.storeInBundle(bundle); - bundle.put(STACKS, stacks); - bundle.put(TURNS_SINCE, turnsSinceMove); + bundle.put(STACKS, momentumStacks); + bundle.put(FREERUN_TURNS, freerunTurns); + bundle.put(FREERUN_CD, freerunCooldown); } @Override public void restoreFromBundle(Bundle bundle) { super.restoreFromBundle(bundle); - stacks = bundle.getInt(STACKS); - turnsSinceMove = bundle.getInt(TURNS_SINCE); + momentumStacks = bundle.getInt(STACKS); + freerunTurns = bundle.getInt(FREERUN_TURNS); + freerunCooldown = bundle.getInt(FREERUN_CD); + if (momentumStacks > 0 && freerunTurns <= 0){ + ActionIndicator.setAction(this); + } + movedLastTurn = false; } + + @Override + public Image getIcon() { + Image im = new Image(Assets.Interfaces.BUFFS_LARGE, 144, 32, 16, 16); + im.hardlight(0x99992E); + return im; + } + + @Override + public void doAction() { + freerunTurns = 2*momentumStacks; + freerunCooldown = 50; + Sample.INSTANCE.play(Assets.Sounds.MISS, 1f, 0.8f); + target.sprite.emitter().burst(Speck.factory(Speck.JET), 5+ momentumStacks); + momentumStacks = 0; + BuffIndicator.refreshHero(); + ActionIndicator.clearAction(this); + } + } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Stamina.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Stamina.java index 8cebec69d..b2de8bb08 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Stamina.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Stamina.java @@ -35,7 +35,7 @@ public class Stamina extends FlavourBuff { @Override public int icon() { - return BuffIndicator.MOMENTUM; + return BuffIndicator.HASTE; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 7cc99b562..8770ab075 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -484,9 +484,11 @@ public class Hero extends Char { } Momentum momentum = buff(Momentum.class); - if (momentum != null){ - ((HeroSprite)sprite).sprint( 1f + 0.05f*momentum.stacks()); + if (momentum != null && momentum.freerunning()){ + ((HeroSprite)sprite).sprint( 1.5f ); speed *= momentum.speedMultiplier(); + } else { + ((HeroSprite)sprite).sprint( 1f ); } return speed; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index c4db45eab..55f825d5e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -323,7 +323,7 @@ public class Armor extends EquipableItem { Momentum momentum = owner.buff(Momentum.class); if (momentum != null){ - evasion += momentum.evasionBonus(Math.max(0, -aEnc)); + evasion += momentum.evasionBonus(((Hero) owner).lvl, Math.max(0, -aEnc)); } } 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 061df9eaa..6114688f1 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/BuffIndicator.java @@ -86,7 +86,7 @@ public class BuffIndicator extends Component { public static final int RAGE = 38; public static final int SACRIFICE = 39; public static final int BERSERK = 40; - public static final int MOMENTUM = 41; + public static final int HASTE = 41; public static final int PREPARATION = 42; public static final int WELL_FED = 43; public static final int HEALING = 44; @@ -96,6 +96,7 @@ public class BuffIndicator extends Component { public static final int DEGRADE = 48; public static final int PINCUSHION = 49; public static final int UPGRADE = 50; + public static final int MOMENTUM = 51; public static final int SIZE = 7;