From 6611615a131dfe3581f7a341bed3fd3d02030d7c Mon Sep 17 00:00:00 2001 From: LingASDJ <2735951230@qq.com> Date: Mon, 2 Oct 2023 03:14:35 +0800 Subject: [PATCH] Update 0.6.5.0-Alpha5.2 --- build.gradle | 4 +- core/src/main/assets/interfaces/badges.png | Bin 22058 -> 21924 bytes core/src/main/assets/interfaces/icons.png | Bin 18732 -> 19027 bytes .../main/assets/interfaces/status_pane.png | Bin 3012 -> 2997 bytes .../assets/messages/actors/actors.properties | 4 +- .../assets/messages/items/items.properties | 3 +- .../main/assets/messages/misc/misc.properties | 9 +- .../src/main/assets/messages/ui/ui.properties | 3 + .../shatteredpixeldungeon/Assets.java | 2 +- .../shatteredpixeldungeon/Challenges.java | 18 +-- .../ShatteredPixelDungeon.java | 4 +- .../shatteredpixeldungeon/Statistics.java | 10 ++ .../actors/hero/HeroClass.java | 4 +- .../custom/testmode/LevelTeleporter.java | 3 +- .../custom/testmode/MobPlacer.java | 3 +- .../items/ArcaneResin.java | 3 +- .../items/artifacts/DriedRose.java | 8 +- .../items/quest/MIME.java | 2 + .../items/scrolls/Scroll.java | 4 +- .../items/stones/StoneOfDeepSleep.java | 114 +++++++++--------- .../items/wands/WandOfFireblast.java | 2 +- .../items/weapon/melee/FiveRen.java | 2 +- .../items/weapon/melee/Gauntlet.java | 6 +- .../levels/ColdChestBossLevel.java | 12 +- .../shatteredpixeldungeon/levels/Level.java | 95 +++++++++------ .../levels/RegularLevel.java | 23 ++-- .../levels/SLMKingLevel.java | 14 ++- .../levels/SewerBossLevel.java | 14 ++- .../levels/painters/RegularPainter.java | 2 +- .../levels/rooms/secret/SecretWellRoom.java | 3 +- .../levels/rooms/special/MagicWellRoom.java | 3 +- .../levels/rooms/standard/HeartRoom.java | 6 +- .../levels/rooms/standard/LoveRoom.java | 7 +- .../levels/rooms/standard/YinYangRoom.java | 4 +- .../plants/Rotberry.java | 20 +-- .../scenes/GameScene.java | 1 + .../scenes/HeroSelectScene.java | 5 + .../shatteredpixeldungeon/ui/Icons.java | 22 ++++ .../shatteredpixeldungeon/ui/MenuPane.java | 4 +- .../ui/changelist/mlpd/vM0_6_7_X_Changes.java | 11 ++ .../windows/WndBossMessage.java | 4 + .../windows/WndChallenges.java | 4 + .../windows/WndStartGame.java | 10 +- 43 files changed, 298 insertions(+), 174 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBossMessage.java diff --git a/build.gradle b/build.gradle index 3e4d5ed16..120692f2a 100644 --- a/build.gradle +++ b/build.gradle @@ -18,8 +18,8 @@ allprojects { appName = 'Magic Ling Pixel Dungeon' appPackageName = 'com.ansdomagiclingpixeldungeon.ling' - appVersionCode =907700 - appVersionName = '0.6.5.0-Alpha5.1' + appVersionCode =907750 + appVersionName = '0.6.5.0-Alpha5.2' appJavaCompatibility = JavaVersion.VERSION_11 diff --git a/core/src/main/assets/interfaces/badges.png b/core/src/main/assets/interfaces/badges.png index a37796266c023c505d29c81a7cf3ccc019b02fbb..9d64916c1f8f5ff1a21c80697a2f3c8d458ecbc0 100644 GIT binary patch literal 21924 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�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 literal 22058 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%0ATaFVju~1y0Ap`Y!{)VDAA2yYK7VOyQ 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 M07*qoM6N<$f|-g@8~^|S diff --git a/core/src/main/assets/interfaces/icons.png b/core/src/main/assets/interfaces/icons.png index 06f63f7e1567b5a91e7cc7bd87160432065b91e1..5955d6c676f781019d1d2a3c45d41b17171a972b 100644 GIT binary patch literal 19027 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 literal 18732 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 YHxNIWpTH}EX8-^I07*qoM6N<$f(~nLk^lez diff --git a/core/src/main/assets/interfaces/status_pane.png b/core/src/main/assets/interfaces/status_pane.png index dd53e404319bde437b4db826335e5dd313bf27e7..6a3ccda5952f11c939cc8e0cf594fc3637f9069e 100644 GIT binary patch delta 2991 zcmY*Xc|6mP8~@CPWpi6X2?+~@6;d*iBSey0?z?i|$7eJ~k;xHB$O<_cnOo$Dq>wx3 zzU4||$k#FKr{90y=kE z9|l~^qDdzh1y#xTV&R+3fx@nahWgcdG>^25SERvX<>uL(s8dR4XAiF>H6!^m;+~6U zt`a3Rrt;<8wpj10y^@yW4n5b;l<^YM_i#M$#Ab~bs~hk3_ZZE#6RVM=qRSc@GZA@x zVEw}Li0Lpc*``%qjRZWJVpdQwd4ymTO`B5X@HXPjl%o_4O^+oYrYmk*Mmz)n_RCmz z5W^PPtd?w9*k}Dz>Hho{1I0=YPCg^O2Jzzx<@0_HDqhbKxqWX0cGf@OXT9~ptJq!P zm%P#Uo@>8NZD$QyGEw=?U8L+r;I#Aydmm4sDu~Y5#Sj+llOfw-1LS`N(4%AD+`C>~ zor18Aais^T$UggG{Oh+58;(S&95Q7Eie*DsaNpbxb4<41NSF7%@uu0Z%Z{e~VE~1W z3eJl%*?BQ+n|0S{dn3Z`(^hle6*z&@;c8a}Lq(uwWfb8O*L6~{uy-Hu!RwfYB-)Z_)A;w{_a^eHOO!h zQe(KbbYB>^qjk)`wosg1&M4R9pB2qy(BG)#*^}E^4KSIkWXH%~=O>46{)Y|7_`Rg$I^RQY;Ac(RW@RE7P!<>IO7MPW zK&o1Cv(k$Zi${R1qmRBG^k>g}bLY<9u{{#Iy5$rSC+l&s21l`k#n=<9zkhixQ$z|L3q=f0xALifuB=K84#D5 zZ2jVL3kiCnzhf1ORrj6Bi&PwzI3j@DuDiIZ>uS%a zshBLWtS>2l;6SiEUDeNo0)Ib=dH65}nco%7mrdoc+r7rHpt}mQX;Tn;*_7c1-&TIL zfU48*pOBfM5m0kZ7#L@c`iRWQ;>yebgY6g>_xHjSI^?38Nsc)sA`6iO->yU4T6M?p z0o4==gm~_uE~A9Qp!|H(iJ;6<8dW*pW_t7#JSlD(;#5a}7q;J*TFv#^>7f0H-H90E~7N?q(n2{oJ@EIr@HU|W=EQV zI6Bf%HCq6t^O;5Mu0Pqm9BqowkcRas8bVYx4S04>=QY=;I2$gFZ~f~fI>QPOw7BNd z=`rNXI9@!1L4NPQg7~5=p%l|7Yb!%B^L%zsVv7u{e?Lx)678E>ZWf+R6qvTaaW({L zk+kuwaN|jmLCGtQ6-VhN5naC}6HukeuJBlCkfYt&`&%)$^p3!ssITwrTfEItK2-GO z_SPL+@sf_-u+u=tILKi=c#9jqmlzx;H@3YJ$QB(#mW8e__k8?Zd|a8x2iNg~1kL%6 zl$JFL$wvi$IVN^9?l2R&?VOENtxAhSTovWdct$J-fzvAl+pBmqgn}V~eBJ85J5~>V zvG5oYCHeV%^SHY)8rBLIXP0lMx7y`4UkDn1+}Y@7R=;-BVg*(MJy|nzTOvf1pT1rZ zI+SsVN)wK&^*+A>MF>jS__e0(XHdqIVAzt8xjE{>E?5q?d6D~z@lQn^cYLU(3*rgo zHGD<%&d+Xys%uOD|A}*;bpJPL=A8M<>AE#OwZe(^0_zmQ8s9rhdaIJJ56-kbAc-`( zPqTZoAJoaXQD2%H)B7?w=2LEo=G^01+hKN|R0ZhwNuYZ<;yx-=NYy?11BdH8_jb7A z!4BbKSm^~31uY1`dD^6rXVZB>GO|*8649SH2#}Z6%}b)&EIGj=8W@Eh7GFO7)hBe; zwmWC#l6FKiHJX?QBw@Mf7L9U9r^}$!m-f+-iq5Kyg=F*j=lG~|Ep5b;iQ(0=PCa?a zMS&Z?gI&Q-&MA-_B4x$dpu9i#>Jv zRF=yW#DQ!8_XX)|U7V|@EK(ap!)4}=#Kpz+93;YoC#zfy79lCoA>qOzA{SEfipyZr zQ5Ln)y)dYQ9@4}rJ3RJgd7yQAdb$i_dGxKWv-7D=0PSRn^!;V#k*ur4p?Kv=#cywP zdw)N%3Y_oF7SPf4CAq-(ecZfwseH)%!oqg?6@Sz`7^1;H!}@a$`i;e5TD>5r8Yl~u z&7PKvx0>!vDFNO~Z!RrzKeg9i3h1l2`%pELSsUS7>-A8;nEhC^)RHL7y5~ttC(-@$ zqg_!Op}VX3%-YakSANzgHAg+3#Q;Y7zIKM=2nK<*;oW=sfTmu%&N}P=3@Rx=a&hxM zv(j1wem5TG#Lu!v`}^wd(s%%%W>>IFK+s`-T`eo@}6C9b;qOqxv z9r3{7QO_0$1(l0b*vWIWs*dy=+8VlE=hf~NSSBY0`iOaU0cp%5ufzFo$LCn+03Ncj zTlP#uSoxp?J|Wg6>W}v`AJQ_HX%LheNd}8-o(98X#r}gf68W?HIueaY>8v*>on1rz zNc^>ywLptZEpVE0+WYhLN1#f-m?Yp46(L&odA?7dFipKgKFSRR4#rM2_S88|*(P;Q zb~7)Y7u%~nSkEuWjcWWSk9?FJMVlL0G~QHa{>dtE7I#SxCxeAxG;s7$XFu&hO3Rz9 z{ij@lA1`mcYLD}?gQZ@%u9+~iN;rh%wYOi52-(?I#nD9Ml|1ew#V-eLZf?|#9f`;M zyZi-!m-v!?=tSi%#{amsOq&4C2Dju%%f4~c;l7CzKw&vn?-zVws;#%zaENBxcU#;( zVVuVaa<|46q=&})9qbom<)v-_@kjz(OdE1pvO)9*RAOv(`m~d?bIBK|K$%1a>@g^O&I$ZeHdowBKv8 z*Spd=z9LB@wF?m7MX_jJTF};4K_Rae{ToV+5^ox4w?dKg)-QtjwI3Iv`gvm z9;6&#;v}DtlQrOcOFBe`H(f~2T?75G-uNSZ4^xZgb4 zj)O^a-13stoMWHX>rWq8X@8Z_zvCRu7vIe#$qZTt+;rAC2hRCr39$i)e@(K}`qyq~S7_THV{oqf;v&U(%#jXXO$d+(h+=YO7a?wK=dDeu9@0w9v6 z$X1T(5*HdA%4^?-A=oSPv1qX~t@efo-SBk`!QPb*0NC#Z+It$&>+jZS#2S58x%s%I zKp?;sz}GRvPhtaN?DrHi zJN3TzI{VPz0Hpq7Hv^mM4=TbxuDlt~5&+RNC34mSv43ZN&DJ4osy~?Y1)80&%zqZg zU*C?xst3wa{p{R%%T58no$;%Z{v%5c89GvQ45%ug}lt4)1-Pw0F=aT~*fZXADoI{>BaRDEnR%!Nb9#xUZV zrW3iivr!RJFo8)H6!F7o*8nK~zh>(YTLEOH0@xxCq&oA}sD%$GF@xH)s@=nMU_`*j zT$p-4n~?#arKJUca#1YWPghuKrD5%;vs^8Ywg8>Vz8*nfJoF9_BZZ&t`rk~*S_jiH z|B-~R4xDIkxWnEzTM(#)+ImGMyK1(E34cE;%|8%SfZEzxyzo*BKbWcT0Yt?DjM~~- z{Jz0_L7*D7aV2~Xf$HoY3-%fuE^hK0901+` zBxz;{AJ9+$J#RxsW(;R*_0%4(k2$v6a!q+i`;VL)Q7VJG0JcX1% zAU0;|)qnN6X|t=;4bOmfgzc$t;Wyt6kP-;S280)ZdMaGH!~wfX-Mq+j|0ZDh(_iNs zE2C;~fRsQm+yzvZC|R%K&PFtyacaf@$tpyVt(*(Lc!|>9oZRJnYdYiP1%DL{4yfG$ zG0oUK6|S&KAkTmczx%5jKqx_yN=(3fKA_C}Sixkkznd$8ry_f6>arc1Z^ID3@ljpk z0=5Akwch8EJBtZec~>H;OI+}E48hkil<q7&r=n$9SHnU$z9ZoGuf==N}^*5hHU z#4H{xungWCpw#d*BkOg4d#7rDZNc7Co(fkmv#4EQa(AMS-w~Xy`T!ytBc4rL4=C$< zW))Z&IAc!kaz68W{oNS({G%Cpt2G-i>fyvFB~ZH%^<(EGe6d8`3xCjw(*UsZeW^_S zgs~bDzBw@Z@#JLEyCi&pNU!GQ#r=(-A1+&#QiBEi_GL7nxNO|0dHBYfHCS@tg79bU zvk~cgIi-gDNYvxGm(u=hBBh({bn^X0Pdou^+z3gMNCDEou$sUV6RX2sr=k#VU%krr zwUpt$+s*ff0W3;+bbkaxPDL=Ox&y#qmk{K@lTRAn$4o`;c;u0|C**J-dwxZI)Ulku&BOij z2~s>Aknl5E_aM+#ocb+>S&msT-;-8^+B*>VEuLRdPeGqf7!m~fJ$}BQtTIe_rvPXx zLf}fMy%$!z1bH;|~0){dC1?SGGdP4kUR-9fr;Ad(Mvck0p( zK@bE%5ClOG1VIo4K@bE%SQP2X*;$5^g~#Lk<(2Sy2k=zINZj*wyey$~?Lz$Ymm_pH z&>&<0Xntol>`UfMONYLJyRa7w0092j8NbT7bnSGE$l56XIW#EzxBv36p`CrZ^q;U7 zgcR-7=6~2v^}YD)u%Tli6nH(@(LX-~o6TnE_TeXA4C=pY6UQIW9+OS$K>Q>%zy2C*L5LZh}95c0UVAc@OlSu;e-CT zpHcDvh75-YB18eaUdjWQ1z|A&KzRT&AS?!;Jb*b6z6^|&2cTu(^dMXTC=VbOQUHrX zi6DzZi6DzZi6DzZi6Dz3CI$!=c)fPyftcs-sJ&^(IEZkB#Q+DI^W!Fh4jjp+M9?%K ze1928i6F5ER{+Wbh=mlu;*bJZ98v&_6Quz6?@t=m8Kr{FhYe7k*7^C5N8_eu_1MlG zzs5VJRIoXao8OrY0C=imWLnnUJ6@Jh^?gbOn+56Jwub^NHEUMr;ZWm{*L?9ac)be% z#IMoQgUC8RstFViPX#Bc(bHp7*ZEORpno|K_G}=fg3STt0W1zFfW_eokSH;u2kPVw zC4$U>4FC%5xd{_9dTi?C4kd!jfqd@M0-XPJ7%x6|hY~>+gc3m(N4j!$R-mtGo#=58 z0{GUuA4}4)@?r|NEsQ)kcu({g2!Y5GQ{-N)j66OidI*F_$O2d#vH%uG9-lI<27iz+ zKN0}^Xz7<|DQH2CT>H23U%4+`x7P%+w=lBpb6euGh#8A4`;7TX7$Q5612@S7SQ**hPrt-r zWh4NYyPE<*D{|*oW0DL2Ip6rN=&=w2xPwASd2jxMX1|4zXN~wokAV<~d^h{!F41Ek z1R_haocJta#v%cL?K{s<9AH8GAG}3B4q26 && !(Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) || Dungeon.depth>28 && Dungeon.isDLC(Conducts.Conduct.BOSSRUSH) ) { GLog.w(Messages.get(this,"cannot_send")); return; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/custom/testmode/MobPlacer.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/custom/testmode/MobPlacer.java index 55101ad49..b44f5cfc5 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/custom/testmode/MobPlacer.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/custom/testmode/MobPlacer.java @@ -23,7 +23,6 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Crab; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM100; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM200; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DM201; -import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.DemonSpawner; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Elemental; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Eye; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.FetidRat; @@ -493,7 +492,7 @@ public class MobPlacer extends TestItem{ ELE_CHAOS(Elemental.ChaosElemental.class, DictSpriteSheet.ELEMENTAL_CHAOS), RIPPER(RipperDemon.class, DictSpriteSheet.RIPPER), - SPAWNER(DemonSpawner.class, DictSpriteSheet.SPAWNER), +// SPAWNER(DemonSpawner.class, DictSpriteSheet.SPAWNER), EYE(Eye.class, DictSpriteSheet.EYE), SUCCUBUS(Succubus.class, DictSpriteSheet.SUCCUBUS), SCORPIO(Scorpio.class, DictSpriteSheet.SCORPIO), diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java index 0c0ce2076..e624e9697 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/ArcaneResin.java @@ -29,6 +29,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster; import com.shatteredpixel.shatteredpixeldungeon.items.wands.Wand; +import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfAnmy; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MagesStaff; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; @@ -108,7 +109,7 @@ public class ArcaneResin extends Item { @Override public void onSelect( Item item ) { - if (item != null && item instanceof Wand) { + if (item != null && item instanceof Wand && !(item instanceof WandOfAnmy)) { Wand w = (Wand)item; if (w.level() >= 3){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java index df7d39292..297abf02d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/DriedRose.java @@ -21,10 +21,11 @@ package com.shatteredpixel.shatteredpixeldungeon.items.artifacts; +import static com.shatteredpixel.shatteredpixeldungeon.Statistics.deadGo; + import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon; -import com.shatteredpixel.shatteredpixeldungeon.Statistics; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.CorrosiveGas; @@ -116,7 +117,7 @@ public class DriedRose extends Artifact { actions.remove(AC_EQUIP); return actions; } - if (isEquipped( hero ) && charge == chargeCap && !cursed && ghostID == 0) { + if (isEquipped( hero ) && charge == chargeCap && !cursed && ghostID == 0 && !deadGo) { actions.add(AC_SUMMON); } if (ghostID != 0){ @@ -565,8 +566,9 @@ public class DriedRose extends Artifact { damage(1, this); } - if(Statistics.findMoon){ + if(deadGo){ die(true); + GLog.n(Messages.get(DriedRose.class, "sorry")); } if (!isAlive()) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MIME.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MIME.java index b3e5af772..09b4d4d5f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MIME.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/quest/MIME.java @@ -21,6 +21,7 @@ package com.shatteredpixel.shatteredpixeldungeon.items.quest; +import com.shatteredpixel.shatteredpixeldungeon.Statistics; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; @@ -103,6 +104,7 @@ public class MIME extends Item { public boolean doPickUp(Hero hero, int pos) { if (super.doPickUp(hero, pos)) { if(!isMimeSupported){ + Statistics.dimandchestmazeCollected++; isMimeSupported = true; } return true; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java index 6f07150e8..3cd3b7c10 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java @@ -42,7 +42,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfAugmentation import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlast; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfBlink; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfClairvoyance; -import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDeepSleep; +import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDeepenedSleep; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfDisarming; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfEnchantment; import com.shatteredpixel.shatteredpixeldungeon.items.stones.StoneOfFear; @@ -290,7 +290,7 @@ public abstract class Scroll extends Item { private static HashMap, Class> stones = new HashMap<>(); static { stones.put(ScrollOfIdentify.class, StoneOfIntuition.class); - stones.put(ScrollOfLullaby.class, StoneOfDeepSleep.class); + stones.put(ScrollOfLullaby.class, StoneOfDeepenedSleep.class); stones.put(ScrollOfMagicMapping.class, StoneOfClairvoyance.class); stones.put(ScrollOfMirrorImage.class, StoneOfFlock.class); stones.put(ScrollOfRetribution.class, StoneOfBlast.class); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepSleep.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepSleep.java index 7d13e37e4..59903c8a7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepSleep.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/stones/StoneOfDeepSleep.java @@ -1,57 +1,57 @@ -/* - * Pixel Dungeon - * Copyright (C) 2012-2015 Oleg Dolya - * - * Shattered Pixel Dungeon - * Copyright (C) 2014-2022 Evan Debenham - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - */ - -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.MagicalSleep; -import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; -import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; -import com.watabou.noosa.audio.Sample; - -public class StoneOfDeepSleep extends Runestone { - - { - image = ItemSpriteSheet.STONE_SLEEP; - } - - @Override - protected void activate(int cell) { - - if (Actor.findChar(cell) != null) { - - Char c = Actor.findChar(cell); - - if (c instanceof Mob){ - - Buff.affect(c, MagicalSleep.class); - - } - - } - - Sample.INSTANCE.play( Assets.Sounds.LULLABY ); - - } -} +///* +// * Pixel Dungeon +// * Copyright (C) 2012-2015 Oleg Dolya +// * +// * Shattered Pixel Dungeon +// * Copyright (C) 2014-2022 Evan Debenham +// * +// * This program is free software: you can redistribute it and/or modify +// * it under the terms of the GNU General Public License as published by +// * the Free Software Foundation, either version 3 of the License, or +// * (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have received a copy of the GNU General Public License +// * along with this program. If not, see +// */ +// +//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.MagicalSleep; +//import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; +//import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; +//import com.watabou.noosa.audio.Sample; +// +//public class StoneOfDeepSleep extends Runestone { +// +// { +// image = ItemSpriteSheet.STONE_SLEEP; +// } +// +// @Override +// protected void activate(int cell) { +// +// if (Actor.findChar(cell) != null) { +// +// Char c = Actor.findChar(cell); +// +// if (c instanceof Mob){ +// +// Buff.affect(c, MagicalSleep.class); +// +// } +// +// } +// +// Sample.INSTANCE.play( Assets.Sounds.LULLABY ); +// +// } +//} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java index 1e5c07ff6..a9fee7e1d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java @@ -55,7 +55,7 @@ public class WandOfFireblast extends DamageWand { public static class PlaceHolderX extends WandOfFireblast { { - image = ItemSpriteSheet.WAND_BLAST_WAVE; + image = ItemSpriteSheet.WAND_FIREBOLT; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/FiveRen.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/FiveRen.java index 9cbbb32e8..47d7ff792 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/FiveRen.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/FiveRen.java @@ -17,7 +17,7 @@ public class FiveRen extends MeleeWeapon { hitSound = Assets.Sounds.HIT_STAB; hitSoundPitch = 0.9f; - tier = 2; + tier = 5; DLY = 1.5f; //0.67x speed RCH = 2; //extra reach } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java index e98a86991..522bd4eca 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java @@ -58,19 +58,19 @@ public class Gauntlet extends MeleeWeapon { switch (Random.Int(6)) { case 0:case 1:case 2:case 3: default: - return max(buffedLvl()); + return super.proc( attacker, defender, damage ); case 4: case 5: Buff.affect(defender, HalomethaneBurning.class).reignite(defender); if(Random.Float()<0.55f && level <3) { Buff.prolong(attacker, Vertigo.class, 3f); } - return max(buffedLvl()); + return super.proc( attacker, defender, damage ); } } public String statsInfo(){ if (isIdentified()){ - return Messages.get(this, "stats_desc", 1+1*buffedLvl()); + return Messages.get(this, "stats_desc", 1+ buffedLvl()); } else { return Messages.get(this, "typical_stats_desc", 1); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ColdChestBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ColdChestBossLevel.java index 779f7adfb..06c768886 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ColdChestBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/ColdChestBossLevel.java @@ -322,7 +322,7 @@ public class ColdChestBossLevel extends Level { //进行Roll判定 - if(Statistics.dimandchestmazeCollected==0) { + if(Statistics.fuckGeneratorAlone==0) { switch (Random.NormalIntRange(0, 3)) { case 0: drop(new MIME.GOLD_ONE(), 634); @@ -338,7 +338,7 @@ public class ColdChestBossLevel extends Level { break; } } - Statistics.dimandchestmazeCollected++; + Statistics.fuckGeneratorAlone++; pro = START; break; @@ -357,7 +357,7 @@ public class ColdChestBossLevel extends Level { boss.HP = 360; //进行Roll判定 获得一定的随机坐标 - if(Statistics.dimandchestmazeCollected==1) { + if(Statistics.fuckGeneratorAlone==1) { if (Random.Float() < 0.5f) { switch (Random.NormalIntRange(0, 4)) { case 0: @@ -396,7 +396,7 @@ public class ColdChestBossLevel extends Level { } } } - Statistics.dimandchestmazeCollected++; + Statistics.fuckGeneratorAlone++; switch (Random.NormalIntRange(0,8)){ case 0: @@ -469,7 +469,7 @@ public class ColdChestBossLevel extends Level { //drop( new PotionOfPurity(),648 ); //进行Roll判定 - if(Statistics.dimandchestmazeCollected==2) { + if(Statistics.fuckGeneratorAlone==2) { if (Random.Float() < 0.5f) { switch (Random.NormalIntRange(0, 1)) { case 0: @@ -490,7 +490,7 @@ public class ColdChestBossLevel extends Level { } } } - Statistics.dimandchestmazeCollected++; + Statistics.fuckGeneratorAlone++; //生成四个水晶,宝箱王持续回血 for (int i : FourCrystal) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java index 07df88f7b..96cf55c54 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Level.java @@ -21,7 +21,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels; -import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MORELEVEL; +import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM; import static com.shatteredpixel.shatteredpixeldungeon.Challenges.SBSG; import com.shatteredpixel.shatteredpixeldungeon.Assets; @@ -167,6 +167,9 @@ public abstract class Level implements Bundlable { TRAPS, SECRETS, BIGTRAP, + THREEWELL, + LINKROOM, + DIEDROOM } public boolean isLevelExplored( int depth ){ @@ -264,6 +267,60 @@ public abstract class Level implements Bundlable { return 48*48; } + private void initializeLevelDepthType(){ + if(Dungeon.isChallenged(MOREROOM)){ + int randomInt = Random.Int(10); + if (randomInt == 0) { + feeling = Feeling.CHASM; + } else if (randomInt == 1) { + feeling = Feeling.WATER; + } else if (randomInt == 2) { + feeling = Feeling.GRASS; + } else if (randomInt == 3) { + feeling = Feeling.DARK; + addItemToSpawn(new Torch()); + viewDistance = Math.round(viewDistance / 2f); + } else if (randomInt >= 4 && randomInt <= 5) { + feeling = Feeling.TRAPS; + } else if (randomInt == 6) { + feeling = Feeling.SECRETS; + } else if (randomInt == 7) { + feeling = Feeling.BIGTRAP; + } else if (randomInt == 8) { + feeling = Feeling.THREEWELL; + } else { + feeling = Feeling.LINKROOM; + } + } else { + switch (Random.Int( 14 )) { + case 0: + feeling = Feeling.CHASM; + break; + case 1: + feeling = Feeling.WATER; + break; + case 2: + feeling = Feeling.GRASS; + break; + case 3: + feeling = Feeling.DARK; + addItemToSpawn(new Torch()); + viewDistance = Math.round(viewDistance/2f); + break; + case 4: + feeling = Feeling.LARGE; + addItemToSpawn(Generator.random(Generator.Category.FOOD)); + break; + case 5: + feeling = Feeling.TRAPS; + break; + case 6: + feeling = Feeling.SECRETS; + break; + } + } + } + public void create() { Random.pushGenerator( Dungeon.seedCurDepth() ); @@ -300,40 +357,8 @@ public abstract class Level implements Bundlable { addItemToSpawn( new StoneOfIntuition() ); } - if (Dungeon.depth > 1 && !Dungeon.bossLevel()) { - //50% chance of getting a level feeling - //~7.15% chance for each feeling - switch (Random.Int( 14 )) { - case 0: - feeling = Feeling.CHASM; - break; - case 1: - feeling = Feeling.WATER; - break; - case 2: - feeling = Feeling.GRASS; - break; - case 3: - feeling = Feeling.DARK; - addItemToSpawn(new Torch()); - viewDistance = Math.round(viewDistance/2f); - break; - case 4: - feeling = Feeling.LARGE; - addItemToSpawn(Generator.random(Generator.Category.FOOD)); - break; - case 5: - feeling = Feeling.TRAPS; - break; - case 6: - feeling = Feeling.SECRETS; - break; - case 7: - if(Dungeon.isChallenged(MORELEVEL)){ - feeling = Feeling.BIGTRAP; - } - break; - } + if (Dungeon.depth > 1 && !Dungeon.isDLC(Conducts.Conduct.BOSSRUSH)) { + initializeLevelDepthType(); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java index 74655992d..28c7a67ef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels; import static com.shatteredpixel.shatteredpixeldungeon.Challenges.AQUAPHOBIA; import static com.shatteredpixel.shatteredpixeldungeon.Challenges.EXSG; +import static com.shatteredpixel.shatteredpixeldungeon.Challenges.MOREROOM; import static com.shatteredpixel.shatteredpixeldungeon.Dungeon.hero; import static com.shatteredpixel.shatteredpixeldungeon.levels.RegularLevel.Holiday.XMAS; @@ -59,8 +60,10 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.builders.LoopBuilder; import com.shatteredpixel.shatteredpixeldungeon.levels.painters.Painter; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.Room; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretRoom; +import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret.SecretWellRoom; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.AutoShopRoom; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.LanFireRoom; +import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicWellRoom; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.MagicalFireRoom; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NxhyShopRoom; import com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special.NyzBombAndBooksRoom; @@ -235,8 +238,8 @@ public abstract class RegularLevel extends Level { initRooms.add( roomExit = new ExitRoom()); //force max standard rooms and multiple by 1.5x for large levels - int standards = standardRooms(feeling == Feeling.LARGE); - if (feeling == Feeling.LARGE){ + int standards = standardRooms(feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)); + if (feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)){ standards = (int)Math.ceil(standards * 1.5f); } for (int i = 0; i < standards; i++) { @@ -259,9 +262,9 @@ public abstract class RegularLevel extends Level { } // initRooms.add(new EyeRoom()); -// initRooms.add(new YinYangRoom()); +// initRooms.add(new YinYangRoom());z - if(RegularLevel.holiday == Holiday.ZQJ){ + if(RegularLevel.holiday == Holiday.ZQJ ){ if(Dungeon.depth == 17){ initRooms.add(new HeartRoom()); } @@ -284,10 +287,14 @@ public abstract class RegularLevel extends Level { } //force max special rooms and add one more for large levels - int specials = specialRooms(feeling == Feeling.LARGE); - if (feeling == Feeling.LARGE){ + int specials = specialRooms(feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)); + if (feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)){ specials++; } + if(feeling == Feeling.THREEWELL){ + initRooms.add(new SecretWellRoom()); + initRooms.add(new MagicWellRoom()); + } SpecialRoom.initForFloor(); for (int i = 0; i < specials; i++) { SpecialRoom s = SpecialRoom.createRoom(); @@ -365,7 +372,7 @@ public abstract class RegularLevel extends Level { if (Dungeon.depth <= 1) return 0; int mobs = 3 + Dungeon.depth % 5 + Random.Int(3); - if (feeling == Feeling.LARGE){ + if (feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)){ mobs = (int)Math.ceil(mobs * 1.33f); } return mobs; @@ -500,7 +507,7 @@ public abstract class RegularLevel extends Level { // drops 3/4/5 items 60%/30%/10% of the time int nItems = 3 + Random.chances(new float[]{6, 3, 1}); - if (feeling == Feeling.LARGE){ + if (feeling == Feeling.LARGE || Dungeon.isChallenged(MOREROOM)){ nItems += 2; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SLMKingLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SLMKingLevel.java index 7659fe111..3f6dd2713 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SLMKingLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SLMKingLevel.java @@ -74,11 +74,19 @@ public class SLMKingLevel extends SewerLevel { return initRooms; } + @Override + public int tunnelTile() { + return Terrain.WATER; + } + @Override protected int standardRooms(boolean forceMax) { - if (forceMax) return 3; - //2 to 3, average 2.5 - return 2+Random.chances(new float[]{1, 1}); + return 0; + } + + @Override + protected int specialRooms(boolean forceMax) { + return 0; } protected Builder builder(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java index 7be7e1d69..a37ff3b5e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/SewerBossLevel.java @@ -57,6 +57,11 @@ public class SewerBossLevel extends SewerLevel { } private int stairs = 0; + + @Override + public int tunnelTile() { + return Terrain.WATER; + } @Override public void playLevelMusic() { @@ -108,9 +113,12 @@ public class SewerBossLevel extends SewerLevel { @Override protected int standardRooms(boolean forceMax) { - if (forceMax) return 3; - //2 to 3, average 2.5 - return 2+Random.chances(new float[]{1, 1}); + return 0; + } + + @Override + protected int specialRooms(boolean forceMax) { + return 0; } protected Builder builder(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java index 11e7f5459..cbb162f02 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java @@ -446,7 +446,7 @@ public abstract class RegularPainter extends Painter { validCells.size()/5); //5x traps on traps level feeling, but the extra traps are all visible - for (int i = 0; i < (l.feeling == Level.Feeling.BIGTRAP ? 25*nTraps : l.feeling == Level.Feeling.TRAPS ? + for (int i = 0; i < (l.feeling == Level.Feeling.BIGTRAP ? 23*nTraps : l.feeling == Level.Feeling.TRAPS ? 5*nTraps : nTraps); i++) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/secret/SecretWellRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/secret/SecretWellRoom.java index fb57ee121..1541305d9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/secret/SecretWellRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/secret/SecretWellRoom.java @@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.secret; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth; +import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfTransmutation; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; @@ -33,7 +34,7 @@ import com.watabou.utils.Random; public class SecretWellRoom extends SecretRoom { private static final Class[] WATERS = - {WaterOfAwareness.class, WaterOfHealth.class}; + {WaterOfAwareness.class, WaterOfHealth.class, WaterOfTransmutation.class}; @Override public boolean canConnect(Point p) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/MagicWellRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/MagicWellRoom.java index 384fc5fe7..3ab660704 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/MagicWellRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/MagicWellRoom.java @@ -23,6 +23,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.special; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfAwareness; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfHealth; +import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WaterOfTransmutation; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.WellWater; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.Terrain; @@ -33,7 +34,7 @@ import com.watabou.utils.Random; public class MagicWellRoom extends SpecialRoom { private static final Class[] WATERS = - {WaterOfAwareness.class, WaterOfHealth.class}; + {WaterOfAwareness.class, WaterOfHealth.class, WaterOfTransmutation.class}; public Class overrideWater = null; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HeartRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HeartRoom.java index 98e712377..5a6bce80a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HeartRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/HeartRoom.java @@ -3,8 +3,8 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.rooms.standard; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.CHASM; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.EMPTY; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.EMPTY_SP; +import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.FURROWED_GRASS; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.PEDESTAL; -import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.WALL; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.WATER; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; @@ -59,7 +59,7 @@ public class HeartRoom extends SpecialRoom { Painter.drawLine(level, new Point(right, bottom), new Point(left, bottom), WATER); Painter.drawLine(level, new Point(left, bottom), new Point(left, top), CHASM); - Painter.fill(level,this, WALL); + Painter.fill(level,this, FURROWED_GRASS); // 绘制爱心 @@ -73,7 +73,7 @@ public class HeartRoom extends SpecialRoom { Painter.drawLine(level, new Point(centerX + radius, centerY), new Point(centerX, centerY + radius), PEDESTAL); // 绘制眼睛外圈和门 - int eyeRadius = radius / 2; + int eyeRadius = radius /4; Painter.drawCircle(level, center, eyeRadius + 5, EMPTY); Painter.drawCircle(level, center, eyeRadius, CHASM); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/LoveRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/LoveRoom.java index 717f4b83b..8327443c3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/LoveRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/LoveRoom.java @@ -5,7 +5,6 @@ import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.EMPTY; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.EMPTY_SP; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.FURROWED_GRASS; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.PEDESTAL; -import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.WALL; import static com.shatteredpixel.shatteredpixeldungeon.levels.Terrain.WATER; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; @@ -49,7 +48,7 @@ public class LoveRoom extends SpecialRoom { int centerY = center.y; int radius = (right - left) / 2; - int MiddlePos = (top + 7) * level.width() + left + 7; + int MiddlePos = (top + 8) * level.width() + left + 8; Mob n = new PinkGhostNPC(); n.pos = MiddlePos; @@ -60,7 +59,7 @@ public class LoveRoom extends SpecialRoom { Painter.drawLine(level, new Point(right, bottom), new Point(left, bottom), WATER); Painter.drawLine(level, new Point(left, bottom), new Point(left, top), CHASM); - Painter.fill(level,this, WALL); + Painter.fill(level,this, WATER); // 绘制爱心 @@ -74,7 +73,7 @@ public class LoveRoom extends SpecialRoom { Painter.drawLine(level, new Point(centerX + radius, centerY), new Point(centerX, centerY + radius), PEDESTAL); // 绘制眼睛外圈和门 - int eyeRadius = radius / 2; + int eyeRadius = radius / 4; Painter.drawCircle(level, center, eyeRadius + 5, EMPTY); Painter.drawCircle(level, center, eyeRadius, FURROWED_GRASS); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/YinYangRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/YinYangRoom.java index c6947a52e..1ca11a58f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/YinYangRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/standard/YinYangRoom.java @@ -52,7 +52,7 @@ public class YinYangRoom extends SpecialRoom { Item prize; do { prize = Generator.random(cat); - prize.level= Random.NormalIntRange(1,2); + prize.upgrade(Random.NormalIntRange(1,2)); prize.cursed = false; } while (Challenges.isItemBlocked(prize)); return prize; @@ -64,7 +64,7 @@ public class YinYangRoom extends SpecialRoom { Item prize; do { prize = Generator.random(cat); - prize.level= Random.NormalIntRange(2,3); + prize.upgrade(Random.NormalIntRange(2,3)); prize.cursed = true; } while (Challenges.isItemBlocked(prize)); return prize; 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 a3d6854d5..d3606cb01 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Rotberry.java @@ -3,7 +3,7 @@ * Copyright (C) 2012-2015 Oleg Dolya * * Shattered Pixel Dungeon - * Copyright (C) 2014-2022 Evan Debenham + * Copyright (C) 2014-2023 Evan Debenham * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,12 +23,15 @@ package com.shatteredpixel.shatteredpixeldungeon.plants; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.actors.Char; +import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; +import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.AdrenalineSurge; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.LeafParticle; +import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; public class Rotberry extends Plant { @@ -42,20 +45,21 @@ public class Rotberry extends Plant { public void activate( Char ch ) { if (ch instanceof Hero && ((Hero) ch).subClass == HeroSubClass.WARDEN){ Buff.affect(ch, AdrenalineSurge.class).reset(1, AdrenalineSurge.DURATION); + } else { + GameScene.add( Blob.seed( pos, 100, ToxicGas.class ) ); } - - Dungeon.level.drop( new Seed(), pos ).sprite.drop(); } - + @Override public void wither() { Dungeon.level.uproot( pos ); - + if (Dungeon.level.heroFOV[pos]) { CellEmitter.get( pos ).burst( LeafParticle.GENERAL, 6 ); } - - //no warden benefit + + //seed always drops, no lotus benefit + Dungeon.level.drop( new Seed(), pos ).sprite.drop(); } public static class Seed extends Plant.Seed { @@ -66,7 +70,7 @@ public class Rotberry extends Plant { unique = true; } - + @Override public int value() { return 30 * quantity; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java index cb8e77dd1..c5c67bbb9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/GameScene.java @@ -712,6 +712,7 @@ public class GameScene extends PixelScene { case TRAPS: GLog.w(Messages.get(this, "traps")); break; case SECRETS: GLog.w(Messages.get(this, "secrets")); break; case BIGTRAP: GLog.w(Messages.get(this, "moretraps")); break; + case THREEWELL: GLog.w(Messages.get(this, "threewells")); break; } for (Mob mob : Dungeon.level.mobs) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java index 89356249f..3c3aff086 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java @@ -294,6 +294,11 @@ public class HeroSelectScene extends PixelScene { if( !visible && GamesInProgress.selectedClass != null){ visible = true; } + if (SPDSettings.challenges() > 0) { + icon(Icons.get( Icons.CHALLENGE_ON)); + } else { + icon(Icons.get( Icons.CHALLENGE_OFF)); + } super.update(); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java index 4e33b11a3..55bd4cc55 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/Icons.java @@ -104,6 +104,13 @@ public enum Icons { DEPTH_SECRETS, DEPTH_BTRAPS, + + DEPTH_WELLS, + + DEPTH_LINK_ROOM, + + DEPTH_DIED, + CHAL_COUNT, HAPPY_ICON, @@ -340,6 +347,15 @@ public enum Icons { case DEPTH_BTRAPS: icon.frame( icon.texture.uvRectBySize( 112, 64, 7, 7 ) ); break; + case DEPTH_WELLS: + icon.frame( icon.texture.uvRectBySize( 120, 64, 7, 7 ) ); + break; + case DEPTH_LINK_ROOM: + icon.frame( icon.texture.uvRectBySize( 128, 64, 7, 7 ) ); + break; + case DEPTH_DIED: + icon.frame( icon.texture.uvRectBySize( 136, 64, 7, 7 ) ); + break; case CHAL_COUNT: icon.frame( icon.texture.uvRectBySize( 48, 72, 7, 7 ) ); break; @@ -421,6 +437,12 @@ public enum Icons { return get(DEPTH_TRAPS); case BIGTRAP: return get(DEPTH_BTRAPS); + case THREEWELL: + return get(DEPTH_WELLS); + case DIEDROOM: + return get(DEPTH_DIED); + case LINKROOM: + return get(DEPTH_LINK_ROOM); case SECRETS: return get(DEPTH_SECRETS); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/MenuPane.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/MenuPane.java index 8d665dabe..9ce2d3ec7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/MenuPane.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/MenuPane.java @@ -21,6 +21,7 @@ package com.shatteredpixel.shatteredpixeldungeon.ui; +import static com.shatteredpixel.shatteredpixeldungeon.Challenges.PRO; import static com.shatteredpixel.shatteredpixeldungeon.ui.Window.CYELLOW; import static com.shatteredpixel.shatteredpixeldungeon.ui.Window.GREEN_COLOR; import static com.shatteredpixel.shatteredpixeldungeon.ui.Window.RED_COLOR; @@ -176,7 +177,8 @@ public class MenuPane extends Component { btnMenu = new MenuButton(); add( btnMenu ); - version = new BitmapText( "v" + Game.version, PixelScene.pixelFont); + version = new BitmapText( "v" + Game.version + (Dungeon.isChallenged(PRO)?"-DEV_MODE":""), + PixelScene.pixelFont); version.alpha( 0.5f ); add(version); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/mlpd/vM0_6_7_X_Changes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/mlpd/vM0_6_7_X_Changes.java index 23d097a1d..6aa102d2a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/mlpd/vM0_6_7_X_Changes.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/mlpd/vM0_6_7_X_Changes.java @@ -146,6 +146,17 @@ public class vM0_6_7_X_Changes { changes.addButton(new ChangeButton(i, ("熔岩火龙"), ("丛林暴乱的真相"))); + changes = new ChangeInfo("v0.6.5.0-Alpha5.2-国庆", true, ""); + changes.hardlight(Window.TITLE_COLOR); + changeInfos.add(changes); + + changes = new ChangeInfo("改动", false, null); + changes.hardlight(Window.CYELLOW); + changeInfos.add(changes); + + changes.addButton(new ChangeButton(new Image("sprites/spinner.png", 144, 0, 16, 16), + Messages.get(ChangesScene.class, "bugfixes"), Messages.get(vM0_6_7_X_Changes.class, "bug_06X86"))); + changes = new ChangeInfo("v0.6.5.0-Alpha5-中秋", true, ""); changes.hardlight(Window.TITLE_COLOR); changeInfos.add(changes); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBossMessage.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBossMessage.java new file mode 100644 index 000000000..8a1f9a0c8 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndBossMessage.java @@ -0,0 +1,4 @@ +package com.shatteredpixel.shatteredpixeldungeon.windows; + +public class WndBossMessage { +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java index d4cb9bd25..dcd16b367 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndChallenges.java @@ -252,6 +252,10 @@ public class WndChallenges extends Window { info = new IconButton(Icons.get(Icons.INFO)){ @Override protected void onClick() { +// if(challenge.equals("stronger_bosses")){ +// return; +// } + ShatteredPixelDungeon.scene().add( new WndTitledMessage(new Image(ChallengeInfo.this.icon), Messages.titleCase(Messages.get(Challenges.class, challenge)), diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndStartGame.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndStartGame.java index 80abaa0f4..359e489b7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndStartGame.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/windows/WndStartGame.java @@ -177,6 +177,7 @@ public class WndStartGame extends Window { + @Override protected void layout() { super.layout(); @@ -299,9 +300,10 @@ public class WndStartGame extends Window { if( !visible && GamesInProgress.selectedClass != null){ visible = true; } - if (parent != null) { - icon(Icons.get(SPDSettings.challenges() > 0 ? - Icons.CHALLENGE_ON : Icons.CHALLENGE_OFF)); + if (SPDSettings.challenges() > 0) { + icon(Icons.get( Icons.CHALLENGE_ON)); + } else { + icon(Icons.get( Icons.CHALLENGE_OFF)); } super.update(); } @@ -332,6 +334,8 @@ public class WndStartGame extends Window { } + + private static class HeroBtn extends IconButton { private HeroClass cl;