From 65bf2c1547e5052c2b0ce512cbdbacc1ab9e101b Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 11 Apr 2025 12:47:33 -0400 Subject: [PATCH] v3.1.0: added internal code for region decos and a very WIP sewer visual --- .../main/assets/environment/tiles_sewers.png | Bin 20440 -> 20880 bytes .../shatteredpixeldungeon/levels/Terrain.java | 5 ++++- .../tiles/DungeonTerrainTilemap.java | 4 ++++ .../tiles/DungeonTileSheet.java | 12 +++++++++++- .../tiles/DungeonWallsTilemap.java | 4 ++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/core/src/main/assets/environment/tiles_sewers.png b/core/src/main/assets/environment/tiles_sewers.png index 083273c97d388a574c1fbe122a525e373f647e75..a2ed23896a86f4e1c1bbe1f657ba81e5c5bb8a46 100644 GIT binary patch literal 20880 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 literal 20440 zcmY&;XIK;86Yhr4JBoAxMFlC+k(z)=RRlq)(nJIV1f)YCp$IA{O`4RTQdCMndJVlu z2}O$Z-b<(Wj;>H$PqifFV-vzQ&UP(DawLyGIJF?bfTNN7Ayg16cETJ#BHMLf%Sc)|$5`h|Z^DpLh<_=8)~cFF;#MTi?kCQ{^)Sw%JBj z&a3CAd&HABz61vy7M3jd->W(G&1%=frw?5y2cgPWOKPk7;aVI3C3f)62^-HffOxYh z)*yRrN-Yjm^ z>#&WII2*HOik#53yKyLTgl-GonI&!x0zYoS(H1Qqr*eUEptsdynZ1*izAjH!YM6V`+=-U@`0yzg&wSfU(h(; zfIBtxuHZ+FShsIFAM0p`fElAK$(^ArDs}g7ptb5)6st)^z+HGn?mXwPR2ZZMLR#6Fqsc(Wug0>AWfjevT3}XviV&T` ze{WF5kN2$R${3$&b_t8VgN1A#7zYT_5Qyiv&W`J5%Y_^{+o3$*{uWnWwg5w%HrwzM zOC0w5>;P`R2bbp+LSQ@eCuT5&k8BxI8iA|O%53UKC;w6_pU#X>tsU+sc?4M_N#pW%RwA5<7ijS!I*|N53jd2K7FPz}n0L8fg|82sO7_Bar%5 z1GiwP458-3%QOq=Ft40e#%1~`5RgA;-_rD(W;QCWXw%s;00eWuZMkGsX2=acKBiktnra*08{1a`$7ex_1A7c=RP;}J zC#md6b=t&dI#u6QjeqU`WVzpTrrQ$rNx=VQra<-SU+R!Uf0WG>(>sizFZ1^!Qpwx- zL)-V(0Ni5o&WGp+;fIdqVEl4s_+&ARW$!q{Pj*hzKm~jGM!5d2Ak$PcFa*R zpHFjb*d02a8XziSsqDH>-Kgk4 z6RAitopF!Nmc11OGr5YQh;|lduFT0eNi9IIpS$PKIr?k{Y{9%7+<#969Rhos-48oC zr_=DI%8nTG1IcK$t|tt0eSYJ4)T-!GuW%DW6LuZh>h@kTWQoI$&lc@5S2wHD1bMwN zr3gRrfB-Kx{@pl}P5nX)40e14*l6LNV$5`)($vUlV;d(Cv`kZMVp3QmY-e8u$ztPP zMGZ!q&x-|r-N1eQXDQ#-%VYOf?+4Z*GvieGfyO(OuFLxAHU;a+_~|;7Z)D5146f#Y zDPC6sD9bDn(Gj5DHCsh^)EVLt)g$F5PQqjieB{bkf_TtFm&HYqQ^Hz5YD-db@5@xV z3w!63#~0aQ6GOF8x~;7(a=brBUBb3GSBd@0m$b4@Y2eg!ue9{Q*3|TL?)wisN)VbqwHbdajy4c+g*u-wWxX@jU`>+RQ8@~=(_nd!ad1xP|^hCY+WdV1xgr%oX&%DVd0AL#R2c` zVY|q2BsJASKiXtsM{P;ThnWa)=nDr;ckva?loa-FQ;q!$J7w--&r7vT_WAJ7H%5ks zpYz^*eP189lWDB#xA`xQ;=Q))L-h;GWYq;W_wahlX0{=t^I870(l7k|?=ByGFSMpY zaa%+xu~pL@(Uyyve*DtS|X0|@)% z??|2aREl|FwH^s8I}?%ILeFLWS2tCunsNA(DG#&(Ta}O*M!H~ou_LBzy4G7*dB<;Y zRZDQd52>bK?>-BjHZn6{-tv_t%NGqa#@NP%kbiFjg}u|_k^ zW58tzI*k#cl>lzkC$0YuLFSr?Czfn&Q|PB)bYp{w$KzL@RD?;l<96%!I^EYX*~*cx zx5iP`_5RRP`TLLmQVfr{^%SuKcCFHES#;?q!7%uFT=5H?vpP3=piJNH(i``dH;I20 z+U)f;F+EaM@4{ z7)RO0Dfw=G{(krF-S1Pql4x-O#T|*bIlKeA77OiM)aR2SB9G#R9JiyZRw5;tGw4QR z)v@Jh^7`}R&Cw=9Dnx7RW-+B-;wTt>Db4*q7?6>s;jVAZG>oprx1+)n3MizO_c6F@ zH}vE#Jw7P7g6Pkain8czNQq zBw%fAtq;RL0kCV|0meYW;f1{kHh^xZ?gy2?gIqN)=jxrQ>Ntr;wVHFi;InlI%x`B> zo@Ck%?C8QO!sIL6PQBT+x+uD}L4%Y@cdU|F2&1&tRO->Ni2_3;2Rp^3xoF71HNnEu zVMm7G?;@|b7@t>!Zz3 z;%U|t5EO`PlobN8k9h;~OoVSV^t|_iF*02cyEHjD`I=sUdUQ==e!lk3f!D{>)^2ss zeECrQZry{+MoE20&k5Z%{^YQ~CjxJ_fp?&P?7*2Kl7cZ0SkJblQYWqrWH>%Zxl^$s z#t~8ctWs`lA1n<%JG_lZ8r1j0Qx0l3JU@5}-0Ot4U66wFz1NKpd;4oLbRD|kJ|+8) z1;3wHzFE`74qao7Z{ic(bZDq(=hP243qQl8DfO@RXN;i#VEmWE zsk}j1T#KW~%g=AtGvg@>)e>`cQlGflG|{jslei^-M+cZJX=&-#OC|1ApD6)>@Q(}cWe{w&NR&$nY%qK{GoS_84+B& z_{#7?=*fU}hWly}_aJh8Bm`^aI;CI&-vK@kPOd)C2~ym_pYp4(pE}h5@u%0NKSebD zt`nWAa?b#Vn*V;G=Vm59+Cf_BO%24Hipxv8?Q}+))kt`*IDVNC!3zy zPTiCSSg@by0}J9Y8lgQGY|v!CH~*hsUW6!pSOVW&2kpKJ zmytJ{zrCB~No?BG13<+e#wvOj3VK*KAC%+;Q^wl9f1Gt;W&6e5uz7B)`5^%5Row5D*!RuRK? z7s#peQ9M!XDtU{Hf$tn&(Ad5^vaPX!lIn%J_75bcwuN z{>_l2dIT?gPws}hf|^|`8{b3f4PjXonxq9=YMZxA6k<8^h0nJhf^EZI!z6>VY=I`2 z-Ej}I-8K}F+_Wh`49I_3J*=m_mK0kdyU^8x>|i1FwALM>9FiVLkMC`7)}1vmu%nIJ zuEEWL5`=9VWs!-e_2BXp7EJJ3ZdLe13nSc0M_l`gYrQx;vbgyh;>L?BrR+LZqDixKwRpY798rE{|ci@_E)zI~?5Ao#-FD z)svoIL!hbx(h4>OnmSpUY=gUWA{Z{`^m%1&3X`lVX%+>Dm(h>N_0lDqU4*?@^y&B= zz%4Kzx9>g}pxe$#B|6g7m{j5bI?ZV|)Nteqo&Ie~s1IE(j3W_hj124!(Z7DI%lgg2 z@n5EO{6n_dyfUyIpvz>zLl*2DH+&xz%nZbLkKoEjm;-{K4dE5(pL?g)v7oN&K738; z8L;f2&wi}})-?VoO^v6}PITb|6&7Dsm?J}L6?HXw=95EMfzcX6$f58l8{ zjK!Q5z^oqrB8Z3D!~_icLwdY#*0s13I` z4=L$d42$J^&o)Z3_1%TjtH#Rfg*JX{J{|Qs-U;R0@;!Hfv$Pdy8Fcv*S_B9n(y}3m zvKoFS10f!nG?31=2K{F0e7AcE5x7}a&zaiP-ENqU4$brmOR+?IcGxqwE&VR+cm4!P<&%T?>)TI#~Y2h9@O)bh@kU8}e zJat{~+Q;lmmygUN$8NBmNWY%<6GF{&Faj zl9A+iFf)tP&w}IbB7ugAtDM7`~Na zAm`%Q!Mhf!WWr%Mr%eDz(tIaI(sGA^{!_1N=uY9@`|D!lbf@exQm1ShA8-5bPU`Nt zz+I)P@TDb(b!YeaxWqS-E0;gjMn>3t@QA#J+F6nlNXzjwm95R;#7u)n;2yB&C_{qz;3-Cba!S{dnC12(a#%HJO8PjBez!6+pe;;odQ z52A1DF#&#oxxYa3!FKnUnv4F}+THFL3cIoG`tB0SDlz*JM(jg6+vSMs1(zFRzDtj# zAc|@f4~eXMHWrUhCgwDaz&V6}lhD#%^h#zWf`KpYH-vhIGzNt7P|p!ylomLf*vc^_ zX%PC`^%Yt10vyN9th;+!;?HV;?ChBNrJdW@24T`*m4hUR< z3jZPT@z2(UOSlHD?1^6&=RcQJtNXaaOI_;O0^9u#Yn4vTp|P{cRl3~f-Jjf7I+ktX z^~i4Rkop2>%s%OS@4R%VSsIG9RNic|9kG8^>baV9u^)KYl0R z#;w-n;2SptL(lzgFfk7UBFNgB$fZLY_Lb_-vkatA2<<%jGXqxB(+CKsAkJ@XxmS{8 zb{EQw*iQ%YH2z~lTB(g@-`+mJ=TKzVJo|X; zEtpGSHYO75`T54_!+Lb;$Ze%i=La!I!^KRiUWsfn&b>iPc zUmR|;A2pw54f-spg!Q~9Q&pU;Zt#!e#f_-14f3Cg=ll1jJM8Y$g>!b%zqVEVI9Q>7 zM44AA^XS5xxc~i7wUi&jsn7AAD>s^gvAGB2(=KRLuOV14$9M!d3T$86K7F)*V2S1B z;gOSeJ%IcAztfj|Tk|!ai>}cEvBWjiVPPTi&_D~WB|gRxbp594^c^Vv$*WcTHv&B; zy6J{5Q1Y~?mi)Uxa7z~QPBWr@sJ@7%P{mXa`9q%}+Yhb{h*Qe!6)c);+-*2YQU3^x zg#QTbRdISDg8U%Tp%}FZf!HkWf4|iT8@``#Ei+RY@qXyq!&pWKO}H?1UH#C%F~rBhy3bG?8zN!u5skI1 z!|r)5eX}LvAYi$JH@(ZMKBzpfzrnnbS9`2SwW~HtOR_OL`Fh%)LoN%t)U9^~$w*iD zOwuZpjBdRSpyiL52^bHbvP_W?i0YNV~} z1ECgYjldIP@E^^=r00BFe^2=lcly$n z>zLA;WXzA%+skI8%w7~yppg{dFRpF1lsDN_J{wJ?!~;k(^6JBGFwL`F{T}8(tX&LD zMil_Rwo5{5qjM7GEt4?B`rZhy44WZik;Si1Z`Av}WWPJGGwynyin?wZNd@Hrn27QO zGiUaB`yI{iIRsns*?GXug3II0nl#l?1+f}z) zDgGZOPeb_+AMbDM{M`2QEFw)?bAVS~sN=uH$QBtsiq)!u5CxH)ZQ0YK*CSVI3UR5WWn|JHF!mWFFZ(DHb zT=xmg_G=(o38hqa@bfRD*ZZH|!U1iv+cziH(oDN8B#j`N7Se#q*xL^vyACU+=0TFx z8+V-vmoAnC1))2gqSf$je2mtwoV2{JXmj^nv! z2zqG{8gwtac%c`uDcZYvD>gucPUfx;e z+0)D=9u;JlxgWSW2{5BZxIUC}y2ZDv?iet9NailVv#20-LsgImBY;uQ`@^*X11BIr zU)`BfO6=g!caV1&e0b_{_#B=OFrKGVNb$tecqycu-Qyp0`INk*oNSF(ohtCZi!`i; z??;B@(>-CoAWtBn%Lw@gBCkM+;>>2F%I3SuE;Lx(kSfe}2j@iDyacTW3C_s@Y*|^V zcb+tfeiQM086-o0D4USH5jm3n?pwIq->0cxi*5)!_`}e_Dt@O&>)tbVHMB_60n5ja z3$v9MrOjU?7N3fx({?UbP|9N5{NTJGwQ{Pxi>5p?6Vqazj{ij%l?RUB_+cK!<<}Og z5s-D>8f#xwlQ6uQ*`Mw<25DAhdR$$X!yib+xB#!k-ETPqiY0%Vl~l~dh4@~puiQ1^ zjUp%yG~tUPAK>YD!Zw!Y8Uo9)26zK-X+!Osd|LI3b6pR{q2gfMEow~s;C;c|_@#FV zDT+nnj4LLA51F{QyDta!*xUR4>v5t~2j^tZ5;lLI;Q0_-z<&t+^~e2D96R=XywE`_ zMR1ZUb@4@J(pEU)>!+a=mB~6Ga)4|;V8642)qh}8A|e$Npt|ZXVTjp#XmJ0fw&~gYw-uI($Br&NVAL9mHK#iR$UmbD^Q3p|h!9JmiCQ(jt}^ z3c{ zRd_H0ww+GV$y@V6iV#UB_qD-q=$jYk&+6FU(`P0mL`h(=v%pJ&5-1fbm0asDyz6f+(yyMT=H^C$*6D{U*q#AXh_{!h6z1&b^fyAs z+gj%z5<0F+m*hs1zvq=1pRG8)O_A13Wk>L5s;-oKrlowjfrnd#NWA)`KV)tdR<~*V zcl@)(63x)R*>~G+!p4b9$%cxnmtd?fI;U;Au2|BI2m0e1-Un8ptAx3rwQ%ihs&xiY zHn)FX`kfZoVBGOuMp_j3ra#8VkBJ8;{?%-K!ajSJxHe8nd<%78HrdXWgmMW$VFK?b5 z=AAj}QF8Mlbl8kYuD~}vmeLQlyn(oLNPQ@$dTn_nc_ftAs8;oZgUG-%+Ewea{)215) z6J>nFU7H(u?-t3~=jC3Z3grHSJil(|;Vbtpd1WDdbDFk-Bl^2)#OSP`9D5|aPgcp( z^=kBK%P_d~Qs1-qc|{cWiOcKmrhziwHF7;}_O)LOe6^3eb%FWl7Cezij%h3(EaO`X zFST88dim1)<*gwZ+5bD}QXY%%Xo{=;Y3AJEO&;(IlF`?$_Wzus@At|2gNO3dsA=92 zo5KSIgrSv~K!r3{JvtOa1b18A`CZ~H%MslPy}gfyhN9c<+J+=FGrlu%Dpn%g_qo?} zwoDdQmQ`HIffqqM}Oi`fHK+pY8MZ+J6f#Io}fE!i`rm z-lhHu1CN^7Cgde)3AG&h&Tg7C{LhNGl9G!$-wR@rMvs(?%h zuQm#8FMLgU!-#AUifDkVXOt<*UHxZcJA?yWwv)@r@TbP2krPw?fsCN9uJqw))TRCK zP$o0b#Dk!s?w%3e-=6npmFY$CAFLo<$sSj!s3y4tDW;OqL5FEqJSI1PVwJcwyvxn^y^1rutu-8N! zRwgMG@K1GgBYpmo-soyv=vGQ?hw(t6#UDY5FCGHSy9SarOhE47`>sF5NKx*=$=#Amtt88^Jk;A&zM7EYS8DT3~z@ecb#QV2EH`NgIhc z=27o#=75ubx`K-YRVp5We|W>=#1d_p1o8Z471Ewfv1xdjheXB{6($j6$D2s;IgAmW z$C@bae#0%Af;uxplk!2j*QcM7to3c@%MQT7ZNpG&Mz@%@*iKKyRp0iC#{ZSyRYtfc zdej@NSdA;U?~)KlF><<9uK;L*aAjRRsyoTkU{ zznLJDohbN_z|-trJ@XAwFV_*gTkE89y>v$D^PVEhbigA?a<~c0EnhEBDz4_(P9sv0 zrXQawy%E7v4v4~Ck3K&+aRDCNg3aH&-fo!8mJvWnFYo=EvjKbBFfAuZ680(HFrz@r zMssOv`VJ<|2l5EMP2MDAr$QbmfOxuenqu|(x>bi^x)3n6Y?NKG6hG^CY%#Zr^vN-# zTrL8@X+x}K)BvkuPJwLUjNDF zaRIUjKa)BHf4o1%wS0K+%96)&tZe$wEc8oCREn=S@)z-6Q~@$Hu|o4|ookg7G9>@F zUJi+el26rga}J8zOn^hNX5gh9lI%)xuZ3ahg8=ih$hfp<#0H=(_|6ft_o`e7pp13) zeq74@wR|mgk2dGvr|dE7ye!|3|G zT4u#)+{Bx4V3XZW3LZ*d+L}$F$izzDD7b}PZY}@@c7h*kNy;JEE2#nYw=48NdDK5x zf`J1GGhGv2#C5073vzFtfCr}$UeBv+6WaX0d}A}eHK$nib8@e+j&-fS+6J`AI;-f* zwIBG}?5H+6>Y&m8z7;49O~3ubj`oKb3s}Sz=%vp-kfYK1^6e40Tdv960dogRl|UW; z6LxT*aY3~~xl%dlL+)xw*TG2haC@KA^qEP;+*Vi6!<`l}krBYna25*2&qBXRFw3UV zESrUm3x{UTY6)Z$ub(+m#dXhIr{8CYjR=6~pblT)lFFyMp0>kIB-xdXR1YLjgxlkQ zF&5!H+VK$G++KT?ySuu-M=~ZIOMI4_L`Z4b>LM>Ln|$J-++5{B;0DwoLcpHD;029~ zNxESF)q0T5-pP2R*A@kwF?Yh7U0qe+e5g$%6c^*|o6T$WSTRs^}@qYwvK>s%l_h77$#@+^^U=s`HO!r7pZRdz!2N7i5;q`fX zOG+Qe>JqoQAqGnCMDzDD9dgYZJi15ug8L_w_g3+FhPQ*zODYZiqrEr?H~Ql}ypm+# z04jmaq@wxI6$pWSEQ*6(IQT~b++{F?3{`AB?+T8Zz1mJRk(Q(=5v*Ve>3REe;sst7 zx|AV`yeqRmd}X$z?}2H6fr`hg)wEO;w)M*5a^N)vU%kL|vFSb4xkgaP8hnNZ6SAXa zhWRL0o92MG(;$#eFi0dj>vu@m$5tAKWufqY!2MmnEofB=o*#CXiM#h=5myZ-5hxan z{J&#cDDdSV&ujNXyz)3pKW9|Wia^ZS(P-k~8fwa8s_;?&#p4+2=HTtXR5Vs`sdw}r zJKnWhh32MSsvx~THmbAA-OyudY?4Qzb8NE8-O9uNwNq#DC-Nq!PT_i!qJ=QI{KtBx zi&;pB+Q{Uj{<~w3B+j;PstO;Yv^pCMteL%SZ!=oI-LIoa32?VHYjJh(m)`!Oe^9I7 z!?|CXYwFAGm;^z6$;#>|nUK=f(fK;$T%*@Ob>A(0>U0uDjJ5yg1N>tuz zi)PW&GJwns=Jv-BO|rv81P!;54+Ep~DZ&W%6b-Bv!OQ9n{`|i-e;Zk*wTM5wKaVMj z2(qS=t@GfN(a*>+koe#vc43y~vuBho9?3f!_G+O7MGbkOGv%y1L!8;-c!Lau{T$U$ z0#~)ioVJ01Jpua>N?X!%xl#AVb!(eiI0VVU5%V_3vMBjn*kHC8)oNsR^VzDqv%BZF zItcGawLlTEKD(6s=d_(PBE{0F?-{q>vlz+x{OlB z8=?yXz0q2{_Z>dcbp&qwaK~J8?2M+F@B5+s%AL8~ql+W=%IJ4!B~V2g&czf)ao&=W zx*TC_W@dJoi;>!N=rVD3*2dK0;H#R|#>6g~y89RddcLn2-7M8xn)aVy66?0Fn$cX!9cDk8U&!2q<(=Sg<$n?j zzSp}TXr&d&k^GvMRs6Ou^qxkl3kv46uvNYx=k^5qB&X4{wAkx+mHlJ$kvq40=XUb*f<)^9#+B|G7n}7n_ouB*w^Z#RG$)PCH^aANssbr0HDom3@+=)24~G zu(Y(y?Y;cmz5L(l*LM8j+W!8Mj`6|$sQ6m~Qsd8WDO02>frZ!F*4_3UY6_C}qbGEH zT@*CcZhrF3yKwBGCGC3+KH3?-{guP92aM-tCC?W4i>tLygwL)Eo6Nqh9s%}03M)f@ zMp8!yUv&8luXd2AA~Z;{p(KKye!TFB;V)RXW%R$Y$NZm7V%U5tDeVkAo>Of7({c3T z;OlRpY%`^CZGM(?@fqG<78cB@H(A`jJevC_dwmc2@n+EPm5r<3m~1soH+vqGP2;6M zn4F7#yr*ZX$C_VRp`TBWw>X(?RAT{8Kj{@Cuh<;GB;xR}J} z+6Tt&Iqv6cdMF@fb z?7N}5>2$bJX2!=NoIQh&Ez&dIOw68}&HUN|QLCmZst?@#Z;Sd-KEM3E=~{5~ zLx>t@E6vJ?14?eT2-#n7cT4zfSJrcPzjs#yU7y&_;%bd)cXfAHYXzD+zgtBn%)Ihj z4|I2Oik=DbLzR_`=VDJ0B1TC5-A1`tGibe`$Cx1_3o_Kcl{1D=5EA2;R7v|>mR|q{>)A?cE9feZg}grd8y?VL zs5)98DJpuY*PG}DQ5!eBbfJu^*XPbmpRA}a#&vJ-zx~z|^1spq&2WnGC^80o`bklEtj)spn|8e33s;})#yuaPo=c51RWk$MvTKfNn zQ>03`*21EWx%U1Cj&>(vl22}-aJBqnap!oSCr_(q^=7 zk&_FKBLoPDM%k*1R&UFAS zJ709s9M4orr^Ku$Y6{6H6xkNIR~J1tGy4}e?(h8O`NQ(Hhp#+y;^yeQH@CK4GV@9( ztor<^8^zWRf{|unSiI2fRaqLOl3T?@AI(oZ;&}i4@jk=c&eFs{D8W8tdm?S*=r3h4 zu}k>$^zGhB!mAG0#ae`+)nziV8Z>Ib(J`C;O(B(P>`U*@`dSNjylU%{2M*uszI>_p zR;@90i@r~otiam}z)GXsy#^@s4;q_pO>O;6d$iSPCNRj0nadl`uC?}`^U3<~ujuT{ z=BGMRVi>3r8CoY}Vq$4@g5M((?hc|zr+3v3lWd*sT?U+XInz)S05RS_)4hhboZ7Bd$M z3lng5swss{+hh9=kr+NH1tbI(9@d3*ab1LxIn-IK1Jygug07t$gIy{)>GkuBKd9%7 zWVyKW415R-Xof{)#(tH{Y>QhzdT)j0e;A-(>9NDPpKkNDN(VYL60VSWR^@!}& z*6$_goS%A6K*tUa_fFrDS`C|o=LL<%rwSKW`@hMLr>mZ!eYZ^ap_hrP86M8H>Jb+J ze2M`)drp{@02m&>#gdxvD=M1531?3O)Ns@n0x?tE*-iHQDuQ<2KxwH2D}{OyZS(qi ze7U$gBfwEbbq{!V1%%iWe_*u*G-Kkfd^o4Pb|wudB9wqM0Wo&m!blt_=Ori>&XA*m znY-0KJ~I5xeM#w>)bFNpxUE%2T`xt()ovF99EH4N`GNJTL$5!1WmC?FW6cyY&=T8M z&a4{LWylb$_=+sIytu_Tl@he&8b3rQLc)cKlZ;wCdk25~53~K-@%JgG!rd(ue1mF< zz|}nC93H7T(!eNuN@LTU`bzUtow1ND(dNZyuz&9_1)-M#Q{pEgL2V#JB1cQoO}416 zJLzTDUUUN2u#9MiLpD{5OZEZViQK%fPQe3>R}l3`>7`&5M9z*F_cSJwe2YObeZRlU z?2s5s&UnQMz=U}~yBR&MnBiLnzJFczK4gyJ#$EDJk5%%wd_D86U87P^dRe`)}+W%z0jk zPfwe-INY9lMs$KbqXbUK%m5GumI>j$tv=@mrHQ6T$jqi?ITwohHOopnW77|`{5t(l zUhq8#MbZFHmhB!*vQ6c}OGXFhs(|81>wk=`Y*cgc@VKH;RQ`SDsXilP5ibTbfnHL9 zq#LqE?1|o_ras;0%TaIwNExrLz70RYELXbzGU5n{sEU;sKH1mqKe@Zv?4~idV|8Ny z^n*6&ONMWNZ^3S(b95i-M$Yo=oP-p##1IJB>In8}NiTRGLRPzLi#qpc)O$jin(6%# z@7oplg!0OGL6JWoI3;vK>t>Z5Wb%Y^W5ND#2lI>=r+c+m5b#On=+S5{ooAYoAZ4#A zGlTwPC5x|PMbI}9#OcSpHm%AloH3Yqx9Ith!7k3(HHv{BM{Jn((|0UX8yS0mT@!|? zG(9e$uj`RO?kaffH~QV2Myx#B?SE70NZ+#H?Bo6}+x9)dlw}9mxx-5A9GusvQ9@#} z`uAfi9T`jc_>r%pT05D27Zm9{Q`pJue($7+a8U6aI}2@*N7_cp=CPIMwWK-q$8BMb zB-x@vX$8dbbDx{7@7fejq3ZS5t}3O1TR&_S=;$O{)te3+HN)cQ06y0I=%_ybm&igg zC9ROJc!W%oQZ?6O-ggbx7iB#aDJv$dsm!Mbut!WWb082e^7e{St5@d{iCaU-p^hTW zqBd5t(Qv50+Oy9oHYZcs8kA;RZsOAfCOnMX1k|Ox$ExQ+TT13YXTsk9yA8ubMtv!23PE7F|a~b!stQS7~veEyl*VFRF{K%MJkAK;M z5PeL$Zj(%mV+GzTq}||W+{9k}v34GL4;_ivYh0mbqa2uk*X2)gm_CEsKZs%VX9QNe zfcW&xTneeVrv6d#(yF|mqbiqMAp-@9S(I9ohN5}d?vZvMw#s7r@lg~QNFT_9*m_b@ z>UV@c@9BfV;ga7zuojTu!PWL{ zr~{IU5^^$01(axK*L$gJW@X(opVE>2veWwtH|(QyQPf(;-N87Yo13~)drvCO=B&Dz zHkr9M84gLrzQ}(_-%F^0L?b+!JgWzwOYc}!H4q2LSM!VB1FRmDDZXP*Es;19AH^l$ z*K1JCP(ymATotd zluc!i10(Q|85R$q&*{$X>@QTn3HAkcT{Z-1uV}8+y`ZTImV%x>6iAChF~7mO22(eO ztaEy(nS>M<*V$Rcog{0aU)SV>I1UMz&ql6SdT5!RrzTf;ebcHhc=LoloTd+TG$3HE zTGsLU^)vX0j~*w|S6Y~)yw#lEK$qiK)KH~KxlFP(iPjGw(U z_#D-P!(61f9el&Uzlr=tlfeFymZ3cn!lK0fU$@)F@6HQ!~ zWq&+yoI=PtF9(MdBfDK3E#@N(V&tdL<|FP5qh{tg@|rG@aaZA@C72y_{#6xL#bDR~ zxQ4y`J(_-NeCiQZbD{cSR{z>2l(_VYA)ay+5L^<1O(m87|ID&|!7#no;Q(M&yywMv za2TuvcDWHarKJtg(%zs_*L0EMrKxTqN4<-}Wx9i|fy>fW* zJz+6De5rlX^L*0H}`bEbd<|K2ho@Wf&=Y8ee{k&Sy8UOGqt8>^|$X5U2KL5nx zg&cu^SppZ|tK;)>%;ybCb{b#`+Y&;#z1FBzhDq>%_WRGlI^~txbZ;8ABsrEou$hve z#vuQ*gvr&~OjET@*xPo7EOp~xA4B2H51Z1Ko0k;0m$5x7^?h9huVAZ}36pN1#J!d!d-Kc~ ziX8bz2XQ+R05>#!WkzSY&kStaxzd|2FEz+3t9qiS(`&9aV_l(raEL3EPF&UpTnlX{uXrFpjn*vXN>o)7MnQzZw`d|5BIMj zVU=;eF$#D|C_1BtPkBKAqEhZ1_jzD9UB&w~j+_)17du!mTblJqxS6HvnyFETKiVx_hJOmgM?2&g2~UERYNs7K;~~9l zA=@MiT$Mj<0;=yHx`Y~+oV*sj6+EkaPgOYnEFc!t?mc$}VNo`CJ`=svgr7u%Pz!;5 zhg^obeh@VUzPT9(=8G)|FOe802_-1R_N(Lq9@1$iE=*DR{)HmH!^-frz7K(y{!ble z9uH;r{_%SjGh=J?wT)~eku@fS!c0Z#ku8;EEtN{ym%%VM(V%EW3WJ^^+h~z3Oj*V* zg`_kiGA%NLWX6o~o4&vAKhJOZ=e*AQoa_3W*E#2P?mzBxu1oH~B>B<`F)1c#2hK&% z<2YSMeKDVBX=W!mZYO@=s!0hjqTUVEzgF{jn7D207c}tn_?*Pq1BvTlmQY22EqkX! z?+0ai*n8dycp6_aL=Qaj=EJ?tXUBY8J@b_JN2x8@(p!JG-xt2?1HKD-mJ2x0J8SYc zeo|b2-`ab}D?=C$^dv=~%nWb%qp|N@H=H=5v-ktDMbM+wUuBkEw;AUsXRW|pqIl8YT6#)sV8u=tJOTJA{ueXB6`@76k*qZ3iCk@JIneRHQ) z-DmHunS6?d`t9_bPR8*H$!yJwz;a6cho5|+P0@-V@!Lsd|G7Sf_gcu(mk2dSTTik_ z;g+IBGwK5Jle#>sPS_nJj7?&dsS+|`hPSmO-y^T{U)4gHc8LqQQiLgeJQqi1{lx9| zvr^_?T^~dXe;E@L&p8>jBsY)yx8b#_I_h1?DPtuf*Nie@KT?<<%Sa`D@tK8*x;aAj zBy{AlRT?dYQ@aBnhu+W6NAt`$*^&!y8vmG5F92VANw28?982 z*E>Y&pz?bVsG5!-VZN&+Fi*H*IDg~Y>daPPW~<%w(2HHV9fs`fnhQZmPar9VTz&E^ zLzU1*)Qt4k-j4SIu2Xqe@k{e}W2d@4?7I`8EC$l=D5#8@dz_RLL%&JvR%KT=RK+s(CsP~iQ~F2%G3TmJSiYD|F$OY zHh!th2s$?WhHVKpiq(RY34*FYFx_)ep1KfZSKD~77ftG=@;%0YRj%?!QqmIu`=2># z`SrQ}Su*=bzU1+jc53Xa z{{E0%5=#IPSnL~uu^{D?JSvh7b3>cp(IB!|!!Jn#5Lf8pF0R!;JNA%=Fk8u(Kl*yAYv6cJ9L)J$Ip#4Lg)lk2VK;B z*?_q9dSt$B;gT|V3C0@o2V_7z8Da{Egc5W>#9LAZ{#WZi8@T{anxIXCnuZg|^BfU0 z0D!XoQS#%Y06atv0H6Q?08oGOqhJ9brKOT}L&LgsgXA?%ZoUfpEFU9|S+mQO9MDMSQ z);04KyH-2q#0pXLoV@>uMN-Rq|2gCPKQjzE9*3?|^yb+KAAp9^t98dw75$}Aa-YYV zBFlzs2&96zouqBfsnfvfSW24KRT_7hu@WUZ37iBPv@kxn+o5U~su?^hCYT<~~B(pFF&rD@UKA9AwF0=|Eg+N`t{JiR9nY*H`_2^-U)dHAOFMlNZ)hM zMsE`C4J8M)ZJQ{Fv|ZAJGQuqQsf> zuGMBOjE6n)M_<&7x_ut)Yvv!V6=o0-cunYC;MrN3wyh!?5T?|=)l7-MI^NRlC#{8QT6a5#3g|YuS zslmE`pk469#4_(Mv+d=27CBF*KbKn>%bFGtc=NN2$#_HGBc6_)J_*LYN8NWT3kH@V zsA$syx-+SL8;_iH@T65TH_e0;%Y})Myam*Haq9Zjk$ImfX@6b~>xU|kzN(BRO-VC# zNP=a6N9*Hxp5_f%)og~hPPU48B}+MpoLLjTljw;CNLk7g>X5zA^mZ}dY^y@Dro`Oi zKL+E5iFwB42ZU%P=Eb~az@|XV{Jwa=Z&1v_we)>6~_rNIBiQhMAc?;$cJY5A6Czv$jjqN*u8#VveL8B1Kt4}J3#t$CLy8V-zK zSn%)|H?a-hXJQkxXUH}p^^T;Pqm0_RT{h%0LC&C{NKX#c0l=Zj7?6OKgUO+?9~vA; z#!Y(JtJf=Smyys#vUw*8OyDPONI=O;#^~GfblqZlZAvG)Xk&)1^WB8p+Y$Ip2A|WZ zzsD)HS`nBOsgCzRMeiZ)An2P8pcXqjHktn{EYN0PjPcc|LS=_0;(C3Zg9H+JyQN`& zzL}ZA+t&bQ7%>U}mEGb4*M*S*&J+{s-*dH@=8RwZD5}Z8C!p5oHz5&`+tKxA{5W*b z$@xJ=L0@@^UUo$!t+*)#Q)M8HaS8K^v-UmW?PQvAXEi>v<(qC*uM}qZa%0V_VnlIQ zagd-fa>xTHNqNhX%|_Q zx;W;igH`Bn(ew8dPp=+NaCb%sz(5$tZQLYH*Okjc6uT^h2UZ|JI|exa;prnAd~%Ad zikFc~>O(sf>shz6C)%KJ3qZ#)htmOUUi`&oN+VafX-RQMm5!VWnzoYe3Gp@Gi!{K$ zrkMSrRaKN4R#t`=FdyVgV+_I)^<;)U3iqhL({=OU=NwPNVPg*GJnC!9tccuJwpOQe zI49iaPI9Ma!gSWGMI_TXO-00Q_P-8o-(b^%BsPU6zNtj8sK#9WIP!3b%wle!ODZC~ zoRs}u+IW!$IbX1HNzymV@z=K@!!$aeQLr?Xkr5kokh%a*OE)dtS7?3v?kffkl|jB- z-f~iZ@0WI$J7E&QBC8}V6T*2&0`3N#z&losDa1YU;O=rq&yf zWJ+H;WT| z$;s24yGWBNU@ry2D~j(`ApYfgO@Foj+qtLD+#&Puyus1%JFg=0^Z(G4N@ARtB>hA2jn<-#qx z*i(0oY%v8Kc$d;Eadv3N=8NJa4Wvo%yiWzB90$@=YuOY$>~*39Yq@hz5kybu<_Do8 zWfZ3r7#)sylqTWaX&~o}dqn)R1p6`@vxXY|p(>kY*vXKP%qm@OTg(8qGYgYm8hv*z z0%`K1PyN+Lt)2*a0#&-N;}gPRvBl-DaqF2*eDY>82B z!KeU%zAt51@84y~fRAee5Zt*R4^jKoFOM3RA6fFNkF~tJ(j-xL-fr~bgI%dU(lm9~|0&|VEuxz27du#_I1-M3H3@7s#Py1E2MOZ-8SjfNIzV_iKO zZ7j9pzTOt%;7S&#(7dtsD11M+fTIf0kI@dOPFHCNPwpx{cBb|eP~jBlW@I*A2vJD0 zpZ@$3xLHeRu8M`A*b_2Apu@;&_Rao2SN>crIE(2~Gs2s`i#~WFX-&MR| zdZ-W{8^XBi9*$r#**wGT3!Jd5^XC4XMn^`;?>#|7iB{XxeF@GlZ}u1aPXx|CnD> zru!pTgSV48w0B_dz^mXG*rnln03%p;9{y2a(jHO-QRr+@vQ`CTVq7KR(8cDcfo4d5 z5-1si_G`mz0^y-6tmP}$&H)Z8!1Q3V3>ePVLKJ7uw1|tpWmrr%1qT&^yFz=$2dXQb zPinRJY;tUEtyE9LmB;$>h3)(*F>x)r*=Jj*kSCH&;eGpNn5uP@M3&Ah{aQ5 nlUlm$>HbVk=x%p~Hb?;@=&Ol;Z=pD2A8^3I#lB`wK+1ms*>AcY diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java index cfae6e4d1..f9d1de59a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/Terrain.java @@ -61,7 +61,8 @@ public class Terrain { public static final int STATUE = 25; public static final int STATUE_SP = 26; //These decorations are environment-specific - //33 and 34 are reserved for future statue-like decorations + public static final int REGION_DECO = 33; + public static final int REGION_DECO_SP = 34; public static final int MINE_CRYSTAL = 35; public static final int MINE_BOULDER = 36; @@ -116,6 +117,8 @@ public class Terrain { flags[STATUE] = SOLID; flags[STATUE_SP] = flags[STATUE]; + flags[REGION_DECO] = flags[STATUE]; + flags[REGION_DECO_SP] = flags[STATUE_SP]; flags[MINE_CRYSTAL] = SOLID; flags[MINE_BOULDER] = SOLID; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java index 6a0bcfb4d..9569c350a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -70,6 +70,10 @@ public class DungeonTerrainTilemap extends DungeonTilemap { return DungeonTileSheet.RAISED_STATUE; } else if (tile == Terrain.STATUE_SP) { return DungeonTileSheet.RAISED_STATUE_SP; + } else if (tile == Terrain.REGION_DECO) { + return DungeonTileSheet.RAISED_REGION_DECO; + } else if (tile == Terrain.REGION_DECO_SP) { + return DungeonTileSheet.RAISED_REGION_DECO_SP; } else if (tile == Terrain.MINE_CRYSTAL) { return DungeonTileSheet.getVisualWithAlts( DungeonTileSheet.RAISED_MINE_CRYSTAL, diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java index a0712f3bf..bc2ff3a63 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -92,6 +92,7 @@ public class DungeonTileSheet { chasmStitcheable.put( Terrain.EMPTY_WELL, CHASM_FLOOR ); chasmStitcheable.put( Terrain.WELL, CHASM_FLOOR ); chasmStitcheable.put( Terrain.STATUE, CHASM_FLOOR ); + chasmStitcheable.put( Terrain.REGION_DECO, CHASM_FLOOR ); chasmStitcheable.put( Terrain.SECRET_TRAP, CHASM_FLOOR ); chasmStitcheable.put( Terrain.INACTIVE_TRAP,CHASM_FLOOR ); chasmStitcheable.put( Terrain.TRAP, CHASM_FLOOR ); @@ -105,6 +106,7 @@ public class DungeonTileSheet { //special floor chasmStitcheable.put( Terrain.EMPTY_SP, CHASM_FLOOR_SP ); chasmStitcheable.put( Terrain.STATUE_SP, CHASM_FLOOR_SP ); + chasmStitcheable.put( Terrain.REGION_DECO_SP,CHASM_FLOOR_SP ); //wall chasmStitcheable.put( Terrain.WALL, CHASM_WALL ); @@ -136,7 +138,7 @@ public class DungeonTileSheet { Terrain.ENTRANCE, Terrain.EXIT, Terrain.EMBERS, Terrain.BARRICADE, Terrain.HIGH_GRASS, Terrain.FURROWED_GRASS, Terrain.SECRET_TRAP, Terrain.TRAP, Terrain.INACTIVE_TRAP, Terrain.EMPTY_DECO, - Terrain.CUSTOM_DECO, Terrain.WELL, Terrain.STATUE, Terrain.ALCHEMY, + Terrain.CUSTOM_DECO, Terrain.WELL, Terrain.STATUE, Terrain.REGION_DECO, Terrain.ALCHEMY, Terrain.CUSTOM_DECO_EMPTY, Terrain.MINE_CRYSTAL, Terrain.MINE_BOULDER, Terrain.DOOR, Terrain.OPEN_DOOR, Terrain.LOCKED_DOOR, Terrain.CRYSTAL_DOOR )); @@ -187,6 +189,8 @@ public class DungeonTileSheet { public static final int FLAT_STATUE = FLAT_OTHER+8; public static final int FLAT_STATUE_SP = FLAT_OTHER+9; + public static final int FLAT_REGION_DECO = FLAT_OTHER+10; + public static final int FLAT_REGION_DECO_SP = FLAT_OTHER+11; public static final int FLAT_MINE_CRYSTAL = FLAT_OTHER+12; public static final int FLAT_MINE_CRYSTAL_ALT = FLAT_OTHER+13; @@ -284,6 +288,8 @@ public class DungeonTileSheet { public static final int RAISED_STATUE = RAISED_OTHER+8; public static final int RAISED_STATUE_SP = RAISED_OTHER+9; + public static final int RAISED_REGION_DECO = RAISED_OTHER+10; + public static final int RAISED_REGION_DECO_SP = RAISED_OTHER+11; public static final int RAISED_MINE_CRYSTAL = RAISED_OTHER+12; public static final int RAISED_MINE_CRYSTAL_ALT = RAISED_OTHER+13; @@ -367,6 +373,8 @@ public class DungeonTileSheet { public static final int STATUE_OVERHANG = OTHER_OVERHANG+8; public static final int STATUE_SP_OVERHANG = OTHER_OVERHANG+9; + public static final int REGION_DECO_OVERHANG = OTHER_OVERHANG+10; + public static final int REGION_DECO_SP_OVERHANG = OTHER_OVERHANG+11; public static final int MINE_CRYSTAL_OVERHANG = OTHER_OVERHANG+12; public static final int MINE_CRYSTAL_OVERHANG_ALT = OTHER_OVERHANG+13; @@ -428,6 +436,8 @@ public class DungeonTileSheet { directFlatVisuals.put(Terrain.STATUE, FLAT_STATUE); directFlatVisuals.put(Terrain.STATUE_SP, FLAT_STATUE_SP); + directFlatVisuals.put(Terrain.REGION_DECO, FLAT_REGION_DECO); + directFlatVisuals.put(Terrain.REGION_DECO_SP, FLAT_REGION_DECO_SP); directFlatVisuals.put(Terrain.MINE_CRYSTAL, FLAT_MINE_CRYSTAL); directFlatVisuals.put(Terrain.MINE_BOULDER, FLAT_MINE_BOULDER); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java index 7640e54b8..751bf945a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonWallsTilemap.java @@ -92,6 +92,10 @@ public class DungeonWallsTilemap extends DungeonTilemap { return DungeonTileSheet.STATUE_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.STATUE_SP){ return DungeonTileSheet.STATUE_SP_OVERHANG; + } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.REGION_DECO){ + return DungeonTileSheet.REGION_DECO_OVERHANG; + } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.REGION_DECO_SP){ + return DungeonTileSheet.REGION_DECO_SP_OVERHANG; } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.MINE_CRYSTAL){ return DungeonTileSheet.getVisualWithAlts(DungeonTileSheet.MINE_CRYSTAL_OVERHANG, pos + mapWidth); } else if (pos + mapWidth < size && map[pos+mapWidth] == Terrain.MINE_BOULDER){