From 60294d21dce637371b7cfff31a01a848074ce43c Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Thu, 17 Jul 2025 15:55:45 -0600 Subject: [PATCH] Level visuals --- .../future/mountain_clouds_future.png | Bin 5808 -> 6013 bytes graphics/enemy/pigs/spoink.png | Bin 0 -> 741 bytes graphics/enemy/pigs/spoink.png.import | 35 + graphics/particles/raindrop.png | Bin 563 -> 4330 bytes graphics/player/sg.png | Bin 11162 -> 11420 bytes graphics/tiles/future/mountain_future.png | Bin 5571 -> 6296 bytes maps/future/mountain_future.tscn | 598 ++---------------- objects/enemy/pigs/spoink.gd | 33 + objects/enemy/pigs/spoink.tscn | 119 ++++ tilesets/future/t_mountain_future.tres | 171 ++++- tilesets/t_death.tres | 10 +- 11 files changed, 413 insertions(+), 553 deletions(-) create mode 100644 graphics/enemy/pigs/spoink.png create mode 100644 graphics/enemy/pigs/spoink.png.import create mode 100644 objects/enemy/pigs/spoink.gd create mode 100644 objects/enemy/pigs/spoink.tscn diff --git a/graphics/backgrounds/future/mountain_clouds_future.png b/graphics/backgrounds/future/mountain_clouds_future.png index 9e8e7450c6b6e768d5bd3b005c4da566d9560f11..45b6fbbe894dc7559784e7b670e5cd028a5927aa 100644 GIT binary patch delta 2143 zcmV-l2%z_{E&VQ#)+;qSFgH3eHy|-JIyEplF*N`I00E!_0096100961000000AFM* z=>Px$gp&aQ9e<@F^$R5-E>hzEl0u7E503ls?%w0>9U#=pOtZRTfTr7KDiIem*;O&{iU5W% zh%owPW*Kvmltjnzbq^n3@1i`b^SM7qpPI86;1h{s%zrR#;tk@NP21qSPaI-JStULv zo-pZx#E)E8JbvR`a9QA)Av2wtCk_#dg*H~&m=#Tpc$zq(YC7c$8IM)YTb#9Wl{N3l zUl`2kE6ZG`8Abw&Sb_u*3aTif3>#5eby6&(Xg}V;KkE7=aw+60fstbY6=;xMKlmT~ z?$*jrO@Dex!8p+U;y52;KwuYW)Ewvg*l`*sfd3h|(p&yY9hm(jz1GqqN5H@~aB_14_S=>w3au97#v!67hSpzQSy@9t^u z?cX!a{(b;$QgWnD#QN3%01jJeR9JLaO-wptZ?l>LfC3~pI50OcW-~J_WH@DEEi^GR zF)cYcF=8z=Vl^;fW;11EF*P@nJ_U^qH8M9iIWRFbG&DFhGcc3c1%wkdIxsgnF*j5( zH99pgIx#gZFgBBL1{)JKIxsgnF*j5(H99pgIx#gZFgCNE1`Yv}$p%~`IW%K2VK+52 zEnze=HZ3$XFgPt?VK6u?H90k6Wi>P~VK_N3lSv0f6E!U`H!U$YR53L=H846cH7zhU zv!MrT2o`H*OQ!$;00v@9M??Vi05bqW$7mlXlMoOdQRxQ}6*3RNI3#-j00uWnL_t(| z+U?!Jaoac)2H+(}XScypbZ`Y}%f0xZQq+bT@Sc?6YH5igLGnG|`(|>Ag%BX{m_8T|vsuBLI%+?OcVt^yDor~qii_4;8D5CFiz z0iYx`X6|L90iYB$cJ84gfE~?Pxu>lLz&!;`?D-SL?q5$RMwtJ-L9qCh(e2LvKH4A% zg8wf3(u=>w@y*_+Bj-FRB?wP$`d(VF_0yTPWt}R#{BLx6L;D13N5Rx4M*uQM9<^1dzS!o5(!VNs4k9JIR zBYXg~^xgMSef54pyK^GVGk}_Rr6_$npTE2F`Mb01+L%jGk4kVT(#QxE^VGF<r2~H;;-q?K_ZT0qvIfDN zO(gPjk72mIyjM%EKWqiCw5(aX;KmcBWLw#)si}KW+m2c5k?x&)Qq^AuT3fO{?usSa zI(mVWTnO17ye{cy=40fN`QMkCWTkeywe2i@cr{fLuWc*J?s$L2*Q>tURGpEo?cF)s z*LWkwgYaq~UOj(JUD{U5|BPAoO{C=KkGPh1=4`k2!AHq6;TB)>%_&po{&{oSTD$PK zC>^)l*`hvpUDN0LeJ*v3EY;Q)^S`U9vq!3NA#A-^B5xu~`t|B1wGwTW)<-%sXFs22 zFCF)M<}!8fOSVAy_gD|zRH^VRspfv4TB@yVRX`)F)l|(p=HAE1J?~rBQfDoM zefn+_$-{tI2%GlbCL#a?frXP{6GfA769#|8(isBYb-8^0y!x5*`McY@Ed+ptuv34p z*N*_-s?V?H>^RKVwzXsviKc&NqRs6@)Xqk~wg_W0{uOQU zFA2wSKbBT;I|a4VaJTV5VqK@BKLWV zhoyTwc+Iwnyd41JGCJdq`797>d#LtovPKWQVYvO1?HHMH6X}xdZ>D2!@gqRZWppip_UtH- z@dY2p$Y4i+TFdAf%i`z{WE~@u2f*V*tKlqN^Vgj!t!;xg)7z!86^b+K2oM0g2!t9Jix6nn=0||q%IKC}8Q$XlJ4VKuGeuqnUNRV78Lqoe zHUBNkn#N?;BY;!zuhnS-&;Vqr|pha zh_3;a(e>>9A%PR{($jKpBq!KpD?oc6}2NPyv&979W#^77-UT?O%1s V#sJQ)TowQT002ovPDHLkV1n(s3e^Ar delta 2111 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 XJI#@|OEWg500000NkvXXu0mjf*Ref- literal 0 HcmV?d00001 diff --git a/graphics/enemy/pigs/spoink.png.import b/graphics/enemy/pigs/spoink.png.import new file mode 100644 index 0000000..97fdc4c --- /dev/null +++ b/graphics/enemy/pigs/spoink.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/spoink.png-c419333add2909564e9253b1fdac633e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://graphics/enemy/pigs/spoink.png" +dest_files=[ "res://.import/spoink.png-c419333add2909564e9253b1fdac633e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/graphics/particles/raindrop.png b/graphics/particles/raindrop.png index c15cee3dd70ef8031e790ceb99582c3d29531570..77cc954338f7e30c212645d177690eb91bc47927 100644 GIT binary patch literal 4330 zcmeHLYitx%6rOE?*47qzg_egM29bx%&dk1MckEK2TiVrbDQ$uBP?(*$+a2iaY-gwK zmPA5P5NPDlKmrJYh-knNg^(aqybt6tag08nfw^hW zAA)89c_8#Bp-FGX>|O#{zmknlu8MdKiFmD~1@U~ZuNY$!Fk?=8uPbqjnW4>ACos|$ zJ4dq|!{Uscvoj!L3E1++BrFp++n|}YKlE3((|$c_>5mm;XAl^etHbEgXTAM!8Rbulom z-(c(a)0vyAu;ug$x(x*~BaQ1lCvH{u&6?M`BYV$ZpXTIm+q^%cdB95HG%dHJwQTZT zZ2oNOFn`{xQ4>bLLtkBbY|Y%6*^95t4bN)cG{U-d^XT+`4a*!ee%Lt3_f~YXbH@Vi zm(51_*4CP9t!727pct3SMbQ?@Vj%%RM(RQuA0qCARbhd4^xbprevAwJR_pz)c{G{ zp~udMl+}e1Re~Z)wJM;z8Whq-cBatJSqFo@qzXw68;gSAbulIi9k_6{T4`WJfkKr? z2GR)l$8^DKQs7~*y7;D#7|ZGG2$<{O?}Bb$y8#B2&&PQbp;|ZU^|%S$Urtm6N#qQX zwllQgU>VYaEH2V!b0N|hU|G^)<$1<$cOgL#I#GE;5seQCNT&jFvjjYTD}($j&5}-s zT?7gnPx4k)Bt@RK1rTi)Xb0*j3q)l)Mq*Jhg zbAG2_cLe+{t3T$Az7O1_Vy~O9m}!ID&=gnlT0l`{H&G~ss-q7F$|M<;YP=pahP7K* zr;B#5wAE#IbecT_sS!vxozp0!#&l8OrT`-ki6hB;1){>C3S&Uu77i8zf#vl)1!hAJ zYvGJCs;Fg(Qt2i-YIDc14~~<_YrF@lI#}zd)@AM0nxq{Z9rH}5^C_YfsQWLpet7U~ zz{8doND)m@>kL)wM3thd*j?-!qu$^bPL>*T|MFIRs^~Q?#ZtIEnF!NU#CzAo`P!O zWvTZ#c@Dg4_3^))@4;?kR&4T#VAg2RJQXgO6@mW`2I$R%ZQhar$|TL}%S*bN)NhbA z>B60@`rindT3)%9tH}COIrhjq_sshA!2o*J>zP!Rd_g#Pec|10E9>j)O_Nt-Y_i~0 d$L$A3jK?ZIPMp>%7aaj4=FKbe?43M+=|7hnvQ7X1 delta 469 zcmV;`0V@9LA+rRKB!7cxLqkwWLqi~Na&Km7Y-IodD3N`UJxIeq9K~N#MUjew8KgL5 zs7`jNA2`-36rn<>6nNgNw7S4z7YA_yOYV;H2mxCH^ld zw21NGxF7HCJ?`ECLbJkjt0xZVhHa*k2`QUfmHJ*0LKq@qn15E7RhyIL6nw|mJpz2a zi}Ec0bAOIOEpIU(AQ8t|&9sR(h-WtK8s~jtk(CsU_?&pcqze*1a$WWKjdRgufoFBaJd7FJk=Caait(lp-=$c z&*+NCscg(G00000 LNkvXXu0mjfjZW6{ diff --git a/graphics/player/sg.png b/graphics/player/sg.png index 03cd2dc03c5c81cf5a684db906ce2f9bb46f5227..4e434105730e2259093b224ca4498328e39e5839 100644 GIT binary patch delta 7458 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%0DCa^0QoGt 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 V#5N*RPOP2Q!S1+i$?v|m{tKVzgg5{I diff --git a/graphics/tiles/future/mountain_future.png b/graphics/tiles/future/mountain_future.png index b8d3a5c31673d0689336c33ee0e83c3964ee1db9..b9310208a9cdd6e4f34fd03e376886493965e004 100644 GIT binary patch delta 2193 zcmZuzc{JPk7XKx&uT@pC)lzC}G^<3!QWHgOrLCP3p`o4H%Aiw8Q$_8BsV&4(%vg@) zshTvenrbMmoia)@C{p{N?J(-)z4PXr_s9F=-p}`b?>XP^_ukLvd(M4nT!hemc*(_1 zR!UV0003DBd!oA#t%YVFAtv-LgMSI~v{gaYc?3HUI4>FD^js1ERE3$p(ayp7k`~eg z0XIS6000R`V(@S*9)ZA0bYX6l)tDOloQcy-sUqx)C11az{_! z6`^6L%gU~zq#epvd>H(O3jcmycD~qohX2e}on-5+XQ^Kf7tnih{5%Os3x1K_{9)Cm$8SYS&ROv#xT_R`+u`(6Pgx3)PS+x7}LliS<~+g$&EdiyO2_})FbW>onR0sxL_ zhh6cy?d9x*4~}Rr0n@;`p+RUg3S~xunUTpT7#b523d3Q7aj;+%9F9d`Nbukg48u}1 zOAdp?;&4b)Q!EOJftxX=MUxf(OZb()35UT=8IfXY|8Kv&Tx=Z7XcYI;#UMg4XhbLq zhQVUUFf>Vcbr2SZfRPYnBo>KAA`xZ?hP!VuX1J-z+9LM@4r z9PNm}9)JRDdMTRvj1`4bRDrmHlAg)K(Ux`q5Y2QTp1(qwTlYRsQL{U7clBaQV~9ej zZhklKmBfgn=)_|Wt=*;L*D|%g`q{{*&=R<8 z(Zpk-#H$M?KGR%Sz#YTUpqSiHG^%*E@bOJ@y;a)CV1@V6(Vs_$RBU^{i%|raHbO}K zq)`c*@oX+QCX*7G7@ZQR1pve0nEi^vBc4UyGPQarbpkT=dPwbq(QEs0^1<;}bgm`) z=P!VDmpdI#kZN-K=tE)&7Zc{-CO6xzs?$)J7nBuviRGuWz|_ppf+^`~n(k@0n24IwDIjynj6MhS7aq^7&GB8^B}09hE>w6gfcT$N z5o_zqU9(nr%buoEMfZiAYT>S)OuB@hli{O0K2WE0UvEmqeWJ6;2m-?yeTAYl?1q zO`^LZvpbI$@9#iTEdtb4WO2bGb;uIVz<;>82EP z+I^L|?tu;%|1y*R#n}AkXAW_tG%bMQqcp|{g1(KBN)kS!dV~u&H|RiRI9Z^4bPFSg zO8vkaU6HNdhWo4M{UbmeaI`Sytc)dc6hS2(4?G%v-(AeCrF$tD7(A)2^p$DJuU`00 zH(gY(>0J=n(S9|yW)D9e4-MmF6I)qRf{FMd)J9dJ6rEgW-hGnaUo|rPduon{^gOy- z1%hi~1OhO}y!zJ#`ix|&D7usDh$Z#1@_?`BK3O;1Xozvn*>u-dj^Cp|v`7#al=@~H z0&w#kCC?IMmwtMqZd*!w(+z_4UiR?&P%~k7%w&$4(F@C;r3Tt|`q3tDbo;4tKyV(r zA7Y>8>Y5UkcF=nlj%IGu*UO864Lr;CbS_Lu8peohKScR0gKDHiARrTJ<8;54hh(d3 znQIl-YU3rRM`Pv$KQ2DDR0jhxyp<_U=>D$3x|AQ5Wn@P+u4cyKchT)!$uz zS;42RLIGegfaR<0w)3_>r?yXwnH-XV?ttlZ$I7g{ibvWxY1lkiFY8u~cmNt@uzaDz z8QYDDrtQ83f5Zh7?ga4VF4`!?YZ7SXVj+IzA9qO~NIz2Vq0*rwtjmx3X2zKu`=DHc zwZduItX^Abn`J|8Xzz3fkrz60Zoxw+f=e|eLECMS+ zho~OEMU4Pmeph|$h~aKXlJ&I_w#Cp9f++A`03Ax*fCEncInj58S~kSn^G=I#A!V7t z5t-ypOXU6a%+@fG2lF+(8aCr^ymc)m?wch5M-A`pN zUFUT;3X+dvMGV>)%!y90`CY4+bA>qn{NDrz#pVVH5N016DuNW}{(B&Buyr9e+XT}8 E1(&kLdH?_b delta 1627 zcmV-h2Bi6zF~ch%iBL{Q4GJ0x0000DNk~Le0000W0000e2nGNE0G}!NnUNtH0U(h) zM*#zogfUEE2LJ#v0001C2LJ#v0000-Nlj27GA=PNE;Bd)05UK#G&(UdIx;sPFfuwY zGdeXi00962paTE_00001000000001n=K41P00D!O0RbI6nNgNw7S4z7YA_yOYV;H2mxCH^ldw21NGxF7HC zJ?`ECLbJkjt0xZVhHa*k2`QUfmHJ*0LKq@qm{yooo0H`fe8<;40(`xT@+|*ze~v*d zZ!sVs5yx47&9sR(h-WtK8s~jtk(CsU_?&pcqze*1a$WWKjdRgufoFBaJd7FJk=Caait(lp-=$c&*+Ibkg{HD)+1I5A=}En_rfWjHxuG-5PjIg>vHjSe$4 zGB`6ZGc+|bGcY+eliCG@6Er$8GCDFhR4_6+Ff%$eG%YYSlW_(c6Er$8GCDFhR4_6+ zFf%$eG%YYSv!4dk0<%^MU5okvM000JJOGiWi{{a60|De66latI69)IWz8wUe6 zmGj;Y000AB=p%-ZhX+k2q+e$3?vB*YP58;io)7jm$sXq?B%Vg&5 z%=hM-Z{EBp+pD?@0Cu;7M1O3EwftDQR)VIb(QLG#sVV@#v@G_Ux9_7-==w+2uNzea zSp)#ewGx_*wx=~Miv^O15BGv|S}4~_u)7`DP78Lo<5{d&(Q&cy1E;YF0cfg<$?+Ug zqe)DT=NJGFGC7_@B0kLe6d>8mL>|S8?%Dm}QQa5(@TiU`0odIROn=kp?N%M~0P%hR z&|>NdKLBj*Y+-(S4x2k$0Dw$7%YbBdWh{dz0N758EowV00IFw)reiQaf9||q0APN4 z4#kSjfO#O_BS^%0yS2L=XsQZLOS3a(Alzw=zlG$dakAIw2(p)gxO4NN%Y(oB@InEAXd*TQ)3RVYEhOT@Fdc)5k(g;V+H5?`PwUuD3!0V=*8ovW zcRvvyMrt(4c1Cpbe$qmiU(|@qq9iB)(6qEC`|*OayB)7q1b;t2pKgwrDWw6hTVR3R zc|QFz!8L#;+U)v?e%btfEIPZGSGHGm_m_~89wE^!A<9$e-%kPzG6jFYuIKK$W0$Xa z#*V&z#;4L-<+leQUO!(3s4nQ&h~B43c`4arC}}scF+WQA z?}A$C5y(F9Tih>z(^@3#J?E=h83RF8uQ*@kkM{GP(<0=XpPoCR0hx*OW&VK^5glRm zco*4`DTu!*Ux-?x@yK~(J01`KvLjQd9`AaBk8dfaX<&9SuZaCHfUp4j65;xjH|~RH_Y_&HscIm_vOfR& zT%KbRnFv6|&OjRI_h}X>=BuHwBl>UumKFBb0t=LtCI13uWA7kv?!t1x4SWp?`)lr( zS2uivSVURU-K!CK5F2|3?uGSlzCkQ37u?(SC20_Ul>x=C(3JhD2=WgyH?-RA*MF9| ZKLMgC0$dUxA8`Nx002ovPDHLkV1j46#V-H= diff --git a/maps/future/mountain_future.tscn b/maps/future/mountain_future.tscn index aef10cb..4540da4 100644 --- a/maps/future/mountain_future.tscn +++ b/maps/future/mountain_future.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=40 format=2] +[gd_scene load_steps=18 format=2] [ext_resource path="res://objects/Camera2D.tscn" type="PackedScene" id=1] [ext_resource path="res://maps/future/mountain_future.gd" type="Script" id=2] @@ -7,58 +7,16 @@ [ext_resource path="res://graphics/backgrounds/future/mountain_sunset_future.png" type="Texture" id=5] [ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=6] [ext_resource path="res://tilesets/future/t_mountain_future.tres" type="TileSet" id=7] -[ext_resource path="res://objects/enemy/rolling_fiend.tscn" type="PackedScene" id=8] -[ext_resource path="res://objects/environment/moving_platform/moving_platform.tscn" type="PackedScene" id=9] -[ext_resource path="res://scripts/delete_on_game_running.gd" type="Script" id=10] +[ext_resource path="res://objects/enemy/pigs/spoink.tscn" type="PackedScene" id=8] [ext_resource path="res://shaders/can_stain.tres" type="Material" id=11] -[ext_resource path="res://objects/environment/ladder/ladder.tscn" type="PackedScene" id=12] -[ext_resource path="res://objects/enemy/bat.tscn" type="PackedScene" id=13] [ext_resource path="res://objects/collectibles/star.tscn" type="PackedScene" id=14] -[ext_resource path="res://objects/environment/turniwood/turning_platform.tscn" type="PackedScene" id=15] -[ext_resource path="res://objects/enemy/snake.tscn" type="PackedScene" id=16] [ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=17] -[ext_resource path="res://objects/collectibles/key.tscn" type="PackedScene" id=18] -[ext_resource path="res://objects/environment/rock/rock.tscn" type="PackedScene" id=19] -[ext_resource path="res://objects/environment/barrier/barrier.tscn" type="PackedScene" id=20] [ext_resource path="res://objects/collectibles/shard.tscn" type="PackedScene" id=21] [ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=22] [ext_resource path="res://tilesets/t_ladders.tres" type="TileSet" id=23] -[ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=24] -[ext_resource path="res://objects/respawn_point.tscn" type="PackedScene" id=25] [ext_resource path="res://objects/environment/exit/exit.tscn" type="PackedScene" id=26] -[ext_resource path="res://graphics/turniwood/turning_platform_wood_dark.png" type="Texture" id=32] [ext_resource path="res://graphics/particles/raindrop.png" type="Texture" id=33] -[sub_resource type="RectangleShape2D" id=2] -extents = Vector2( 24, 20 ) - -[sub_resource type="RectangleShape2D" id=9] -extents = Vector2( 32, 8 ) - -[sub_resource type="RectangleShape2D" id=7] -extents = Vector2( 36, 4 ) - -[sub_resource type="RectangleShape2D" id=8] -extents = Vector2( 28, 4 ) - -[sub_resource type="RectangleShape2D" id=4] -extents = Vector2( 32, 4 ) - -[sub_resource type="RectangleShape2D" id=12] -extents = Vector2( 32, 4 ) - -[sub_resource type="RectangleShape2D" id=5] -extents = Vector2( 48, 64 ) - -[sub_resource type="RectangleShape2D" id=6] -extents = Vector2( 16, 8 ) - -[sub_resource type="RectangleShape2D" id=11] -extents = Vector2( 24, 4 ) - -[sub_resource type="RectangleShape2D" id=1] -extents = Vector2( 4, 294 ) - [sub_resource type="Animation" id=10] resource_name = "liftoff" length = 3.0 @@ -79,6 +37,10 @@ tracks/0/keys = { [node name="Map2" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 2 ) +__meta__ = { +"_edit_horizontal_guides_": [ -192.0, 191.0, 384.0, -384.0, 576.0 ], +"_edit_vertical_guides_": [ 256.0, 0.0, 512.0, -256.0, -512.0, 768.0 ] +} min_interval = 1.0 max_interval = 8.0 fade_time = 1.0 @@ -95,6 +57,7 @@ autostart = true layer = -101 [node name="Sky" type="Sprite" parent="Background/Background"] +modulate = Color( 1, 0.52549, 0.203922, 1 ) position = Vector2( 128, 96 ) z_index = -2 texture = ExtResource( 5 ) @@ -107,10 +70,11 @@ unique_name_in_owner = true modulate = Color( 1, 1, 1, 0 ) anchor_right = 1.0 anchor_bottom = 1.0 -color = Color( 0.623529, 0.815686, 1, 1 ) +color = Color( 1, 0.984314, 0.603922, 1 ) [node name="BackgroundMountain" type="CanvasLayer" parent="Background"] layer = -100 +visible = false follow_viewport_enable = true follow_viewport_scale = 0.25 @@ -162,21 +126,18 @@ material = ExtResource( 11 ) tile_set = ExtResource( 7 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( -2818047, 0, 65536, -2818046, 0, 65537, -2818045, 0, 65537, -2818044, 0, 65537, -2818043, 0, 65538, -2818033, 0, 65536, -2818032, 0, 65537, -2818031, 0, 65537, -2818030, 0, 65537, -2818029, 0, 65538, -2818022, 0, 0, -2818021, 0, 196609, -2818020, 0, 196609, -2818019, 0, 196609, -2818018, 0, 196609, -2818017, 0, 196609, -2752486, 0, 1, -2686950, 0, 1, -2621440, 0, 0, -2621439, 0, 65537, -2621438, 0, 65537, -2621437, 0, 65537, -2621436, 0, 65537, -2621435, 0, 65537, -2621434, 0, 65537, -2621433, 0, 65537, -2621432, 0, 65537, -2621431, 0, 65537, -2621430, 0, 65537, -2621429, 0, 65537, -2621428, 0, 65537, -2621427, 0, 65537, -2621426, 0, 65537, -2621425, 0, 65537, -2621424, 0, 65538, -2621414, 0, 1, -2621413, 0, 0, -2621412, 0, 0, -2621411, 0, 0, -2555904, 0, 1, -2555878, 0, 1, -2490368, 0, 1, -2490342, 0, 1, -2424832, 0, 1, -2424806, 0, 1, -2359296, 0, 1, -2359270, 0, 1, -2293760, 0, 0, -2293759, 0, 0, -2293758, 0, 0, -2293757, 0, 0, -2293756, 0, 0, -2293755, 0, 0, -2293744, 0, 65536, -2293743, 0, 65537, -2293742, 0, 65538, -2293734, 0, 0, -2293733, 0, 0, -2293732, 0, 0, -2097152, 0, 0, -2097151, 0, 0, -2097150, 0, 0, -2097149, 0, 0, -2097148, 0, 0, -2097147, 0, 0, -2097146, 0, 0, -2097145, 0, 0, -2097144, 0, 0, -2097143, 0, 0, -2097142, 0, 0, -2097141, 0, 0, -2097140, 0, 0, -2097139, 0, 0, -2097138, 0, 0, -2097137, 0, 0, -2097136, 0, 0, -2097135, 0, 0, -2097134, 0, 0, -2031616, 0, 1, -1966080, 0, 1, -1900544, 0, 1, -1900535, 0, 0, -1900534, 0, 0, -1900533, 0, 0, -1900532, 0, 0, -1900531, 0, 0, -1900530, 0, 0, -1900529, 0, 0, -1900528, 0, 0, -1900527, 0, 0, -1900526, 0, 0, -1835008, 0, 1, -1835004, 0, 0, -1835001, 0, 0, -1835000, 0, 0, -1834999, 0, 0, -1769472, 0, 1, -1769463, 0, 0, -1769447, 0, 0, -1769446, 0, 0, -1769445, 0, 0, -1703936, 0, 1, -1703927, 0, 0, -1703909, 0, 1, -1638400, 0, 1, -1638391, 0, 0, -1638390, 0, 0, -1638389, 0, 0, -1638388, 0, 0, -1638387, 0, 0, -1638386, 0, 0, -1638385, 0, 0, -1638384, 0, 0, -1638383, 0, 0, -1638382, 0, 0, -1638381, 0, 0, -1638380, 0, 0, -1638373, 0, 1, -1572864, 0, 1, -1572844, 0, 1, -1572837, 0, 1, -1507328, 0, 1, -1507308, 0, 1, -1507301, 0, 1, -1441792, 0, 1, -1441772, 0, 1, -1441765, 0, 1, -1376256, 0, 1, -1376236, 0, 1, -1376229, 0, 1, -1310720, 0, 1, -1310700, 0, 1, -1310693, 0, 1, -1245184, 0, 1, -1245164, 0, 1, -1245157, 0, 65536, -1245156, 0, 65537, -1245155, 0, 65537, -1245154, 0, 65537, -1245153, 0, 65538, -1179648, 0, 65536, -1179647, 0, 65537, -1179646, 0, 65537, -1179645, 0, 65537, -1179644, 0, 65537, -1179643, 0, 65537, -1179642, 0, 65537, -1179641, 0, 65537, -1179640, 0, 65538, -1179638, 0, 65536, -1179637, 0, 65537, -1179636, 0, 65537, -1179635, 0, 65538, -1179631, 0, 65536, -1179630, 0, 65537, -1179629, 0, 65537, -1179628, 0, 65538, -917480, 0, 65536, -917479, 0, 65537, -917478, 0, 65537, -917477, 0, 65538, -851955, 0, 65536, -851954, 0, 65537, -851953, 0, 65538, -655359, 0, 65536, -655358, 0, 65537, -655357, 0, 65537, -655356, 0, 65537, -655355, 0, 65538, -655340, 0, 65536, -655339, 0, 65537, -655338, 0, 65537, -655337, 0, 65537, -655336, 0, 65537, -655335, 0, 65537, -655334, 0, 65537, -655333, 0, 65538, -458743, 0, 0, -458742, 0, 0, -458741, 0, 0, -458740, 0, 0, -458739, 0, 0, -458738, 0, 0, -458737, 0, 0, -458736, 0, 0, -458735, 0, 0, -458734, 0, 0, -458733, 0, 0, -458732, 0, 0, -458731, 0, 0, -393207, 0, 1, -327671, 0, 1, -262135, 0, 1, -262129, 0, 0, -262128, 0, 0, -262127, 0, 0, -262120, 0, 0, -262119, 0, 0, -262118, 0, 0, -262117, 0, 0, -262116, 0, 0, -262115, 0, 0, -262114, 0, 0, -262113, 0, 0, -196599, 0, 1, -196591, 0, 1, -131068, 0, 0, -131067, 0, 0, -131066, 0, 0, -131065, 0, 0, -131063, 0, 1, -131059, 0, 65536, -131058, 0, 65538, -131055, 0, 1, -131050, 0, 0, -65527, 0, 1, -65526, 0, 0, -65519, 0, 1, -65515, 0, 65536, -65514, 0, 65537, -65513, 0, 65536, -65512, 0, 65537, -65511, 0, 65537, -65510, 0, 65537, -65509, 0, 65537, -65508, 0, 65537, -65507, 0, 65537, -65506, 0, 65537, -65505, 0, 65537, 9, 0, 1, 17, 0, 1, 65545, 0, 1, 65553, 0, 1, 131081, 0, 1, 131089, 0, 1, 196617, 0, 1, 196619, 0, 65536, 196620, 0, 65537, 196621, 0, 65537, 196622, 0, 65537, 196623, 0, 65537, 196624, 0, 65538, 196625, 0, 1, 262153, 0, 1, 262161, 0, 1, 327689, 0, 1, 327697, 0, 1, 327707, 0, 0, 327708, 0, 0, 327709, 0, 0, 327710, 0, 0, 393225, 0, 1, 393233, 0, 0, 458757, 0, 0, 458758, 0, 0, 458759, 0, 0, 458761, 0, 1, 524297, 0, 0, 524298, 0, 0, 524299, 0, 0, 524300, 0, 0, 524301, 0, 0, 524302, 0, 0, 720910, 0, 0, 720911, 0, 0, 720912, 0, 0, 720913, 0, 0, 720914, 0, 0, 720915, 0, 0, 720920, 0, 196609, 720921, 0, 196609, 720922, 0, 196609, 720923, 0, 196609, 720924, 0, 196609, 720925, 0, 196609, 720926, 0, 196609, 720927, 0, 196609, 851969, 0, 65536, 851970, 0, 65537, 851971, 0, 65537, 851972, 0, 65537, 851973, 0, 65537, 851974, 0, 65537, 851975, 0, 65538, 983041, 0, 196609, 983042, 0, 196609, 983043, 0, 196609, 983044, 0, 196609, 983045, 0, 196609, 983046, 0, 196609, 983047, 0, 196609, 983048, 0, 196609, 983049, 0, 196609, 983050, 0, 196609, 983051, 0, 196609, 983052, 0, 196609, 983053, 0, 196609, 983059, 0, 0, 983060, 0, 0, 983061, 0, 0, 983062, 0, 0, 983063, 0, 0, 983064, 0, 0, 983065, 0, 0, 983066, 0, 0, 983067, 0, 0, 1245186, 0, 196609, 1245187, 0, 196609, 1245188, 0, 196609, 1245189, 0, 196609, 1245190, 0, 196609, 1245191, 0, 196609, 1310743, 0, 65536, 1310744, 0, 65537, 1310745, 0, 65537, 1310746, 0, 65537, 1310747, 0, 65537, 1310748, 0, 65538, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0 ) +tile_data = PoolIntArray( 327679, 4, 65537, 262144, 4, 65538, 262145, 4, 65538, 262146, 4, 65538, 262147, 4, 65539, 393215, 4, 131073, 327680, 4, 131074, 327681, 4, 196610, 327682, 4, 196610, 327683, 4, 131074, 327684, 4, 65539, 458751, 4, 131073, 393216, 4, 131075, 393219, 4, 131073, 393220, 4, 196610, 393221, 4, 65538, 393222, 4, 65539, 524287, 4, 196609, 458752, 4, 196610, 458753, 4, 65538, 458754, 4, 65538, 458755, 4, 131075, 458757, 4, 131073, 458758, 4, 196611, 524289, 4, 131073, 524290, 4, 196610, 524291, 4, 131074, 524292, 4, 65538, 524293, 4, 131075, 524323, 4, 65537, 524324, 4, 65539, 589825, 4, 131072, 589827, 4, 131073, 589828, 4, 131074, 589829, 4, 196611, 589858, 4, 65537, 589859, 4, 131074, 589860, 4, 196611, 655361, 4, 131072, 655363, 4, 131073, 655364, 4, 131075, 655393, 4, 65537, 655394, 4, 196610, 655395, 4, 196611, 720897, 4, 196608, 720899, 4, 131073, 720900, 4, 131075, 720928, 4, 65537, 720929, 4, 196611, 786434, 4, 65537, 786435, 4, 131074, 786436, 4, 196611, 786463, 4, 1, 786464, 4, 131075, 851969, 4, 65537, 851970, 4, 131074, 851971, 4, 131075, 851973, 4, 65537, 851974, 4, 2, 851975, 4, 65539, 852000, 4, 131072, 917505, 4, 131073, 917506, 4, 131074, 917507, 4, 131074, 917508, 4, 2, 917509, 4, 131075, 917511, 4, 131072, 917534, 4, 65537, 917535, 4, 2, 917536, 4, 131074, 917537, 4, 2, 917538, 4, 2, 917539, 4, 2, 917540, 4, 3, 983041, 4, 131073, 983042, 4, 131074, 983043, 4, 131075, 983045, 4, 131072, 983047, 4, 131072, 983059, 4, 65537, 983060, 4, 2, 983061, 4, 2, 983062, 4, 65538, 983063, 4, 2, 983064, 4, 2, 983065, 4, 2, 983066, 4, 65538, 983067, 4, 65538, 983068, 4, 65538, 983069, 4, 65538, 983070, 4, 131075, 983072, 4, 131072, 983077, 4, 1, 983078, 4, 65539, 1048577, 4, 196609, 1048578, 4, 131074, 1048579, 4, 131075, 1048581, 4, 131073, 1048582, 4, 65538, 1048583, 4, 131075, 1048595, 4, 131072, 1048598, 4, 131072, 1048602, 4, 131073, 1048603, 4, 196610, 1048604, 4, 196610, 1048605, 4, 131074, 1048606, 4, 131074, 1048607, 4, 2, 1048608, 4, 196610, 1048609, 4, 65539, 1048614, 4, 196609, 1048615, 4, 65539, 1114114, 4, 131073, 1114115, 4, 131075, 1114117, 4, 131073, 1114118, 4, 131074, 1114119, 4, 196610, 1114120, 4, 3, 1114131, 4, 131072, 1114133, 4, 1, 1114134, 4, 196610, 1114135, 4, 2, 1114136, 4, 65538, 1114137, 4, 65538, 1114138, 4, 131075, 1114141, 4, 131073, 1114142, 4, 196611, 1114145, 4, 131072, 1114147, 4, 65537, 1114148, 4, 65539, 1114151, 4, 131072, 1179650, 4, 131073, 1179651, 4, 131074, 1179652, 4, 65538, 1179653, 4, 196610, 1179654, 4, 131075, 1179667, 4, 131073, 1179668, 4, 65539, 1179672, 4, 131073, 1179673, 4, 131074, 1179674, 4, 131075, 1179677, 4, 131072, 1179681, 4, 196609, 1179682, 4, 2, 1179683, 4, 196610, 1179684, 4, 196610, 1179685, 4, 2, 1179686, 4, 2, 1179687, 4, 196611, 1245185, 4, 65537, 1245186, 4, 196610, 1245187, 4, 196610, 1245188, 4, 131075, 1245190, 4, 196608, 1245194, 4, 65536, 1245202, 4, 65537, 1245203, 4, 131074, 1245204, 4, 131075, 1245208, 4, 131073, 1245209, 4, 131074, 1245210, 4, 196611, 1245213, 4, 131073, 1245214, 4, 65539, 1310720, 4, 65537, 1310721, 4, 131075, 1310724, 4, 196609, 1310725, 4, 65539, 1310729, 4, 1, 1310730, 4, 131075, 1310737, 4, 65537, 1310738, 4, 196610, 1310739, 4, 131074, 1310740, 4, 196611, 1310743, 4, 65537, 1310744, 4, 131074, 1310745, 4, 131075, 1310748, 4, 65537, 1310749, 4, 131074, 1310750, 4, 196611, 1376256, 4, 131073, 1376257, 4, 131074, 1376258, 4, 2, 1376259, 4, 3, 1376261, 4, 196608, 1376264, 4, 65536, 1376266, 4, 131073, 1376267, 4, 65539, 1376270, 4, 65537, 1376271, 4, 2, 1376272, 4, 65538, 1376273, 4, 131075, 1376275, 4, 131072, 1376277, 4, 65537, 1376278, 4, 65538, 1376279, 4, 131074, 1376280, 4, 196610, 1376281, 4, 196611, 1376284, 4, 131073, 1376285, 4, 131075, 1507325, 4, 1, 1507326, 4, 2, 1507327, 4, 2, 1441792, 4, 131074, 1441793, 4, 196611, 1441800, 4, 131073, 1441801, 4, 2, 1441802, 4, 196610, 1441803, 4, 196610, 1441804, 4, 65538, 1441805, 4, 65538, 1441806, 4, 131075, 1441808, 4, 131073, 1441809, 4, 196610, 1441810, 4, 2, 1441811, 4, 196610, 1441812, 4, 2, 1441813, 4, 131074, 1441814, 4, 196610, 1441815, 4, 131075, 1441819, 4, 1, 1441820, 4, 131074, 1441821, 4, 131075, 1507328, 4, 131072, 1507335, 4, 1, 1507336, 4, 196611, 1507340, 4, 196609, 1507341, 4, 196610, 1507342, 4, 196610, 1507343, 4, 2, 1507344, 4, 196611, 1507349, 4, 196608, 1507351, 4, 131072, 1507353, 4, 1, 1507354, 4, 3, 1507356, 4, 131073, 1507357, 4, 131075, 1572864, 4, 131072, 1572886, 4, 65537, 1572887, 4, 131074, 1572888, 4, 3, 1572892, 4, 131073, 1572893, 4, 131075, 1638400, 4, 131072, 1638421, 4, 65537, 1638422, 4, 131074, 1638423, 4, 196611, 1638427, 4, 65537, 1638428, 4, 131074, 1638429, 4, 196611, 1703936, 4, 196609, 1703937, 4, 65539, 1703957, 4, 196609, 1703958, 4, 196611, 1703962, 4, 65537, 1703963, 4, 131074, 1703964, 4, 131075, 1769473, 4, 196609, 1769474, 4, 65539, 1769498, 4, 196609, 1769499, 4, 196610, 1769500, 4, 196611, 1835010, 4, 131073, 1835011, 4, 2, 1835012, 4, 65539, 1835017, 4, 1, 1835018, 4, 2, 1835019, 4, 2, 1835020, 4, 65539, 1900546, 4, 131072, 1900548, 4, 131073, 1900549, 4, 65539, 1900552, 4, 65536, 1900556, 4, 131073, 1900557, 4, 65539, 1966082, 4, 196608, 1966084, 4, 196609, 1966085, 4, 196610, 1966086, 4, 2, 1966087, 4, 2, 1966088, 4, 196610, 1966089, 4, 2, 1966090, 4, 2, 1966091, 4, 2, 1966092, 4, 196610, 1966093, 4, 196610, 1966094, 4, 2, 1966095, 4, 2, 1966096, 4, 2, 1966097, 4, 65539, 2031633, 4, 196609, 2031634, 4, 65539, 2097170, 4, 196608 ) [node name="Camera2D" parent="." instance=ExtResource( 1 )] -scroll_h = false scroll_v = true -respawn_h = false [node name="Player" parent="." instance=ExtResource( 6 )] -position = Vector2( 24, 176 ) +position = Vector2( 128, 160 ) [node name="Ladder" type="TileMap" parent="."] tile_set = ExtResource( 23 ) cell_size = Vector2( 8, 8 ) format = 1 -tile_data = PoolIntArray( -2752488, 0, 2, -2686952, 0, 2, -2621416, 0, 2, -2555880, 0, 2, -2555873, 0, 2, -2490344, 0, 2, -2490337, 0, 2, -2424808, 0, 2, -2424801, 0, 2, -2359272, 0, 2, -2359265, 0, 2, -2293736, 0, 2, -2293729, 0, 2, -2228200, 0, 2, -2228193, 0, 2, -2162657, 0, 2, -2097121, 0, 2, -2031585, 0, 2, -1966058, 0, 2, -1966049, 0, 2, -1900522, 0, 2, -1900513, 0, 2, -1834986, 0, 2, -1834977, 0, 2, -1769450, 0, 2, -1769441, 0, 2, -1703935, 0, 2, -1703914, 0, 2, -1703905, 0, 2, -1638399, 0, 2, -1638378, 0, 2, -1638369, 0, 2, -1572863, 0, 2, -1572842, 0, 2, -1572833, 0, 2, -1507327, 0, 2, -1507306, 0, 2, -1507297, 0, 2, -1441791, 0, 2, -1441770, 0, 2, -1441761, 0, 2, -1376255, 0, 2, -1376234, 0, 2, -1376225, 0, 2, -1310698, 0, 2, -1310689, 0, 2, -1245162, 0, 2, -1179626, 0, 2, -1114090, 0, 2, -1048554, 0, 2, -917475, 0, 2, -851939, 0, 2, -786403, 0, 2, -720867, 0, 2, -655331, 0, 2, -589795, 0, 2, -524259, 0, 2, -458723, 0, 2, -393209, 0, 2, -327673, 0, 2, -262137, 0, 2, -196589, 0, 2, -131053, 0, 2, -65517, 0, 2, 19, 0, 2, 65555, 0, 2, 131091, 0, 2, 196627, 0, 2, 262163, 0, 2, 327699, 0, 2, 393235, 0, 2, 458771, 0, 2, 589825, 0, 2, 655361, 0, 2, 720897, 0, 2, 851998, 0, 2, 917534, 0, 2, 983070, 0, 2, 1048606, 0, 2, 1114142, 0, 2, 1179678, 0, 2, 1245214, 0, 2 ) [node name="Death" type="TileMap" parent="." groups=["death"]] light_mask = 0 @@ -184,521 +145,70 @@ tile_set = ExtResource( 22 ) cell_size = Vector2( 8, 8 ) collision_layer = 32 format = 1 -tile_data = PoolIntArray( -2686976, 1, 0, -2686975, 1, 0, -2686974, 1, 0, -2686973, 1, 0, -2686972, 1, 0, -2686971, 1, 0, -2686970, 1, 0, -2686969, 1, 0, -2686968, 1, 0, -2686967, 1, 0, -2686966, 1, 0, -2686965, 1, 0, -2686964, 1, 0, -2686963, 1, 0, -2686962, 1, 0, -2686961, 1, 0, -2686960, 1, 0, -2162688, 1, 0, -2162687, 1, 0, -2162686, 1, 0, -2162685, 1, 0, -2162684, 1, 0, -2162683, 1, 0, -2162682, 1, 0, -2162681, 1, 0, -2162680, 1, 0, -2162679, 1, 0, -2162678, 1, 0, -2162677, 1, 0, -2162676, 1, 0, -2162675, 1, 0, -2162674, 1, 0, -2162673, 1, 0, -2162672, 1, 0, -2162671, 1, 0, -2162670, 1, 0, -524276, 1, 0, -524273, 1, 0, 1441800, 1, 0, 1441801, 1, 0, 1441802, 1, 0, 1441803, 1, 0, 1441804, 1, 0, 1441805, 1, 0, 1441806, 1, 0, 1441807, 1, 0, 1441812, 1, 0, 1441813, 1, 0, 1441814, 1, 0 ) [node name="Environment" type="Node2D" parent="."] -[node name="MovingPlatform" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 96, 168 ) -scale = Vector2( 2, 1 ) -left_up_boundary = 2.0 -right_down_boundary = 2.0 - -[node name="MovingPlatform5" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 104, 136 ) -scale = Vector2( 2, 1 ) -right_down_boundary = 5.0 - -[node name="MovingPlatform8" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 96, -280 ) -scale = Vector2( 2, 1 ) -speed = 30 -right_down_boundary = 2.0 - -[node name="MovingPlatform9" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 80, -344 ) -scale = Vector2( 2, 1 ) -speed = 40 -left_up_boundary = 3.0 -right_down_boundary = 4.0 - -[node name="MovingPlatform6" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 80, -280 ) -scale = Vector2( 2, 1 ) -direction = -1 -speed = 30 -left_up_boundary = 2.0 - -[node name="MovingPlatform2" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 184, 40 ) -scale = Vector2( 2, 1 ) -left_up_boundary = 2.0 -right_down_boundary = 2.0 - -[node name="MovingPlatform4" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 172, 104 ) -left_up_boundary = 1.0 -right_down_boundary = 2.0 - -[node name="MovingPlatform3" parent="Environment" instance=ExtResource( 9 )] -position = Vector2( 16, 40 ) -scale = Vector2( 2, 1 ) -speed = 40 -left_up_boundary = 8.0 -right_down_boundary = 2.0 -move_direction = 1 - -[node name="Ladder" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 240, 104 ) -scale = Vector2( 1, 7 ) - -[node name="Ladder2" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 152, -24 ) -scale = Vector2( 1, 11 ) - -[node name="Ladder8" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 176, -240 ) -scale = Vector2( 1, 15 ) - -[node name="Ladder11" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 8, -208 ) -scale = Vector2( 1, 6 ) -can_climb_left = false - -[node name="Ladder10" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 192, -336 ) -scale = Vector2( 1, 9 ) - -[node name="Ladder9" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 248, -312 ) -scale = Vector2( 1, 20 ) -can_climb_right = false - -[node name="Ladder7" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 232, -112 ) -scale = Vector2( 1, 8 ) - -[node name="Ladder5" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 56, -48 ) -scale = Vector2( 1, 3 ) - -[node name="Ladder4" parent="Environment" instance=ExtResource( 12 )] -position = Vector2( 8, 72 ) -scale = Vector2( 1, 3 ) - -[node name="TurningPlatform" parent="Environment" instance=ExtResource( 15 )] -position = Vector2( 168, 168 ) -texture = ExtResource( 32 ) - -[node name="TurningPlatform2" parent="Environment" instance=ExtResource( 15 )] -position = Vector2( 80, 144 ) -texture = ExtResource( 32 ) - -[node name="TurningPlatform4" parent="Environment" instance=ExtResource( 15 )] -position = Vector2( 168, -280 ) -texture = ExtResource( 32 ) - -[node name="Rock2" parent="Environment" instance=ExtResource( 19 )] -position = Vector2( 112, 56 ) - -[node name="Rock3" parent="Environment" instance=ExtResource( 19 )] -position = Vector2( 80, -152 ) - -[node name="Rock4" parent="Environment" instance=ExtResource( 19 )] -position = Vector2( 160, -208 ) - -[node name="Barrier" parent="Environment" instance=ExtResource( 20 )] -position = Vector2( 140, -48 ) -scale = Vector2( 1, 16 ) -cost = 30 - -[node name="Barrier2" parent="Environment" instance=ExtResource( 20 )] -position = Vector2( 148, -248 ) -scale = Vector2( 1, 16 ) -cost = 40 - [node name="Enemies" type="Node2D" parent="."] -[node name="RollingFiend" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 200, 152 ) - -[node name="RollingFiend2" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 216, 32 ) - -[node name="RollingFiend8" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 240, 48 ) - -[node name="RollingFiend4" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 104, -24 ) - -[node name="RollingFiend7" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 160, -344 ) -move_speed = 70.0 - -[node name="RollingFiend3" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 32, 96 ) - -[node name="RollingFiend5" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 80, -139 ) - -[node name="RollingFiend6" parent="Enemies" instance=ExtResource( 8 )] -position = Vector2( 104, -152 ) - -[node name="Bat3" parent="Enemies" instance=ExtResource( 13 )] -position = Vector2( 124, -152 ) -left_up_boundary = 2.0 -right_down_boundary = 3.0 - -[node name="Bat6" parent="Enemies" instance=ExtResource( 13 )] -position = Vector2( 112, -64 ) -left_up_boundary = 4.0 -right_down_boundary = 2.0 - -[node name="Bat4" parent="Enemies" instance=ExtResource( 13 )] -position = Vector2( 64, -232 ) -left_up_boundary = 2.0 -right_down_boundary = 4.0 -speed = 60 - -[node name="Bat7" parent="Enemies" instance=ExtResource( 13 )] -position = Vector2( 88, -296 ) -left_up_boundary = 1.0 -right_down_boundary = 4.0 - -[node name="Bat8" parent="Enemies" instance=ExtResource( 13 )] -position = Vector2( 248, -264 ) -left_up_boundary = 4.0 -right_down_boundary = 6.0 -speed = 50 - -[node name="Snake" parent="Enemies" instance=ExtResource( 16 )] -position = Vector2( 216, 82 ) -left_up_boundary = 3.0 -right_down_boundary = 4.0 - -[node name="Snake2" parent="Enemies" instance=ExtResource( 16 )] -position = Vector2( 136, 80 ) -left_up_boundary = 2.0 -right_down_boundary = 3.0 - -[node name="Snake7" parent="Enemies" instance=ExtResource( 16 )] -position = Vector2( 216, -16 ) -left_up_boundary = 2.0 -right_down_boundary = 5.0 -speed = 80 - -[node name="Snake3" parent="Enemies" instance=ExtResource( 16 )] -position = Vector2( 96, 114 ) -left_up_boundary = 10.0 -right_down_boundary = 2.0 +[node name="Spoink" parent="Enemies" instance=ExtResource( 8 )] +position = Vector2( 168, 120 ) +jump_height = 200.0 +jump_distance = 32.0 +gravity = 400.0 +direction = -1.0 [node name="Collectibles" type="Node2D" parent="."] -position = Vector2( 172, 160 ) -[node name="Star" parent="Collectibles" instance=ExtResource( 14 )] -position = Vector2( 28, 16 ) +[node name="Shards" type="Node2D" parent="Collectibles"] -[node name="Star2" parent="Collectibles" instance=ExtResource( 14 )] -position = Vector2( 60, -128 ) -color = 1 +[node name="Shard" parent="Collectibles/Shards" instance=ExtResource( 21 )] +position = Vector2( -152, -112 ) -[node name="Star3" parent="Collectibles" instance=ExtResource( 14 )] -position = Vector2( -60, -272 ) -color = 4 - -[node name="Star4" parent="Collectibles" instance=ExtResource( 14 )] -position = Vector2( 36, -176 ) -color = 3 - -[node name="Star5" parent="Collectibles" instance=ExtResource( 14 )] -position = Vector2( -68, -144 ) -color = 2 - -[node name="Gold" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -124, -64 ) - -[node name="Gold2" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -156, -64 ) - -[node name="Gold3" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -44, 8 ) - -[node name="Gold4" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -20, 8 ) - -[node name="Gold5" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -116, 8 ) - -[node name="Gold6" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -132, 8 ) - -[node name="Gold7" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -92, -24 ) - -[node name="Gold8" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -108, -48 ) - -[node name="Gold16" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -76, -48 ) - -[node name="Gold9" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 36, -48 ) - -[node name="Gold10" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 20, -8 ) - -[node name="Gold12" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 28, -80 ) - -[node name="Gold14" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -28, -80 ) - -[node name="Gold15" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 12, -48 ) - -[node name="Gold17" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -124, -184 ) - -[node name="Gold18" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -124, -112 ) - -[node name="Gold19" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -140, -184 ) - -[node name="Gold20" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -164, -248 ) - -[node name="Gold22" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -132, -248 ) - -[node name="Gold23" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -92, -224 ) - -[node name="Gold24" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -36, -224 ) - -[node name="Gold32" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -124, -312 ) - -[node name="Gold33" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 52, -448 ) - -[node name="Gold34" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -140, -312 ) - -[node name="Gold36" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -92, -400 ) - -[node name="Gold37" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -68, -400 ) - -[node name="Gold39" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -68, -368 ) - -[node name="Gold40" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -52, -368 ) - -[node name="Gold41" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -36, -368 ) - -[node name="Gold38" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -44, -400 ) - -[node name="Gold44" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 36, -384 ) - -[node name="Gold45" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -36, -448 ) - -[node name="Gold46" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -28, -512 ) - -[node name="Gold48" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 44, -512 ) - -[node name="Gold52" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 44, -8 ) - -[node name="Gold49" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 68, -512 ) - -[node name="Gold47" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -44, -512 ) - -[node name="Gold35" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 52, 16 ) - -[node name="Gold25" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -11, -224 ) - -[node name="Gold42" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 4, -248 ) - -[node name="Gold43" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 28, -248 ) - -[node name="Gold50" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 20, -280 ) - -[node name="Gold51" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 44, -280 ) - -[node name="Gold26" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 20, -200 ) - -[node name="Gold30" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -92, -104 ) - -[node name="Gold31" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -76, -104 ) - -[node name="Gold27" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 44, -200 ) - -[node name="Gold28" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -116, -16 ) - -[node name="Gold13" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( 68, -80 ) - -[node name="Gold11" parent="Collectibles" instance=ExtResource( 18 )] -position = Vector2( -12, -48 ) - -[node name="Shard" parent="Collectibles" instance=ExtResource( 21 )] -position = Vector2( -148, -248 ) - -[node name="Shard2" parent="Collectibles" instance=ExtResource( 21 )] -position = Vector2( -148, -448 ) -number = 2 - -[node name="Shard3" parent="Collectibles" instance=ExtResource( 21 )] -position = Vector2( -28, -312 ) +[node name="Shard2" parent="Collectibles/Shards" instance=ExtResource( 21 )] +position = Vector2( 376, -104 ) number = 1 -[node name="Shard4" parent="Collectibles" instance=ExtResource( 21 )] -position = Vector2( 52, -488 ) +[node name="Shard3" parent="Collectibles/Shards" instance=ExtResource( 21 )] +position = Vector2( 384, 264 ) +number = 2 + +[node name="Shard4" parent="Collectibles/Shards" instance=ExtResource( 21 )] +position = Vector2( -144, 280 ) number = 3 -[node name="Arrow" parent="Collectibles" instance=ExtResource( 24 )] -position = Vector2( -84, -368 ) +[node name="Shard5" parent="Collectibles/Shards" instance=ExtResource( 21 )] +position = Vector2( 184, 72 ) +number = 4 -[node name="Arrow2" parent="Collectibles" instance=ExtResource( 24 )] -position = Vector2( 60, -320 ) +[node name="Stars" type="Node2D" parent="Collectibles"] + +[node name="Star1" parent="Collectibles/Stars" instance=ExtResource( 14 )] +position = Vector2( 72, 24 ) + +[node name="Star2" parent="Collectibles/Stars" instance=ExtResource( 14 )] +position = Vector2( 136, -112 ) +color = 1 + +[node name="Star3" parent="Collectibles/Stars" instance=ExtResource( 14 )] +position = Vector2( 376, 96 ) +color = 2 + +[node name="Star4" parent="Collectibles/Stars" instance=ExtResource( 14 )] +position = Vector2( 104, 288 ) +color = 3 + +[node name="Star5" parent="Collectibles/Stars" instance=ExtResource( 14 )] +position = Vector2( -144, 80 ) +color = 4 + +[node name="Keys" type="Node2D" parent="Collectibles"] [node name="Respawns" type="Node2D" parent="."] -[node name="RespawnPoint" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 40, -16 ) -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint"] -position = Vector2( 8, -20 ) -shape = SubResource( 2 ) - -[node name="RespawnPoint2" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 160, 16 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint2"] -position = Vector2( 16, 0 ) -shape = SubResource( 9 ) - -[node name="RespawnPoint6" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 48, 56 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint6"] -position = Vector2( -12, -44 ) -shape = SubResource( 7 ) - -[node name="RespawnPoint7" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 96, 24 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint7"] -position = Vector2( 12, -4 ) -shape = SubResource( 8 ) - -[node name="RespawnPoint3" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 16, -144 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint3"] -position = Vector2( 24, -36 ) -shape = SubResource( 4 ) - -[node name="RespawnPoint9" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 16, -200 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint9"] -position = Vector2( 24, -4 ) -shape = SubResource( 12 ) - -[node name="RespawnPoint4" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 183, -200 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint4"] -position = Vector2( 24, -64 ) -shape = SubResource( 5 ) - -[node name="RespawnPoint5" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 176, -8 ) -__meta__ = { -"_edit_group_": true -} -match_v = false - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint5"] -position = Vector2( -16, -8 ) -shape = SubResource( 6 ) - -[node name="RespawnPoint8" parent="Respawns" instance=ExtResource( 25 )] -position = Vector2( 184, -184 ) - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Respawns/RespawnPoint8"] -position = Vector2( 8, 4 ) -shape = SubResource( 11 ) - [node name="Boundaries" type="StaticBody2D" parent="."] -[node name="CollisionShape2D" type="CollisionShape2D" parent="Boundaries"] -position = Vector2( -4, -92 ) -shape = SubResource( 1 ) - -[node name="CollisionShape2D2" type="CollisionShape2D" parent="Boundaries"] -position = Vector2( 260, -94 ) -shape = SubResource( 1 ) - -[node name="ColorRect" type="ColorRect" parent="."] -margin_top = -192.0 -margin_right = 256.0 -color = Color( 0.0784314, 1, 0, 0.113725 ) -script = ExtResource( 10 ) -__meta__ = { -"_edit_lock_": true -} - -[node name="ColorRect2" type="ColorRect" parent="."] -margin_top = -384.0 -margin_right = 256.0 -margin_bottom = -192.0 -color = Color( 0, 0.0862745, 1, 0.113725 ) -script = ExtResource( 10 ) -__meta__ = { -"_edit_lock_": true -} - [node name="HUD" parent="." instance=ExtResource( 17 )] +visible = false song_name = "♫Burnt Out" [node name="Exit" parent="." instance=ExtResource( 26 )] diff --git a/objects/enemy/pigs/spoink.gd b/objects/enemy/pigs/spoink.gd new file mode 100644 index 0000000..2de56f4 --- /dev/null +++ b/objects/enemy/pigs/spoink.gd @@ -0,0 +1,33 @@ +extends "res://objects/enemy/enemy.gd" + + +export var jump_height: float +export var jump_distance: float +export var gravity: float +export var direction: float = 1.0 + + +var velocity: Vector2 = Vector2.ZERO +var landed: bool = false + + +onready var body: Node2D = $Body +onready var sprite: Sprite = $Body/Sprite + + +func _physics_process(delta: float) -> void: + death_blood_offset = body.position + Vector2(0.0, -4.0) + if not landed: + velocity.y += gravity * delta + body.position += velocity * delta + if body.position.y >= 0.0: + landed = true + velocity = Vector2.ZERO + body.position.y = 0.0 + sprite.frame = 1 + direction *= -1.0 + var tween = create_tween().set_process_mode(Tween.TWEEN_PROCESS_PHYSICS) + tween.tween_property(sprite, "frame", 0, 0.0).set_delay(0.5) + tween.tween_property(self, "velocity", Vector2(jump_distance * direction, -jump_height), 0.0) + tween.tween_property(self, "landed", false, 0.0) + tween.tween_callback(tween, "kill") diff --git a/objects/enemy/pigs/spoink.tscn b/objects/enemy/pigs/spoink.tscn new file mode 100644 index 0000000..342fd1d --- /dev/null +++ b/objects/enemy/pigs/spoink.tscn @@ -0,0 +1,119 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://graphics/enemy/pigs/spoink.png" type="Texture" id=1] +[ext_resource path="res://objects/enemy/pigs/spoink.gd" type="Script" id=2] + +[sub_resource type="Animation" id=1] +resource_name = "idle" +length = 0.7 +step = 0.35 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Sprite:region_rect") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Rect2( 0, 0, 13, 12 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Body/Sprite:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 4, 2 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("Hitbox:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0, 0 ) ] +} + +[sub_resource type="Animation" id=2] +resource_name = "jump" +length = 0.4 +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Sprite:region_rect") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Rect2( 13, 0, 13, 12 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Body/Sprite:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.2, 0.4 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 4, 2 ), Vector2( 4, -2 ), Vector2( 4, 2 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("Hitbox:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = false +tracks/2/keys = { +"times": PoolRealArray( 0, 0.2, 0.4 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 0, -4 ), Vector2( 0, -8 ), Vector2( 0, -4 ) ] +} + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 4, 5 ) + +[node name="Spoink" type="Node2D" groups=["enemy"]] +script = ExtResource( 2 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +playback_process_mode = 0 +anims/idle = SubResource( 1 ) +anims/jump = SubResource( 2 ) + +[node name="Hitbox" type="Area2D" parent="." groups=["enemy_hitbox"]] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"] +position = Vector2( 0, -5 ) +shape = SubResource( 3 ) + +[node name="Body" type="Node2D" parent="."] + +[node name="Sprite" type="Sprite" parent="Body"] +texture = ExtResource( 1 ) +offset = Vector2( 0, -8 ) +hframes = 2 +region_rect = Rect2( 0, 0, 13, 12 ) + +[node name="RemoteTransform2D" type="RemoteTransform2D" parent="Body"] +remote_path = NodePath("../../Hitbox") +update_rotation = false +update_scale = false + +[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"] +[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"] diff --git a/tilesets/future/t_mountain_future.tres b/tilesets/future/t_mountain_future.tres index 7714f42..ad286d6 100644 --- a/tilesets/future/t_mountain_future.tres +++ b/tilesets/future/t_mountain_future.tres @@ -1,4 +1,4 @@ -[gd_resource type="TileSet" load_steps=18 format=2] +[gd_resource type="TileSet" load_steps=34 format=2] [ext_resource path="res://graphics/tiles/mountain.png" type="Texture" id=1] [ext_resource path="res://graphics/tiles/future/mountain_future.png" type="Texture" id=2] @@ -48,6 +48,54 @@ points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) [sub_resource type="ConvexPolygonShape2D" id=17] points = PoolVector2Array( 8, 2, 0, 2, 0, 2, 8, 2 ) +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=21] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=22] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=23] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=24] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=25] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=26] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=27] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=28] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=29] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=30] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=31] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=32] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=33] +points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) + [resource] 0/name = "grass.png 0" 0/texture = ExtResource( 2 ) @@ -217,3 +265,124 @@ points = PoolVector2Array( 8, 2, 0, 2, 0, 2, 8, 2 ) 3/shape_one_way_margin = 0.0 3/shapes = [ ] 3/z_index = 0 +4/name = "bacon" +4/texture = ExtResource( 2 ) +4/tex_offset = Vector2( 0, 0 ) +4/modulate = Color( 1, 1, 1, 1 ) +4/region = Rect2( 32, 0, 32, 32 ) +4/tile_mode = 1 +4/autotile/bitmask_mode = 1 +4/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 0, 1 ), 144, Vector2( 0, 2 ), 146, Vector2( 0, 3 ), 18, Vector2( 1, 0 ), 48, Vector2( 1, 1 ), 16777392, Vector2( 1, 2 ), 17039538, Vector2( 1, 3 ), 262194, Vector2( 2, 0 ), 56, Vector2( 2, 1 ), 20971704, Vector2( 2, 2 ), 21299386, Vector2( 2, 3 ), 327738, Vector2( 3, 0 ), 24, Vector2( 3, 1 ), 4194456, Vector2( 3, 2 ), 4259994, Vector2( 3, 3 ), 65562 ] +4/autotile/icon_coordinate = Vector2( 0, 0 ) +4/autotile/tile_size = Vector2( 8, 8 ) +4/autotile/spacing = 0 +4/autotile/occluder_map = [ ] +4/autotile/navpoly_map = [ ] +4/autotile/priority_map = [ ] +4/autotile/z_index_map = [ ] +4/autotile/fallback_mode = 0 +4/occluder_offset = Vector2( 0, 0 ) +4/navigation_offset = Vector2( 0, 0 ) +4/shape_offset = Vector2( 0, 0 ) +4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +4/shape = SubResource( 18 ) +4/shape_one_way = false +4/shape_one_way_margin = 1.0 +4/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 20 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 21 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 22 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 23 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 24 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 1 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 25 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 26 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 27 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 28 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 2 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 29 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 0, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 30 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 1, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 31 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 2, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 32 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +}, { +"autotile_coord": Vector2( 3, 3 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 33 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +4/z_index = 0 diff --git a/tilesets/t_death.tres b/tilesets/t_death.tres index ccaff97..84a71e0 100644 --- a/tilesets/t_death.tres +++ b/tilesets/t_death.tres @@ -213,14 +213,8 @@ points = PoolVector2Array( 8, 8, 0, 8, 0, 0, 8, 0 ) 10/shape_offset = Vector2( 0, 0 ) 10/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) 10/shape_one_way = false -10/shape_one_way_margin = 1.0 -10/shapes = [ { -"autotile_coord": Vector2( 0, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": null, -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] +10/shape_one_way_margin = 0.0 +10/shapes = [ ] 10/z_index = 10 11/name = "water_light_bottom.png 11" 11/texture = ExtResource( 9 )