From 392eaa6e027290fdfd2a5c230b67dd8a5b65f803 Mon Sep 17 00:00:00 2001 From: HelperWesley <72082749+HelperWesley@users.noreply.github.com> Date: Sat, 15 Aug 2026 22:04:07 -0400 Subject: [PATCH] Starter Game Juice Update - And New assets - 2 Updated the remaining starters in the engine with reactive buttons, sound effects, and particles to match the existing starters with those in them. Also replaced the 2D art assets used in those starters with newer assets that better align with the original starter art direction. --- .../starting-3D-platformer.json | 6 +- .../starting-3d-top-down-rpg.json | 4 +- .../assets/PixelBackground.png | Bin 157 -> 220 bytes .../assets/StartingPixelBall.png | Bin 207 -> 307 bytes .../assets/StartingPixelBlock.png | Bin 127 -> 236 bytes .../assets/StartingPixelGround.png | Bin 147 -> 268 bytes .../assets/StartingPixelWall.png | Bin 123 -> 218 bytes .../starting-physics-pixel.json | 10 +- .../assets/Flat dark joystick border.png | Bin 939 -> 3751 bytes .../assets/Flat dark joystick thumb.png | Bin 614 -> 2939 bytes .../assets/PixelBackground.png | Bin 157 -> 220 bytes .../assets/StartingPixelCoin.png | Bin 106 -> 154 bytes .../assets/StartingPixelGround.png | Bin 147 -> 268 bytes .../assets/StartingPixelPlayer.png | Bin 189 -> 254 bytes .../assets/Top arrow button.png | Bin 641 -> 3635 bytes .../starting-platformer-pixel.json | 180 +- .../assets/StartingCoin.png | Bin 303 -> 816 bytes .../starting-platformer.json | 56 +- .../assets/Background.png | Bin 33123 -> 91931 bytes .../assets/Border.png | Bin 288 -> 1164 bytes .../assets/Border2.png | Bin 285 -> 1031 bytes .../assets/DirtParticle.png | Bin 0 -> 969 bytes .../assets/QuestionBackdrop.png | Bin 339 -> 1598 bytes .../assets/StartingCollisionArea.png | Bin 229 -> 776 bytes .../assets/StartingNPC.png | Bin 1888 -> 14836 bytes .../assets/StartingPlayer.png | Bin 1954 -> 0 bytes .../assets/StartingPlayer_Down.png | Bin 0 -> 14347 bytes .../assets/StartingPlayer_Left.png | Bin 0 -> 12018 bytes .../assets/StartingPlayer_Right.png | Bin 0 -> 12151 bytes .../assets/StartingPlayer_Up.png | Bin 0 -> 10464 bytes .../assets/starter_pop.wav | Bin 0 -> 43564 bytes .../assets/starting_bookopen.wav | Bin 0 -> 39550 bytes .../starting-point-and-click-adventure.json | 791 ++- .../assets/StartingPixelGroundTilemap.png | Bin 341 -> 787 bytes .../assets/StartingPixelPlayer.png | Bin 202 -> 297 bytes .../assets/StartingPixelWall.png | Bin 123 -> 218 bytes .../assets/StartingPixelWater.png | Bin 359 -> 777 bytes .../starting-point-and-click-pixel.json | 9 +- .../assets/A button.png | Bin 656 -> 3655 bytes .../assets/Beet_Planted.png | Bin 10539 -> 1009 bytes .../assets/Boulder.png | Bin 0 -> 5290 bytes .../assets/Carrot_Planted.png | Bin 1996 -> 1038 bytes .../assets/DirtParticle.png | Bin 5662 -> 969 bytes .../assets/Flat dark joystick border.png | Bin 939 -> 3751 bytes .../assets/Flat dark joystick thumb.png | Bin 614 -> 2939 bytes .../assets/Harvest_Seed_Beet.png | Bin 5770 -> 2420 bytes .../assets/Harvest_Seed_Carrot.png | Bin 5295 -> 1763 bytes .../assets/Seed_beet.png | Bin 9395 -> 1225 bytes .../assets/Seed_carrot.png | Bin 11815 -> 1630 bytes .../assets/StartingGroundTilemap.png | Bin 10257 -> 2406 bytes .../assets/StartingInventorySlot.png | Bin 6328 -> 1598 bytes .../assets/StartingPlayer_Down.png | Bin 1195 -> 3849 bytes .../assets/StartingPlayer_Left.png | Bin 1202 -> 3061 bytes .../assets/StartingPlayer_Right.png | Bin 1205 -> 3110 bytes .../assets/StartingPlayer_Up.png | Bin 1112 -> 2361 bytes .../assets/StartingWall.png | Bin 169 -> 372 bytes .../starting-top-down-farming/assets/Tree.png | Bin 0 -> 5195 bytes .../starting-top-down-farming/assets/beet.png | Bin 11402 -> 2183 bytes .../assets/carrot.png | Bin 2640 -> 1375 bytes .../starting-top-down-farming.json | 1955 +++---- .../assets/Flat dark joystick border.png | Bin 939 -> 3751 bytes .../assets/Flat dark joystick thumb.png | Bin 614 -> 2939 bytes .../assets/StartingPixelGroundTilemap.png | Bin 341 -> 787 bytes .../assets/StartingPixelObstacle.png | Bin 180 -> 250 bytes .../assets/StartingPixelPlayer.png | Bin 202 -> 297 bytes .../assets/StartingPixelWall.png | Bin 123 -> 218 bytes .../starting-top-down-pixel.json | 14 +- .../starting-top-down-rpg/assets/A button.png | Bin 656 -> 3655 bytes .../starting-top-down-rpg/assets/Border.png | Bin 288 -> 1164 bytes .../starting-top-down-rpg/assets/Border2.png | Bin 285 -> 1031 bytes .../assets/DirtParticle.png | Bin 0 -> 969 bytes .../assets/Flat dark joystick border.png | Bin 939 -> 3751 bytes .../assets/Flat dark joystick thumb.png | Bin 614 -> 2939 bytes .../assets/StartingGroundTilemap.png | Bin 649 -> 1847 bytes .../assets/StartingNPC.png | Bin 1172 -> 3840 bytes .../assets/StartingPlayer_Down.png | Bin 1195 -> 3849 bytes .../assets/StartingPlayer_Left.png | Bin 1202 -> 3061 bytes .../assets/StartingPlayer_Right.png | Bin 1205 -> 3110 bytes .../assets/StartingPlayer_Up.png | Bin 1112 -> 2361 bytes .../assets/StartingWall.png | Bin 169 -> 372 bytes .../assets/starter_pop.wav | Bin 0 -> 43564 bytes .../assets/starting_bookopen.wav | Bin 0 -> 39550 bytes .../starting-top-down-rpg.json | 334 +- .../assets/A button.png | Bin 656 -> 3655 bytes .../assets/Boulder.png | Bin 5237 -> 5290 bytes .../assets/Flat dark joystick border.png | Bin 939 -> 3751 bytes .../assets/Flat dark joystick thumb.png | Bin 614 -> 2939 bytes .../assets/Rock.png | Bin 9508 -> 1389 bytes .../assets/StartingGroundTilemap.png | Bin 9079 -> 1847 bytes .../assets/StartingInventorySlot.png | Bin 6328 -> 1598 bytes .../assets/StartingPlayer_Down.png | Bin 1195 -> 3849 bytes .../assets/StartingPlayer_Left.png | Bin 1202 -> 3061 bytes .../assets/StartingPlayer_Right.png | Bin 1205 -> 3110 bytes .../assets/StartingPlayer_Up.png | Bin 1112 -> 2361 bytes .../assets/StartingWall.png | Bin 169 -> 372 bytes .../assets/Tree.png | Bin 4312 -> 5195 bytes .../assets/log.png | Bin 10540 -> 2342 bytes .../starting-top-down-survival-crafting.json | 117 +- .../starting-twin-stick-shooter.json | 8 +- .../assets/Collision.wav | Bin 0 -> 18870 bytes .../assets/DirtParticle.png | Bin 0 -> 969 bytes .../assets/StartingEnemies.png | Bin 490 -> 2161 bytes .../assets/starting_bulletfire.wav | Bin 0 -> 6148 bytes .../starting-vampire-survivor.json | 4783 ++++++++++++++++- 104 files changed, 7022 insertions(+), 1245 deletions(-) create mode 100644 examples/starting-point-and-click-adventure/assets/DirtParticle.png delete mode 100644 examples/starting-point-and-click-adventure/assets/StartingPlayer.png create mode 100644 examples/starting-point-and-click-adventure/assets/StartingPlayer_Down.png create mode 100644 examples/starting-point-and-click-adventure/assets/StartingPlayer_Left.png create mode 100644 examples/starting-point-and-click-adventure/assets/StartingPlayer_Right.png create mode 100644 examples/starting-point-and-click-adventure/assets/StartingPlayer_Up.png create mode 100644 examples/starting-point-and-click-adventure/assets/starter_pop.wav create mode 100644 examples/starting-point-and-click-adventure/assets/starting_bookopen.wav create mode 100644 examples/starting-top-down-farming/assets/Boulder.png create mode 100644 examples/starting-top-down-farming/assets/Tree.png create mode 100644 examples/starting-top-down-rpg/assets/DirtParticle.png create mode 100644 examples/starting-top-down-rpg/assets/starter_pop.wav create mode 100644 examples/starting-top-down-rpg/assets/starting_bookopen.wav create mode 100644 examples/starting-vampire-survivor/assets/Collision.wav create mode 100644 examples/starting-vampire-survivor/assets/DirtParticle.png create mode 100644 examples/starting-vampire-survivor/assets/starting_bulletfire.wav diff --git a/examples/starting-3D-platformer/starting-3D-platformer.json b/examples/starting-3D-platformer/starting-3D-platformer.json index 8c8e2cce7..89d30c48c 100644 --- a/examples/starting-3D-platformer/starting-3D-platformer.json +++ b/examples/starting-3D-platformer/starting-3D-platformer.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -2623,9 +2623,9 @@ "externalEvents": [], "tests": [ { + "description": "Pressing Space makes the 3D character jump off the ground, and gravity brings it back down.", "name": "Jumping with Space", "type": "gameplay", - "description": "Pressing Space makes the 3D character jump off the ground, and gravity brings it back down.", "source": [ "// Space must make the physics character jump off the ground", "// (PhysicsCharacter3D, mapped to Space by Platformer3DKeyboardMapper).", @@ -2686,9 +2686,9 @@ ] }, { + "description": "The player walks forward into a coin lying on the ground: the coin is picked up.", "name": "Collecting a coin by walking into it", "type": "gameplay", - "description": "The player walks forward into a coin lying on the ground: the coin is picked up.", "source": [ "// Walking into a coin must collect it: the events delete a Coin as soon as", "// it is within 50 units of the Player.", diff --git a/examples/starting-3d-top-down-rpg/starting-3d-top-down-rpg.json b/examples/starting-3d-top-down-rpg/starting-3d-top-down-rpg.json index ee1a6560c..ae0f8fa39 100644 --- a/examples/starting-3d-top-down-rpg/starting-3d-top-down-rpg.json +++ b/examples/starting-3d-top-down-rpg/starting-3d-top-down-rpg.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 278, "major": 5, "minor": 6, "revision": 0 @@ -46396,4 +46396,4 @@ } ], "externalLayouts": [] -} \ No newline at end of file +} diff --git a/examples/starting-physics-pixel/assets/PixelBackground.png b/examples/starting-physics-pixel/assets/PixelBackground.png index e6cf9b1c0ea8cfdf07f6eb5772e8716d1c267bb7..bd6e0296c4e205076da1d7fdfd0bfa2330bc3f41 100644 GIT binary patch delta 183 zcmbQsc!zO&6h2aUqONMtxr~NaS=pa$gUgGKN%KnOjpI=Am zi|CRiKvj|@t`Q~9`MJ5Nc_j?aMX8A;sVNHOnI#zt?w-B@;f;LaKt(Q|E{-7;x8B}Z zD9WI~;Tp*IyFYW|4kkXwpm%Tg2UcwSwlbrlmY;#)fXC(g4@;PUI$khV0Z9aP|E)f^ Ws*qQ|0E;RkNW#H=O_E#MI0;USn5>3p^r=85p>QK$!8;-MT+O!5B{$$B>F!S1&vAF$nOm9C-A<{@B9MjceVUlKdAH zE5<5$1}Tb&e>uHo(*oWZ?aZ!>a@s|*A9if{kYGMX`X|>6eqM(6i|;WQb*_o!Sg^FW od8g3^yXc0_o8H^!v%g&@vxIe`-2BR0 zpdfpRr>`sfD-M1EGj<8Lyi%Z$WQl7;iF1B#Zfaf$gL6@8Vo7R>LV0FMhJw4NZ$Nk> zpEyuah^LEVh{y5dEt|LgKkvYpkhDNx!+{WqnwlC7q4{>TP7fbXT7H9-IiG=BkF&&{ zKTf|#${_2&3dY53aK?r8y)G-}TF4w`xO=|kP)n8`1H)Twf$v<#ug?K3VDNPHb6Mw< G&;$VK7D)a8 delta 108 zcmaFESU*8BjhTUgLBEkJ6-coK_=LFX1x49r7V9f%_ya{a3p^r=85p>QK$!8;-MT+O zL3vLX$B>F!$q5Qf226}bzUvrxdboPHE_gLuD)9o!OWtMtc-dKd3y{g+>FVdQ&MBb@ E0FS{OjsO4v diff --git a/examples/starting-physics-pixel/assets/StartingPixelGround.png b/examples/starting-physics-pixel/assets/StartingPixelGround.png index 0ce2964607451125c4d8c5361cee14f3906fa11e..59f727af01f0216ed5faca72809d9cafce51f8fe 100644 GIT binary patch delta 251 zcmbQt*uykIvYw5BfuXpn>I;x!OY(MiVR*vulHuLaY5xp>BAf*tk;M!Q+(IDCc zJC0~xwXbk$n82U-=t-M^-d|>UrX$C6_2y5Q<$d8Re+|ckS^H1wiWj_;*X4BgK6G(X i!4?%6bS5J|Bg5B%+9~auA3Ov)fWgz%&t;ucLK6Ty8Cn+r delta 129 zcmeBSn#?#svWl63fx%@-*D)Z)7T^=&+OSc5<{{q|-vm|xMK}vQB8wRqxP?HN@zUM8 zKR`iaPZ!6Kid)GEDhv`GAqN;(G!7Nm6>>>T@F=k}mdKI;Vst0QQ$D-T(jq diff --git a/examples/starting-physics-pixel/assets/StartingPixelWall.png b/examples/starting-physics-pixel/assets/StartingPixelWall.png index 5de6947d523d737cb0336223ca07b78cdf098dba..aff9da991328a5031d6dafa2cf4244f24d6ac799 100644 GIT binary patch delta 200 zcmb=v#W+E-o{fQlp}4B*3y@+<@^*J&_z!{$_AZ|c6yYrJh%9Dc;1&X5#!GkW{s0Bp zOFVsD*Og(OQ{BTAg}b8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~Mb6 zikv)M977@wzddKj*I>ZI;y78z{`gO)|Lc9YZJjhPT{tsMeXfc7)jf|x=Si;q_3C`> gbMr^ff!dIP+*VWeo1bUdzX1t)y85}Sb4q9e0Cny`2mk;8 delta 104 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 delta 928 zcmV;R17G~79jgbB8Gi!+006uZmmdHC02@$DR7Ff_aWyqHHa0djH8nOiHZ3hJHa0dm zI5|R^?&H|1(F!EEFDZlRnwi_ z{vfi zj=HzjIAJ?^*aIR1yr3o5f0`Hd%5^<6F6Up zP~Fjl;*KVq#|bI9VKHMl8{r`)iPZ%{-xG$jf4=?q~^F0)IA24NSmi2{R2agHyOAVdeoQ zxPbQ(79!wkIWZ#NI!%xsUi&yP0Snv1t6i5;0fp`1zdpu#*d3k2|9q@mKxK#E_j(Kt z!LJ|`GN7)T^niore1Z;j$NmwypId1iKp=wpMU(OX1$5-Pn-+2DQ3 z3U8HfoorJ0VFQ$enSS6!7WRpkSLewMoFS+@5$ws+?STP?b}+=r0-O&JIbb}yTqpDq z_kD-lXD%rF#snxfL8d2)U`M4yN4i*I^UWcQjl?nfK%C*3a$s;&f%6R|JUAMx!11?+{;EmT?0T5AdBGkQj7xl&{aQ(}c)V~^X*e%3^Jziw;PzI z-Q)Pxrd*^ diff --git a/examples/starting-platformer-pixel/assets/Flat dark joystick thumb.png b/examples/starting-platformer-pixel/assets/Flat dark joystick thumb.png index acd005cc067032996264e510b58c8dbc0c102b62..8acf179f8660be36ccea1198105da35c07154fd7 100644 GIT binary patch literal 2939 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 Ws*qQ|0E;RkNW#$0000d zNkl2dI;x!OY(MiVR*vulHuLaY5xp>BAf*tk;M!Q+(IDCc zJC0~xwXbk$n82U-=t-M^-d|>UrX$C6_2y5Q<$d8Re+|ckS^H1wiWj_;*X4BgK6G(X i!4?%6bS5J|Bg5B%+9~auA3Ov)fWgz%&t;ucLK6Ty8Cn+r delta 129 zcmeBSn#?#svWl63fx%@-*D)Z)7T^=&+OSc5<{{q|-vm|xMK}vQB8wRqxP?HN@zUM8 zKR`iaPZ!6Kid)GEDhv`GAqN;(G!7Nm6>>>T@F=k}mdKI;Vst0QQ$D-T(jq diff --git a/examples/starting-platformer-pixel/assets/StartingPixelPlayer.png b/examples/starting-platformer-pixel/assets/StartingPixelPlayer.png index dfcded59927d2f747d5f077645be628eea9af66f..b88c010d7cd84eb6947d809ea2063f04a303d75f 100644 GIT binary patch delta 206 zcmV;<05Si)0saAyBo78+OGiWiLd_v4+IJhXAd8PADV> zJOo(i<#Tjx9uL7i_@%07*qo IM6N<$f(3k6ApigX delta 161 zcmeyzxR-H)NY%*F(l$}a)JXh_v9P@FAEt9Ffl)4 zC~1}dExEFb(<x3;b z5~T-D6f-FLWFBTtS1vta(U5lb3t0AmtiyUg&685K&Q+ES42QJD6jZvFSOM*3@O1Ta JS?83{1OQ(zI(Gm7 diff --git a/examples/starting-platformer-pixel/assets/Top arrow button.png b/examples/starting-platformer-pixel/assets/Top arrow button.png index 9e80fc0d8497785b91160dd0eab8d6f3373c3e22..e69188046a2d17f85e972222a601a87b88443761 100644 GIT binary patch literal 3635 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 FV1j1w)3N{n delta 627 zcmV-(0*w8$9DxOp8Gi!+006nq0-pc?05(ueR7Ff_aWyqHHa0dmI5;&mH8L_XHa0dg zGBP$cHa0dk|NsAAUtjX_^4{Lw#l^)&Mn->se~*ukx&LcZ0000AbW%=J0B>IZjxp~R zy4HO*rZ@lq010qNS#tmY3labT3lag+-G2N400G-cL_t(|+JD8F>ypAC4227X5~x;v z|ChDy&bnGlZe(`P@6Ii$Vi%H32h?z{` zA&({os!ck)jd&rN1@*kv&X;~w(7+>zIGK0^u?M`ITYobVd%(4ET6Mt2>z{${OJ<6^ zsnagq<8`6Sd|rA-EH^URbgQvHQ^O|E%x{@$LOs$9eVLZ5Rh; z*XQ!VgKQZc-=f2o!?Ed*2lmdfbz>*?te|XMb>FPA<&m<}EJWI#E9%{YoXZKS(#-Mi zEz^go>*bgJ1}U?hv%<;dkt!VPW>+x%4v0{XX>l^EM0ovUQ4t~&+a0mURTHt&FNy#F N002ovPDHLkV1nr&BUJzZ diff --git a/examples/starting-platformer-pixel/starting-platformer-pixel.json b/examples/starting-platformer-pixel/starting-platformer-pixel.json index 873ef716e..0d4ccb872 100644 --- a/examples/starting-platformer-pixel/starting-platformer-pixel.json +++ b/examples/starting-platformer-pixel/starting-platformer-pixel.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -165,7 +165,7 @@ "metadata": "", "name": "assets/CoinPickUp.wav", "preloadAsMusic": false, - "preloadAsSound": false, + "preloadAsSound": true, "preloadInCache": false, "userAdded": false } @@ -200,13 +200,20 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 1.2121641972173838, + "zoomFactor": 0.7876290101673883, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" }, "objectsGroups": [], - "variables": [], + "variables": [ + { + "name": "CoinPitch", + "persistentUuid": "7c6536b0-2e42-4480-a6c8-d80583dbe392", + "type": "number", + "value": 1 + } + ], "instances": [ { "angle": 0, @@ -261,12 +268,12 @@ "angle": 0, "customSize": true, "depth": 0, - "height": 120, + "height": 104, "keepRatio": true, "layer": "MobileControls", "name": "JumpButton", "persistentUuid": "b1d437ce-f3b4-4799-875e-bb51f731cef0", - "width": 120, + "width": 104, "x": 1104, "y": 576, "zOrder": 3, @@ -404,6 +411,86 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Coins", + "persistentUuid": "f6b391ed-3293-437a-91c2-b0325153bd9c", + "width": 0, + "x": 436, + "y": 428, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Coins", + "persistentUuid": "f7e2818a-b9f0-43a9-ba6e-135de0e4eb70", + "width": 0, + "x": 388, + "y": 428, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Coins", + "persistentUuid": "fe3a8599-ae9a-4018-bbf3-c2ae2283b92d", + "width": 0, + "x": 412, + "y": 428, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Coins", + "persistentUuid": "6723e19a-02e9-437d-a2b1-e33067575ecd", + "width": 0, + "x": 460, + "y": 428, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Coins", + "persistentUuid": "47e2b512-edcc-4edf-8975-e5f35b881b08", + "width": 0, + "x": 364, + "y": 428, + "zOrder": 6, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ @@ -411,6 +498,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Player", + "persistentUuid": "5beda6c1-4165-41c0-8866-a345044d57a5", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -553,6 +641,7 @@ "assetStoreId": "", "height": 64, "name": "Background", + "persistentUuid": "874faafd-7221-4378-a25e-cca934c3e2a3", "texture": "assets\\PixelBackground.png", "type": "TiledSpriteObject::TiledSprite", "width": 64, @@ -564,6 +653,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Coins", + "persistentUuid": "6af60af9-4d31-4bc6-b425-7c8d9bbee817", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -605,6 +695,7 @@ "adaptCollisionMaskAutomatically": true, "assetStoreId": "9c727020616afdd6ba786b8af206a90481f07db0ca175ed6a4cc5b7e01c66d06", "name": "JumpButton", + "persistentUuid": "0ea7c391-2e7d-44c9-88f1-829a5c9b67d0", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -626,13 +717,13 @@ "Scale": "Scale", "ButtonFSM": "ButtonFSM", "Tween": "Tween", - "IdleScale": 1.5, - "FocusedScale": 1.45, - "FadeInDuration": 0.05, - "FadeOutDuration": 0.1, - "PressedScale": 1.45, - "FadeInEasing": "easeInOutQuad", - "FadeOutEasing": "easeInOutQuad", + "IdleScale": 1.3, + "FocusedScale": 1.25, + "FadeInDuration": 0.02, + "FadeOutDuration": 0.05, + "PressedScale": 1.2, + "FadeInEasing": "easeOutQuad", + "FadeOutEasing": "easeInQuad", "PreviousState": "Idle" }, { @@ -703,6 +794,7 @@ { "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", "name": "MoveJoystick", + "persistentUuid": "48a094f9-1be5-4f24-b0ae-9339bbf889e3", "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", "variant": "", "variables": [], @@ -868,6 +960,43 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "CompareTimer" + }, + "parameters": [ + "", + "\"Coin_PitchTimer\"", + ">", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CoinPitch", + "=", + "RandomFloatInRange(0.8,1)" + ] + }, + { + "type": { + "value": "RemoveTimer" + }, + "parameters": [ + "", + "\"Coin_PitchTimer\"" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -903,7 +1032,26 @@ "assets/CoinPickUp.wav", "", "80", - "RandomFloatInRange(0.75,1)" + "CoinPitch" + ] + }, + { + "type": { + "value": "ResetTimer" + }, + "parameters": [ + "", + "\"Coin_PitchTimer\"" + ] + }, + { + "type": { + "value": "SetNumberVariable" + }, + "parameters": [ + "CoinPitch", + "+", + "RandomWithStep(0.050,0.1,0.025)" ] } ] @@ -1039,9 +1187,9 @@ "externalEvents": [], "tests": [ { + "description": "Pressing Space makes the player jump as high as its behavior is configured to, and gravity brings it back down at the same place.", "name": "Jumping with Space", "type": "gameplay", - "description": "Pressing Space makes the player jump as high as its behavior is configured to, and gravity brings it back down at the same place.", "source": [ "// The player must be able to jump off the platform it stands on. How high it", "// should go is taken from the behavior's own configuration, so this stays", @@ -1111,9 +1259,9 @@ ] }, { + "description": "The player runs to the ledge holding the coins, jumps onto it, and collects every coin it touches.", "name": "Collecting the coins by running into them", "type": "gameplay", - "description": "The player runs to the ledge holding the coins, jumps onto it, and collects every coin it touches.", "source": [ "// Coins are picked up by touching them. They sit on a ledge above the ground", "// the player starts on: it has to run there and jump onto it.", diff --git a/examples/starting-platformer/assets/StartingCoin.png b/examples/starting-platformer/assets/StartingCoin.png index 80aaaaa36fe4fff19f6b88e4bb6216d09e9b183f..9a2b76e26feb1fd4ebce76639a0e0efee9799d97 100644 GIT binary patch delta 806 zcmV+>1KIqq0<7k?iJ1^@s6hE~sv00009a7bBm000XU000XU0RWnu7ytkO0drDE zLIAGL9O(c600d`2O+f$vv5yPovlR(twWud2GLx)eiC)H(^gP(2jpLed~?r-mW=}f)>-#$Km6@+0MIiP9*?mfH^CgyA!$6}3G`plaH)ai#7+3f$!kAzmOS z$o!h_&;BzOLNB|JK#MJV;pR~?7KN1!DFO`!3Cx>+3RySgCJ;6M>>x=u|*F zH%_2ZOEz`I%JpOhlcT!G={F5~sN$?+ zf)ppH^OICi97lzDYa}kzx+d$K25 zAkF*~THPNtQBEmmP@E@)TPfqM$V9gigE;e(Fn=l{(H?+`3w`UKRu?L3##7B=yd!!W zHxo7g_^&23ofeTeP~68=)}$A+!rL_Fdulss1;Kh^{;77qe;Q((g}5}H@M5-Hr?Ahq zcRqCx;N?6C5=5F#OQ%ekrZnE;q=`_>6U|Zrf0ty>R60CpZ5A~DwSw?T2qky3vJCjy k79a1#-g}<yUf;Q#;t07*qoM6N<$f_T_!CjbBd delta 289 zcmdnMww`H%c)bD#GXn#I%aX2RKuRLOC&cyfE_I*GLLdo2e=gfT*`@yWut8SbWlo?P z){-E<;P(tmbYs3`J~0Lga29w(7BevDDT6R$#Zvn+px_!$7srr_TT>_B<~yLk;q1u% z_rLwUo;;>Fv9oe+Rcn$o44=FF()IXXzkJHfPJQLoT?ax+3{#goyX5>m;kmbw-9(U= zVNUCHLk26U7UOdaAq?IQDO-N9D_m~M#{nC5z5VJvA-I~PQTt{7t#0gb1qrN;^vG0KL^$*8(Oi7Na haF+UWch9sR_oXaE54@f5@gLCT44$rjF6*2UngCLocaH!7 diff --git a/examples/starting-platformer/starting-platformer.json b/examples/starting-platformer/starting-platformer.json index f6fe1e2c6..9a916d6db 100644 --- a/examples/starting-platformer/starting-platformer.json +++ b/examples/starting-platformer/starting-platformer.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -200,7 +200,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.6040838749988914, + "zoomFactor": 0.7619362677197657, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -336,13 +336,14 @@ }, { "angle": 0, - "customSize": false, - "height": 0, + "customSize": true, + "depth": 0, + "height": 31, "keepRatio": true, "layer": "", "name": "Coins", "persistentUuid": "4c79f19c-996c-40e5-a8fb-fcaa13753abd", - "width": 0, + "width": 32, "x": 1152, "y": 352, "zOrder": 6, @@ -407,8 +408,8 @@ "name": "Coins", "persistentUuid": "c89b455a-90ee-4bdd-b31f-e28e45f6ebe9", "width": 0, - "x": 296, - "y": 481, + "x": 288, + "y": 480, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -423,8 +424,8 @@ "name": "Coins", "persistentUuid": "06a18fa6-e103-4ac4-8498-286721071ebf", "width": 0, - "x": 104, - "y": 481, + "x": 96, + "y": 480, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -439,8 +440,8 @@ "name": "Coins", "persistentUuid": "80bc1e19-cbb1-44c9-9787-6ff9d64b0c9b", "width": 0, - "x": 168, - "y": 481, + "x": 160, + "y": 480, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -455,8 +456,8 @@ "name": "Coins", "persistentUuid": "541cc5a3-eb1b-4ccd-97ec-4a2c0c2278fc", "width": 0, - "x": 232, - "y": 481, + "x": 224, + "y": 480, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -617,7 +618,7 @@ "behaviors": [] }, { - "adaptCollisionMaskAutomatically": true, + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Coins", "persistentUuid": "039c827f-a216-4ae1-966c-af24e56a91ca", @@ -636,7 +637,7 @@ "timeBetweenFrames": 0.08, "sprites": [ { - "hasCustomCollisionMask": true, + "hasCustomCollisionMask": false, "image": "assets\\StartingCoin.png", "points": [], "originPoint": { @@ -650,26 +651,7 @@ "x": 0, "y": 0 }, - "customCollisionMask": [ - [ - { - "x": 0, - "y": 0 - }, - { - "x": 19, - "y": 0 - }, - { - "x": 19, - "y": 18 - }, - { - "x": 0, - "y": 18 - } - ] - ] + "customCollisionMask": [] } ] } @@ -1135,9 +1117,9 @@ "externalEvents": [], "tests": [ { + "description": "Pressing Space makes the player jump off the platform it stands on, and gravity brings it back down at the same place.", "name": "Jumping with Space", "type": "gameplay", - "description": "Pressing Space makes the player jump off the platform it stands on, and gravity brings it back down at the same place.", "source": [ "// The player must be able to jump off the ground with the Space key", "// (PlatformerObject default controls, jumpSpeed 717 / gravity 1050).", @@ -1202,9 +1184,9 @@ ] }, { + "description": "The player drops down to the ground and runs over the row of coins: every coin it touches is collected.", "name": "Collecting the coins by running into them", "type": "gameplay", - "description": "The player drops down to the ground and runs over the row of coins: every coin it touches is collected.", "source": [ "// Coins are picked up by touching them: the player starts on a raised", "// platform and has to drop down to the ground to run over the coins there.", diff --git a/examples/starting-point-and-click-adventure/assets/Background.png b/examples/starting-point-and-click-adventure/assets/Background.png index a302951e5f1f2799a5587c95fe53b9e449eb7eb4..f1a22e02ef7983dea38c2e84fa8e2d11db8abdc1 100644 GIT binary patch literal 91931 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 literal 33123 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 diff --git a/examples/starting-point-and-click-adventure/assets/Border.png b/examples/starting-point-and-click-adventure/assets/Border.png index 043ea4c9a6cb7820659d9cc9f36e9c32d23496e7..fc209e345f8331ae85efa24563e4f9342c0bcccf 100644 GIT binary patch literal 1164 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE)4%caKYZ?lYt_f1s;*b z3=G^tAk28_ZrvZCAbW|YuPgg2b}>Khk(gB! zutFzRclEch)7!Zs_QpoDpW#3AHvYJ^e^YVUZOc_PMS()oPXE1pd*ZJr2TJGICr*mh zK5TI0_+9=Rzjt&uH#7EJ6P~(6=-`zQvCGrb3NoJ=8O`*$RGq$H@r!3457ro+4m_7U zS>cZX&&B&MlfEDR-Km$l*p%&ewZxnEiZ61LpM4U2!tJ`7gZVm89fP*I_JbGm_GkWH z{{9~8i}zpD*4=WC6#aQfCN2H#?2c<$NAs`MTCS=4z3?`F700gIJoh(gHN7+Y<#^ue zn?>={(ADc?EUdSk;@@@Kr-J3qqdldnFIKKlkT@}`_WXOpi-IrTe-UU){Ij5OO=nYQ z?d7-oY7gh8pLx6D_qX1sPAPdE9WnBC0W$Nxq}Tx6cfs(ew$k;ZGIc?A)4%_1&|IdX z=gd4s<=xTj`B&%9y1~O6(>YtFwchaHlp97Ow|P639G z0Sv4HK)w^Bh=WE069;Pm!$PV_{*dSNxHGG>XKvye2KCR9!akk4&W(pI@G=!s$>0vzvEJT-x4$ih3QMv>@)-Uys5> zL9dEPDN)s?M~9N$NHBj5nsC)WXL-dwgX1plD)BQm-&flFtMf;%+X9|HI|?^%)>G|~ z*tfQOp3#TDZps1-9X(YEe*??;@(SnOo|t;Ou>13g-QSXI&;404|HJj|`|g@>&C6A~ zeRH1wqq1%8SN|VBmalzaW!<5Po$tDCNL!^FNs5SzP1F~;d7<)5+qsE-@8<35`gb_c z`*Zu6=iEnD{625~%6|SH&G~iL>h4x;EZMq-;dhwJu_$x?dHGlBe?194dQ{NHR$$NhLCe(t$Q|Z@)McK{;r)No?rztgAoxM+>Ldr7j$O$OldRsj w+Ps|a!^~VFa-q@8-*n4+bLqKDCjV#qFJIK<_ae9nSZ*+Qy85}Sb4q9e01EpS$p8QV literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!i0(?STeKHF@+})9pzOJ6Fjm2pRs$-a5lv})btywBXLyZpIg-jNO#p~u$t3wbL3iM^^_ zS85Qx_tM|}?#J&R`MrGR&*&T6Itp74wTP_{efGTj`l7IoX*v^_aD)F0AA*(ZbdH|i w`{Up&`<;)MGVc4;)eddSL^BEYJr+B(JhE&{oJ9l^3l>m{p|Ftf9hl~Xq+Np05s z(DZ1|oS6&s#Q$G^rgHTE+s)@^W^PO1`E#MXAYy#kJ#d&w{orR>xMi`Aiy{ zO;-Mi|ITgKHjzExWn;yXRkbF+G`uHon%uBwgP_YbMmBrNTkWqlWxLOq_%Q#5s>J5A zAFOj*<$7+OGkOmBCW(Ldrz-5vw0`aLivN6>$( zJTzpiOjMTG{I+`Sn%7eK-{Kyhy(ee4r@sARLB*;fo+gIp`Y}hQzRZl7xv$IM%bs5D zER(Za^VvW1GtOq_&UhpIXTg>mcW@6}3+&7Svl z{)V?cH~N6|j(*0YYXl9A*Y&>%7ri`Z!rxUzV(U9*8Va~97TZ(xagJu$k(mn>jMmA= zg?^pJ3F0W3teb9sb^eS5_gh9L@1!rdtKFEmjfYqH*Y*Gg)&Pcu3|tB#4vZ~K8Vx|c z0M`NrCq@wmjRqzTs!1NGS5e?OZ@92;OX>@e0yCS_EY_E%Eo@A9vS6~tt}`swkIn=H zNNcPLJiq?;nZrtcb0oF27Te%%&mgl~;yf8T@_Q2t}=c>Oh>{iS&ng7Cn zq%QgCU+vV=o*!tmz%PC(g+@&1%B~C9mw&uq? z&LbB;+sm*26UKO-KW$>ELzPd_qD}9eOMl*OwBFXBtdt~C$*`1T|ElYDQngc-dfwdU zcuYY*hee@nqN|2dhs*MPuAEsb!URGxzGyaF3jMhM6YHVac=c;G7QcX5mci52&t;uc GLK6UZuEA>n literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!?1AIbUeKHH9A|jBHv!l~Th7a68 z1*|1Oe!&d)3k>FmN7r)z1vm>lB8wRqxP?HN@zUM8KS05`o-U3d6}R5rvKBgGz`+vu z_rX8+GKI%qpS>!&RLl_P+2WI3e(Y7DPHpeE`GUtktEKTP)Y^S!KGpJkdcgn5>c#&r zW$&-F*zarn*?R?hiqoNt?pga=w}zi#+{?<{(tr~j5ND{%deXOaWB<}0JH_oIKC6G% s;#CQidXUXuQP{kG-iN1>oBkCu&XqaGuU*fp2XrWdr>mdKI;Vst0EP^0Z~y=R diff --git a/examples/starting-point-and-click-adventure/assets/DirtParticle.png b/examples/starting-point-and-click-adventure/assets/DirtParticle.png new file mode 100644 index 0000000000000000000000000000000000000000..07db099a3c5a8e4798a7b8da4a97a5bca4b3e652 GIT binary patch literal 969 zcmV;)12+7LP)`qD$R`yp&Kp~ z^-1F#0b+&^?~!djl}Lah%Xi-SRd8Jo{?;3o-h)_@@SoEI=)F?aM7l^>yqk02c9S24QiaO4jwr%c}IEn=$@Iu|j z{A?dLBatx*q%rq|JS?4a|Lt#kE6DC0Rls21az!T6sTB=BB|cf0=hn7W5Tj2YYh_UTYzD|O1qCGKoBgnDQ^!7 zlxOgcU=(L3SI*wW5@3SY9PjRFnyg5Rw>yp@`_0$geX&9y2t^gk=3+ldi57KzAFG}Z zt#+FP$a-;l>dnP*u|mK!5AdGgZ(`akjHzkN;Zof2D7M=ex~}UY`H(K9HEdOE2BrL~ z=3J{pA`;v$; r5yj*z64LN`uAO!n*j9V(G7kR$?WdIAZVN{t00000NkvXXu0mjfzF)6> literal 0 HcmV?d00001 diff --git a/examples/starting-point-and-click-adventure/assets/QuestionBackdrop.png b/examples/starting-point-and-click-adventure/assets/QuestionBackdrop.png index d7c5d6513385e328394aafd226fd8502dc57672c..f93f37cf05c2e283c28d24c6000bfbee78a67d34 100644 GIT binary patch literal 1598 zcmeHH`!~}I0RMjPkT{|vkD_#=#K?7Aa?vohp}bvW5l7L(Y#ue4q3cl|!{vIkJC8d` ztJxKj5jtK=dwHiBOL>)7q>*8F_g}a_-yc4o&-r|Q{G8AEWO;d@RFsY=0RW)l>f-Dp z)2e@=s37AUex#{P_TyYG#sPq``o91HGDTY!f^j}5IKbfPev%ovNJn=^0C<+Kyb~rb z^9SM)f$_fBh{S4HJrWaE@vI~q0OXmj&W?Tw;IiNx);B0(g6AiNsb-6=W%w>ANTIQOi4J`kWjl#f`<& zxV3w%ONnP)3#}_K9CUu7Qa#Kv7|)31{_<3(9({vkfZ1Je%4LW67(3`q)u^r-b~zcX z!e0hOAnAux9#?iIoXn5d1-u`4}|&a){!P&Ut6O-Fj%=@XRD59On!$KLlI{6O)a7BmtkvvnKr3K zbPpg8&JW$RJ@!Ji874s#GhgO(bF@A{8gfZ`#+3a$qojo(2!7pm?fRMq`;1ZsGNgUSBBda%R&dXIlj0shQf(ByS=WKQ zQM8?T*>CK=94~26554gYWH3y026Av%Yqq$b(Iz)9l%UbU=2cqqoA+$%5dK|#eXU^o zHH|1|ft!3;!*_@LH_0c_#t!eL@YI464lW0e*C?v_$SE5AkbVe+X9GVX{*V82Cw?^G z>F5)%{XR7|4o&kezEKIbFG%Q}BQ4RXJo3df1qB6_h2DVy+|+RSm?vQ8BZYD5mtsa=Z4S< zNhY+mMClY~d9oHtAe9r=Hl}|MH*})hg22k!ra!hZ-&z#Y&(BrZld{zGc&yDu&Nq4_ z^iF9sB4J~uPy|hxm0gTi$go+P{S|H!hUfO!)7^8M<%}I(zoI;g9Wv~jia}dY5w~)L86#0cov&-`xs{wHGk56}U$VIu nQ~1a;%9N?jB0T~Dx9xqkALDSP(B~A{y#uZY4`&8E^tXQimD|0$ literal 339 zcmeAS@N?(olHy`uVBq!ia0vp^3qY8I8A$FCoGuTfgaUj*TzxVNJ>1K~8qID3H%t;1OBOz@VoL!i*J5?aP3I*F9YvLn>~)y}MD6Sy6!5 zp|AO0blInG&a7b@RwcAQ49e_L-<*AXNmZZq-p7~N^RMyw{EaJoci~LI{qTsL2e|h3 z{|+iEStq|EsOayZbD!rPsq;@+>yp^(b6=Z<7T{0u^}M>Pc{PzABQ4}^e7E_`z4^2D t@yFh`KWD#x+|K-Ix%j8!+LNB!+g1KrP#k%zP!Z@w22WQ%mvv4FO#sa1Wdr~K diff --git a/examples/starting-point-and-click-adventure/assets/StartingCollisionArea.png b/examples/starting-point-and-click-adventure/assets/StartingCollisionArea.png index 4166440adae4bfb15c975189e7fbb88c2fc9b857..443292ad3a56caa45af6177c5c49bc749794facf 100644 GIT binary patch delta 763 zcmVd(XKu^FXu`d0x-Gb6(I?^ZL3&LcHHSQ0n*p^2s4dktP8;tu|E)MN#?MV~M;> znml3#@-H{{;_{#63eD!$c>_@LnWe0_{MtpHX69%4j({ujUzKOtxH_d&=1-j^040x+ z%O32I1WJDGJb&Ml2iA{(%ksc#0ItgeYXL+-9$2{pz8g(?yDf;yW65fN)F;XV;}ZaR z=}%r)9vBTk$L5FY(IX&Pse>+9#sZLRm0`9^BS#>r@*s2oQI-dx0*Jai2z&=L$`z_V zl_D(<0!;wqYlWhyJldp*I_-M`l>F*NUQFKPf^_9;0=i@WSc;82(4GJ#uYPF2iOo`_ zH34yz2U90NQl6txPMiQ~d5%Uob^`wYxQG+ZMmaJ7X?e~@ITU~k@|+9Sz#Wh@dC&_W tiSnQuKvLyFT2fxJQ7Sx1d8tO(&kv!Y?jaB>NK*g+002ovPDHLkV1lS*Ql9_- delta 212 zcmeBRd&)RLvYwfNfno0U#y3EUEx;$lbqy!OCtil5?w4->MVLy0{DK=A7Oc1y4CHYZ zctjR6Fz6|RFk{71`!b+lxu=U`NX4zU*EaGVFyLW6c>14rIu?rZI<|5yI4_#66s@wxD;?W^=d=dap#^>2XhckjFYrTateR@4OkT=L2H>Ecu2 zQ_pMN53LXQ>-tsw>iv-VFU|k&#l_o2Ai*8F@_U|3^EDPFNE!m&z~JfX=d#Wzp$PyB C%UXB< diff --git a/examples/starting-point-and-click-adventure/assets/StartingNPC.png b/examples/starting-point-and-click-adventure/assets/StartingNPC.png index e037cd54d3d6a890a3473c11075b3e7f092fc896..3cf06dd87c091ec8ddde4acb635fcce703a5bf7c 100644 GIT binary patch literal 14836 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 Na#G5Ywc;ir{{y$2zC8c{ delta 1884 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 h^#J& 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 BQ}+M> literal 0 HcmV?d00001 diff --git a/examples/starting-point-and-click-adventure/assets/StartingPlayer_Left.png b/examples/starting-point-and-click-adventure/assets/StartingPlayer_Left.png new file mode 100644 index 0000000000000000000000000000000000000000..5b7451d248b9f1cbfae7960e76d716f1f94f0a7c GIT binary patch literal 12018 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 GEaZP2&+gd( literal 0 HcmV?d00001 diff --git a/examples/starting-point-and-click-adventure/assets/StartingPlayer_Right.png b/examples/starting-point-and-click-adventure/assets/StartingPlayer_Right.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a83ac942f2ec6271284854c4252bf06b071486 GIT binary patch literal 12151 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 literal 0 HcmV?d00001 diff --git a/examples/starting-point-and-click-adventure/assets/starter_pop.wav b/examples/starting-point-and-click-adventure/assets/starter_pop.wav new file mode 100644 index 0000000000000000000000000000000000000000..5bc5472627e92d7209d23a33503f9721482a134a GIT binary patch literal 43564 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 literal 0 HcmV?d00001 diff --git a/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json b/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json index 26cff557b..0b9aaed51 100644 --- a/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json +++ b/examples/starting-point-and-click-adventure/starting-point-and-click-adventure.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 272, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -91,14 +91,6 @@ }, "resources": { "resources": [ - { - "file": "assets/StartingPlayer.png", - "kind": "image", - "metadata": "", - "name": "assets\\StartingPlayer.png", - "smoothed": true, - "userAdded": false - }, { "file": "assets/StartingCollisionArea.png", "kind": "image", @@ -169,6 +161,66 @@ "identifier": "https://asset-resources.gdevelop.io/public-resources/Dialog Boxes/6b410f07a3a02e721a49d41795e84b56707ef28ac4d095d55f1fd1093760e134_8BitOperatorPlus8Regular_Edited.fnt", "name": "8BitOperatorPlus8Regular_Edited.fnt" } + }, + { + "file": "assets/StartingPlayer_Right.png", + "kind": "image", + "metadata": "", + "name": "assets/StartingPlayer_Right.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/StartingPlayer_Down.png", + "kind": "image", + "metadata": "", + "name": "assets/StartingPlayer_Down.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/StartingPlayer_Left.png", + "kind": "image", + "metadata": "", + "name": "assets/StartingPlayer_Left.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/StartingPlayer_Up.png", + "kind": "image", + "metadata": "", + "name": "assets/StartingPlayer_Up.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/DirtParticle.png", + "kind": "image", + "metadata": "", + "name": "assets/DirtParticle.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/starting_bookopen.wav", + "kind": "audio", + "metadata": "", + "name": "assets/starting_bookopen.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false + }, + { + "file": "assets/starter_pop.wav", + "kind": "audio", + "metadata": "", + "name": "assets/starter_pop.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false } ] }, @@ -201,7 +253,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.5468750000000111, + "zoomFactor": 0.7619362677197756, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -211,10 +263,10 @@ "name": "Characters", "objects": [ { - "name": "Player" + "name": "NPC" }, { - "name": "NPC" + "name": "Player" } ] } @@ -224,7 +276,7 @@ "name": "SceneScaling", "persistentUuid": "3c812502-8393-4d83-9ff8-57ed7c1b9330", "type": "number", - "value": 0.75 + "value": 0.8 } ], "instances": [ @@ -253,9 +305,9 @@ "layer": "", "name": "PathfindingObstacle", "persistentUuid": "e8c3487a-80e5-465b-b3a8-8feada71d5fe", - "width": 271, - "x": 689, - "y": 507, + "width": 288, + "x": 681, + "y": 508, "zOrder": 2, "numberProperties": [], "stringProperties": [], @@ -270,7 +322,7 @@ "name": "PathfindingObstacle", "persistentUuid": "37508cd7-0278-4982-be39-c37f7544c16a", "width": 64, - "x": 944, + "x": 951, "y": 640, "zOrder": 2, "numberProperties": [], @@ -286,7 +338,7 @@ "name": "PathfindingObstacle", "persistentUuid": "ef37aabf-9ae6-4836-931e-30e9fc5511cd", "width": 64, - "x": 689, + "x": 684, "y": 544, "zOrder": 2, "numberProperties": [], @@ -361,22 +413,6 @@ "stringProperties": [], "initialVariables": [] }, - { - "angle": 0, - "customSize": false, - "height": 0, - "keepRatio": true, - "layer": "", - "name": "Player", - "persistentUuid": "1375f3d2-9441-4452-a57e-48f5841b70dc", - "width": 0, - "x": 360, - "y": 475, - "zOrder": 6, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": true, @@ -522,8 +558,8 @@ "name": "PathfindingObstacle", "persistentUuid": "f8399add-f0d6-4245-b651-8d0ab194935c", "width": 64, - "x": 912, - "y": 512, + "x": 923, + "y": 541, "zOrder": 2, "numberProperties": [], "stringProperties": [], @@ -538,8 +574,8 @@ "name": "PathfindingObstacle", "persistentUuid": "f040d246-9627-49ff-81a1-5cdc40b64191", "width": 64, - "x": 928, - "y": 576, + "x": 940, + "y": 591, "zOrder": 2, "numberProperties": [], "stringProperties": [], @@ -588,8 +624,8 @@ "name": "NPC", "persistentUuid": "8ea20f0b-0cde-4638-9fd0-d1aa06a61654", "width": 0, - "x": 1024, - "y": 328, + "x": 1009, + "y": 307, "zOrder": 7, "numberProperties": [], "stringProperties": [], @@ -620,41 +656,84 @@ "name": "NPC", "persistentUuid": "06f12367-b7ac-4b92-9370-d63a537d8474", "width": 0, - "x": 128, - "y": 648, + "x": 152, + "y": 658, "zOrder": 7, "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Player", + "persistentUuid": "d2ffca6b-8de2-42c2-ab5d-90c7e9a6c447", + "width": 0, + "x": 407, + "y": 455, + "zOrder": 9, + "numberProperties": [ + { + "name": "animation", + "value": 1 + } + ], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ { - "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Player", - "type": "Sprite", - "updateIfNotVisible": false, + "height": 720, + "name": "Background", + "persistentUuid": "a5e91b1d-3caa-4d0d-b9c4-b711eb60a0ee", + "texture": "assets\\Background.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 1280, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "assetStoreId": "", + "height": 64, + "name": "PathfindingObstacle", + "persistentUuid": "63679285-9e1c-4afb-9434-4aef7ceebd61", + "texture": "assets\\StartingCollisionArea.png", + "type": "TiledSpriteObject::TiledSprite", + "width": 64, "variables": [], "effects": [], "behaviors": [ { - "name": "Pathfinding", - "type": "PathfindingBehavior::PathfindingBehavior", - "acceleration": 2000, - "allowDiagonals": true, - "angleOffset": 0, - "angularMaxSpeed": 180, - "cellHeight": 5, - "cellWidth": 5, - "extraBorder": 0, - "gridOffsetX": 0, - "gridOffsetY": 0, - "maxSpeed": 200, - "rotateObject": false, - "smoothingMaxCellGap": 1 + "name": "PathfindingObstacle", + "type": "PathfindingBehavior::PathfindingObstacleBehavior", + "cost": 2, + "impassable": true + } + ] + }, + { + "adaptCollisionMaskAutomatically": false, + "assetStoreId": "", + "name": "NPC", + "persistentUuid": "55982d09-b674-4f39-a74d-cee4c65e32b4", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "Selected", + "persistentUuid": "2378316c-7793-4844-8e78-c83d98580070", + "type": "boolean", + "value": false } ], + "effects": [], + "behaviors": [], "animations": [ { "name": "", @@ -666,7 +745,7 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingPlayer.png", + "image": "assets\\StartingNPC.png", "points": [], "originPoint": { "name": "origine", @@ -682,20 +761,20 @@ "customCollisionMask": [ [ { - "x": 70, - "y": 160 + "x": 20, + "y": 120 }, { - "x": 186, - "y": 160 + "x": 119, + "y": 120 }, { - "x": 186, - "y": 240 + "x": 119, + "y": 223 }, { - "x": 70, - "y": 240 + "x": 20, + "y": 223 } ] ] @@ -707,52 +786,58 @@ ] }, { - "assetStoreId": "", - "height": 720, - "name": "Background", - "texture": "assets\\Background.png", - "type": "TiledSpriteObject::TiledSprite", - "width": 1280, - "variables": [], - "effects": [], - "behaviors": [] - }, - { - "assetStoreId": "", - "height": 64, - "name": "PathfindingObstacle", - "texture": "assets\\StartingCollisionArea.png", - "type": "TiledSpriteObject::TiledSprite", - "width": 64, + "assetStoreId": "9d5de415b6e469c681701ea42d3b1c486fee31d6ef591a2d3e226f639ab486ff", + "name": "TwoChoicesDialogBox", + "persistentUuid": "43dcc83b-4f79-4a52-804b-5580645ea985", + "type": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", + "variant": "DialogBox", "variables": [], "effects": [], - "behaviors": [ - { - "name": "PathfindingObstacle", - "type": "PathfindingBehavior::PathfindingObstacleBehavior", - "cost": 2, - "impassable": true - } - ] + "behaviors": [], + "content": { + "LabelButtonID0": "Yes", + "TextMessage": "Want me to go away?", + "EnableEscape": false + } }, { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "NPC", + "name": "Player", + "persistentUuid": "0965c535-d7d6-47e2-b4a7-2e41f9517bfe", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "Selected", + "persistentUuid": "2378316c-7793-4844-8e78-c83d98580070", "type": "boolean", "value": false } ], "effects": [], - "behaviors": [], + "behaviors": [ + { + "isFolded": true, + "name": "Pathfinding", + "type": "PathfindingBehavior::PathfindingBehavior", + "acceleration": 2000, + "allowDiagonals": true, + "angleOffset": 0, + "angularMaxSpeed": 180, + "cellHeight": 5, + "cellWidth": 5, + "extraBorder": 0, + "gridOffsetX": 0, + "gridOffsetY": 0, + "maxSpeed": 200, + "rotateObject": false, + "smoothingMaxCellGap": 1 + } + ], "animations": [ { - "name": "", + "name": "Walk0", "useMultipleDirections": false, "directions": [ { @@ -761,7 +846,7 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingNPC.png", + "image": "assets/StartingPlayer_Right.png", "points": [], "originPoint": { "name": "origine", @@ -771,26 +856,170 @@ "centerPoint": { "automatic": true, "name": "centre", - "x": 0, - "y": 0 + "x": 32, + "y": 64 }, "customCollisionMask": [ [ { - "x": 40, - "y": 140 + "x": 20, + "y": 223 }, { - "x": 216, - "y": 140 + "x": 20, + "y": 176 }, { - "x": 216, - "y": 256 + "x": 119, + "y": 176 }, { - "x": 40, - "y": 256 + "x": 119, + "y": 223 + } + ] + ] + } + ] + } + ] + }, + { + "name": "Walk1", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "assets/StartingPlayer_Down.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 69.5, + "y": 195 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 32, + "y": 64 + }, + "customCollisionMask": [ + [ + { + "x": 20, + "y": 223 + }, + { + "x": 20, + "y": 176 + }, + { + "x": 119, + "y": 176 + }, + { + "x": 119, + "y": 223 + } + ] + ] + } + ] + } + ] + }, + { + "name": "Walk2", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "assets/StartingPlayer_Left.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 69.5, + "y": 195 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 32, + "y": 64 + }, + "customCollisionMask": [ + [ + { + "x": 20, + "y": 223 + }, + { + "x": 20, + "y": 176 + }, + { + "x": 119, + "y": 176 + }, + { + "x": 119, + "y": 223 + } + ] + ] + } + ] + } + ] + }, + { + "name": "Walk3", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "assets/StartingPlayer_Up.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 69.5, + "y": 195 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 32, + "y": 64 + }, + "customCollisionMask": [ + [ + { + "x": 20, + "y": 223 + }, + { + "x": 20, + "y": 176 + }, + { + "x": 119, + "y": 176 + }, + { + "x": 119, + "y": 223 } ] ] @@ -802,28 +1031,62 @@ ] }, { - "assetStoreId": "9d5de415b6e469c681701ea42d3b1c486fee31d6ef591a2d3e226f639ab486ff", - "name": "TwoChoicesDialogBox", - "type": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", - "variant": "DialogBox", + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 130, + "emitterForceMin": 100, + "flow": 800, + "jumpForwardInTimeOnCreation": 0.3, + "maxParticleNb": 300, + "name": "DebrisParticle", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 255, + "particleBlue2": 231, + "particleColor1": "255;255;255", + "particleColor2": "231;231;231", + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 255, + "particleGreen2": 231, + "particleLifeTimeMax": 0.6, + "particleLifeTimeMin": 0.4, + "particleRed1": 255, + "particleRed2": 231, + "particleSize1": 100, + "particleSize2": 75, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "b978f0b7-ee5f-41ae-a352-514b4cbbb7ca", + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": 28, + "textureParticleName": "assets/DirtParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 3, "variables": [], "effects": [], - "behaviors": [], - "content": { - "LabelButtonID0": "Yes", - "TextMessage": "Want me to go away?", - "EnableEscape": false - } + "behaviors": [] } ], "objectsFolderStructure": { "folderName": "__ROOT", "children": [ { - "objectName": "Player" + "objectName": "NPC" }, { - "objectName": "NPC" + "objectName": "Player" }, { "objectName": "Background" @@ -831,6 +1094,9 @@ { "objectName": "PathfindingObstacle" }, + { + "objectName": "DebrisParticle" + }, { "objectName": "TwoChoicesDialogBox" } @@ -1016,6 +1282,141 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PathfindingBehavior::Speed" + }, + "parameters": [ + "Player", + "Pathfinding", + ">", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PathfindingBehavior::PathfindingBehavior::MovementAngleIsAround" + }, + "parameters": [ + "Player", + "Pathfinding", + "0", + "45" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetIndex" + }, + "parameters": [ + "Player", + "Animation", + "=", + "0" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PathfindingBehavior::PathfindingBehavior::MovementAngleIsAround" + }, + "parameters": [ + "Player", + "Pathfinding", + "90", + "45" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetIndex" + }, + "parameters": [ + "Player", + "Animation", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PathfindingBehavior::PathfindingBehavior::MovementAngleIsAround" + }, + "parameters": [ + "Player", + "Pathfinding", + "180", + "45" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetIndex" + }, + "parameters": [ + "Player", + "Animation", + "=", + "2" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "PathfindingBehavior::PathfindingBehavior::MovementAngleIsAround" + }, + "parameters": [ + "Player", + "Pathfinding", + "270", + "45" + ] + } + ], + "actions": [ + { + "type": { + "value": "AnimatableCapability::AnimatableBehavior::SetIndex" + }, + "parameters": [ + "Player", + "Animation", + "=", + "3" + ] + } + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -1044,6 +1445,18 @@ } ], "actions": [ + { + "type": { + "value": "PathfindingBehavior::SetDestination" + }, + "parameters": [ + "Player", + "Pathfinding", + "", + "Player.X()", + "Player.Y()" + ] + }, { "type": { "value": "ActivateBehavior" @@ -1062,6 +1475,18 @@ "", "\"Dialog layer\"" ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starting_bookopen.wav", + "", + "80", + "1.1" + ] } ] } @@ -1125,6 +1550,40 @@ } ], "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "DebrisParticle", + "NPC.CenterX()", + "NPC.CenterY()", + "" + ] + }, + { + "type": { + "value": "SetZOrder" + }, + "parameters": [ + "DebrisParticle", + "=", + "NPC.ZOrder()-1" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starter_pop.wav", + "", + "80", + "RandomFloatInRange(0.7,0.9)" + ] + }, { "type": { "value": "Delete" @@ -1196,6 +1655,18 @@ "False", "" ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starting_bookopen.wav", + "", + "80", + "0.8" + ] } ] } @@ -1314,9 +1785,9 @@ "externalEvents": [], "tests": [ { + "description": "Clicking a spot gives the player a path and it walks toward it; it stands still while nothing is clicked.", "name": "Clicking sends the player walking there", "type": "gameplay", - "description": "Clicking a spot gives the player a path and it walks toward it; it stands still while nothing is clicked.", "source": [ "// The core of the game: clicking somewhere sends the player walking there.", "await harness.goToScene('Game Scene');", @@ -1423,9 +1894,9 @@ ] }, { + "description": "Clicking an NPC next to the player opens the dialog, and saying yes makes that NPC leave.", "name": "Talking to an NPC and saying yes", "type": "gameplay", - "description": "Clicking an NPC next to the player opens the dialog, and saying yes makes that NPC leave.", "source": [ "// Talking to an NPC: clicking one picks it, walking into it opens the", "// dialog, and saying yes makes it leave.", @@ -18320,6 +18791,7 @@ { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", "name": "NoButton", + "persistentUuid": "c52cbb10-4c81-4902-b6f3-868a0a1f7e44", "type": "PanelSpriteButton::PanelSpriteButton", "variant": "OptionButton", "variables": [ @@ -18368,11 +18840,13 @@ { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", "name": "YesButton", + "persistentUuid": "90f29c7b-6b95-4eae-b4c6-aada4f5798ea", "type": "PanelSpriteButton::PanelSpriteButton", "variant": "OptionButton", "variables": [ { "name": "ID", + "persistentUuid": "b12c7a4a-1672-491a-838d-38e6803979a9", "type": "number", "value": 0 } @@ -18419,6 +18893,7 @@ "height": 48, "leftMargin": 16, "name": "TextBorder", + "persistentUuid": "bc80fadf-0c09-4e82-87ad-572194e4de77", "rightMargin": 16, "texture": "Border.png", "tiled": true, @@ -18570,13 +19045,13 @@ "angle": 0, "customSize": true, "depth": 32, - "height": 36, + "height": 42, "layer": "", "name": "YesButton", "persistentUuid": "a0ca78d3-0a23-4bbe-89de-fb2d0a53996c", "width": 105, "x": 350, - "y": 160, + "y": 154, "zOrder": 510, "numberProperties": [], "stringProperties": [], @@ -18586,13 +19061,13 @@ "angle": 0, "customSize": true, "depth": 32, - "height": 36, + "height": 42, "layer": "", "name": "NoButton", "persistentUuid": "6781aafa-3ae9-4820-bb97-682a524a0cf6", "width": 103, "x": 471, - "y": 160, + "y": 154, "zOrder": 510, "numberProperties": [], "stringProperties": [], @@ -18606,7 +19081,23 @@ ] } ], - "editionSettings": {} + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 1.3321680696746645, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } }, { "areaMaxX": 600, @@ -22967,20 +23458,22 @@ }, { "assetStoreId": "", - "bottomMargin": 11, + "bottomMargin": 18, "height": 106, - "leftMargin": 11, + "leftMargin": 18, "name": "Idle", - "rightMargin": 11, + "persistentUuid": "e48868d8-f6f1-4f7b-82ad-d6d37bffe527", + "rightMargin": 18, "texture": "Border.png", "tiled": false, - "topMargin": 11, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [ { "folded": true, "name": "State", + "persistentUuid": "a413a890-6ee0-4dc3-95eb-e65ba1f5587d", "type": "string", "value": "Idle" } @@ -23006,14 +23499,15 @@ }, { "assetStoreId": "", - "bottomMargin": 8, + "bottomMargin": 18, "height": 106, - "leftMargin": 8, + "leftMargin": 18, "name": "Hovered", - "rightMargin": 8, + "persistentUuid": "e0b0a88e-03e0-422e-9633-1d8b4a47cb3e", + "rightMargin": 18, "texture": "Border2.png", "tiled": false, - "topMargin": 8, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [], @@ -23037,14 +23531,15 @@ }, { "assetStoreId": "", - "bottomMargin": 8, + "bottomMargin": 18, "height": 106, - "leftMargin": 8, + "leftMargin": 18, "name": "Pressed", - "rightMargin": 8, + "persistentUuid": "0fb9735f-a19e-4561-8086-4b0a941bcf14", + "rightMargin": 18, "texture": "Border2.png", "tiled": false, - "topMargin": 8, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [], @@ -23215,7 +23710,23 @@ "initialVariables": [] } ], - "editionSettings": {} + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 2.734375, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } }, { "areaMaxX": 256, diff --git a/examples/starting-point-and-click-pixel/assets/StartingPixelGroundTilemap.png b/examples/starting-point-and-click-pixel/assets/StartingPixelGroundTilemap.png index c8df7902292825c8d29695749b82d8a6fe8a3777..8f14e1a302d9d394f099ff06f01dbc2cec8b4830 100644 GIT binary patch literal 787 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE(}i?UNXEpI_;kUP=vF< zBeIx*fm;ZK886+f`vVkYFY)wsWq-xN&nL)f++3dv6p}1)jVN)>&&^HED`9XhN=+U}G)T$m~JM|wvC*HXt7r84c`=SGFE zoAlpu+vLR>Cw;^_KI@m+35G7qn>6>_?dngPzcnpV*}UQU?H`|i1mHXI4-!U7szT1*#H(lj)u5lOp?nx%^x)>H5IP>Oj#?9UClR`do%X%8U ze6@#hM`Uf{^V)rUQM}iITBqH9_P#u^-Ld$m978a}jF1aiJ617<{F-F<_tCp`>#y5~ z{j?1cThO(7uMz*l|EWJ*j+A{;onL?Dwf)@R=?8r3*L@F<>#>$=dw6U4z30`ZdIzUR)j#jGNg+FqMu%o3+9e^)4QB_1dcav{fO&f@+1DvpS6 zJhZ=Y=i$%)zPx>sJ)KcdQ1I-X^oVbty>0LJ{%f?Ia!1=!cUsEBnJF9RY-@h@X2A+`|K#4xHM+q(N4B`FzfzRFex1(yzYMn=IM4lm^63yTtulDJ`njxg HN@xNAV`NVT delta 325 zcmbQtc9m&@WIZzj1H)Cfb}k?#5#STz>XTXc^7(TRdiLzavu7_~ym+kH88)tUPpVQrY?NRq{OFK?Rrl_lO z3JZ8xQ>KQy@&vFlMi}SE#+|UUGBV%{&Y0G|=kHRE-F#9X&P@%ReXg8?b=Koma~&9u zh54>)+!6Ln>vRg!hu9A@*7w9_R{qv|6Rq%|;`ddRx$OS2_m8)K=zFnaTWP@OBQIAR zTRVYOMaJ#`ha&?ci+}?b;=yr-ie#~T-N$DOckTVpB$P8*fwS?UA<%map00i_>zopr E00I+->;M1& diff --git a/examples/starting-point-and-click-pixel/assets/StartingPixelPlayer.png b/examples/starting-point-and-click-pixel/assets/StartingPixelPlayer.png index 92b76c0b806ca0865d889f7df2365038a219e36f..72c9eefa5deba6042b98b8f544001bf373bade7f 100644 GIT binary patch delta 249 zcmVM!19 z#BR=@3jtDnjt)o-iNO;Bl=__9kQnd~V4;?e$OVHp1YmKF?(<)s9C!_6+x~+na|Uk+ z;7aX;Uwn?Pj@XbGJRv}8J|{cX!|Z98HaJ3H)B!B$B^|BP0wNa-*17;!NWk(nsU;zy zx@73I2dE8(UVDJrEuzs@@!$=Ck=HXC@x5aJ#4}$$@#Er-00000NkvXXu0mjfPFHLJ delta 174 zcmV;f08#&`0?Gl9B!3BTNLh0L01FZT01FZU(%pXi0001dNklfv2N23m)N%j}k2+xRIbbvwj3<_aqqX5^i)ge}JfeF> cBfEDD0LSh!=kGPO@c;k-07*qoM6N<$f@l0jz5oCK diff --git a/examples/starting-point-and-click-pixel/assets/StartingPixelWall.png b/examples/starting-point-and-click-pixel/assets/StartingPixelWall.png index 9ed3a407a18a8e6b1b244eb66073e07366ff506b..aff9da991328a5031d6dafa2cf4244f24d6ac799 100644 GIT binary patch delta 200 zcmb=v#W+E-o{fQlp}4B*3y@+<@^*J&_z!{$_AZ|c6yYrJh%9Dc;1&X5#!GkW{s0Bp zOFVsD*Og(OQ{BTAg}b8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~Mb6 zikv)M977@wzddKj*I>ZI;y78z{`gO)|Lc9YZJjhPT{tsMeXfc7)jf|x=Si;q_3C`> gbMr^ff!dIP+*VWeo1bUdzX1t)y85}Sb4q9e0Cny`2mk;8 delta 104 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 QNdN!<07*qoM6N<$f(W(llK=n! delta 622 zcmV-!0+Id49FPT&8Ds+h006nq0-pc?069=hR7Ff_aW*zKHa0djH8nLgH8(dmIyyQw zHZ~$6A~G^EHa0dmI5_|R|IN+KwY9aAlauS~>sD4)a&mIbZ0QdG000YgQchCffNkl5hXi41^PKPSeuz{tvs*gM}9GBzSkE{y;*X z#zzw38gne4h}bIn+i;d*iQ%c14F7WYD4miab2> zHv#WRnX#T>?tj6~F<``u#%!RH^e>~m2Jr1{z$}Wu`-r)%$R~l9ZYg=Sn1HR44qPok zYV6?yco!Sn0vp#$9ngwa+8maydLU*J&b&2adKjd0FNp@PtEZc^!5TPXDCWO7q|}d5 z^@CphQ$#c7=T~vm14flQ&-d*|{gYVBqE);{ecq)=^?z0|Nx@=RPaDnyKPC^P8nD8B z)TxdfwucVsL}9i^H}%B5QBbOkdVg3|m&c=VS`G1dJQs_*$4XO9Dk@FL|35OFhPqnw z(qEI%j%!oFBwI!n;lx>cpsK$EvJKm`Y^vomxdk;i%EG|@2P9Y8F2b~;^8f$<07*qo IM6N<$f)=wN&;S4c diff --git a/examples/starting-top-down-farming/assets/Beet_Planted.png b/examples/starting-top-down-farming/assets/Beet_Planted.png index d4b3145ab86d1990377f49518fbfe7a0ff6ffd61..1b2509d268c8e73e62803b54190ee5c2090e27f2 100644 GIT binary patch delta 988 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 GU;Q5=+1u*? diff --git a/examples/starting-top-down-farming/assets/Boulder.png b/examples/starting-top-down-farming/assets/Boulder.png new file mode 100644 index 0000000000000000000000000000000000000000..8b99f9232a477b51463323b25c0e56847a35e9cf GIT binary patch literal 5290 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 literal 0 HcmV?d00001 diff --git a/examples/starting-top-down-farming/assets/Carrot_Planted.png b/examples/starting-top-down-farming/assets/Carrot_Planted.png index 6cc85a84fd5fabbd60186ae385562d232ddeebdd..e7dfa0029a44e21573df18bd92c921b751ee1f8d 100644 GIT binary patch delta 1017 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 RAw*dsG-`m?g_Rq3{0H9KxU~QP diff --git a/examples/starting-top-down-farming/assets/Flat dark joystick border.png b/examples/starting-top-down-farming/assets/Flat dark joystick border.png index 606bf85b223d68dbdd1be4f5ac851f2018e13828..b4e83e112eb9375cefbb86a6d044a972f8bf4dcf 100644 GIT binary patch literal 3751 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 delta 928 zcmV;R17G~79jgbB8Gi!+006uZmmdHC02@$DR7Ff_aWyqHHa0djH8nOiHZ3hJHa0dm zI5|R^?&H|1(F!EEFDZlRnwi_ z{vfi zj=HzjIAJ?^*aIR1yr3o5f0`Hd%5^<6F6Up zP~Fjl;*KVq#|bI9VKHMl8{r`)iPZ%{-xG$jf4=?q~^F0)IA24NSmi2{R2agHyOAVdeoQ zxPbQ(79!wkIWZ#NI!%xsUi&yP0Snv1t6i5;0fp`1zdpu#*d3k2|9q@mKxK#E_j(Kt z!LJ|`GN7)T^niore1Z;j$NmwypId1iKp=wpMU(OX1$5-Pn-+2DQ3 z3U8HfoorJ0VFQ$enSS6!7WRpkSLewMoFS+@5$ws+?STP?b}+=r0-O&JIbb}yTqpDq z_kD-lXD%rF#snxfL8d2)U`M4yN4i*I^UWcQjl?nfK%C*3a$s;&f%6R|JUAMx!11?+{;EmT?0T5AdBGkQj7xl&{aQ(}c)V~^X*e%3^Jziw;PzI z-Q)Pxrd*^ diff --git a/examples/starting-top-down-farming/assets/Flat dark joystick thumb.png b/examples/starting-top-down-farming/assets/Flat dark joystick thumb.png index acd005cc067032996264e510b58c8dbc0c102b62..8acf179f8660be36ccea1198105da35c07154fd7 100644 GIT binary patch literal 2939 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 delta 5766 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 Ef+5%b>;M1& diff --git a/examples/starting-top-down-farming/assets/Harvest_Seed_Carrot.png b/examples/starting-top-down-farming/assets/Harvest_Seed_Carrot.png index 68ef85ae7b011b5ee22f4ce6b4777dca5694a51d..1a3c2f4a6ca4448bc265411c0d0180bcad3dde02 100644 GIT binary patch delta 1748 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 diff --git a/examples/starting-top-down-farming/assets/Seed_beet.png b/examples/starting-top-down-farming/assets/Seed_beet.png index a19e6f058c578027caf5556cc244d88a53fc420f..fe24683da5cbeb7de30260b482bfd001f52fd74e 100644 GIT binary patch delta 1188 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 diff --git a/examples/starting-top-down-farming/assets/StartingGroundTilemap.png b/examples/starting-top-down-farming/assets/StartingGroundTilemap.png index 42e448154eede7e88634b0afe82f01f35bc566a3..ec7e0f2d14fbc14ba4e243ba961e7f8986fac0df 100644 GIT binary patch literal 2406 zcmdUv`9IYC7Qnxl9->aee>*jvE>3T5xLX z@8J7`lP$)5c{$~1fT4X500;>E4lW?CK$O$u3bHVO0~O>m3mgEUwGr9?P@O8kay`P~ z6Ty0R!Iu7>!C|fsP=LNS+Ryc6b+$VI@J$-&YFmYKtGA6r56XfrMd9CDvv-*ql`JMEmN&NCeYaG-AF z;+IIt>hFm>_I*-rxl$YK*bCy^lIj|N?eHpAwYFWgp%g&uS>elW){$?kne7FBP#QR1vXJc+=W=|w6g zHQIj?4vX{UGi|5G0g!kh^^xyGCSve@yTb+YDvER?A<#16p$=dcfMUH#>~|ufUtLCC z7k`gk@O`ilBw}Fc&K&<<(bfqISV#+QN19 zNi|1Yc|=0L#?^;SGwm@xGcJzoFTXx3LC8kJlWHAa4O7sPBR92yCXa$mM3$wdi}(al zu-V^jS{Sh$O6D=O`cY7X;k%vVcCmb@!DB8}3jC2Wd%q55thdGkDl);Tzq8LTH>$;~ znFQd-IRr(bZI?dH)mkKn!SDZx+`}K>RbB+bB=W4kZ4Bt$;Nog+Rrxdc zXI17ahDKnJ#u5|H{@IB z{xw`b(i>a{8#UHX+zsigtYKh^&8V9ta9kYzd-^lPe90yR@JTra788@#%kVt!yIDu- z%aBfhV>>njMZNbbj`O74^VRFW26l z%Ga2T9yy_>v!h#`({m@Rctj00xH?lZwI))pbcSXz>4CiFjxGz*M-4&iG=O|ZF^tsd z+mnWA-D6o5Wzj?Hp5YhlLI8`&$7;~|mM(s!=9YqS;>8>SRJ1=CxP6Tq_{IlVNdxB3 z{?~w|P@~U^YecW)`*oaN7`g^^e5i)#(De^kou*&@)-iLV`ULS>s7rRVT4!s zU*C0r9B%Hek)kc^W6@ZmI%m(@Y1iYZbF^Nq@?l=d-GgUDnL^H<(pH|?YV`P>xFbB& zS~6CK^DZl!byo}Hr#SW)@i{ANAr2Wb%PWv~?9_!^zP$0Ke+DcNjj!BK?Y{J`LR;1mu^#gKG#Kfb=~lp968;U| CZB|+U literal 10257 zcmeHsXH-+$)^;e;5fr4C2q;BD3897F2}qF+(n1m-(g_fHFQR~e6s1=wf}k`3X-W}9 z0Vz@iMCnDOgeqUqbI(0zeE0ovzwy2Q&K_eYd(SoJv*vu}Tx;w-cdWjy1~ml>1pok` zhH0uA;Q!mtPcjnxufeo4DF8tG(BH_+%K(lAx_i3Wqn%MeFF$t_5ao-u2LOC0H!^Pf zur+(Co{3V>5LDd+yy?Jz2HM}?bd4mh8I06@#k9TZAA^fOefs@vT-@CXdDpW~Asjf) zldmQtD1PJ2@+IDeX}cwzy@7$3Z4m=F-09=02M5Q)ezOl3YNfSnO*s{8Duf?moP#@;B^5$mfChLRrn(eR z8w&>)BssTUyM1W0{hm};UPbe9sn-8gDmXy?Z9pE5bOn)fu+#4y+<&riVsZ6^jRJ>h z8Zh6R)~UIllWMl?WVls1jkS~%yoVF|X8a1Of7=gH)&2BnllPGY{pg&y3T0AcPU0I1 zxvc6fkLcdZnCa*4aUM;NHhZ;_EwXys6F08t3YHb83M4+V<@1mTuDCXhp2~KOUQOS* z;f|)FVtDy2n8uaHOn>m68LBeyLd%eVrCk&x6iy?ulEX-H!N9AwOBLty46FA zZ)FVP{+riQEsGrai<>@bRh2CY7(12K)lc4bCO=A3&#s@eSj&dVaAP+&EeDV9a>vUe zm-z}47S(gx9Txcw9UgnvPncSwZ_R0&ntRucV#gKHOQ74>3Gap(8hx3SuiP4X9wj+G zM;c?+=+kd|jOLV86cge35be*FWs+{&x%MB-SAU9N+7>sOD=LGdFmnl4WyLz6>l-AVXe@eePfu?@K`cxD8)`B!#k-e$1oy zX`&{cMe~eBH0R~cI;$uzyI?kTQtGQ=K6KY-N@$iY=Qlpi%Z0`P_IG=wl#R5kT;n>R z_xibmz~izqyN2nD3wt9BiGb13roL$gP>7w(EmUMvG4?MUjS8kFXX6vv9Z259U0!Q&HQUxVy%s?wZ=0{tqp zqh4Xf5ew*!dkC$Gus(&j=5!)YCj$0&%C;U(9~jg}QcpC;Us&_hl{q~a7A45!F*0w4 zNe8o+VT6TmXf&wnfl@9)GS<_8FTiTb+HnrO3GGCN$`@KXEG zy5yKf50@A%unyKWLLivY7do337h5rYSyB7`ZGVY1h05Sp8AEn1BJG`9X`Ni3%A_~$ zc6YRYW!pA)B#Z>gtc4DFcTq@PdYC#za;JH5Vf?+2h6%5oA92AjrMYRX_;Y3TPB|*eZy$ygeY%A(jLfnV$Bl#~U%#GE47O$1%=C$oP zQdlk~Hf1kIWgOuiE`DzIHj3!Rr>1eOez5_)%MQ-!7D&QC0R8%60IDk&nD0+iuFZ--6@PE4P}-@S%=Z2v%|Ria$;bA- z`F0jSK`SlU$8jkXRbSym$M-s)YkSsTW%SY5GhGF@2aSPm-Um!LGu45*-uv_8tmPaKjKYO+Ox)}kW!^HRMb`3Dsz&+-nlq9N@xUG_e ziH^8^*4p(*TFZ$_bqG-#`g5FEuX3^J%QmFsioI#ZcVhWBXp>7Z)TC}v@sX_Af(+&> z9N)>8n z@A0vR7P3}8RU8&kj8K|yP7&ens=g!i?b4>}M{4RVs~#`Sve(A_&-k$AsaJ-Vi*yDr zLkY(z^U+2$;ddD+S{98JQ!dj9lAbi~un4`8`<_ctlmJxQS3?88U+)q}-BZRa2N{gC zmyJo+Y-%3bSznQkW|SRSx@ah}4i4yZja}}prkR%79fMKGOPUo88!YCl*>c!j9ygf` zHdH?&CwBIu5poXfFF21)q?+BxB5l`dQ+!!(#ol zaiAR63?=eiS+&yJs~(&@LPgqKdpBYNp-rvXSV37o^GAfMZ#r z^j%Y8F&9YzHYd8>YPL=Z=0d|%X|Idrgs;qYGhg$k;*C-_9hSSKcY!sYz0yp&G>VY0 z;|es~gxw0Vc#xM(`7k<^8cXQ9!=-mg!?V_TU`N&IK9=2#kmj?DO#qO#w`>y3z zWoLQM$`a_GOP5}_G7C_7`tD}72FWeMtX8FGyjf@FZ!L~gP(L?@PB*BfvZpFJv7w`JJ`%#2s~G^-B9B*gdN8ow+xhzK;*o%5|8fsA?Nz>U zni@fxiNXe%NHvKtIk37AcKr>Bvx5u9%BU-HJG0CgQldPu! zF}f9Oq&|Z3OH2e4%A4SW@ie7Oz49**KZzM?2pYGDWZ3pbNt04PxuPZjBA7H#w#k>* zuYX@eX%{`gVJNzu0)1LR-*%1S#&svzwasd=%F;QgyC@`^3gJd^<&(>kW?zKT509Ed z>%j-#=w${x+h5&}rjA?^r9Hb-xbkUY({f)>mU6?tXjWzYqiVL}!=P@M6+ow!hh6oa zmQbrpZ7uOz<@pfkZA+$)4#AJRT-h?K^~$sC$wFgcOZ6{wA-ubGb*M@1oBb3KPr~I6 z!|xL9=3M^a;=@L05MwrMvrxuqRW3?%LgbkpsqFSJ=e{d14GiFKHsGK8W!<8`x}D8w zCQr&q_J@D?ajn2Z)~##DjY!t5O<_~BXYQ4EA9_Dhro2Q~6t3-NB=~G}Fr1&2L`FZL z@UiB_v>^(2i#laPmiHMIr+Hf16}z=kxO%1wV#A4kwt`Yu@6)u_XJmCSbr{)blA)dN ztF{*)BkIv>ozy}ln)XVl!iixv$KifsuBTeHsRdp0c}WCL+q-d7{fv|~@^5YJzIm@J z(fboDWHt>9(v793#hAD*ea|_TJ)J(bw%cu*>MNXiKN`IgVg->GnjDBx5VB){r^Riv z_w4g>V%l~2Xw1Ba9z^Ys#?rIeMbAEp-Tzj7K}kcXm1{%DQjI%)-VFnmNMR+iAio`# zg}$RDGD~|9Q`X*{9};%4-NB1**5PetE6HqxcRoUK9Vj?=6GK2|l zc~PxQ zoZ=b<3cQ^i`CKEJ@+Vs0dl+lxB9z^nhf7R(^kW{cB}akU;M)|r>HG%!svHT@X4z6p z)nj?XNtY@Zfkr^+sy~;lnF(eo#{UVO=<8$l+0#zNdAh?Un~6_mU*G#UlDd%%27OVC z+1;D;89PnTn|V!fyU@}x%9c%;TGW}L$Mwd~VJL?qP2=Tb>r(dYu@*LnH$)ZFIaSyWHd)+(#cvN>gBU5WX8d}^qWhIUkZDxQ>HB?z+)G! z>EJyZXa4mWJx?;pKfETHq0S%Z3S3ASoR!H-?38QOwR^C&=O@ol+4AJw%k9E3&B4v_ z$j}B(BBdNg(^MTrnz5N$`w<43pua%CZB3|51V_F8+v4WI6ABZ&H1DV zFWI?JZ`z&JbKQR5LL6Vhm{l=gw2d1&2$sj;f907rw+gp|M5bpo7LILSwms;^Y2adp z%nn-?UbNoGT@<9Tg_QNT$v4GFzVLfefyi(uPi9Gjfxr2K=qNZg)+pCT z(g$;MoF9-U)zk5A*iL0vj%t33xE5GHIOzFe`C_e$2)hMyzCjb6WqMRNdrY)O%$pT+ zpGJce1Jj$t97;6oYGRq4e1WC*IcaEu4fQqt&jRw|PQC6_B#7*KDlOmF>Vhj@rb7p} zXulmj(3QN0%Rd}BQUHBvAvtg+)HE=Z2LW*!-e=CCpO-OA?JeqerEdhwtFOD&^>0Qn zDwTD%PIb0+>~-f{zom^1{?5Cz-#*;xZqpN%RebQlNw9tBtK5Z1EBZR0Tk9)c=3?(s0z-KP`vg~!|=lBBxA#V;%5%q$>AST zrf)JP&Sn$uvDEP%Cyx)^9}ctD(~Jn){VDlwg?at#AqhVKKoE&mQPGE~sQjxvfp1D= z1trO8zENcBvbpV|cH`m(@C$7<)SUK;M~VPLhcfy`?W(Qk3L^xqX<*5A;Zt}7=Y3;R zMh7c)%L_{1i8`&^4ZM;rpQY1Vbo#naKfvNRuv-AP!q@bLPK5eKhI(BHWr+p>V(TGN z1!bl%8)S5vrm+1Sv~_cSe$6Vyp)vOuv-{33f`B8;Hv!!Qd!-~>gT9l6i+xkU)7QDw zxd63FJV;tge&d#PUn0QI-fW;~G4@TT^7Dw|i}u&7uI5}%czaLl@N>l*@Dk{QR&lol z?yE4>;%F-56Z#@|!Zn`6NC3Hb%B`?izDfap5`$V!%r?!$Po72|&(w~$&qD?1@78mk z&;((QE4ro_7uC3-aE+85y$7L$6BckK3f^tM_`g@`b{dJ8H{!R#KB$t9bg{&_W58#6G zf&+bBoLw>pwxU&u3p@Kg+L&=aY+$42!e#$gWytdFi2Ed z6oQbFwikm-!v6xH=ZVHwCEWS1UY$cB@letbusuS`UL1r(NPGzBAm*9&dnO z187&I8y55LAtSU4%Fqjb&ZnrP1Q;SNB?6X`fQU&-{SN#Wq6x|qgRjMNR8bKj@b8iH z#6a=k;Hib5S1KOh7c4#+sEQ{F?&aob~s;q878AspeZ4k-Kz|D&Y-B}e~K@i$FjqI7A$22e$*Gz`xV=CpyN>-U|!&L@7DoBgIF9FQH%2 z0QvqPlmGADU>#BCOo@QSL877{5eXwv38<(D6wjLQAHfQrujzk9D=Yke@ge(5;V+v2 z-tM;yzq#P|D&apjt3UWUr|^IA_#+Shi!X(M9p^*Bz8A{s{<+f0?;rbGsh@B1B@Rt)U8N0z?8}T4eJDcnP_?ra1-x z5aK>R34DtceDFe2FPM%R=?WzY9Ut2P6MPLXV)jxq^HOnhIe%&f{Cbo_A%R%5mm~1} zQO-2%A|n7mb{(dwWQ6}TKcnErszKO2kM&6_h*VvgOIA!SmLk}6@3>NCpn4|({Y_|3 z+>~RJuCxGX`jZR?nl`UAP7*R`^n}4pwO^Cj<{~t?q-9Las2uMVX-*{jNVk!SI6o?g z7R$o^OnjHGYXO?o9gf~ql+j^L(L2PNx4z&hTf2Bm{u?ELfuzvFPZiQp;t)4ce1%LA zt+Az>Hp+BL#9ZMRPF{6U6MU<-q5iptSN8EUH`mR<KkvIc-IFdB zi2y-WvgyOd0x5aN5;P(Wl{B!^Q_DtRmbI5(cgz^#*6fO#FurQL%L|}HA)MBdu+R8m z^%kSGwAF{#0F=D}AyNmpTH5a)c?rx8%x!7Ihw9`rZ3t=m1x3u(XoUULiIkYg+U>-X z>(W0{-u-f5TTS1090U!7ZL5#R;e&H~I!fa}vXt@p_zhnIP4`V!1)8?lvECOJo0cxV zRdX#0aTRhIxc3r)P*EL`1wq;#9T;cau3uXld)Gpy2=>|a6+Z3cChVqSx8ttE`>rjg z67+CD$jj$-dw0|9N%)EcVXFv@BiM2D{rDZ(V}dQq9ca2us9byYI?H8$%St!0}=lr(k^90Qks0JSjR!e8*TqXBeFHuB|t;cDVKuY)g2pWrN2aX22Pk z82N)g#NbeJ&wNdx&w;q$gex7N-R_>qnun-57;fp9fUoWQw}#cU6f4=@i7=)yA!aKQNtmk2++?lx9!(1D9pBL3QS}sXn!pjp)UDG zet>}5f{WM<2|07dP zChmA@Y?4Of4A*0N50K~1{d11G{AuvMol3x`IYon{p=>^1dkV5+FqxzfL&m!q+My>4#6!_&Sc43wUV378B^#<5%c7c7`=~u$wiylGGs2oUjwXK z{C*mh2)wD0(IV_pYK@4vLw7S!_n zU5??`|29 zPDuKcoF(A-q7UD`gEeybG4CNqQ%{S$ZB*+mQn9X*7yS;!o|-kv4>#U~TjMyXOXz!H z$pWiR=IUEUsSEuPu|f&ACZ0suFQ4SDRa9q(WNBJIh2EIHY207`dIUA#02SU?5Z*!X z0xneZn3gAnOyATu&gD%8+?*gg>U|g4*VWWCtu2MEY@!Rb^-+1K@m9@DrDqubHJ2E8 zz(D3lk0b#C1h!dn%jp22001!ni0@Vc$N-7}03m?(Z=(Mw{11A+MWF>^M%jSK=`-$C zT>zo|Lab!t1;?B+@9Harv?s(ODEjr@wASF^Roh1dWbF_u^TW%+DJ^kLl(cq)?lJ7k z+2zGSCtF4!?@)3@g54`CSWtR7w;%KAGt{1+e--^OaZS`*h{f11Y6TW0D`eDGd((nf z)B&y-x>vQ}ol^g2W=oVK$nD&%8e)nT0s$KZvieQ!wb@IdgRHiP9XO@2so*^<$n9qo zfVhps@>KbT!pUXJmaWr;++=ue`#a*~&C^}|)MEt_!`acv5F@MOXkP1NX>^_Jd*Gq9 zsauZ1=*oTG`!bV3tz`gd)~w8&28mZAM$8&jWG0p8A18jX7U2Wqcrq z-Jh=|ZZik?sni}7r;W7^{}{8m0y6eXCI_^0;A#J#iT@ut{#$zfpS8#UI`~{ivV`&_ zWI~9-*H1jAktB-MuW&I*u?2D&gi0R(V;sz|J0)oDEnEZoa%Am^`Rw$xXv7(in5=R~ z+aTo{%qn?IQW85(%U$$A7?y!MWa8Gkrgwu z)7q>*8F_g}a_-yc4o&-r|Q{G8AEWO;d@RFsY=0RW)l>f-Dp z)2e@=s37AUex#{P_TyYG#sPq``o91HGDTY!f^j}5IKbfPev%ovNJn=^0C<+Kyb~rb z^9SM)f$_fBh{S4HJrWaE@vI~q0OXmj&W?Tw;IiNx);B0(g6AiNsb-6=W%w>ANTIQOi4J`kWjl#f`<& zxV3w%ONnP)3#}_K9CUu7Qa#Kv7|)31{_<3(9({vkfZ1Je%4LW67(3`q)u^r-b~zcX z!e0hOAnAux9#?iIoXn5d1-u`4}|&a){!P&Ut6O-Fj%=@XRD59On!$KLlI{6O)a7BmtkvvnKr3K zbPpg8&JW$RJ@!Ji874s#GhgO(bF@A{8gfZ`#+3a$qojo(2!7pm?fRMq`;1ZsGNgUSBBda%R&dXIlj0shQf(ByS=WKQ zQM8?T*>CK=94~26554gYWH3y026Av%Yqq$b(Iz)9l%UbU=2cqqoA+$%5dK|#eXU^o zHH|1|ft!3;!*_@LH_0c_#t!eL@YI464lW0e*C?v_$SE5AkbVe+X9GVX{*V82Cw?^G z>F5)%{XR7|4o&kezEKIbFG%Q}BQ4RXJo3df1qB6_h2DVy+|+RSm?vQ8BZYD5mtsa=Z4S< zNhY+mMClY~d9oHtAe9r=Hl}|MH*})hg22k!ra!hZ-&z#Y&(BrZld{zGc&yDu&Nq4_ z^iF9sB4J~uPy|hxm0gTi$go+P{S|H!hUfO!)7^8M<%}I(zoI;g9Wv~jia}dY5w~)L86#0cov&-`xs{wHGk56}U$VIu nQ~1a;%9N?jB0T~Dx9xqkALDSP(B~A{y#uZY4`&8E^tXQimD|0$ literal 6328 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 A(f|Me diff --git a/examples/starting-top-down-farming/assets/StartingPlayer_Left.png b/examples/starting-top-down-farming/assets/StartingPlayer_Left.png index f232507104fd4187ac334c71d96c731872d90fb5..c0659c1fc10b68a4e0e6a9ca7c42f7967a36bb4d 100644 GIT binary patch literal 3061 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 DtKpvY delta 1193 zcmV;a1Xla?7qSVE8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r1X%EwV2;znWMlBlaivpcp z6ufW>Wjz>xO%^gE8pd`B_^Kw3RTS&8N(KM`01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600Z4gL_t(|+O?SJwyP=(fa?TSRJ4LawcGc9 z%L4)1YMJz|n?HN))_jtIB+cz+5t5fxb#H{+tE$B0c1qH`ZVpo8B3%Dh9Zr%2B2c9@ z=5g$VjN`l^@_!Kh3=CgJHqf^WZ0rFMr-Aw-rw182KvX_LCZFmVH3(njccq(v8nXlj~uO@c*;7T zeVs)HVt-}UlH4xNwjd;uUA^s$hu~e?x;>!Nd2QQvVh3LiY!V-P0jWsFrB(7`Ttf!V zUi!n{V?qKJe90u_`~TV5+2A%boV8YA+}&Ig)fxC?R-d?PD~am>3j~05zv>-Cm%9Qf zlc3#V_S&nz_}7eKNhQ?mo3rr!B*(l-#N#WTy?^yO2Q_DPonp5K+%nj_ko(6IcYl}F zgoOZ@xh5f9&jQ3;74t9`+Us%^I33tJLlJI)vY{|kk~S0|voSKHF$)DSLoU^U2UvI437xx2 z+jT;_@$Ld3`>b37f3F<|)?5$$DT&YKk-pGG5m0^=kb@VB9A5?CNEY`DUkBg}4gi1) zQ4j#(M}#p>t^pFEilhYqIG@S@$N+%v=YMLd9#ilKP+h4=l>!j?CvF0^C-g9?#Zr@i z6EUts2c*xKRD&YAr4iO{3=agX#H0&xB$63y056;wag+yOQ>u;tMl@@HABMGg8xX;5 zDwGjG=qC?im|(3~D+AP=lOjb>o6x>ZU%7nW8 zhbJO}p&>t#M?#w*-)0%kAtc{P6e6blK8ZAkWN#tTYP0e`WZncbZ<_aI00000NkvXX Hu0mjf0;~%w diff --git a/examples/starting-top-down-farming/assets/StartingPlayer_Right.png b/examples/starting-top-down-farming/assets/StartingPlayer_Right.png index 5e1b2ee329dcf9b024fcc94d9326dc5e47dcbb4c..17810fc156ceea023d51091a1a0b47de135d150a 100644 GIT binary patch literal 3110 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 Ae*gdg delta 1196 zcmV;d1XKH_7_|wI8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r0X%EwV2;znWMlBlaivqfD z3Y}dPWjz>xO%^gE8u+Rv#&!vgRTNyaSNi|}01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600ZDjL_t(|+QnGgnxh~L9#5d6qFeA#o%;T7 zxg=m~Eg*I;_P?2LTJxK8()|25!1AiDi&mki>x#0UOGxvkJ)ogwxcsL$YLWy}klIMh z({xjqrg@{tLx1EmG<=!Fz@Hez)FVZl2Fg#8A28gIqCR8D;Hh443*-vlRelBn@4riK z#|^FUhOhR?bKU_%<{?Nxf44m66U3tQ8}RVR^Wm5ivccWDaId+}j116oGlAzmS z_PFh(Zx6ZKF&wEx+V|nCd_TgPH>!B-;@LaPIe%z4>vD?y9`Ivuc_BYvPyF*8x`_xO z5cZx#JpJqddsocET*#e$xenY8xMMPu;TC8cN=ql{LJ1%nBTE{KPy%7er6zDaaqU?U z#5tT`{s?3g9>gt>(f2N}IYDK?GK3RALDfee-uVT5Y$;)D@(Zvh9cN;9g`hjkSO~&+ zg@0f?gdw>W1RaLt5Jh=~Kpx_#7K?>n!ty?4uSW4Bj>V-)Fx61Jm(qHTV0|kma;=oM zaw2c*-4_Je>*Nyndu<0;SaY-Vr!2mjN2Z{eW+3^u1UY)4%;~oTG=k=y(eDXph6*6T zc#UAx1j>(uQkr}h#zct{umB0Jr!o>`NPj?!YdzJhDfC59f76j_O~Bw!+y-1v_+eFx zL6V^pDQ!X*q}Q6%pdk54BWm0j9tb>%feUG*k{NA4FI-u1v!hZpRNd!+pL|WVc0000< KMNUMnLSTZEzZk&) diff --git a/examples/starting-top-down-farming/assets/StartingPlayer_Up.png b/examples/starting-top-down-farming/assets/StartingPlayer_Up.png index 6faa144c17894feee6be59098658935f0d86d3da..cc31659b9dc67ddec8dedd19bcc5e461e2ca6657 100644 GIT binary patch literal 2361 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 delta 1102 zcmV-U1hM(eF(sE37lOMhENqcCmKvJ z8EHQlnFu4;0000EbW%=J0D+gs3mYqNT|>0_@ZVfk&kq0q0DlQ^NLh0L04^f{04^f| zc%?sf000A)Nklndi}9o|lb6QtT@X{5?_@wN0FaiTcaAA$LRd8WVXCN{f>QqmHe$+=sy-0LL z98S^6f_*utrfG=vWJC#VZ5X{ysBsvQ!!bjGVbB*ZCT%`W5)`H}H-m+qzJ4fcZIB89 z9QX`7Xn%wK?@M&Dp#!~|h9D*tAFi2w9+mc+Yh}ku(1qXGIE`2Har#a+9udK?9d=<16Z$IJ1 zB?Tj$V7w&ZRtkJcFe+#ioj^5bCA2qG;N4R0<-q!5)P z$ZYe%X#2C^ zQP-Sxm(P3qw5c=u_0@Ub<|s*^c=bWNoVlz#Zwv)@UdX)m9;Vwmm+srS|Glf=Vn^f1 z@|v};FIraT*=8+x__Ylvs z9OUlAuAj0;Ld8wb{Hs*~sE1e&*I((BVkAKMMckT7R+pmBAQ`~m;xrLlW z?Dgr^MXV0%7*2>X>||01XL!QZ5W_e@n}K}6J5l}TMYmopn@Q>FVdQ&MBb@071xjN&o-= literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3-pO;^#*IDb4_&5Lb6Mx0sk1eO*0E1%@_| zV1Y+uF$061G6*wPEVVBK3c7i^IEGZ*dV77NAcFx9lcD-={<(@8P4B-juUL@0Y=JNf tPz?+mU`nVpU&C~Q4JH7h7s&mn*(ZNBR7jU?Wx*zph^MQc%Q~loCIAxfC*A-6 diff --git a/examples/starting-top-down-farming/assets/Tree.png b/examples/starting-top-down-farming/assets/Tree.png new file mode 100644 index 0000000000000000000000000000000000000000..a692eb000f941fb935f0b4acf8fcfcf908a73620 GIT binary patch literal 5195 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 FV1gC!xP|}# literal 0 HcmV?d00001 diff --git a/examples/starting-top-down-farming/assets/beet.png b/examples/starting-top-down-farming/assets/beet.png index a53523683d12897bab9ec32f9f1653923dbfeefc..4ca89109c777ab59de26ff3c885d202ad46e37a1 100644 GIT binary patch delta 2171 zcmV->2!!{FS%(pjBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yPxymR>FQ4nMr&0(R9#D{kn7FWEPx|8AI$(dbw+~v@6&v>~PTok^Xc{c|= zAa(+T}qd*@@!dyd)$% zfA8Ysvh2y#WZp)O1o7*+=i9#Y30vu2NkZTb>sCQe1RN?bhVP$lR(Op8W>VVHAZm&! zv4-ZKB7cXF(%p;Ik|%va@?OtFo7)gC7=#tM^{SvJ0vZ7MK!&Zx2{9FQhdbX@AD~fZ z+iv%z-YyIR6$cuHsjImxmC~1_26l$mhJnyiKv*WQE)}es0F*hyVdzLGLufSu+eAuH zS8$SM5v%Q%t0Mc*I4VR@j{kk>MjoHd{0o|vlYf?Sa9?omx>T@k0t^TkZ|nUh!xS(p z;tF%6N(HMY!^{&p%PGk@h5%@jzagB#5BCp&o1wEjLD*BRi#|7c+;RySIlcF0 z8Gky&x)hKIe4n)CFj1+7y@qabCF%<4Wl~Hn2}sxQIdvf@50V1`#oHHacB015B$nI( zW0`w0YC**K)nck3;tX_wt`#67zk|KMS`VxYarIK(9uG_V-p@RA49L1B0SC8+DQuU! zBNMydI^v{A!AVizX$lT*ZVF#S39PENc7KCpNOC#*YTvB|=m1?Spb`3hRElfB4^njO zV4h8db(tk7;|6J|ge5LAi%|T8F)$zVLZZq=Vv&Pc#qF^R=Ar=FkS`<6SP+c~?eT#N zZg*Y_~X6mrZd0( z)$dX`f^h&yfZ!=MqduLy1Cf_dWq&N3V`zp}0wgf> z`Rn|_C|Y-2Id*!5eYfU2&f!%-I{_40d%59q*hpw6fSc|EPyWHk=lI{oI{8Qt3$zn( z{Evza!8)Gwdmfoco*R0yaH0#^2?$VWuIL1#fyApBvKcgELkPgmuUMu5>4XV=Nvru? zpjHzjpc&dyVJYuTCVxz#srym(Il9I~63>)T6X)vMnM5oD_{?30yWgUODO>;%^}bPA%8EZ z0BRLL^bvq~{$hY;JeLIMT+~$ZF0}**ut5_rg;kOgD4;K>SbWvBCgl3na=37?bmL4zc~f0p}V; zRlP3}+k(iI9qc~t)Fws*?D0GHASgs^i4X>*l^t_Hh|6p=C1UDZ%&O z&eK=SC*n3J0(tg-cbpx+Yb#s#TMOC=kdQ6`4xGa=J=bzV_Btj~V~W@Q x*TRMn5aOrpEN2jZZO;{OO{UWD0xzHy{{gy}nv(KBAn*VH002ovPDHLkV1l>m>hb^p literal 11402 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 diff --git a/examples/starting-top-down-farming/assets/carrot.png b/examples/starting-top-down-farming/assets/carrot.png index c142fe8302b1e7e6aeba3965aed66cbbf75d1120..40c44f46b953c8f93c12b8e98f0c64f83aaab01c 100644 GIT binary patch delta 1357 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 W^9}XJ3jhEB002ovP6b4+LSTZx>D-n8 diff --git a/examples/starting-top-down-farming/starting-top-down-farming.json b/examples/starting-top-down-farming/starting-top-down-farming.json index b9bf85079..44aa175e1 100644 --- a/examples/starting-top-down-farming/starting-top-down-farming.json +++ b/examples/starting-top-down-farming/starting-top-down-farming.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -325,7 +325,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.43357743047024244, + "zoomFactor": 0.6244537826600064, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -395,22 +395,6 @@ } ], "instances": [ - { - "angle": 0, - "customSize": false, - "height": 64, - "keepRatio": true, - "layer": "", - "name": "Player", - "persistentUuid": "ebd4e918-fdc8-4c06-baef-2e0f46c2cfd5", - "width": 64, - "x": 640, - "y": 400, - "zOrder": 1, - "numberProperties": [], - "stringProperties": [], - "initialVariables": [] - }, { "angle": 0, "customSize": false, @@ -731,113 +715,135 @@ "numberProperties": [], "stringProperties": [], "initialVariables": [] + }, + { + "angle": 0, + "customSize": false, + "height": 0, + "keepRatio": true, + "layer": "", + "name": "Player", + "persistentUuid": "106a31ab-8cae-4fd4-9216-cfee1ac022dd", + "width": 0, + "x": 640, + "y": 381, + "zOrder": 15, + "numberProperties": [], + "stringProperties": [], + "initialVariables": [] } ], "objects": [ + { + "assetStoreId": "", + "name": "Ground_Tilemap", + "persistentUuid": "7becc408-3008-4fe3-aac4-c3401de0f8ed", + "type": "TileMap::SimpleTileMap", + "variables": [], + "effects": [], + "behaviors": [], + "content": { + "atlasImage": "assets\\StartingGroundTilemap.png", + "rowCount": 3, + "columnCount": 3, + "tileSize": 64, + "tilesWithHitBox": "4" + } + }, + { + "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", + "name": "MoveJoystick", + "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", + "variant": "", + "variables": [], + "effects": [], + "behaviors": [], + "content": {}, + "childrenContent": { + "Border": { + "adaptCollisionMaskAutomatically": false, + "updateIfNotVisible": false, + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Flat dark joystick border.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + }, + "Thumb": { + "adaptCollisionMaskAutomatically": false, + "updateIfNotVisible": false, + "animations": [ + { + "name": "Idle", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": false, + "image": "Flat dark joystick thumb.png", + "points": [], + "originPoint": { + "name": "origine", + "x": 0, + "y": 0 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [] + } + ] + } + ] + } + ] + } + } + }, { "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Player", + "name": "Building_Obstacle", "type": "Sprite", "updateIfNotVisible": false, "variables": [], "effects": [], - "behaviors": [ - { - "isFolded": true, - "name": "SmoothCamera", - "type": "SmoothCamera::SmoothCamera", - "LeftwardSpeed": 0.9, - "RightwardSpeed": 0.9, - "UpwardSpeed": 0.9, - "DownwardSpeed": 0.9, - "FollowOnX": true, - "FollowOnY": true, - "FollowFreeAreaLeft": 0, - "FollowFreeAreaRight": 0, - "FollowFreeAreaTop": 0, - "FollowFreeAreaBottom": 0, - "CameraOffsetX": 0, - "CameraOffsetY": 0, - "CameraDelay": 0, - "ForecastTime": 0, - "ForecastHistoryDuration": 0, - "LogLeftwardSpeed": 2.0247e-320, - "LogRightwardSpeed": 2.0247e-320, - "LogDownwardSpeed": 2.0247e-320, - "LogUpwardSpeed": 2.0247e-320, - "DelayedCenterX": 2.0247e-320, - "DelayedCenterY": 2.0247e-320, - "ForecastHistoryMeanX": 2.0247e-320, - "ForecastHistoryMeanY": 2.0247e-320, - "ForecastHistoryVarianceX": 2.0247e-320, - "ForecastHistoryCovariance": 2.0247e-320, - "ForecastHistoryLinearA": 2.0247e-320, - "ForecastHistoryLinearB": 2.0247e-320, - "ForecastedX": 2.0247e-320, - "ForecastedY": 2.0247e-320, - "ProjectedNewestX": 2.0247e-320, - "ProjectedNewestY": 2.0247e-320, - "ProjectedOldestX": 2.0247e-320, - "ProjectedOldestY": 2.0247e-320, - "ForecastHistoryVarianceY": 2.0247e-320, - "Index": 2.0247e-320, - "CameraDelayCatchUpSpeed": 0, - "CameraExtraDelay": 2.0247e-320, - "WaitingSpeedXMax": 2.0247e-320, - "WaitingSpeedYMax": 2.0247e-320, - "WaitingEnd": 2.0247e-320, - "CameraDelayCatchUpDuration": 2.0247e-320, - "LeftwardSpeedMax": 9000, - "RightwardSpeedMax": 9000, - "UpwardSpeedMax": 9000, - "DownwardSpeedMax": 9000, - "OldX": 9000.000000007454, - "OldY": 9000.000000007454, - "IsCalledManually": false - }, - { - "isFolded": true, - "name": "TopDownMovement", - "type": "TopDownMovementBehavior::TopDownMovementBehavior", - "acceleration": 2000, - "deceleration": 3000, - "maxSpeed": 200, - "allowDiagonals": false, - "rotateObject": false, - "angularMaxSpeed": 300, - "angleOffset": 0, - "customIsometryAngle": 30, - "ignoreDefaultControls": false, - "movementAngleOffset": 0, - "viewpoint": "TopDown" - }, - { - "isFolded": true, - "name": "TopDownMovementAnimator", - "type": "TopDownMovementAnimator::TopDownMovementAnimator", - "Animation": "Animation", - "TopDownMovement": "TopDownMovement", - "IsScalingAnimation": false, - "IsPausingAnimation": false, - "AnimationName": "Walk", - "DirectionCount": 4, - "AngleOffset": 0, - "AnimationDirection": 0 - }, - { - "isFolded": true, - "name": "TopDownMultitouchMapper", - "type": "SpriteMultitouchJoystick::TopDownMultitouchMapper", - "TopDownMovement": "TopDownMovement", - "ControllerIdentifier": 1, - "JoystickIdentifier": "Primary", - "StickMode": "Analog" - } - ], + "behaviors": [], "animations": [ { - "name": "Walk0", + "name": "", "useMultipleDirections": false, "directions": [ { @@ -846,36 +852,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingPlayer_Right.png", + "image": "assets\\StartingWall.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 128 }, "centerPoint": { - "automatic": false, + "automatic": true, "name": "centre", - "x": 32, - "y": 64 + "x": 0, + "y": 0 }, "customCollisionMask": [ [ { "x": 0, - "y": 80 + "y": 64 }, { - "x": 32, + "x": 64, "y": 64 }, { "x": 64, - "y": 80 + "y": 128 }, { - "x": 32, - "y": 96 + "x": 0, + "y": 128 } ] ] @@ -883,47 +889,90 @@ ] } ] - }, + } + ] + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "", + "name": "ActionButton", + "persistentUuid": "58d857ec-0cda-4e42-9a64-266661faf52a", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [ { - "name": "Walk1", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, + "name": "ButtonFSM", + "type": "ButtonStates::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 2.0247e-320 + }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween", + "Scale": "Scale", + "ButtonFSM": "ButtonFSM", + "Tween": "Tween", + "IdleScale": 1.5, + "FocusedScale": 1.4, + "FadeInDuration": 0.02, + "FadeOutDuration": 0.05, + "PressedScale": 1.3, + "FadeInEasing": "easeOutQuad", + "FadeOutEasing": "easeInQuad", + "PreviousState": "Idle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingPlayer_Down.png", + "image": "assets\\A button.png", "points": [], "originPoint": { "name": "origine", - "x": 32, - "y": 80 + "x": 40, + "y": 40 }, "centerPoint": { - "automatic": false, + "automatic": true, "name": "centre", - "x": 32, - "y": 64 + "x": 0, + "y": 0 }, "customCollisionMask": [ [ { "x": 0, - "y": 80 + "y": 0 }, { - "x": 32, - "y": 64 + "x": 80, + "y": 0 }, { - "x": 64, + "x": 80, "y": 80 }, { - "x": 32, - "y": 96 + "x": 0, + "y": 80 } ] ] @@ -931,9 +980,32 @@ ] } ] + } + ] + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "", + "name": "Ground_SelectionBox", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "LastAction_LocationX", + "type": "number", + "value": 0 }, { - "name": "Walk2", + "name": "LastAction_LocationY", + "type": "number", + "value": 0 + } + ], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", "useMultipleDirections": false, "directions": [ { @@ -942,36 +1014,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingPlayer_Left.png", + "image": "assets\\Ground_SelectionBox.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 32 }, "centerPoint": { - "automatic": false, + "automatic": true, "name": "centre", - "x": 32, - "y": 64 + "x": 0, + "y": 0 }, "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 1, + "y": 1 }, { - "x": 32, - "y": 64 + "x": 63, + "y": 1 }, { - "x": 64, - "y": 80 + "x": 63, + "y": 63 }, { - "x": 32, - "y": 96 + "x": 1, + "y": 63 } ] ] @@ -979,9 +1051,60 @@ ] } ] + } + ] + }, + { + "assetStoreId": "", + "bottomMargin": 32, + "height": 160, + "leftMargin": 32, + "name": "InventorySlot", + "persistentUuid": "f18b1f87-e38d-42a4-9c22-3f104a36b614", + "rightMargin": 32, + "texture": "assets\\StartingInventorySlot.png", + "tiled": false, + "topMargin": 32, + "type": "PanelSpriteObject::PanelSprite", + "width": 160, + "variables": [ + { + "name": "SlotNumber", + "type": "number", + "value": 0 }, { - "name": "Walk3", + "name": "Selected", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [ + { + "name": "ButtonFSM", + "type": "ButtonStates::ButtonFSM", + "ShouldCheckHovering": true, + "State": "Idle", + "TouchId": 0, + "TouchIsInside": false, + "MouseIsInside": false, + "Index": 2.0247e-320 + } + ] + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "", + "name": "Inventory_SelectionBox", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [], + "effects": [], + "behaviors": [], + "animations": [ + { + "name": "", "useMultipleDirections": false, "directions": [ { @@ -990,36 +1113,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingPlayer_Up.png", + "image": "assets\\SelectionBox.png", "points": [], "originPoint": { "name": "origine", - "x": 32, - "y": 80 + "x": 64, + "y": 64 }, "centerPoint": { - "automatic": false, + "automatic": true, "name": "centre", - "x": 32, - "y": 64 + "x": 0, + "y": 0 }, "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 3, + "y": 3 }, { - "x": 32, - "y": 64 + "x": 125, + "y": 3 }, { - "x": 64, - "y": 80 + "x": 125, + "y": 125 }, { - "x": 32, - "y": 96 + "x": 3, + "y": 125 } ] ] @@ -1032,113 +1155,118 @@ }, { "assetStoreId": "", - "name": "Ground_Tilemap", - "type": "TileMap::SimpleTileMap", - "variables": [], + "bold": false, + "italic": false, + "name": "SlotText", + "smoothed": true, + "type": "TextObject::Text", + "underlined": false, + "variables": [ + { + "name": "TextToUse", + "type": "string", + "value": "" + } + ], "effects": [], "behaviors": [], + "string": "Slot text", + "font": "assets\\NotoSansArabicUI-Black.ttf", + "textAlignment": "left", + "characterSize": 16, + "color": { + "b": 255, + "g": 255, + "r": 255 + }, "content": { - "atlasImage": "assets\\StartingGroundTilemap.png", - "rowCount": 3, - "columnCount": 3, - "tileSize": 64, - "tilesWithHitBox": "4" + "bold": false, + "isOutlineEnabled": true, + "isShadowEnabled": false, + "italic": false, + "outlineColor": "0;0;0", + "outlineThickness": 4, + "shadowAngle": 90, + "shadowBlurRadius": 2, + "shadowColor": "0;0;0", + "shadowDistance": 4, + "shadowOpacity": 127, + "smoothed": true, + "underlined": false, + "text": "Slot text", + "font": "assets\\NotoSansArabicUI-Black.ttf", + "textAlignment": "left", + "verticalTextAlignment": "top", + "characterSize": 16, + "lineHeight": 0, + "color": "255;255;255" } }, { - "assetStoreId": "e71bd69f896d6c7531b48c65ceb5da25071d4fbdeb518aeceecba8d21f34ed8d", - "name": "MoveJoystick", - "type": "SpriteMultitouchJoystick::SpriteMultitouchJoystick", - "variant": "", - "variables": [], - "effects": [], - "behaviors": [], - "content": {}, - "childrenContent": { - "Border": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Flat dark joystick border.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - }, - "Thumb": { - "adaptCollisionMaskAutomatically": false, - "updateIfNotVisible": false, - "animations": [ - { - "name": "Idle", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": false, - "image": "Flat dark joystick thumb.png", - "points": [], - "originPoint": { - "name": "origine", - "x": 0, - "y": 0 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [] - } - ] - } - ] - } - ] - } - } - }, - { - "adaptCollisionMaskAutomatically": false, + "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Building_Obstacle", + "name": "Carrot", + "persistentUuid": "ec14052e-057e-41e6-a2a7-e01966f4baa8", "type": "Sprite", "updateIfNotVisible": false, - "variables": [], + "variables": [ + { + "name": "ResultingObject", + "persistentUuid": "8a750d56-1b2f-4e48-ae5b-578c7724a850", + "type": "string", + "value": "" + }, + { + "name": "CanBePickedUp", + "persistentUuid": "53103ace-97e1-4277-adbe-672cf4653984", + "type": "boolean", + "value": true + }, + { + "name": "JustPlaced", + "persistentUuid": "ebdc0b98-daf3-4bd6-87de-f76d268f38f0", + "type": "boolean", + "value": false + }, + { + "name": "ItemType", + "persistentUuid": "8c768ba4-749c-4c73-a83e-970d14b44019", + "type": "string", + "value": "Food" + }, + { + "name": "PickUp", + "persistentUuid": "bedd99ce-0761-4dc3-b3d6-00a8a14dd36d", + "type": "boolean", + "value": false + }, + { + "name": "GrowthTime", + "persistentUuid": "fdfae308-d4ce-4e87-a3d0-77c8477ea791", + "type": "number", + "value": 10 + }, + { + "name": "Held", + "persistentUuid": "8f16d4a5-3ceb-411d-bbf7-e689c63cebcc", + "type": "boolean", + "value": false + } + ], "effects": [], - "behaviors": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], "animations": [ { - "name": "", + "name": "Food", "useMultipleDirections": false, "directions": [ { @@ -1147,12 +1275,12 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\StartingWall.png", + "image": "assets\\carrot.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 128 + "y": 32 }, "centerPoint": { "automatic": true, @@ -1163,20 +1291,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 64 + "x": 14, + "y": 5 }, { - "x": 64, - "y": 64 + "x": 74, + "y": 5 }, { - "x": 64, - "y": 128 + "x": 74, + "y": 89 }, { - "x": 0, - "y": 128 + "x": 14, + "y": 89 } ] ] @@ -1184,32 +1312,9 @@ ] } ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": true, - "assetStoreId": "", - "name": "ActionButton", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [ - { - "name": "ButtonFSM", - "type": "ButtonStates::ButtonFSM", - "ShouldCheckHovering": true, - "State": "Idle", - "TouchId": 0, - "TouchIsInside": false, - "MouseIsInside": false, - "Index": 2.0247e-320 - } - ], - "animations": [ + }, { - "name": "", + "name": "Planted", "useMultipleDirections": false, "directions": [ { @@ -1218,12 +1323,12 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\A button.png", + "image": "assets\\Carrot_Planted.png", "points": [], "originPoint": { "name": "origine", - "x": 40, - "y": 40 + "x": 32, + "y": 32 }, "centerPoint": { "automatic": true, @@ -1234,20 +1339,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 0 + "x": 14, + "y": 5 }, { - "x": 80, - "y": 0 + "x": 74, + "y": 5 }, { - "x": 80, - "y": 80 + "x": 74, + "y": 89 }, { - "x": 0, - "y": 80 + "x": 14, + "y": 89 } ] ] @@ -1259,25 +1364,33 @@ ] }, { - "adaptCollisionMaskAutomatically": true, + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Ground_SelectionBox", + "name": "Harvest_Seed_Carrot", + "persistentUuid": "6d675b26-9dc6-4ceb-aca8-07bf940926d0", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { - "name": "LastAction_LocationX", - "type": "number", - "value": 0 + "name": "ResultingObject", + "persistentUuid": "43a0633b-3d95-4641-8b36-3f40a223372d", + "type": "string", + "value": "Seed_Carrot" }, { - "name": "LastAction_LocationY", - "type": "number", - "value": 0 + "name": "Triggered", + "persistentUuid": "bd382710-15ec-4ae5-807a-0123f2dde3ea", + "type": "boolean", + "value": false } ], "effects": [], - "behaviors": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + } + ], "animations": [ { "name": "", @@ -1289,12 +1402,12 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Ground_SelectionBox.png", + "image": "assets\\Harvest_Seed_Carrot.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 32 + "y": 64 }, "centerPoint": { "automatic": true, @@ -1305,20 +1418,20 @@ "customCollisionMask": [ [ { - "x": 1, - "y": 1 + "x": 0, + "y": 32 }, { - "x": 63, - "y": 1 + "x": 64, + "y": 32 }, { - "x": 63, - "y": 63 + "x": 64, + "y": 96 }, { - "x": 1, - "y": 63 + "x": 0, + "y": 96 } ] ] @@ -1329,48 +1442,10 @@ } ] }, - { - "assetStoreId": "", - "bottomMargin": 32, - "height": 160, - "leftMargin": 32, - "name": "InventorySlot", - "rightMargin": 32, - "texture": "assets\\StartingInventorySlot.png", - "tiled": false, - "topMargin": 32, - "type": "PanelSpriteObject::PanelSprite", - "width": 160, - "variables": [ - { - "name": "SlotNumber", - "type": "number", - "value": 0 - }, - { - "name": "Selected", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [ - { - "name": "ButtonFSM", - "type": "ButtonStates::ButtonFSM", - "ShouldCheckHovering": true, - "State": "Idle", - "TouchId": 0, - "TouchIsInside": false, - "MouseIsInside": false, - "Index": 2.0247e-320 - } - ] - }, { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Inventory_SelectionBox", + "name": "InventoryIcons", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1378,7 +1453,7 @@ "behaviors": [], "animations": [ { - "name": "", + "name": "Carrot", "useMultipleDirections": false, "directions": [ { @@ -1387,12 +1462,18 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\SelectionBox.png", - "points": [], + "image": "assets\\carrot.png", + "points": [ + { + "name": "QuantityText", + "x": 53, + "y": 51 + } + ], "originPoint": { "name": "origine", - "x": 64, - "y": 64 + "x": 32, + "y": 32 }, "centerPoint": { "automatic": true, @@ -1403,20 +1484,20 @@ "customCollisionMask": [ [ { - "x": 3, - "y": 3 + "x": 14, + "y": 5 }, { - "x": 125, - "y": 3 + "x": 74, + "y": 5 }, { - "x": 125, - "y": 125 + "x": 74, + "y": 89 }, { - "x": 3, - "y": 125 + "x": 14, + "y": 89 } ] ] @@ -1424,115 +1505,117 @@ ] } ] - } - ] - }, - { - "assetStoreId": "", - "bold": false, - "italic": false, - "name": "SlotText", - "smoothed": true, - "type": "TextObject::Text", - "underlined": false, - "variables": [ - { - "name": "TextToUse", - "type": "string", - "value": "" - } - ], - "effects": [], - "behaviors": [], - "string": "Slot text", - "font": "assets\\NotoSansArabicUI-Black.ttf", - "textAlignment": "left", - "characterSize": 16, - "color": { - "b": 255, - "g": 255, - "r": 255 - }, - "content": { - "bold": false, - "isOutlineEnabled": true, - "isShadowEnabled": false, - "italic": false, - "outlineColor": "0;0;0", - "outlineThickness": 4, - "shadowAngle": 90, - "shadowBlurRadius": 2, - "shadowColor": "0;0;0", - "shadowDistance": 4, - "shadowOpacity": 127, - "smoothed": true, - "underlined": false, - "text": "Slot text", - "font": "assets\\NotoSansArabicUI-Black.ttf", - "textAlignment": "left", - "verticalTextAlignment": "top", - "characterSize": 16, - "lineHeight": 0, - "color": "255;255;255" - } - }, - { - "adaptCollisionMaskAutomatically": true, - "assetStoreId": "", - "name": "Carrot", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "ResultingObject", - "type": "string", - "value": "" - }, - { - "name": "CanBePickedUp", - "type": "boolean", - "value": true }, { - "name": "JustPlaced", - "type": "boolean", - "value": false - }, - { - "name": "ItemType", - "type": "string", - "value": "Food" - }, - { - "name": "PickUp", - "type": "boolean", - "value": false - }, - { - "name": "GrowthTime", - "type": "number", - "value": 10 + "name": "Seed_Carrot", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "assets\\Seed_carrot.png", + "points": [ + { + "name": "QuantityText", + "x": 53, + "y": 51 + } + ], + "originPoint": { + "name": "origine", + "x": 32, + "y": 32 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 14, + "y": 5 + }, + { + "x": 74, + "y": 5 + }, + { + "x": 74, + "y": 89 + }, + { + "x": 14, + "y": 89 + } + ] + ] + } + ] + } + ] }, { - "name": "Held", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" + "name": "Beet", + "useMultipleDirections": false, + "directions": [ + { + "looping": false, + "timeBetweenFrames": 0.08, + "sprites": [ + { + "hasCustomCollisionMask": true, + "image": "assets\\beet.png", + "points": [ + { + "name": "QuantityText", + "x": 53, + "y": 51 + } + ], + "originPoint": { + "name": "origine", + "x": 32, + "y": 32 + }, + "centerPoint": { + "automatic": true, + "name": "centre", + "x": 0, + "y": 0 + }, + "customCollisionMask": [ + [ + { + "x": 14, + "y": 5 + }, + { + "x": 74, + "y": 5 + }, + { + "x": 74, + "y": 89 + }, + { + "x": 14, + "y": 89 + } + ] + ] + } + ] + } + ] }, { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ], - "animations": [ - { - "name": "Food", + "name": "Seed_Beet", "useMultipleDirections": false, "directions": [ { @@ -1541,8 +1624,14 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\carrot.png", - "points": [], + "image": "assets\\Seed_beet.png", + "points": [ + { + "name": "QuantityText", + "x": 53, + "y": 51 + } + ], "originPoint": { "name": "origine", "x": 32, @@ -1578,9 +1667,114 @@ ] } ] + } + ] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 145, + "emitterForceMax": 75, + "emitterForceMin": 20, + "flow": 450, + "jumpForwardInTimeOnCreation": 0, + "maxParticleNb": 60, + "name": "DirtParticle", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 64, + "particleBlue2": 98, + "particleColor1": "224;139;64", + "particleColor2": "255;174;98", + "particleGravityX": 0, + "particleGravityY": 50, + "particleGreen1": 139, + "particleGreen2": 174, + "particleLifeTimeMax": 0.75, + "particleLifeTimeMin": 0.2, + "particleRed1": 224, + "particleRed2": 255, + "particleSize1": 60, + "particleSize2": 20, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "c55de881-727a-4ac3-9beb-e21041dd179a", + "rendererParam1": 1, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": 20, + "textureParticleName": "assets\\DirtParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 8, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "adaptCollisionMaskAutomatically": true, + "assetStoreId": "", + "name": "Seed_Carrot", + "type": "Sprite", + "updateIfNotVisible": false, + "variables": [ + { + "name": "ResultingObject", + "type": "string", + "value": "Carrot" + }, + { + "name": "CanBePickedUp", + "type": "boolean", + "value": true }, { - "name": "Planted", + "name": "JustPlaced", + "type": "boolean", + "value": false + }, + { + "name": "ItemType", + "type": "string", + "value": "Seed" + }, + { + "name": "PickUp", + "type": "boolean", + "value": false + }, + { + "name": "GrowthTime", + "type": "number", + "value": 10 + }, + { + "name": "Held", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "", "useMultipleDirections": false, "directions": [ { @@ -1589,7 +1783,7 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Carrot_Planted.png", + "image": "assets\\Seed_carrot.png", "points": [], "originPoint": { "name": "origine", @@ -1605,20 +1799,20 @@ "customCollisionMask": [ [ { - "x": 14, - "y": 5 + "x": 11, + "y": 11 }, { - "x": 74, - "y": 5 + "x": 52, + "y": 11 }, { - "x": 74, - "y": 89 + "x": 52, + "y": 53 }, { - "x": 14, - "y": 89 + "x": 11, + "y": 53 } ] ] @@ -1630,19 +1824,44 @@ ] }, { - "adaptCollisionMaskAutomatically": false, + "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "Harvest_Seed_Carrot", + "name": "Seed_Beet", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "ResultingObject", "type": "string", - "value": "Seed_Carrot" + "value": "Beet" }, { - "name": "Triggered", + "name": "CanBePickedUp", + "type": "boolean", + "value": true + }, + { + "name": "JustPlaced", + "type": "boolean", + "value": false + }, + { + "name": "ItemType", + "type": "string", + "value": "Seed" + }, + { + "name": "PickUp", + "type": "boolean", + "value": false + }, + { + "name": "GrowthTime", + "type": "number", + "value": 10 + }, + { + "name": "Held", "type": "boolean", "value": false } @@ -1652,6 +1871,10 @@ { "name": "ShakeObject_PositionAngle", "type": "ShakeObject::ShakeObject_PositionAngle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" } ], "animations": [ @@ -1665,12 +1888,12 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Harvest_Seed_Carrot.png", + "image": "assets\\Seed_beet.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 64 + "y": 32 }, "centerPoint": { "automatic": true, @@ -1681,20 +1904,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 32 + "x": 11, + "y": 13 }, { - "x": 64, - "y": 32 + "x": 50, + "y": 13 }, { - "x": 64, - "y": 96 + "x": 50, + "y": 52 }, { - "x": 0, - "y": 96 + "x": 11, + "y": 52 } ] ] @@ -1708,123 +1931,60 @@ { "adaptCollisionMaskAutomatically": true, "assetStoreId": "", - "name": "InventoryIcons", + "name": "Beet", "type": "Sprite", "updateIfNotVisible": false, - "variables": [], - "effects": [], - "behaviors": [], - "animations": [ + "variables": [ { - "name": "Carrot", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "assets\\carrot.png", - "points": [ - { - "name": "QuantityText", - "x": 53, - "y": 51 - } - ], - "originPoint": { - "name": "origine", - "x": 32, - "y": 32 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 14, - "y": 5 - }, - { - "x": 74, - "y": 5 - }, - { - "x": 74, - "y": 89 - }, - { - "x": 14, - "y": 89 - } - ] - ] - } - ] - } - ] + "name": "ResultingObject", + "type": "string", + "value": "" }, { - "name": "Seed_Carrot", - "useMultipleDirections": false, - "directions": [ - { - "looping": false, - "timeBetweenFrames": 0.08, - "sprites": [ - { - "hasCustomCollisionMask": true, - "image": "assets\\Seed_carrot.png", - "points": [ - { - "name": "QuantityText", - "x": 53, - "y": 51 - } - ], - "originPoint": { - "name": "origine", - "x": 32, - "y": 32 - }, - "centerPoint": { - "automatic": true, - "name": "centre", - "x": 0, - "y": 0 - }, - "customCollisionMask": [ - [ - { - "x": 14, - "y": 5 - }, - { - "x": 74, - "y": 5 - }, - { - "x": 74, - "y": 89 - }, - { - "x": 14, - "y": 89 - } - ] - ] - } - ] - } - ] + "name": "CanBePickedUp", + "type": "boolean", + "value": true + }, + { + "name": "JustPlaced", + "type": "boolean", + "value": false + }, + { + "name": "ItemType", + "type": "string", + "value": "Food" + }, + { + "name": "PickUp", + "type": "boolean", + "value": false + }, + { + "name": "GrowthTime", + "type": "number", + "value": 10 + }, + { + "name": "Held", + "type": "boolean", + "value": false + } + ], + "effects": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" }, { - "name": "Beet", + "name": "Tween", + "type": "Tween::TweenBehavior" + } + ], + "animations": [ + { + "name": "Food", "useMultipleDirections": false, "directions": [ { @@ -1834,13 +1994,7 @@ { "hasCustomCollisionMask": true, "image": "assets\\beet.png", - "points": [ - { - "name": "QuantityText", - "x": 53, - "y": 51 - } - ], + "points": [], "originPoint": { "name": "origine", "x": 32, @@ -1856,19 +2010,19 @@ [ { "x": 14, - "y": 5 + "y": 1 }, { - "x": 74, - "y": 5 + "x": 53, + "y": 1 }, { - "x": 74, - "y": 89 + "x": 53, + "y": 63 }, { "x": 14, - "y": 89 + "y": 63 } ] ] @@ -1878,7 +2032,7 @@ ] }, { - "name": "Seed_Beet", + "name": "Planted", "useMultipleDirections": false, "directions": [ { @@ -1887,14 +2041,8 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Seed_beet.png", - "points": [ - { - "name": "QuantityText", - "x": 53, - "y": 51 - } - ], + "image": "assets\\Beet_Planted.png", + "points": [], "originPoint": { "name": "origine", "x": 32, @@ -1910,19 +2058,19 @@ [ { "x": 14, - "y": 5 + "y": 1 }, { - "x": 74, - "y": 5 + "x": 53, + "y": 1 }, { - "x": 74, - "y": 89 + "x": 53, + "y": 63 }, { "x": 14, - "y": 89 + "y": 63 } ] ] @@ -1934,91 +2082,22 @@ ] }, { - "additive": false, - "assetStoreId": "", - "destroyWhenNoParticles": true, - "emitterAngleA": 0, - "emitterAngleB": 145, - "emitterForceMax": 75, - "emitterForceMin": 20, - "flow": 450, - "jumpForwardInTimeOnCreation": 0, - "maxParticleNb": 60, - "name": "DirtParticle", - "particleAlpha1": 255, - "particleAlpha2": 0, - "particleAlphaRandomness1": 0, - "particleAlphaRandomness2": 0, - "particleAngle1": 0, - "particleAngle2": 0, - "particleAngleRandomness1": 0, - "particleAngleRandomness2": 0, - "particleBlue1": 64, - "particleBlue2": 98, - "particleColor1": "224;139;64", - "particleColor2": "255;174;98", - "particleGravityX": 0, - "particleGravityY": 50, - "particleGreen1": 139, - "particleGreen2": 174, - "particleLifeTimeMax": 0.75, - "particleLifeTimeMin": 0.2, - "particleRed1": 224, - "particleRed2": 255, - "particleSize1": 60, - "particleSize2": 20, - "particleSizeRandomness1": 0, - "particleSizeRandomness2": 0, - "rendererParam1": 1, - "rendererParam2": 1, - "rendererType": "Quad", - "tank": 20, - "textureParticleName": "assets\\DirtParticle.png", - "type": "ParticleSystem::ParticleEmitter", - "zoneRadius": 8, - "variables": [], - "effects": [], - "behaviors": [] - }, - { - "adaptCollisionMaskAutomatically": true, + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Seed_Carrot", + "name": "Harvest_Seed_Beet", + "persistentUuid": "d03eb5df-c927-4afd-90a5-e70d76e17a97", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "ResultingObject", + "persistentUuid": "70b21d10-9171-4823-8e55-16985a15ab71", "type": "string", - "value": "Carrot" - }, - { - "name": "CanBePickedUp", - "type": "boolean", - "value": true - }, - { - "name": "JustPlaced", - "type": "boolean", - "value": false - }, - { - "name": "ItemType", - "type": "string", - "value": "Seed" - }, - { - "name": "PickUp", - "type": "boolean", - "value": false - }, - { - "name": "GrowthTime", - "type": "number", - "value": 10 + "value": "Seed_Beet" }, { - "name": "Held", + "name": "Triggered", + "persistentUuid": "cd5e395f-df9f-465d-b4f2-fa08fa0401db", "type": "boolean", "value": false } @@ -2028,10 +2107,6 @@ { "name": "ShakeObject_PositionAngle", "type": "ShakeObject::ShakeObject_PositionAngle" - }, - { - "name": "Tween", - "type": "Tween::TweenBehavior" } ], "animations": [ @@ -2045,12 +2120,12 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Seed_carrot.png", + "image": "assets\\Harvest_Seed_Beet.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 32 + "y": 64 }, "centerPoint": { "automatic": true, @@ -2061,20 +2136,20 @@ "customCollisionMask": [ [ { - "x": 11, - "y": 11 + "x": 0, + "y": 32 }, { - "x": 52, - "y": 11 + "x": 64, + "y": 32 }, { - "x": 52, - "y": 53 + "x": 64, + "y": 96 }, { - "x": 11, - "y": 53 + "x": 0, + "y": 96 } ] ] @@ -2086,62 +2161,110 @@ ] }, { - "adaptCollisionMaskAutomatically": true, + "adaptCollisionMaskAutomatically": false, "assetStoreId": "", - "name": "Seed_Beet", + "name": "Player", + "persistentUuid": "e3a81bd1-2387-4907-9e81-80a995574e6c", "type": "Sprite", "updateIfNotVisible": false, - "variables": [ - { - "name": "ResultingObject", - "type": "string", - "value": "Beet" - }, - { - "name": "CanBePickedUp", - "type": "boolean", - "value": true - }, - { - "name": "JustPlaced", - "type": "boolean", - "value": false - }, - { - "name": "ItemType", - "type": "string", - "value": "Seed" - }, + "variables": [], + "effects": [], + "behaviors": [ { - "name": "PickUp", - "type": "boolean", - "value": false + "isFolded": true, + "name": "SmoothCamera", + "type": "SmoothCamera::SmoothCamera", + "LeftwardSpeed": 0.9, + "RightwardSpeed": 0.9, + "UpwardSpeed": 0.9, + "DownwardSpeed": 0.9, + "FollowOnX": true, + "FollowOnY": true, + "FollowFreeAreaLeft": 0, + "FollowFreeAreaRight": 0, + "FollowFreeAreaTop": 0, + "FollowFreeAreaBottom": 0, + "CameraOffsetX": 0, + "CameraOffsetY": 0, + "CameraDelay": 0, + "ForecastTime": 0, + "ForecastHistoryDuration": 0, + "LogLeftwardSpeed": 2.0247e-320, + "LogRightwardSpeed": 2.0247e-320, + "LogDownwardSpeed": 2.0247e-320, + "LogUpwardSpeed": 2.0247e-320, + "DelayedCenterX": 2.0247e-320, + "DelayedCenterY": 2.0247e-320, + "ForecastHistoryMeanX": 2.0247e-320, + "ForecastHistoryMeanY": 2.0247e-320, + "ForecastHistoryVarianceX": 2.0247e-320, + "ForecastHistoryCovariance": 2.0247e-320, + "ForecastHistoryLinearA": 2.0247e-320, + "ForecastHistoryLinearB": 2.0247e-320, + "ForecastedX": 2.0247e-320, + "ForecastedY": 2.0247e-320, + "ProjectedNewestX": 2.0247e-320, + "ProjectedNewestY": 2.0247e-320, + "ProjectedOldestX": 2.0247e-320, + "ProjectedOldestY": 2.0247e-320, + "ForecastHistoryVarianceY": 2.0247e-320, + "Index": 2.0247e-320, + "CameraDelayCatchUpSpeed": 0, + "CameraExtraDelay": 2.0247e-320, + "WaitingSpeedXMax": 2.0247e-320, + "WaitingSpeedYMax": 2.0247e-320, + "WaitingEnd": 2.0247e-320, + "CameraDelayCatchUpDuration": 2.0247e-320, + "LeftwardSpeedMax": 9000, + "RightwardSpeedMax": 9000, + "UpwardSpeedMax": 9000, + "DownwardSpeedMax": 9000, + "OldX": 9000.000000007454, + "OldY": 9000.000000007454, + "IsCalledManually": false }, { - "name": "GrowthTime", - "type": "number", - "value": 10 + "isFolded": true, + "name": "TopDownMovement", + "type": "TopDownMovementBehavior::TopDownMovementBehavior", + "acceleration": 2000, + "deceleration": 3000, + "maxSpeed": 200, + "allowDiagonals": false, + "rotateObject": false, + "angularMaxSpeed": 300, + "angleOffset": 0, + "customIsometryAngle": 30, + "ignoreDefaultControls": false, + "movementAngleOffset": 0, + "viewpoint": "TopDown" }, { - "name": "Held", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" + "isFolded": true, + "name": "TopDownMovementAnimator", + "type": "TopDownMovementAnimator::TopDownMovementAnimator", + "Animation": "Animation", + "TopDownMovement": "TopDownMovement", + "IsScalingAnimation": false, + "IsPausingAnimation": false, + "AnimationName": "Walk", + "DirectionCount": 4, + "AngleOffset": 0, + "AnimationDirection": 0 }, { - "name": "Tween", - "type": "Tween::TweenBehavior" + "isFolded": true, + "name": "TopDownMultitouchMapper", + "type": "SpriteMultitouchJoystick::TopDownMultitouchMapper", + "TopDownMovement": "TopDownMovement", + "ControllerIdentifier": 1, + "JoystickIdentifier": "Primary", + "StickMode": "Analog" } ], "animations": [ { - "name": "", + "name": "Walk0", "useMultipleDirections": false, "directions": [ { @@ -2150,36 +2273,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Seed_beet.png", + "image": "assets\\StartingPlayer_Right.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 32 + "y": 85 }, "centerPoint": { - "automatic": true, + "automatic": false, "name": "centre", - "x": 0, - "y": 0 + "x": 32, + "y": 64 }, "customCollisionMask": [ [ { - "x": 11, - "y": 13 + "x": 12, + "y": 94 }, { - "x": 50, - "y": 13 + "x": 12, + "y": 72 }, { - "x": 50, - "y": 52 + "x": 52, + "y": 72 }, { - "x": 11, - "y": 52 + "x": 52, + "y": 94 } ] ] @@ -2187,66 +2310,9 @@ ] } ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": true, - "assetStoreId": "", - "name": "Beet", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "ResultingObject", - "type": "string", - "value": "" - }, - { - "name": "CanBePickedUp", - "type": "boolean", - "value": true - }, - { - "name": "JustPlaced", - "type": "boolean", - "value": false - }, - { - "name": "ItemType", - "type": "string", - "value": "Food" - }, - { - "name": "PickUp", - "type": "boolean", - "value": false - }, - { - "name": "GrowthTime", - "type": "number", - "value": 10 - }, - { - "name": "Held", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" }, { - "name": "Tween", - "type": "Tween::TweenBehavior" - } - ], - "animations": [ - { - "name": "Food", + "name": "Walk1", "useMultipleDirections": false, "directions": [ { @@ -2255,36 +2321,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\beet.png", + "image": "assets\\StartingPlayer_Down.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 32 + "y": 85 }, "centerPoint": { - "automatic": true, + "automatic": false, "name": "centre", - "x": 0, - "y": 0 + "x": 32, + "y": 64 }, "customCollisionMask": [ [ { - "x": 14, - "y": 1 + "x": 12, + "y": 94 }, { - "x": 53, - "y": 1 + "x": 12, + "y": 72 }, { - "x": 53, - "y": 63 + "x": 52, + "y": 72 }, { - "x": 14, - "y": 63 + "x": 52, + "y": 94 } ] ] @@ -2294,7 +2360,7 @@ ] }, { - "name": "Planted", + "name": "Walk2", "useMultipleDirections": false, "directions": [ { @@ -2303,36 +2369,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Beet_Planted.png", + "image": "assets\\StartingPlayer_Left.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 32 + "y": 85 }, "centerPoint": { - "automatic": true, + "automatic": false, "name": "centre", - "x": 0, - "y": 0 + "x": 32, + "y": 64 }, "customCollisionMask": [ [ { - "x": 14, - "y": 1 + "x": 12, + "y": 94 }, { - "x": 53, - "y": 1 + "x": 12, + "y": 72 }, { - "x": 53, - "y": 63 + "x": 52, + "y": 72 }, { - "x": 14, - "y": 63 + "x": 52, + "y": 94 } ] ] @@ -2340,37 +2406,9 @@ ] } ] - } - ] - }, - { - "adaptCollisionMaskAutomatically": false, - "assetStoreId": "", - "name": "Harvest_Seed_Beet", - "type": "Sprite", - "updateIfNotVisible": false, - "variables": [ - { - "name": "ResultingObject", - "type": "string", - "value": "Seed_Beet" }, { - "name": "Triggered", - "type": "boolean", - "value": false - } - ], - "effects": [], - "behaviors": [ - { - "name": "ShakeObject_PositionAngle", - "type": "ShakeObject::ShakeObject_PositionAngle" - } - ], - "animations": [ - { - "name": "", + "name": "Walk3", "useMultipleDirections": false, "directions": [ { @@ -2379,36 +2417,36 @@ "sprites": [ { "hasCustomCollisionMask": true, - "image": "assets\\Harvest_Seed_Beet.png", + "image": "assets\\StartingPlayer_Up.png", "points": [], "originPoint": { "name": "origine", "x": 32, - "y": 64 + "y": 85 }, "centerPoint": { - "automatic": true, + "automatic": false, "name": "centre", - "x": 0, - "y": 0 + "x": 32, + "y": 64 }, "customCollisionMask": [ [ { - "x": 0, - "y": 32 + "x": 12, + "y": 94 }, { - "x": 64, - "y": 32 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 96 + "x": 52, + "y": 72 }, { - "x": 0, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -2483,6 +2521,7 @@ }, "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2508,6 +2547,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -2544,6 +2584,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -2576,6 +2617,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2632,6 +2674,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2646,6 +2689,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::ForEach", "object": "InventorySlot", "conditions": [], @@ -2688,6 +2732,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2725,6 +2770,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2780,6 +2826,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2815,6 +2862,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2863,6 +2911,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2952,6 +3001,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -2975,6 +3025,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -2987,6 +3038,7 @@ "comment": "Send action trigger again if Ground_SelectionBox position changes while held down" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3037,6 +3089,7 @@ "parameters": [] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3086,6 +3139,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3137,6 +3191,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3153,6 +3208,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3214,6 +3270,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3247,6 +3304,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3274,6 +3332,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3286,6 +3345,7 @@ "comment": "Check if another item is in the way" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3332,6 +3392,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3344,6 +3405,7 @@ "comment": "Final check for obstacles" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3390,6 +3452,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3420,6 +3483,7 @@ "parameters": [] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3478,6 +3542,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3523,6 +3588,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3582,6 +3648,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3599,6 +3666,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3611,6 +3679,7 @@ "comment": "Check for slot with the same object name" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -3628,6 +3697,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3655,6 +3725,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3684,6 +3755,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3711,6 +3783,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3723,6 +3796,7 @@ "comment": "Check if selected slot is empty" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3770,6 +3844,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3782,6 +3857,7 @@ "comment": "Check for available empty slot" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -3799,6 +3875,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3826,6 +3903,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3855,6 +3933,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -3867,6 +3946,7 @@ "comment": "Add item if slot is found" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3923,6 +4003,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -3967,6 +4048,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -3994,6 +4076,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4012,6 +4095,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4029,6 +4113,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4041,6 +4126,7 @@ "comment": "Place item" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4089,6 +4175,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4118,6 +4205,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4130,6 +4218,7 @@ "comment": "Plant seed" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4259,6 +4348,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4360,6 +4450,7 @@ "type": "BuiltinCommonInstructions::Group", "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4414,6 +4505,7 @@ ], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4426,6 +4518,7 @@ "comment": "Create inventory icon and text" }, { + "folded": true, "type": "BuiltinCommonInstructions::Repeat", "repeatExpression": "VariableChildCount(Inventory)", "conditions": [ @@ -4444,6 +4537,7 @@ "actions": [], "events": [ { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4507,6 +4601,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [], "actions": [ @@ -4525,6 +4620,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4555,6 +4651,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Comment", "color": { "b": 109, @@ -4567,6 +4664,7 @@ "comment": "Delete/Create held item" }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4594,6 +4692,7 @@ ] }, { + "folded": true, "type": "BuiltinCommonInstructions::Standard", "conditions": [ { @@ -4731,6 +4830,10 @@ "name": "ButtonFSM", "type": "ButtonStates::ButtonFSM" }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween" + }, { "name": "Effect", "type": "EffectCapability::EffectBehavior" @@ -4763,6 +4866,10 @@ "name": "Text", "type": "TextContainerCapability::TextContainerBehavior" }, + { + "name": "TileMap", + "type": "TileMap::TileMapBehavior" + }, { "name": "TopDownMovement", "type": "TopDownMovementBehavior::TopDownMovementBehavior" @@ -4787,9 +4894,9 @@ "externalEvents": [], "tests": [ { + "description": "The arrow keys walk the player as far as its behavior is configured to, and the selection box is put ahead of it.", "name": "Walking and facing", "type": "gameplay", - "description": "The arrow keys walk the player as far as its behavior is configured to, and the selection box is put ahead of it.", "source": [ "// The character walks with the arrow keys, and what it faces decides where", "// the selection box — everything this game does happens there — is put.", @@ -4868,9 +4975,9 @@ ] }, { + "description": "The player walks to a seed patch and acts on it: a carrot seed goes into the inventory. Pointing alone does nothing.", "name": "Harvesting a seed patch fills the inventory", "type": "gameplay", - "description": "The player walks to a seed patch and acts on it: a carrot seed goes into the inventory. Pointing alone does nothing.", "source": [ "// The core loop: walk to something harvestable, act on it, and what comes", "// out ends up in the inventory.", diff --git a/examples/starting-top-down-pixel/assets/Flat dark joystick border.png b/examples/starting-top-down-pixel/assets/Flat dark joystick border.png index 606bf85b223d68dbdd1be4f5ac851f2018e13828..b4e83e112eb9375cefbb86a6d044a972f8bf4dcf 100644 GIT binary patch literal 3751 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 delta 928 zcmV;R17G~79jgbB8Gi!+006uZmmdHC02@$DR7Ff_aWyqHHa0djH8nOiHZ3hJHa0dm zI5|R^?&H|1(F!EEFDZlRnwi_ z{vfi zj=HzjIAJ?^*aIR1yr3o5f0`Hd%5^<6F6Up zP~Fjl;*KVq#|bI9VKHMl8{r`)iPZ%{-xG$jf4=?q~^F0)IA24NSmi2{R2agHyOAVdeoQ zxPbQ(79!wkIWZ#NI!%xsUi&yP0Snv1t6i5;0fp`1zdpu#*d3k2|9q@mKxK#E_j(Kt z!LJ|`GN7)T^niore1Z;j$NmwypId1iKp=wpMU(OX1$5-Pn-+2DQ3 z3U8HfoorJ0VFQ$enSS6!7WRpkSLewMoFS+@5$ws+?STP?b}+=r0-O&JIbb}yTqpDq z_kD-lXD%rF#snxfL8d2)U`M4yN4i*I^UWcQjl?nfK%C*3a$s;&f%6R|JUAMx!11?+{;EmT?0T5AdBGkQj7xl&{aQ(}c)V~^X*e%3^Jziw;PzI z-Q)Pxrd*^ diff --git a/examples/starting-top-down-pixel/assets/Flat dark joystick thumb.png b/examples/starting-top-down-pixel/assets/Flat dark joystick thumb.png index acd005cc067032996264e510b58c8dbc0c102b62..8acf179f8660be36ccea1198105da35c07154fd7 100644 GIT binary patch literal 2939 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 HN@xNAV`NVT delta 325 zcmbQtc9m&@WIZzj1H)Cfb}k?#5#STz>XTXc^7(TRdiLzavu7_~ym+kH88)tUPpVQrY?NRq{OFK?Rrl_lO z3JZ8xQ>KQy@&vFlMi}SE#+|UUGBV%{&Y0G|=kHRE-F#9X&P@%ReXg8?b=Koma~&9u zh54>)+!6Ln>vRg!hu9A@*7w9_R{qv|6Rq%|;`ddRx$OS2_m8)K=zFnaTWP@OBQIAR zTRVYOMaJ#`ha&?ci+}?b;=yr-ie#~T-N$DOckTVpB$P8*fwS?UA<%map00i_>zopr E00I+->;M1& diff --git a/examples/starting-top-down-pixel/assets/StartingPixelObstacle.png b/examples/starting-top-down-pixel/assets/StartingPixelObstacle.png index f24239c796a693fa14144abcd36b0c480599a248..4ab67cfaca7ebe61747956831ebe09b46428aac1 100644 GIT binary patch delta 202 zcmV;*05$)#0r~-uBo78+OGiWi{{a60|De66laV19e+P6)O+^Rl2oDV}Cfm{H5C8xG zheKmjN)TFi(~o{3?A0VAL-l$j0Rr_jJV!00NC|A{6^L2Z~y=R07*qoM6N<$ Ef-B!3BTNLh0L01FZT01FZU(%pXi0001HNklh8gFpSlphK=eZVLXlk+cPK~K#_%{I%x1ZfZ7)0a>(Fu0Ih?bU{nkm2hiGL zoKZ3AfKdmGI$+cRqYfA}4j8$$;b@C!v{gLXGaB)|V*miOmJxZ8VSqOP0000M!19 z#BR=@3jtDnjt)o-iNO;Bl=__9kQnd~V4;?e$OVHp1YmKF?(<)s9C!_6+x~+na|Uk+ z;7aX;Uwn?Pj@XbGJRv}8J|{cX!|Z98HaJ3H)B!B$B^|BP0wNa-*17;!NWk(nsU;zy zx@73I2dE8(UVDJrEuzs@@!$=Ck=HXC@x5aJ#4}$$@#Er-00000NkvXXu0mjfPFHLJ delta 174 zcmV;f08#&`0?Gl9B!3BTNLh0L01FZT01FZU(%pXi0001dNklfv2N23m)N%j}k2+xRIbbvwj3<_aqqX5^i)ge}JfeF> cBfEDD0LSh!=kGPO@c;k-07*qoM6N<$f@l0jz5oCK diff --git a/examples/starting-top-down-pixel/assets/StartingPixelWall.png b/examples/starting-top-down-pixel/assets/StartingPixelWall.png index 9ed3a407a18a8e6b1b244eb66073e07366ff506b..aff9da991328a5031d6dafa2cf4244f24d6ac799 100644 GIT binary patch delta 200 zcmb=v#W+E-o{fQlp}4B*3y@+<@^*J&_z!{$_AZ|c6yYrJh%9Dc;1&X5#!GkW{s0Bp zOFVsD*Og(OQ{BTAg}b8}PkN*J7rQWHy3QxwWGOEMJPJ$(bh8~Mb6 zikv)M977@wzddKj*I>ZI;y78z{`gO)|Lc9YZJjhPT{tsMeXfc7)jf|x=Si;q_3C`> gbMr^ff!dIP+*VWeo1bUdzX1t)y85}Sb4q9e0Cny`2mk;8 delta 104 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 QNdN!<07*qoM6N<$f(W(llK=n! delta 622 zcmV-!0+Id49FPT&8Ds+h006nq0-pc?069=hR7Ff_aW*zKHa0djH8nLgH8(dmIyyQw zHZ~$6A~G^EHa0dmI5_|R|IN+KwY9aAlauS~>sD4)a&mIbZ0QdG000YgQchCffNkl5hXi41^PKPSeuz{tvs*gM}9GBzSkE{y;*X z#zzw38gne4h}bIn+i;d*iQ%c14F7WYD4miab2> zHv#WRnX#T>?tj6~F<``u#%!RH^e>~m2Jr1{z$}Wu`-r)%$R~l9ZYg=Sn1HR44qPok zYV6?yco!Sn0vp#$9ngwa+8maydLU*J&b&2adKjd0FNp@PtEZc^!5TPXDCWO7q|}d5 z^@CphQ$#c7=T~vm14flQ&-d*|{gYVBqE);{ecq)=^?z0|Nx@=RPaDnyKPC^P8nD8B z)TxdfwucVsL}9i^H}%B5QBbOkdVg3|m&c=VS`G1dJQs_*$4XO9Dk@FL|35OFhPqnw z(qEI%j%!oFBwI!n;lx>cpsK$EvJKm`Y^vomxdk;i%EG|@2P9Y8F2b~;^8f$<07*qo IM6N<$f)=wN&;S4c diff --git a/examples/starting-top-down-rpg/assets/Border.png b/examples/starting-top-down-rpg/assets/Border.png index 043ea4c9a6cb7820659d9cc9f36e9c32d23496e7..fc209e345f8331ae85efa24563e4f9342c0bcccf 100644 GIT binary patch literal 1164 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoY)RhkE)4%caKYZ?lYt_f1s;*b z3=G^tAk28_ZrvZCAbW|YuPgg2b}>Khk(gB! zutFzRclEch)7!Zs_QpoDpW#3AHvYJ^e^YVUZOc_PMS()oPXE1pd*ZJr2TJGICr*mh zK5TI0_+9=Rzjt&uH#7EJ6P~(6=-`zQvCGrb3NoJ=8O`*$RGq$H@r!3457ro+4m_7U zS>cZX&&B&MlfEDR-Km$l*p%&ewZxnEiZ61LpM4U2!tJ`7gZVm89fP*I_JbGm_GkWH z{{9~8i}zpD*4=WC6#aQfCN2H#?2c<$NAs`MTCS=4z3?`F700gIJoh(gHN7+Y<#^ue zn?>={(ADc?EUdSk;@@@Kr-J3qqdldnFIKKlkT@}`_WXOpi-IrTe-UU){Ij5OO=nYQ z?d7-oY7gh8pLx6D_qX1sPAPdE9WnBC0W$Nxq}Tx6cfs(ew$k;ZGIc?A)4%_1&|IdX z=gd4s<=xTj`B&%9y1~O6(>YtFwchaHlp97Ow|P639G z0Sv4HK)w^Bh=WE069;Pm!$PV_{*dSNxHGG>XKvye2KCR9!akk4&W(pI@G=!s$>0vzvEJT-x4$ih3QMv>@)-Uys5> zL9dEPDN)s?M~9N$NHBj5nsC)WXL-dwgX1plD)BQm-&flFtMf;%+X9|HI|?^%)>G|~ z*tfQOp3#TDZps1-9X(YEe*??;@(SnOo|t;Ou>13g-QSXI&;404|HJj|`|g@>&C6A~ zeRH1wqq1%8SN|VBmalzaW!<5Po$tDCNL!^FNs5SzP1F~;d7<)5+qsE-@8<35`gb_c z`*Zu6=iEnD{625~%6|SH&G~iL>h4x;EZMq-;dhwJu_$x?dHGlBe?194dQ{NHR$$NhLCe(t$Q|Z@)McK{;r)No?rztgAoxM+>Ldr7j$O$OldRsj w+Ps|a!^~VFa-q@8-*n4+bLqKDCjV#qFJIK<_ae9nSZ*+Qy85}Sb4q9e01EpS$p8QV literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!i0(?STeKHF@+})9pzOJ6Fjm2pRs$-a5lv})btywBXLyZpIg-jNO#p~u$t3wbL3iM^^_ zS85Qx_tM|}?#J&R`MrGR&*&T6Itp74wTP_{efGTj`l7IoX*v^_aD)F0AA*(ZbdH|i w`{Up&`<;)MGVc4;)eddSL^BEYJr+B(JhE&{oJ9l^3l>m{p|Ftf9hl~Xq+Np05s z(DZ1|oS6&s#Q$G^rgHTE+s)@^W^PO1`E#MXAYy#kJ#d&w{orR>xMi`Aiy{ zO;-Mi|ITgKHjzExWn;yXRkbF+G`uHon%uBwgP_YbMmBrNTkWqlWxLOq_%Q#5s>J5A zAFOj*<$7+OGkOmBCW(Ldrz-5vw0`aLivN6>$( zJTzpiOjMTG{I+`Sn%7eK-{Kyhy(ee4r@sARLB*;fo+gIp`Y}hQzRZl7xv$IM%bs5D zER(Za^VvW1GtOq_&UhpIXTg>mcW@6}3+&7Svl z{)V?cH~N6|j(*0YYXl9A*Y&>%7ri`Z!rxUzV(U9*8Va~97TZ(xagJu$k(mn>jMmA= zg?^pJ3F0W3teb9sb^eS5_gh9L@1!rdtKFEmjfYqH*Y*Gg)&Pcu3|tB#4vZ~K8Vx|c z0M`NrCq@wmjRqzTs!1NGS5e?OZ@92;OX>@e0yCS_EY_E%Eo@A9vS6~tt}`swkIn=H zNNcPLJiq?;nZrtcb0oF27Te%%&mgl~;yf8T@_Q2t}=c>Oh>{iS&ng7Cn zq%QgCU+vV=o*!tmz%PC(g+@&1%B~C9mw&uq? z&LbB;+sm*26UKO-KW$>ELzPd_qD}9eOMl*OwBFXBtdt~C$*`1T|ElYDQngc-dfwdU zcuYY*hee@nqN|2dhs*MPuAEsb!URGxzGyaF3jMhM6YHVac=c;G7QcX5mci52&t;uc GLK6UZuEA>n literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!?1AIbUeKHH9A|jBHv!l~Th7a68 z1*|1Oe!&d)3k>FmN7r)z1vm>lB8wRqxP?HN@zUM8KS05`o-U3d6}R5rvKBgGz`+vu z_rX8+GKI%qpS>!&RLl_P+2WI3e(Y7DPHpeE`GUtktEKTP)Y^S!KGpJkdcgn5>c#&r zW$&-F*zarn*?R?hiqoNt?pga=w}zi#+{?<{(tr~j5ND{%deXOaWB<}0JH_oIKC6G% s;#CQidXUXuQP{kG-iN1>oBkCu&XqaGuU*fp2XrWdr>mdKI;Vst0EP^0Z~y=R diff --git a/examples/starting-top-down-rpg/assets/DirtParticle.png b/examples/starting-top-down-rpg/assets/DirtParticle.png new file mode 100644 index 0000000000000000000000000000000000000000..07db099a3c5a8e4798a7b8da4a97a5bca4b3e652 GIT binary patch literal 969 zcmV;)12+7LP)`qD$R`yp&Kp~ z^-1F#0b+&^?~!djl}Lah%Xi-SRd8Jo{?;3o-h)_@@SoEI=)F?aM7l^>yqk02c9S24QiaO4jwr%c}IEn=$@Iu|j z{A?dLBatx*q%rq|JS?4a|Lt#kE6DC0Rls21az!T6sTB=BB|cf0=hn7W5Tj2YYh_UTYzD|O1qCGKoBgnDQ^!7 zlxOgcU=(L3SI*wW5@3SY9PjRFnyg5Rw>yp@`_0$geX&9y2t^gk=3+ldi57KzAFG}Z zt#+FP$a-;l>dnP*u|mK!5AdGgZ(`akjHzkN;Zof2D7M=ex~}UY`H(K9HEdOE2BrL~ z=3J{pA`;v$; r5yj*z64LN`uAO!n*j9V(G7kR$?WdIAZVN{t00000NkvXXu0mjfzF)6> literal 0 HcmV?d00001 diff --git a/examples/starting-top-down-rpg/assets/Flat dark joystick border.png b/examples/starting-top-down-rpg/assets/Flat dark joystick border.png index 606bf85b223d68dbdd1be4f5ac851f2018e13828..b4e83e112eb9375cefbb86a6d044a972f8bf4dcf 100644 GIT binary patch literal 3751 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 delta 928 zcmV;R17G~79jgbB8Gi!+006uZmmdHC02@$DR7Ff_aWyqHHa0djH8nOiHZ3hJHa0dm zI5|R^?&H|1(F!EEFDZlRnwi_ z{vfi zj=HzjIAJ?^*aIR1yr3o5f0`Hd%5^<6F6Up zP~Fjl;*KVq#|bI9VKHMl8{r`)iPZ%{-xG$jf4=?q~^F0)IA24NSmi2{R2agHyOAVdeoQ zxPbQ(79!wkIWZ#NI!%xsUi&yP0Snv1t6i5;0fp`1zdpu#*d3k2|9q@mKxK#E_j(Kt z!LJ|`GN7)T^niore1Z;j$NmwypId1iKp=wpMU(OX1$5-Pn-+2DQ3 z3U8HfoorJ0VFQ$enSS6!7WRpkSLewMoFS+@5$ws+?STP?b}+=r0-O&JIbb}yTqpDq z_kD-lXD%rF#snxfL8d2)U`M4yN4i*I^UWcQjl?nfK%C*3a$s;&f%6R|JUAMx!11?+{;EmT?0T5AdBGkQj7xl&{aQ(}c)V~^X*e%3^Jziw;PzI z-Q)Pxrd*^ diff --git a/examples/starting-top-down-rpg/assets/Flat dark joystick thumb.png b/examples/starting-top-down-rpg/assets/Flat dark joystick thumb.png index acd005cc067032996264e510b58c8dbc0c102b62..8acf179f8660be36ccea1198105da35c07154fd7 100644 GIT binary patch literal 2939 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 literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE8Azrw%`pX1LIFM@u0ENCFP=Vq{^ZHa=g*%# zeE9Oki|r@bT7a@FB|(0{49Dy26;{rd0`fTvJR*x381$4un6YB1eHjA-6R)R>V@SoV zw|7tXH5&-H1pfN^f4|MPgN$nwv$b~Z?P$62Wn<%nPbW4n&Aor>UR~Yix7B<9+I*dT zI4z4=?)1i!y*rNn4R}9m<>^%UrR+C0o%1wsZ3urVGDT?t?{ASEY74g3a`*^e_$}A# z-pTY!CUnd5i5dy-@BAq+nK=9AFV(-_W-lnJ+2(z+J$=HGyr!F5WBHw4 zszt1hb=&@(NB4lt?+Y`Umw!vmdK>@QQtQrtCXT{}C$9xu|0Z>O`;`--I``Xh9)r)b zFMig2{`TRXGdyeTwGSP=#{RA_^~KWZWwquXgM8xO%KSU!YgjhxZ~9bkrazbWXMD@r zTz`~PVxe!0kk3x5y5utq!NL>f{|Q=puB7Pwo$p`#pSe~ZtA1OW(f?PcwQg;jt?N|1 zNn82?KJA~hgEdV;QjM!(#}u!kuSc#hb}NKVzu&_6T{D0sK*TjrkN@}^3;sI`XvQwIW&A6-ns>!N*JZK52%;UZV0>h~ zZ`QwQTR+WaJDq=9XMf?g)%mga>|4$I=l`#F$o>7#YTNtof0!d5cSdpUTeJ=25>Hn@ Jmvv4FO#oRk3(5ch diff --git a/examples/starting-top-down-rpg/assets/StartingNPC.png b/examples/starting-top-down-rpg/assets/StartingNPC.png index 112b2c16119368bdba7da9744bd8e79ac075b3ec..9e44b6e09e202a688b666e36c7d85dbecf8ea87a 100644 GIT binary patch delta 3832 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 delta 1163 zcmV;61a$j=9+U}?8Gi!+005dBgxUZA09Q~gF0^Rd|NqVd3Dz4Rx*ty- z)*5vcxo$}re@@E$ueF&cUG}19)E;`CpnFSlg1+6O7-K|EA^f! zSPZ_zz|~8(i+{b;02K9k90}mn8Vx2#pb%LMet5MGlMqRL62HNJWb3xxFr-0(CWN;P zNdTW4|NZ#3RYnp1G*A=3s}0#l-;sL>Qj`B6zLokJMHX-%7{DAv8puF@f^X&Ecfn-f z%mH+PyESa&e~NFVS555n2+(v4m6M>3ilA+cqB9S{5PyLOIsOj_zSA^qQToa^g20}_ zAJ~fGi&wtkQ^;o>{Qa%(UtgJD$jYlkwLEUVU)wZan5+_oyPFi4gegogY64GruQ7%b z0#i~vjV>_-aTUU}%OPZC^hTgfY+YDRVcI%SdYh81$=}^6T87DrAkZ4bT$8@vz5eiu zsYg!|?td$xswmZ2XEAko^fJiK6vSYYHwU4*PP*Y;ciJ3{oJW1*k;1@%Km4|;B9!y9cDvk-lQT6I-uroU3hFOd8j!Ta>>{cZksC& zh@d~@ZI{vBFD1I0F62xirQ9~xC%xaC11@C041e4lG5Gm-67KIJvN^Xex1I^svlw$% zMKc|YaRlzVEFz}^UuQ5XjEn$cIH-}wiC~cecgXk^OYm}Nsfrv9d~+6w8}Zh27P+4S zR}wCzz?B3M_ad!dD6!Asr@df@Ddk!YF^l`Q++QK+cTJwhze&sc#9ag0m1D?vrzo!w z$ba2Aic3PaVix~!iidM7E}kNsW3g>1*9lhbgvU0g90~7+c{V5~q zJ%W^Ec4Ksx0JlpSzfS-`lI`pBhwjLLo z4dQ<`^1N6tWml^;+@7pP43eM|!cq)s|LrG7yH$M_0w14j=CrKDRDb>` zG|A_!dNB3=48Pql!Wl33^ESmWSYA7q%62@{O;!A?YUPE(Ny075-Z)Q^lAP|xGeg3`GzNeSei?A|f(%VgLXD07*qoL diff --git a/examples/starting-top-down-rpg/assets/StartingPlayer_Down.png b/examples/starting-top-down-rpg/assets/StartingPlayer_Down.png index a8dc0b4ada92ac7cb2149e4f58d31573ba8d9fa0..a267c7ebbfdf2a50e50fc616a9ea671d43e27770 100644 GIT binary patch literal 3849 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 A(f|Me diff --git a/examples/starting-top-down-rpg/assets/StartingPlayer_Left.png b/examples/starting-top-down-rpg/assets/StartingPlayer_Left.png index f232507104fd4187ac334c71d96c731872d90fb5..c0659c1fc10b68a4e0e6a9ca7c42f7967a36bb4d 100644 GIT binary patch literal 3061 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 DtKpvY delta 1193 zcmV;a1Xla?7qSVE8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r1X%EwV2;znWMlBlaivpcp z6ufW>Wjz>xO%^gE8pd`B_^Kw3RTS&8N(KM`01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600Z4gL_t(|+O?SJwyP=(fa?TSRJ4LawcGc9 z%L4)1YMJz|n?HN))_jtIB+cz+5t5fxb#H{+tE$B0c1qH`ZVpo8B3%Dh9Zr%2B2c9@ z=5g$VjN`l^@_!Kh3=CgJHqf^WZ0rFMr-Aw-rw182KvX_LCZFmVH3(njccq(v8nXlj~uO@c*;7T zeVs)HVt-}UlH4xNwjd;uUA^s$hu~e?x;>!Nd2QQvVh3LiY!V-P0jWsFrB(7`Ttf!V zUi!n{V?qKJe90u_`~TV5+2A%boV8YA+}&Ig)fxC?R-d?PD~am>3j~05zv>-Cm%9Qf zlc3#V_S&nz_}7eKNhQ?mo3rr!B*(l-#N#WTy?^yO2Q_DPonp5K+%nj_ko(6IcYl}F zgoOZ@xh5f9&jQ3;74t9`+Us%^I33tJLlJI)vY{|kk~S0|voSKHF$)DSLoU^U2UvI437xx2 z+jT;_@$Ld3`>b37f3F<|)?5$$DT&YKk-pGG5m0^=kb@VB9A5?CNEY`DUkBg}4gi1) zQ4j#(M}#p>t^pFEilhYqIG@S@$N+%v=YMLd9#ilKP+h4=l>!j?CvF0^C-g9?#Zr@i z6EUts2c*xKRD&YAr4iO{3=agX#H0&xB$63y056;wag+yOQ>u;tMl@@HABMGg8xX;5 zDwGjG=qC?im|(3~D+AP=lOjb>o6x>ZU%7nW8 zhbJO}p&>t#M?#w*-)0%kAtc{P6e6blK8ZAkWN#tTYP0e`WZncbZ<_aI00000NkvXX Hu0mjf0;~%w diff --git a/examples/starting-top-down-rpg/assets/StartingPlayer_Right.png b/examples/starting-top-down-rpg/assets/StartingPlayer_Right.png index 5e1b2ee329dcf9b024fcc94d9326dc5e47dcbb4c..17810fc156ceea023d51091a1a0b47de135d150a 100644 GIT binary patch literal 3110 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 Ae*gdg delta 1196 zcmV;d1XKH_7_|wI8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r0X%EwV2;znWMlBlaivqfD z3Y}dPWjz>xO%^gE8u+Rv#&!vgRTNyaSNi|}01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600ZDjL_t(|+QnGgnxh~L9#5d6qFeA#o%;T7 zxg=m~Eg*I;_P?2LTJxK8()|25!1AiDi&mki>x#0UOGxvkJ)ogwxcsL$YLWy}klIMh z({xjqrg@{tLx1EmG<=!Fz@Hez)FVZl2Fg#8A28gIqCR8D;Hh443*-vlRelBn@4riK z#|^FUhOhR?bKU_%<{?Nxf44m66U3tQ8}RVR^Wm5ivccWDaId+}j116oGlAzmS z_PFh(Zx6ZKF&wEx+V|nCd_TgPH>!B-;@LaPIe%z4>vD?y9`Ivuc_BYvPyF*8x`_xO z5cZx#JpJqddsocET*#e$xenY8xMMPu;TC8cN=ql{LJ1%nBTE{KPy%7er6zDaaqU?U z#5tT`{s?3g9>gt>(f2N}IYDK?GK3RALDfee-uVT5Y$;)D@(Zvh9cN;9g`hjkSO~&+ zg@0f?gdw>W1RaLt5Jh=~Kpx_#7K?>n!ty?4uSW4Bj>V-)Fx61Jm(qHTV0|kma;=oM zaw2c*-4_Je>*Nyndu<0;SaY-Vr!2mjN2Z{eW+3^u1UY)4%;~oTG=k=y(eDXph6*6T zc#UAx1j>(uQkr}h#zct{umB0Jr!o>`NPj?!YdzJhDfC59f76j_O~Bw!+y-1v_+eFx zL6V^pDQ!X*q}Q6%pdk54BWm0j9tb>%feUG*k{NA4FI-u1v!hZpRNd!+pL|WVc0000< KMNUMnLSTZEzZk&) diff --git a/examples/starting-top-down-rpg/assets/StartingPlayer_Up.png b/examples/starting-top-down-rpg/assets/StartingPlayer_Up.png index 6faa144c17894feee6be59098658935f0d86d3da..cc31659b9dc67ddec8dedd19bcc5e461e2ca6657 100644 GIT binary patch literal 2361 zcmV-93C8w`P)Ie@L2?jOU%7y>{02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00^N;L_t(|+U=ZMY#dh^$N&E` zyEDFH%XaS6O=!eTAR(m!B>Kv0-^yE`%9B+=n^p)4MHC7`RcKHjQi;brQTM5jycUV8 zgj8-ughDFXII-7>6W`X}`Tji2WoKsB&aUHKZ|NLmv$JPr&gFN$^Igt(4$+6ycy)Fd z&=*KNA>m7)&J%7NR22Xq?h1Af;y+3JR>B(q|5SNqd8^lLV=oJ@|7?1~!95M=X%NS| zx>>jh@HKZ;*H_TS3xSFv%kn_mqeMpxJpc1(4kTHh?FFpI=!TSO6P8nfV+Ye?{U% zJDCOw!`sAD$Wz;K`tnfcy9#cFfhp@OVI_{`V~%eRgk!1@oT1Ec#j zi3{!9dhkm2yH~;=o$M=P->cOhr2X!JZ9LqQ5-ylU;u?JuX7O?SZRxrE@BPlD_h!m$ z)`1HRxF?TP0&f3cc80(QAgVZuB?ltN%Lh*0q@&PkKVtgNS z=kg!!DGer6Wtcw_30VH_%m^Kq35-NqY%i0Rna#{P1bdi45>1C-pE4;R`nM_5?Cg(L zHV@K|%7I5;JWFxJvfdjLGuAY9k$czdJ5z&~ABU{Nlv;(@HEcRcaoHk3CZ|UvoCWaL zzD@y&Pqiv8rs8d;NQA}qVr+m+@dxdvkCO6~FT0>LB|g>HDe&)aPI6?}e;>ffPHRa< zww+JNHUiJ?oP!&iTRW%EUcRHgOaVU#sxqC_emzR2X_Bvef7%`A@``0(Z(jF%y_RR{I zV6gloPeNNI@@XnK`rIQTMEgiEH_C|uNvwf#b;i|M-vG!^S4K;iq+NaLZH)A$qBnPaBd*Z6vm0;tz07mC>5VSn)A63Cc`|<|0X= z1rZA2fz}TXGF&wSVC^EeR>#H)u|Vz`72|}?%FNV#weP`@#H-4BWGVzadyaC(gKKkrJLzb- zUb(Os5)TaE;ITl6C6G%1P9%!1X_GV4caH@QwfO&Py9kp0PC@`Qohn9^EJ0Z6y9Atn zeaRYz=adO=BY&OE#fv2DwPMIi$dnOj72<_9_o$g?nJ~Lyc<%h`OV)P)aeC9F<*f2D z0igjV!s2|Batbh2c&R=pF06TS#zxOY1 zI1CHI+p?h7&FbL&%kn(pp-+TcexQ4CM}89;zE*u^rQTB=;2a(n@OU#Y5{{h;@xgVk z7z^e7`P2<+?+fP7v2}EmjfIF~9}nRN8U`>NpMKmqJPhC;y;g!PKKI0=u(@Hlz3d|K z+{4>V^3`1EPkWd6Ibso9o)8I4&Kf2r)lu7eW(A7r_$fnU7g$?$Y53dL-v#y$6}A72 zn3ysgKV^s2?85^<0;lH;AaQ3Uc8OJd3fOd$RfrCYdD*Fu98Jy$rysKPx#2(oNFbb< z3o$(6aPz+ojYiYXrxzr@)nez znJPy{V7!VjF(phNi$L}=RnX%!HZF{fhuGZ#);EZayAGQh#7>>CFzTH12tN=;MupJ{ z!`P@$_0gA9L7!692c~>sYN{EvhVh~2;mFc~^lA9>8DRjE_l=dV`{VEtPbGj7z(+hC z$O_c!gzpcQ9^Bbs{{Y-sC8{09T@UKFcltnScejrKWWY|Hr4A?olmJQqC4dq@37`Z} z0w@8L07?KQfD%9npaf6?C;^lJN&qE*52v#_Ht4!h-7wfcg1(E-qdhLlutp>9c&;iuzb4YPzOBN_K1BV(B%~EP6;OOuMeg>WRaQf5di0$!04UNZBD*7 zXuXfyBv5kB9lj3mecwdv7!h8pKKhoys}Ii5d-ZG8N8d6c6tUy`e#a8pu^Ft@YT?k( z(3(tZzYjk9j^JIHYyADOA?+N??+Vb#ezDxoj_otAi**p&^lx3SeERJ_1fTi~p*1?J z)oPt@sneB4d-5fS@6oto>0R+<~<$BHSFf-$AYf5*6iA*UA%aaGcz+4GX`e6Rfh@;ga-f~ z5QY|S{^sBz-Z_i{C&aH%)tKuRRfg_(rcV_00000NkvXXu0mjf`iNE# delta 1102 zcmV-U1hM(eF(sE37lOMhENqcCmKvJ z8EHQlnFu4;0000EbW%=J0D+gs3mYqNT|>0_@ZVfk&kq0q0DlQ^NLh0L04^f{04^f| zc%?sf000A)Nklndi}9o|lb6QtT@X{5?_@wN0FaiTcaAA$LRd8WVXCN{f>QqmHe$+=sy-0LL z98S^6f_*utrfG=vWJC#VZ5X{ysBsvQ!!bjGVbB*ZCT%`W5)`H}H-m+qzJ4fcZIB89 z9QX`7Xn%wK?@M&Dp#!~|h9D*tAFi2w9+mc+Yh}ku(1qXGIE`2Har#a+9udK?9d=<16Z$IJ1 zB?Tj$V7w&ZRtkJcFe+#ioj^5bCA2qG;N4R0<-q!5)P z$ZYe%X#2C^ zQP-Sxm(P3qw5c=u_0@Ub<|s*^c=bWNoVlz#Zwv)@UdX)m9;Vwmm+srS|Glf=Vn^f1 z@|v};FIraT*=8+x__Ylvs z9OUlAuAj0;Ld8wb{Hs*~sE1e&*I((BVkAKMMckT7R+pmBAQ`~m;xrLlW z?Dgr^MXV0%7*2>X>||01XL!QZ5W_e@n}K}6J5l}TMYmopn@Q>FVdQ&MBb@071xjN&o-= literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3-pO;^#*IDb4_&5Lb6Mx0sk1eO*0E1%@_| zV1Y+uF$061G6*wPEVVBK3c7i^IEGZ*dV77NAcFx9lcD-={<(@8P4B-juUL@0Y=JNf tPz?+mU`nVpU&C~Q4JH7h7s&mn*(ZNBR7jU?Wx*zph^MQc%Q~loCIAxfC*A-6 diff --git a/examples/starting-top-down-rpg/assets/starter_pop.wav b/examples/starting-top-down-rpg/assets/starter_pop.wav new file mode 100644 index 0000000000000000000000000000000000000000..5bc5472627e92d7209d23a33503f9721482a134a GIT binary patch literal 43564 zcmWh!cVH6P*S&9mFpx%K3HGr>v17+RcI?=(kFJGPcg2o%M^|0!*s-jR9Xoa`(Q(zE z*s)_DO-zVsq!ALrypQjX^ABZa-kbN%J@?%EhW72@@zw+Vwe@3Fl$;;5e|TRp9B@8q|Na0GQn#JX~8K ztJViTqdxeK)&hEZU7+q3VdiWJW_w(~RNgrZyS8A{rcKz=csX|AWtdG_h&7uRVZC}S zHgNx7+u)O!QJ=)RGheW;!8dH^U4%XBin0594t6Zg#fFyYm>iUjO%HBi*T?JFJL@R6 zojr=x_%ilAzKY4Q|6>35f3c_MLF}J+0DG3c#!UB@*qizWTYi6!ZSVxM7oK8`^cJ?Q zxQWf0ZJ55e4ZDAx#;$g!v2AJ)+dV<-mNf(Y#m2yN901;eb7z>Vq(#ta%< zZPZ}?lmx2Q3b2lrfo-Z5)H9odURnpp@5umbu3-)7!d}-%>{X1yTtQvznOO(>rdGmy z+e%oyEGV*3Wum&CN2Ft3h^iL#F!iZEX5y2vke`g%W*N>?N*RUt&2KKG(N?2H05&M1LL>v1*WMW@h7&C4JI`|L60Uis6*O-m+MAm9k@QiH&p23%~u=+gqPRJ15 zi?T&BSR@LDfXJR&fURd1V0XepY})U}rZdm6LGlPQk8fbh(OcM(gRy1|fOq{=aGo@Q zAfv#&wJwmp`PeEoV?&?inEIQ=%$v60>)RIGw{L>#>@Bdidj$I0PrcrUguNr1V!e3?_I4PIP3nKavf&5>TNQw3jvrLR)`Nbu z6)Z0gfhzG3aB~|XZ*+ac_q~EFo|{NVeMY8AACb`VB%<<8AnkAua?E^%R6SY{>TX)X z)u0?fc^K)RjzrGCh9b>?Y|teZ0;@|ver*!6bsCH4i6aoCQHVWI3xV4U?wxNzTN98j zNrr?h4YHkSgq#htz-LJZZ~3T~u^XA@of}(cJ%^y< zcEoSABjb!S$XRk4L6!~K+ipV4>l4T!KZTgLNn*-Fvxe$!$ z0>N22P&MrVzSM5uZ*&FBv#vpK!w=w!z5@5w4b0)^VBAyzsr{9Zz8;0FZ)+g$|7L@w z)}O!|^0EFz9@hG$pju1<+2jNEsorC!X$9uSve>d<9<~)Oz{cH&v3}3L*m>_gc8q$9 zJ>}WhdoCOMo~wXQs{-1_t-=3O3!sf~)PiwflUsoL{V(tj`H4NwR4mk6gMG`^VArDS zm`b^gt=C^+>*5#KskCC|^lD62Yk<}N)WQ6R5!kV3EH-mS4F5&;=*&B!{m4zxuynKN zZM02fo?R66=Pro;v+qTC;T0XflCd|VK30A0hK&PzVr}09%yd;@GOkc`C*+FU{j;KW z!3|OMd7S7QFkZAbvWd37YeWv`h`|%NqT$|BtlhF4v*TW1>g!wVe^?LekJZ7d-+G9S zsa-{vcs}e+ycD(={tLSn^I_M6mLhqqh3Iu#L}Z9&!Z%T)O%q-ERoF9T zDfUm=ja|r&t)tpt3)uxz)s|vM)-r7GGXbi~e?6tgY7q>w7iB{&iYx zxYZw10|sHc+!VB#7y~OUcd)U70f7rPq z9UC{LVybmS50thB&9;63?*>G4z$&n}TMaPh38;M!ftvUp9L4X!`7sSleX~HFg+b7Y zV8J)Q@aihCvGc&t!VLUuE0|ZW2kzbAh#nXYt~!fAe{czK?X!T5&jw~L2mFZrV6XcI zEV6gt+SVQ!`*lE?Z{Hy3{tUwKeE{zLV9A*d%oP*Rmgk^d;sGml2AN7uBC^2^Wc+#^ zxmv736ulZTOBNwp-}%Tksu?nDYlY0yUW2gz4d~~b0sny`;6L#aXxnoz2Y*L&*FTVI zPA)PoEI@8`K61XzN7Uknh`sAZeqsjF-Jgnl^Lrwjn@09k9Z>LnXQX%5LAE-zky;kv zmFI^LW4wl}TU^M$b}OPUZbsC*!^k`NFd|QMNBZtGGNRGQuwgvnOa4Uq{_~NedM%_b zt%~R#b&B$}$lf&xIoFIqrWxar_t17EG~S8mQ!z+=ITmRIsMYI{Mubw7~&7%-Pk1l5>X z5S%d+TqBo&f9L{m&sh$d)yqNGpcTN>_CSC7g$?t5VVE%y*q5V$j{OJp|EvM$jQ(Is z90rcVUBPg_Bk(_mg867aFg9ob!4d7j*Z3=@MhMuI`~%yYe#f5l%UHMYB6h6(18YA| z$Aab^HkEwBhRN-KpVT&Topfv%or-#KLrg^D4Y-A!`q$Vs={fesox+Yz$1qcAG1fhgaMP6i*i(5wX7V0l z{q_e~^YstxTyMry{1EIGhhV2>A!c^Z#qN4`%%$zb>c`Kpp~@Sq@4FTUyI8Sd)m$vh zorOJ3VnE1NK=9H>>`ecT`O%}WI$0(Q-EuyuME(QXfb>FEQi zT@FAC8_-j>0{vkxSWfQ%)ddWWxe`S8`vGL%@4!sF1)ilT;NR>A^VWRuew82(B|+9u zW#k@N4Z*pN$U?S5_UL7ZX}TEE)u$kTw<$<9Z!GfvHV$ze&LHC}C(=}&g4ByABVAh^ zGSp~?wC$H7Q{zR*aOElr?!1DyQ+DKgZ~%EjMx=`w8HuBj*#G`0az|nqfB!h5a~31x zsYS@waTelh&q0M&AtN0uk8@8Y!`V(847Ah#c8Y^a2NA4Z(&2hP3(wC!89Mqf$E>bwk21vXP65c^c?1?Ls*qE z5bF{LVdtT?*z~`)*gZfL**0aOVX#ev9y>+GenhmNI4)W>siI2qUF4%_OxEp!&C$KF zc1$-+$=-<8i62C0b3inX;Y1C+MdXjH7j65th#voT(Yj;5=qTPR>MdJEhi{X}KTQ_( zW9x~!N7!@QSMZ86sSr zE~-|J7G2-Qirmm9SRd06n@+dG`nw&lyUzbaPfxd~yFCVTy+&bEI*qASG`6-|9J$Uy z(K<+pEuf5O|MoaowG)Q7dqiLNJ)-?~KkQoB7pu1wW6$bhZ0s-@tAC%2UF#xxeQg7* zTkF8&@W`4u*&hrK2Z84w8r-`&0i;B7SkFOh`I(8?J?U6oZyy*M?gjmar9jPLfs$7P za(rcAjFZ8$V;Wco{0r0-4uU1oVAw1N_Gx?YKkf`dOF43Xk|1FM3+`nrz*WJHDPAoCyNkXbVU*{`-nrnN1RWl=E*6$(JTX%up-oPg-f>yR^c zJ@Tghi#+-J5Pu?yFx@8!e`+_vH>Lx@wTU526-dIcBMmv8W+KmKHKFfWjRz4mea!s;oxw>3kb&&fl`l5z~GN2MXn@eCx;Cy;;nA!Pq!9-?It{;nO-3B79} zn`QjUha1hDPo?hOj>HAlvHa$YpJT*t3lyInPCa>}wI9 z<_6Fi*THvj7E+Ixf&ACbBRgC|=Fu;ZZPyzFW3C|mrpqY!*9^ogG9lK`4GHIaAlJ(6 z!1Ue>^vfZ@Y#9pv!)c)QW`OJ9hR9ggBj=tSNOyEEa&N1P>@R8|ewYC{QU)S&JB>Wi zy^-7Z8oa$dV850R2B83i*3W?I@DgnGdVuYIchGSWEpmwg-8?noQY#?y*W+NyItorP z8@rzuVSmO7;P?LpLc#A~;HHAx*AAF;9hkZqLA`1;SpA2wOL7z&PgetV-73KPF9Dl# z8G@aqpluQbwCn=54m^pSj?vh7VLWyn+ln;@cVR=b@7U1h3)Xg9imk3?*fQ9GH7kx` zzQJIu|1cP{Ba20sq*zo%bb{mMd~Cnm2lKNAVECFL`udQ`OZIw3NZ&x-b?r$s|Ihe%#LB)auVtZS>l z=6S`K50zkg#Z&BS|2*RNZ4!;UH;BP&F<59Ci~TcP*jRQAyC)otcy~uId*grDu;?L% zk3U4~neU=uVK?k-)dM>Umt%YOQtZq6A{zP&qCWOE7G~eW-fn5wy5%!=xz=HR%{mOq z-?3-sENtBNC$^-`#^jWR;0P}S&(E4j_)U%A`f~6rTLr!sZNU3Sn@Ch*abyWY35p%v>y?eiuR@CkWTLk%V{pP{K{TMtX|}k#pM++*%!BlutmKjpLB* zv;}DzE6(#O2RVDg|g9yuj;e;l{6J)3Bglhd!!gJslVapB?s^#T`b%9J`X)cp+ z_Q`}W|98Uqu)BnP-&w-fKS~(vM+kk73KHkX1POH_!U<1C5t?8j;f@Xv?sjdZ*3GS? z!o7Wjub3mOdqzprIU^j zSCRNiIun+S-H2enixSnmOA=@9CJ8xljYKuPj>Pn;j)c0EEAf5yOLQ$x6B_3!!hijw zL{sCeM7{0;!JoQ7IJSM1kW1f7m;n`~^vp!5VdheTk6%of4>gqPYBiL4{#Y5A%Qb|x z&pE=ZJx@5>N+j+oQ4-g+mJ*>~bBVRqFbSP9K%&~#lb}L<3D1eg5^AGcLf_*Frukh$ zzw>X2W#u{vxkn+f=E@{=vyp^BHj>ajm@e_Onj#S@v?5e}TM&+pUWq05tHgVG5W$@9 zPw4IpB7&ZNgix)9#HFJos!30gtLJkBQxy^wp_K5KmJ<&762d@PB-#)2C5F)x39j`7 zf*PukFjX5!=#tSA4LM0-nGn(75zXvr@?BzY{#62T(+FzmG{Rqft;GE7FNu1Ehfr+Bz12y`7p*1s*9Sqn=OCyC*`?;9-BMeo7y0UZMz)(P5tsQF(&sEk)*2S% zYBf2mS~)q)r}*O-A}U_w{GbHf{oY>o;LH2@Uub-y84=CmON3BaNUyR+IT9 zt;x0n4ZM+Q_&FQ8vd7kUg^l|f@N4%r;1>_7!6y!?LI3$jOaAQ4mh|N%^`OhLdi2^F zHMl=(*MN?(P1r5UCiK&9wdv-mwb`IMk-GgTk!xPDCahG|q%-f-gnsvH3cpp2=DSpm z_6K@LQwjZ|J@>szUihHo`FDtV@ESQaL!+FZ$3(f|r_5^>WY(46urKE;W}bHh*x41R zMokD`W0Q|V_%2&-`gwNwwDZ7Dyuzl8zQS(1eFrwU@30?^r?7iYq_DS-T!UkWuCY|3 zYhY+}jrGsC3e~1xWpC9BTtU0}*eWW;~ zYtElmHKos2XbQuUnzBnPH>HP;YC<<1(S#lUr-ql#(ExO;#n?O4qW@c4O}MeH8ebu{ z2450WgPV3pP0J6eg>%L6=9+Rx^M|v%a68M(ADZ-mPM`PzUfl5VhTC3tef%fBner2_cYTF#H@|{s z_BSxk`^FZ1|H{|?_LZLa=sQ*E`FH+q=?C5t_`o*4_>sML;Um@Jat_z?N)A)knq*jUXeDosz~>KprXgzRtaB+Ckc~>Cvm;E*Md_!YDEe@ zRhW8%t1zvGSErwhtj=fK8nCT4Hem0kMEE78A#aFo42_~2v;ET>(S;FoS2mzk$_9`* zr#?MqR((E3+JgQ@wt(_uO+kIKDRd4cL-k-Xy>M|eR%U4iTi({E6JOQmZcMDjEuT`0 zmmi|oCx~B z0dsn8Hk_TG&96F|%J+1nGQF;4^83$c@{K-y=PG>p&PNHa>Al}y(^BdKolx@wd+W{@ znECJvU6=d_VcAEhv*ZK+dGQB++Uu`u(#x;#@ziH_>aoxCe~mw|{ab!uhd4jMrt_cR z$l;IdxFa87+=j0}ZTZT7yqUp$x{<;3KAg!`J(|hY#y*}b^YJy-7f{F774Qx27c%*e z3i%m}a_9|smAVd{NltE=CZ}&UkLA;}vG7Y>lb%$)Cf~hrb$+m>x=#)~m#@tZTt?sB{O==~|{-Y8< zzDF`V>Xl5d`c<2)ky#sR>`mY=?nwaNQIYbTs7OD2qN4wOsB%_+F6XwrkuwR6Rov*N zDr!Klc&=aXcm=f*wD=dX4yV%qmC(*N&mP&4aQ5PlRD*m?vC+;&Bf z9YF>;@_&dv#v^9Nd+bm7h_$M@K;NAQ6N!({TQAp~Q2x}Ax>_$a`@IaafPl!b7Xo}JwyrFcI z)Qi$BtQW<<>aQ?d7@(jhzEjwSe^fZ1H$xr2@q-hYmzv%bZ$uSUe08AB{% zGO6fhzpLmYbRxaIYoe;!*m!M?De>%p%Q2w79Ao?NFov#vJBIcB7H#``Ml`>wx00LK zODR;}p@cI#l=Rfwa%#zca$T)gi1s}}&;X- zmU@M3=emXLs4oG!^7{bXTV5u-T~TIysukVpmZG-qazyh>A{yH!b?5AmYKL`^GtE28 z{g32I{*Y8@`^^<+JLrmIzEx3C3o5C&&cDUO!r$VVg5wE-=U9Sp{7pp|^tvMb(O+4Z zR#=(FE0Va$OOqmdHi_OgH;K-?l>{|YlBhw~l7POFBm}Qi=JT#rrn4_qqRY=$;_ma6 zX!3uR=s(FyRFjxW^p@ud)Y&HqRKx5T=g_y{M|N=J$v)@9z<1=sB5CrA#N> z48G4V+|YHzYhf~y$_Ls0B$Pn&q%;XMi&V&&kfALc9FS`DLY_9FU+3>Dm z9(%V@9gN{%dYf%l#ST*Ig|$7G5iJF%fTkgbr(4U6HC{uSmIl zQ%N37B-6*QpvrR7<8Vu!S^L`@D=WS5p! zWUgMS$h)sq1W*I_AVtC` zZ%G*UT|}?{AJRp?7ag^|BHb~sOno)0j4|~u5#IMJ;RJo5|GU1Bo)^xey5T(TuPM1O zo5|&RP0MD!Ps$c1=4aCTi!lw>dm77sNfVgO zKj}X=|D>jT{>je%`jbmqs31S4AY>kt8wx&BV9Saq%&SKbo(Ure zv-^>ZZta#q%vzH5uOo%x*Ghxzostbai{UkoW3;P?I3`CD$33kV&!GnKkie;gdIwY# zEKX#PEKa0b+^7KfW(Br>?TTzct%@+byaKbLyaM%PTq0u`pD0Wmn7};kp8z+$MH-g` z75}wuJbkBqJUjmPSkKMhWBHh)N?LPRX&0Nwjf)z}U1u9gO)E80L(4iy_%j)C`!|Y0 zmo1|2-p`QdX==#lTNl(XUK?cZKP_TMJSnnmUz5+eBUqcC3poY3{L2&BROyLqhzVzM z&qJB~#mIc8Tui5ZscFLY$Q<7vk_NvU(m3O*RN>g`R9bwRDs+FI%3R-^%HOx8@_h!S zF)s(F@wjg~ME6ODNudn7D40RFX`U%0wakPSgMSHahWrvPTC>^d)@%sZ$m5f1=JDG* z=BqZg&!^K)6hi-#g-q3*0s6=8fT{f7Qq8fwrM|AS%Bj9H%XPgY{SpPQu%*Z#asN3; z0z!`{)$!g@FddWNLJE4sOC?qCRLKcTV)!mgWB9{c;^;|R$@w9PpFn9Y^k0_ZH+V(MK{P| zo(#_tIt8B?VcOCUbk+NVJ#($ZJ#w`KiXX|$ z8z0I{UEjz}N8ZZ){gx_)xTQ+=^Zpp;?)@?5gpaY>SKe55#>F_c=zJVC@L@cg`Z%7Q zI9vtmN2=iN5fwe3Q!$le6Cf!rfxY#+ijV$X#R>i6>HdA=g^}yxsEo~V^xEOE!q4Hc zu%>pj=Ycw!S@xbZ4}4Er=gy3>U~`mN@krv?^+ZD3PayZplSpstgxPH!uqMM-ZbE70 z>fDqvTm0=ZTbeXzsv-|+tGp^^tgnjcI871c)-N*5+*rU>-cZ1w|DRuV;E|tSsLm72 z)$^$AuQ@{1FFDk%|FZdAce3e(S=sE~KeEAnGn;*!lFh$vn*&YS=1|`rM|Az;9HBu< zF5B!@uGu!9MzjgA^Qr}z@#>)J`R+2Iy1mSK ze{-0-vni}8&cpW9Jgl2AhS2pLPcWuFGWBk~j2!l#+`O8X^MPdw|E9$XXQc1g=fX1h^DPpyC4w+}xiD6q%X8 z_O6mZ*GWpCmEBeJl`bl3Q6x5x|1F;F@+Fq}{3TXsH#)|{jE!N%6eV@ymeNN5MS2!5 zB@N+;QI7VLqRh$$QseRlQogtqf)=fi`C3!aDQhmeMtDOM|2o7jDk}}H2$VwDSE8Mm zQ^I67D&|@?E~eMtDuC+O3*h>^d~V8ue16w-KV4+<(*^VLSeTzj&76_T51N_FnwIDA zl4Ut`?SgEf+@CG%eUZ)l`7#^2waTS$w8>@r49Mg54aj5tZ}Zryuk(bYz4->YJ)hY$ ztdRe0c%gsW@nZAl6U9148#Im32HmOyrNJHhOP#e>hAhc!h|6yz>UK01)v|abOpHU; ztJ5UR=;;#I!aroTiL+&{u9xKW%nNe%+&o33SfgNm-c`c=drJBZj^=D)H0w3T8d}bc zwHYVIIh~W^*f#s)Y!mm!IiH+~6$S zg&2O^jA**x_h@=%X9Y!dQP@r_kXz#x$W^N!%GAgIC(|lFN&GiIO5C;YAm@$S$Z)4n z^xZEOdEr30f7rotHpNm#-dRv4tS|+2&gnsOqYD9p=R$xhcNM|rn?=l$dj)iphXu}& z_xuJY@2Brw%;Wz&pT~aOlSkLspU3@EE060{I}ffe&SkqT&7}@T=dyHkE+d_u%f6VD zOVzoZ#~ew?6EwB+g{sNMSl~3lgr z*I24%_gId+7DGk3V&GWhy^KOJT$gW3u5zl9Iek~b&%UG3R$ET8^b*qFZ%>qV=iVqk z+g9q=x0BkIL8J~!5T2ENf!q_p09IrdFBk2d;>zh3@#XBVv8C#z6H4hr(IvLAF(u4R zS+TimR55qIeWAHiyF&PDO+M3WRX*MJTOPOTdmi5{m`nc_&IRgSE2zCZsQodT z@xG1L3bkXXk#%CI8gHXj2VO_}D-Vt4Mh=VSE(l7lLYk7FpixpS8z|w~1CrZupVZ;< zD06ao6qgf{3bR8}!?mUowp()v-El9nw~6$=OxuFVeKzc6lEQ|u)xsv#sxr6zuQG3a zW6<4XRFJdZ2=K>K0@}dOB0BV=$a$qfq41=BA@kXh&y75r5Aq>?;fle}bU&5{o+EkO zQe_@(iOv(mDY^91h$cKSC6^(l=2B(%a``9sbE)$Y{&+es5B~el&#C|Oo4X7u5T5og zU>_VUgiA*YnaiDuDTXeF?R86pf9sW)i0D#FhP>1*T@})vWJ4y8MKtFw6$T*fp zw)ia(4{?jce)FNsckZ!F2$H0*QBJa%c?v2gOF^%!7o)w?AcpxE8^>*li{mC-i-Xpe z;`o6pxD_76iD>q5j$ZUt#%A9E+@w6r++^Qj9 zqX&R)M|zm6;tSgbT?^S;+zQ!aAC+>KAC?NP6D538M~Q9MmSQ2^R?MC)F9fozkaeCb zp!S_B;0ABXhgqBQRe`I1FkbV+>_&dRMq@wNYx->`s{6J0tY3BZyq~GjFP};6pRZa{ zp@69#Utk-*p^)CXp->oFzgX3$Q8E3tAfP>wAMhP)TATx~vvKA#fJt-T)2``0U} z4V#qgnso{|xKUvnRF|Zy)g|43EQqrGm>*@?m@idN&X($~D{V7O90==-S&n(Z6PT;7dk{3Bbre$19~dh=gm@F**KEjhsK z$^p;b#S+KsB@#1HBxAk?WVQ|sN#TA2lAjMsex0bGD#ph!zv5z;Hf6E=gtA!Jlp3dM z`7@3hv@l+Ee_lMC?xuoHom5QkODgz$NyR?-@C;#ORmM5 zzg~%@N3V+(uC9w_J2(|^>w*Fb|BI$*X>Gj+MWdBl~`_bNByZt#lTA?~=u3bzEV^ovsUSDjpVu9Gv}t1J2UHI!5@6zi`=#Cp`Kc!-OS zXJ_tEvGh(AH%FDoUXDu?wr3}@4}K-W^8FRqbq6a@b2BUO^Rg>YZBAEUd!MQR?H?p^ z+B=Etm-z{Fra6IS_p7))hgD|uBM$at#A(M)i}8$@5@UWC$=AQ+DBLBj!7fb*AbMldqCQwX>qNQt)QNIk&8lUrv1*y;$b}OBnTsWqYDh8ta(FS- zyGapusc{jz04kJ5z04L#rd`u5q%V}=c_hf%NN>T$@kP^3)t!_ z3mC_^LOzBmWHR3taf$DX_|4h?H=ee|@%rF7O^EYifC1}B5K^IB7=2!k*CGZVruH{VtS@Fz}L_Q3<-Aw>?uB=d!G>WUrY=# zMORDt4p&OG-PVMlY)yz9dn2q;ri6Xd3bDIy5#|e4A=l5p5m_mZpjPG(jP1SDjowKG z@qCnK+l46my%lnD>M}X^Eg<*(TO?;UrIY3ySlm^93^v@FR za!$ah$_jA(ZwJhk?*!gIdV1R%IT%?3N9gD5$U;7aHTyI+VRa4 z)b17vbC1OehFzxMG8ZeTgoO(K#W$o->kY}Cn@#d9=8>#(pqxKHP|l^alF>U_$-MjL zN=SCDMEgKa7#GP2w$5RoP8|VqY7@+hjWFq76;|I|6*k5U2zf(8LWZMIYW+l%GUGp# z7}mZkQC(ISx!JKwjEllN}QsJb^~?4>=@;GKO^>U%k1DGC$jX9C!22;f~*D7uV= zkv_5EVYg~{*#7)UNZ=wJ$a;< z-Ey>;f7H6zKe%l%_pov?-?>t;YU+k!KF(Uq(TM@*TrmKP9|g>wCjnu}yAp2a+Y+@T z6!bPK3+gtR%G^Jumhmf+%MCeo%XQB-hl8!RhP5p=irPaPMSI1M*w;F8hG*3!Ar$p|@ zDbdzwbU9r%uAI@d4;gE82vL7eEi)8PE;E#`DYZUaQwlqLLCs5F5H5ZzVPe0OFhidN zY{#Dj=mrsOyp<2|)#6L&N~#j!ezy{#lrB-PA%o6jdC;xsRO&q1vDA~%q|CgsS(%9v z%h}k=*?Q^V`2+Yn?_YnB5TBt1c&m&n)3N*k9^iF+duu z**?lvzipIWepqfAc~DM&s7*3S^+2BkFsc6U zVN#!V0KpF$OpuW>m%mLVaNzMGl{{9o=QR%dW;O{^881R6<(p9O{f;tE=N)D0C4ZHA z)-Efx53UxpU#b=qz9*FMe-zdlK%zR6%PW;)q4RC`zyfXtbleQTf#Q{yTpL{ z1nqKt(9z~a&`7-q1~0uXW&e3y>gb#n5n$YRb`?o`SCVY}Ez)4TN%Ga3leXH;Nzbo;qx8M^M^Vex$XpFq z%Z%xDWV+S$WMsQpQnl$1seg1eiBMieq8rr(xrj~(+K$5dP9w3pXA4m`ucb(zX&>gx zJA@6DqRY9>G3C^o`62(qg`wbPZ<%K0`!ch6WvQjvicYJLrh7 zS4!7QF4YvCE@if!DRq>(O17AvLvSAp1OKVLhidI@lJav;fFnxc)HY;7|D7PqHKfu#9fQ4Ww<`yJjGPg3ecA6)W1+zsi^Jm!G{byL^ z9vcoWoe(CU#fP1gD(rZ2zT98;OgZy~E)O>8QZBq4P_FAXu-sVpSUK1FL^(SxDQv1< zCG2kSZ`g2SU)VC~bJ&^W4F}IhiR$Z8kw3gz6wX^kpPi1JW9yBb!{w24LUN#H?g6^h z4)A3K!1}ESjHmh{zWo5CPK?yTZY)8zOG}ZZ!D3|lG!&`yLlLvOCDO;VL1gF7$lNLN zPFoa#vu~s?xP}hYhuZ=z9K@d82QlBTId&PEMOi`FnY} zH}lVO^~agz_8I9R&(QRc@Jt^f69$C%dsRZ-XH`SNNsU50tqBSH-jsQ}zb)gx-6_-F zx>rU%84=>PjSMl{Dwo^7S17l1t{$eG)xylgI->XYdLq^Iv>5zwO7yi@i|rY!u=AxF zS!yLA_to`;X7mQa^xH~_t>;RK?oM5)(5bG}S=}ymj73C+BqFl!-M_C>&l#y!} z$($ousj1gWDc!1*#A@s!p=$RdG$Z;G=GLtcd0mS<>Ya zT>6UmF1p8Tf$DshOoZ& zLs8Z7f1ne=rlk-IJz%l!{qlH9fyB&X>`@~eB1FT6`OHnuW$XnKlU^6jQ7sK*?X_`t~V@GKV{Iv zn_|Ax7>eyg|F{Ow3v^IH{M{ag3o+3)Z!T6cr{o^HA)d0K3WkN zE+mH!C8`mn;NypqvF&=vnr*!lz2@VFnMZiI<7%e;vVvLaQyn{E0q7rG!qD^U=(<)M zb$^#c)re1Vcl-BoPmh^@0y(Gsi4N$L;ZE$Fp-Jxe+mhJjci_wIbp6yj=`c4f-JT~c zT{Xda`Ql`)m^GqYH&6v_zcrRF5?FHlid^9T3+Kd>Og{X?Y#_+y3=-B)LeP{kdZMD1*xSI!b z`_fQ1>Nc9I)cVsCpMf=mr zR9JGBR!hFquefs7Yp$*1;I^YPxV~Ux?r775`@92qAax*DdsfryxQ3g*_U8cox#sRp zX3DaI8NzSD+3qbwel3Q;&LyDATpogh%R=<+R&*=rTt77!<$=S{UpO;b&MVQAXT5M` zTO;&+=8A}OhEQ$5xHnE(yzk@UVcW#GV{bTaIvS3LzG{W`l~y=be2GWt?9&(33G>=& zLaEpy3@ zJ=d!A+|YA252ri0=k*S*{IHeF5aGTJ5w3I9kl<=9$vAJc6mB|J3RRjV$%AG|enTlq z^-v>O7F^@8(pR}^=RK~jexC>K-r=^Ece$qdF0OmGlY4WN<>92#-1nvq^AxSi{8cuB zYxgG7lA9s4tsBI0Wd(PO1TaYF(7Di$F>7mdE^C9%_%-27xhb3*r;E_+8N!^JAUvi7 zVad22chtTfw?=frSeNE*S+@&Ui>?3D=%YPfLyVO>iH3hqpu=_$tt-6fn3)wK=dyxs zrx%>t4}&%L9Z=0l1J{KX%s#j=v%hG;V{IC9>*AN(we}TvHL5Q;PB)aC<7Z2ejWp*S zF;}wxnkhvpE|UWJmrC&YycBMEQPOR=FB!ImBvto+C3ok;Qgp~-N#A;bq&_=FQr{mX zh5Y$xu2x8r>#gLL*(uz!w?DTm7{Cn$D{@thvOIdl$Bb=`F#Fr4EL@}o3-ntETGb+O zzyFHfY*AE}$^n|=*&sHvH0|}W)M9T(-`yRk^pmH+`UKSP@`_kduZUJWEUfho3C*a- zA`p2foZ}e==K>nP)oWRq+sGJG1=3kW=VL+7 z5$4Hvfdy`!W9m&Aq)q-qx;{U1PokCBm|342m}Nm0=9;Kv+F|p+H;Yz-Fluu@N88~C z7~Am>W5w>GS8*3(nTDc2eK0B`2AU%`Af9{`stgX1ITQL8d=~19QDJXL`YOdS zVP3jI$n%#9$EUl(t-UWa^%>gtNvInf66*29(W!7lXlGodpAG;2l6RgG29;l!+HVl5 zV;-RzbVC>(28E6Rss}PO_evMGi9dxUrbdT4A4Up~Mq3BcfK}Ls`l^S}cJwkDpIya( zKZ>r`pU{1_IM|jH2Y0M1SZ|p@TjO5{bw3E2wRM^ExeRl z+70@R`#`;9HmDCdLHlMd*lNxtedGSAUd@+BHfH88rNCi#2Bg(+)>aIRFL z%bOE@{S~PEkQwd$p9)|6xiFU_oUis_VXwDQc-y9s@5WZ)6kEjXyT&sxoy&4Sjc0=^T9#9(! zFzc=YO#R;s=BhW7XrEk$Q^o#9D+i)l_K2-wGM)Dr|~mg(hK$!m@dR z!qje|!he3D!m3@QfPu*h)v{!TuW?0%_gF=RUcMn2rrnfGe72;1I$P4%`bg?c7RjDg zUGkUENxmoP97?BiWm%brd+z3@8EWo&T$r1lY-QF5n^|n|eF>2TFTvZm7xizwA^Pqqdg_ExGj|_4j_g6lx*@1(Z$<0_9FGd~_K!kMnnhDQAfV-b;Z^Jx=AP$-ey?8`lxu`)h+8=OB?)-jPWU`M zM660r;rzahG?H6{EWQf3@I~0~mBc{iQYg#C(U6(`KRpfT+G0QtlM#}4kq6dCG`ISM z-saiCvRes;eM7*dCx4~A?;&{TKd|)5$6V_QF#94M(^EaF?R0>}uJ2{RCIz{@Z2@kd zSA*MX)#kSN6z(WKgRArG;wI}JuKl@>^u2p|=zTfK(6_W?YA{uTtdk}C@9L7HQw_;v z&ng*uXOm2SSCL}x6D9q-#*(>CV=3nAB>8i6mV#yLOJ09{DNrzvWVoGMGUhKL`AtP6 zM}|tWmCq|V&VA$F;Xin=?;{?`@sNiGEaJ923wdaNZyr2p;g%~CxaZR(?(aQ{`*V!s znxtV|H)tqVE*Z>a>rgJY&0y9naR$rxvhbZ<3}*gjjukN$Nv^?lCc+a^GxNxZ1g^Y% zi#cZ8WcEzkm~7d~!oAirZNm-B`T7luG=9zG&W!GVWb(FMEF9iTK1jP+IIxfT#%Ou) zV_EJ!=U?0tv??m_IM z8`O(efnf&uW0Y}0c+v$3T@8ThhabYFNYnXj5(LSsE|#?mm`xo(+p!Vo4mAerrV5}X zd5!$7Cd7Kz0+ZYs9Mw94qt_%b@QJj4*MRB9S}^2vg6oYF)J4cArLGy|`prN;wF&qZ z{R5`Q76^1%4+hHyaD)k;w-P=-ZxzV?rPM!+1Ixp);3}~O-2K;qgCs1L=~2)usKoq5 zwG3+NSonTr7QNMh1+sNys*h`#{my#&{uyS?evaw7er9sPPfU5FBK0p?ZqHttI}=KC zN1sew8_q;`rIH6$W#;M*xw&UqE*{-gm0N4;xOsUf+Jg{OD4@(QV^VK}AJ20Pn zE6?NMMfpt$8e1;oNpXIhnXSn9jIc_|6kb80+;?`qBIAphSOX)-o{VH?2S;M2$ zi~BDU`|d3 z$HxC*pM}78^%y!6PoSpJVhjvfh|05VP&c798aqiC_DD#$3qqB$7{pHKXxA0(mNFQq zQx=Uc^I&vfZqzo=qxqd4t=%+eO(=`zc~wz&leEoSccA(C7IY@WG4d{*YNo1Sx?G*S zSr&so+j8)kUV#>0L(o-@aK>`Xo;II6P3AFeyI;)y>N``18gN^q20Yq-Ik)y+$=#L9 zNU_0XBp9+la@3k9#i}onv>RMfXx4rS7W^w2J`2e=o+(UYODG&AiYOep>nkjE^a@}9 zZVK{`QTUUaDPT_vg?4!lh3!i>g*7=v;oQ1Lp&dA1;jF$;5ld*Rko&e%7-v;bgjSbT zg#J-0%&+n&e7hSf4EdW7PB2lS9_vupAGcLl+AR=;2ID(^|)#V$Anh!@?6K20J-Z7WxIQ*mp2(+6w;eJ3#-V zGT27w0G>WZxjlL26eADDyBjfh>g~A^8t!(laom z?F#m3bQYW$4odqlaNJ!4#-t@67k&h>Cr==7yc09E>&$}X@36?h+svO>kcT2_uBUzF z@7|DmX6~kbh-%rnZKX)ZB*~)PF1atul3TY{a( zjY*cAxfT8nc@@DYRTZJpH58f)EfjKv77APU(u!E~;tFm5*OD$Py`P8t5~QD%ET1<> zs_UDj==@|!SAVGF{ilp%m{nSGb-cq>Mbo%^dlmP0c60NDj@-;T@j%wEESm6@ne(1y z##v{W(te(4ubpL)R@0fR4psukYbD4{6ToW!3nGNsy8Dg=)1+|_J+>4gDa*lXqBHr;GO$0j zgX_x#FrOJp`zjgCo=u=7UqSbkZ{R1|MMbeQJH*2WsLS%hoRGJ(c?Rdj+5unFs3p1&o=|} z>2=`Lt^?V38lvRqs2pF2+0Uz)@t@U9?nAt>+nKo`jn4jTBe;s&xbogQZWrsgZ~Aub z-M@|7TPP$syCm7mxTHXDmlR%gPtslqN!Dic@%nu!to>IC?L8!^X409^!X+uSlcm_T z$x`6+M9CbOEO}cjmAv$C^|{AMp^KxX*q#ECy0u!;{kg#9Qq)G4&)WQ?2NlJ{SYaYG`><3Dvv53)j=A@E<-Z5V;XaOS;?H0)-vPO?F^RgWZtoFnYT!Ude5)S5&6nArGGN_xF5_ovKcolrP`+4 za2}pBoI6Ui<<^t!xu=|kI|F@rKw80rvzBr7=!x9BeH{1YYrq|g>T%Vf-dt7sA8sp1 zeeuBETvcce*WaAWz3)nL)6`Ntn*Ak<)qKUQ(*jIg=?V+BOJ$zHsmvK!&6FQkG56!% zEYjv57P+cr>KYZ9{^onoC42zekk{n<@(SbuocVQ}X)X6byX_u0OH2jb;VB^JYXqJu zO+eqPGz1Ei1NYzbyr)+O`v?n!^yJBsqNj7QE?820|*SRt63Rkbc!QG2*a#Mrz z+;Zz8cl?~o;qF`>j1gWj+rqUg`tnen{@nYqA%|xTxy4_Yt8NwK`hWj0)xPECh zd!N#1eO?yj4Ge9$IcmCJ6x#jgg=UN{;XT2x!s{Xo^uYsR z%NG)^q#r`L@4HY<>rLmDg?y69Gsdt6!!uLS?mvaj^vfuB4`B4-IaD?}hpt@@(fRx# zy8rzf%(edp_vIbr)3Y6ddoDxpCwbO24uEgZ|9nxlg2lECVD5E@toa|$s1l2GuFSkG zIx=^K&g8S^VCMESnQPv3W_(IL@N2?^TCZcK@(I+pP=8RdIJY-0&J8tQGi%Z-7VUU} z+1sCI`daUpIrSY=Cl}?K&qaCI*o}v6W^Oo`!lOS@xLmp`SGVcLBb&(=ZpC$`9e$Ll zt{h_e#&1|4@fFjv*G#wJEwc{0%sh{-G5O0L7W`{3v(DEO1eL*&sai2100U(*M)QeQA;nFE$Cv%y7PhaS%?h*fA0wi+htE80NdKx@!e ztqv9|?UM@Rk$o|Sp#eWo|Kk_ha+UyRnGz7Lst5CAx*MBRhS0f0P@Sp;&L4VkO3eWR zEkNBQ31ZJ%L+t!C@IRdl`pT2R_<16zF1H8&>W&boG6kHq9H2Y)5MpB=LvU|pW_Ved z+0sl*yWYfHgUX+hp%M{@H zBgMGJT7vtkyk+j`Z<*8bl0`pI&s8_fEH|IhT=ol#v?VXAvX$v9O5}2|8dtTe&Y?Wj z@qayFuxu4m$H;&3vCP8Woh&%k#iD(eGTX;?%#yPm18ZjHXr`e5_Fk~<-2>z~1pbOA zz0^lE(AFPQ9ptfWIOTMgNDw_keBz=K7D)914 z=o(4)W4n#$UAG=(%SG}(zJ$7=XAmZkpY*bQ820VPXwD;O4j;teqabR!-a<>_1GId2 zjFGH|(Y)^n>I+tWZ%)9SBv;6+VQ3l>bN`%O9A{LGR({B0OBHE)UrB++WDV z4P`rUYoA2!I;G>PHI2BoViWGjvw|zTE$6o1n|Wy3Ca%40;h`n}aMz&PT+M3n;Ak^9 zo$A8nhm(2a`6O-Vcn-#1Kt zs8nA~B;HV|LoD#c!Q@WUX_nN3JQRDfpf@w~8WNatLl_+8pM&<;zYw1JFL(=5Eq#0u z7?j&VKYuF(N12GDZ36eS8>n0rMEm}0=sJA^<%*XueETBC#!g40e=5cjlQ0@;h3bhY zB7bP*xGg-}(u4(t@OK2%Y|M|op?T4hEjzl8C!jm8gwg(lxpw|2VDl&8c<@?i(%y-1 zj*6&GOvKoX1!!_Cz`#EzP^mkHx^X{H`|KN98{~yZI4`I#m4w)x(qP#+0X%|o)lDa_zs$6$6BX1Lasse2S=+S!Gfw?}5CES#CSqotX#S{bIx z)|1Jj$zyMCbLQgBnJgzT=Lz!F-th?h6&`{wLVwTkGoX9+5&T4NS0Bp8G@6{u|AjH- zW5%Lwax-7WT+De-$@HoO7Iqb9(T~NMZ+;i%*kmR@p^?lG8_j$@CozAq$;@fBGt(XN z*6lceDL?n4&#SXQ-fGO!tRxE_D#84li!zf`l!Ye$gizuyn!&vXbMgPcVYmza0e8Vr zbRQUI?*YTnpfmKY3Ov{IK%m}pRNW6_bm9@z ztviff+WV^H187>m8D0OI%8vKCy`VM0t z4P~nJwOBNzCeu|-Vu4a^nSEYyrYusDMYRG*yTf8HH&fQa7SJUT)}?AhGvIdMEZi2N zzGP4z8v?;%E^yjiG>dKP*Fzyt zTL#;tU7-5+GsN;m0Xi#b_L-T^kHLKb*4KSa{Y77QMfcsd_DD z%8QGcE^~;%*!wKHw>fuRr`nni;-S?8xhttDxBHrMI8m6(2a53Mr>88GLcJf=$ns;V zmEYy#(bIXk)AgRk&c90-3cx^!f*w4O{=rzg`G%do)nl1vr5 zN_FOC(9r$wZ8IApJI!EB?FMqDsUR}G)F{+F9f_`L6Hq&I0tUDG zC{uxI<*W}d`so4sZr`Q8@g8cLUPkl506K=>A$|UBj10^IL1Pwhe=~w3xh1&r4g&S~ zL14I04-BK~5vHAv#=m12eD#Wa?_Q#>ZV@njFAU)U%Rqf^8TeE0g1yZ>2%g^$#*?%z zjs?fpF`!yJ3<4vDLTKnz@I9RZrnxfsv+o4=fhbsie*x>qZ{Yg<9V~axgZK1#u*Xi2 z59x6Tr+x<06q?&N*Ren)9rKJR$~>2fG0oT@sN3EK<^5UUc{Us5zT3cGY8&z63Nh0Q zHPf`Kz#{c2TcApDW++>N8J1>azJuABL;W8ZYyJnWJw;e>dSMnQ(VrO(ktbTu-OPl9 zJ+HsU{41|B^C#-}^E_fs_{_YgJ~4N3svE@{7RvvdnL7PqQCn%Q%~XoJezfJb`{dKF zGw{%m#@rlaTxF8D)j?S57X@KBjk*23f$Mj+=cY;~9z6exLB$yLb9-3e6XD#;*D%lL zwZxCu!gT*`X3ige;*FdpFJd~A8*XQoU89+D|7aH6MIM{pN=#cQE7Oh3%G3`s2$TK| z-oN&NJ+K?BH@AW^?-mHTmq6&)5(peKK{&Akm;)6+`J^I**Thj%lrYKrzc5zgC+b5N z(d)T@S_9>kQ2i76XC`^?&qC+X_Nal57|K2XjX(RNuS!4SHuOcyltJkC4Mg{k_GlT` z0ab}vF)%wDTKbj1NHYz_nl!}lhX$xUG#q26hM{||lRT`Q=)FQbz7mbmdax>nZ&X8l zonh!o8IHauo6voP`ndXg(P`L&`sruT(C7?CUR*(E8|weM??l(V-DozZV#we}ubzQw z5(CYOnxJV@1GLSwpgdg;G*iE!Da$vE%#Kpu{{=m>G+=313W7^$RwP-#dxL7K_QYMu z*%dYG!7;(uMBcE-d(_Gt*Y%-`cc+(M8)e+J)2diGnL1F0K! zIZ$~P>`{(^vKov1p?zMiI*Wa(&P<*d$QNUjEs?aUw^J-ewXxVkDJ@F^3>Kf|bR z^_=$l2HM~2(ciQws!KFQ7*Q6zkIPYC`ct?P(?uY4k5CQYFI3 zbv~yEY@Q>0!&(Tpr@3$&3`r7srX?Jt}=`ja-W zlTa@2DC8Yoh1|A_P?jGcybJq@NX>b|Q^_fUFi*r5%@h8EkAQz0Yaxr)KI7g;-#5d8X`Nf%%4!e|^niEVSn|Ww)d)4lD-0{isB9++w9{dAjt4d4xN2Pw?hTo_??^J&92?Aamy@`!R$J~#7|vbaMsVZRo!t0z7q_Y=a!^j- znq3vRc}sb&jelfv-H*)mBL}yR%f$^(keTXpu710QsgAE@^2D0Vbfr3ro+PX^TN=2E zoQ81h6qtNou(vx1%K1aVwrT{(Rexb5DIGQIHlb_zCaUQuuWZFwj9MFG%-e`Kq|MMD zYlg82)hV-!G@;2agzoAK5y*d37{?wFfvy2zdwofmPoELmb!UZAtQLWD#CbU25yo|! zguSjuc)x8B;nbZ%{cgLkFSsYn{nLbOdoPTsgm>SHh^Xd+kXL^azLilC=u!#I85Jr2 zED0_3TcfvTPmFHvhSnnsP@`FZ)<&Dqv2`=XjGIyI--4P6`^m3)KY8}NKp0D2$&bh~ zCXLaooA}FR3zBRqUvLM|WP%KWH8O2VFgq!Nrq7)t>5~R!hLW;xBM7)I(tAXEa8M^R$@m z#74wPOrg6>oq@W3jle$NKze`%;2hKd)VZrbAiECiLrnYS2iQ~6%2L@@9Y*+8X;7iI`IJq1n(^q1+FZF|;M-V5rbPdUUz# zptVh5!Yc}+D^DV-MpZ`5_)-`=s6n@JcMZ2RO#y-|X$2rOydDsCp?sjM%-yZdz zZm7RUJ?g&c=u4iC!Pj$9yL1k!=PyBj(qfF>S%%ux%MdasAMMz3;;~&sU9n5(2+`ba zSQfA!)sok>7Ghqq_1UEa(}1_Ab-YCg{XpxhAE-PULvQyO%7uvEXvzZCDpf16&vn9wm9e=Whb$yoDfqzYxHqy5PT27aZy2*Ij-l zM3TJV9kCzub+&=0_BQ&xDB~b01@r?p0VHmrdBs8UiaZ3WOc5}sA`lx)`C+}^gMaW< zns1QqOmP+5Q?Gz7avC%p{9u@pO105xdUkh!%O->A#27H|9RqUlE<{W03`%QLF#Oj9 z-2c=7rMd>F%{jqQJtyd&{ldU80{g~XM`f4ml#l4bz-Je_rp!az*?AZ%Z$|YXGwM5N zQBz+_SyNR}b*l>DT1q6@17#fk5IXMX!BV7K{BT7?n_m^iF~@~|#&Kb|c14&+ zToINeuQ0yfPjjtBBJkHDVOvSr9JUmpicwBg-u)t$Hz3RhC}*M!3jb>%^u3fA+LVC0 zW}k%X6=haIb~LZejymjurerhv^$XFraS@V_51K1qLi;u~z~_SC>a7L+_i|+Arv=yO z@?cZ<0Oh9c;P_vDMD59-v>gOn^+Qyf{sGwX2cmx$WOBQL%sf6H^F7T=yidviRw2GdaT%d_xL;aBJ7=GHw978sUkY&Aabl)I+Bj|IlO@tnf6#8}z1$?1;hUyyQ_C~_}wv_PgE-kbV z3J7hyfUu3OAl!8;2;2J{#4E@lJmtQ{J-To4;Q8NiOC!nvaTXJyfyG7aMqS}KMfY6I z5yE(Sgm6Yri_m4t95ecbZT@MYU4L7c&fcQT!dld8)k15nX{Z@K4Z|C*p{Cw-%JC=x zYJ~>E6RcnyV+C_TKX^CL9IG}k%K_pwRWHhntSHm>s7teH%DK8Ro@qafXG-}9^L3?_ z9Htuc8Pg`bqI`{)O#R{}i;TF*3~S!7;KDa7+A@QM>twLt<>yS_^f_~G^|HYF{Y z#2m1YX$nxy+GQ~d&6~o!9j7pp=*;9&T^Ov*#B{+-%rs;jai7*vuRj+BUln3m zs)7YFgL7vl@T_@@;U;hCoE(F;f5)IbPy~&QilX)~@$X#Ugg5zL5v+Gac-K!5(a#e^ ztfF3+p8h4&6Efnud%xqxmk;8q;Sb`bi}&L8kN4u5!cXGCZ=?xXdMh41e>)yIn;M7X zr{mUE=i<8M=i-*Zui~bxui}A6vAEJ4iyQqK;XJ4j=3b*j2uBI!#r;Be!z+TzK8oD;BxklIc44W4a`&-AeXn zj=uewrSCwd+d7chW+yXwTr!JACNbGIiFpIFn6B(BX0{Gt;f%plTa0EDJU|?hj>IME z$jqa)%w1W_BX6K-w*P&_yL;wsg$FY3aV@C!T;}i@NHcV-uBB0 ziyTIH=`hgyM}j^&5^OV*z7w|`Qf6emnipmE(JG&FsT z8jFuK1wPW0>_k-!87((m7?hWwe2#bt|IunOmvnbdsuL`9XZNApiguLq*N$?xNK5gC zIP@cHV^CKc&C7G5u1_v>H~1!Ot-cHIf~P|B@~Lodz91|UE(kbvOE`+$7O^5vh1c>- z=-1sB=KCQL9rZ-0lPT-rCe`ZmGoz<-A_fyHquSjF-8UMcp-OLr1OK4@z$E%zrl4u< z7POSxis5xZ41KwYzVk{jIuamwlWGE*QQE!?0k3lig!`?4VA={WHCqRkitEAMY7K;+ zuL0O4gSk7cWXeYC^8^g1w3NkGo~b(5VZmZ`m|;>jX562RIV|5GX8Q)gZwktTQZQ@D ze9V(XXIwoa^Itcz$crS(m}<+yg?~aY`W@^aNY8xdDwuOz0_DgHpzZVopgygMcSv)S z2Abd)%6J_Mu^i1H^r9(5#}oowA|TFd1yP)<~xDD@F{fVzKvnaE%dZhfKf2eJvV@NWkc{M5g#a@ z4#JlbAgaj%{!zaX_WwrLf#Tr(uNc^qDuLlxMevs>0CsZ$kl*GbF z1+G(O^4K6u!Bqu3#Ow54tp&jnH7PT&H#h^m!2Ng(*t3iS-_ki??>rZDc}If3o(-bf z4iHH+fvW}WqbDOEIP)O*GaaI{;0RD~D%el1hw$|c5L&nhe7zQdHsS=&qPY<6u!Ck3 z+d$oIJ2+Qw1J(D1;G(7fN!+L2<3ZEADad1*f@Qq~t`8j4Yww_Y$8F-H2QbnmfOZpU zPL5F4anFHhNwQ*aSZ>1W@?dPrb)j)zqnygEB6w+wFu$84WW~jOZ6*hee8R)f;uIHrr{6J^z;(xU}&z~ zWe)~_(>(dz9LmF)jhbl#F`BPGWd_zq=P+8ODx-%dqV7das^e>+c}fX1l+>W9l!Tsd zfY!`0VV?0r1nzwo?oQuDuw*vkQDjHEu@E|?q8R;{6GOBN?HO82#D#lJ0%gES80%dL zy^Shkuy-OVpXd-~7DIVZ3ADd#jP?fxG=H<8HQWRJFDR#{fEne2{ZT)fu-=vb?D3yXnZ{a?G^i?-ZTIWDfGAWCKJ%G6+PvNdv$p% z+Uku)eQ-R+I#Pzv_CaX6GZ-D+`=PhZK#X1Pi=G+%2wxb3`p#o9SUd&gg~V-3-GMNC z2bxxjm)~UHFF>6 z$ovPpGViJm%tUykVRUO|w6$RFGku8b(UVzz(d^mNi)nxV&75*0rY=#Oxu$BEwVR+! zZeZ>K#Gy#JPqVEQ@LXF9&T?ZR(4Dx6Gy8(3e}9NotOe$jzaa4H1!>x!q2mx~FI!DT zN3MTRHRK<3I*q7qMjpw(Go!Ct0@|;h7Op?1gznM;Ve`%x&aPtwJRKoSv)Tx&vyJdS ztRU!p6`^hgMRbr_=nG1u%gZGEhjIv`F^e#K%q`qKa|z97m57bYEzH{zh5v0;VQ=3? zm`}0*a&AN)w>{rq7 z{V}RWK0*DGR|tDaXL;flx|iQU-KLkQmY-4%W)?6HQi5ht4)EEtQ7-i-wAGKIf8|XK z9lVVeK|HYO7cj7hJ|A!!<<=k2KzE(?!h2LM`H0S%k1){pF-FG|=b|<7Gg8vfHi&Sb z;X%}_zd^6(OH|t5qQ?FnZLardPNSd6{sf~%DU-d&eKa4XGw04340m3So*l#^{=J#{ zUBX+I9HIStl)ff>sqt#`j2laN#G}wgSeWrQJy@6qZa zq2Y5j438{hNm^5Jl|%hPj5zhxEV&zwxsMZ zBRcMOM(4WDXqwQ2yyLo~bN3ijt{8{v4}>9PolbnN!RT)`6dhM+FPlhr^K=n9S}a2C zkfRv!9;3Xon`q2&4V}9v-?t{+O|)p0r0QA3Wi<#NJqFA%&Ozyvz-9l+AH91M613REQNmU^1D&8%cu5^g7@=Qy0865A_GLfX(p;)!!eXO(IVl#{-m) z`!F=)Fk0%2CZC%zXqwa&U30q-p3@MG8ycc{Q&F@P)u48m8XXx02rDOT*t-N&b$lqy zKOYO&c2T%CUKGm3=Y{RoSpmK1PF$ZVRJr^D@}Cvf<;R7*{fO{&S}(%XZ>o-vK6lp! z+TRC+q4Htj+v^iX&2iyra6#yDk}h!mJps}^5scjs*1SRCzHmvHnq3yr>BM=x_f=SC z=Rxb&+!)=N2Q4-8po@5{w(VN<80(>mawX00>0`7G@z%{~*xMalk0)Z#F@>}Yvr)c2 z1Fc(^pnm8=G`CxT`Xrh&R~kozBs;n$(HWL|8p1Uf+TJcAouLaOiUjG$8#IHTTey1ViG#U4D=H(BD``IMjOvTfAtA8o3x{@>2QP@ zHng>wioPTV8on+Ywxa*kHnbL;irQn-(YCY?8arB0-(&*qiHYd%v=$?uQqXiR1)<<-bY5M6 zwuTEx=Qjp@8^+PU?Twyyv==@PLS5D&7)+gr?yZy2T6ZuSSM|f7DG7sf+F@{bW7KAA zM!ajnM)Q|P^N{SM56gwIVGND!=?;I6BGxc2yc>QCOG;d5Cp;5@70-ow;7K}bj|+|U zq|gsLEtCm2g*_M)p6OSGf7fMU?Rrvp*7}9K#3w=De4UnRwSDsiqi#y4Ni*(w+SJifGWEra|+}!ql4x_=eT_~fKzBabUC}F^=zeb?Bi3{Q7 zGW2>^qGQK0bmph$?EHERpCnG<%|qyFc?`9u>3t|oGw><QW59)~W=k=A*Mrb;Bbuwrs9(05_7=S^=k}o7 z^C0@fepFrbqix1H)ZDm%?n9T+KK&$y@~5Kq^C8sMC2fHDG|K<^F;e3s;p?e%Hyy&@ z>;vfdyaOYopRgaG_h_LDl}%@%dEs0%8C+DSxiET+W=pFHH{aku9ZW~f`ymL8tZ2B_ z4Q-uzq4iF8${VNbPd{-9)#L=DNJMXgYUpcS4WmEl{Ya>eeoJ-Y-jqV8suX$?i=ci5 zVO)E1p=y3^bT9iYWMfP?3uFjg^*=&4JQo^E9I>quMGC?$1NP()pE zw4!>Xtv>JHd%r)vuQvTQ-{ku|&-Zh@-|x@o5i>uA%}1?wpFxa!$lG)tg3xb+VRFPn z`_jj7Ck}@5)~Cd-h9P=)5~2y@`bwAsyzw<$ZOrhMe$GB6QxGzI3q$N@s0S>CqwxmV ztm|R!c7XewAA)=8-3hXY6skKC#-{Y5BGZQxrX<=oW7rU{SL0%*aDbyzJa2r6{-sp;J^A6)Yb{` zWlV(jt+B8*Gs9cXJ>p+5B0O{e3>yZpe(fXpvirl(x;Grhdm}okCxR*6;9JZ%?PUXV zC9bVq1EDVLg)q4v^}3Gmbz&T8c@xnstWm7@3Y?SacCH2Yq?%C9<=#+} z$>&*P(!8}yx_+-gF048+%ZpM!o>*F^Ez&WO`+F<4NJG7CQkk_&Mi%UlzTkFgs=q@j z7VnhKHQQv2=Uv*ZQZ(8ooxQnlYmdV+*7=aM963(D;FuJd$7E!{aTy+yA@z?=vd;R7 z43>ms*ia;c+l!>nS`Y3t+M&!goYPi}sox`C)q&b-9!L3%jA4C!MF)7^?!)?>esFbS zj=1tG#MUi@D&;3=mN56czXZmi3ut>6L6!6eqOI4$HfR@Yc{>of&g1?LSf8KZSf{f- zDum#NA((4({^sptZx3>S6Su;WbQb)V zdcFSCPV_^hLw{n7)DR@JgZWNN7#g-9KgW8}=v%O^YYAWb)-cy^NT1b^>*Yn5)k?Tu zcoE9K*h}T-I2g?;1ZW?9*P6k*Q;BekhVXT53g@vnD0j6XFWDBFgAJivuS95e1M+<@ zvM#9^bsDczv(OBBR~&q`+ri$b9mIPd!m;l|g#OE(L)`{Jy|pjI;(kz!<{HcD25sk# zFmHX2H6dN8Y3~AEy}nR2>IY46JWP>zJ|FQ2P5K17>CF9zrW#xFmIcas^) z|( zxQ-McI4BBTWhtCDOW^;k0QO;zp!+k7K-*hTQ`Zx?edGW6sA3><(w8qX-k@fnQ40Kh z=nvZOU|*c=2t4vYJ)Ag1bq8bCrL6D$gt_D(SYObSqwNjb{&;wH(eJbGi=}lhMDMBK zSfYaek183RDqwxc^E?PN$KfyQpSEiB9+O0 z8EH>`uGL}b*_DH+Q+DP6CgmHxp&Y3_4hhW9>@?mi__J-k?k z_C1%;x>f8e5eJ7i4!R>eKDja+UYiA~22AWJ@=wF1|{8-Wax&x1jC&ALteh zrOo{mjuG()%=sABvy7ixF&}-sC!$Y#!4P?iSp9!sJJ}wFfA^@*?EvM0cc35D0gmw< zpq<ct!^vU@nq3iZ3lzoRnGkYl1 ztB1fjh`873FBr2;V2*5ocN{g{ra8ne{$MSc3-;~o@2_7C%}VAja~HzedI^FC2V%?C zBYJ%u{4R1nqv*pXkwu%Gh0tzZbHs7zRDLKF^gT0Zqq37h z-6F!zQ=$9%IIP~2Fh9?NXW(h(C1+qCbPTaTG6Ds=;WK#=u1nqUK*o_T?1OsRe(0K} z!TnMi@AEusqjSjDl4mYE4_90|jCJXQlh`Y!`vLg-vZuu>|JqU7!57)b$+QQSulK<8 z$V={@*SyWVs%RVhOI zlVK1COi*&JRCPW=^xF@(CwMQYM-1lJ7@>VY`|{lYglG1K#?=ed+Q7d26U3&CW*yCF z_9bJib!sdO?dKx8X*Tq;m%~1JIc%lBa8D=)pUdC4-})*j2XLPHu7@^t6Kw4^!MlRm z=j$A|=JfyF&p|yj7mkfrpkMn0x_1g;b0|clVQmreQ|n-_%X*9#g8B{0tQTO@(Q8I>f9bD261# zp;*t_()I8q&4(?0J}ix=Ls9S@T>Y3opC5xz&0er+dm#GSdr+-n%rfFlxVvf)%4-6x z{}p244WaAQ2%7j8U}WzBYy16ynPwM^RVG3j-@3Rm7M&~DH|ywA@)*&EvK^gT<-X}+W< zUeEk@UVpg7IH>1+32m3fuwx;NBmYG7k3SJkcC&7I6HL!{!hUooB3({FsSF@6|1m7) zN37XoAH3RNY(kxI&FVsJtAe8~p!vSGP`hgh^~$C~*&|Lwp0p9Bp>GJyW3>pcCYL5( z7FJ_pq4m`gs?jfqNTil<|P<7#HTT_HSEkrc`F>_kheCn>je)By2`$d?ia?Ia3 z0bw`@Ps@W48GERw+6~L1&0On@(c=DwX68EBgUmHR?Tc+L*!Kon^I|AJTLf?RGWeD- zC(I<)RJH=KCaV||GDmxV1+3RrK;4wOrll(ou0?%2crE6Mo~7Giai$?U_AKg3W5OuAX>d8js$rI~=574Q5SY3DgjZ&O#_+)r5IYIq$O^_Qqw< z8W_WLiBTU{hEN;kEWx|fJ)DPz@rbS942-_hP%wryynO;T9rKXN-H4U{2G{xDm>181 zYROy#mQ!mV_bsv5FJaznW*?JJ;H=5o-qT$Xx!INYS9AK-=Ilk?0NzH-CHE^}=~4&! ztO{v4Q6WY9+tR!HwhRTXNxkN(RPWA}p`n+gg7q&l9@((@~^%+zC2pOGOAqsbZ1%4RKb zw)AbeBz-k=rD9ox+TOb|>R>-PQ3v4-tq^Fy+&I#ib;+IJs5TT%6YCKA^WK(z1Knsl z9CH@HHI_E=kAHKn3(%iE58qq~<#S2AyP>dlX()V&w9)z&!a28#Q08|Ofqnyo%Rf*! zOrHz=%`w6~bGnGStU_;^OU*y)(>pB?5$AlN1NBI{dBRy4oQ^HTM${_VyHxpL+}22G%BxZ7rOwY6xTZ8X~y35P?RlL9mlgc*1^gxA)L@ zl8f!)gyEHCaJC^YHq`=aTo3r%-C^$A8lFE|Qb*Ac&UTH76O^;x8}om8RfaoWmw|)~ z@_p&jma@|7~|TP3yD0M0>nOd*NAA6*}d6INoNh0=>Ce_!{q<&MrbgS}Zv}GMcEOm+d zz75}x#E@L^h^7!97&ad2`{P*4_8shXiD}JP3ZLf}xIXu?K7TJ1)J^EBHZ^HNYZJV=&|SLF9dU!TU}hxPI(T+_4)pk9tBswkJHBK0xRz=0ATK zVKTGHyG_ zobWn(xZnF2flOjZ9Y(?$BKK9t%zXF@>Pp8l#`*%9!J`qZ{0!EB8RkY`LNBI5mo^2i z7BgWbFYFn-fcAd@qR9zRZu%AG;ID{&ybP923Gg;efH`F)48IWfd$=Bs?SI2}VIven z|ABcdZNQ-oaLw4j&)>i?UJv`~_3)^+Ak=#^=Z<|35A8ujwH=X9w;>Q+16>an^cS26 z!wJh87Yuj)fVJgTgs*Oaa@H<5>+N7py%{F=RzzC-1NF|0aJ;mETm<`sKU_=A@t^GH z^B2s${v=<&p5wlOeOTyU2fH8^tw!{>-=XlbCrHX#C?@dlzpo|U#r$c@?=a6@4Q~N8 z^_QIRmaas&&T?pU%OT9G$V;w-{rNih4*!L~u62lcc)jN<;8m`KdC4yjQ=%t^qd@n{fkSPcEFDa$$S@4CnO> zBJ0zjn@v0MFp1BP4~CA3@bqU+Lru5()orjUTyVVVLbTQr_MKc zmc=3PqYApXCeVy-3g4op&?s8KOC7i8X*)#LzKKA?&QN^G+`YUfeEWL9l|byPyf4f( zhVx!WAV_VhHiNl))@(Sd{{Z*B6|fv!MqSqiI64v!$8Ofs?SbJ`I>M$jJ{OmuYk3*r zN%x4svQBf(W7x7;`?M$uZHK3@ZUO9X0H!rc;Tymh?(EA#-$^Ny`r1Otp8MW0HH0d= zny_A}DPkRJ3LRs*$jMqFvRJ~jld)m@r^MTeV4r#)mbI(}ZA0ud^9mFfa-ch$L+xfZ zJY}b0Z_6=fovM1-epsgMgMGtBShD^hhUJ2{3&)%GP04)Cl}=1(`mazuzfOVv`-xC5odD;siNx9`BDiQQR5jRhWQ_^-LK87I;!RDMAC9ICqrLHZ zMne5`BotXD;;JSDuZ%^s!58F9h(Vp5z&@=L;h8WAV$@`KhOsB@*;z2f&w~EQ0;qZ} zfOpwqUULboM_AYJM*?i*GlT6IcV*LVeBdJgunEyG7>hVI)AwzG{=pVvaQuDLPUhi^ zukEaBJjQsfkC#|&B7Nf_L~1259w!$5eiEXq4?#IRiS-)%Tkj;eJ10TkGYR5{WEkhC zz{~zAKGjj^yCg%oJOz$Vj>A3TD6}KfnD3?%V>}AgzqJUQ>oDskow=tVDo(@w4snMG zrx9DpUIzouK~r)8_VyQH>v|E!nirtd<-j@nJp3zjVSe`_!Y}2*x9c(tI@bPH<{)x{ zSm>wcU~PMrH3;PLcT*Gj8gnHcz9@e`LM(1eCi5%S9>1T4STqg(wdt^qNQI)cA4VrN z0KpU}3lH-(d8>ZOu&(Dl*?n-0@gWyTlQWWlj zCYL?Q!^CkD$@#rZPG%#yo+RdqjcCVzrWR-$vG*T6aM7+u{<9O7v>n8=cEj0o56lO> zP-POY-|D4r-3#|WiHJMx`uEZo@pyI+_B#iNIT8~%o&r_c5#si&>sXOY zTp$JZ-A7?ROnxBU4@bpuaxuK$OYHUW{t1}FjL9`T-c5(rlL6!U4Cu=Pu9E~QLx}a+nn~n17N+qTrM@JU8kP+i@D26Du)@#YAwKx#9fqF022^bhP)qEE ze%f9HPt!&kywrw~*UIPjCASitwVOWG1MNrT0l(ToeJlB|sfkc@-2-R)T`&yiv1>a# zY1?6p=Ng>91Gc-npxU;Z-)|qeLteX|588)5SlTAje)DsG;vDIG5UG4!>j(nfQ{gT< z4rN+8$D@*)T7pEuEN69Z5Fzy*aGi4I9 z*QqhfXKi3UJcrpccYHpadu}24jJWL=w`t37LGj@&=o0hU(=4AnJpUfJ4dwNG;;^?F zJKu)k*PGDPy+NJaCEDrB2&A2d<#opUaXGN21{nvQgX!iucqdaI6y|rjNsNv4t8U_9 zT4Mi!d8x4Op{N@ovSNY(u9)?Yk0(0JBxU-Vsvva-=B}3&PCqDNu zJZ>NCoQLQoVqNPQ7c}MZ%>meE9Yj#U^?lX{?|#0Xc>tF2N$~xa1Xp$n?=KnN2PxdI zB?Z2|#L@=&5$sJ|ZE`w1{Z1fSbOP3@Q;2rYf~y+GlZWc`c{mf!Gj7deZ4Hl>cj#Mh z!`9^$`9+jzBYzx?X1#?#ZlYGL;~ZR}58t1-bAF7$*Wj>avxcs-WLo z1>?r&P@buTdy5d-09yiOROcQM)Vy94tj!TZII9Wc6Xv6uYQk0lgc2k|T4DhIsUdvl zstW__g;{zl3^rclNhLf#Rl<>50cSxe%wNY~t5ytCw`WlORYDC+35?52s25>v(1oXP zWJIZte++w@LTINwfZ_WH3}ttqVtyN(br-7r?6seg58uIC@OGzv-<=1QmTTv)E9AMj zo`P4%=Pod_vn+CkyJ=18_Gx1^4Vz2=)y?o1F>mvP{N3 znee?yPVW*i*ospypFW95UM8YW{+yNpQ~ylvpFv(>0{eo^$v~(Y|M$^JDBnGc@N^!# zsimEn!(ProXs@#_TA4##2!GbUK%c>L3u#B+z68sW5Y&?Xwf8k*as2LQ7>``0p6snV zh}5`)(6xKir`<2UCA`tpLuV0_by!=qHL0TVF<9RT*t; zC6o=G(~l6xno>cnWihO;m%zEDjCF2hh&`=>CbbHomQ@gMRYAFr*jCHuu#c>SVpt`@ z_sihPD1(W(g1u1;>U-rdJIkSX$lssEcrT^!a_uOSp767tK#4*asy*S~xvp+JfiYG9 z>q~{O^eSL({g`}ugu0Li@c(lM+97wK{NxtnGtS$OHxOEJ1J)^w!E&xs55YM+cpafY z9_J;G_-!8R^jJeqe8u!IkN6)oetoYqm%IwiJJ%4tLk-oj5ZvquVx_LrI-cv`LLU9> z4RUcexQ1>*-!2So0{g9ZxQW1wFqGYH!T8HeByj9~T*HY)%rACM;4tZsxT%l`)3o`v;aH(26mf;PK)!u8$%_BE-6$Jp2D^ zBZ{EO=D90HP|t~yizcsDn|!;7BCz8rti>F|cCi=KzRYa!#`LImRqpZ8T5*0@CS?G>RSSBqf%H`l|bFR6zX{XzPk+SYB8AW zatt4F{-%|~{jeOKdX>=huONm*3@*DImZlYmwy1z-MkSv&+PbZk@V)ySu|*ZsN|tk6 zD~Lx{kbkU%bzCLbInRC*e&tKm%<_esuL1L2T`Q%bp^QWYag6k~&3;QE{Uyi`@3Md=Xwk)7+SwTOL vT+U~woO~^96UWBQS`3f70wbpx>(gh!ZbC-%7~Xr*jCpDmA%r0; ziM?F;9|dxvBx({de%^S?uF9YP|NmOJ>6%(?}&5U4<94&?ZPYUH(-6WLVVgUnv*NKWo^ zC;4xcq;04>+4sKk$!Aw5e3BC}htwo5Z@H11&nsX1t4Qw?wMcm_6}j(KixdoXA)dRd zlM(lnDfCm2r%rC9LuUoKP{o~C7CMu;-X5gqRTomaz@3czw7bz_iG38$RJWyAt&ekL~0%(C&#IcMo#9))#?@W&K!}>P?Xa-M=I!= zUw`P#x@PL9{zdy6ztU<>#WZfZiFUAjr^kxl(|}{Y>537B^hx_t+SRw1>bsQFyxS%8 z@0n7n_Wn+9@BL1D_5Mn;LqAhx&=>kH`xD)??Fa2K@jH!e@|TX#RM2>Lo?^*rysJWr zjysa5HtwYHDHSVBm1JD5N|NSPA+eFJr09W+1YBjwxyBA8DuN+l>zzm`qa-I44&+q> zfwm6hX)66iZ7a-lr0yFX`=FT4+w_eVJpDlz2L6!7Gkj|aZC^v6+#?$ukx^AzuXo|~ z$%cmRWEoeV?mmsl%ioUVmum~sInIq(1~n!X3Re=7(T?2t;Y}{34+fd3|;~8PQ<_aV4Y4CpMPI&i5hDTg@P<{VhpzR!0WqdXu%K zLrCIgZ_SAN*PW-`eqE(KOODfszGvx!dfVyZ)4S>Vnmg#&?J3m1 z-cI`ZLNd)wjic9ftLfz86*Q!9J?-@?j!w_nPTvfPqjmE4Qp3EpbVAy0I`GO?dZr?o z%7*QyNqjox`=n6sdY5V8+H|^b^mF?3>;w8Ns+`Uw1vK*^A^KzQ=^72C3iD%X|M7?R z=y`)?)-I<3d!I_@@6qqC^o>SF*6uS?afKHtZ7o(G&Q6lO8c`*shn?t@04I^jc{vjK@`jF=O zM&#<5CZx)|-}H008f1A%K9z+!l1X3g(mF$wM0V*vdc&~>8QT6N-8(`}mYu&!Yq@kL zCGjul!EHUrlKPM7?hiVWH@J{0`|cp$r@D|KKjskgFE0|2lt7lnEhYEP`7-|<`br+{ zo4{mFctheIyD={P@<`socVtr8E3)+TC-SuEeKKR!CF0aLn*=)!BYwZP6R$rl$mk}w zNKm_tB&%iOFBg{H0kUld3ipf@)0S z)2{XvGHlCvOGuPJM&0IfMqC!me=qWpE+>VAxd-^5H6sMWBp-oHN)SS;{SekHCTrI&w$6@G zj9$N;(~jxLrsX}5WsmUZe5MVT`;SZJl%tNyLngG4>HcLD#_d~VW)-8zdNNIB)P9r4 z57WtF7hRT{FDhgqLA~XsZj(8G!y}nbUQ;f_VVF$qlFepqPT?GD*_gyrS?oTSDCTPR zUFJsI4>E-NLKaVLKxQRWCo9ed(Z9RGD|5syaf0r?=$hL|RNiSLhUhsl7a1 zeYq>#nAb@x$z3gGU-&3?|5Ba$H$PA5TLWEi*`Hilx|>9n7)VL~#mstUJ|lblkX3j2 zhs_vRUzR+1Fc+=)DvRFF$%=Bi%Y!_xairl*S#h_EZ1{#)uABKVlehCPvm*W?X`cKq zc^YS-$|v>c^hLdBQQtd)XFzo^rC%dH>1hP7O6X}*?bq4DNQgx@Yq*6d+EkF5gDS|x z%yRvK9u2>x+j7?e1gs{B8SNndlM=O}EkhtForKjWtO4iIMu!R3ibGW zS-k6N2i@gY^4N=k%E)ua6d9I6rDl3<2h9(wGU!`dq#o!jFm1_FX0Uf7Xa4+-l-mzo)46VoCG^yYMcLJU#@>VV%esPG9XnJW^R{Y`p?|-yq44T3#`>1TnHc#!w+*qr6Vw^oK-D(MI zS=Fwo5oyWFe`w3lx3T1R=56M^V=Ux6XZMeevgp#??YUVti}u!8d+xUlJBp#cmuaiwmg1i;O~{Vn6U7JZ=aSB^c8kq?SCW9v zhs3$wn@IT4baAN5S#nVRK|JvNE7{;3K&N(T!@S5nNCVd|WwO~k8eC;L^R7(^9n~<5 zk;OG2I){}^3+oJ`zyFTe^`M00xOZgr?K?9CWfR$Yy&5xdyL{P{5Ea8;|H)k1O_=XD zzccuG?2tSrJG?5>aP9%dviTc1Rd|6JwLlgxJ4J|(l*$Th1N|BkoVqG8LKv=%Sfw0)}?pL)gY_w#F++>LT>y5nI+ zIb;IoQB`DO7MQur0UV3h;Bo0pUcf3YCeV%1d6lunJ?0V3jM*&aHG5lo_SKKeG{LJC z`+L)D>O6ZIduG8bT4&Zww%<23ofGns*)8l9Zv=ZX%1(cTrD0u3Z0!}oKJPm;cK<;E zfKS~uLl}Bv9MLnP(Hn?jHGH!(+6b|ll!Q)zrEr(UdW zu#Mza=-3XcpOPZiuI$D9UnJE&N}9ibHT_xtv>zmDPct^a*M$k=2C)SWj*N4YnymTO zc2e)vU1r=(8?9BkpP4;&2DNRO%}gn4Ko{%}XFg`X7L_^+8Fgc&Sop9Kdu?beR{Jl5 z8ZM*?ZmayLCAGh>cxxS+IiJxNZj%99xTIvq+NV>sGehcr z9Y=eq(qY}~-tO!3p_>~v-bTPNgS&T#V#TPn2Sd=Ax>;uB)%BXbsmID!9uxc?DN zI~+nhBFEBHLlg43c(@dYE#F7dD>;Sq)_Nc6&M&4B5qm}P@C`9%(K%t@^Xg*m(juO? z?hw?0OZYl@5ki4x7q70hQ;0FP5^}G76=Z*}32jex6JyRa7Q-5C5Ie7$A*#>b6py?; zDn1D4MqkFakj9HVJ^#&3a-!Z&l5)n2894Vf`Lb;$<8z}4gZYn%Tf>z0EM_8#PcU1< z^O>2`PBOuJ_b|ibW0`|HdNM~IS7k1Ez9)z;4$58x`>giuM^ceJavjP3YXny;0kip0PH*To+}-RX`| zbLl1RO?qZV9kR|gg3#@$628HH7^D9{kvCPHr_%hRe&RpQovHDyNpP((m>%iNiT|_IWnp+VyCi-x- zs~sc$+t$mnCSGL1DzOdlS=c`}6``~?=W{30A)~B07Zr5gAu2}Ag#?^)nCEF>ebTo& z;C$(SHFH2*%?+8RFhq}Il~Mlkhyx>;l-MbpU-kDi?&K&YcE=#mZ%Q0>E~q2z!|X>> z`FX881l`6ee4V{oKJm&`d#=+Adsy^DJMzDOhO<5F3V`*HS&gT#C5adJNU04-c;r}~d~#FKvp(8#NT zV1E9e7-N|%3_n+2Op2BXnbp?|L3w-mjL$AYSepiXShqM{v+J@wP5;9l`77Oy@kHgl zkbbW7rZu1SP0Iu4q?1BEdgnO7Cv~n6*||W7t=zlFx7g2#vpb3W+^fQi$1_ClVI@Mu zz^~%%(p4hz3(oVQarMYzpX>DJ!5D)4jD2-;T7AMbs!7u0|Ip5=YZBj3ZOkgF%?T$X z>lo6V}6R0pr~FIKwS@L=dlWp7ZE!vg>&d3BR6q zD5coHm{Z`?vo9CYO<#g3@Jr7RZ^hsm)#*F`iz4F6yIt4Czj6(YezZ!AyM14rd8n!A zvwEr+$rlUJH3o`7t=G?`PeW5>bNEr4ZlBUkc6n1ytOTQ0t6p^1#U2Z0BKYWWm zO06p5_d%OK37XFnsI1Lt!EbqI8rbiQfPImW;3lp*dV_wf`$UcFM2!9GMj0UpZS@P|RZE1La~C|DTyM_4fcS=#WYdd>M5iR37=Rx-2c#CR6UsI* z0uKa4ZxxXb#ZPBM_Z){FT4qHcB)d9U%@jpI!=NXb6wIV@`1pf>%U|`u=-_NO7K2x8UdCc`hRAn9y$HMdT~w zi>T77WZ!e7dnnSSdeJb^d>oZn}x9|8VqJfxiz zyG{ph0K6oZI$6m0CL2gWq`Q=#@l05Eoc}*<7Lm=`^+Y|P6#*V!*>y5GvShkcfBHOL z$IP8&BGW5#_VBK)n5oB7q*rxnOQvPjbTX&rf20!L6V!!RXTw*4Vt=4c#k>#oSW0#G zZizi(pNl%b2BOcZk3!bz@dDN_s=*mPe|%#;eQI}JKRtj~rt5jx=xu!dhiXDv%njbs ztEW(UO)dDY+bba6rYt=z=-Td*UXkw$-+U6{r<4n}DicN2bV6Jk+GM0C&hNF8R%zRm zI{KZKVhr#}k428ev(<75FU557V>acVXKu%AWzI&vVi4ap?Y_fwc8XyzPH&$<4DzD) zTb{6^x-#r-HG_F57Q-UcSHdkbb>dxkY;^k4=yxWXhoab=oo zwla6V{3Mgu2@LSzpQ2L|ezaC((>M(p4%)m`4}MlcZ_MdnNC0w$!Bok88?6Lz2J|7JY{{z5ya zJA-`kvZ0B9zd$`U$uNPSPQ^aKy6}%z(byNa#gM*RXrJ2-bkW>u1mi&->)*ebG#>Wu z8>ucWsIC{Wf5gB`V&_NKB)$XZ>-bDx+9!82b#QZ~$b&1b??vG3dEZ8gXByt4Asy;T zpMUAgYH@8sF+G@?FV*|Ntr+Ky3_a~IJC!Ltv!436EMhkG9Y#@OuAk6?u9@+P_}xpO z#Vz|Vz)6UsOIC^mI0)m)?fD;D{epocOpImS%T5#2VRN#M6YK|^2h2~cYn)VPkz`-S zFT0$1T5yu&x9-Iho2E(U7W0jH^7Fn&*6$t1>~n7*;o}niB4cRj!v6X2iE(~&TiP?o z%PlW2Bd8n8+_zC+Lc^dZBIXhKQNH^nMSSd-c#;&p|0{w|xLdO^#Xdu>0v>N2H;N{8 znMy)_Pn7B{;A_N>%?Gwh^%nSu0_}M=nXAS|XFO&zPdTw!)-f#3M|RLBM%H~Yqdd`{ z(Pp%g_AT<4YW_YZ&UGS#`nF-^nb|t|Kc>r6UfM6HcYX#BA{Z}t4D2V=JynyA64bX< z+wCV}i+&8^753MglMg8Pk6q6$(&(%Ik}Xqb(ssHw1aTDk7xm+^8_6`Q?@56bk_Rw(t4&p3zXvOgg5?Vx8DuA zrr{RSU`7=w4kA7vp8ff?NWx2)U%Wqega@tq-b&Ui=s=Qpwq{qZ?;+Kftrp}kz{5|g zJ(YNc3Cpz7ycC7^mv9(x8t`tjxAmp*APyeS?84xAoD=6U<#~rF&PTIuJ~Y0^ZVDb{ z$fVt3TerSa{Qx{4zPq2Oy|q~wr700*p}7LMxYDd)qJQtv1iTsMDRlm7DNlg=DVY{V zvAfzwduJv+qE#p~`$&yV^CzXxtW{i&`0Pz3Iq zeQiGN@NK);<>_NOCpTA23k)JpI~}3GsmPPakBA2k@}?5Spw$$(3-#m+-D4@Y0)HLc zzny5Sc4X>Xo)YX|>_^0FTc7$8|D5GDnE{_LN4}bAJGz8HE&H^?4=L}Ves!UZ-xLERGW@5*4m=;t^fQK2Yn@YhK&RM!Z z1TPQV*6?|O=s)zgfH;79IIfOW%KsnFxk+PMcDM!uZp2jFPO3xB8q*2zJ?`mNh@qbrstL|hx3VHS(bj{0omidXT$)=>p{a9& zY1aEo6ukHD?f0ZtugdWOe}I=qoq@QVl^7;Qs4U`;+CkEMdOW=-@hF%ld@u5Q^ZgnM z91Fe;{C#|%w*q+nwEw;cc;2|U2LgEdT(wz1T?Aa-?Z0oL$J)ta>8uUn!OFG4cyj#g zqF9n3fJ@RA9mrRMz0iFWi_2hAX zg4~LFDu8Xq0$)6c|I8x4=6*QNt{>vU{E2gufsc&87c z4g`G4;33oLs_-bO{>3?tzLQ1Ya5mbZG)e^jh4|RCwi}J8aZ}<2ys1HY1s}6scSsC8 zR3gOF}U?z)r#o=5%UtehlqW6Cef?cni3hBXyZQnrg5vLi{};dOLV$Bqo<_2SAK zqCQz?(W-cx3(enSSXvro;% z%&;AvQq7?2dBKkSj9eBO{gcc2+mh4P|0T;%?33jO9+F4(uBTL2T(1(97^O5F-J=A5 zi+mQ8HOH!2EH5YRm;6zu-YHQ<>;J0muPvMWei}6o@|Ecx1Un>q?T{tUyeU&I{2%~d z`D}@{M~zOjt84$X#121Sp?X$qM}4O|7r`dZ`^zPk$~fR5Kig*}!RpPS9x%^r&pB6e zUdR*5<_h_P*jvQCq>zDr<=?4=5I^R&P3_UpreQYQEDe@hl1JaQq0a1;T#aHsfw$Ie zJ0Lu`vVwEIQcXOy>tCjL_;X(O?U6v@sMYXuu05>L6ie){j(qZ_w>IGD?5RgZ%knhY zw2a9lxqdgfwnritmH%00cAO&zZiAkRd;lKr%kZ-z>hID`NkZZ2-F%3Ck%0Y=a|~Xv zvwv+dW55TyV&*0>w)ek0@*whVVY6y%pKAf6F)t@kA?NI2V>a4@Mpn0Ir~I^r{kdq9 zjj1gZyjvpJG8U7ZIp0O-4am7^rZ@=)M?5^p79>yO>Rd9g38$X2;60&XVt=8IK|E{J zx|WompkHVTon=k_>q5YBKz|4<%_q=1z^?#LgEu&^*G1w@O{1TRhL4vRRaQ>mwl{kjbI!k5J_dypLnORIwKccS3IfVX&xQaSF_3AzvTA5>#>R#ZJ zn>g}@gAMG-EuY&W7fiCpYCc+hf==0eTt?WzD`I~PdfQ&Y1w#%EXYy-TXA{rLS@3wr z=|-l>KamXZGw=fVh|Eg9yKagLh)bev-q$CB zX7mF)@@3$eI3Dqz>{`iVJQ;=C?fR4~KJmc=Tbg5Edzzx7Ewaydn{H|~o7Z;1uJ&nZ z2j0WKLw)13{v;1hBz4|$zTty)w9bzC0`k;DaUg|$3w;Q247wNc0nP>XCG;@V6PEaT zEcD&tDmD&!QS|StGUHEy^B)iJy0TvVN@hI$LvE-S=n(ZSOp*9yrW`sk-@moQ!=pY#zCr!#UoebE9y0XnB!u@# z6;byC?}4`fK8gsM&GF7!HgNb(mK!+EN>2Z+(6#$z zQNHSK%_z>dXWr{5ynC4;)m3$xzNEl|zzb<%3uw^AJAA~I)qL2wo;;a$#ui%`&ins+ z$p-yIed>ihY?g|TSan25>|9;QdA^teAI|C?K~Tqme+R~gz65?=6}R3N)L@T2cf&GU zQMivSW9A%t&4a#&iv2q5rDx-%7AdKT(a)Cu6_Vn=S}pf4Nm1k0dbWwn^V zC9TOOA+`RnpS<)W-=jZ=yzD=*4GUf8l3mGQf2LpG$8_srVd9Igv&QS0Y)~tKiz{5l zhU^TIfj7apg1m<@fxou1VMo^y_l*V2psk-MbTi;kJZGm$pTs@)QAC>4O1<=ZmjbcY zzqcuHJ#Jqe$Sm7`0&hqb zQ76G?u(`O9fENNk2)#sS{lTes?Bx6d+$AdM8P` ziSM6-Oj~7)MBP`|b`pa)1^pU0d#v)DbpFAgBA>xm0sR^C4L=O>8Ftg+33yR6l+di*s8vax?3AGhX7qQmgG^p<|f4G~nQ~ zKpr&9UUNlkYdJ8Ts*{H-U)7m4nA$Snjp1hkKMY+Ibtmw2(d5Qtj(ZUkBoAie-u}mh z-<`!}Crss_E5nzCaf82w4+{RN@J6TjZY6aY?`DU2_#2?_uG80|!2hV(ZXpgUu~q&J%*#Tj2C!$sEdVH3Oi z$s>h&T;ly?IeZno&n7Obi6GuM=1NrU<@T_<1BA%TXse~#H(Tt-3TsempiQ}_r9Jod zSzg(*w{R(KhX}tJ_|bPgoJEWqxCD76`~6!XF0(OtboHeuD=rn`%L1-}PBvwDbBc2b zo&n=W{MGDM(SbXgNIF^So!^q~a&h5TiSJQPh-JW+1*v-z)FY^$EhqQ#-W@)RrW2Ee zl8B8`{S7_@am9b&DT=rp*C&;5XCKYfF9@=;YwBrWbwSF%O!1Q?2R~)(VZM zx!lnHTSZY&U8^$2n>Wt*$;0ndH~u{Zzh3`@h0eLumPxFv{i6ohr0Y&`s`N=N5`Z_c4}p^~&)7HkJnW~W$SOiY+oybP+Z{ag?fm*p>;;WF@X)h? zr-K`x;KSWw1^C^7&ozH7Jn;I13GM>wb^N;rkIH!X;3Agqkn%Hhw%f70{@q-{ zw|lcbQ9LKsQ@L@ckQpZzk_WUCiWime$?ONdxad;od$HuLA!b_>pAQP#N+%(Vdm>NARSD1iXx|@jV~- zqOnl)a~;pFix8pDWoVaj>P3GQUa~6=y8Qjh#JPKwK`Ffz<|XsxsH0HFn2+zZ>9v1t zIMdSu*77^69;5IxmCxNnq4Pm60&ejhH<$HaS%ZV`5&79vJj?<4k#y`M`8@oeERq5D z=$(eMs22;LjA6ioK_>&Bo~i7|r4|h4z`r6d@YS3oKOcBV=z}S;DFS?(`Q4m(_$9&? zys=@whaAqfpE_z6;b#FZI{Mv_#xEPr0-vcp*T{_K*A9`L-^h(aMpr>zfqye@og07l zT~86X66+2>i?jAUYx+TCK^JN(vL0NOgJS@`ne5v~;yuBy^KWYk;EO^>j^ba;{8x%E znq{Bu;Ga#QpRLG4rYVs;_)*kdhy#YsQLJy*GRAA|I!SleulOJf++$|R&^Z$RYd7Jd zzY;8Y6X3_ieuB>censSQ_#ewX4-xnP;WsMG z_aWdx!E=IpXzm~rHG{5-@VP)AL;QeGlC3k4f!-D0CWZlKgC7olL1<>+3!W@FOu+NQ zHvnA#I>5)kZw&m*L9bW_{K&!3UL-8ICOg&qj>PK5{11=k5Dq?D;9dAfr<4pQ*@isP zea{>z?!Y%?NZKGkms4CciO9R)o%Yo%rkHo+5%4zfnF80S=jDm9zNMl*e!Y-%6% zYYsRGbv(`?{JW;VB1L@&oEV8$NbAULA=S5wqJ%5`; zy^VMS{{wJbOw2lA>-$s@{0MNCZsB}Z7qwQd9rI3>zy7R)aZ;d6Q?^_VUj_JabHD92 zjLTgAjQzoPHGy6O9!M45Ql{;3whDa8rk-7$G;uLgwD4&eV;Enr;Gr_x6c z!by?8~Dww^q! z0jr2^)q&Fmc9SIxxW}U2MIB{&P$7#Qaz|!xIpq-4w5?n-z+IV~G*71cF-)PJ{-3PK z*DP1hUB(5?iIYRm$Q{~5hIpl)Q_jIxm^ERd!YB`rsSn;!pk6e6eJE2uyeu;fZYB$R zyIAHw(N(6ocS>GVd#Oy{V6X!GS=hR>3a|XR3iBaPWk&a=O0qQCA^Ooug(dHnX*JuPVLX$=&+Opsy6n7)DhlUnzd% z-)PCB?lBIjA;9kpe+HQ%mmwaeMQ)SpPVM5tMt_hYUgTBQ2LAbhT(rFb7u))j4D|*% zQYg!8d{nC2Oqb)h?58PQ>BerXcY`>|ca=YX2q)v-N_DZ?ep&{fdfwXS9Q+HN4b7N4 zEalAFd^NKC1bzfVUjkozmH|N1S zqfYhO)K&m5?omI9qMkag7)juNLOjXM?JV)FiG3Q`a?c*Mo6Fp-$$NiT&DwvhL5ZEL z=z}qA@|5_q=rD^tjn5Eb-)<4+wDlIj1H%8hzJ-Grq+P*-KLfrrc%2lG_knMsZvC(s zTDsbN4Err!W5!$kYem}NbArDD^%u^;$m(ST{0@AC@Zn*eRL;8u_}wBNS%ma0y(xIn zeJiesXL~#okyF6;rrcg6VE<*$o+Fgz&gDJ(MT>qtm+^*-SE6OYKYV&erI=6Z@_zO% z0-g{4N#HH>+BlnPZVjt>S_i8>tFS_!dfuXu->^o#Ibee?7yAh{Hgs3${_&NVd-~c} zeEjaicJNCcBV2jZH?8h^h`R>c#W43S_Q|r~n z+mQDygY#`Mt3rAB!&)^OBKZQKKZ4f@=rL0$cH1U^_e={KX(h(E3hixWh2i773h--* zIqPh?q0I$&Lg8OST-9XVWKqWz{c6Y6X?0KpuUs_y1aE9S+@|$1SvA$dDtty3Scv(f zHMY95?PHS;BKXpo>d_2*rpaSMIQX_xw@?9OcEs1@ z#ZRqKhWobsyk|E5Do<_v);m1L2Yd-$3H1QH>%gzJafxF1pb8n350VaD&#wOZ|<-`r`TFuSFb1p8#|!Z%dho@nzg7<=1GMicveh+Mz!i*8XD$ zUjcu%xm5}u=}>0gnNH zf=`3~sEHY4&q@dqLeBQI>9SqyY4Z-+l6R=>YO4>A`VDc-5Yg5ST^RTdem3v{&{V-2 z$97)N=UWF0eBb$ern0Gk_roVV^}mKvez4TA+Rf8XNqPf(pFta*@u(4@1Hp^7awI>naN>4hyj z!c73aOK3j70fOS-Ru z>gHXNd6hS1p?k(3b&!FV3>&I&DEhEhow(@Wp}aFdFst(Cdx@^u}oy+Dh|_dIj1> z^NwQ(bXN39z{ibx5G0|>h87fJnBO1Tm6RK zcIftAyEOKw+gdR!xRwolipF72ZOAu#trrx2UUT?#NzaL@e$XN4O}d1Ev7hosC$K)b zS6T3M7Wq&C=R+OfS+3r_rrglkw>&>}gw3lLXNP|Cpdta6i+iyXc`el3>3IF~}dwl+HlY;-P8P&ElvD2rDkjW>?)I+M; zG|#xQjFzjcMwc!YFB)b~+c!~)|9(+}q<$Xozo|Ypv483$0{@lo`o}E%%*d_CEAT0S z$BWPIV~bm|NQ~{aTR{IA_=v0;RTa6ym_BtiVC*8f|q$s1`lv}|kEuYL4O`}gQylWga&sH6TB>OA%DtUlpZeYIib z$S0vk`~>vj6u&O#Bew+DRcm`&Vr}L!UC%ea&8dpt+A5n$45<%)>t`1I(OrF0p_|yG z3_PNSnNg~~n{L;HzAyJM4dM}(!Fw%p`5}4P(O(kO@R7x|ynbnjXW{Qy_sb=^c4l+b zp-;axKf9Ib5;85OMk8&S_do4H18dlHA4)4?Pwy);-5OkK-hJqg@zJw#b)Tkxp`)3z zhL?LQ5_rRunjW^UQ}S+GH&*_WVCu!s%bI!uimLziLSo>hoQp$HFhxh zuG=#Hn>ppCS$+QO@5Etu%MI}d%1yh={u=#y{w158e(I_^mXPSb#oGCNNr+}`smZNM znP&E3YrNdgV*GZj+$e7UYnt2sr~2B=AL^fVzp8(K{h=!#R+{!ssKh#T95P-skSX-D zm{^9f>U;ZtGnAAR8fvdBP%p^+V4BeJhe~+zr{ZBgK|Nc@T;LLieU||rpszBEJ!_4d zst|y8btfasGbZ%3s9%-*GVC}0iXBkDSl=h(yZXn4V#5}%V$wJ8mr+^A95wI#AKjZV zCEA-U{%U*Q{;r;T`TPI;Gl&n|_l*%O6A8px>HK zU(Hwt-MCJF%(w5B=`P$aHOnrRg`EDkJmdPPve;uY%k{lu%Jlb6mYSY!DaZRXCsWH! z$2*u+b8eKGrhES}jagP^V&+yvZCY6dyk;I-UY;*>x0v!3HsoiEb3Hz1z;xb!jgQ1D zA|IJ5+$8?qINYZk@mbebTW*|}Wl!AiWQk`N*^H+yS#+ezB<8+0Kr0RMh@C11dELAQ;5IM}M4 zHiVCT5@*RQt<9?x@5?aXrqZ@$<}Q@i_I0R$UkvAbUPVXxR`Mcr0CayL`L321&faDwiJGOcL9ARtetUh&A3WSE~1aXZ1Z( zs#ugRT!v3KC-`Ixq3$mJ*0VA*FSroxE`=sN(*=F;AuFr6`mFt}Fn%a;js4`~K+4;? zMGab^z^l6FV|m7*+iw291}XISB2-yh-z&6TJyls}isZ4E-nm(N-<50o)li||UjMnX zN}qVlLEq)CN@a9Wsy}abH#~c!)a_+FV$G3NVzn2lnf_f=MdwrEZeBK|if(BCYMM=q zqc*dqhtd7Iqn=*!&%o~p&HtFCR4XUNF*uB6|c8l>f7S5wWC zH8PePTy^^vRo87SbTL`RdxW@qx|mKktgat6&qdp6qNko*b2YSk>ZyJD&`r0aLv_=e zt8Rt?Q#@3^_qvhq2_CWEKDrv(Zu1~9)P-yhuCA}W-BthGt-5Aiw3|*bz(YIzu$%rI z=MnPjm8)s9r-$*(99MN;m4|Mq+)aDuvpasTRvvRVTkg5)zc#Oi@#x=7a93M7SKU$f zs+v3NUG%@ZsK}R5E`|yBREZ;IyBG#_tg8Aq+(paRtV+(Fa3R-4m8#EBS52FNZkiZ> z7h*HJl4%Lfrm1~YiNAwf)M3SL8ha-feb1|I>W?}X?R1UGxcjk-e*PF$i0da8)6Dy- z4A~zSZPYoH+T*ng(Uq%6`Vv>eu9B*1$AxYN$EEIx{oc5dxV7$vW6mm*@gH}6E4fNL z(8FDGvD8iX;%`-Q&`U*j)^gV`8llo&80W70v`D4?Ho#rC+goJ{Ztkv{lj264&Q}fT z?CTcmQKxFgJ$E;ZFR|u0H*M!C|NDK@)2fhbV_bEc`$^A7CSP~c^ht0Dq2t^V=k#?k z_3!Lv?EKO><7}R*Sux(3^wPMR8u>Y!ix;{i-l9$#eX+A)!GBK1CEuJi^1V(b>gbZ; z9`8hEc(|yGZ#rfCt>O}Lwyv|W{RLiT9759G>lU@WejQPnAm=Uqbk(dQFC>vV{GkPRZKB;95umg6>ZfHRkYg9%0!=klxgk5 z9detjbx35dC`?z!JLI~@D9jBvI_SlY3VrVp4u~7z1@k9o%hgJ=A}cdiuIrGdP<2j_ zCoka~{Eu#zN1tBg030s8wreLZ>N?RO*RQTzGq|@y?295<)V)Ct+RnFRnv|UmX_K7f zQA_SQ7z1?j+}W=jwET0K;pl3Iz*}cH%WQWC^99NV$;uU>1uPe`szRX~u!YMX)xm-M z*vF}V)^sp^j%1T}J1f#Ey-tz8;^nSWZ!)HnC35sRS`uq3(1($c?56nsO3(OTdnN}D zqIDf9hre3ghm|jGP)@um@AH5k1^NnnftuIHUxBca@MXgWtrIvP1^IJ$`ODsT&hL=ZXyce`4w^8F*~yHVq$DCD3Ew z!-uX3zfQphCHHvT2nw$rbU^t3X2!aTit-c&x&V9{=!5n@pk|>zLx+cMQEb2D9PmY& z^CK?czKj7kjlLN81i<@(53RStg9$jhjkC1+K(eka<8Ti{;=6&|_j;qHSKNyMe&kk5 z4apg^jzu3Ue2KWH1U^OheINDt!obG@Ki*mYSPH)%`hehL@wmEyqAwDCsnBOgNvyDt5yGQC11n+FVQc*eSHyh_+k+lTKDmWr0U`ekA=t<7iyBFN z5%7%#Endl7ebSe}SAo8xw!7Xk@E>M4JYm4=F37Vm@QK0ygT4+@d2b4Qm?`~wv#2|> zqUx}y&;HL31r2GJI*FuIa#-Mp;opGI)7Zb9mGrFz8`$TSy}~|6Ka6~Un&06tntcdop@1$_>F z=UQ;+SE!S>h685;KMMMP^|$wM@VzDReL3*Jc{AKN^dlw?bK&6EP<^e*jjQfO@%(u8 zaBRoH=ZyG-dvzk0XR+{k!f%5*Ebu`L3m#P$8qVS#9{4hAUHBxTKM;Q1HO9G2O0`fC z{WzZBpeucV&=2E+hcMoHt(baoG=uvD(Ek7)82!Cjy%l2FbR$U;PYUS60uK& z7Mh-JUyOkJZFryQ0(vo`E({ZJp2O-d5uhW&Plo$6(8sx8Zyv$D2iS+^?rtJJ7vG=q z%Ygweh|dG>i*tkT1D_FC$wfeS^qYA{0Pkil%@)8c4Lg)p0%&UUJ%!fhd&y=PJD012BRJILj2YVcJNQ?b?xo= z_i3v(+EXgEp2T{0?07$P3hCa0HRJ8UufzD=A+JBv6Ghj`S^ti_6HAU@IIO-JL>Cr*B+9-1fChs4L%X|7Jdeg=U-yC z!S`xxc-7`t(So;}HQAs`k)?ii^QV41ctMQcf8$>pUX#z1+agDdk$m!)@BG3?Huyon zv*LL*OJ~@OD{AwRzTUR{bNB3#RR>mj^Qk@L&KMidH{{LSL>u_h$nu4@c~Kqs+=}rw zQ>BJv?3!eQkHc&1D_fo8hot8rAA@=L6k>+yczvFm9X>PgHVOOA@u(A_Tj}b0+B27b z=1r#>+M%mOP7IRfBQ{uL_ivge{T==xLz7;1bEQ`VeF6S+YdMF4oz7Mm7*4 zk1e)C*ALpe$PT|)(3?m*?(-n;0_@lm%1VwuYC0!ip1qDl3FfP5(yMayLOXo!_&s!V z^X(sYaLVB4p=ZGN;n!%skaUaTQ`(M^?yZQe^tD(XwUYEgubTCxd$=q!nn-;E&0Xnpc^1Qc(0twhps*(l%A;0=lM<&pnoPOuNL5&hA#;BufW#^eqJ@= zhhW$AnkPKX@B@M8gwF`PGR|}O z)@HoS{VpGHtOt+vi|lcfhp#JP+iM=*gMM_}ivxWEpAYX)`ad0nd4pRDnExccvDEJq z=FnAuJ{Z>9SAY*H&%;N+Ju_Z&!v(A-d|p^L=;?*FVqSf5ll1Rm$Nwk5_kw#Qv;hMJ z=vG+goG!P8@R>yNr=Xt!_fI6Qde28*6{PrtJ~2(&5#FDM+PM^iOzxcj3c=W^eNyN)xRt3xbG{fY_c7`QSg9i1@o9l({)>a@el)_ z82m=LFO0SsV{y(M7EBT?cEB`)Ri5`b4X$(huXmf0tFonpxGMZPxT|WtE-ERW3jCsW zxMl@U7d^4u3Y?>ExZN7Pxf|y*JkSa}qzf5fg%4cm{r}p#^0%7y=>6`qPf3GPsWguo zB&pCPWJ(BKLI{~N&t%F>=8QK}H(Z3cnIl7nDDy0H=n{>Z&$zyOo#**}|A+7M_<{4B z)7ks%z4m8V!~4E#n<99Ai0+kf4$PmbUSK9>&&yX7e%vo+cJWrG$~TD7Lat)Y6c3T} zt&x|cn$hFFilTq7$kN8NR4_KJXzTZS#<`~^=qZ@rmt5FF(XGX5S%LYtdU=zTGUtsI z^^C{LE(p|JXEKQj#=S=#cwEmo{rYan^~|ewuI*jVeva9PS@q1z&9(em&(D={nr!c7 z6TB5ZTlWabyWiE{6eEPtLl5fNU*O+i{4&3?U&Eg>KR2V*g?i?lWh^#OFjtxF#r1@Y zFa8SF%`&KNqI=Kv=6kb8>)w0KjR0Ri*J#;J%q!*R!MX}@wg(i<2MsSOQ!sCY^Y&af z@Oo;lte3RFIN#2iXlB&B`W-@tWV#vNq1 zIjdM-&CIr?iuG=|9%LM2q%C@MNX7N5=v(JitdkQwO3KkzAJZgI}X>`yb_lk1bdamHH4&%R$GX);OtKl{2RI-McDZ$7VO z&LEwRO`Gj;I{X&nN>~qb+q2HP8aW@&yju1j8P~x$mqw4)=<3e@tG~cJzN5V@Xr-hV z#QFxzOJ>~5qo~C?ycqM{n8(X&F~^zztAoHiQ}$nZO!7L;ycHe)cA~3JH-ls9FA2q3 z#+@;)lE1IhfcbnO-~H7*@8UbSs`+|w zE?UhvI>v*regprV<7&ojG4GAz8=fCJ+_JewGi?1tJF^+(*N5`KCtyM98h5b=}vcEd{=B)^lNhp7osA|7BfWzCPBk zV_XC48zprv(7mdYI;j~~?tXZsnsrA~{~WJoUIWL0oZnLa>Y--5AnRdqo=JXXulkW{ zyTElR#yw`MN2r-+CQ zIDX~NnSaGPWQ^Nqo)zmk#qMt=Zo!1JDsb-a!C`1;z=|1Ne zhIMurugy4coRl~mQoTO3C{2@}^IhQhnsFtJGh=*fOrPl*&g(J%JvY6PY|3XVE$gH5 zzQg%S-v9V|SYLtjmCT#r^JLfu=<=S7mt%a&qq{y@z8?0=SwD^S7Z@+dya~o-cu86V zj8EWs$oI>-lZ@YI9aP4SJp0*Imk(t=PE1j}jPs(IlD5vmq#ateFYB5xK9qGRIKRdE zMaJD-1?CgT8qXFOAHp~_#?^6NkiXBb?AJ3MB4O?|E%Sky2hIF(#!K^gnSa9gr}77} zI$c-hi!r{Cb(R>1IjwyZ@pET?gn7iQ8^Amr<`wdN=dVAj(+A?Xfcav~n_}PT?}gPm zJstLQ_&zxg!}?*2|KxGW*mRyBtb@V&uB=1I`84KX73_aXj2mV=DC+^UZdFKNKJos@ z>n7ul!6dW+laDu;*c&`AS6-aNv_ZTo>k8kXiL|g|Yj_2=q^kOs7(O9@K9-Ea z^o)trQIU-FwVNnA#RoE}8OEHh(OB@xkMv9m@Y#PJ)t;}Tw{s_GD<2=AfCH_yM~|f= zwceRJ=bXpF^-r}sVtiq9#!73y#0+Y8L5t^|F#4Z1TFdDnLa^c4@YgNls~&NZkwhgunjW84K#z_)KkG9Rq8%H8{waxT6KiSOr!;M(%AfQ z4%yR3X$pL_5KW=E#0)27`*(XLJEGqDRWcGCoP zY_l2IvG7mzyOoELxpkiU!TRe^4_u;dACQhYV`i#TYX8B;)h=^(eZ<-jV>;dR{c-q=%)HYtj9ZL zz_v+(*`;2pdHNEDeeDL7dE!;U`R|F6Za|u(t?j0I((;Mm|I$U}yXmFi_2Zi|ru#_2 zY-|VRsc%Yzch^W*MQb5#ho92fZ?#bGutd4h_l}UAby=CF-6EvMZ&QAW?j<;vcUHE! z?JF#+e4{9AU@h28ovwIR>Mty7oviq1G+Kx>vQ%0f8YL_{&{{bKz5*71P$+g)A^e{N zMb~@(Av%7o!emP!qQjFE?>2rww&_a6jaCwLGykT-Ynh#p*sWaA_uX6Ayxguxx<3l3 zR#cxEF$vk0n)=PiKw{lYMYm_W;dOJNB06~wp3pFb^37p{pG;8r_nwL1adQ;oPb@^f z(_qD&i~A678mEZWTaMuW<|wqjgONLHs6tum2Iph#6y{1-EPFmuQFLYqmg%P}%m?;C zwM*~UY(F(nxpKXmi&){OOzI}WXd1ZQF(9T z3ktrGt}L{9L(7!^DGe{AQgT&+ve}kgvgsPC%F$XQW5^X%(j6(@aX+gvOlXWJePdOR zjjAbs;1bp03ngUs`kpFt{Y@(RaYwbfaJ$qaMhvTqCpe zHR|^^2dS`APj&sre`(Imjq1YOqtwmemilVpQ5t*iy}B$alZaDaY;9e%L;arg`UUSMO~>oA3Us9cS%J?!h~> ze}?OU7vCKqw@1OWYT^+poQspl)lf(c>56Y4n?K6y0h)6?bWiQsV@g{-qgiHTS1(lFt`*t}6{y71M;ID9TlY z;zVu~DSIx(%YP@+xT!bMKfDKhns*5=ANtT*)kQSw?N7T0K8F6GHe}ye(uvp_LE5(( zWGP3`x63_*S^K9`rqg6$&A5>yPZ=s$=MN^IN3#U4zh~2_SN{sL=8Yk(%P}FzVJaOt z_C}~&w2KUCf@F*R|E34uyU3oOJ4cx#y2^HUNvC|j*0L+}E>fyEM3(#OHRZlakz)q}*?_1o#ijlrV5-ZmO*u~aO{Uq>^}ZV_!$_t1OK-J&+~JdHheMJ$ltkg$#K z#8+Y2l%9G|T)W{JWyjqTw|`PmhU|w(@iN$KYa;)+Rzva5A@c0+=19F7F5eg~B0j}W zo)q?!mQA*m4`2O+vhzLUOOBLNzC~Mk>%PATQ@hC5-~2$yqld^NzL!y&^*ni1U{fT& zo+pp#BqBM!zkKuVa}>PNUmm?e8uv>BNKF8)X zCEpk$FPeOgVoy$$cdWWh1!Jbk?c1Fpubde9!$B9wU|=`-?CCct(WbTBFY79$)%2Bb zdVGW8>KDpq8a<@?+l%E(ZQVz96qm9f|1l9QpXZCP+G# zC|`7;lHy$F$}@L*A@jsxx!LA6NIP{+Zr#Znxr;O9^Io+_TuPoi^*|@s9L$mLtu#T# z<`r_Ii?vh`7bDMYVJ%S;7sx9nv`1>zarx>qZD2!b^46y{l#voAuUYbwl4kaj=h-L- z-6Z?A`i~NawvumMDYOp(j0eGqrUTOQkqsD9&XF>IR` z(vGOalvQ038uN#|%^VK|pZ1iWiZ?{+9AkO^AC|z5)^e?bHL`00<(8L3#O$mR(-sRz zDlZrRYHg3;YhLocGg>04rnUU-H4nsIvXal!1R(yAi@fq;N5pk@k+;ihih>W{MbD&$ z$c}v`uF5t-e8vN@t*ajFz3z!Ms~W=c(^qlHBMrs&$P?fFSxwb@wuy)D*HF}tb>h$_ zHB@MyEC#LDmwJ316CW+HLR@{C=)BbnAz3HIkyYL>4oepu_L*VE!*yb(uFX+#FiD)g zDGU*Lhs3NzPXv!xA`Y~%#EyhGaq(jDZxSJHHfw;GCbPv6c8!pfK10m- zLymfffuc#ef_9wiA%;%-PBEi;i@AOEF{9CNvE*x0JUA68rUYrITWpZ%QBzJY9NfhI zmZhIeFx zR_9CO?zrsms85ubzh5?H{0F+-ev@pH)E~+|eX%UDT^>Ejn*xweM-KX zHL~8z@~GS5Bw5g^>ttNBT()5N19E;lNfv$YA!Wu7lYM!3nhMcRHg8udl`QNg8)2SK zI~qsG^b>AK>(F@F+HH5KesjF6UxQne>^E5!b?Yt_Q{Uf7C+9WIWGzX*WK?a zHm_6&`zUbx%o!`=+Yj=d_ zq2K6s`pwRJSVv5~`(acoTbc+j>im&jw5MzrO(YU2So~XeDkR)`w5m1sE1&h)AE==$vbcBZnl- z;AwWKm=}-tBkb@#ARe1fn!>7J7W!Rjiq9#taIl9LQnydQpFz#xcWEK?_jn;TN7D9` zx#DAk*%(`Ej;RmFz;7RNpS4s0*%RZSpI2;fqxCf@f|L>{MQ5wdKr#K0h^I9OVW@! zoPa@D?nryl5&E<3VeaXNw|S2E`&bv88fS~G7E&y9A_!i^v!pz5J6sEyj+KQzNbnzm zDan4Q&Ki!r?E(?AayaDQTOc8)AM}R0BjHN~%zn6_>_&eWt@1aO<4hz@#WABP~xcbHy$A9_Z z?rI+dn6$;j@2z66Fa-N-S|Cj9iJCJ`_)_749lN~H zy1fU+6-m7Rao(7|#uM}Hq+WU<&9S3P0M^zuM}l2T=~=lVYM?6&o0y}+9~KC$x5RwO zXUHGngsb1I@ixd6W27AYfV*yJFZ0HPpB4yCw?%T80V=E;;Ebs~*8eN@W^CvSi(((l zz2b|0uUesZs2>9V^})z*zKEURioS)OIP}8~SrzUuJZXz=eLCCMIYQc;EgG5o8izGYkVqmh2tzU49@n!n01aAqu(5l ztlY6&W`i*w&G0hW5YLVDaM8#N6SrDm!HuR!vvq_z#14NuHG$B=64N6M5N2Y9oYxXZ zw7?AsEzMDuZ;yXw7~)?k546%oK+Rhl9Pe$46A4x*k>*hM_@+1;WQrW}gTm7u8Mb~n zVs4KMCGObS*a{uZ+~JvIioXYVVwH~}R(l2FsGBXKbNu0F>xTIcnxo}Gdr6}u5DjCS zBJxoyggtKxZ#Q3L_P4{BKJGY^VuH2Joe{rJh8I>|Xf?(PF7<9W+*z`}j~(1SEMPdv z35i~M$XwuqiV9PxRoon2rco0`%ha8D6>Vg4I-Y3=CE3* zA;mm9_*$EyKzfEB4NdXBmnCdKWanUr@J+wyijOfCh+6ulZiT#nL5{|Kq4pp}N2ZFfg;jy|>wcaW&=0!}Y8hpky9 zrM7axsMSOx?n)TJ6mx8rp6S%NmKgrt84+#u;N{*F1MBLD&!hfJAA08ADD<;Ld4?O7 z_cBD+zRtMntf!lsWBxV7o_UV=r-O*ty;c}?r-EKTvBs*Ra*9+og=?yo)IDu5K3s-z z*|xa&L{0XB3ml68$5$@+@4O_dGPMcxuUFHPSLSftP$}tQyJO`k8KTa#L|{il#E+8f zZztkxxE1Q({Gua29MI-K9es1}fYc6V7&{~g_gcyj9^i<1jVj5(vpH7Xks~Z67bSDbAW)BJSM63GyV}^?i+4g}L<0QkB-Yt;cPL5?ez0uQ)=*@R$ z+^s657~^Kh4XmWDTYZo^33$2G6HP2+NM7N9GLv$$b!r6roOg6|V^f?;D5i$e^_z64 zr@le9XnFG&6*jfS%2pLLr&&`tdlXX0Ra<KpbG8fb?FQ$@vE^w^ZfPBa!oM28I=~kpQA*l9*#kw7%V~48FTSPLQrRS5Jjtu0 zVq0&#o}#3uwcfgMW)$R!_Fi?g;hi`1y{qV9p0t;wRnYwqZ`8z;(8I<)_@XK!MX4XW zP0Oi$O>>sapZbJp@^~?d!xy& za(e&V2ZPR4P=`gH*b-Svqm?b;H>{TC9t^;-@wL=$sxQuVE~9-z0&(qe4K-XF1kZ3a zC4UIO<6jEemK6ktieKa?t#M0a-$-uah7*gwP}@gt_*nFv=39CqVs#Z6l{AN=n}SxE zdEuN{1(~jBhW71C>3&sn7{B~QRu{cduPmohA1{2kT27;Cn@|L^e z{G>ASy6S*E&kAX&o+F$he~|ff2kiZ~j8cXcOUM{Yd zd`AylsH&uag-+;r_d7YBcR+_$-za&l8*HwZ(?bUj^tP@hlM&AFmVB|2I%nNHTDrvr z@&Tpv@`xjL7nINll`|$yt)@epUEnglit0Z*qBOgd&Sy#AEBQt9|B}|Lx@xkO>ZhK= zDkbfD2P7I)ldQWF)c;k}yS)zB6;eUDIa0hmx0Jeg+hD`|Uu1F50p^NYa+S_w7g9qq z8)qER{31nr2i$#AMV*`5BV<}NrLVNdj^*Vv;;lUlZGX|iJCdEYDQRyHJ4~snp*Pp1 z`EOcGVpluKN35d6Bd(a!gDCjB9bS*r(7dryd}~-s*)uFLa83ys95;tkqf*+{%>gp8 zmYPU=U%!UNrCVUl*J=`s&7fISOQll(=ioCnDqW-Tzl)+ZK-zo4dR|C*qSOC8-m-3Tj8)HKJ>42!c=v~PeF?wD$6+&e1-^dX8_ zZUnQUdQuP5N8g{d)M=s->^3T>;|Oy!JFKCd=Ph*mNv^^K{%6%RJKGS~r>JODv@yg| zHJScwguH`lGThJz$>UWtv#Ak=ELW1*CPQS_sHkz5hM2!zLH3OrqW6G0`Z=Q!st0SS z!9-*1+(hKmNa_RrqK3M}8$eiIL(K-8qPt2%7GWk>F7104PBcVRj*7axFhtX#8oJob z7+LR$%9|M>{IV2-Om2wAtF<(?+yLzdYe?IwAr2<0=u(pgSe>Jwb#wJGN6L8(df5;$ zX)<*F(h&ODL|vchqpVa#ZNKY7CFOwpS{TA$5m2(Gou=!ldZI` zr5PbT5O|znfPO_)(0t%p!42UmDajw}yJ{`a9C=FXPkO^zN?)j<6qImY-BjZGCXZ7or3f4R;M zKjZb#Mr!*pe4`wVBZ28LmYwG=^}X%Yb%Eo z^5Db_8D`jO$#}dB1)fC9c8lnk4y*_jk)2MIVI;yfizwx^h%SQ#xL=UrsE?Fm+AZK< zfR;X7l%euA(c58i4ADr>p|yx%Nx;QjfbmZa4Qwjla=w;2d5Su}u*q>54s8dnL`u&h ziRdp20bNfM{ZR<~7((Qy0OWm%US5~ZKUC5t|03wF=W7!I<%QDq9RbYO5!pWg-u)oT zF9RC22fkke{%9=4!mEHkONi#|18SQ|_qzqS(-uf-2b5M5g*yO8KTFS}DbP<%I?Z^U zA%Fk(+XBBW@Y@2vE%4g{zb)|F0>3Tr+XBBW@Y@2vE%4g{zb)|F0>3Tr+XBBW@Y@2v zE%4g{zb)|F0>3Tr|H1+hJqJWNOIO;nZ&<&ceLMHz>fz|=(adlX;lB-++MF0 oCXNksmdaY_*)33qp@vgb|E|5I4|IQy>KP@~e$i0+_kRcf59p@is{jB1 literal 0 HcmV?d00001 diff --git a/examples/starting-top-down-rpg/starting-top-down-rpg.json b/examples/starting-top-down-rpg/starting-top-down-rpg.json index c9b516181..bb1e31c40 100644 --- a/examples/starting-top-down-rpg/starting-top-down-rpg.json +++ b/examples/starting-top-down-rpg/starting-top-down-rpg.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -209,6 +209,34 @@ "metadata": "", "name": "assets\\8BitOperatorPlus8Regular_Edited.fnt", "userAdded": false + }, + { + "file": "assets/starting_bookopen.wav", + "kind": "audio", + "metadata": "", + "name": "assets/starting_bookopen.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false + }, + { + "file": "assets/starter_pop.wav", + "kind": "audio", + "metadata": "", + "name": "assets/starter_pop.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false + }, + { + "file": "assets/DirtParticle.png", + "kind": "image", + "metadata": "", + "name": "assets/DirtParticle.png", + "smoothed": true, + "userAdded": false } ] }, @@ -241,7 +269,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.4950840073748919, + "zoomFactor": 0.6244537826600028, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -450,7 +478,7 @@ "persistentUuid": "288736cd-a508-49e7-a166-35cf826505bb", "width": 0, "x": 288, - "y": 400, + "y": 405, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -466,7 +494,7 @@ "persistentUuid": "b8633317-3fcb-4df8-bb19-79a05fa379ed", "width": 0, "x": 992, - "y": 80, + "y": 85, "zOrder": 6, "numberProperties": [], "stringProperties": [], @@ -514,6 +542,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Player", + "persistentUuid": "733a7f1e-db25-4386-b421-bd257d29d86c", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -627,7 +656,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 84 }, "centerPoint": { "automatic": true, @@ -638,20 +667,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -675,7 +704,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 84 }, "centerPoint": { "automatic": true, @@ -686,20 +715,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -723,7 +752,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 84 }, "centerPoint": { "automatic": true, @@ -734,20 +763,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -771,7 +800,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 84 }, "centerPoint": { "automatic": true, @@ -782,20 +811,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -967,6 +996,7 @@ "adaptCollisionMaskAutomatically": true, "assetStoreId": "", "name": "NPC", + "persistentUuid": "6e777d90-2bed-45af-ac8f-55747f0310c6", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -988,7 +1018,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 85 }, "centerPoint": { "automatic": true, @@ -1026,6 +1056,7 @@ { "assetStoreId": "9d5de415b6e469c681701ea42d3b1c486fee31d6ef591a2d3e226f639ab486ff", "name": "TwoChoicesDialogBox", + "persistentUuid": "75504e76-c410-4b30-9d80-b5eb386e58dc", "type": "TwoChoicesDialogBoxes::TwoChoicesDialogBox", "variant": "DialogBox", "variables": [], @@ -1039,6 +1070,7 @@ "adaptCollisionMaskAutomatically": true, "assetStoreId": "", "name": "ActionButton", + "persistentUuid": "892c2132-6b03-43fa-94bc-07cf6e0ae610", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1053,6 +1085,25 @@ "TouchIsInside": false, "MouseIsInside": false, "Index": 2.0247e-320 + }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween", + "Scale": "Scale", + "ButtonFSM": "ButtonFSM", + "Tween": "Tween", + "IdleScale": 1.5, + "FocusedScale": 1.4, + "FadeInDuration": 0.02, + "FadeOutDuration": 0.05, + "PressedScale": 1.3, + "FadeInEasing": "easeOutQuad", + "FadeOutEasing": "easeInQuad", + "PreviousState": "Idle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" } ], "animations": [ @@ -1105,6 +1156,54 @@ ] } ] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 120, + "emitterForceMin": 75, + "flow": 800, + "jumpForwardInTimeOnCreation": 0.2, + "maxParticleNb": 300, + "name": "DebrisParticle", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 238, + "particleBlue2": 255, + "particleColor1": "238;238;238", + "particleColor2": "255;255;255", + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 238, + "particleGreen2": 255, + "particleLifeTimeMax": 0.5, + "particleLifeTimeMin": 0.4, + "particleRed1": 238, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 75, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "2468cafb-59c3-4a19-973c-55d52a183a0d", + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": 25, + "textureParticleName": "assets/DirtParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 3, + "variables": [], + "effects": [], + "behaviors": [] } ], "objectsFolderStructure": { @@ -1125,6 +1224,9 @@ { "objectName": "TwoChoicesDialogBox" }, + { + "objectName": "DebrisParticle" + }, { "folderName": "Mobile Controls", "children": [ @@ -1287,6 +1389,18 @@ "", "\"Dialog Layer\"" ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starting_bookopen.wav", + "", + "80", + "1.1" + ] } ] } @@ -1332,6 +1446,40 @@ } ], "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "DebrisParticle", + "NPC.X()", + "NPC.Y()", + "" + ] + }, + { + "type": { + "value": "SetZOrder" + }, + "parameters": [ + "DebrisParticle", + "=", + "NPC.ZOrder()-1" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starter_pop.wav", + "", + "80", + "RandomFloatInRange(0.7,0.9)" + ] + }, { "type": { "value": "Delete" @@ -1392,6 +1540,18 @@ "", "\"Dialog Layer\"" ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starting_bookopen.wav", + "", + "80", + "0.8" + ] } ] } @@ -1474,6 +1634,10 @@ "name": "ButtonFSM", "type": "ButtonStates::ButtonFSM" }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween" + }, { "name": "Effect", "type": "EffectCapability::EffectBehavior" @@ -1502,6 +1666,10 @@ "name": "Text", "type": "TextContainerCapability::TextContainerBehavior" }, + { + "name": "TileMap", + "type": "TileMap::TileMapBehavior" + }, { "name": "TopDownMovement", "type": "TopDownMovementBehavior::TopDownMovementBehavior" @@ -1515,6 +1683,10 @@ { "name": "TopDownMultitouchMapper", "type": "SpriteMultitouchJoystick::TopDownMultitouchMapper" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" } ] } @@ -1522,9 +1694,9 @@ "externalEvents": [], "tests": [ { + "description": "Pressing the action key next to an NPC opens the dialog and takes control away from the player, and does nothing away from an NPC.", "name": "Talking to an NPC", "type": "gameplay", - "description": "Pressing the action key next to an NPC opens the dialog and takes control away from the player, and does nothing away from an NPC.", "source": [ "// Talking to an NPC opens the dialog and takes control away from the player.", "await harness.goToScene('Game Scene');", @@ -1609,9 +1781,9 @@ ] }, { + "description": "Clicking yes in the dialog makes the NPC that was talked to leave.", "name": "Saying yes in the dialog", "type": "gameplay", - "description": "Clicking yes in the dialog makes the NPC that was talked to leave.", "source": [ "// Saying yes in the dialog makes the NPC leave.", "await harness.goToScene('Game Scene');", @@ -20745,20 +20917,22 @@ }, { "assetStoreId": "", - "bottomMargin": 11, + "bottomMargin": 18, "height": 106, - "leftMargin": 11, + "leftMargin": 18, "name": "Idle", - "rightMargin": 11, + "persistentUuid": "81e9bdc6-af5f-4291-beea-40d419411a86", + "rightMargin": 18, "texture": "assets\\Border.png", "tiled": false, - "topMargin": 11, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [ { "folded": true, "name": "State", + "persistentUuid": "e9030462-f47f-47c9-b987-43fd97bc6128", "type": "string", "value": "Idle" } @@ -20784,14 +20958,15 @@ }, { "assetStoreId": "", - "bottomMargin": 8, + "bottomMargin": 18, "height": 106, - "leftMargin": 8, + "leftMargin": 18, "name": "Hovered", - "rightMargin": 8, + "persistentUuid": "ecb8af94-5605-40c3-9e08-5ccc93d4757e", + "rightMargin": 18, "texture": "assets\\Border2.png", "tiled": false, - "topMargin": 8, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [], @@ -20815,14 +20990,15 @@ }, { "assetStoreId": "", - "bottomMargin": 8, + "bottomMargin": 18, "height": 106, - "leftMargin": 8, + "leftMargin": 18, "name": "Pressed", - "rightMargin": 8, + "persistentUuid": "6a012a1b-910e-41b0-9704-6f961e28283e", + "rightMargin": 18, "texture": "assets\\Border2.png", "tiled": false, - "topMargin": 8, + "topMargin": 18, "type": "PanelSpriteObject::PanelSprite", "width": 256, "variables": [], @@ -20993,7 +21169,23 @@ "initialVariables": [] } ], - "editionSettings": {} + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 2.734375, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } }, { "areaMaxX": 256, @@ -22825,6 +23017,7 @@ { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", "name": "NoButton", + "persistentUuid": "b543ac7c-cec0-4c88-901e-d8fbe32a064d", "type": "PanelSpriteButton::PanelSpriteButton", "variant": "OptionButton", "variables": [ @@ -22865,11 +23058,13 @@ { "assetStoreId": "90d94b6e3a23c34948e59eaaef4679740f8ab588696d59b21e0c0c2ef106b94d", "name": "YesButton", + "persistentUuid": "2b077122-9141-4a9c-95de-cebaa5bb08d0", "type": "PanelSpriteButton::PanelSpriteButton", "variant": "OptionButton", "variables": [ { "name": "ID", + "persistentUuid": "0bed4eb2-8776-440a-bcb8-2c0f477c58ea", "type": "number", "value": 0 } @@ -22908,6 +23103,7 @@ "height": 48, "leftMargin": 16, "name": "TextBorder", + "persistentUuid": "1e0e522f-a05d-49a2-83eb-4905ebb0daf1", "rightMargin": 16, "texture": "assets\\Border.png", "tiled": true, @@ -23059,13 +23255,13 @@ "angle": 0, "customSize": true, "depth": 32, - "height": 36, + "height": 42, "layer": "", "name": "YesButton", "persistentUuid": "a0ca78d3-0a23-4bbe-89de-fb2d0a53996c", "width": 105, "x": 350, - "y": 160, + "y": 155, "zOrder": 510, "numberProperties": [], "stringProperties": [], @@ -23075,13 +23271,13 @@ "angle": 0, "customSize": true, "depth": 32, - "height": 36, + "height": 42, "layer": "", "name": "NoButton", "persistentUuid": "6781aafa-3ae9-4820-bb97-682a524a0cf6", "width": 103, "x": 471, - "y": 160, + "y": 155, "zOrder": 510, "numberProperties": [], "stringProperties": [], @@ -23095,7 +23291,23 @@ ] } ], - "editionSettings": {} + "editionSettings": { + "grid": false, + "gridType": "rectangular", + "gridWidth": 32, + "gridHeight": 32, + "gridDepth": 32, + "gridOffsetX": 0, + "gridOffsetY": 0, + "gridOffsetZ": 0, + "gridColor": 10401023, + "gridAlpha": 0.8, + "snap": false, + "zoomFactor": 1.3770892167064483, + "windowMask": false, + "selectedLayer": "", + "gameEditorMode": "instances-editor" + } }, { "areaMaxX": 600, diff --git a/examples/starting-top-down-survival-crafting/assets/A button.png b/examples/starting-top-down-survival-crafting/assets/A button.png index 23ac10d5301303a5d4141641f1c6196dceb076ee..644bce1a321e2d320d534c6b90f1496db6d7b16a 100644 GIT binary patch delta 3646 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 QNdN!<07*qoM6N<$f(W(llK=n! delta 622 zcmV-!0+Id49FPT&8Ds+h006nq0-pc?069=hR7Ff_aW*zKHa0djH8nLgH8(dmIyyQw zHZ~$6A~G^EHa0dmI5_|R|IN+KwY9aAlauS~>sD4)a&mIbZ0QdG000YgQchCffNkl5hXi41^PKPSeuz{tvs*gM}9GBzSkE{y;*X z#zzw38gne4h}bIn+i;d*iQ%c14F7WYD4miab2> zHv#WRnX#T>?tj6~F<``u#%!RH^e>~m2Jr1{z$}Wu`-r)%$R~l9ZYg=Sn1HR44qPok zYV6?yco!Sn0vp#$9ngwa+8maydLU*J&b&2adKjd0FNp@PtEZc^!5TPXDCWO7q|}d5 z^@CphQ$#c7=T~vm14flQ&-d*|{gYVBqE);{ecq)=^?z0|Nx@=RPaDnyKPC^P8nD8B z)TxdfwucVsL}9i^H}%B5QBbOkdVg3|m&c=VS`G1dJQs_*$4XO9Dk@FL|35OFhPqnw z(qEI%j%!oFBwI!n;lx>cpsK$EvJKm`Y^vomxdk;i%EG|@2P9Y8F2b~;^8f$<07*qo IM6N<$f)=wN&;S4c diff --git a/examples/starting-top-down-survival-crafting/assets/Boulder.png b/examples/starting-top-down-survival-crafting/assets/Boulder.png index c081e7ab3a820492221f973ad3cb8b5b603ec5a9..8b99f9232a477b51463323b25c0e56847a35e9cf 100644 GIT binary patch literal 5290 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 literal 5237 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 diff --git a/examples/starting-top-down-survival-crafting/assets/Flat dark joystick border.png b/examples/starting-top-down-survival-crafting/assets/Flat dark joystick border.png index 606bf85b223d68dbdd1be4f5ac851f2018e13828..b4e83e112eb9375cefbb86a6d044a972f8bf4dcf 100644 GIT binary patch literal 3751 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 delta 928 zcmV;R17G~79jgbB8Gi!+006uZmmdHC02@$DR7Ff_aWyqHHa0djH8nOiHZ3hJHa0dm zI5|R^?&H|1(F!EEFDZlRnwi_ z{vfi zj=HzjIAJ?^*aIR1yr3o5f0`Hd%5^<6F6Up zP~Fjl;*KVq#|bI9VKHMl8{r`)iPZ%{-xG$jf4=?q~^F0)IA24NSmi2{R2agHyOAVdeoQ zxPbQ(79!wkIWZ#NI!%xsUi&yP0Snv1t6i5;0fp`1zdpu#*d3k2|9q@mKxK#E_j(Kt z!LJ|`GN7)T^niore1Z;j$NmwypId1iKp=wpMU(OX1$5-Pn-+2DQ3 z3U8HfoorJ0VFQ$enSS6!7WRpkSLewMoFS+@5$ws+?STP?b}+=r0-O&JIbb}yTqpDq z_kD-lXD%rF#snxfL8d2)U`M4yN4i*I^UWcQjl?nfK%C*3a$s;&f%6R|JUAMx!11?+{;EmT?0T5AdBGkQj7xl&{aQ(}c)V~^X*e%3^Jziw;PzI z-Q)Pxrd*^ diff --git a/examples/starting-top-down-survival-crafting/assets/Flat dark joystick thumb.png b/examples/starting-top-down-survival-crafting/assets/Flat dark joystick thumb.png index acd005cc067032996264e510b58c8dbc0c102b62..8acf179f8660be36ccea1198105da35c07154fd7 100644 GIT binary patch literal 2939 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 literal 9508 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 cJnxMpGN(s`@xT&({z|Vg&0tyBoK_eB2su5 z)<7VlG(kal&s5nY1Y@9;NGt+MvtZe@tYwjq1d@i+zy0lU_5uE{mq1l$}fGUQi zwg|n54i1FQKrKGCH9dQrcUODy8Twd2#FgLYrK#y*(KdZcW8S*7nTut`U$PoP;88t^ z(3&P&f?iGRwGK$U-i(0*hnjytA9FkM!slH#Os3pCq>oE@3Xvhy!#X0(YP<26=)hgO zKA%fm`CbW$Kw#rSQq*maLPyL6(%60Bu{2BO5cj?z*1aH=9rOcx7OwN{Me^ok1B&gX}IZR1U@(T3@<-s zdYJ@ab&W)a5m?!lE4{B%vggY$UKN=>68~iJ;0a~^?L59PyMYSW zkT0Z3QTca1W2#V;F=|mgVbP@XhnR-A9U^9Ffxy8%7;tv;`epYR4yfNQ4HQk0UkPon zdx|nHlTn9SOd)xPIYe_i)$p&u@Ep1?ExO|ip>>jbqdi(B^wJTIG!HiIB^LT(*&S3r zqk$^q8`TP^i2j3-1CmevHKRHoEnisQD6}c>*Ms@!2>+Y#%fTnDEzycBt4|kGcX`eV z9dw)~0*2Hf1WwN(Axx%UJ+S>^sw(7~;3UA@>*jnoT6WGhNAZ}YE;~!-eHwG(_yh@^KDg>4Oh+`|!jXG5tFuj$S<~v)JxmcaeuIt}tLGn-M+JqJ;%n^7 zaErCWtBR#-(J*3WsN~Plm4VqAyB3NJCAP{s*;ukMfoXXcrZ3cUlneN`cS$F?EA()* zy`zWddWvpN;H|Aj)sX*VAGCd?pG}tEj=D2QSe0&$VAL?tt?Z<8cFAdfpL=OCXBnz? z61Njf=bc*&T<#k~wXO%9)u1VMI`JcANauwW&+Z@9aP6l3UDOB9QXo8R0j;rHxv`$; zH5=JShE+GRcV8z_3GM~HHiwkY*;orR+_I!WDB_rnl&Ly-l*B+kBHo9qbT00f708vDJ+SR@M zhK@PAlAwfY6({-W)~_0T+h}9B`18xb2vMj>+Ey>eI6iWbL1M2w*g!uh*SU8IiY{`GBi ze>m|S%9RqsZ+~g&mpU%Bxn1!~DUr}xk(+SEi>zXnloA)Vt@Mc}3dYFJoG%Zp$|4!7 zn!Yn+;%vkq(mmJyW!sgBwf?CiW0~w zJGS|0M7+1CaI?-c1FqDfyc%E2E@R+?)5YrO16z;-00ewAa2Nm`pbJdE#{~cOx~ONM z3cIbG7S6984Nrz(+SM;So;WdFEuxOU3-IU;mo!z6nz6R^KNHrL7W{`*QQvdF<*O7| z=ct{9JqYf8G*_z!qlVTolM)mO;>0i4j2DVU&9k;zW!Oc`bhy{u^(eHszM-b{p~2~^ yaw57DyBl`+)embCNXDGG=Pb>fn0c#yPy^P}>Mk5&n-yzW1JHpX$C{7CQ~w6AS|^$S literal 9079 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 arSKg#6*toN*H`y+V5D!R_dv(>{Qm&mW$bPM diff --git a/examples/starting-top-down-survival-crafting/assets/StartingInventorySlot.png b/examples/starting-top-down-survival-crafting/assets/StartingInventorySlot.png index 8d845d33937053d0a6f701ec01e44cb5ff52ade2..f93f37cf05c2e283c28d24c6000bfbee78a67d34 100644 GIT binary patch literal 1598 zcmeHH`!~}I0RMjPkT{|vkD_#=#K?7Aa?vohp}bvW5l7L(Y#ue4q3cl|!{vIkJC8d` ztJxKj5jtK=dwHiBOL>)7q>*8F_g}a_-yc4o&-r|Q{G8AEWO;d@RFsY=0RW)l>f-Dp z)2e@=s37AUex#{P_TyYG#sPq``o91HGDTY!f^j}5IKbfPev%ovNJn=^0C<+Kyb~rb z^9SM)f$_fBh{S4HJrWaE@vI~q0OXmj&W?Tw;IiNx);B0(g6AiNsb-6=W%w>ANTIQOi4J`kWjl#f`<& zxV3w%ONnP)3#}_K9CUu7Qa#Kv7|)31{_<3(9({vkfZ1Je%4LW67(3`q)u^r-b~zcX z!e0hOAnAux9#?iIoXn5d1-u`4}|&a){!P&Ut6O-Fj%=@XRD59On!$KLlI{6O)a7BmtkvvnKr3K zbPpg8&JW$RJ@!Ji874s#GhgO(bF@A{8gfZ`#+3a$qojo(2!7pm?fRMq`;1ZsGNgUSBBda%R&dXIlj0shQf(ByS=WKQ zQM8?T*>CK=94~26554gYWH3y026Av%Yqq$b(Iz)9l%UbU=2cqqoA+$%5dK|#eXU^o zHH|1|ft!3;!*_@LH_0c_#t!eL@YI464lW0e*C?v_$SE5AkbVe+X9GVX{*V82Cw?^G z>F5)%{XR7|4o&kezEKIbFG%Q}BQ4RXJo3df1qB6_h2DVy+|+RSm?vQ8BZYD5mtsa=Z4S< zNhY+mMClY~d9oHtAe9r=Hl}|MH*})hg22k!ra!hZ-&z#Y&(BrZld{zGc&yDu&Nq4_ z^iF9sB4J~uPy|hxm0gTi$go+P{S|H!hUfO!)7^8M<%}I(zoI;g9Wv~jia}dY5w~)L86#0cov&-`xs{wHGk56}U$VIu nQ~1a;%9N?jB0T~Dx9xqkALDSP(B~A{y#uZY4`&8E^tXQimD|0$ literal 6328 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 A(f|Me diff --git a/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Left.png b/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Left.png index f232507104fd4187ac334c71d96c731872d90fb5..c0659c1fc10b68a4e0e6a9ca7c42f7967a36bb4d 100644 GIT binary patch literal 3061 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 DtKpvY delta 1193 zcmV;a1Xla?7qSVE8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r1X%EwV2;znWMlBlaivpcp z6ufW>Wjz>xO%^gE8pd`B_^Kw3RTS&8N(KM`01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600Z4gL_t(|+O?SJwyP=(fa?TSRJ4LawcGc9 z%L4)1YMJz|n?HN))_jtIB+cz+5t5fxb#H{+tE$B0c1qH`ZVpo8B3%Dh9Zr%2B2c9@ z=5g$VjN`l^@_!Kh3=CgJHqf^WZ0rFMr-Aw-rw182KvX_LCZFmVH3(njccq(v8nXlj~uO@c*;7T zeVs)HVt-}UlH4xNwjd;uUA^s$hu~e?x;>!Nd2QQvVh3LiY!V-P0jWsFrB(7`Ttf!V zUi!n{V?qKJe90u_`~TV5+2A%boV8YA+}&Ig)fxC?R-d?PD~am>3j~05zv>-Cm%9Qf zlc3#V_S&nz_}7eKNhQ?mo3rr!B*(l-#N#WTy?^yO2Q_DPonp5K+%nj_ko(6IcYl}F zgoOZ@xh5f9&jQ3;74t9`+Us%^I33tJLlJI)vY{|kk~S0|voSKHF$)DSLoU^U2UvI437xx2 z+jT;_@$Ld3`>b37f3F<|)?5$$DT&YKk-pGG5m0^=kb@VB9A5?CNEY`DUkBg}4gi1) zQ4j#(M}#p>t^pFEilhYqIG@S@$N+%v=YMLd9#ilKP+h4=l>!j?CvF0^C-g9?#Zr@i z6EUts2c*xKRD&YAr4iO{3=agX#H0&xB$63y056;wag+yOQ>u;tMl@@HABMGg8xX;5 zDwGjG=qC?im|(3~D+AP=lOjb>o6x>ZU%7nW8 zhbJO}p&>t#M?#w*-)0%kAtc{P6e6blK8ZAkWN#tTYP0e`WZncbZ<_aI00000NkvXX Hu0mjf0;~%w diff --git a/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Right.png b/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Right.png index 5e1b2ee329dcf9b024fcc94d9326dc5e47dcbb4c..17810fc156ceea023d51091a1a0b47de135d150a 100644 GIT binary patch literal 3110 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 Ae*gdg delta 1196 zcmV;d1XKH_7_|wI8Gi!+005dBgxUZA0ANr|R7Ff_aR&zn6%`c_5D*Is3kV1Z4Gj$e z0RagK2^tz24-XFs2?-b&7#SHE8X6k$j{zGS8>wdp|G+r0X%EwV2;znWMlBlaivqfD z3Y}dPWjz>xO%^gE8u+Rv#&!vgRTNyaSNi|}01tFhPE!C`n16u>Mj~-&@)I?+$lts8 zET8}Y010qNS#tmYE+YT{E+YYWr9XB600ZDjL_t(|+QnGgnxh~L9#5d6qFeA#o%;T7 zxg=m~Eg*I;_P?2LTJxK8()|25!1AiDi&mki>x#0UOGxvkJ)ogwxcsL$YLWy}klIMh z({xjqrg@{tLx1EmG<=!Fz@Hez)FVZl2Fg#8A28gIqCR8D;Hh443*-vlRelBn@4riK z#|^FUhOhR?bKU_%<{?Nxf44m66U3tQ8}RVR^Wm5ivccWDaId+}j116oGlAzmS z_PFh(Zx6ZKF&wEx+V|nCd_TgPH>!B-;@LaPIe%z4>vD?y9`Ivuc_BYvPyF*8x`_xO z5cZx#JpJqddsocET*#e$xenY8xMMPu;TC8cN=ql{LJ1%nBTE{KPy%7er6zDaaqU?U z#5tT`{s?3g9>gt>(f2N}IYDK?GK3RALDfee-uVT5Y$;)D@(Zvh9cN;9g`hjkSO~&+ zg@0f?gdw>W1RaLt5Jh=~Kpx_#7K?>n!ty?4uSW4Bj>V-)Fx61Jm(qHTV0|kma;=oM zaw2c*-4_Je>*Nyndu<0;SaY-Vr!2mjN2Z{eW+3^u1UY)4%;~oTG=k=y(eDXph6*6T zc#UAx1j>(uQkr}h#zct{umB0Jr!o>`NPj?!YdzJhDfC59f76j_O~Bw!+y-1v_+eFx zL6V^pDQ!X*q}Q6%pdk54BWm0j9tb>%feUG*k{NA4FI-u1v!hZpRNd!+pL|WVc0000< KMNUMnLSTZEzZk&) diff --git a/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Up.png b/examples/starting-top-down-survival-crafting/assets/StartingPlayer_Up.png index 6faa144c17894feee6be59098658935f0d86d3da..cc31659b9dc67ddec8dedd19bcc5e461e2ca6657 100644 GIT binary patch literal 2361 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 delta 1102 zcmV-U1hM(eF(sE37lOMhENqcCmKvJ z8EHQlnFu4;0000EbW%=J0D+gs3mYqNT|>0_@ZVfk&kq0q0DlQ^NLh0L04^f{04^f| zc%?sf000A)Nklndi}9o|lb6QtT@X{5?_@wN0FaiTcaAA$LRd8WVXCN{f>QqmHe$+=sy-0LL z98S^6f_*utrfG=vWJC#VZ5X{ysBsvQ!!bjGVbB*ZCT%`W5)`H}H-m+qzJ4fcZIB89 z9QX`7Xn%wK?@M&Dp#!~|h9D*tAFi2w9+mc+Yh}ku(1qXGIE`2Har#a+9udK?9d=<16Z$IJ1 zB?Tj$V7w&ZRtkJcFe+#ioj^5bCA2qG;N4R0<-q!5)P z$ZYe%X#2C^ zQP-Sxm(P3qw5c=u_0@Ub<|s*^c=bWNoVlz#Zwv)@UdX)m9;Vwmm+srS|Glf=Vn^f1 z@|v};FIraT*=8+x__Ylvs z9OUlAuAj0;Ld8wb{Hs*~sE1e&*I((BVkAKMMckT7R+pmBAQ`~m;xrLlW z?Dgr^MXV0%7*2>X>||01XL!QZ5W_e@n}K}6J5l}TMYmopn@Q>FVdQ&MBb@071xjN&o-= literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^4nW+%!3-pO;^#*IDb4_&5Lb6Mx0sk1eO*0E1%@_| zV1Y+uF$061G6*wPEVVBK3c7i^IEGZ*dV77NAcFx9lcD-={<(@8P4B-juUL@0Y=JNf tPz?+mU`nVpU&C~Q4JH7h7s&mn*(ZNBR7jU?Wx*zph^MQc%Q~loCIAxfC*A-6 diff --git a/examples/starting-top-down-survival-crafting/assets/Tree.png b/examples/starting-top-down-survival-crafting/assets/Tree.png index f09fd325f8064de5428e8b45c67569e43c531207..a692eb000f941fb935f0b4acf8fcfcf908a73620 100644 GIT binary patch literal 5195 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 FV1gC!xP|}# literal 4312 zcmV;}5GU`6P)EX>4Tx04R}tkv&MmKpe$iTeYGUhjtKg$WWauN)>UGDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRC=hKw_#gc4)+kIxouohv=zg)Rk5RzC3pDGN^?htv%@e@)3|y&gf3*S3ev)2q zYvChca2vR|ZfnvWaJd5vJ!zsY+LDi^w@?7y&*+eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{01mK8L_t(|+U=cdkQ~)@$AA5t+1Kn-`?|Z@_pY=LNh|GY z^;}6S1QL>nK^QP#5-9}R6&vgrmq|!$unRjCJ5HR6Q~8i*C9XJ5RY;k_b}Ho*F$%Ur zLX`qYSO(z=G+GSNgOL>NV`lPU8f{N^ue7t8SI^vkl}fv3X1j0S^FQaFd;6SwK|(^J zbfJ{e!wMk=fNj7e5ORI|4)8{>{@oRxE0JkjR>odTg0ADEuA}A%G{7(X3 z0?N|-(|3T|EXz772@qW6e+u~8bzI^CaIR7R-E^YKpmACdsUz#-=^ngLTE z4pUZn?Z<6s)0jFEy5=<{0Sedsw*rGs+2}!?ikhWAYHOcC^J>rc_ecT+1NXTFE!}#0 zouWeL8qF>46GCi~1So9l4*|d8mRHrM|CqJSs$anTfFwX+<1@g3Q?PEoPDOS4kJ;L5 zP}kv^Bpnt)Y?TBkOzW=!KIN8otuvO_F&Yf-^!?k%B>@T(4+C}X;IBbw%f4Xm29p)N z9xt$42yufXKw(*bzwQ20uzHJmUDwrg7~AiAjX$>I4M~6k!DoRKO^qKimNoW!$kk`i zGU&O^0PsOcfWol;9^hW5tfE0-aI2Y->nkd3y4Ba%KPQAxBmwe|k9e&A76UV!Io&h} zjlS*Pbpc?nBtU+xe;D`;x4d)2$oRd6w)tN38$yUONr3#}H-Qw>+;o?L5z4%0ZfMgH zYdqc61>7SEkRR)xa0g)T}D6shhzOlfg_UmU!fE?p%K#E@;JD45oe;>8Y z8mp%~u|TKaFeC|(UF*LY*y5B`3x$qBBkT7bp7ixF4+$YwNCM;zzv>oD-W@_Wvp*}V zY1G(smxpMTz@3r+xv~C9T%gOu0GY*YKvT+m{02R**8e{G#|-Mb zJS;pQglLll$c*(zNEUadcKo}9(0$d*s0rgJ7+PymUqVQ&~ zJ);Iq10FB1M+ng=39vltuK}L$bo6?oAls|y3d1`*Z8L$dO9Ctp4*?xc!N3lUn#RIi zyJ}x;P}Sr+BiJbkke>C|;VSab!!WYLEM#NC2q}!;V)*s(V?qd35@6~09iZAN7~O9a zROG)Hy4IMq4tu(F2XIglU}@IhPjZ8Yl*qqt%peF*HCVgbx2=CDgfJulu8oJ?f{EKR zQ{<5=wDuWvj(ghM3EVCTaCPf%0zTxFMOuGW*&%v{=lk4gfhTK^Pqz$vR~Q|Q}Z5@aYUtiQ?k86L6YoxDRU z0Of1I-vRAT`PL7G3UbXqU4$!CW@lsk;#A5WlT`rGX!KvC2S^rpY)qL(4Xbnv>J$rx zcZ4u2JmQZOLSbnk5a1EFVEtYb%_yE-Y^&;2M)!NxfU1Cxmox!{5c_b|*w=L`Y47V7 z1oZm9#e7%@Axbg^u$M*u9%ymOx8D;g=r?}Lg%MJSCE~pOvy?RQ3c!p;qu(n<53mzh z>lC!FQ)wG8C{_$@GYQvt#D|3t)ul*)FM7uQn@lvlX!TD;jmr9)Jp`}ti-U@q078g+ zfeEKW;8h*i;O z^gE^C0dB`t;?=uVqq)2It^a)tY&8AS$nO?HbQd)N>|p0BZu!WL{FZp-8liHYG)fIU>kP_jJ>vaBi0ws50K3S;v+}j!CX-Tx5mwlGr*G28r;F7C zd>m+W3dU~Ji8N@GDmsRJkEYoxgxFG41Q0^h<5MQpHDXZ8P*oV*<_Ug7_!Pqi-2-@z zaa*%br>04x)Uk5Npt0W*0q+n(>@Erd2q79sR{3}$e+e*5WwA2}zECV4;1949Al}Es z9R}qQRchZxYp;PA@$|;D3ZD%WJBJOabq5p$R{QTp{@eEUIDz#558~R- zcl&)Nkp^k~o*BWQLBID*f-d0JKoUR*u?{%wlvTGXizP;sJX8(VPWi?HUlu}?2hjsO z3WS}4pJ^$_dHG7RaCo(vVe8)r>`QTJoeDj2>`xnG`+SG| z&)A!0XAD{fm9GNd!S%j>^4<`2Epp92U6fU-#ECPVnnqp;lt-h{e=bB1a0p1*CA+at zLG;V9f4Nw-*+lg&n|v&j#UxsWtX~KI0cdc_cO3~6sh8HjT!hLL^fFHZsZKJ1^r=Gf z0F%Hfr=WL>R+J@PIrjn+z6qpvWvZA&&5-qbk{Nw=&6HRM%rb@1eZGaIzgs9C;Df-B zQ_wP`Qr{}AKT~L5t)qJj$&UyjI`SF=*aeBP3s0UctbmMpLJ>{!C+Fqe*3>Cl4DhKH>l`dXV5a_QQ0n_Kc@t+3p`WOyj49pWl`jkf7YNI z%3}KvKb~t3@OfOjdJRl!RMg18FWYG8)`_%utn3aU#GafGKnT$Ye8MyKZ1r(NfCc$z{_S3l1yvGk2MY*p}p`vrdpnaV;jU2c!s|2vql0KXgotD{W_{p(9 zXV7$oHU0^t_h;J!d{208ZU3o8c=I>$UJ+yD$@g8(T@j^POOZjf*M@*4}l z$S(7my2=y*QdlL1G|DRF*q?9Iw`hc_uCA+0PXhs{ULnK&LVyugFe{d?3u(e7j%5?z z{JRO+dj){GnFO;J6FDKkN#`%t%P}rrhzG92VzD@}dH;X$c<@O5zi-8uiC$e-S3^3J z_#fh^PrG~`UVUMX;mJ^b6*`|FHlHl7RyByt$8CAc{y%=@|3qSG3RYDGRZ~F$O;b^n zunCJ8Vd^*9Y zA45a8f)P&Mv$9s9x=BIP6>6InSW!`{UMY(+LS$^_6q|>iJoSJ4{CSTTegSwT;{>oQ z%MwETDXvq!pZSYf&Q8Z!wb`ViT1C?#HkTk~_gj1(E}UCvWb{m&`Pl>)-%D`uY*Icy z3n!nA1KWv1mpl9R40$OdeiV;!>S1MNsqNt?gRqCdKs>1wig0s^xj{WN_ zum6Yd5d4^BS+Q(*0D#{D_T$PxIriOoj(vBYnl^>9h{A<438K?7NL&mvQ8@ksr;e_z zulg`;5OI_$@Y^do#f~@}qdo&@jy049KcJ zzbwnYu3+!=YkHf11b!{u>!$rC#~uoH*)hRHj`e&Vc**{GYl>Sf(_5I~GeA(}EZMJ1Bc1QnKL{S^4AL-h1w-?euFt9OW;-nE<5jkb^5 zQ@z(L%et)XR36OhuGGCti_AJpe*>lg<$vKWa?Qt{j0zVFFCkD2%Ga8Ma zjzl8kIMUPRF2Vntm}lj%p7GO3-aI+S_r5;k_tEDq%X(H4APc6~&cxs>3=f1Bax-^`JS`^F&;M5EEbMumYd@DoDZ4g3|Z^9cd;FbwX} zscT7pq>IPlt)Ins_1_oGTbTy-SeErtko&JFDm;Y{cL3ic0|_om#A)CL%d(CKz3+-* zcZX;+`f?-^IYBZltuo8Edl5KbS=NbS=)0oX-Xj`~9*;yKe@pVvigj7I#d+Wf;D}{e z)5X$nMOox8gy;kgklaRf<8@r>B5;&s0_IbeWt}ayzWRTrI`%lx&~tzQ0000HT@o6o~2{JaU8NN%Ve@{^co3j?TLkj zg;`w-JUwpb0Yy=;#fnAiG5(%<2%7f*Bd@9Yf9U-t{|;1DCC9eIxm^CsnX4bBfBNag z6Y2rD1fcT)E%2Ck$LWO7G)=fep-@O%nz~F|TmSo!x_=xl0W&in-sYb;of5jPlWp5n zEEeNamoLvoqtPEs)67wqLWtnP!e4Hw3f-j^;^5!_!U)$eb9v{+lP88rT?iq9nnGVw zi!m@TKq`wPTSF`ua2|j9X}l}NQC&!P2 zgy*CP27^^3FrW)tb8~Y`)M2R9CV&7C;e|r#ZPta`)Iqe303Z|!374pXqb$wOf7UUV zP&siksg01~u?h~&B2;#Q1c=~$Y9ngGqZiPHr+;&E@g%hoD*s!lJ&AlCn{SPBcpMrY zt`$Zg%mZ?-o%w>cxw&axnYl8?V{=`e#3&VuB{|I{zkqo|AP}IERjMIeiAQ76@XMDk ze;}XX_HJ=;ahV0Fig}*ZiQiiF_5*0Ekk6CtB|@R~LP5Fd=RCrdWVQr@EkObM?nPGY zQh%u=HthRp4S2rJ)&NVuY_fuJKAntwFnND_+w`RXTNRTkB>b02Nbq3@=U}Fo)#Y+I zvF|4dcs5)@QB<RoFH@w@z;b%9tHT3TeO+kcZ6FE&zBQ`hd-k^to4r?$h#S_iD5_2PJB z50c4bnEfB(_z!sw1Ykob6G@Hge=-S6K$}vOTPcpm8p7HLAxQub%j?8*UjTPF+vB4!YP4(3!06affA)DJ}*R;Q!nt!^K z-rCwaaRvI=YWDp3=9A0Q*Y5M;M*_OwCBe2WH&nL6CENt6SmgHYL^L+Zx?rA27n&Zj z1TT(in)O(zl+nEI0JPI3Wc$ztJ)o}#0{YEnSEibdXNV9VeRS=6+p+tRK6@=e{$lex zXONKAP%IS3c}qqjv8Ixy69x2*jem_C>%yAM9Ptt`eMthu3NBF&WB!vMw1Lxg4w+$9 zwU=gQt{!`3>QotxH*;kF4@tj-Mk92!lLSB{P&^p?4vE<0rDLs3wdBpbx`5F~+KkQv zu#7>T|F??-i9(@>K`=C3Ida*)Wp4!%bj{`^^>UTjD~_Ea0fWILn4C~ITz|H2`5ST4 z^sUSsF$(#7PPjv-NC3F~ltao_^}b|j`K-n(j_^sT3w8%IL4w;0ag)g_(^qNp`Lilr z@a;_&7Lv1yV%?LvfSF`vv9zuw;2w(;Dos6IG6fMlfBrnTG34eWhlhu>yZZ}eG8q(L zSN0G0zK|by`8pJhlBT2FL4RI{r8EO{c4Fd>G&VNors}oW+1cUgv}Aqq*>;4hi?cF0f-4l+E$X?02xEM`nF7rCc!Z{>r)iiAtw&i8NDqg{==JN@F?I)q z-N9&^GkRx~a#qK^YiJ2bZ$UyJfMvB{!;WFpCnhGU&grZ@NQ^Wl5Pw9&s=P(l?d|{b zww>BP*qijXwBvy{X@V%B;)9oKWC?O&1tMS(=s>M$*LEJy0ihZfYYK(DAW*DBRO%Ko zH_`{LxjD^gx!=cs%QI799nFHoje=mIr~97htbTL2@YBb<32ii{9hAb)$7OK?{b06coMvJPFSCBa*P zhRFx}8ZX_$g~DTD%A_+wPqpt-sLyxrY(ufycw^Ys>M;qxOS zBa}|1h3TX7=}ZPRzY&M)1Pj*bHu6b~oBImizUK-RHOT!u z==kDOVdyIuITM_IXWRXWw9vMJRL*&K*6uyBJ5P>1?t6??uS}jdI(&BMd6`?FQ}n&O z=t)8PEvqrVP}w?2VY1L-vv6qU%t!YJBlyEh;$^+tJ4p^5F2@Vc-2;!krX$#NM8Xz> zcR4~Y&q<6^6mJv!y|_MCOuL+PRsUKR)yhQn{*Bc zMd$1UK7Ta!lS1L4Z-p=;n9EQ9yTQF5Ps6jPX*=;0Vu~Z4DG>vOXs#zv@W!h$X}wm* zJUYTS#kRmYJU>uyhn^U|E`9?v)xx_kMh6+@)}o0M;8T53!HoGBj~R8%9T#&(^QD?p zI*ypaHC43)EwqXYM)bLIdBty+7K~0X^|?k*)zo_`y2$R08!?Pw#%%mIQ3_dc;n6bK zL<99SSbJn(w~SY^xr1e(VnI^!%LZ(c$?ZvflzR10az^#m+jTdgVOF#ICufAtXNn-^ z{0*gmoOXkeCmao3kyq^j^j5p|_N3@OT2DMhGtJ`sOD z!e2uP4uJ_fTl9TC%&35Cq z`N1?dDz&aUO9Os`cH^dGMo5e3W)dyK;p@UmpQR7c@Q#Sx+Rc1stoK)Dd3D}sX@kCr zKK1k2FQ=Q7eRprfjZNis*CK2%b#JeeQ@*V15aBJ>#gs}fvv{pKb?>*eX~605rH4L0YWXdoMzBcWO4gW!%e-)*&4qfLK#CCVPkNtEh&rq(0hH4wk~2je#xPOe zkTEElytL4MCg-3%p;?o`2j6m}^$dMdMlcdR^m2nuyuPD~ba+eYR7LpKUh7N4_I^WG zQ#_)vJru!DIZ79?6Q5+G>Hm5-_SIaAQr6=77Jd2VKsCjAtZDO$XkLNHf=Y@! zrhBB|9WoM@P{XXXcac|&8dS}^)5~B$E(wlOl;#5Q6^H(mYM^ooAG?vmI|K2kjA!?3 zZr(FligVNdcJ<2uD&OL$tLp0~_uC;^MWK&uq-fF~OSC~^@!ozhGGAfeb~S%*_g<{T zNawXS;}gSefm4O_mri^|!LRVs%i3BX;ShSJwLk?+yj>-&JUk%5df;G`iPmYUr9s3u zC6)mVcP7hqgoh+8u){txWC5z0#VRWRLFm3L3K@ zHU?r=X_d{CP6}}EM@Poyf`a3?=NeK2NONU9QdAcTZ7IZsRMSJT17&U z%SYLwa0c|*sd{YwwxVlvv}0`@jut1nP_edm!bV3E||4=0U{Cz?_W zJ0P5WYjT?Vk=V$-^)yA48#(~K{51KsxCV0+H{DP!i@T1q^$az(YDZr89!`};Gxp2?#uWVzo^+~wF8)C>+i+f8OXU2(P2CVLeA z1Hges>!Pb0YH}6RkCVd2ZJ&J~1l~wpuzZ)X);|dT`sGf+;TT0${^fJNfybW~T?d+4 zlYJz;oT*qsSt(Ejv2BSzos(%ui}PUCVRhl%b4O;!QOQ{)@k0WviWD-gBvh(Bx38|C z?X{%mI@FyfLmlzl5Boxibg%EK(IQw18T~01QiM8f(S);s>6_O)eP&!t;2c*Y1$~Bu zGYeaddrfa~%k5LXs>&gK3?edpe4v(KE>`sk9YHl4Eb1Goh(TC?Smo#zJs4VvB{wR% z-&UlpytGydzM6cZrjhK`xi@a+q`R3b6h3}RWn7#k;=Qf#WRw+erZ{et2AJh%R8&@- zIrBNH{xaEQ!-}i597=G#dNh&=eJ#Phw61&gxqc04D3nZ)5x~qDgN|j7%uFCD-+M;l6HUsmoice=JpA5mD z63n1|^q+Aew|-7(kQK(+Q<5@`!0t7P#})R|Pz0-8r6i1(3c6PT=4f~vb!(mMwtrOZ zk&9c*c&)RhOU3v%3VBuYHGZtfcp0fgJNKo%dG8wuT^zL6q8h~&bsp+PyM*6hl6yxW zx|iy1ys9u`rgyN|GHIM8HA_(<&c8BnSE}Z1$-Q@MG&A2m@7muVK-Qf16vwAS4e@n*I>t?I0d2hZ_3xz(Xx*%MI-9ixwMrY_r<~D+4`rtvlz&Np!Gm28 zp%1Lzt#7$eWr?=dgbuuA34g%VR0!uc*6!p+F`5>wc5YNnuOyc;beh^Lgr)ku0W-a6 zC!Bx4W^-D5a=)Q(uf0xD!H41w`EB)(9;t0R@9m>Y-j`y2yt*Qx;e>Gs{yZFLsFW?y z)5Jbj`{g6d-V9&mZs-x&uChAB75cWM-uhiOJ(tW-=yEExaQ|E>^3+6(Q%&qD>3jEs zK=+}`)VpqQHsTk^vxn2M*UvUWT9aQa4)})>*SE=k`203Tbx<1byl`G(Pxl<9uaGxY z52sVt{Sp+}@}zAlAf|dZUG2HTE#7CA>^dHva}%UgM}fn1J*#cfb@I?L`$!4K@LUh( z4Ajy94;{7mfP^;B2}@M0DxHR*-iN?T<*f0IkV3fyG3%Owdi~Av2cce8SC|4~&xd*= z?_%am7@MvT1y$lr92nR?`#E5mHy%K7@b=Eidr$J~StEmeQ^75j*Sei~tb=WxS+g|i z-*gIUsEa%nY>Jkp9FDq)XAxzxV5(9e-&@8Le9Lynrpn>HRo7kPjUoYPx5CnDI8XDA zOr2OGn3?g+@Y8G(>WrkBvN|uID{OhT$rz;Qo@q1%l+`tCNdG$x?2 z{UCK{r@kf2=`&u2OTK7DS$zkW;)v{*dhxj8etwG*U8y(m*o+^YzQOVngfwoGUc*BL z-lA3>_5x*l($bT+gd;_Ju~`u*G11p@`1zkF3s{|XW*!ejCv4tqE8L^f@T`YKb$Z;( zCCnwR5lSue|HNr$L2abr(1-Ux+7gfA>7!|o^!KY7(#O}yu(5sC`?(ez+CRCFJ6sRh za{Qs(MsNLm!qs2)%ck0Vh%lDE>zZOPa`1%dVUnOm%qI1;7}+S8g9sU_Q3vF4&aFE3 zKnR>I%Pq+J$>Sp@hgto9m@ZCReyK1>xxQ3B?2_*OGwB8D4cVSln%xi7FyDeg1+zvy z<EXbP?Xv zo}Ky`0$OyQiG1{}N>2P0YqscB1~DfMLn~&&vEUH4M<&D!4%RGIgo-=(AFMqLv2ir# zPp?>f@b#E_;&Z_2vkh?1dv_(zg+|}l=vEs-NurwX@Xo*!R)WiIp`8?Yaz!wsS0GiySM#&$tootQX)KSgISD;u4eDm^& zK}$2a*n0AQfU9{AZOZ|LRWa&*C9pd%-p1W!mdn=TT1}0c%OI;qEk1>;Q?B4d{FB0J zeZX|zN*Y>WhknHp~N%mlbbB(c6~D^yOW(P z=WTIaVOft zWH~SFL+#uVPIk~=uMj(NxReAE2C|1Ez#uVu1Og-_j*tS`ONon02*V-v;=)pYfzout zU}0_uAL_{SZ5+Y(!V2S?-nIh2`TrFOpiUk9U+uVP zpvq_@4C{_Ic6WD`<-Bl#{X+9sfwRl}mKNLs2PffoQS-l7y%Ey$x3Av@fveN6E_U`` zg$sotelvoBc_Zz98N%uP)`f6{xj7(lBmDQ0`lH?He@PcoL_`cCEM*T8hT)PehJcHL zU~t?}M1aNZ#l^w)b|PT$zoTQ^?Xf;EG*Zz47bz|pTnYV(hW+O6Wb*!9-p3Jn!IUsq z93&!)%bl?Z7%CmM=jkA(lNuK#azk^N^k zhjha&@O*H4HKPfvA8wyV1lLwq0i0j_vm2i$;95vMG|Vvo06Fc&1q7s~U&S>NV>NYE ziC4*qu5goRLpIm|05U#J6-8s;iOsaT9#$qS9r6d2K9XN#zvw1Z%_i%ojwWk8s3Hra z(!au7s9(X(C+rCHN*_>kIJxu9{hUwqh=B?pdJ~_MD^E2dd95=qDucdgICsx)cZxer zwm$8+=`0SFR-s#tddt&xb~e$`Q|lwYeA3k1A@xApyX)+gZrU1Nhv#k!R|}CX=qq3w zPdeyEK_apI8vt{MAIV|y>%GUlFWZ7&hUGlCc71~lz3Rgil%>I&b@&13!MyBb`>BqQ zu`E@d*hv0#FpuZy?MwVYl0mODcF`$lD!eO0WE|WlWMp4 z6eRXp>j0vS+6>WGj(;Pf>3J$z0coh48CQWz7gt3tJIK_xGPvk_Z8Cn zzNP%mnQ^94J9N4AD6y|MFA7b)P0Si=xK-k-fNvGpA6D1J>IzXL4o zXzx@jgr}6Tsji{rq~ZpIXEV8a%qceJjgM-Ufh z1>km%ZklKyzR}oWbOK_2j``gn8?iU^aXGxIG-w^LWTrOcw$QDMIT)0&mReV{#evSG zi5n=83=q1SC+=!K*U`z7VmE9z>x~r`JAO?jLB^3x!r{$VF!ebb=xY;$I6WP1SXvZL zCHgdJS>t1#*-&twWqcXZdt?p-uxrxzN2&7V^<*Uaf#~m8*?e6K4q$x!-ZP!8j||Yk zu}4ME$jnQ7LvzS26O47+xH2V|EGjb#>78NjsGURLQ)lg3Mwp~*J>WE8mfYtkbM4uw zq$8wv=-F>!?eLVacD%e7#8zcVS|t*vbXC>ZIWJ#;{F7MP5B82nd*)|712N&+-W zCk3BXlYrTYFGx6=lEkUsK?ADhxz$FTpM^(eyiKiU7LN&&N>jxM9Pza>N$PFUD>W1+ zuDSS&aEGq!aiXl%p-O4_x`tlro*}Wx6)|N_y7+OGlyziI&NemKHpV7NhVGJ;%-+n) z;IAP(t7cXrHz0St9iCw;dfr#PEIe|EZ)u%1sA4MxG*}3|(bhEwYVq=fuCP*7_W03) z+ZWc@Zip;8(|xK)B~u*Aj(ua6T+LWSq+J5rrR4YkEEs-Jhz(6NycNb6moL*7}`H0EG!mp7XD<@@dT#;>jJZP(t)F=~3`o*T;BiEAejMSe zbBomzub!Z*>KY8z?ICBNI{wC`^bny{+$c(vP1Q=LB*S)nYHFS_;~k{_I&*dEI!)+h z&??r*dd}BiBp1O_Opq2vT@p%tUoI>6MO;SC^PrAoBqx1kXpC$&azNx2KTzJFJJGxAl?maDEZpBMJPsBZDdi%nF|Aea0os#W@jjIra46Cb9YoCXZ%E zmv_&+kwcg5Y=fWO#?pbxd&q3a8K3(>4BiQzua%a$v^xVt zIrI=oK<*z95EI#M<+6sB(xfpi)e2U-jvP{XqA(^#Z)YTsiWo2=9rg7@y9d;l`Ah)T zsPPJh`IR2NSI#-(kssvEkLUFQw(QFU7yZnkX&Hu3l#Y{KMVa=wM`X?}32epawGx_$g6Jsb^OOpS zD46i^JQg4{!6aGwk#ON4mm(dNn|*Xy#PO>C-rR8+G^4qG`C{zTiRI)LRv^Kiy4 z<2A~pJF5L7n~WuBqKaom>JLLhKRU(`#L!P>j*5QJ3}(LCLVnVf7Z=yRnfk$F;jnNs zy1-ehSc7*zo;r7Ud);R(vUkdOs-FfUdui;_vxKhnr-Iz1SO(&6CkgURr5M&vw}lE1 z^gWgQHp8Hc8sv$F%_#3iA_X6jBhAYiRFSB$P;uk5e0NwU!GVeZj zHP~aiGf}pT&ab{CpWcASQfz#y!KV3}MY4cX*2G9Vp7AyzP(MOH*-(z)+tHKQKx)IX%$HtrcTbaIoQ#X`nQLtU?GMJurZD{@pN>EB=H`o7Lz;BQ z?l7f%rQsS$D8K)ya3p`o!L8Td2IBTZ+#jFP_Lz`ZKVpZ>V_hM8e?w4Q@G)R9Dz_e@ zai!zKe%)M6sk!t|@3~27c^OhJInQPWd3wP72Tv5w==8X3Jp6;aq%~w}NZaR)hSkg~ zE6k)xLT{5alLvODB~*tRBGv?M_zGx`oL_DTb@1j-m>y`aSM#Kqe=ObX(Np>Kmj7n+ z%x3GQ;G>yV*e&95Cr>6^*+Dp`#KNKN;*b*!SuWKZ?1X%++m}s z&SXi(4{_8{vUx^_3)h#XX8Gasr_(}~ho1A)$u^CSgWFUMV<8L#H#k+RT>!364L_O_ z+NMLwn8_*|&t)R=ixKhPpYC=F6Cdn>^_dtSU2RgFd3JQZQW2GC4)?Mi|JvSgqW2kI z1N5wTIaH~fWPR4O30R!CStgk*-Q+Z%vGgi%wU^!f)vWjo$4VCm79Rm z0G^|Wh_xPrn8uHsI=)(3KfjB9(MHf)o*qt-`*E$BrI71MH{thJzDS66Gmw!`sd`ZoU4k#eS8#9Bb-vFZ;6?Jla1F^3I=Z}mZBONfOXhU= zt8nNx|Dz@aA$%N6bEdOv%%g7H(u(?!G1h&6)}kjgJw<=di%5ym_QsBW-g&F{0I*2e w5$NWyk$7yO0HE=;(5lVAE!70g^M1&WfYa&MuJmT$7Lou>RXvq5CEMWt0emJgZ~y=R diff --git a/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json b/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json index 23b1e8607..211ae86cc 100644 --- a/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json +++ b/examples/starting-top-down-survival-crafting/starting-top-down-survival-crafting.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 272, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -275,7 +275,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.44819780454104163, + "zoomFactor": 0.604083874998895, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -714,6 +714,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "TopDown_Character", + "persistentUuid": "e8717dfe-9729-4dfe-b047-12dd548edb42", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -827,7 +828,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 85 }, "centerPoint": { "automatic": false, @@ -838,20 +839,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -875,7 +876,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 85 }, "centerPoint": { "automatic": false, @@ -886,20 +887,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -923,7 +924,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 85 }, "centerPoint": { "automatic": false, @@ -934,20 +935,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -971,7 +972,7 @@ "originPoint": { "name": "origine", "x": 32, - "y": 80 + "y": 85 }, "centerPoint": { "automatic": false, @@ -982,20 +983,20 @@ "customCollisionMask": [ [ { - "x": 0, - "y": 80 + "x": 12, + "y": 94 }, { - "x": 32, - "y": 64 + "x": 12, + "y": 72 }, { - "x": 64, - "y": 80 + "x": 52, + "y": 72 }, { - "x": 32, - "y": 96 + "x": 52, + "y": 94 } ] ] @@ -1009,6 +1010,7 @@ { "assetStoreId": "", "name": "Ground_Tilemap", + "persistentUuid": "d03a0a04-b2e6-4ca5-bc2b-3c5d4e7235c7", "type": "TileMap::SimpleTileMap", "variables": [], "effects": [], @@ -1107,6 +1109,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Building_Obstacle", + "persistentUuid": "63b30380-3a9a-4289-b50c-08fe8e37b2ed", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1167,6 +1170,7 @@ "adaptCollisionMaskAutomatically": true, "assetStoreId": "", "name": "ActionButton", + "persistentUuid": "f28a25c4-2d97-4cdf-b0e2-40fa2cb1c4bb", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -1181,6 +1185,25 @@ "TouchIsInside": false, "MouseIsInside": false, "Index": 2.0247e-320 + }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween", + "Scale": "Scale", + "ButtonFSM": "ButtonFSM", + "Tween": "Tween", + "IdleScale": 1.5, + "FocusedScale": 1.4, + "FadeInDuration": 0.02, + "FadeOutDuration": 0.05, + "PressedScale": 1.3, + "FadeInEasing": "easeOutQuad", + "FadeOutEasing": "easeInQuad", + "PreviousState": "Idle" + }, + { + "name": "Tween", + "type": "Tween::TweenBehavior" } ], "animations": [ @@ -1746,16 +1769,19 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Harvest_Boulder", + "persistentUuid": "b6fa0d8b-1512-44e0-a713-23fa680c25bb", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "ResultingObject", + "persistentUuid": "f5146443-9bb0-41b8-8caa-988b0ddd90fe", "type": "string", "value": "Rock" }, { "name": "Triggered", + "persistentUuid": "3ab08520-3cec-4ad2-a540-7e5d0a218a4c", "type": "boolean", "value": false } @@ -1822,16 +1848,19 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Harvest_Tree", + "persistentUuid": "cb02f0cb-08a7-4f17-abe3-58698d0a32da", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "ResultingObject", + "persistentUuid": "7a9d9d14-19a8-41b0-a6e6-f0c25f9a7087", "type": "string", "value": "Log" }, { "name": "Triggered", + "persistentUuid": "e075b4c4-981f-41e5-9816-fed8ab04a4ec", "type": "boolean", "value": false } @@ -3973,6 +4002,10 @@ "name": "ButtonFSM", "type": "ButtonStates::ButtonFSM" }, + { + "name": "ButtonScaleTween", + "type": "ButtonStates::ButtonScaleTween" + }, { "name": "Effect", "type": "EffectCapability::EffectBehavior" @@ -4005,6 +4038,10 @@ "name": "Text", "type": "TextContainerCapability::TextContainerBehavior" }, + { + "name": "TileMap", + "type": "TileMap::TileMapBehavior" + }, { "name": "TopDownMovement", "type": "TopDownMovementBehavior::TopDownMovementBehavior" @@ -4029,9 +4066,9 @@ "externalEvents": [], "tests": [ { + "description": "The arrow keys walk the character as far as its behavior is configured to, and the selection box is put ahead of it.", "name": "Walking and facing", "type": "gameplay", - "description": "The arrow keys walk the character as far as its behavior is configured to, and the selection box is put ahead of it.", "source": [ "// The character walks with the arrow keys, and what it faces decides where", "// the selection box — everything this game does happens there — is put.", @@ -4110,9 +4147,9 @@ ] }, { + "description": "Pointing at a tree and acting on it puts a log in the inventory; pointing alone does nothing.", "name": "Harvesting a tree fills the inventory", "type": "gameplay", - "description": "Pointing at a tree and acting on it puts a log in the inventory; pointing alone does nothing.", "source": [ "// The core loop: point at something harvestable, act on it, and what comes", "// out ends up in the inventory.", diff --git a/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json b/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json index 35fd43230..86bea99c0 100644 --- a/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json +++ b/examples/starting-twin-stick-shooter/starting-twin-stick-shooter.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -206,7 +206,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.5653158055126329, + "zoomFactor": 0.7876290101673784, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -1544,9 +1544,9 @@ "externalEvents": [], "tests": [ { + "description": "The player turns toward the mouse and fires while the button is held, and the bullets fly where it aims.", "name": "Aiming and firing with the mouse", "type": "gameplay", - "description": "The player turns toward the mouse and fires while the button is held, and the bullets fly where it aims.", "source": [ "// The twin stick part: the player aims where the mouse points and fires", "// while the button is held.", @@ -1607,9 +1607,9 @@ ] }, { + "description": "An enemy in front of the player loses health with each bullet and is destroyed once it runs out.", "name": "Enemies take several hits to be destroyed", "type": "gameplay", - "description": "An enemy in front of the player loses health with each bullet and is destroyed once it runs out.", "source": [ "// Enemies take several hits before being destroyed.", "await harness.goToScene('Game Scene');", diff --git a/examples/starting-vampire-survivor/assets/Collision.wav b/examples/starting-vampire-survivor/assets/Collision.wav new file mode 100644 index 0000000000000000000000000000000000000000..5b89dda9865db53229ee501b111b0612758f968b GIT binary patch literal 18870 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 x+VlMVl>qr)eza@;{7jZ}^1s$%`qD$R`yp&Kp~ z^-1F#0b+&^?~!djl}Lah%Xi-SRd8Jo{?;3o-h)_@@SoEI=)F?aM7l^>yqk02c9S24QiaO4jwr%c}IEn=$@Iu|j z{A?dLBatx*q%rq|JS?4a|Lt#kE6DC0Rls21az!T6sTB=BB|cf0=hn7W5Tj2YYh_UTYzD|O1qCGKoBgnDQ^!7 zlxOgcU=(L3SI*wW5@3SY9PjRFnyg5Rw>yp@`_0$geX&9y2t^gk=3+ldi57KzAFG}Z zt#+FP$a-;l>dnP*u|mK!5AdGgZ(`akjHzkN;Zof2D7M=ex~}UY`H(K9HEdOE2BrL~ z=3J{pA`;v$; r5yj*z64LN`uAO!n*j9V(G7kR$?WdIAZVN{t00000NkvXXu0mjfzF)6> literal 0 HcmV?d00001 diff --git a/examples/starting-vampire-survivor/assets/StartingEnemies.png b/examples/starting-vampire-survivor/assets/StartingEnemies.png index 11cf2a9d0b969eec0e8bf11fab373c7572e3e8f4..2a3dbf69e43a1942a1f61215007a3958d96ea394 100644 GIT binary patch delta 2159 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 ROWXhe002ovPDHLkV1hV|!vg>S diff --git a/examples/starting-vampire-survivor/assets/starting_bulletfire.wav b/examples/starting-vampire-survivor/assets/starting_bulletfire.wav new file mode 100644 index 0000000000000000000000000000000000000000..f7045dd18c0e6f5125fccbccfc36f5023656a915 GIT binary patch literal 6148 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 edhy=ZUaI$;!{ literal 0 HcmV?d00001 diff --git a/examples/starting-vampire-survivor/starting-vampire-survivor.json b/examples/starting-vampire-survivor/starting-vampire-survivor.json index 314f6dfd6..705f1c475 100644 --- a/examples/starting-vampire-survivor/starting-vampire-survivor.json +++ b/examples/starting-vampire-survivor/starting-vampire-survivor.json @@ -1,7 +1,7 @@ { "firstLayout": "", "gdVersion": { - "build": 274, + "build": 279, "major": 5, "minor": 6, "revision": 0 @@ -146,6 +146,34 @@ "name": "assets\\StartingBullet.png", "smoothed": true, "userAdded": false + }, + { + "file": "assets/DirtParticle.png", + "kind": "image", + "metadata": "", + "name": "assets/DirtParticle.png", + "smoothed": true, + "userAdded": false + }, + { + "file": "assets/Collision.wav", + "kind": "audio", + "metadata": "", + "name": "assets/Collision.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false + }, + { + "file": "assets/starting_bulletfire.wav", + "kind": "audio", + "metadata": "", + "name": "assets/starting_bulletfire.wav", + "preloadAsMusic": false, + "preloadAsSound": true, + "preloadInCache": false, + "userAdded": false } ] }, @@ -178,7 +206,7 @@ "gridColor": 10401023, "gridAlpha": 0.8, "snap": false, - "zoomFactor": 0.5843784410740951, + "zoomFactor": 0.7876290101673784, "windowMask": false, "selectedLayer": "", "gameEditorMode": "instances-editor" @@ -243,6 +271,7 @@ "adaptCollisionMaskAutomatically": false, "assetStoreId": "", "name": "Player", + "persistentUuid": "9fd75508-73a1-48b7-8ec2-17408016c6bf", "type": "Sprite", "updateIfNotVisible": false, "variables": [], @@ -278,6 +307,10 @@ "BulletLayer": "", "RandomizedAngle": 0 }, + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, { "name": "SmoothCamera", "type": "SmoothCamera::SmoothCamera", @@ -505,17 +538,24 @@ "adaptCollisionMaskAutomatically": true, "assetStoreId": "", "name": "Enemy", + "persistentUuid": "1ee752a8-7d58-4f88-94c7-1a70ddedfd3b", "type": "Sprite", "updateIfNotVisible": false, "variables": [ { "name": "Health", + "persistentUuid": "fe615734-36c0-4b8c-9559-cec3438a8391", "type": "number", "value": 3 } ], "effects": [], - "behaviors": [], + "behaviors": [ + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + } + ], "animations": [ { "name": "", @@ -633,6 +673,102 @@ ] } ] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 100, + "emitterForceMin": 50, + "flow": 800, + "jumpForwardInTimeOnCreation": 0.15, + "maxParticleNb": 300, + "name": "DebrisParticle", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 238, + "particleBlue2": 255, + "particleColor1": "238;238;238", + "particleColor2": "255;255;255", + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 238, + "particleGreen2": 255, + "particleLifeTimeMax": 0.45, + "particleLifeTimeMin": 0.3, + "particleRed1": 238, + "particleRed2": 255, + "particleSize1": 50, + "particleSize2": 50, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "4a0e26b1-0c66-4402-8c70-1e4dcd7a4dfa", + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": 20, + "textureParticleName": "assets/DirtParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 3, + "variables": [], + "effects": [], + "behaviors": [] + }, + { + "additive": false, + "assetStoreId": "", + "destroyWhenNoParticles": true, + "emitterAngleA": 0, + "emitterAngleB": 360, + "emitterForceMax": 150, + "emitterForceMin": 80, + "flow": 800, + "jumpForwardInTimeOnCreation": 0.15, + "maxParticleNb": 300, + "name": "LargeDebrisParticle", + "particleAlpha1": 255, + "particleAlpha2": 0, + "particleAlphaRandomness1": 0, + "particleAlphaRandomness2": 0, + "particleAngle1": 0, + "particleAngle2": 0, + "particleAngleRandomness1": 0, + "particleAngleRandomness2": 0, + "particleBlue1": 238, + "particleBlue2": 255, + "particleColor1": "238;238;238", + "particleColor2": "255;255;255", + "particleGravityX": 0, + "particleGravityY": 0, + "particleGreen1": 238, + "particleGreen2": 255, + "particleLifeTimeMax": 0.45, + "particleLifeTimeMin": 0.3, + "particleRed1": 238, + "particleRed2": 255, + "particleSize1": 100, + "particleSize2": 100, + "particleSizeRandomness1": 0, + "particleSizeRandomness2": 0, + "persistentUuid": "62d777d9-9e88-4795-9326-e9ece028652e", + "rendererParam1": 3, + "rendererParam2": 1, + "rendererType": "Quad", + "tank": 20, + "textureParticleName": "assets/DirtParticle.png", + "type": "ParticleSystem::ParticleEmitter", + "zoneRadius": 3, + "variables": [], + "effects": [], + "behaviors": [] } ], "objectsFolderStructure": { @@ -647,6 +783,12 @@ { "objectName": "PlayerBullet" }, + { + "objectName": "DebrisParticle" + }, + { + "objectName": "LargeDebrisParticle" + }, { "objectName": "RepeatingBackground" }, @@ -836,6 +978,35 @@ } ] }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "FireBullet::FireBullet::HasJustFired" + }, + "parameters": [ + "Player", + "FireBullet", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/starting_bulletfire.wav", + "", + "20", + "RandomWithStep(0.9,1.2,0.05)" + ] + } + ] + }, { "type": "BuiltinCommonInstructions::Standard", "conditions": [ @@ -853,6 +1024,46 @@ } ], "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "DebrisParticle", + "PlayerBullet.CenterX()", + "PlayerBullet.CenterY()", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/Collision.wav", + "", + "30", + "RandomWithStep(0.9,1.1,0.05)" + ] + }, + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle" + }, + "parameters": [ + "Enemy", + "ShakeObject_PositionAngle", + "0.2", + "RandomWithStep(-5,5,10)", + "RandomWithStep(-5,5,10)", + "RandomWithStep(-5,5,10)", + "0.05", + "", + "" + ] + }, { "type": { "value": "SetNumberObjectVariable" @@ -903,6 +1114,18 @@ } ], "actions": [ + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "LargeDebrisParticle", + "Enemy.CenterX()", + "Enemy.CenterY()", + "" + ] + }, { "type": { "value": "Delete" @@ -928,9 +1151,82 @@ "", "" ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] } ], "actions": [ + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngle::ShakeObject_PositionAngle" + }, + "parameters": [ + "Player", + "ShakeObject_PositionAngle", + "0.2", + "RandomWithStep(-5,5,10)", + "RandomWithStep(-5,5,10)", + "RandomWithStep(-5,5,10)", + "0.05", + "", + "" + ] + }, + { + "type": { + "value": "Create" + }, + "parameters": [ + "", + "LargeDebrisParticle", + "Player.CenterX()", + "Player.CenterY()", + "" + ] + }, + { + "type": { + "value": "PlaySound" + }, + "parameters": [ + "", + "assets/Collision.wav", + "", + "90", + "RandomFloatInRange(0.7,0.9)" + ] + }, + { + "type": { + "value": "ActivateBehavior" + }, + "parameters": [ + "Player", + "TopDownMovement", + "" + ] + }, + { + "type": { + "value": "ChangeTimeScale" + }, + "parameters": [ + "", + "0.15" + ] + }, + { + "type": { + "value": "Wait" + }, + "parameters": [ + "0.15" + ] + }, { "type": { "value": "Scene" @@ -1040,6 +1336,10 @@ "name": "Scale", "type": "ScalableCapability::ScalableBehavior" }, + { + "name": "ShakeObject_PositionAngle", + "type": "ShakeObject::ShakeObject_PositionAngle" + }, { "name": "SmoothCamera", "type": "SmoothCamera::SmoothCamera" @@ -1058,9 +1358,9 @@ "externalEvents": [], "tests": [ { + "description": "With an enemy in range, the player fires at it without any input, and the enemy is destroyed after several hits.", "name": "The player shoots the nearest enemy on its own", "type": "gameplay", - "description": "With an enemy in range, the player fires at it without any input, and the enemy is destroyed after several hits.", "source": [ "// The core of the game: the player shoots the nearest enemy on its own, the", "// player only has to move.", @@ -1126,9 +1426,9 @@ ] }, { + "description": "An enemy reaching the player restarts the scene.", "name": "Being touched by an enemy ends the run", "type": "gameplay", - "description": "An enemy reaching the player restarts the scene.", "source": [ "// Being touched by an enemy ends the run: the scene restarts, which puts the", "// player back at its starting point.", @@ -20792,6 +21092,4479 @@ } ], "eventsBasedObjects": [] + }, + { + "author": "Tristan Rhodes (https://victrisgames.itch.io/)", + "category": "Visual effect", + "dimension": "2D", + "extensionNamespace": "", + "fullName": "Shake object", + "gdevelopVersion": ">=5.5.222", + "helpPath": "", + "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0ibWRpLWFycm93LWFsbCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMywxMUgxOEwxNi41LDkuNUwxNy45Miw4LjA4TDIxLjg0LDEyTDE3LjkyLDE1LjkyTDE2LjUsMTQuNUwxOCwxM0gxM1YxOEwxNC41LDE2LjVMMTUuOTIsMTcuOTJMMTIsMjEuODRMOC4wOCwxNy45Mkw5LjUsMTYuNUwxMSwxOFYxM0g2TDcuNSwxNC41TDYuMDgsMTUuOTJMMi4xNiwxMkw2LjA4LDguMDhMNy41LDkuNUw2LDExSDExVjZMOS41LDcuNUw4LjA4LDYuMDhMMTIsMi4xNkwxNS45Miw2LjA4TDE0LjUsNy41TDEzLDZWMTFaIiAvPjwvc3ZnPg==", + "name": "ShakeObject", + "previewIconUrl": "https://resources.gdevelop-app.com/assets/Icons/arrow-all.svg", + "shortDescription": "Shake objects with configurable translation, rotation, and scale intensity.", + "version": "1.6.2", + "description": [ + "Shake an object (position, angle or scale).", + "", + "It can be used for:", + "- Hit or impact", + "- Object slowly rocking back and forth (like a ship)", + "- Simulate engine vibration, earthquake, or pulsing", + "", + "The top-down RPG example uses this extension for damage animations ([open the project online](https://editor.gdevelop.io/?project=example://top-down-rpg))." + ], + "origin": { + "identifier": "ShakeObject", + "name": "gdevelop-extension-store" + }, + "tags": [ + "shaking", + "object", + "effect", + "shake", + "scale", + "position", + "rotate", + "angle" + ], + "authorIds": [ + "gqDaZjCfevOOxBYkK6zlhtZnXCg1" + ], + "dependencies": [], + "globalVariables": [], + "sceneVariables": [], + "eventsFunctions": [], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT" + }, + "eventsBasedBehaviors": [ + { + "description": "Shake objects with translation and rotation.", + "fullName": "Shake object (position, angle)", + "helpPath": "", + "iconUrl": "", + "name": "ShakeObject_PositionAngle", + "objectType": "", + "previewIconUrl": "", + "eventsFunctions": [ + { + "description": "Shake an object, using one or more ways to shake (position, angle). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters. ", + "fullName": "Shake object (position, angle)", + "functionType": "Action", + "name": "ShakeObject_PositionAngle", + "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_. Wait _PARAM6_ seconds between shakes. Keep shaking until stopped: _PARAM7_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Shake Object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start/Reset duration timer" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Pass input parameters to global variables so that onScenePostEvents can use them" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "Duration" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "=", + "PowerX" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "=", + "PowerY" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "=", + "PowerAngle" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "TimeBetweenShakes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Determine if the shake should keep going until stopped" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShakeForever", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add default values if none were provided" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "0.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "0.08" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If duration is less than a single shake, increase duration to make 1 full shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "<", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect initial shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Initiate the onScenePostEvents function" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", + "type": "behavior" + }, + { + "description": "Duration of shake (in seconds) (Default: 0.5) ", + "name": "Duration", + "type": "expression" + }, + { + "description": "Amplitude of postion shake in X direction (in pixels) (For example: 5)", + "name": "PowerX", + "type": "expression" + }, + { + "description": "Amplitude of position shake in Y direction (in pixels) (For example: 5)", + "longDescription": "Use a negative number to make the single-shake move in the opposite direction.", + "name": "PowerY", + "type": "expression" + }, + { + "description": "Amplitude of angle rotation shake (in degrees) (For example: 5)", + "name": "PowerAngle", + "type": "expression" + }, + { + "description": "Amount of time between shakes (in seconds) (Default: 0.08)", + "longDescription": "For a single-shake effect, set it to the same value as \"Duration\".", + "name": "TimeBetweenShakes", + "type": "expression" + }, + { + "description": "Keep shaking until stopped", + "longDescription": "Duration value will be ignored", + "name": "ShakeForever", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Shake Object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Start shaking", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Keep object shaking forever (if desired)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "True" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "100" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Calculate movement of the shake", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Run once before every shake movement" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + }, + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeCounter", + "+", + "1" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Correct for drift and reset drift tracking variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move to correct any drift from previous shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledX)" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledY)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_AngleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Position Shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementX", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementY", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "After initial shake pick a random direction" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementX", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementY", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Rotation (angle) shake " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"even\" shake, rotate clockwise" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementAngle", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"odd\" shake, rotate counter-clockwise" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementAngle", + "=", + "-1 *(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save that initial shake has been processed" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate the fraction of shake that occured during this frame" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PercentTimeElapsedThisFrame", + "=", + "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Increase change for the first half of the shake (move away from original values)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Decrease change the second half of the shake (return to original position)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Stop shaking", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"", + "Object.Variable(__ShakeObject_Duration)" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "-1" + ] + } + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeCounter", + "=", + "0" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Correct for drift and reset drift tracking variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move to correct any drift from previous shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledX)" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledY)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_AngleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Stop any shaking of object that was initiated by the Shake Object extension.", + "fullName": "Stop shaking the object", + "functionType": "Action", + "name": "StopShaking", + "sentence": "Stop shaking _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngle::IsShaking" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "-1" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if an object is shaking.", + "fullName": "Check if an object is shaking", + "functionType": "Condition", + "name": "IsShaking", + "sentence": "_PARAM0_ is shaking", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngle", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "ShakeObject_PositionAngle" + }, + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "StopShaking" + }, + { + "functionName": "IsShaking" + } + ] + }, + "propertyDescriptors": [], + "propertiesFolderStructure": { + "folderName": "__ROOT" + } + }, + { + "description": "Shake objects with translation, rotation and scale.", + "fullName": "Shake object (position, angle, scale)", + "helpPath": "", + "iconUrl": "", + "name": "ShakeObject_PositionAngleScale", + "objectType": "", + "previewIconUrl": "", + "eventsFunctions": [ + { + "description": "Shake an object, using one or more ways to shake (position, angle, scale). Make sure to \"Stop shaking\" before starting a new shake if it uses different parameters.", + "fullName": "Shake object (position, angle, scale)", + "functionType": "Action", + "name": "ShakeObject_PositionAngleScale", + "sentence": "Shake object _PARAM0_ for _PARAM2_ seconds. Modify position amplitude _PARAM3_ on X axis and _PARAM4_ on Y axis, angle rotation amplitude _PARAM5_, and scale amplitude _PARAM6_. Wait _PARAM7_ seconds between shakes. Keep shaking until stopped: _PARAM8_", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Shake Object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Start/Reset duration timer" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Pass input parameters to global variables so that onScenePostEvents can use them" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "Duration" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "=", + "PowerX" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "=", + "PowerY" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "=", + "PowerAngle" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerScale", + "=", + "PowerScale" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "TimeBetweenShakes" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Determine if the shake should keep going until stopped" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "False" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BooleanVariable" + }, + "parameters": [ + "ShakeForever", + "True", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "True" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Add default values if none were provided" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "0.5" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_TimeBetweenShakes", + "=", + "0.08" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "If duration is less than a single shake, increase duration to make 1 full shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "<", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Detect initial shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Initiate the onScenePostEvents function" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", + "type": "behavior" + }, + { + "description": "Duration of shake (in seconds) (Default: 0.5)", + "name": "Duration", + "type": "expression" + }, + { + "description": "Amplitude of postion shake in X direction (in pixels) (For example: 5)", + "name": "PowerX", + "type": "expression" + }, + { + "description": "Amplitude of position shake in Y direction (in pixels) (For example: 5)", + "longDescription": "Use a negative number to make the single-shake move in the opposite direction.", + "name": "PowerY", + "type": "expression" + }, + { + "description": "Amplitude of angle rotation shake (in degrees) (For example: 5)", + "name": "PowerAngle", + "type": "expression" + }, + { + "description": "Amplitude of scale shake (in percent change) (For example: 5)", + "name": "PowerScale", + "type": "expression" + }, + { + "description": "Amount of time between shakes (in seconds) (Default: 0.08)", + "longDescription": "For a single-shake effect, set it to the same value as \"Duration\".", + "name": "TimeBetweenShakes", + "type": "expression" + }, + { + "description": "Keep shaking until stopped", + "longDescription": "Duration value will be ignored", + "name": "ShakeForever", + "type": "yesorno" + } + ], + "objectGroups": [] + }, + { + "fullName": "", + "functionType": "Action", + "name": "doStepPostEvents", + "sentence": "", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Shake Object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Start shaking", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Keep object shaking forever (if desired)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectVariableAsBoolean" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeForever", + "True" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_Duration", + "=", + "100" + ] + }, + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"" + ] + } + ] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Calculate movement of the shake", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Run once before every shake movement" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + }, + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "ResetObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeCounter", + "+", + "1" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "folded": true, + "name": "Correct for drift and reset drift tracking variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move to correct any drift from previous shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledX)" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledY)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_AngleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerScale", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ScalableCapability::ScalableBehavior::SetValue" + }, + "parameters": [ + "Object", + "Scale", + "-", + "Object.Variable(__ShakeObject_ScaleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ScaleTravelled", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Position Shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "PositionDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * [-1 or 1]" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Make initial shake NOT random so users can set a direction for a one-shake effect" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "1" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementX", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementY", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "After initial shake pick a random direction" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementX", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerX) * RandomWithStep(-1, 1, 2)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementY", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerY) * RandomWithStep(-1, 1, 2)" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Rotation (angle) shake " + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"even\" shake, rotate clockwise" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementAngle", + "=", + "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"odd\" shake, rotate counter-clockwise" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "AngleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementAngle", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerAngle)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate Scale shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerScale", + "!=", + "0" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate object scale displacement, with linear decay over time" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "ScaleDisplacement = (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every even shake, increase scale" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementScale", + "=", + "-1 * (Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Every \"odd\" shake, decrease scale" + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "ScaleDisplacement = -1 * (DesiredDuration - RunningTimer) / DesiredDuration * Amplitude * 1/100" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "mod(Object.Variable(__ShakeObject_ShakeCounter),2)", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementScale", + "=", + "(Object.Variable(__ShakeObject_Duration) - Object.ObjectTimerElapsedTime(\"__ShakeObject_DurationTimer\")) / Object.Variable(__ShakeObject_Duration) * Object.Variable(__ShakeObject_PowerScale) * (1/100)" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save that initial shake has been processed" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_InitialShake", + "=", + "0" + ] + } + ] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Move object", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Calculate the fraction of shake that occured during this frame" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PercentTimeElapsedThisFrame", + "=", + "min(1,TimeDelta()/Object.Variable(__ShakeObject_TimeBetweenShakes))" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Increase change for the first half of the shake (move away from original values)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "inverted": true, + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change scale" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerScale)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ScalableCapability::ScalableBehavior::SetValue" + }, + "parameters": [ + "Object", + "Scale", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ScaleTravelled", + "+", + "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Decrease change the second half of the shake (return to original position)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_ShakeTimer\"", + "Object.Variable(__ShakeObject_TimeBetweenShakes)/2" + ] + } + ], + "actions": [], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change position" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementX) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementY) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change angle" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerAngle)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementAngle) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Change scale" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::CompareNumbers" + }, + "parameters": [ + "Object.Variable(__ShakeObject_PowerScale)", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ScalableCapability::ScalableBehavior::SetValue" + }, + "parameters": [ + "Object", + "Scale", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ], + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Save movement to calculate drift" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ScaleTravelled", + "-", + "round(1024 * Object.Variable(__ShakeObject_DisplacementScale) * Object.Variable(__ShakeObject_PercentTimeElapsedThisFrame)) / 1024" + ] + } + ] + } + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + }, + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Stop shaking", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Stop shaking when the duration has been reached (or if the stop shaking function was called)" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "ObjectTimer" + }, + "parameters": [ + "Object", + "\"__ShakeObject_DurationTimer\"", + "Object.Variable(__ShakeObject_Duration)" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "-1" + ] + } + ] + }, + { + "type": { + "value": "BuiltinCommonInstructions::Once" + }, + "parameters": [] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeCounter", + "=", + "0" + ] + } + ], + "events": [ + { + "colorB": 228, + "colorG": 176, + "colorR": 74, + "creationTime": 0, + "name": "Correct for drift and reset drift tracking variables", + "source": "", + "type": "BuiltinCommonInstructions::Group", + "events": [ + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Move to correct any drift from previous shake" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "BuiltinCommonInstructions::Or" + }, + "parameters": [], + "subInstructions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerX", + "!=", + "0" + ] + }, + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerY", + "!=", + "0" + ] + } + ] + } + ], + "actions": [ + { + "type": { + "value": "SetX" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledX)" + ] + }, + { + "type": { + "value": "SetY" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_DisplacementTravelledY)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerAngle", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetAngle" + }, + "parameters": [ + "Object", + "-", + "Object.Variable(__ShakeObject_AngleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_PowerScale", + "!=", + "0" + ] + } + ], + "actions": [ + { + "type": { + "value": "ScalableCapability::ScalableBehavior::SetValue" + }, + "parameters": [ + "Object", + "Scale", + "-", + "Object.Variable(__ShakeObject_ScaleTravelled)" + ] + } + ] + }, + { + "type": "BuiltinCommonInstructions::Comment", + "color": { + "b": 109, + "g": 230, + "r": 255, + "textB": 0, + "textG": 0, + "textR": 0 + }, + "comment": "Reset drift detection variables" + }, + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledX", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_DisplacementTravelledY", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_AngleTravelled", + "=", + "0" + ] + }, + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ScaleTravelled", + "=", + "0" + ] + } + ] + } + ], + "parameters": [] + } + ] + } + ], + "parameters": [] + } + ], + "parameters": [] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Stop shaking an object.", + "fullName": "Stop shaking an object", + "functionType": "Action", + "name": "StopShaking", + "sentence": "Stop shaking _PARAM0_", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "ShakeObject::ShakeObject_PositionAngleScale::IsShaking" + }, + "parameters": [ + "Object", + "Behavior", + "" + ] + } + ], + "actions": [ + { + "type": { + "value": "ModVarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "-1" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", + "type": "behavior" + } + ], + "objectGroups": [] + }, + { + "description": "Check if an object is shaking.", + "fullName": "Check if an object is shaking", + "functionType": "Condition", + "name": "IsShaking", + "sentence": "_PARAM0_ is shaking", + "events": [ + { + "type": "BuiltinCommonInstructions::Standard", + "conditions": [ + { + "type": { + "value": "VarObjet" + }, + "parameters": [ + "Object", + "__ShakeObject_ShakeInProgress", + "=", + "1" + ] + } + ], + "actions": [ + { + "type": { + "value": "SetReturnBoolean" + }, + "parameters": [ + "True" + ] + } + ] + } + ], + "parameters": [ + { + "description": "Object", + "name": "Object", + "type": "object" + }, + { + "description": "Behavior", + "name": "Behavior", + "supplementaryInformation": "ShakeObject::ShakeObject_PositionAngleScale", + "type": "behavior" + } + ], + "objectGroups": [] + } + ], + "eventsFunctionsFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "functionName": "ShakeObject_PositionAngleScale" + }, + { + "functionName": "doStepPostEvents" + }, + { + "functionName": "StopShaking" + }, + { + "functionName": "IsShaking" + } + ] + }, + "propertyDescriptors": [ + { + "value": "", + "type": "Behavior", + "label": "Scalable capability", + "extraInformation": [ + "ScalableCapability::ScalableBehavior" + ], + "choices": [], + "name": "Scale" + } + ], + "propertiesFolderStructure": { + "folderName": "__ROOT", + "children": [ + { + "propertyName": "Scale" + } + ] + } + } + ], + "eventsBasedObjects": [] } ], "externalLayouts": []