From 6827da804d2f9be45b672f65ab86fa226713dd92 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 19 Sep 2023 14:20:50 -0400 Subject: [PATCH] v2.2.0: implemented a bunch of functionality for the crystal spire --- .../src/main/assets/sprites/crystal_spire.png | Bin 340 -> 1278 bytes .../actors/mobs/CrystalGuardian.java | 5 + .../actors/mobs/CrystalSpire.java | 97 +++++++++++++++++- .../actors/mobs/npcs/Blacksmith.java | 4 + .../shatteredpixeldungeon/effects/Splash.java | 16 +++ .../sprites/CrystalSpireSprite.java | 42 +++++++- .../sprites/SpawnerSprite.java | 2 +- 7 files changed, 160 insertions(+), 6 deletions(-) diff --git a/core/src/main/assets/sprites/crystal_spire.png b/core/src/main/assets/sprites/crystal_spire.png index fc1927ea3a9e90f6bc065b0deaa609fc16e808cd..d2eb6069d010948a4cee8987b4bfc4993ba83faa 100644 GIT binary patch literal 1278 zcmVi5H8nZWD>t@{qffb zJef6DLS(Wq6&p|d6BrVjHP^nVEOLoW#nuBKT_C!zz>}?5`C_(Q=PULIpkm{Jze*sq z6>Cp40uhke0aR=~@R0@7GQY3D(@(|93$suugFEgB*out@&J|Gqhd@3O07k$$0_B82 zXd6v9R3prA2ck7|1kh;0VPa7#kc|a0a|rX90>vBwb%oJffuu)z1YF~48nbK6E8vjI zZL(|JOk?3tBA|c~#R}*W>?<#U1ej8Rux~^rF$0=|pHsB4kK^lpZ!zv0kx49o<~b-O z0!q0?ib$XY0!cDQAVXt>2ah6>DZ2yvkF|$D0RgiE>6RV=*SMO%45uzfBSk9^?(7Zt z04^>XHxpRk5S9?w_zS4;vN0eSgaUyio+FUq!B+-y4zUCK+(V$idmu4Tjs!y2h#1VS zP^lb^90sot0LHEnF<4w-l9Uht-W14y(SWMTZ{q7m#0eC@bikx4fpiC)zzQ##UI6d= z0V5Awj084#??3=oTwY*m@uq+R;vywDEsy|l%@lcoFdJ2PAtMkMLnB3U1grpJuBcx# zGLXwK9t03`y?tY9prptOR2eR-Uo(;+6{reabl;d#=8i4(HHB(X9IjFf!GM7>>+4v#iu74fe!d+0?A8xF9CgMqymc~PVlpR#~lG% zarDBv)!N`rCXn1uK+hD2F*w=G6lg{Qzz!%ngSZ3fmN^1wG~rN>u*MzefFgmy9Kv#@ zKs^?y%^_^00tv=mxvB$QH2!r_w{9#)Gd7G#p|F&OkO~hHNo-g8;B~jflbe3bk&~ z$YJmf0U#GLLw5M~m2v_#up3ZU%}sp&267=YWP;Blfg@fty#U_#19l$B3-BZ5X#owy zMM{ttU`EQEKwFP01jq^89x1nj0AjAFU$ZmN$dDDdIZ~zqRgKH)*X%^d3jD`Nc_aXI zYl@K#KT@9lEYQGCjC}Z!^7L0A4Q%AdhaV~PKL(q5DE}Wkeg+~($(#_#kN)H+&cE%! ofdBvi0DvHW>p`vn0002sB<&?%vq!dJ6aWAK07*qoM6N<$g6U)=r~m)} literal 340 zcmV-a0jvIrP)Qf1Ln34j4AK$+l-noT$$MfC(yzf9cn?LuP{dv5a zAE+n!^SZ^K&ugoJ(t+j{bb#H04rq3uc7R-h4v0(80ZR^)0koN506Y^6K$ik_05lg2 zK<0u0SZbgEXh;BnkpO^Z1}XqT0sw*p04y<3CeV-o03!haT?W(%5EcLsEC66>f#QIM z1OONb0BBaAI)IP>fFJ 0.8f){ + idle.frames( frames, 0+texOffset() ); + } else if (hpPercent > 0.5f){ + idle.frames( frames, 1+texOffset() ); + } else if (hpPercent > 0.25f){ + idle.frames( frames, 2+texOffset() ); + } else { + idle.frames( frames, 3+texOffset() ); + } + play(idle, true); + run = idle.clone(); + attack = idle.clone(); + zap = idle.clone(); + } + @Override public void link(Char ch) { super.link(ch); - renderShadow = false; + updateIdle(); + } + + @Override + public void die() { + super.die(); + Splash.around(this, blood(), 100); } protected abstract int texOffset(); @@ -73,7 +107,7 @@ public abstract class CrystalSpireSprite extends MobSprite { public static class Green extends CrystalSpireSprite { @Override protected int texOffset() { - return 1; + return 5; } @Override public int blood() { @@ -84,7 +118,7 @@ public abstract class CrystalSpireSprite extends MobSprite { public static class Red extends CrystalSpireSprite { @Override protected int texOffset() { - return 2; + return 10; } @Override public int blood() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpawnerSprite.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpawnerSprite.java index 068cb9ac6..0ee22b7a0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpawnerSprite.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/SpawnerSprite.java @@ -73,7 +73,7 @@ public class SpawnerSprite extends MobSprite { @Override public void die() { - Splash.at( center(), blood(), 100 ); + Splash.around( this, blood(), 100 ); killAndErase(); }