From 9545ed9488e2af5b42f3d4816a1f0c6b491a5f73 Mon Sep 17 00:00:00 2001 From: MegaBrutal Date: Thu, 6 Sep 2018 16:15:15 +0200 Subject: [PATCH 1/1] Initial commit new file: card.svg new file: carlos.png new file: carlos.svg new file: clara.png new file: clara.svg new file: index.html new file: john.png new file: john.svg new file: names.lst new file: objects.png new file: objects.svg new file: peter.png new file: peter.svg new file: player.png new file: saiki.png new file: saiki.svg new file: tilemap.json new file: tilemap.tmx new file: tileset.png new file: tileset.svg new file: wgj58.html new file: wgj58.js --- card.svg | 131 +++++++ carlos.png | Bin 0 -> 1876 bytes carlos.svg | 134 +++++++ clara.png | Bin 0 -> 1853 bytes clara.svg | 134 +++++++ index.html | 21 ++ john.png | Bin 0 -> 1952 bytes john.svg | 135 +++++++ names.lst | 11 + objects.png | Bin 0 -> 11732 bytes objects.svg | 742 ++++++++++++++++++++++++++++++++++++ peter.png | Bin 0 -> 1950 bytes peter.svg | 134 +++++++ player.png | Bin 0 -> 391 bytes saiki.png | Bin 0 -> 1898 bytes saiki.svg | 134 +++++++ tilemap.json | 107 ++++++ tilemap.tmx | 82 ++++ tileset.png | Bin 0 -> 15428 bytes tileset.svg | 1015 ++++++++++++++++++++++++++++++++++++++++++++++++++ wgj58.html | 16 + wgj58.js | 511 +++++++++++++++++++++++++ 22 files changed, 3307 insertions(+) create mode 100644 card.svg create mode 100644 carlos.png create mode 100644 carlos.svg create mode 100644 clara.png create mode 100644 clara.svg create mode 100644 index.html create mode 100644 john.png create mode 100644 john.svg create mode 100644 names.lst create mode 100644 objects.png create mode 100644 objects.svg create mode 100644 peter.png create mode 100644 peter.svg create mode 100644 player.png create mode 100644 saiki.png create mode 100644 saiki.svg create mode 100644 tilemap.json create mode 100644 tilemap.tmx create mode 100644 tileset.png create mode 100644 tileset.svg create mode 100644 wgj58.html create mode 100644 wgj58.js diff --git a/card.svg b/card.svg new file mode 100644 index 0000000..7b8232e --- /dev/null +++ b/card.svg @@ -0,0 +1,131 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + JohnEvals + IT Security Department + + diff --git a/carlos.png b/carlos.png new file mode 100644 index 0000000000000000000000000000000000000000..025feffe3aa98d230d01cb47d780bb6541030a53 GIT binary patch literal 1876 zcmV-a2dnsrP)%-&mU@#a^gh;8|?WVoGoy^Qkl9Q7Ij_d4%M~~pU@1UUp z)~pFUr`-;%t?>Eh5Fft;(J#TTiBnTk7>&l@W$}YbrJ|^)2%F6ou!&c%!u#*TC!fIf z?VwV@<;(E=IppL(d%J9o&j-oL;PJrj-EyoD@WT&q^yuRLIy>R#pJD%gxPKok7BCt? zr-P;@C@zK%Km2!HG5)>`RrS3|E+OETU*Lle;-&o8QqPFK^heXyEPJfgOWi6C;tKA&84xT=#fjco@dV;p30x zN-8gx+lq@plHjw?7PmK>;nPp$1=8fx#fJTP(7<8V!8(ksRC60bZ{hd+eCpry7m2ku^1P zRloP1+y!K2%2mB>8>FQLD9+(@1|F!r)-w`;3W!ix)w!hoYjT>3Zon zF&c@B1C#0XV!r(H&GSZ8B}OVMCI*3sHF0)!meZ$C)6~@DxBcwdv*8u=3L>^oJaXg+ zH8nM?UcDN--OjaZ*Qly-JCgdhK!613JMBnY;0u5jveIW%#1Lb%|enS;dDAhb91wBxm;n>E`&VT zj#v|;g{b+(;&eKhoSbBCZZ4qhT`m{X)6*eVwMfL?oev*AOloQ>g@uJ&zI>VN>}-ri zBiY&6{~CMe&K-0*UC8G|7l>FBpFVxc_U+qA``c7XU0odtg@S_z4|49@IfM}8DzI9uNRq_Xty=-8si|S@+O_Q3wTrHD_swdnPF>~=f%?%m_qv19Dsy_>GCE~ciY$ji&)!Gj0E75g^d zoll)Q6|#LV5H)w_rLu3|zOdwZt4$0SD<%ek6%&KNiitsB#l#@s*F>+^8$%n z6;AvPwlgv^uv)FCRH~3ARwxwA%*;@<)c+|X2)`z3wOX`VZMd~WEh~Lu5LhuW2&|YG z1pM}i`}fNaKZb+ya`^V!@Z<^=eoY)1fu5f52v~S%a{;^Ej#{louh+jauBWF5yT3T9g zxm@^sJ{%6mvT2UEO02A`Bt1QyhYug3)9I+JtRyWhjr8<%9zT9eX=y1on~lQ4LSDRh zK}SaiNl8f*6cj9&(4kZ1v;cYm$aNzZNT`^9lvt_x3L^I>#<1Nahq@<4Q?Ck$)G@5soTTrwiNz!m# zU0t;T + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + CarlosElbacalper + Pre-sales + + diff --git a/clara.png b/clara.png new file mode 100644 index 0000000000000000000000000000000000000000..217606701d0efaf750c2fd373f0e5ecec10d588b GIT binary patch literal 1853 zcmV-D2g3M?P)l+!o;T=nU5e&_c+-~OH_PtSRd48U%;XP1?n4|cmf+wFFb2r<^plP6Dx?RI;%qN1YWmep!KyxqTUG@{e# z-chU7DRP6saAdp1L^B41;fP$JP-wPWNHn8RD74DeI{kh>ZnvA|<>f6&u2QMkw{IVD zad8`p7X*;W!Ypcogf#K-j>i)@ROE-o(ObUMk($|5BtWzBI9AHuU|@b%a5 z!w(Q2zxJFi7j$>SC!atLHGEk@pi-&G%gdvur)SM3Ha5bZJy2K( zAAA5R75w}&%*;Se4mh2nIm^qCk^)Oh@ZpDItRO&bEmTyjobTa7XljBB7r^6z`}e_W zh168|=_fdR7~XsDf9sNm`f{tPZ!@_B0a{wXViDU33GmG~V6#D6n^gFHU^)42D!On`~H2=T%8Wye_xF4?S)`ajIFE`=TxgzH1hM$ z#i~wA6Q_WzEU~Kd^I`YyHHz!+@Bj0kEAgJ5o`|jb*OO~8tk#0$?)1AAhXE8A{Kt0LJ- zynOjGHk*xtf&zwzhXJ^C>lSzJ+~Midr(C;sjlsb|u3x{7%jMcut&%knVArl)=yW;& zmY0`FOG~4sriSkBZVC$vF&d2|Cnr-~UA?V3C2OKWp}^sAFgQ4fQmLe+rG<%!35-VL zt7EFGt1+9+#INTr#1L*s7|kxAr?64!mCPX5{@Bk{r&7iHTgic#%t&E^+eYNy^H~NKQ`X%9SfLG&JCH zxiFbbl$V!NRaJ#tE@ymv{MGP(@ZbTBjg6>ODl#)O85tSDXf!f3G(=`*CP_(2q^72Z zO|K*?@pS}2VE_L896fpzr_+hYa{PWjdc7X2)r!O6 zproXPW5RL8VfKS7MxRqkh>#}g^?LMreWbNSEwMQ<48%+f12GfBK*%}q!q^3x{7n%NVAI<8 z%J@}8a%~kMO&nbuWngX~A_6S`vb@n21cA}fQFgC!U)%KbGzkd_jE;`7=k;Bj5kzu# zw%gm=aX1{5mX^}d(SgZiLMD?jGBSd}U_hf0Uv_x$;svv_v-o^I^7HeVoSdY!wUvVh z57O7yhrwXr`0?Wr(JZ++v8$^Kzu!-7Z7oGbMLc@+h(m`CF*7rR+wI2Xa^dlKn3|em zVPS#z_;|9jv+3{eCo?k>r_)Iw5MXRg(%6K3?4_BxmBwdChD#V>X)saXZP| zFquqmwC(HNq_{~!n)v;m@A;1JA|gPBMBeDx1j=AAI0Gd9v*Z8a;vzvX82n5A{Q2{H z+btxT@p`@Y6p4w6y=JrdBb`q7&UOomHr#Iaa7|53nGD1??~99zucoJ`7pT?ho!c!= r>dei}{pIy~+w1G=zr1<#=F|TGl^w?rb?ZF|00000NkvXXu0mjfLTrZO literal 0 HcmV?d00001 diff --git a/clara.svg b/clara.svg new file mode 100644 index 0000000..a73c38e --- /dev/null +++ b/clara.svg @@ -0,0 +1,134 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + ClaraTnavelerri + Accounting + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..4d5b0ce --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + + + CARDS + + + + +
+

CARDS

+

(Inspired by Weekly Game Jam 58 Cards theme)

+ +

By MegaBrutal

+
+ + diff --git a/john.png b/john.png new file mode 100644 index 0000000000000000000000000000000000000000..deaec93aae87aceb5c6b15c2519cb7b13aeffee1 GIT binary patch literal 1952 zcmV;R2VeM!P)TmuMy5dHzZWcH zMwe~x%w3Fco4qjc-F$I#6S6lWQFoW<8!$5&kZg?2KZ$4pW`Y|aI4vM8cdJ`zCHSwj zrFc%yeQ~bn?rj-jX%9F3Bu&n9o<8UIJ>UMGCr_XA92J1W;V3zH@Zdl4^YiPqTCIUJ zOA?7h0@Kse*SovBKRtEolpBY`QQ~sB?n`N2naRmXkHg_8$!u4vC)mopCnVFfLY9VWx%*;%~x_Fg=KmeD^MKl^+mEdZ%n)32; zG#br{+Dj6sR0$TfLSmYD@7_HGL7=+28r3Q(efI1b!^6YaY&I+w%d*>zj)K<Ylh8s7a zrUvr!;k)l(*DiSLt-scl5$oh?W#8+>k|el#6)G#`a#j|6`6VAI4fOgKWkCRs2mF3` z`)xUs8XM)hUAw^Lg7@El@%`Rjc<(*=_|6^p_FFmYG#WVr4F>q-7Z@6XO`Bw64;)yY zwl!m7ULO4P6a4ri^!LkMSgVCU{(z4^hU#j$eB*{}uE_-3w#jWrMnDwhwx4|_kEt~^ zvXP&BB4>3$fjk7*Y;soD)xpM%%M|ByIv@S_Onhi)C~33)SBW(E1nBSYN2}Em2n4uu=MHssbqIpM z#KZ&(3kyh+gv;ehsYXSbxUjIm?c2BUdc7EpMm!!5UayzzYX2GTCJv{qJo^99CSJzI-L%y)yn$y>(Rgbe=r3o(nPgd zO;c0TV)^A2rA?bQEgt9O*_w6?Z#=+GgyJzug(0gBB; zycl#b%-)2y}LKQe9n5Sy>r6 zosM8I$il(`7K??_(ozNo2Qiz?DIXsdYhp`FOU(28_wWBxdH3$!Nl>#iitWy8iL{9c zAZ=m-NSl}d(k3Q=w228Irir2`CMCEeNvpPDDw)KbCl(hMGcYiKTCHBSz$%rBP$)$0 zN}p3Ih?pjt&1TGIbF#IpS<+)-0!W*f0MaHVfY=KV$BxOnACp02BYggOa$>C#u}%E_ zcNiN>j)LdAHvfaq=VN?)96=D+yLT^cw;NFuDK9UNdkMGOjoEC*Xf!UKo0*wmVq${Y z+S(;&8IeeYXf(Ry!>*@KpJFf=;%-P)+)~)pt5>P0s9<(>mW+%Hy1KeJdh{rlFJDHd z(=k6k&xQ>f(ChVt!(qn8#@M)VBRxGml$DiHQc}X~>@0Wh-eupueYCc=Vzb#0MUhA( z!uwbQ1Utdp4OA7@B z1ppY0MkGn%(xpp;LLmZy0Ks68;o)J%#>SYLnPKbJtyEQ2F*i3yR#q0#Xq29w9-cgT z!sO&6n>TO9=krljRTWpS;xe(Jp#hW0L|$GV0Jm=4qN%BgNF;(Nij z5m&BUp{}lOQA2iiHaBnHq_VP-tgI|-HXDP3gV^o%*rH?Yl$AdENRs5e=Bxkt;DcA+ zo~j_6PUoZ8nb_VAUw@t06pM#a-spJ^)`_Ax2ju=w&Hus8B?D0upJw=czU!$LvX=4t z{ns;db8|;ZOG^)#OeW)BH%ap{E|<&G*4Fkn707SiA2@K}?}deh4O*>M8M}lO%>4ZP mQ@`Ke*VWba>FLv_|MhR=htEWFG)bNS0000 + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + JohnEvals + IT Security Department + + diff --git a/names.lst b/names.lst new file mode 100644 index 0000000..6dcd722 --- /dev/null +++ b/names.lst @@ -0,0 +1,11 @@ +John Evals + +Clara Tnavelerri + +Carlos Elbacalper + +Saiki Ytpme + +Peter Tluaf + +Bianca Gnihton diff --git a/objects.png b/objects.png new file mode 100644 index 0000000000000000000000000000000000000000..90e27abc080f2d63f756b226d07f5509c900bc2b GIT binary patch literal 11732 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
516QV%4N?ApoDJOB2fJdcl# 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 + + + + + + + + + + + + + + + + + + + + + + + + Recycling + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/peter.png b/peter.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1868b5ca21b747144cdc1303fe6ed649eaf415 GIT binary patch literal 1950 zcmV;P2VwY$P)#bU7x#=fqGIP$H`F-cx-^`pjb4CJSFc@?P4jlN0R;w*lC=_u- zcq4ANd*<=u$9Jw?z4~QCL&GozgF$Dv+aC!L-kSUO?>{sc3_4kDZSB7b3JQut{qL?u zR4P@xLZL{KYBZYCP>Wg3Xf&EqsZ1vOOQ?mcW@Iv1T$I1cnVA{vb~}rUi^~#RE|-&? zolSIf^gFc|1dvFAEb1NcY2wh(5FU>QyyLaLGb*Qd};bG|R zhJpgnYT^6up|}|G^8U9jsjtH2%D(rBB?$2I&ybrduE)m0*Iz?byp(|(CX>gLhnbz7Wps2DrBcbZZQG~_#_jbz30o5@D=U|lPoF-``1m+7nT)Ec zDn>^~si~=1DhsudVcSpC>2yoWYuB!2-|r8;iHV71W@Z8`m8n#!l^6I2!Zs8Ch|}rx zTleC{3rr@{vJD;wLRgwOH8sVVGiNw*xrj>*YM ztX3-$iG;zyL6k}*M~@y2skX4av4D6J0Z=NH6crWG*w_e&hI+kT)M_08tHGUm*qMz&}?g)-vJS#8F^yg%sqzzG}1C#Nyo7D~5-MUwiNJ5^P^%>4;wZ8Re(Dd{)@$vC~>%(p+%w#f=mzPIdTN@J-6XfLNaPQtd zQd3izpP$EQG_rZ~W*$6vz}~%k5d?vjmKOASJ+ZN|3=Iu2I5DJ?B6 zfH;5~6%|E$dpjPFhlPa&E?v5W(P&&6%r%)z^Cs!(>BPjuFg!fW zwQJXyo}NZ3mEv?dNls4oYaoPSCT3-2F+M)dv17;R?CeCN(U6vwMs{{KZnvAp#zu}G zKhC;!>xhesBPJ$>o}M1I|2{1?K0cn3k`lC9Ew^snqO7cp4I4I)n3#y!Y(}rw5tSmr0ogY1VM5@23v%Y4^3V#y>fff3F^7gY+ z!-;``fl1$)cnSD-(38wJVe&!G`w->zdS`)z|El>vIJlL->-D;%PN(xusD-R%#>U3( z$Py9~dNVUK52{ou{~e(SKC#>F51X2rDkUI(dB1=E{=X+DCzmM{iob?hT(~noKkphF k8|%Ds<;s_hjg2G!0kDDVs_VZQqW}N^07*qoM6N<$f@3PB9{>OV literal 0 HcmV?d00001 diff --git a/peter.svg b/peter.svg new file mode 100644 index 0000000..5d71c74 --- /dev/null +++ b/peter.svg @@ -0,0 +1,134 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + PeterTluaf + Design & Development + + diff --git a/player.png b/player.png new file mode 100644 index 0000000000000000000000000000000000000000..7081815f947d53594c4b2a380e25f4f5fcbb9845 GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4z0jTU$~~3Epp$$8CAiuSV8TW z&1}OQv%H{=%{*_a?|=VWdDushCm^9gv{nCeSjNJBwPTv?3-=rFw4Uc_m|}3wH98`S zgX46@^QbN%?C{a`7Z+16Rb i4COnHSm(X+xu2Lc>&ovx8jQd|WAJqKb6Mw<&;$V5OrHt> literal 0 HcmV?d00001 diff --git a/saiki.png b/saiki.png new file mode 100644 index 0000000000000000000000000000000000000000..f7206d89c93ccc84bb85a7b341d1254dcc62da10 GIT binary patch literal 1898 zcmV-w2bK7VP)cfP)G;X)5qt2NEz@%%?x~(D#_JqHJO>2 z#Ky+1C|;64p$M|56|$&_Po6x%@As3Nn~P$Vl+Mk~(c0QdYHBJ;NlD9&Yj20aLHPDt z`2Kr{i(7uq$B&_<1u7~)t6hQUC0NwNiHQmF^74Y0Wf9bBHTn7ZI2?{;oA~q3U^c@i zpTNf-gIW!Bbuc*zAAA6NPMw0D9(ec= z^70@#8Gif`3JT!E4_~iKx!B6ps=l|$B}wqhFR){W+}3L0yYHa57;HAV%8W+XyBBWV zg0wWS+ZW=yyX6z`5}Qpnd1^{FzpYJPe)ru41MBOTcMOY~7>WG)E38|$(DwVGzaP9_ z*t18jq~c<^ub==t9w;wg*xqJ?Pd}BHySm_qALOcwjg>2K{d(x^1cw7QZ)7gu3fu^ zD2k+|rOo$k+qRAN_I7r@98HIrh%`}>Bt}L?&}y}uK7E=84<0Z(J4<$UHj*T5q*oHL_rz!-B2Ao`nc@8T^8^9` zs;jHHdGlttCB2e}yqq-}4Y9GYoIQJ%^73-7T)Bcmp}_0)0-#hX(d+f}_4U!y(}P~G z$6~Q?>((tsM@O+(ENtDnHDr1tvJwF-77Jdlm#nNTbUGbJjvQfpe4LXfPckqt!1L$N zu~;ma&1Q}rJ4RPm7dD%XO`A3`IyxFstr1y?04kMgzM4!X6IZWZMHEGFJ>r8%^_xmoHylMI|dE>gE%xs;a^*VNs&W#7Je$#2~O{ zVh~s}F$k=g7z7qIQ540HB$p&<)&4LQN){b#Z`ra1yWNgjtzNan3Wb6fFJ6$p()W}R z#G)n|3L7KSPvjby&j0-++IINWzXk zw5Fz}u-okv78W81!fT_)$Hz%XNchwG=H_NnQc_4xPJZpSZ%f3@C)U>1QdwC^XJ;o} zU0q~lW%2m&V^k^?+1c5&w6w5$_ilVX9{~66-Q(cFgSg#pGBPrlnwlazI~%**PC`Ng zb8~YvH8r8v>*?<9X8->EI2;aga&ma|=n*k7F>K$yo!;JFN=i!Duwla+YmPV*B}pPa zJ|3sjNk&En_wV1QsHg~qLV?X@BR4k}r_+ffNoX`0Qc_ZII-Mw$N}Nt7m6eqUf+8|!bWBfA^YrOcOePa%vzd{R5qf)j2?PQR4i5e`OsuG=psuct zl9Cd-ySq7h^yvI$Es7!y4GmOPRpEBKiHnP4W@ZMX(MU%}2RS)82!epm=fmZ4k)NNB z-|t7S*RyNaE|QXx@caGj*|Uet%uHfpVwjzsB@hVUa=A!JNm-fb#b&l8>F<&x5u)GU zR%60BWVl?eu_Y?;UqGl{Q%1-aJ#RsbD2kK7#y@vO|G|X + + + + + + + + + image/svg+xml + + + + + + + + + + + + Corp Logo + SaikiYtpme + Computer Systems + + diff --git a/tilemap.json b/tilemap.json new file mode 100644 index 0000000..38cfc3f --- /dev/null +++ b/tilemap.json @@ -0,0 +1,107 @@ +{ "height":19, + "infinite":false, + "layers":[ + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":19, + "name":"floor", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":19, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684354582, 2684354581, 2684354581, 1610612767, 61, 62, 3221225534, 61, 2684354591, 2684354581, 2684354581, 3221225494, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3221225493, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 2684354581, 2684354581, 3221225494, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610612790, 0, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684354613, 0, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1610612788, 0, 0, 21, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684354582, 2684354581, 2684354581, 1610612758, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 22, 2684354581, 2684354581, 1610612767, 61, 62, 3221225534, 61, 2684354591, 2684354581, 2684354581, 1610612758, 0, 0, 0, 0, 0, 0, 0], + "height":19, + "name":"walls", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":19, + "x":0, + "y":0 + }, + { + "data":[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "height":19, + "name":"furniture", + "opacity":1, + "type":"tilelayer", + "visible":true, + "width":19, + "x":0, + "y":0 + }, + { + "draworder":"topdown", + "name":"objects", + "objects":[ + { + "gid":51, + "height":64, + "id":2, + "name":"john", + "rotation":0, + "type":"spawnpoint", + "visible":true, + "width":64, + "x":353.333333333333, + "y":1121.33333333333 + }, + { + "gid":51, + "height":64, + "id":3, + "name":"clara", + "rotation":0, + "type":"spawnpoint", + "visible":true, + "width":64, + "x":774.666666666667, + "y":894.666666666667 + }], + "opacity":1, + "type":"objectgroup", + "visible":true, + "x":0, + "y":0 + }], + "nextobjectid":4, + "orientation":"orthogonal", + "renderorder":"right-down", + "tiledversion":"1.1.6", + "tileheight":64, + "tilesets":[ + { + "columns":10, + "firstgid":1, + "image":"tileset.png", + "imageheight":320, + "imagewidth":640, + "margin":0, + "name":"tileset", + "spacing":0, + "tilecount":50, + "tileheight":64, + "tilewidth":64 + }, + { + "columns":10, + "firstgid":51, + "image":"objects.png", + "imageheight":320, + "imagewidth":640, + "margin":0, + "name":"objects", + "spacing":0, + "tilecount":50, + "tileheight":64, + "tilewidth":64 + }], + "tilewidth":64, + "type":"map", + "version":1, + "width":19 +} \ No newline at end of file diff --git a/tilemap.tmx b/tilemap.tmx new file mode 100644 index 0000000..e5a4dfe --- /dev/null +++ b/tilemap.tmx @@ -0,0 +1,82 @@ + + + + + + + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0, +0,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0, +0,2,2,1,1,1,1,1,1,2,2,0,0,0,0,0,0,0,0, +0,2,2,1,1,1,1,1,1,2,2,0,0,0,0,0,0,0,0, +0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2684354582,2684354581,2684354581,1610612767,61,62,3221225534,61,2684354591,2684354581,2684354581,3221225494,0,0,0,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,3221225493,0,0,0,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,22,2684354581,2684354581,3221225494,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,1610612790,0,0,21,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,2684354613,0,0,21,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,1610612788,0,0,21,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,2684354582,2684354581,2684354581,1610612758,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0, +21,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0, +22,2684354581,2684354581,1610612767,61,62,3221225534,61,2684354591,2684354581,2684354581,1610612758,0,0,0,0,0,0,0 + + + + +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,63,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 + + + + + + + diff --git a/tileset.png b/tileset.png new file mode 100644 index 0000000000000000000000000000000000000000..18964a2687000fb464d34e536d1f1c57ad6e5c60 GIT binary patch literal 15428 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 L5o%%W5+b=zWGg-X3ZXnNOA2 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 literal 0 HcmV?d00001 diff --git a/tileset.svg b/tileset.svg new file mode 100644 index 0000000..c836c89 --- /dev/null +++ b/tileset.svg @@ -0,0 +1,1015 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wgj58.html b/wgj58.html new file mode 100644 index 0000000..c4d7bb6 --- /dev/null +++ b/wgj58.html @@ -0,0 +1,16 @@ + + + + + Weekly Game Jam 58 + + + + + + + + diff --git a/wgj58.js b/wgj58.js new file mode 100644 index 0000000..d29f4e8 --- /dev/null +++ b/wgj58.js @@ -0,0 +1,511 @@ +var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: function() { this.state.add('GamePlay', GamePlay, true); } }); +var logic; +var cursors; + +const PLAYER_SPEED = 200; +const WAIT_MENUSTEP = 100; +const WAIT_TALK = 250; + +const MENUITEM_TALK = 0; +const MENUITEM_LEAVE = 1; +const MENUITEM_TAKE = 2; + +const GUI_MENUITEM_DISTANCE = 20; + +window.addEventListener("keydown", function(e) { + // Prevent default browser action for arrows and spacebar + if([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) { + e.preventDefault(); + } +}, false); + +function hasTimePassed(time, delay) { + return (game.time.now - time) > delay; +} + +class Dialogue { + // dialogue is array of {actor, text} records. + constructor(dialogue) { + this.dialogue = dialogue; + this.state = 0; + } + + actual() { + return this.dialogue[this.state]; + } + + advance() { + this.state++; + } +} + +class Player extends Phaser.Sprite { + constructor(x, y) { + super(game, x, y, 'player'); + this.y -= this.height; + this.shortname = "John"; + this.fullname = "John Evals"; + this.offerInteraction(null); + this.unfreeze(); + } + + enablePhysics() { + game.physics.arcade.enable(this); + this.body.bounce.y = 0.2; + this.body.bounce.x = 0.2; + this.body.collideWorldBounds = true; + } + + control() { + if ((this.alive) && (!this.freezed)) + { + if (cursors.left.isDown) + { + this.body.velocity.x = -PLAYER_SPEED; + } + else if (cursors.right.isDown) + { + this.body.velocity.x = PLAYER_SPEED; + } + if (cursors.up.isDown) + { + this.body.velocity.y = -PLAYER_SPEED; + } + else if (cursors.down.isDown) + { + this.body.velocity.y = PLAYER_SPEED; + } + } + } + + update() { + this.body.velocity.x = this.body.velocity.y = 0; + this.control(); + } + + freeze() { + this.freezed = true; + } + + unfreeze() { + this.freezed = false; + } + + offerInteraction(npc) { + this.interactablenpc = npc; + } + + takeMe(npc) { + this.loadTexture(npc.key); + npc.kill(); + } +} + +class GameNPC extends Phaser.Sprite { + constructor(x, y, key, shortname, fullname, interaction_distance) { + super(game, x, y, key); + this.y -= this.height; + this.shortname = shortname; + this.fullname = fullname; + this.interaction_distance = interaction_distance; + this.interactable = false; + this.talkcount = 0; + } + + kill() { + super.kill(); + this.exists = false; + } + + update() { + super.update(); + if ((!this.interactable) && (game.physics.arcade.distanceBetween(this, logic.player) < this.interaction_distance)) { + logic.gameinterface.dropNotice("(ENTER) Interact with " + this.shortname + "!"); + logic.player.offerInteraction(this); + this.interactable = true; + } + else if ((this.interactable) && (game.physics.arcade.distanceBetween(this, logic.player) > this.interaction_distance)) { + logic.gameinterface.clearNotice(); + logic.player.offerInteraction(null); + this.interactable = false; + } + } + + actionTalk() { + this.talkcount++; + } + + actionLeave() { + } + + actionTake() { + logic.player.offerInteraction(null); + logic.player.takeMe(this); + return true; + } + + endTalk() { + return true; + } +} + +class NPC_Clara extends GameNPC { + actionTalk() { + switch (this.talkcount) { + case 0: + logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "What a morning..." }, + { actor: logic.player, text: "Hi Clara! What happened?" }, + { actor: this, text: "No one cares to tell. I just know that I have to log on people manually, as the access control system doesn't work properly." }, + { actor: logic.player, text: "Hmm... I'll look into it. Maybe it's just that everyone is fired." }, + { actor: this, text: "Haha! Wouldn't joke about this, though, due to the recent layoffs." }, + { actor: logic.player, text: "Well, maybe if we dare to joke about it, it won't happen to us..." }, + { actor: this, text: "Wish it worked like that... Is it some superstition like the belief that having an umbrella with you prevents rain?" }, + { actor: logic.player, text: "Nah, that actually works; it's not a superstition, but Murphy's Law!" }, + { actor: this, text: "If you say so..." } ] )); + break; + case 1: + logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "John, have you ever thought about losing your employee card?" }, + { actor: logic.player, text: "Yeah, you'd just get a new one." }, + { actor: this, text: "You don't understand me, John!" }, + { actor: this, text: "..." }, + { actor: this, text: "I mean... Losing it for real..." }, + { actor: this, text: "Doesn't it feel like it's the culmination of your being?" }, + { actor: this, text: "If I had no card, would I still exist?" }, + { actor: logic.player, text: "..." }, + { actor: logic.player, text: "You sound very philosophical today." } ] )); + break; + case 2: + case 3: + case 4: + logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Would you like to hear a random fun fact?" }, + { actor: logic.player, text: "Of course!" }, + { actor: this, text: "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s," }, + { actor: this, text: "when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap" }, + { actor: this, text: "into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem" }, + { actor: this, text: "Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum." }, + { actor: logic.player, text: "That's very interesting, I didn't know that!" }, + { actor: logic.player, text: "Thanks for sharing, Clara!" } ] )); + break; + case 5: + logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "Would you like to hear a random fun fact?" }, + { actor: logic.player, text: "Of course!..." }, + { actor: logic.player, text: "But first..." }, + { actor: this, text: "What is it?" }, + { actor: logic.player, text: "..." }, + { actor: logic.player, text: "Never mind, go on with what you wanted to say." }, + { actor: this, text: "Lorem Ipsum is simply dummy text of the printing and typesetting industry..." }, + { actor: logic.player, text: "I knew that already..." }, + { actor: logic.player, text: "But..." }, + { actor: logic.player, text: "Would you go out on a date with me?" }, + { actor: this, text: "..." }, + { actor: this, text: "No." } ] )); + break; + default: + logic.gameinterface.talk(new Dialogue( [ { actor: this, text: "..." } ] )); + } + super.actionTalk(); + } + + actionLeave() { + logic.gameinterface.dropNotice(this.shortname + ": Have a great day, John!"); + } + + endTalk() { + return (this.talkcount < 6); + } +} + + +class GameInterface extends Phaser.Group { + constructor(game, parent) { + super(game, parent, 'GUI', false, false, 0); + this.back_notice = new Phaser.Graphics(game, 0, game.height - 50); + this.back_notice.beginFill(0x000000); + this.back_notice.drawRect(0, 0, game.width, 30); + this.back_notice.endFill(); + this.add(this.back_notice); + this.text_notice = new Phaser.Text(game, 0, this.back_notice.y, null, { align: 'left', fill: 'white', font: 'Ubuntu Mono', fontSize: 18, fontWeight: 'bold' }); + this.text_notice.anchor.setTo(-0.5, -0.2); + this.add(this.text_notice); + this.clearNotice(); + + this.back_menu = new Phaser.Graphics(game, 150, (game.height / 2) + 40); + this.back_menu.beginFill(0x000000); + this.back_menu.drawRect(0, 0, 155, 105); + this.back_menu.endFill(); + this.back_menu.lineStyle(3, Phaser.Color.YELLOW, 1); + this.back_menu.moveTo(10, 35); + this.back_menu.lineTo(this.back_menu.width - 10, 35); + this.add(this.back_menu); + var style = { align: 'left', fill: 'yellow', font: 'Ubuntu Mono', fontSize: 22, fontWeight: 'bold' }; + this.text_menutitle = new Phaser.Text(game, this.back_menu.x, this.back_menu.y, null, style); + this.text_menutitle.anchor.setTo(-0.2, -0.2); + style = { align: 'left', fill: 'white', font: 'Ubuntu Mono', fontSize: 18, fontWeight: 'bold' }; + this.text_menuitem_Talk = new Phaser.Text(game, this.back_menu.x + 35, this.back_menu.y + 40, "Talk", style); + this.text_menuitem_Leave = new Phaser.Text(game, this.back_menu.x + 35, this.text_menuitem_Talk.y + GUI_MENUITEM_DISTANCE, "Leave", style); + this.text_menuitem_Take = new Phaser.Text(game, this.back_menu.x + 35, this.text_menuitem_Leave.y + GUI_MENUITEM_DISTANCE, "Take ID", style); + style.fill = 'yellow'; + this.text_menucursor = new Phaser.Text(game, this.back_menu.x + 15, this.text_menuitem_Talk.y, "→", style); + this.add(this.text_menutitle); + this.add(this.text_menuitem_Talk); + this.add(this.text_menuitem_Leave); + this.add(this.text_menuitem_Take); + this.add(this.text_menucursor); + this.leaveMenu(); + this.last_menustep = 0; + + this.back_talk = new Phaser.Graphics(game, 100, game.height - 120); + this.back_talk.beginFill(0x000000); + this.back_talk.drawRect(0, 0, game.width - 200, 105); + this.back_talk.endFill(); + this.back_talk.lineStyle(3, Phaser.Color.YELLOW, 1); + this.back_talk.moveTo(10, 35); + this.back_talk.lineTo(this.back_talk.width - 10, 35); + this.add(this.back_talk); + style = { align: 'left', fill: 'yellow', font: 'Ubuntu Mono', fontSize: 22, fontWeight: 'bold' }; + this.text_talktitle = new Phaser.Text(game, this.back_talk.x, this.back_talk.y, null, style); + this.text_talktitle.anchor.setTo(-0.2, -0.2); + this.add(this.text_talktitle); + style = { align: 'left', fill: 'white', font: 'Ubuntu Mono', fontSize: 18, fontWeight: 'bold' }; + this.text_talk = new Phaser.Text(game, this.back_talk.x + 35, this.back_talk.y + 40, null, style); + this.text_talk.wordWrap = true; + this.text_talk.wordWrapWidth = this.back_talk.width - 70; + this.text_talk.lineSpacing = -5; + this.add(this.text_talk); + this.leaveTalk(); + this.last_talk = 0; + } + + dropNotice(text) { + this.text_notice.text = text; + this.back_notice.visible = true; + this.text_notice.visible = true; + } + + clearNotice() { + this.back_notice.visible = false; + this.text_notice.visible = false; + } + + npcMenu(npc) { + if (!this.inMenu) { + this.inMenu = true; + this.clearNotice(); + this.text_menutitle.text = npc.shortname; + this.back_menu.visible = true; + this.text_menutitle.visible = true; + this.text_menuitem_Talk.visible = true; + this.text_menuitem_Leave.visible = true; + this.text_menuitem_Take.visible = true; + this.currentmenuitem = MENUITEM_TALK; + this.actualizeCursorPosition(); + this.text_menucursor.visible = true; + this.last_menustep = game.time.now; + } + } + + leaveMenu() { + this.back_menu.visible = false; + this.text_menutitle.visible = false; + this.text_menuitem_Talk.visible = false; + this.text_menuitem_Leave.visible = false; + this.text_menuitem_Take.visible = false; + this.text_menucursor.visible = false; + this.inMenu = false; + } + + talk(dialogue) { + this.inTalk = true; + this.dialogue = dialogue; + this.advanceTalk(); + this.back_talk.visible = true; + this.text_talktitle.visible = true; + this.text_talk.visible = true; + } + + leaveTalk() { + this.inTalk = false; + this.dialogue = null; + this.back_talk.visible = false; + this.text_talktitle.visible = false; + this.text_talk.visible = false; + } + + advanceTalk() { + console.log(this.dialogue); + console.log(this.dialogue.actual()); + var actualdialogue = this.dialogue.actual(); + if (actualdialogue) { + this.text_talktitle.text = actualdialogue.actor.shortname; + this.text_talk.text = actualdialogue.text; + this.dialogue.advance(); + } + else { + this.leaveTalk(); + logic.endTalk(); + } + this.last_talk = game.time.now; + } + + actualizeCursorPosition() { + this.text_menucursor.y = this.text_menuitem_Talk.y + (this.currentmenuitem * GUI_MENUITEM_DISTANCE); + } + + update() { + if ((this.inMenu) && (hasTimePassed(this.last_menustep, WAIT_MENUSTEP))) { + if (cursors.up.isDown) + { + this.currentmenuitem--; + if (this.currentmenuitem < MENUITEM_TALK) this.currentmenuitem = MENUITEM_TAKE; + this.actualizeCursorPosition(); + } + else if (cursors.down.isDown) + { + this.currentmenuitem++; + if (this.currentmenuitem > MENUITEM_TAKE) this.currentmenuitem = MENUITEM_TALK; + this.actualizeCursorPosition(); + } + if (game.input.keyboard.isDown(Phaser.Keyboard.ENTER)) { + logic.callMenu(this.currentmenuitem); + } + this.last_menustep = game.time.now; + } + if ((this.inTalk) && (game.input.keyboard.isDown(Phaser.Keyboard.ENTER)) && (hasTimePassed(this.last_talk, WAIT_TALK))) { + this.advanceTalk(); + } + } +} + +class GameLogic { + + constructor() { + this.player = this.clara = this.carlos = this.saiki = this.peter = this.bianca = null; + this.gameinterface = new GameInterface(game, game.stage); + this.last_menuselect = 0; + } + + createObject(object) { + switch (object.type) { + case 'spawnpoint': this.createCharacter(object); break; + case '': console.error("Object type is empty:", object); break; + default: console.error("Unknown object type:", object); + } + } + + createCharacter(object) { + var newChar; + switch (object.name) { + case 'john': + newChar = new Player(object.x, object.y, 'player'); + this.player = newChar; + this.player.enablePhysics(); + game.camera.follow(this.player); + break; + case 'clara': + newChar = new NPC_Clara(object.x, object.y, 'clara', "Clara", "Clara Tnavelerri", 200); + this.clara = newChar; + break; + default: + console.error("Unknown character:", object); + } + newChar.name = object.name; + game.add.existing(newChar); + console.log(newChar); + } + + callMenu(menuitem) { + console.log("Menu callback received:", menuitem); + this.last_menuselect = game.time.now; + this.gameinterface.leaveMenu(); + switch (menuitem) { + case MENUITEM_TALK: + this.player.interactablenpc.actionTalk(); + break; + case MENUITEM_LEAVE: + this.player.interactablenpc.actionLeave(); + this.player.unfreeze(); + break; + case MENUITEM_TAKE: + if (this.player.interactablenpc.actionTake()) + this.player.unfreeze(); + break; + } + } + + endTalk() { + if (this.player.interactablenpc) { + if (this.player.interactablenpc.endTalk()) { + this.gameinterface.npcMenu(this.player.interactablenpc); + } + else { + this.player.unfreeze(); + this.last_menuselect = game.time.now; + } + } + } + + update() { + if ((game.input.keyboard.isDown(Phaser.Keyboard.ENTER)) && (hasTimePassed(this.last_menuselect, WAIT_MENUSTEP))) { + if ((this.player.interactablenpc) && (this.player.interactablenpc.interactable) && (!this.gameinterface.inMenu) && (!this.gameinterface.inTalk)) { + console.log("Starting interaction with", this.player.interactablenpc.fullname); + this.player.freeze(); + this.gameinterface.npcMenu(this.player.interactablenpc); + } + } + } + +} + +class GamePlay extends Phaser.State { + + constructor() { + + super(); + logic = new GameLogic(); + game.world.updateOnlyExistingChildren = true; + //game.state.add('GameOver', GameOver, false); + + } + + preload() { + + game.load.image('player', 'john.png'); + game.load.image('clara', 'clara.png'); + game.load.image('saiki', 'saiki.png'); + game.load.image('tileset', 'tileset.png'); + game.load.image('objects', 'objects.png'); + game.load.tilemap('gamemap', 'tilemap.json', null, Phaser.Tilemap.TILED_JSON); + + } + + create() { + + game.world.setBounds(0, 0, 800, 600); + game.stage.backgroundColor = '#000000'; + game.physics.startSystem(Phaser.Physics.ARCADE); + + var map = game.add.tilemap('gamemap'); + map.addTilesetImage('tileset', 'tileset'); + map.addTilesetImage('objects', 'objects'); + var layer_floor = map.createLayer('floor'); + layer_floor.resizeWorld(); + this.layer_walls = map.createLayer('walls'); + map.setCollisionBetween(1, 100, true, this.layer_walls); + this.layer_furniture = map.createLayer('furniture'); + map.setCollisionBetween(1, 100, true, this.layer_furniture); + map.objects['objects'].forEach(function(o) { logic.createObject(o); }); + console.log(map.objects); + + cursors = game.input.keyboard.createCursorKeys(); + console.log(logic); + + } + + update() { + + game.physics.arcade.collide(logic.player, this.layer_walls); + game.physics.arcade.collide(logic.player, this.layer_furniture); + logic.update(); + + } +} -- 2.34.1