From b29a1c988776a40b7dab722d1becb020417e0a84 Mon Sep 17 00:00:00 2001 From: xolatile Date: Sun, 9 Jun 2024 20:32:04 -0400 Subject: [PATCH] Refactored locations and removed transitional state... --- game/world/location/apple_tree.png | Bin 711 -> 674 bytes game/world/location/banana_tree.png | Bin 779 -> 740 bytes game/world/location/cherry_tree.png | Bin 662 -> 627 bytes game/world/location/huge_ancient_urn.png | Bin 397 -> 390 bytes game/world/location/lemon_tree.png | Bin 706 -> 668 bytes game/world/location/old_dwarven_grave.png | Bin 384 -> 381 bytes game/world/location/orange_tree.png | Bin 690 -> 654 bytes game/world/location/peach_tree.png | Bin 704 -> 668 bytes game/world/location/pear_tree.png | Bin 700 -> 665 bytes game/world/location/plum_tree.png | Bin 662 -> 627 bytes game/world/location/well_of_agility.png | Bin 2391 -> 1573 bytes game/world/location/well_of_knowledge.png | Bin 2402 -> 1571 bytes game/world/location/well_of_strength.png | Bin 2390 -> 1572 bytes source/location.ads | 9 +++++ source/world.adb | 61 +++++++++++++++++------------- source/world.ads | 2 +- 16 files changed, 44 insertions(+), 28 deletions(-) diff --git a/game/world/location/apple_tree.png b/game/world/location/apple_tree.png index 2903a052aeb6de9730645639b761acf3666e9688..3e2cd2e314ff1c2f9e6922a22ac72bbf188114e1 100644 GIT binary patch delta 642 zcmV-|0)73*1)>Fz7YZN<1^@s6qMd$(ks%m=R7pfZRA}DqSjmyYAP{U^PJk3h!3sgK zIEMYL_O~%O7KI?EKnjGQeMm?%Fr&kI*s6spmrFp;&DFp^Z$|8Ow$J)}Fq@^G2yaB- z{Ra2|I6IF$p6fR|boSlQ_EV{22)%`Yq zeXDp$zYpkIzfJ#M`w7;-*&emy8IO^p6)-Cs=C*zo6lDy;IgS`4;wAmFlf2IdOmny3 zH`somin^gp^70#_$&9++_*(N}n3Fmjvzd-jJk?K)O|r>s((qI_Y13GOy}$<(K~*fF z2pS><_%N3eaf+3r4+EY=dUD9wVJu>QXdqJkN!Uq&S zAbmoe{Ncv=a;R6aEQ22nt2NXV_ c@Bys-0XMCTmaen=2><{907*qoM6N<$g40zrQUCw| delta 680 zcmV;Z0$2T_1;+)D7YZ;41^@s6p-X%pks%m=c}YY;RA}DqnB8&1APmPvE(@>%E5svs zmdud1x^JDKvv>q|1y*1L_W@%hko*xpB)*8dUN7LkB!mp+2k_y|u)WTXRi6)Lv(*#n z4J*9g0DJ&&Hjn-Otp~yB)BjiLdk@e$QE!N_b=fHZ48MQS{IoO(DWlGg;A~EsvoJh= zdT8#q`M0R&{QCey@3;Bi8$Z$-aCU^&(G^db!xfO7#bA)Fh4unI zm?Uaa2_;d?6o3!8l+dI|Ir;Aj#ZGvDxO&W$l;Z(n60n_r1s+f(jKzV>RKzV@j0ObM71C$3S4^SSUJmAB5z&{WZ_(CUbS$Zr0 O0000$roy`5_uXQw&o#4`a{d;qw5_;$|v$6_u6zH6Ws0bY%N z6TNT<;{K5UYUA)#B#^`$2k@oNmiPdmHAav*I&*H#Vdk~=GU+-o$y(h;*lS!nArlUM zE6&XZ_%nFtfi@xuUD}Cg0=wk^9>Q<)c|&r4GFhDgwD$qbdUox$Ms^|iBz~I@zZARTET}s( z#RG_bfS{&1=|m_1{(1se;rIFQ%Xvq=2|1<3{ONu=B66z&@W+n$Z~k{tYmDc!LR}M> zKf$cPJQP)B)>#$!0ht_=-{H{>K*i*+H-72cvH&)Fp=ZItD8MLe07TOv0w}b9#%SeY zX12yJQ@@E$`8_zKlfHg3fSvH82_RC>{n{Ty|C_kJ05}0SDfRs{86hwa7>3^kfDa+_ z5wLYg{Zc5)bEt$a-t{H$>~Q);L;ytU-E2m`BEXlx8#tVP9yReztzV{PrH;<3Zgg`vG6Y5B39WnMgW0Q_&6j0gL$m zdOu(>fWO=iScCr-`Yscx(dXmIACLskU)vAZ8o!KF(R)6g=B_uMO{7LJpO1&+(o}dG r{OtXJqv^l;0k3|*s~_-x_XGX_!FiW|ws=j+00000NkvXXu0mjfk^onC delta 748 zcmVDR;@c<*~OF}m27jT0x000<; zckkxpy_8#Pya@jW)&L*?Kkbv+-n+TRb9S7QPCOHU!v}zKfbZsbo%g1CPqfZ95I76~LV#}Ry~vn4(N^gRZUJvw`C?P2HpKFFl+#3<`@8)2{U?ZixY z_^miM8{kjiT>#pMBy@Qvk_qhQ19%9(T^~PQMm&~UO@s?GyrmIa{}#MDic+&SyuHMh zUf%_nqL@XHi9!GOr1CTr+opYgPRA$ggsjsV*G046=Rc3Ueu6MPoGT@Sw$yW%9+ zcXo=eAo>A<8Rw)Eu>kn%30#DKSr5OQcGR1YS6a-U{-+}$wB zz=x3eh}hbtekqjYIaWfa;QADKwmbbIApj!tZa1S}3E)%Y4eU;Topx6F0ObRA%Lf$E zGPF&D_vX(trRM^WRTBn4Gj=3@ej^;`MBppn-zT8;|Es-HOthl236x7Kw|3|7kzjJ3 zz%O$hmDf&YT2XH__P7L1N}K2cm*8W4{MGn?>Fqtxk4JT%YDG8T z17`96bv|G=fWOQKEWv+^eV2*M5ccEQACOF+zmyNy8ox}pqWArHzIVM>_1Q#b2>bDv zT)q|F27h%vU~l@$2Phw)e1P%+$_FSPpnQPx0m=s`AE11I@&U>RC?BAFfbs##2Phw) ee8B(32mAq%*CghZ`AF0N0000;X(A1^AkbQQGq=&C%*ZMVw_9uw zGq#Suz{YtYju~6Gc$CQ#;~^K+P`k124o0eI#unZ06n2H*1* zQ)r0so}Z29>nmG3J8O3xZsoh4-8|oaP4D@4cxLbVDd;ecr=(O#(ZUm`Z#G$9O5eH^M&6r}B3u!J-GqdVus<>CD+X zdVsSo*>>~*>8mb_r{tuFO|@Ft8iXncA|)W*7;i^PT&og=@Z(EGKw=}L{3%fYk~BdH z_Rkr5K-3Oo=>f_38G3;D{-KCI{iq(`>?U25XYYX9UYlqDGkG#p>VNs2`Jx9DJ)r0T hMGq)?K+yx7;~!U&EOtIL@{j-k002ovPDHLkV1h%DCL{m= delta 630 zcmey&GL3bDIF|tj8v_HwLhl;+iHZ{S9-c0aAsP4H&Nw)+*?`B@-bZQy>vbpY04CEn zxi@cLbKtzdv~@+Ru3|NV@Xcwx%&|Ptz)SYJ2u9)h=eF6vh z7#I!Cn5C#Fe*E@FtBx(;_|GC{-ghe`dyZHB$(mMLJvZcGYAxrn$>$#~{qf~PamV(b z*Xx*zdq;Xn>BY!cTCNu9#VH97y%YC0Enhpw^G%bDzQg{<`|d~Xmb!nN>5E0(mpA28j-ULoylDU2 z9gT4sMCBrnS;_2bR;sr^mqN#shLYqx zvYLf!Jw*=n>x(jW_D=Y;+=bEO5{v2$`}7x#fz}h2va37>vL5|zPgMH0xT<0E?2^EF zdztg9bAy;?oSeKc=>O^WXI9HC06AzC`w9?44obrX&=?;cRvoZ6-K-+J^-2ChVESV4 MboFyt=akR{0GpvNcK`qY diff --git a/game/world/location/huge_ancient_urn.png b/game/world/location/huge_ancient_urn.png index 1464850c1a47d8963331c79e1c371e72281f8c23..d16ca6466c158d77e9c26cbafb5a8f85a75448a4 100644 GIT binary patch delta 356 zcmV-q0h|7f1BL^T7YZN<1^@s68;SVLks%m=I7vi7R7l6|RJ(D+AP{}XmpD`lw4eqY zs20_r%yOn0T!L#La09eJ3#6Cf0G4|oS;w6(xf$;a!)JJJmu2?>e>BCL5eO|HLpa4? z9p`IcI3iI1Flq$jpoHYe1T2`mkPEs;&^@4g!1*}K+Bm>@idrKS5$u79xFE?9{O0+8 z%ax(e!+s>E%^MSVuFh9`Az|xk?+jkk0OHwdqk}0Dg-pQS=b;2K89!rF2NH!OY_)gh zKrYQgTPb&YN#rm&T<6O@0KCY;pP>M}^{;?G=d(P^NF*NszBvaAJ>mVZlp|Pd;ci@R z?BoTHFjf6PlOAwGb$fMiWT|4aqZ4;eBXFH0{lYWo!BpvixkV2q7XgK0+Y8C&8`-;D z6p(nYNj{@CsEr<&p#<)MoAh9`cjh2p`qzVIJ@^4E8};dzB?_Pb00005t=AP^j!`{YRrv_J#* za4lB@zxaNxAthW5Jgxy+pas77a~^;_*d(?uk)o4~gbaw89oEYT;FnGCL`e)=Kt4>k zhQUg%gOw};odBR!7_5f?)=7Mb3Nl6zxKN^G+{|O^OZlzBAXq^S%+i@;RPbHoi!Y^r zTU}Rjs-5xTBY<1$CX&T(02Ic5;l1~>^H1p_Im%tj>he{!F9b_d>Tx0P~J zOCrl;xv7YX_Lc|X0RiAF-+}NL*T!$|iR234&N=Al2p=n@e5Gl}x3SxKlRNxHEBv6v zHb1b06AV`Iy9S0QlHxXIk{^?pz%Srd2e+9Ym_2@Q^MIMH_iiFt+y#!#;68OAuJtY% zj-H%(;Ri;SASN?={GfMF<{)n}hadct9~|$4<9%?v4_?_1z5uQTbF$Ry^S}TA002ov JPDHLkV1oUkr{@3w diff --git a/game/world/location/lemon_tree.png b/game/world/location/lemon_tree.png index f2e63d83d58ad98d06c1d3ce883af9a8666ecb41..261923f3a9914fb2cfbbd641802fbc320ad99515 100644 GIT binary patch delta 636 zcmV-?0)zd+1)K$t7YZN<1^@s6qMd$(ks%m=PDw;TRA}DqSiy0_AP`)6+yE`mf>VOi zf=h4>`9=A;2AAL#oD!TCXn_)xhkVg;Igk`(#?b^m9s_%~cN`!V_~)&$I-N(S`(m)? zt{vZ4z}*pu0dRg8`#6u2u<-KxD13Ma{63Fw80hzdQvkT0fWtW@k;|y_=$s#t<~(qJ zIReiw!~Y!K@*e|myG-*xmp@}0=h69ny5f>Kt^jg|82WKBBsT8G6C4w=@RolHGUqC&reoQcb9GLc>OQ>um?cd_hNt5>cGT@l|Mwc50DInew zOw8K<93+#L`7!ioL$2I&{<&ZK*V~1Y#yDNg$t@s3+%Df&f`j8jN*_dPz*7Y^W&&h_ zv>kvCwSuKv;4kB)l9OA&x<_L`;~hHh`u-4s=*B-t)`;Iu{o0!HCALO9C!igFvEPpL ztqtEw0>*%2M%x88miWeRaNjNnpfwV)1dm7Ho6?|nc)cGYZ!;aO9bff;ss~g(Ks_OU zq6cU@bM*lI2|QO1$nmdwKu!52eG$~6Duma}i=a?R#$(B|#htKH&Iqr!bkXt?L zNowfyQ0kwe2UvE@x4?Zr zbQV~zgtd=y_|kiR3Vx~oLe+g?x4AM&-qZ9yyqE9Qzl^VXK-B}P9#Hjwss~g(AZ?#^ W)omKDUdtu`0000p^gggDK;zsv_=>E-vU^yv+V=eoXQVLVSx0pRr+czh{?s8uvX3?WW` zMGFzQUVw+E>3>ac`OgWsU6=V^8$WBi5HZAax#Che?f`OzoW^-EBsT8G3mpe!=`H`1 zWHFZ0nB-FZlGqRI==FK3KDVD#lkYuU%DtA;c#lq4?CCkyvwsd&uO`P-)3a~BWKL@j zIiVBLug9{Ax9gOEv=S%9?U>W3=SoX|LLrWGqT$4}|5`z1D{22${9H7-9-by0$9~Z5 z#z~5Zw*&`f?SD>^gO>Yq8lMfdcCY#8aqVAk7cLs>bT=1o0ZHO^{dXleIetj#2hkq% z)IptD0J%Y~6M%QMf~~i}ch*ZM7jFUUJ(?4`7%;>zj;9RdF#kcaNBwc>*VdAMFR?x9 zxd8o){eEU_Z~9&eFejWd+HbJ2#Wy}9_Tz>GdZQ3q^!N&W*P4t0zwZx`KPw&WUGF@= zd4Tf(b%gvM9-!^4>y@zfQBB`E&o9w$_21~azuIH1O^Wk0{ZDW0_v&}nI}dOk;5@*2fb#(7 z0e(3Ta30`1zK7!rWoTva+(M*0I!I*ggSw%?;syNfl12&vLvk!Ob8ftR1vv< zURFY+vLx-9OphDRYp8&>4fjXMiBa4W$1+hox+BOHKwby$E$Mz^9yBEI&KuKGbKv#j+Dw|+o!BVN^>yK;O1fQ~z` tlA^!y1Itjti0?}{@q^6b|NY?L2VZ7x>+xE^=YRkJ002ovPDHLkV1lD~p^pFn delta 350 zcmV-k0ipi=0)PXM7YZ;41^@s67+?BVks%m=GD$>1R7l6|R?%&QFcdS01z5o=+zOc` zGxV?YuQOzp%;FUofqop}9!cQfdQzndOZfm^Y`-K}0e*?*ND;}&K1*s26Of!pA`MB1 zF)k!+rFhyRlLV5hcWtiZy+@5ChzO&Dq&k6BsoBS<`v6uVZBdvNB={TPsY0aPvYGdP zx`lNM#%3ZRxe(88SG&;VHUSk2l}OQ}_|}<&F(ri@iTHU7*?!l^to>CB*2NjvH5m5J zM1~>NH~D0epL>duzARC*=imtjyaRuq2VG6cD%k%70>0e~c@ReebimEyBjS7>pg))g z5e`A63(tA7B0N>kgWRV54}$n0I-3Vc5pE$4Vvz?6f$JYO9U}IKH}k+T&U>wa+E58jjqKQ4J#m~+eDYybcN07*qoM6N<$g3A$_b^rhX diff --git a/game/world/location/orange_tree.png b/game/world/location/orange_tree.png index 13d95e7f95482eb9754ed9afa82bb7fe8426428d..90d6f536d39688a6138594b0ae862ece5716045c 100644 GIT binary patch delta 622 zcmV-!0+Ic)1&#%f7YZN<1^@s6qMd$(ks%m=KuJVFRA}DqSX*(!Fc4g4LO>KmAryk4 z5E2UgtNT|9DTH7sg-{R$L2y4D)vL>$EZ3cBJ(Yhlk+k<%on8z4^RLqyoyQ>CV$jEK z9p7od!wHB1aDM8$z0U`s;nVML;ll^uk2bzzpg&Gd0pJ4QSp;D*>O2PLC(@h;-U4uc zp88F^=067D>g)V3ji0fd^BDXwpYg;TR{%Lf3}b&Xlx*CMXE+W>!)yL2$*e7gG09qd zP3${%biu?vmtSI&#~x1kT8m*EBNI;cWFO<%KL;yklVh^*?3=%f5&JF%bP4n%SiDj> zK2tEMjmt5H5zkCtD48e1xZGCe-y-yXj7L&6yd*7sXTovpJ6Ud=T6i7*2{o_nH${#O%Jg202K59ROkUH=mDtE15nTdP@xB)pa-Bv53puWdy;B;fJFk^Dd_={ zIL%f`50G(c1T4}6VCVs;)B|8y=mD`(4=A%UNSU)a4>CfR$M{)dn9x%!v!O%G^#K+^-79?ijO7xkL|7=Wv9^S?BH)^^Tg@W*_{Q|7n=$Qfc7`;(z$<8D0DaX^}0^G}1!+F}?7 z*{W}eeaDV2n6l61m$J$49!~jMi(!064mjD9eXM8y9ITv8j;W+)-~3z(vF~C)mqbq@ zi&rYgX9^~@aXH2?>N(RF8q5=ETy86W^IuBn8IMWT^fGDbIg^fK-^p_0L7tIsCOj}v z=7XFu=kuV``!S4rL#fI!~;;_0chX>sPF(Z@BmbJ02+7zDm(x!JfJjt+Lct}0i`6c zof;32iPLP=cz}#kOTZ!?fC3MFKqC)8fd|A!9#Cs<;Q=V{fQP%leLW1CSk8pDj!OF4 zeZED%)_@c`oi|D6YX0`?LUM=fh`(*OVf07*qoM6N<$f{}(gw*UYD diff --git a/game/world/location/peach_tree.png b/game/world/location/peach_tree.png index 0113f98f686cba8f78426edb51018b20dafc4956..0b828cdb3dffb20af9399e81cff6f6749dc8ad1c 100644 GIT binary patch delta 636 zcmV-?0)zd)1)K$t7YZN<1^@s6qMd$(ks%m=PDw;TRA}DqSlf}qAPf|lG(Zb#AuhqS zTpQyoDEbl5FG)iW1NG3rBR!jc zc+Ecr7?Ae)KgyqB9iShfMY-ZJbG!l;XVcuC7DLg-WL)AHAr-IrUxJi<6d=vrgWtjZ z#vKjtOxYLZH)m6j`g+K{Mq!$h2OL*3ALDrLpOej2Q*g5I+&61!EW_S_f{UPrP-JmH zN&%!&VnK;=q%h%Grc*%Zr?H6PiOBtb8wpKYDfh4O=SiDe1CIsAxZjF$V?ibm-x8dd zw*Og>f^?iu0S4;ra<}}m{=$F0U3k*?qUF^rPJuay0jXFC5gdC-6)&PI;Fk(=Y68-P zxwR0W2M@)VbqahkK31|g1+;UNfQZo_0eY!RxJKzgO{a(*G&$_Y(nhN+QnS;T?FlHi#a+=aj+2F$OY8+t%Nc5O8+yrBnJ+=U)suAXuw z)${-}3Ea+#9#AAsv$diJ6g;(O1RT)=L_gC5#QlCn4=7eNudoe0V6}gT9-!J$?*h|) z7*%k-652b!!mr)u_u$X^x2rB;?`E0s`!uof_+TALpNy}1K-B}P9#Hjwss~g(K(s&7 WJb^B_CysUi0000ID9 z`VGEcsG%O7Is2^qrff2&9yh+%FpkfZ0jJe0$Ecp#r_L6u$$ZlE)HZ2(tk7Nnqf4SY z2A0J>U=ARc5($cxBgRorGMxhoejH1G8k&gGzLL%kj&}yJVxlT)5~46Px>qS<#wS-ql;EnGdl&QAo_sSO0eL_OR9Piok2fW zkP{P-ADCJL5jyZtjcKRAC+kxsvr|AiM=`qKVW9J&_v;@dC)8gze{F5~5<8)Po+hAO znZ8}=JDa{u325Q<){?(h^>EPsA>XeD0%(Oq9MQu&^loV|c=(xKBELHgon3D{z<7Z1 zfbt6Y0uQL>*~tT{PvD(AK=t2vfWiaVRkPp$l~V!_5Cf*y&lMg}IlHu)nqJ`nn(vGU zsH-PjNhKbjCV|egzyqqpNpmfK@PNusDFJ(U0P80_fZgvGctEwHWreNqfW`g|JV2aB zybFx`VGzaTN=WYjO}})X-=aTiU$45Xy{ctG@6$-e(+}-P`eeQF0OJA11B?e44=^5J z&3J(E0OJA11B?e44=^5JJivH>@c`oi#siE87!UYz9`FxpPBy=Qbv7dm00000NkvXX Hu0mjf2-iX% diff --git a/game/world/location/pear_tree.png b/game/world/location/pear_tree.png index 9a5be584a71732aff393f883c2e77932c41867f1..bb96a2064f9d7d64a5230bbeba280afc551dd53d 100644 GIT binary patch delta 633 zcmV-<0*3v(1(^kq7YZN<1^@s6qMd$(ks%m=OG!jQRA}Dqn9*^=APk0uFAJ~&D|7|V z!VG<@`<59pi&yXptiTBF1C|l8WRv(I^#$&Fy#qdeA%uej@Zrsfz0S^?z7S3Isu$vo z2>LI85CNRcV~^?B2#Lr4@8ZV*&^wjyR?yiQdY54U@coG1OZ_-c@^I=;VvBe+FX@MW zn0R!;vpm|5_E5fv00ilYqvvP@WU(}N4B4Z&25y#eIA7x>{T#MsUx;}_HGGBb9ToC^ zTD@O{A3z$TMxjTEao$hc4dZF@G0IbYYAl&w@LZqUFSK=xvE>OeFM2=0EGxp4qkaSP9x3mP566&$G6)qOv4Ya3H_>Gh0oX0hz?jMEUkwKBb1>n{;pnu$4Dlu z{0<1wI14jfFIap0Ah{ratA1_Oyu>cZQwIzO%MS;ASK|kCzyPnef&9J7!%6*rQ?}nu zY+w)^afXL?@Mdq&S@>B#BEL@xU7c_BfL0IqlzMH(VV9fWA4l(7&LQc|`_qi&S1 z!^gS)kwdw@WWVNwoJF#lppuVd7yYCjP~`VJ^?=QZ@(4Sq2kiD&)C0tI#9ScVhgpRA zNl4!Sjo-`XYxuMJdep7#O$`&8PX|_p+WTGp&wQ%~w0c0R2ef)Xs|U1tK+*mHl17Hq TW9S6P00000NkvXXu0mjfT%R{< delta 669 zcmV;O0%HA{1-u227YZ;41^@s6p-X%pks%m=Zb?KzRA}DqSizCQAPf|qG~gC!;aYGl z)NsG^{Zd0}aSLvN7AV2@uw{fS*(84CJP|WDHv=py7U7@;`0(b$Uf)iezL;F~su#jL z5g5JzVgm4O9(#<(K}dM~|1SIx0XnbZn-%EW2|Ay_01&zX)tmcqo}}>HKa(xw)p&`2 zKc*RvB0P)7_%R-eFERju^u$p)ngN+?o;$>>D6WB8P89%G7AcR>2x(b5oG0m=P@kUW;2Ki##EBy=ILqj`%m${Ey<}cc(!bI1LZF~G6xgh>l{o1N|iCqv+1?Uf!?+^N}hVM~;9$s%f`Fj=*det;{0o!84(3_??s7emrI8eZa; zp1{xG_u?;Jg60P>BE=8b1SR+Z;)ZcOJ|@)jn_%}&Q^PBMfEIfLF*&JZEC_{?lx@_E-1;;yPk2FyDts z1oM-Sz5yD3ub!{LpXJxHZpGfzG@;X(A1^AkbQQGmp`v%)lxNw_9uw zGmMVEz{YtYju}R`c$CQ#;~^K+(73Vg4o0eIh7r?m8+L`?1nmG3J8O3xZsn(r-8|oaP4D@4cxIovHs~<1vr_R%=roDcr=(O#(ZUm`Z#G$9O5eH^M&6r}B3u!J-GqdVus<>CD+X zdVsSo*>>~*>8mb_r{tuFO|@Ft8iXncA|)W*7;i^PT&og=@Z(EGKw=}L{3%fYk~BdH z_Rkr5K-3Oo=>f_38G3;D{-KCI{iq(`>?U25XYYX9UYlqDGkG#p>VNs2`Jx9DJ)r0T hMGq)?K+yx7;~!6&EOyp#mT>?8002ovPDHLkV1nEYBr^a2 delta 630 zcmey&GL3bDIF|tj8v_HwLhl;+iHZ{S9-c0aAsP4H&Nw)+*?`B@-bZQy>vbpY04CEn zxi@cLbKtzdv~@+Ru3|NV@Xcwx%&|Ptz)SYJ2u9)h=eF6vh z7#I!Cn5C#Fe*E@FtBx(;_|GC{-ghe`dyen?DK)*cdTz+W)LPDClg~d~`s2%o;*RY< zuh%oZFKJ-?*?0StGRAH{E2=pO+xbmdY%9jQ3MnwxPaqMThhG^b7Qa=vs~>wVT^-bW1f<=y40 zP7&)h@U!U{x&6>NVJEqRJD*IetW4`zK{f9GaU)@@8_{cf0qv{JU ztK6%9W0CK)jUz7UpK-S1XAYyQYxhpf{|bx`Hukpczfk_X_xlaE=L}AX zT6cW6{`$?l;*^Ak-iiC0mam=T`KHN6-(mmbefJ}GOWnWC^u?m?%bW5k$4~xPUbKJi zj>b5RBa(9KA9PQtzZmi(E?&vrpKX`b`l^OkjPn<efkT=Kn7$Z1 MUHx3vIVCg!0Qa3QrvLx| diff --git a/game/world/location/well_of_agility.png b/game/world/location/well_of_agility.png index 0fca0a05e1dbf6026de30797a6df7e25dea49c39..8b752eec6ea6a37c42a34ffe8a2b2ce686773341 100644 GIT binary patch delta 1549 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 diff --git a/game/world/location/well_of_knowledge.png b/game/world/location/well_of_knowledge.png index 61c2ca4d493586fdec813509bcd84f676442b167..3cd9613269b48950574b79d5bc3930cbe8ff1e36 100644 GIT binary patch delta 1547 zcmV+m2K4#j5~B=|7YaZK1^@s6($;@}ks%j<1=UGJK~#9!?VQn-<0=e5<(xDyEzrW7 z65K*kf@^psYz-+PX@L@UTcCw0!TYfx%P5kNFt+y`i}{F?vAIGP62_nbDkX$4m)}!L zL(lV_zb}8NRWeNzq?GdSaJ${uN<#?qIF1lPcwG}?G%LgT+wsp7xP<0Ue0+iX3;^(d zfa`F9`}~0GfX@K{7{{>`ewGwrHbacOZ0!1;P`v4_yfY* z4JZ}DU6=niO%vR1w>b;Z!lypB=I641HNU0<%82r{n1ALjN-2@Qjp_cn`M8Yf4iT=b z^3qy-|W)WVYh>gq5PhYW4OM# zrtFIHF~{e6nnji+e9qV{vh->{XZTdRv22g<`NoMcejfzZdV2Z2{N$98k4wvcq^ywQ zU(!#OZIz{kpOueqChm0_SxV1f2B46vDYcu4gQjrIpWr#eb_TRz7!AsoqYF2RNBH!*AtnstP z#~iIJEp3+!L+VT#J*h)L83VaNPYhRfDwG;M5O~qRH zy7ph+-qiJIe{EWsYJW{<`IvkcP|g)oE-Igkr!~v@ZSESXe&_GUf4z>Zy+@{8)f6Wf zVT9X{TlMjgf|svDoxczNq@9|iR;a}1pXS`9Q=`sbhyQIw5OytpWyN`&8TDQp|3;n5 zS-EyFcFffB9t+sE!6f zPX%k@Oqn68^&IW~_?G%FaG%%aTlKMoZ@u{zdCZ$bwbodsa9d;cOOoLM*I`Y5OTAmp z{%P8tIc5)Fu}0}!OMZY>h45)uvGbL^bV>q9B0kmDal01*gI}> zZCnz9sv*FC+6b-dwd{_yaMt4YHmuh6Qz1CF*&<_e2(Y@kJzSv1XsscLtFzS;Y5BMw zPL4e8>FxnEiqN>j-X377i|xUe!c$E)Ex&azt2M;a8a=SLYuqZX_j(Ll!!Ub$!)ks2 zsWNVvk!A8kyFb6|1$*(SS+%X(-78 x&ku0$;`sp%&iDKP2j_c!fP?crKfuBHzX47i*s6LbuKEA~002ovPDHLkV1lOXD2xCA literal 2402 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 of information; + ------------------------------------------------------------------------------------------ count : constant natural := enumeration'pos (enumeration'last) + 1; diff --git a/source/world.adb b/source/world.adb index f7ba86b..78bab31 100644 --- a/source/world.adb +++ b/source/world.adb @@ -109,7 +109,7 @@ package body world is for index in location.enumeration loop location.game (index) := core.import_sprite (file_path => core.folder & "/game/world/location/" & core.lowercase (index'image) & ".png", frames => location.description (index).frames, - states => location.description (index).states); + states => 2); end loop; end configure; @@ -141,7 +141,7 @@ package body world is map.clips := new boolean_matrix (0 .. map.width - 1, 0 .. map.height - 1); map.views := new boolean_matrix (0 .. map.width - 1, 0 .. map.height - 1); map.landmarks := new landmark.informations (1 .. landmark_limit); - map.locations := new entity_array (1 .. location_limit); + map.locations := new location.informations (1 .. location_limit); map.constructions := new entity_array (1 .. construction_limit); map.equipments := new entity_array (1 .. equipment_limit); map.units := new entity_array (1 .. unit_limit); @@ -195,8 +195,8 @@ package body world is end loop; -- for index in 1 .. location_limit loop - map.locations (index).index := core.random (0, location.count - 1); - map.locations (index).state := 0; + map.locations (index).index := location.enumeration'val (core.random (0, location.count - 1)); + map.locations (index).used := false; <> map.locations (index).x := core.random (6, map.width - 6); map.locations (index).y := core.random (6, map.height - 6); @@ -205,9 +205,9 @@ package body world is goto repeat_location_generation; end if; -- - if location.description (location.enumeration'val (map.locations (index).index)).clip then - declare reach_x : constant natural := location.game (location.enumeration'val (map.locations (index).index)).width / core.base; - reach_y : constant natural := location.game (location.enumeration'val (map.locations (index).index)).height / core.base; + if location.description (map.locations (index).index).clip then + declare reach_x : constant natural := location.game (map.locations (index).index).width / core.base; + reach_y : constant natural := location.game (map.locations (index).index).height / core.base; begin for x in 0 .. reach_x - 1 loop for y in 0 .. reach_y - 1 loop @@ -298,10 +298,15 @@ package body world is end loop; end loop; -- - for index in 1 .. landmark_limit loop core.io.write (file, landmark.enumeration'pos (map.landmarks (index).index)); end loop; + for index in 1 .. landmark_limit loop core.io.write (file, landmark.enumeration'pos (map.landmarks (index).index)); end loop; + for index in 1 .. location_limit loop core.io.write (file, location.enumeration'pos (map.locations (index).index)); end loop; + -- + for index in 1 .. location_limit loop core.io.write (file, boolean'pos (map.locations (index).used)); end loop; + -- for index in 1 .. landmark_limit loop core.io.write (file, map.landmarks (index).x); end loop; for index in 1 .. landmark_limit loop core.io.write (file, map.landmarks (index).y); end loop; - for index in 1 .. location_limit loop save_entity (file, map.locations (index)); end loop; + for index in 1 .. location_limit loop core.io.write (file, map.locations (index).x); end loop; + for index in 1 .. location_limit loop core.io.write (file, map.locations (index).y); end loop; for index in 1 .. construction_limit loop save_entity (file, map.constructions (index)); end loop; for index in 1 .. equipment_limit loop save_entity (file, map.equipments (index)); end loop; for index in 1 .. unit_limit loop save_entity (file, map.units (index)); end loop; @@ -377,9 +382,15 @@ package body world is end loop; -- for index in 1 .. landmark_limit loop core.io.read (file, this); map.landmarks (index).index := landmark.enumeration'val (this); end loop; + for index in 1 .. location_limit loop core.io.read (file, this); map.locations (index).index := location.enumeration'val (this); end loop; + -- + for index in 1 .. location_limit loop core.io.read (file, this); map.locations (index).used := boolean'val (this); end loop; + -- for index in 1 .. landmark_limit loop core.io.read (file, map.landmarks (index).x); end loop; for index in 1 .. landmark_limit loop core.io.read (file, map.landmarks (index).y); end loop; - for index in 1 .. location_limit loop load_entity (file, map.locations (index)); end loop; + for index in 1 .. location_limit loop core.io.read (file, map.locations (index).x); end loop; + for index in 1 .. location_limit loop core.io.read (file, map.locations (index).y); end loop; + -- for index in 1 .. construction_limit loop load_entity (file, map.constructions (index)); end loop; for index in 1 .. equipment_limit loop load_entity (file, map.equipments (index)); end loop; for index in 1 .. unit_limit loop load_entity (file, map.units (index)); end loop; @@ -526,13 +537,13 @@ package body world is end loop; -- for index in 1 .. location_limit loop - core.render_image (data => location.game (location.enumeration'val (map.locations (index).index)), + core.render_image (data => location.game (map.locations (index).index), x => map.locations (index).x * core.base, y => map.locations (index).y * core.base, u => 0, v => 0, - width => location.game (location.enumeration'val (map.locations (index).index)).width, - height => location.game (location.enumeration'val (map.locations (index).index)).height); + width => location.game (map.locations (index).index).width, + height => location.game (map.locations (index).index).height); end loop; -- for index in 1 .. construction_limit loop @@ -880,37 +891,33 @@ package body world is if map.views (map.locations (index).x, map.locations (index).y) and map.locations (index).x > view_from.x and map.locations (index).x < view_from.x + view_to.x and map.locations (index).y > view_from.y and map.locations (index).y < view_from.y + view_to.y then - core.draw (data => location.game (location.enumeration'val (map.locations (index).index)), + core.draw (data => location.game (map.locations (index).index), x => offset.x + (map.locations (index).x - core.camera.x) * core.base * core.zoom, y => offset.y + (map.locations (index).y - core.camera.y) * core.base * core.zoom, - state => core.animation'val (map.locations (index).state)); + state => core.animation'val (boolean'pos (map.locations (index).used))); -- core.increment (drawn_locations); -- if core.cursor_inside (x => offset.x + (map.locations (index).x - core.camera.x) * core.base * core.zoom, y => offset.y + (map.locations (index).y - core.camera.y) * core.base * core.zoom, - width => location.game (location.enumeration'val (map.locations (index).index)).width, - height => location.game (location.enumeration'val (map.locations (index).index)).height) + width => location.game (map.locations (index).index).width, + height => location.game (map.locations (index).index).height) and core.cursor_mode = core.cursor_middle and not ui.prioritize then - core.write_text_box (location.description (location.enumeration'val (map.locations (index).index)).name.all); + core.write_text_box (location.description (map.locations (index).index).name.all); end if; end if; -- - if map.locations (index).state = 1 and core.animation_time = 0 then - map.locations (index).state := 2; - end if; - -- if core.camera.x > map.locations (index).x - 2 - and core.camera.x < map.locations (index).x + 1 + location.game (location.enumeration'val (map.locations (index).index)).width / core.base + and core.camera.x < map.locations (index).x + 1 + location.game (map.locations (index).index).width / core.base and core.camera.y > map.locations (index).y - 2 - and core.camera.y < map.locations (index).y + 1 + location.game (location.enumeration'val (map.locations (index).index)).height / core.base - and map.locations (index).state = 0 + and core.camera.y < map.locations (index).y + 1 + location.game (map.locations (index).index).height / core.base + and map.locations (index).used = false and core.signal_code'pos (core.signal_mode) = core.signal_code'pos (core.signal_e) and not ui.prioritize then declare player : chad.information renames world.map.chads (1); -- - data : effect.information := location.description (location.enumeration'val (map.locations (index).index)).evoke; + data : effect.information := location.description (map.locations (index).index).evoke; -- attribute_index : attribute.enumeration; skill_index : skill.enumeration; @@ -942,7 +949,7 @@ package body world is end case; end; -- - map.locations (index).state := 1; + map.locations (index).used := true; end if; end loop; -- diff --git a/source/world.ads b/source/world.ads index 7cf6fd5..2fd618f 100644 --- a/source/world.ads +++ b/source/world.ads @@ -32,7 +32,7 @@ package world is clips : access boolean_matrix; views : access boolean_matrix; landmarks : access landmark.informations; - locations : access entity_array; + locations : access location.informations; constructions : access entity_array; equipments : access entity_array; units : access entity_array;